Télécharger idprim.eso

Retour à la liste

Numérotation des lignes :

  1. C IDPRIM SOURCE AM 17/04/20 21:15:16 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 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 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)='PG '
  65. LESOBL(2)='PC '
  66. LESOBL(3)='T '
  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)='UX '
  79. LESOBL(2)='UY '
  80. LESOBL(3)='RZ '
  81. LESOBL(4)='UM '
  82. LESOBL(5)='RM '
  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)='UX '
  99. LESOBL(2)='UY '
  100. LESOBL(3)='UZ '
  101. LESOBL(4)='RX '
  102. LESOBL(5)='RY '
  103. LESOBL(6)='RZ '
  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)='UR '
  111. LESOBL(2)='UZ '
  112. LESOBL(3)='UT '
  113. LESOBL(4)='RT '
  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)='UR '
  121. LESOBL(2)='UZ '
  122. LESOBL(3)='RT '
  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)='UX '
  130. LESOBL(2)='UY '
  131. LESOBL(3)='RZ '
  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.03 .OR. MFR.EQ.05) THEN
  138. NBROBL=6
  139. SEGINI,NOMID
  140. LESOBL(1)='UX '
  141. LESOBL(2)='UY '
  142. LESOBL(3)='RZ '
  143. LESOBL(4)='UZ '
  144. LESOBL(5)='RY '
  145. LESOBL(6)='RX '
  146. ELSE
  147. NBROBL=3
  148. SEGINI,NOMID
  149. LESOBL(1)='UX '
  150. LESOBL(2)='UY '
  151. LESOBL(3)='RZ '
  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)='P '
  161. LESOBL(2)='PI '
  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)='PI '
  169. LESOBL(2)='P '
  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)='UX '
  177. LESOBL(2)='UY '
  178. LESOBL(3)='UZ '
  179. LESOBL(4)='PI '
  180. LESOBL(5)='P '
  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)='P '
  192. LESOBL(2)='PI '
  193. LESOBL(3)='UR '
  194. LESOBL(4)='RT '
  195. LESOBL(5)='UT '
  196. LESOBL(6)='RR '
  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)='P '
  204. LESOBL(2)='PI '
  205. LESOBL(3)='UR '
  206. LESOBL(4)='RT '
  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)='P '
  214. LESOBL(2)='PI '
  215. LESOBL(3)='UX '
  216. LESOBL(4)='RY '
  217. LESOBL(5)='UY '
  218. LESOBL(6)='RX '
  219. C =====
  220. C 5.4 - Bidimensionnel PLAN (DP/CP/DPGE)
  221. C =====
  222. ELSE
  223. NBROBL=4
  224. SEGINI,NOMID
  225. LESOBL(1)='P '
  226. LESOBL(2)='PI '
  227. LESOBL(3)='UX '
  228. LESOBL(4)='UY '
  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)='P '
  237. LESOBL(2)='PI '
  238. LESOBL(3)='UZ '
  239.  
  240. C 7 - Element JOINT (35),JOINT CISAILLEMENT (53),JOINT GENERALISE (55)
  241. C COS2 (78)
  242. C =====================================================================
  243. ELSE IF (MFR.EQ.35.OR.MFR.EQ.53.OR.MFR.EQ.55.OR.MFR.EQ.78) THEN
  244. C =====
  245. C 7.1 - Tridimensionnel
  246. C =====
  247. IF (IFOU.EQ.2) THEN
  248. NBROBL=3
  249. SEGINI,NOMID
  250. LESOBL(1)='UX '
  251. LESOBL(2)='UY '
  252. LESOBL(3)='UZ '
  253. C =====
  254. C 7.2 - Bidimensionnel PLAN (CP/DP/DPGE)
  255. C =====
  256. ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
  257. NBROBL=2
  258. SEGINI,NOMID
  259. LESOBL(1)='UX '
  260. LESOBL(2)='UY '
  261. C =====
  262. C 7.3 - Axisymetrie
  263. C =====
  264. ELSE IF (IFOU.EQ.0) THEN
  265. NBROBL=2
  266. SEGINI,NOMID
  267. LESOBL(1)='UR '
  268. LESOBL(2)='UZ '
  269. ENDIF
  270.  
  271. C 8 - Elements MASSIFS, de MEMBRANE (25), UNIAXIALE (27)
  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) 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 MASSIFS ET DES BARRES
  846. ELSEIF(MFR .EQ. 73 .OR. MFR .EQ. 27) THEN
  847. NBROBL = 1
  848. SEGINI NOMID
  849. LESOBL(1)=TYMODE(1)
  850. ELSE
  851. CALL ERREUR(21)
  852. RETURN
  853. ENDIF
  854. IPNOMC=NOMID
  855. RETURN
  856.  
  857. END
  858.  
  859.  
  860.  
  861.  

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