Télécharger idprim.eso

Retour à la liste

Numérotation des lignes :

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

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