Télécharger iddual.eso

Retour à la liste

Numérotation des lignes :

  1. C IDDUAL SOURCE AM 17/04/20 21:15:14 9407
  2. C=======================================================================
  3. C= DEFINITION DES NOMS DE COMPOSANTES PRIMALES =
  4. C= ------------------------------------------- =
  5. C= =
  6. C= Entrees : =
  7. C= IPMODE Pointeur sur un MMODEL.KMODEL =
  8. C= MFR0 Numero de Formulation =
  9. C= - Sert seulement si different de celui calcule avec IMODEL =
  10. C= =
  11. C= Sorties : =
  12. C= IPNOMC pointeur de type NOMID sur les listes de noms de =
  13. C= composantes OBLigatoires et FACultatives =
  14. C= NBROBL Nombre de composantes OBLIGATOIRES =
  15. C= NBRFAC Nombre de composantes FACULTATIVES =
  16. C=======================================================================
  17.  
  18. SUBROUTINE IDDUAL(IPMODE,MFR0,IPNOMC,NBROBL,NBRFAC)
  19.  
  20. IMPLICIT INTEGER(I-N)
  21. IMPLICIT REAL*8(A-H,O-Z)
  22.  
  23. CHARACTER*16 NOM16
  24. EXTERNAL LONG
  25.  
  26. -INC CCOPTIO
  27. -INC SMMODEL
  28.  
  29.  
  30. NOMID =0
  31. NBROBL=0
  32. NBRFAC=0
  33. IMODEL=IPMODE
  34. C Recuperation de IFOUR dans CCOPTIO.INC
  35. IFOU = IFOUR
  36. MELE =NEFMOD
  37. MFR =NUMMFR(MELE)
  38.  
  39. C On suppose que le IMODEL est actif
  40. C SEGACT,IMODEL
  41. NOMID = IMODEL.LNOMID(2)
  42.  
  43. C S'ils sont déjà présents dans le IMODEL on ne se les refait pas...
  44. IF(NOMID .NE. 0 .AND. (MFR .EQ. MFR0))THEN
  45. SEGACT,NOMID
  46. NBROBL=LESOBL(/2)
  47. NBRFAC=LESFAC(/2)
  48. IPNOMC = NOMID
  49. RETURN
  50. ENDIF
  51.  
  52. C Sinon on les détermine
  53. MFR = MFR0
  54.  
  55. C Cas un peu particuliers de la THERMIQUE et de la DIFFUSION
  56. NOM16=FORMOD(1)
  57. IF(NOM16 .EQ. 'THERMIQUE ') GOTO 1001
  58. IF(NOM16 .EQ. 'DIFFUSION ') GOTO 1002
  59.  
  60. * formulation thermohydrique
  61. IF( MFR.EQ.65) THEN
  62. NBROBL=3
  63. SEGINI NOMID
  64. LESOBL(1)='QG '
  65. LESOBL(2)='QC '
  66. LESOBL(3)='Q '
  67. *
  68. * 0/ MACRO ELEMENT
  69. *
  70. ELSEIF (MFR.EQ.61)THEN
  71. C
  72. IF (IFOU.EQ.-1.OR.IFOU.EQ.-2) THEN
  73. *
  74. * 0-A/ CONTRAINTES PLANES - DEFORMATIONS PLANES
  75. *
  76. NBROBL=5
  77. SEGINI NOMID
  78. LESOBL(1)='FX '
  79. LESOBL(2)='FY '
  80. LESOBL(3)='MZ '
  81. LESOBL(4)='FM '
  82. LESOBL(5)='MM '
  83. ENDIF
  84.  
  85. C 1 - Elements COQUE (3), COQUE EPAISSE (5), POUTRE (7), COQUE en
  86. C CISAILLEMENT TRANSVERSE (9), TUYAU (13), LINESPRING (15), TUYAU
  87. C FISSURE (17), Barre excentree BAEX (49), LIA2 (51), JOI1(75)
  88. C ====================================================================
  89. ELSE IF (MFR.EQ. 3.OR.MFR.EQ. 5.OR.MFR.EQ. 7.OR.MFR.EQ. 9.OR.
  90. . MFR.EQ.13.OR.MFR.EQ.15.OR.MFR.EQ.17.OR.MFR.EQ.49.OR.
  91. . MFR.EQ.51.OR.MFR.EQ.75.OR.MFR.EQ.74) THEN
  92. C =====
  93. C 1.1 - Tridimensionnel
  94. C =====
  95. IF (IFOU.EQ.2) THEN
  96. NBROBL=6
  97. SEGINI,NOMID
  98. LESOBL(1)='FX '
  99. LESOBL(2)='FY '
  100. LESOBL(3)='FZ '
  101. LESOBL(4)='MX '
  102. LESOBL(5)='MY '
  103. LESOBL(6)='MZ '
  104. C =====
  105. C 1.2 - Fourier
  106. C =====
  107. ELSE IF (IFOU.EQ.1) THEN
  108. NBROBL=4
  109. SEGINI,NOMID
  110. LESOBL(1)='FR '
  111. LESOBL(2)='FZ '
  112. LESOBL(3)='FT '
  113. LESOBL(4)='MT '
  114. C =====
  115. C 1.3 - Axisymetrie
  116. C =====
  117. ELSE IF (IFOU.EQ.0) THEN
  118. NBROBL=3
  119. SEGINI,NOMID
  120. LESOBL(1)='FR '
  121. LESOBL(2)='FZ '
  122. LESOBL(3)='MT '
  123. C =====
  124. C 1.4 - Bidimensionnel PLAN (CP/DP)
  125. C =====
  126. ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2) THEN
  127. NBROBL=3
  128. SEGINI,NOMID
  129. LESOBL(1)='FX '
  130. LESOBL(2)='FY '
  131. LESOBL(3)='MZ '
  132. C =====
  133. C 1.5 - Bidimensionnel PLAN GENE
  134. C =====
  135. ELSE IF (IFOU.EQ.-3) THEN
  136. C Ici il faut distinguer les formulations
  137. IF (MFR.EQ.3 .OR. MFR.EQ.5) THEN
  138. NBROBL=6
  139. SEGINI,NOMID
  140. LESOBL(1)='FX '
  141. LESOBL(2)='FY '
  142. LESOBL(3)='MZ '
  143. LESOBL(4)='FZ '
  144. LESOBL(5)='MY '
  145. LESOBL(6)='MX '
  146. ELSE
  147. NBROBL=3
  148. SEGINI,NOMID
  149. LESOBL(1)='FX '
  150. LESOBL(2)='FY '
  151. LESOBL(3)='MZ '
  152. ENDIF
  153. ENDIF
  154.  
  155. C 2 - Elements LIQUIDE
  156. C ======================
  157. ELSE IF (MFR.EQ.11) THEN
  158. NBROBL=2
  159. SEGINI,NOMID
  160. LESOBL(1)='FP '
  161. LESOBL(2)='FPI '
  162.  
  163. C 3 - Elements TUYAU ACOUSTIQUE PUR
  164. C ===================================
  165. ELSE IF (MFR.EQ.41) THEN
  166. NBROBL=2
  167. SEGINI,NOMID
  168. LESOBL(1)='FPI '
  169. LESOBL(2)='FP '
  170.  
  171. C 4 - Element de RACCORD LITU
  172. C =============================
  173. ELSE IF (MFR.EQ.43) THEN
  174. NBROBL=5
  175. SEGINI,NOMID
  176. LESOBL(1)='FX '
  177. LESOBL(2)='FY '
  178. LESOBL(3)='FZ '
  179. LESOBL(4)='FPI '
  180. LESOBL(5)='FP '
  181.  
  182. C 5 - Elements HOMOGENEISE
  183. C ==========================
  184. ELSE IF (MFR.EQ.37) THEN
  185. C =====
  186. C 5.1 - Fourier
  187. C =====
  188. IF (IFOU.EQ.1) THEN
  189. NBROBL=6
  190. SEGINI,NOMID
  191. LESOBL(1)='FP '
  192. LESOBL(2)='FPI '
  193. LESOBL(3)='FR '
  194. LESOBL(4)='MT '
  195. LESOBL(5)='FT '
  196. LESOBL(6)='MR '
  197. C =====
  198. C 5.2 - Axisymetrie
  199. C =====
  200. ELSE IF (IFOU.EQ.0) THEN
  201. NBROBL=4
  202. SEGINI,NOMID
  203. LESOBL(1)='FP '
  204. LESOBL(2)='FPI '
  205. LESOBL(3)='FR '
  206. LESOBL(4)='MT '
  207. C =====
  208. C 5.3 - Tridimensionnel
  209. C =====
  210. ELSE IF (IFOU.EQ.2) THEN
  211. NBROBL=6
  212. SEGINI,NOMID
  213. LESOBL(1)='FP '
  214. LESOBL(2)='FPI '
  215. LESOBL(3)='FX '
  216. LESOBL(4)='MY '
  217. LESOBL(5)='FY '
  218. LESOBL(6)='MX '
  219. C =====
  220. C 5.4 - Bidimensionnel PLAN (DP/CP/DPGE)
  221. C =====
  222. ELSE
  223. NBROBL=4
  224. SEGINI,NOMID
  225. LESOBL(1)='FP '
  226. LESOBL(2)='FPI '
  227. LESOBL(3)='FX '
  228. LESOBL(4)='FY '
  229. ENDIF
  230.  
  231. C 6 - Element de SURFACE LIBRE
  232. C ==============================
  233. ELSE IF (MFR.EQ.23) THEN
  234. NBROBL=3
  235. SEGINI,NOMID
  236. LESOBL(1)='FP '
  237. LESOBL(2)='FPI '
  238. LESOBL(3)='FZ '
  239.  
  240. C 7 - Element JOINT (35),JOINT CISAILLEMENT (53),JOINT GENERALISE (55)
  241. C =====================================================================
  242. c cccccc
  243. ELSE IF (MFR.EQ.35.OR.MFR.EQ.53.OR.MFR.EQ.55.OR.MFR.EQ.78) THEN
  244. c cccccc
  245. C =====
  246. C 7.1 - Tridimensionnel
  247. C =====
  248. IF (IFOU.EQ.2) THEN
  249. NBROBL=3
  250. SEGINI,NOMID
  251. LESOBL(1)='FX '
  252. LESOBL(2)='FY '
  253. LESOBL(3)='FZ '
  254. C =====
  255. C 7.2 - Bidimensionnel PLAN (CP/DP/DPGE)
  256. C =====
  257. ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
  258. NBROBL=2
  259. SEGINI,NOMID
  260. LESOBL(1)='FX '
  261. LESOBL(2)='FY '
  262. C =====
  263. C 7.3 - Axisymetrie
  264. C =====
  265. ELSE IF (IFOU.EQ.0) THEN
  266. NBROBL=2
  267. SEGINI,NOMID
  268. LESOBL(1)='FR '
  269. LESOBL(2)='FZ '
  270. ENDIF
  271.  
  272. C 8 - Elements MASSIFS, de MEMBRANE (25), UNIAXIALE (27)
  273. C ========================================================
  274. ELSE IF (MFR.EQ.1.OR.MFR.EQ.25.OR.MFR.EQ.27.OR.MFR.EQ.31.OR.
  275. $ MFR.EQ.72) THEN
  276. C =====
  277. C 8.1 - Bidimensionnel PLAN (CP/DP)
  278. C =====
  279. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  280. NBROBL=2
  281. SEGINI,NOMID
  282. LESOBL(1)='FX '
  283. LESOBL(2)='FY '
  284. C =====
  285. C 8.2 - Axisymetrie
  286. C =====
  287. ELSE IF (IFOU.EQ.0) THEN
  288. NBROBL=2
  289. SEGINI,NOMID
  290. LESOBL(1)='FR '
  291. LESOBL(2)='FZ '
  292. C =====
  293. C 8.3 - Fourier
  294. C =====
  295. ELSE IF (IFOU.EQ.1) THEN
  296. NBROBL=3
  297. SEGINI,NOMID
  298. LESOBL(1)='FR '
  299. LESOBL(2)='FZ '
  300. LESOBL(3)='FT '
  301. C =====
  302. C 8.4 - Tridimensionnel
  303. C =====
  304. ELSE IF (IFOU.EQ.2) THEN
  305. NBROBL=3
  306. SEGINI,NOMID
  307. LESOBL(1)='FX '
  308. LESOBL(2)='FY '
  309. LESOBL(3)='FZ '
  310. C =====
  311. C 8.5 - Bidimensionnel PLAN DPGE
  312. C =====
  313. ELSE IF (IFOU.EQ.-3) THEN
  314. IF (MFR.EQ.72) THEN
  315. NBROBL=2
  316. SEGINI,NOMID
  317. LESOBL(1)='FX '
  318. LESOBL(2)='FY '
  319. ELSE
  320. NBROBL=5
  321. SEGINI,NOMID
  322. LESOBL(1)='FX '
  323. LESOBL(2)='FY '
  324. LESOBL(3)='FZ '
  325. LESOBL(4)='MY '
  326. LESOBL(5)='MX '
  327. ENDIF
  328. C =====
  329. C 8.6 - Unidimensionnel (1D)
  330. C =====
  331. ELSE IF (IFOU.GE.3.AND.IFOU.LE.15.AND.MFR.EQ.1) THEN
  332. IF (IFOU.LE.6) THEN
  333. NBROBL=1
  334. SEGINI,NOMID
  335. LESOBL(1)='FX '
  336. ELSE IF (IFOU.EQ.7.OR.IFOU.EQ.8) THEN
  337. NBROBL=2
  338. SEGINI,NOMID
  339. LESOBL(1)='FX '
  340. LESOBL(2)='FY '
  341. ELSE IF (IFOU.EQ.9.OR.IFOU.EQ.10) THEN
  342. NBROBL=2
  343. SEGINI,NOMID
  344. LESOBL(1)='FX '
  345. LESOBL(2)='FZ '
  346. ELSE IF (IFOU.EQ.11) THEN
  347. NBROBL=3
  348. SEGINI,NOMID
  349. LESOBL(1)='FX '
  350. LESOBL(2)='FY '
  351. LESOBL(3)='FZ '
  352. ELSE IF (IFOU.EQ.12.OR.IFOU.EQ.13.OR.IFOU.EQ.15) THEN
  353. NBROBL=1
  354. SEGINI,NOMID
  355. LESOBL(1)='FR '
  356. ELSE IF (IFOU.EQ.14) THEN
  357. NBROBL=2
  358. SEGINI,NOMID
  359. LESOBL(1)='FR '
  360. LESOBL(2)='FZ '
  361. ENDIF
  362. ENDIF
  363.  
  364. C 10 - Formulation POREUX
  365. C =========================
  366. ELSE IF (MFR.EQ.33) THEN
  367. C ======
  368. C 10.1 - Bidimensionnel PLAN (CP/DP)
  369. C ======
  370. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  371. NBROBL=3
  372. SEGINI,NOMID
  373. LESOBL(1)='FX '
  374. LESOBL(2)='FY '
  375. LESOBL(3)='FP '
  376. C ======
  377. C 10.2 - Axisymetrie
  378. C ======
  379. ELSE IF (IFOU.EQ.0) THEN
  380. NBROBL=3
  381. SEGINI,NOMID
  382. LESOBL(1)='FR '
  383. LESOBL(2)='FZ '
  384. LESOBL(3)='FP '
  385. C ======
  386. C 10.3 - Fourier
  387. C ======
  388. ELSE IF (IFOU.EQ.1) THEN
  389. NBROBL=4
  390. SEGINI,NOMID
  391. LESOBL(1)='FR '
  392. LESOBL(2)='FZ '
  393. LESOBL(3)='FT '
  394. LESOBL(4)='FP '
  395. C ======
  396. C 10.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  397. C ======
  398. ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  399. NBROBL=4
  400. SEGINI,NOMID
  401. LESOBL(1)='FX '
  402. LESOBL(2)='FY '
  403. LESOBL(3)='FZ '
  404. LESOBL(4)='FP '
  405. ENDIF
  406.  
  407. C 11 - Formulation POREUX type Q
  408. C ================================
  409. ELSE IF (MFR.EQ.57) THEN
  410. C ======
  411. C 11.1 - Bidimensionnel PLAN (CP/DP)
  412. C ======
  413. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  414. NBROBL=4
  415. SEGINI,NOMID
  416. LESOBL(1)='FX '
  417. LESOBL(2)='FY '
  418. LESOBL(3)='FP '
  419. LESOBL(4)='FPQ '
  420. C ======
  421. C 11.2 - Axisymetrie
  422. C ======
  423. ELSE IF (IFOU.EQ.0) THEN
  424. NBROBL=4
  425. SEGINI,NOMID
  426. LESOBL(1)='FR '
  427. LESOBL(2)='FZ '
  428. LESOBL(3)='FP '
  429. LESOBL(4)='FPQ '
  430. C ======
  431. C 11.3 - Fourier
  432. C ======
  433. ELSE IF (IFOU.EQ.1) THEN
  434. NBROBL=5
  435. SEGINI,NOMID
  436. LESOBL(1)='FR '
  437. LESOBL(2)='FZ '
  438. LESOBL(3)='FT '
  439. LESOBL(4)='FP '
  440. LESOBL(5)='FPQ '
  441. C ======
  442. C 11.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  443. C ======
  444. ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  445. NBROBL=5
  446. SEGINI,NOMID
  447. LESOBL(1)='FX '
  448. LESOBL(2)='FY '
  449. LESOBL(3)='FZ '
  450. LESOBL(4)='FP '
  451. LESOBL(5)='FPQ '
  452. ENDIF
  453.  
  454. C 12 - Formulation POREUX type R
  455. C ================================
  456. ELSE IF (MFR.EQ.59) THEN
  457. C ======
  458. C 12.1 - Bidimensionnel PLAN (CP/DP)
  459. C ======
  460. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  461. NBROBL=5
  462. SEGINI,NOMID
  463. LESOBL(1)='FX '
  464. LESOBL(2)='FY '
  465. LESOBL(3)='FP '
  466. LESOBL(4)='FPQ '
  467. LESOBL(5)='FTP '
  468. C ======
  469. C 12.2 - Axisymetrie
  470. C ======
  471. ELSE IF (IFOU.EQ.0) THEN
  472. NBROBL=5
  473. SEGINI,NOMID
  474. LESOBL(1)='FR '
  475. LESOBL(2)='FZ '
  476. LESOBL(3)='FP '
  477. LESOBL(4)='FPQ '
  478. LESOBL(5)='FTP '
  479. C ======
  480. C 12.3 - Fourier
  481. C ======
  482. ELSE IF (IFOU.EQ.1) THEN
  483. NBROBL=6
  484. SEGINI,NOMID
  485. LESOBL(1)='FR '
  486. LESOBL(2)='FZ '
  487. LESOBL(3)='FT '
  488. LESOBL(4)='FP '
  489. LESOBL(5)='FPQ '
  490. LESOBL(6)='FTP '
  491. C ======
  492. C 12.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  493. C ======
  494. ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  495. NBROBL=6
  496. SEGINI,NOMID
  497. LESOBL(1)='FX '
  498. LESOBL(2)='FY '
  499. LESOBL(3)='FZ '
  500. LESOBL(4)='FP '
  501. LESOBL(5)='FPQ '
  502. LESOBL(6)='FTP '
  503. ENDIF
  504.  
  505. C 13 - Elements de RACCORD
  506. C ==========================
  507. ELSE IF (MFR.EQ.19.OR.MFR.EQ.21) THEN
  508. NBROBL=2
  509. SEGINI,NOMID
  510. LESOBL(1)='FP '
  511. LESOBL(2)='FPI '
  512.  
  513. C 14 - Element de RACCORD MASSIF (2e serie de composantes)
  514. C ==========================================================
  515. ELSE IF (MFR.EQ.1019) THEN
  516. C ======
  517. C 14.1 - Bidimensionnel PLAN (CP/DP)
  518. C ======
  519. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  520. NBROBL=2
  521. SEGINI,NOMID
  522. LESOBL(1)='FX '
  523. LESOBL(2)='FY '
  524. C ======
  525. C 14.2 - Axisymetrie
  526. C ======
  527. ELSE IF (IFOU.EQ.0) THEN
  528. NBROBL=2
  529. SEGINI,NOMID
  530. LESOBL(1)='FR '
  531. LESOBL(2)='FZ '
  532. C ======
  533. C 14.3 - Fourier
  534. C ======
  535. ELSE IF (IFOU.EQ.1) THEN
  536. NBROBL=3
  537. SEGINI,NOMID
  538. LESOBL(1)='FR '
  539. LESOBL(2)='FZ '
  540. LESOBL(3)='FT '
  541. C ======
  542. C 14.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  543. C ======
  544. ELSE IF(IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  545. NBROBL=3
  546. SEGINI,NOMID
  547. LESOBL(1)='FX '
  548. LESOBL(2)='FY '
  549. LESOBL(3)='FZ '
  550. ENDIF
  551.  
  552. C 15 - Element de RACCORD COQUE (2e serie de composantes)
  553. C =========================================================
  554. ELSE IF (MFR.EQ.1021) THEN
  555. C ======
  556. C 15.1 - Bidimensionnel PLAN (CP/DP)
  557. C ======
  558. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  559. NBROBL=3
  560. SEGINI,NOMID
  561. LESOBL(1)='FX '
  562. LESOBL(2)='FY '
  563. LESOBL(3)='MZ '
  564. C ======
  565. C 15.2 - Axisymetrie
  566. C ======
  567. ELSE IF (IFOU.EQ.0) THEN
  568. NBROBL=3
  569. SEGINI,NOMID
  570. LESOBL(1)='FR '
  571. LESOBL(2)='FZ '
  572. LESOBL(3)='MT '
  573. C ======
  574. C 15.3 - Fourier
  575. C ======
  576. ELSE IF (IFOU.EQ.1) THEN
  577. NBROBL=4
  578. SEGINI,NOMID
  579. LESOBL(1)='FR '
  580. LESOBL(2)='FZ '
  581. LESOBL(3)='FT '
  582. LESOBL(4)='MT '
  583. C ======
  584. C 15.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  585. C ======
  586. ELSE IF(IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  587. NBROBL=6
  588. SEGINI,NOMID
  589. LESOBL(1)='FX '
  590. LESOBL(2)='FY '
  591. LESOBL(3)='FZ '
  592. LESOBL(4)='MX '
  593. LESOBL(5)='MY '
  594. LESOBL(6)='MZ '
  595. ENDIF
  596.  
  597. C 16 - Element TUYO
  598. C ===================
  599. ELSE IF (MFR.EQ.39) THEN
  600. NBROBL=6+9
  601. SEGINI,NOMID
  602. LESOBL(1)='FX '
  603. LESOBL(2)='FY '
  604. LESOBL(3)='FZ '
  605. LESOBL(4)='MX '
  606. LESOBL(5)='MY '
  607. LESOBL(6)='MZ '
  608. LESOBL(7)='FW0 '
  609. LESOBL(8)='FU1 '
  610. LESOBL(9)='FU2 '
  611. LESOBL(10)='FU3 '
  612. LESOBL(11)='FU4 '
  613. LESOBL(12)='FW1 '
  614. LESOBL(13)='FW2 '
  615. LESOBL(14)='FW3 '
  616. LESOBL(15)='FW4 '
  617. C 17 - Element POI1 materiau MODAL
  618. C ===================
  619. ELSE IF (MFR.EQ.26) THEN
  620. NBROBL=1
  621. SEGINI,NOMID
  622. LESOBL(1)='FALF'
  623. C 18 - Element POI1 materiau STATIQUE
  624. C ===================
  625. ELSE IF (MFR.EQ.28) THEN
  626. NBROBL=1
  627. SEGINI,NOMID
  628. LESOBL(1)='FBET'
  629. C 19 - Element XQ4R (xfem meca rupture)
  630. C==================
  631. ELSEIF(MFR.EQ.63) THEN
  632. CTY - Element XQ4R (xfem meca rupture en 2D)
  633. IF(IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  634. NBROBL=2
  635. NBRFAC=18
  636. SEGINI,NOMID
  637. LESOBL(1)='FX '
  638. LESOBL(2)='FY '
  639. LESFAC(1)='FAX '
  640. LESFAC(2)='FAY '
  641. LESFAC(3)='FB1X'
  642. LESFAC(4)='FB1Y'
  643. LESFAC(5)='FC1X'
  644. LESFAC(6)='FC1Y'
  645. LESFAC(7)='FD1X'
  646. LESFAC(8)='FD1Y'
  647. LESFAC(9)='FE1X'
  648. LESFAC(10)='FE1Y'
  649. LESFAC(11)='FB2X'
  650. LESFAC(12)='FB2Y'
  651. LESFAC(13)='FC2X'
  652. LESFAC(14)='FC2Y'
  653. LESFAC(15)='FD2X'
  654. LESFAC(16)='FD2Y'
  655. LESFAC(17)='FE2X'
  656. LESFAC(18)='FE2Y'
  657. CTY - Element XC8R (xfem meca rupture en 3D)
  658. ELSE IF (IFOU.EQ.2) THEN
  659. NBROBL=3
  660. NBRFAC=27
  661. SEGINI,NOMID
  662. LESOBL(1)='FX '
  663. LESOBL(2)='FY '
  664. LESOBL(3)='FZ '
  665. LESFAC(1)='FAX '
  666. LESFAC(2)='FAY '
  667. LESFAC(3)='FAZ '
  668. LESFAC(4)='FB1X'
  669. LESFAC(5)='FB1Y'
  670. LESFAC(6)='FB1Z'
  671. LESFAC(7)='FC1X'
  672. LESFAC(8)='FC1Y'
  673. LESFAC(9)='FC1Z'
  674. LESFAC(10)='FD1X'
  675. LESFAC(11)='FD1Y'
  676. LESFAC(12)='FD1Z'
  677. LESFAC(13)='FE1X'
  678. LESFAC(14)='FE1Y'
  679. LESFAC(15)='FE1Z'
  680. LESFAC(16)='FB2X'
  681. LESFAC(17)='FB2Y'
  682. LESFAC(18)='FB2Z'
  683. LESFAC(19)='FC2X'
  684. LESFAC(20)='FC2Y'
  685. LESFAC(21)='FC2Z'
  686. LESFAC(22)='FD2X'
  687. LESFAC(23)='FD2Y'
  688. LESFAC(24)='FD2Z'
  689. LESFAC(25)='FE2X'
  690. LESFAC(26)='FE2Y'
  691. LESFAC(27)='FE2Z'
  692. ENDIF
  693.  
  694.  
  695. C 20 - Elements de zones cohesives
  696. C=================================
  697. ELSEIF(MFR.EQ.77) THEN
  698. C - Element ZCO2 (xfem meca rupture en 2D)
  699. IF(IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  700. NBROBL=2
  701. NBRFAC=18
  702. SEGINI,NOMID
  703. LESOBL(1)='FAX '
  704. LESOBL(2)='FAY '
  705. LESFAC(1)='FX '
  706. LESFAC(2)='FY '
  707. LESFAC(3)='FB1X'
  708. LESFAC(4)='FB1Y'
  709. LESFAC(5)='FC1X'
  710. LESFAC(6)='FC1Y'
  711. LESFAC(7)='FD1X'
  712. LESFAC(8)='FD1Y'
  713. LESFAC(9)='FE1X'
  714. LESFAC(10)='FE1Y'
  715. LESFAC(11)='FB2X'
  716. LESFAC(12)='FB2Y'
  717. LESFAC(13)='FC2X'
  718. LESFAC(14)='FC2Y'
  719. LESFAC(15)='FD2X'
  720. LESFAC(16)='FD2Y'
  721. LESFAC(17)='FE2X'
  722. LESFAC(18)='FE2Y'
  723. C - Element ZCO3 et ZCO4 (xfem meca rupture en 3D)
  724. ELSE IF (IFOU.EQ.2) THEN
  725. NBROBL=3
  726. NBRFAC=27
  727. SEGINI,NOMID
  728. LESOBL(1)='FAX '
  729. LESOBL(2)='FAY '
  730. LESOBL(3)='FAZ '
  731. LESFAC(1)='FX '
  732. LESFAC(2)='FY '
  733. LESFAC(3)='FZ '
  734. LESFAC(4)='FB1X'
  735. LESFAC(5)='FB1Y'
  736. LESFAC(6)='FB1Z'
  737. LESFAC(7)='FC1X'
  738. LESFAC(8)='FC1Y'
  739. LESFAC(9)='FC1Z'
  740. LESFAC(10)='FD1X'
  741. LESFAC(11)='FD1Y'
  742. LESFAC(12)='FD1Z'
  743. LESFAC(13)='FE1X'
  744. LESFAC(14)='FE1Y'
  745. LESFAC(15)='FE1Z'
  746. LESFAC(16)='FB2X'
  747. LESFAC(17)='FB2Y'
  748. LESFAC(18)='FB2Z'
  749. LESFAC(19)='FC2X'
  750. LESFAC(20)='FC2Y'
  751. LESFAC(21)='FC2Z'
  752. LESFAC(22)='FD2X'
  753. LESFAC(23)='FD2Y'
  754. LESFAC(24)='FD2Z'
  755. LESFAC(25)='FE2X'
  756. LESFAC(26)='FE2Y'
  757. LESFAC(27)='FE2Z'
  758. ENDIF
  759.  
  760. C 21 - Formulation ELECTROSTATIQUE (base MASSIF)
  761. C ==================================
  762. ELSE IF (MFR.EQ.71) THEN
  763. NBROBL=1
  764. SEGINI,NOMID
  765. LESOBL(1)='QEL '
  766.  
  767. ENDIF
  768.  
  769. C Par DEFAUT : segment VIDE
  770. C ===========================
  771. IF (NOMID.EQ.0) THEN
  772. SEGINI,NOMID
  773. ELSE
  774. if (ifomod.eq.6) then
  775. nbrfa0 = nbrfac
  776. NBRFAC = NBROBL + (nbrfa0*2)
  777. segadj nomid
  778. do imo = 1,nbrobl
  779. lesfac(nbrfa0 + imo)(2:4) = lesobl(imo)(1:3)
  780. lesfac(nbrfa0 + imo)(1:1) = 'I'
  781. enddo
  782. do imo = 1,nbrfa0
  783. lesfac(nbrfa0+nbrobl+imo)(2:4) = lesfac(imo)(1:3)
  784. lesfac(nbrfa0+nbrobl+imo)(1:1) = 'I'
  785. enddo
  786. endif
  787. ENDIF
  788.  
  789. IPNOMC=NOMID
  790. RETURN
  791.  
  792.  
  793.  
  794.  
  795. C 9 - Formulation THERMIQUE
  796. C ===========================
  797. 1001 CONTINUE
  798. C Cas des COQUES
  799. IF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  800. NPINT = 0
  801. if(infmod(/1).ne.0) NPINT=infmod(1)
  802. IF(NPINT.EQ.0) THEN
  803. NBROBL=3
  804. SEGINI NOMID
  805. LESOBL(1)='QINF '
  806. LESOBL(2)='Q '
  807. LESOBL(3)='QSUP '
  808. ELSE
  809. NBROBL = 1
  810. SEGINI NOMID
  811. LESOBL(1)='Q '
  812. ENDIF
  813. *
  814. *--- TOUS LES CAS SAUF COQUES ET COQUES EPAISSES
  815. *
  816. ELSE
  817. NBROBL=1
  818. SEGINI NOMID
  819. LESOBL(1)='Q '
  820. ENDIF
  821. IPNOMC=NOMID
  822. RETURN
  823.  
  824. C 22 - Formulation DIFFUSION
  825. C ===========================
  826. 1002 CONTINUE
  827. C Cas des COQUES
  828. IF (MFR.EQ.3 .OR. MFR.EQ.5 .OR. MFR.EQ.9) THEN
  829. NPINT = 0
  830. if(infmod(/1).ne.0) NPINT=infmod(1)
  831. IF(NPINT.EQ.0) THEN
  832. NBROBL=3
  833. SEGINI NOMID
  834. NBCHAR=LONG(TYMODE(2))
  835. IF (NBCHAR .EQ. 1) THEN
  836. LESOBL(1)=TYMODE(2)(1:1)//'IN '
  837. LESOBL(2)=TYMODE(2)
  838. LESOBL(3)=TYMODE(2)(1:1)//'SU '
  839. ELSEIF (NBCHAR .EQ. 2) THEN
  840. LESOBL(1)=TYMODE(2)(1:2)//'IN '
  841. LESOBL(2)=TYMODE(2)
  842. LESOBL(3)=TYMODE(2)(1:2)//'SU '
  843. ELSE
  844. CALL ERREUR(5)
  845. RETURN
  846. ENDIF
  847. ELSE
  848. NBROBL = 1
  849. SEGINI NOMID
  850. LESOBL(1)=TYMODE(2)
  851. ENDIF
  852.  
  853. C Cas des MASSIFS ET DES BARRES
  854. ELSEIF(MFR .EQ. 73 . OR. MFR . EQ. 27) THEN
  855. NBROBL = 1
  856. SEGINI NOMID
  857. LESOBL(1)=TYMODE(2)
  858. ELSE
  859. CALL ERREUR(21)
  860. RETURN
  861. ENDIF
  862. IPNOMC=NOMID
  863. RETURN
  864.  
  865. END
  866.  
  867.  
  868.  
  869.  

© Cast3M 2003 - Tous droits réservés.
Mentions légales