Télécharger idprim.eso

Retour à la liste

Numérotation des lignes :

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

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