Télécharger idprim.eso

Retour à la liste

Numérotation des lignes :

idprim
  1. C IDPRIM SOURCE JK148537 23/02/28 21:15:07 11607
  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 NAVIER_STOKES(52)
  272. C ========================================================
  273. ELSE IF (MFR.EQ.1.OR.MFR.EQ.25.OR.MFR.EQ.27.OR.MFR.EQ.31.OR.
  274. $ MFR.EQ.72.OR.MFR.EQ.52) THEN
  275. C =====
  276. C 8.1 - Bidimensionnel PLAN (CP/DP)
  277. C =====
  278. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  279. NBROBL=2
  280. SEGINI,NOMID
  281. LESOBL(1)='UX '
  282. LESOBL(2)='UY '
  283.  
  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)='UR '
  291. LESOBL(2)='UZ '
  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)='UR '
  299. LESOBL(2)='UZ '
  300. LESOBL(3)='UT '
  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)='UX '
  308. LESOBL(2)='UY '
  309. LESOBL(3)='UZ '
  310. C =====
  311. C 8.5 - Bidimensionnel PLAN DPGE
  312. C =====
  313. ELSE IF (IFOU.EQ.-3) THEN
  314. NBROBL=5
  315. SEGINI,NOMID
  316. LESOBL(1)='UX '
  317. LESOBL(2)='UY '
  318. LESOBL(3)='UZ '
  319. LESOBL(4)='RY '
  320. LESOBL(5)='RX '
  321. C =====
  322. C 8.6 - Unidimensionnel (1D)
  323. C =====
  324. ELSE IF (IFOU.GE.3.AND.IFOU.LE.15.AND.MFR.EQ.1) THEN
  325. IF (IFOU.LE.6) THEN
  326. NBROBL=1
  327. SEGINI,NOMID
  328. LESOBL(1)='UX '
  329. ELSE IF (IFOU.EQ.7.OR.IFOU.EQ.8) THEN
  330. NBROBL=2
  331. SEGINI,NOMID
  332. LESOBL(1)='UX '
  333. LESOBL(2)='UY '
  334. ELSE IF (IFOU.EQ.9.OR.IFOU.EQ.10) THEN
  335. NBROBL=2
  336. SEGINI,NOMID
  337. LESOBL(1)='UX '
  338. LESOBL(2)='UZ '
  339. ELSE IF (IFOU.EQ.11) THEN
  340. NBROBL=3
  341. SEGINI,NOMID
  342. LESOBL(1)='UX '
  343. LESOBL(2)='UY '
  344. LESOBL(3)='UZ '
  345. ELSE IF (IFOU.EQ.12.OR.IFOU.EQ.13.OR.IFOU.EQ.15) THEN
  346. NBROBL=1
  347. SEGINI,NOMID
  348. LESOBL(1)='UR '
  349. ELSE IF (IFOU.EQ.14) THEN
  350. NBROBL=2
  351. SEGINI,NOMID
  352. LESOBL(1)='UR '
  353. LESOBL(2)='UZ '
  354. ENDIF
  355. ENDIF
  356.  
  357. C 10 - Formulation POREUX
  358. C =========================
  359. ELSE IF (MFR.EQ.33) THEN
  360. C ======
  361. C 10.1 - Bidimensionnel PLAN (CP/DP)
  362. C ======
  363. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  364. NBROBL=3
  365. SEGINI,NOMID
  366. LESOBL(1)='UX '
  367. LESOBL(2)='UY '
  368. LESOBL(3)='P '
  369. C ======
  370. C 10.2 - Axisymetrie
  371. C ======
  372. ELSE IF (IFOU.EQ.0) THEN
  373. NBROBL=3
  374. SEGINI,NOMID
  375. LESOBL(1)='UR '
  376. LESOBL(2)='UZ '
  377. LESOBL(3)='P '
  378. C ======
  379. C 10.3 - Fourier
  380. C ======
  381. ELSE IF (IFOU.EQ.1) THEN
  382. NBROBL=4
  383. SEGINI,NOMID
  384. LESOBL(1)='UR '
  385. LESOBL(2)='UZ '
  386. LESOBL(3)='UT '
  387. LESOBL(4)='P '
  388. C ======
  389. C 10.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  390. C ======
  391. ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  392. NBROBL=4
  393. SEGINI,NOMID
  394. LESOBL(1)='UX '
  395. LESOBL(2)='UY '
  396. LESOBL(3)='UZ '
  397. LESOBL(4)='P '
  398. ENDIF
  399.  
  400. C 11 - Formulation POREUX type Q
  401. C ================================
  402. ELSE IF (MFR.EQ.57) THEN
  403. C ======
  404. C 11.1 - Bidimensionnel PLAN (CP/DP)
  405. C ======
  406. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  407. NBROBL=4
  408. SEGINI,NOMID
  409. LESOBL(1)='UX '
  410. LESOBL(2)='UY '
  411. LESOBL(3)='P '
  412. LESOBL(4)='PQ '
  413. C ======
  414. C 11.2 - Axisymetrie
  415. C ======
  416. ELSE IF (IFOU.EQ.0) THEN
  417. NBROBL=4
  418. SEGINI,NOMID
  419. LESOBL(1)='UR '
  420. LESOBL(2)='UZ '
  421. LESOBL(3)='P '
  422. LESOBL(4)='PQ '
  423. C ======
  424. C 11.3 - Fourier
  425. C ======
  426. ELSE IF (IFOU.EQ.1) THEN
  427. NBROBL=5
  428. SEGINI,NOMID
  429. LESOBL(1)='UR '
  430. LESOBL(2)='UZ '
  431. LESOBL(3)='UT '
  432. LESOBL(4)='P '
  433. LESOBL(5)='PQ '
  434. C ======
  435. C 11.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  436. C ======
  437. ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  438. NBROBL=5
  439. SEGINI,NOMID
  440. LESOBL(1)='UX '
  441. LESOBL(2)='UY '
  442. LESOBL(3)='UZ '
  443. LESOBL(4)='P '
  444. LESOBL(5)='PQ '
  445. ENDIF
  446.  
  447. C 12 - Formulation POREUX type R
  448. C ================================
  449. ELSE IF (MFR.EQ.59) THEN
  450. C ======
  451. C 12.1 - Bidimensionnel PLAN (CP/DP)
  452. C ======
  453. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  454. NBROBL=5
  455. SEGINI,NOMID
  456. LESOBL(1)='UX '
  457. LESOBL(2)='UY '
  458. LESOBL(3)='P '
  459. LESOBL(4)='PQ '
  460. LESOBL(5)='TP '
  461. C ======
  462. C 12.2 - Axisymetrie
  463. C ======
  464. ELSE IF (IFOU.EQ.0) THEN
  465. NBROBL=5
  466. SEGINI,NOMID
  467. LESOBL(1)='UR '
  468. LESOBL(2)='UZ '
  469. LESOBL(3)='P '
  470. LESOBL(4)='PQ '
  471. LESOBL(5)='TP '
  472. C ======
  473. C 12.3 - Fourier
  474. C ======
  475. ELSE IF (IFOU.EQ.1) THEN
  476. NBROBL=6
  477. SEGINI,NOMID
  478. LESOBL(1)='UR '
  479. LESOBL(2)='UZ '
  480. LESOBL(3)='UT '
  481. LESOBL(4)='P '
  482. LESOBL(5)='PQ '
  483. LESOBL(6)='TP '
  484. C ======
  485. C 12.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  486. C ======
  487. ELSE IF(IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  488. NBROBL=6
  489. SEGINI,NOMID
  490. LESOBL(1)='UX '
  491. LESOBL(2)='UY '
  492. LESOBL(3)='UZ '
  493. LESOBL(4)='P '
  494. LESOBL(5)='PQ '
  495. LESOBL(6)='TP '
  496. ENDIF
  497.  
  498. C 13 - Elements de RACCORD
  499. C ==========================
  500. ELSE IF (MFR.EQ.19.OR.MFR.EQ.21) THEN
  501. NBROBL=2
  502. SEGINI,NOMID
  503. LESOBL(1)='P '
  504. LESOBL(2)='PI '
  505.  
  506. C 14 - Element de RACCORD MASSIF (2e serie de composantes)
  507. C ==========================================================
  508. ELSE IF (MFR.EQ.1019) THEN
  509. C ======
  510. C 14.1 - Bidimensionnel PLAN (CP/DP)
  511. C ======
  512. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  513. NBROBL=2
  514. SEGINI,NOMID
  515. LESOBL(1)='UX '
  516. LESOBL(2)='UY '
  517. C ======
  518. C 14.2 - Axisymetrie
  519. C ======
  520. ELSE IF (IFOU.EQ.0) THEN
  521. NBROBL=2
  522. SEGINI,NOMID
  523. LESOBL(1)='UR '
  524. LESOBL(2)='UZ '
  525. C ======
  526. C 14.3 - Fourier
  527. C ======
  528. ELSE IF (IFOU.EQ.1) THEN
  529. NBROBL=3
  530. SEGINI,NOMID
  531. LESOBL(1)='UR '
  532. LESOBL(2)='UZ '
  533. LESOBL(3)='UT '
  534. C ======
  535. C 14.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  536. C ======
  537. ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  538. NBROBL=3
  539. SEGINI,NOMID
  540. LESOBL(1)='UX '
  541. LESOBL(2)='UY '
  542. LESOBL(3)='UZ '
  543. ENDIF
  544.  
  545. C 15 - Element de RACCORD COQUE (2e serie de composantes)
  546. C =========================================================
  547. ELSE IF (MFR.EQ.1021) THEN
  548. C ======
  549. C 15.1 - Bidimensionnel PLAN (CP/DP)
  550. C ======
  551. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  552. NBROBL=3
  553. SEGINI,NOMID
  554. LESOBL(1)='UX '
  555. LESOBL(2)='UY '
  556. LESOBL(3)='RZ '
  557. C ======
  558. C 15.2 - Axisymetrie
  559. C ======
  560. ELSE IF (IFOU.EQ.0) THEN
  561. NBROBL=3
  562. SEGINI,NOMID
  563. LESOBL(1)='UR '
  564. LESOBL(2)='UZ '
  565. LESOBL(3)='RT '
  566. C ======
  567. C 15.3 - Fourier
  568. C ======
  569. ELSE IF (IFOU.EQ.1) THEN
  570. NBROBL=4
  571. SEGINI,NOMID
  572. LESOBL(1)='UR '
  573. LESOBL(2)='UZ '
  574. LESOBL(3)='UT '
  575. LESOBL(4)='RT '
  576. C ======
  577. C 15.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  578. C ======
  579. ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  580. NBROBL=6
  581. SEGINI,NOMID
  582. LESOBL(1)='UX '
  583. LESOBL(2)='UY '
  584. LESOBL(3)='UZ '
  585. LESOBL(4)='RX '
  586. LESOBL(5)='RY '
  587. LESOBL(6)='RZ '
  588. ENDIF
  589.  
  590. C 16 - Element TUYO
  591. C ===================
  592. ELSE IF (MFR.EQ.39) THEN
  593. NBROBL=6+9
  594. SEGINI,NOMID
  595. LESOBL(1)='UX '
  596. LESOBL(2)='UY '
  597. LESOBL(3)='UZ '
  598. LESOBL(4)='RX '
  599. LESOBL(5)='RY '
  600. LESOBL(6)='RZ '
  601. LESOBL(7)='W0 '
  602. LESOBL(8)='U1 '
  603. LESOBL(9)='U2 '
  604. LESOBL(10)='U3 '
  605. LESOBL(11)='U4 '
  606. LESOBL(12)='W1 '
  607. LESOBL(13)='W2 '
  608. LESOBL(14)='W3 '
  609. LESOBL(15)='W4 '
  610. C 17 - Element POI1 materiau MODAL
  611. C ===================
  612. ELSE IF (MFR.EQ.26) THEN
  613. NBROBL=1
  614. SEGINI,NOMID
  615. LESOBL(1)='ALFA'
  616. C 18 - Element POI1 materiau STATIQUE
  617. C ===================
  618. ELSE IF (MFR.EQ.28) THEN
  619. NBROBL=1
  620. SEGINI,NOMID
  621. LESOBL(1)='BETA'
  622. C 19 - Element XFEM (xfem meca rupture)
  623. C ===================
  624. ELSEIF(MFR.EQ.63) THEN
  625. CTY - Element XQ4R (xfem meca rupture en 2D)
  626. IF(IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  627. NBROBL=2
  628. NBRFAC=18
  629. SEGINI,NOMID
  630. LESOBL(1)='UX '
  631. LESOBL(2)='UY '
  632. LESFAC(1)='AX '
  633. LESFAC(2)='AY '
  634. LESFAC(3)='B1X '
  635. LESFAC(4)='B1Y '
  636. LESFAC(5)='C1X '
  637. LESFAC(6)='C1Y '
  638. LESFAC(7)='D1X '
  639. LESFAC(8)='D1Y '
  640. LESFAC(9)='E1X '
  641. LESFAC(10)='E1Y '
  642. LESFAC(11)='B2X '
  643. LESFAC(12)='B2Y '
  644. LESFAC(13)='C2X '
  645. LESFAC(14)='C2Y '
  646. LESFAC(15)='D2X '
  647. LESFAC(16)='D2Y '
  648. LESFAC(17)='E2X '
  649. LESFAC(18)='E2Y '
  650. CTY - Element XC8R (xfem meca rupture en 3D)
  651. ELSE IF (IFOU.EQ.2) THEN
  652. NBROBL=3
  653. NBRFAC=27
  654. SEGINI,NOMID
  655. LESOBL(1)='UX '
  656. LESOBL(2)='UY '
  657. LESOBL(3)='UZ '
  658. LESFAC(1)='AX '
  659. LESFAC(2)='AY '
  660. LESFAC(3)='AZ '
  661. LESFAC(4)='B1X '
  662. LESFAC(5)='B1Y '
  663. LESFAC(6)='B1Z '
  664. LESFAC(7)='C1X '
  665. LESFAC(8)='C1Y '
  666. LESFAC(9)='C1Z '
  667. LESFAC(10)='D1X '
  668. LESFAC(11)='D1Y '
  669. LESFAC(12)='D1Z '
  670. LESFAC(13)='E1X '
  671. LESFAC(14)='E1Y '
  672. LESFAC(15)='E1Z '
  673. LESFAC(16)='B2X '
  674. LESFAC(17)='B2Y '
  675. LESFAC(18)='B2Z '
  676. LESFAC(19)='C2X '
  677. LESFAC(20)='C2Y '
  678. LESFAC(21)='C2Z '
  679. LESFAC(22)='D2X '
  680. LESFAC(23)='D2Y '
  681. LESFAC(24)='D2Z '
  682. LESFAC(25)='E2X '
  683. LESFAC(26)='E2Y '
  684. LESFAC(27)='E2Z '
  685. ENDIF
  686.  
  687. C 20 - Elements de zones cohesives
  688. C ==================================
  689. ELSEIF(MFR.EQ.77) THEN
  690. C - Element ZCO2 (xfem meca rupture en 2D)
  691. IF(IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  692. NBROBL=2
  693. NBRFAC=18
  694. SEGINI,NOMID
  695. LESOBL(1)='AX '
  696. LESOBL(2)='AY '
  697. LESFAC(1)='UX '
  698. LESFAC(2)='UY '
  699. LESFAC(3)='B1X '
  700. LESFAC(4)='B1Y '
  701. LESFAC(5)='C1X '
  702. LESFAC(6)='C1Y '
  703. LESFAC(7)='D1X '
  704. LESFAC(8)='D1Y '
  705. LESFAC(9)='E1X '
  706. LESFAC(10)='E1Y '
  707. LESFAC(11)='B2X '
  708. LESFAC(12)='B2Y '
  709. LESFAC(13)='C2X '
  710. LESFAC(14)='C2Y '
  711. LESFAC(15)='D2X '
  712. LESFAC(16)='D2Y '
  713. LESFAC(17)='E2X '
  714. LESFAC(18)='E2Y '
  715. C - Elements ZCO3 et ZCO4(xfem meca rupture en 3D)
  716. ELSE IF (IFOU.EQ.2) THEN
  717. NBROBL=3
  718. NBRFAC=27
  719. SEGINI,NOMID
  720. LESOBL(1)='AX '
  721. LESOBL(2)='AY '
  722. LESOBL(3)='AZ '
  723. LESFAC(1)='UX '
  724. LESFAC(2)='UY '
  725. LESFAC(3)='UZ '
  726. LESFAC(4)='B1X '
  727. LESFAC(5)='B1Y '
  728. LESFAC(6)='B1Z '
  729. LESFAC(7)='C1X '
  730. LESFAC(8)='C1Y '
  731. LESFAC(9)='C1Z '
  732. LESFAC(10)='D1X '
  733. LESFAC(11)='D1Y '
  734. LESFAC(12)='D1Z '
  735. LESFAC(13)='E1X '
  736. LESFAC(14)='E1Y '
  737. LESFAC(15)='E1Z '
  738. LESFAC(16)='B2X '
  739. LESFAC(17)='B2Y '
  740. LESFAC(18)='B2Z '
  741. LESFAC(19)='C2X '
  742. LESFAC(20)='C2Y '
  743. LESFAC(21)='C2Z '
  744. LESFAC(22)='D2X '
  745. LESFAC(23)='D2Y '
  746. LESFAC(24)='D2Z '
  747. LESFAC(25)='E2X '
  748. LESFAC(26)='E2Y '
  749. LESFAC(27)='E2Z '
  750. ENDIF
  751.  
  752. C 21 - Formulation ELECTROSTATIQUE (base MASSIF)
  753. C ==================================
  754. ELSE IF (MFR.EQ.71) THEN
  755. NBROBL=1
  756. SEGINI,NOMID
  757. LESOBL(1)='VEL '
  758. ENDIF
  759.  
  760.  
  761. C Par DEFAUT : segment VIDE
  762. C ===========================
  763. IF (NOMID.EQ.0) THEN
  764. SEGINI,NOMID
  765. ELSE
  766. if (ifomod.eq.6) then
  767. nbrfa0 = nbrfac
  768. NBRFAC = NBROBL + (nbrfa0*2)
  769. segadj nomid
  770. do imo = 1,nbrobl
  771. lesfac(nbrfa0 + imo)(2:4) = lesobl(imo)(1:3)
  772. lesfac(nbrfa0 + imo)(1:1) = 'I'
  773. enddo
  774. do imo = 1,nbrfa0
  775. lesfac(nbrfa0+nbrobl+imo)(2:4) = lesfac(imo)(1:3)
  776. lesfac(nbrfa0+nbrobl+imo)(1:1) = 'I'
  777. enddo
  778. endif
  779. ENDIF
  780.  
  781. IPNOMC=NOMID
  782. RETURN
  783.  
  784.  
  785.  
  786.  
  787. C 9 - Formulation THERMIQUE
  788. C ===========================
  789. 1001 CONTINUE
  790. C Cas des COQUES
  791. IF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  792. NPINT = 0
  793. if(infmod(/1).ne.0) NPINT=infmod(1)
  794. IF(NPINT.EQ.0) THEN
  795. NBROBL=3
  796. SEGINI NOMID
  797. LESOBL(1)='TINF '
  798. LESOBL(2)='T '
  799. LESOBL(3)='TSUP '
  800. ELSE
  801. NBROBL = 1
  802. SEGINI NOMID
  803. LESOBL(1)='T '
  804. ENDIF
  805. *
  806. *--- TOUS LES CAS SAUF COQUES ET COQUES EPAISSES
  807. *
  808. ELSE
  809. NBROBL=1
  810. SEGINI NOMID
  811. LESOBL(1)='T '
  812. ENDIF
  813. IPNOMC=NOMID
  814. RETURN
  815.  
  816. C 22 - Formulation DIFFUSION
  817. C ===========================
  818. 1002 CONTINUE
  819. C Cas des COQUES
  820. IF (MFR.EQ.3 .OR. MFR.EQ.5 .OR. MFR.EQ.9) THEN
  821. NPINT = 0
  822. if(infmod(/1).ne.0) NPINT=infmod(1)
  823. IF(NPINT.EQ.0) THEN
  824. NBROBL=3
  825. SEGINI NOMID
  826. NBCHAR=LONG(TYMODE(1))
  827. IF (NBCHAR .EQ. 1) THEN
  828. LESOBL(1)=TYMODE(1)(1:1)//'IN '
  829. LESOBL(2)=TYMODE(1)
  830. LESOBL(3)=TYMODE(1)(1:1)//'SU '
  831. ELSEIF (NBCHAR .EQ. 2) THEN
  832. LESOBL(1)=TYMODE(1)(1:2)//'IN '
  833. LESOBL(2)=TYMODE(1)
  834. LESOBL(3)=TYMODE(1)(1:2)//'SU '
  835. ELSE
  836. CALL ERREUR(5)
  837. RETURN
  838. ENDIF
  839. ELSE
  840. NBROBL = 1
  841. SEGINI NOMID
  842. LESOBL(1)=TYMODE(1)
  843. ENDIF
  844.  
  845. C Cas des autres elements
  846. ELSE
  847. NBROBL = 1
  848. SEGINI NOMID
  849. LESOBL(1)=TYMODE(1)
  850. ENDIF
  851. IPNOMC=NOMID
  852. RETURN
  853.  
  854. C 23 - Formulation METALLURGIE
  855. C ==================================
  856. 1003 CONTINUE
  857. NBROBL=0
  858. NBRFAC=0
  859. SEGINI NOMID
  860. IPNOMC=NOMID
  861. RETURN
  862.  
  863. END
  864.  
  865.  
  866.  

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