Télécharger iddefo.eso

Retour à la liste

Numérotation des lignes :

  1. C IDDEFO SOURCE CB215821 19/06/25 21:15:05 10238
  2.  
  3. C=======================================================================
  4. C= RECHERCHE DES NOMS DE COMPOSANTES DE DEFORMATIONS =
  5. C= ------------------------------------------------- =
  6. C= =
  7. C= Entrees : =
  8. C= IPMODL pointeur ACTIF sur objet IMODEL =
  9. C= IFOU valeur de IFOUR de CCOPTIO =
  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 IDDEFO (IPMODL,IFOU,IPNOMC,NBROBL,NBRFAC)
  19.  
  20. IMPLICIT INTEGER(I-N)
  21. IMPLICIT REAL*8(A-H,O-Z)
  22.  
  23. -INC CCOPTIO
  24. -INC SMMODEL
  25. POINTEUR nomid1.nomid
  26.  
  27. logical dcmate
  28.  
  29. NBROBL=0
  30. NBRFAC=0
  31. NOMID=0
  32.  
  33. IMODEL=IPMODL
  34. MELE=NEFMOD
  35. MFR=NUMMFR(MELE)
  36. dcmate = .false.
  37.  
  38. IF (FORMOD(1).eq.'MECANIQUE') THEN
  39. DO imat = 1 , matmod(/2)
  40. if (matmod(imat).eq.'IMPEDANCE') then
  41. MFR2 = infele(13)
  42. if (mfr2.eq.26.or.mfr2.eq.28) mfr = mfr2
  43. call IDPRIM(IMODEL,MFR,IPNOMC,NBROBL,NBRFAC)
  44. dcmate = .true.
  45. nomid = ipnomc
  46. segini,nomid1
  47. IPNOMC=nomid1
  48. do io = 1,nbrobl
  49. nomid1.lesobl(io)(2:4)=lesobl(io)(1:3)
  50. nomid1.lesobl(io)(1:1)='E'
  51. enddo
  52. do io = 1,nbrfac
  53. nomid1.lesfac(io)(2:4)=lesfac(io)(1:3)
  54. nomid1.lesfac(io)(1:1)='E'
  55. enddo
  56. SEGACT,nomid*NOMOD,nomid1*NOMOD
  57. return
  58. endif
  59. ENDDO
  60. ENDIF
  61. IF (FORMOD(1).EQ.'ELECTROSTATIQUE ') MFR = 71
  62. IF (FORMOD(1).EQ.'DIFFUSION ') MFR = 73
  63.  
  64. NFOR = FORMOD(/2)
  65. CALL PLACE(FORMOD,NFOR,ITHHY,'THERMOHYDRIQUE ')
  66. CALL PLACE(FORMOD,NFOR,ITHER,'THERMIQUE ')
  67. CALL PLACE(FORMOD,NFOR,IMAGN,'MAGNETODYNAMIQUE')
  68. CALL PLACE(FORMOD,NFOR,IMETA,'METALLURGIE ')
  69.  
  70. mfr2 = 0
  71. IF (ITHHY.EQ.1) mfr2=65
  72. IF (ITHER.eq.1) mfr2=29
  73. IF (IMAGN.eq.1) mfr2=69
  74. IF (IMETA.eq.1) mfr2=70
  75. IF (mfr2.ne.0) go to 100
  76.  
  77. C Coque integree ou pas ?
  78. NPINT=0
  79. IF (INFMOD(/1).NE.0) NPINT=INFMOD(1)
  80. *
  81. * -1/ MACRO ELEMENT
  82. *
  83. IF (MFR.EQ.61)THEN
  84. IF (IFOU.EQ.-1.OR.IFOU.EQ.-2) THEN
  85. *
  86. * 0-A/ CONTRAINTES PLANES - DEFORMATIONS PLANES
  87. *
  88. NBROBL=5
  89. SEGINI NOMID
  90. LESOBL(1)='EPS1'
  91. LESOBL(2)='CZ1 '
  92. LESOBL(3)='GXY '
  93. LESOBL(4)='EPS2'
  94. LESOBL(5)='CZ2 '
  95. ENDIF
  96. c
  97. c element coaxial COS2 (3D pour liaison acier-beton)
  98. c
  99. ELSE IF ( MFR.EQ.78) THEN
  100. NBROBL=3
  101. SEGINI NOMID
  102. LESOBL(1)='GLIT'
  103. LESOBL(2)='GLIN'
  104. LESOBL(3)='GLIM'
  105. c
  106. C 1 - Element JOINT
  107. C ===================
  108. ELSE IF (MFR.EQ.35) THEN
  109. C =====
  110. C 1.1 - Tridimensionnel
  111. C =====
  112. IF (IFOU.EQ.2) THEN
  113. NBROBL=3
  114. SEGINI,NOMID
  115. LESOBL(1)='DRS1'
  116. LESOBL(2)='DRS2'
  117. LESOBL(3)='DRN '
  118. C =====
  119. C 1.2 - Bidimensionnel PLAN (CP/DP/DPGE) et Axisymetrie
  120. C =====
  121. ELSE IF ((IFOU.EQ.-3).OR.(IFOU.EQ.-2).OR.(IFOU.EQ.-1).OR.
  122. . (IFOU.EQ.0)) THEN
  123. NBROBL=2
  124. SEGINI,NOMID
  125. LESOBL(1)='DRSN'
  126. LESOBL(2)='DRN '
  127. ENDIF
  128.  
  129. C 2 - Element JOINT CISAILLEMENT (2D)
  130. C Bidimensionnel PLAN (CP/DP/DPGE)
  131. C ======================================
  132. ELSE IF (MFR.EQ.53) THEN
  133. IF ((IFOU.EQ.-3).OR.(IFOU.EQ.-2).OR.(IFOU.EQ.-1)) THEN
  134. NBROBL=2
  135. SEGINI,NOMID
  136. LESOBL(1)='DRS1'
  137. LESOBL(2)='DRS2'
  138. ENDIF
  139.  
  140. C 3 - Element JOINT GENERALISE
  141. C ==============================
  142. ELSE IF (MFR.EQ.55) THEN
  143. C =====
  144. C 3.1 - Bidimensionnel PLAN (CP/DP/DPGE)
  145. C =====
  146. IF ((IFOU.EQ.-2).OR.(IFOU.EQ.-1).OR.(IFOU.EQ.-3)) THEN
  147. NBROBL=4
  148. SEGINI,NOMID
  149. LESOBL(1)='DRSN'
  150. LESOBL(2)='DRN '
  151. LESOBL(3)='EPTT'
  152. LESOBL(4)='EPZZ'
  153. C =====
  154. C 3.2 - Tridimensionnel
  155. C =====
  156. ELSE IF (IFOU.EQ.2) THEN
  157. NBROBL=6
  158. SEGINI,NOMID
  159. LESOBL(1)='DRS1'
  160. LESOBL(2)='DRS2'
  161. LESOBL(3)='DRN '
  162. LESOBL(4)='EPTT'
  163. LESOBL(5)='EPUU'
  164. LESOBL(6)='GATU'
  165. ENDIF
  166.  
  167. C 4 - Elements MASSIFS
  168. C ======================
  169. ELSE IF (MFR.EQ.1.OR.MFR.EQ.31.OR.MFR.EQ.63) THEN
  170. C =====
  171. C 4.1 - Bidimensionnel PLAN (CP/DP/DPGE)
  172. C =====
  173. IF (IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  174. NBROBL=4
  175. SEGINI,NOMID
  176. LESOBL(1)='EPXX'
  177. LESOBL(2)='EPYY'
  178. LESOBL(3)='EPZZ'
  179. LESOBL(4)='GAXY'
  180. C =====
  181. C 4.2 - Axisymetrie
  182. C =====
  183. ELSE IF (IFOU.EQ.0) THEN
  184. NBROBL=4
  185. SEGINI,NOMID
  186. LESOBL(1)='EPRR'
  187. LESOBL(2)='EPZZ'
  188. LESOBL(3)='EPTT'
  189. LESOBL(4)='GARZ'
  190. C =====
  191. C 4.3 - Fourier
  192. C =====
  193. ELSE IF (IFOU.EQ.1) THEN
  194. NBROBL=6
  195. SEGINI,NOMID
  196. LESOBL(1)='EPRR'
  197. LESOBL(2)='EPZZ'
  198. LESOBL(3)='EPTT'
  199. LESOBL(4)='GARZ'
  200. LESOBL(5)='GART'
  201. LESOBL(6)='GAZT'
  202. C =====
  203. C 4.4 - Tridimensionnel
  204. C =====
  205. ELSE IF (IFOU.EQ.2) THEN
  206. NBROBL=6
  207. SEGINI,NOMID
  208. LESOBL(1)='EPXX'
  209. LESOBL(2)='EPYY'
  210. LESOBL(3)='EPZZ'
  211. LESOBL(4)='GAXY'
  212. LESOBL(5)='GAXZ'
  213. LESOBL(6)='GAYZ'
  214. C =====
  215. C 4.5 - Unidimensionnel (1D)
  216. C =====
  217. ELSE IF (IFOU.GE.3.AND.IFOU.LE.15.AND.MFR.EQ.1) THEN
  218. NBROBL=3
  219. SEGINI,NOMID
  220. IF (IFOU.LE.11) THEN
  221. LESOBL(1)='EPXX'
  222. LESOBL(2)='EPYY'
  223. LESOBL(3)='EPZZ'
  224. ELSE IF (IFOU.GE.12.AND.IFOU.LE.14) THEN
  225. LESOBL(1)='EPRR'
  226. LESOBL(2)='EPZZ'
  227. LESOBL(3)='EPTT'
  228. ELSE IF (IFOU.EQ.15) THEN
  229. LESOBL(1)='EPRR'
  230. C Voir TC pour LESOBL(2)='EPFF' ?
  231. LESOBL(2)='EPZZ'
  232. LESOBL(3)='EPTT'
  233. ENDIF
  234. ENDIF
  235.  
  236. C 5 - Elements COQUES
  237. C =====================
  238. ELSE IF (MFR.EQ.3.OR.MFR.EQ.39) THEN
  239. IF (NPINT.EQ.0) THEN
  240. C =====
  241. C 5.1 - Tridimensionnel et Fourier
  242. C =====
  243. IF (IFOU.EQ.2.OR.IFOU.EQ.1) THEN
  244. NBROBL=6
  245. SEGINI,NOMID
  246. LESOBL(1)='EPSS'
  247. LESOBL(2)='EPTT'
  248. LESOBL(3)='GAST'
  249. LESOBL(4)='RTSS'
  250. LESOBL(5)='RTTT'
  251. LESOBL(6)='RTST'
  252. C =====
  253. C 5.2 - Axisymetrie
  254. C =====
  255. ELSE IF (IFOU.EQ.0) THEN
  256. NBROBL=4
  257. SEGINI,NOMID
  258. LESOBL(1)='EPSS'
  259. LESOBL(2)='EPTT'
  260. LESOBL(3)='RTSS'
  261. LESOBL(4)='RTTT'
  262. C =====
  263. C 5.3 - Bidimensionnel PLAN (CP/DP/DPGE)
  264. C =====
  265. ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
  266. NBROBL=4
  267. SEGINI,NOMID
  268. LESOBL(1)='EPSS'
  269. LESOBL(2)='EPZZ'
  270. LESOBL(3)='RTSS'
  271. LESOBL(4)='RTZZ'
  272. ENDIF
  273. ELSE
  274. C =====
  275. C 5.4 - Tridimensionnel - Cas particulier
  276. C =====
  277. IF (MFR.EQ.3.AND.IFOU.EQ.2) THEN
  278. NBROBL=4
  279. SEGINI,NOMID
  280. LESOBL(1)='EPSS'
  281. LESOBL(2)='EPTT'
  282. LESOBL(3)='EPNN'
  283. LESOBL(4)='GAST'
  284. ENDIF
  285. ENDIF
  286.  
  287. C 6 - Elements de COQUE EPAISSE
  288. C Tridimensionnel, axisymetrie et Fourier
  289. C =============================================
  290. ELSE IF (MFR.EQ.5) THEN
  291. NBROBL=5
  292. SEGINI,NOMID
  293. LESOBL(1)='EPSS'
  294. LESOBL(2)='EPTT'
  295. LESOBL(3)='GAST'
  296. LESOBL(4)='GASN'
  297. LESOBL(5)='GATN'
  298.  
  299. C 7 - LIA2: Element 3D de liaison a 2 noeuds
  300. C =============================================
  301. ELSE IF (MFR.EQ.51) THEN
  302. NBROBL=6
  303. SEGINI,NOMID
  304. LESOBL(1)='EPS '
  305. LESOBL(2)='GXY '
  306. LESOBL(3)='GXZ '
  307. LESOBL(4)='CX '
  308. LESOBL(5)='CY '
  309. LESOBL(6)='CZ '
  310. C 7bis - JOI1: Element 3D de liaison a 2 noeuds
  311. C =============================================
  312. ELSE IF (MFR.EQ.75) THEN
  313. IF (IFOU.EQ.2) THEN
  314. NBROBL=6
  315. SEGINI,NOMID
  316. LESOBL(1)='EXX '
  317. LESOBL(2)='GXY '
  318. LESOBL(3)='GXZ '
  319. LESOBL(4)='CXX '
  320. LESOBL(5)='CXY '
  321. LESOBL(6)='CXZ '
  322. ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  323. NBROBL=3
  324. SEGINI,NOMID
  325. LESOBL(1)='EXX '
  326. LESOBL(2)='GXY '
  327. LESOBL(3)='CXZ '
  328. ENDIF
  329.  
  330. C 8 - BAEX : BARRE EXCENTREE
  331. C ============================
  332. ELSE IF (MFR.EQ.49) THEN
  333. NBROBL=1
  334. SEGINI,NOMID
  335. LESOBL(1)='EPSS'
  336.  
  337. C 9 - Elements POUTRE et TUYAU
  338. C ==============================
  339. ELSE IF (MFR.EQ.7.OR.MFR.EQ.13) THEN
  340. C =====
  341. C 9.1 - Tridimensionnel
  342. C =====
  343. IF (IFOU.EQ.2) THEN
  344. NBROBL=6
  345. SEGINI,NOMID
  346. LESOBL(1)='EPS '
  347. LESOBL(2)='GXY '
  348. LESOBL(3)='GXZ '
  349. LESOBL(4)='CX '
  350. LESOBL(5)='CY '
  351. LESOBL(6)='CZ '
  352. C =====
  353. C 9.2 - Bidimensionnel PLAN (CP/DP/DPGE)
  354. C =====
  355. ELSE IF (IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  356. NBROBL=3
  357. SEGINI,NOMID
  358. LESOBL(1)='EPS '
  359. LESOBL(2)='GXY '
  360. LESOBL(3)='CZ '
  361. ENDIF
  362.  
  363. C 10 - Element de COQUE en CISAILLEMENT TRANSVERSE
  364. C ==================================================
  365. ELSE IF (MFR.EQ.9) THEN
  366. IF (NPINT.EQ.0) THEN
  367. C ======
  368. C 10.1 - Tridimensionnel
  369. C ======
  370. IF (IFOU.EQ.2) THEN
  371. NBROBL=8
  372. SEGINI,NOMID
  373. LESOBL(1)='EPSS'
  374. LESOBL(2)='EPTT'
  375. LESOBL(3)='GAST'
  376. LESOBL(4)='RTSS'
  377. LESOBL(5)='RTTT'
  378. LESOBL(6)='RTST'
  379. LESOBL(7)='GASN'
  380. LESOBL(8)='GATN'
  381. ENDIF
  382. ENDIF
  383.  
  384. C 11 - Elements LINESPRING (tridimensionnel)
  385. C ============================================
  386. ELSE IF (MFR.EQ.15) THEN
  387. IF (IFOU.EQ.2) THEN
  388. NBROBL=6
  389. SEGINI,NOMID
  390. LESOBL(1)='EPZZ'
  391. LESOBL(2)='GAXZ'
  392. LESOBL(3)='GAYZ'
  393. LESOBL(4)='RTXX'
  394. LESOBL(5)='RTZZ'
  395. LESOBL(6)='DJP '
  396. ENDIF
  397.  
  398. C 12 - Elements de MEMBRANE
  399. C ===========================
  400. ELSE IF (MFR.EQ.25) THEN
  401. NBROBL=3
  402. SEGINI,NOMID
  403. LESOBL(1)='EPSS'
  404. LESOBL(2)='EPTT'
  405. LESOBL(3)='GAST'
  406.  
  407. C 13 - Formulation UNIAXIALE
  408. C =============================
  409. ELSE IF (MFR.EQ.27) THEN
  410. NBROBL=1
  411. SEGINI,NOMID
  412. LESOBL(1)='EPSS'
  413.  
  414. C 14 - Formulation THERMIQUE
  415. C ============================
  416. ELSE IF (MFR.EQ.29) THEN
  417. C ======
  418. C 14.1 - Tridimensionnel
  419. C ======
  420. IF (IFOU.EQ.2) THEN
  421. NBROBL=3
  422. SEGINI,NOMID
  423. LESOBL(1)='GRDX'
  424. LESOBL(2)='GRDY'
  425. LESOBL(3)='GRDZ'
  426. C ======
  427. C 14.2 - Bidimensionnel PLAN (CP/DP/DPGE)
  428. C ======
  429. ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
  430. NBROBL=2
  431. SEGINI,NOMID
  432. LESOBL(1)='GRDX'
  433. LESOBL(2)='GRDY'
  434. C ======
  435. C 14.3 - Axisymetrie et Fourier
  436. C ======
  437. ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN
  438. NBROBL=2
  439. SEGINI,NOMID
  440. LESOBL(1)='GRDX'
  441. LESOBL(2)='GRDY'
  442. C*OF LESOBL(1)='GRDR'
  443. C*OF LESOBL(2)='GRDZ'
  444. C ======
  445. C 14.4 - Unidimensionnel (1D)
  446. C ======
  447. ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN
  448. NBROBL=1
  449. SEGINI,NOMID
  450. C*OF IF (IFOU.LE.11) THEN
  451. LESOBL(1)='GRDX'
  452. C*OF ELSE
  453. C*OF LESOBL(1)='GRDR'
  454. C*OF ENDIF
  455. ENDIF
  456.  
  457. C 15 - Formulation POREUX
  458. C =========================
  459. ELSE IF (MFR.EQ.33) THEN
  460. C =====
  461. C 15.A - Elements POREUX
  462. C ======
  463. IF (MELE.GE.79.AND.MELE.LE.83) THEN
  464. C ========
  465. C 15.A.1 - Bidimensionnel PLAN (CP/DP)
  466. C ========
  467. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  468. NBROBL=5
  469. SEGINI,NOMID
  470. LESOBL(1)='EPXX'
  471. LESOBL(2)='EPYY'
  472. LESOBL(3)='EPZZ'
  473. LESOBL(4)='GAXY'
  474. LESOBL(5)='PRES'
  475. C ========
  476. C 15.A.2 - Axisymetrie
  477. C ========
  478. ELSE IF (IFOU.EQ.0) THEN
  479. NBROBL=5
  480. SEGINI,NOMID
  481. LESOBL(1)='EPRR'
  482. LESOBL(2)='EPZZ'
  483. LESOBL(3)='EPTT'
  484. LESOBL(4)='GARZ'
  485. LESOBL(5)='PRES'
  486. C ========
  487. C 15.A.3 - Fourier
  488. C ========
  489. ELSE IF (IFOU.EQ.1) THEN
  490. NBROBL=7
  491. SEGINI,NOMID
  492. LESOBL(1)='EPRR'
  493. LESOBL(2)='EPZZ'
  494. LESOBL(3)='EPTT'
  495. LESOBL(4)='GARZ'
  496. LESOBL(5)='GART'
  497. LESOBL(6)='GAZT'
  498. LESOBL(7)='PRES'
  499. C ========
  500. C 15.A.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  501. C ========
  502. ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  503. NBROBL=7
  504. SEGINI,NOMID
  505. LESOBL(1)='EPXX'
  506. LESOBL(2)='EPYY'
  507. LESOBL(3)='EPZZ'
  508. LESOBL(4)='GAXY'
  509. LESOBL(5)='GAXZ'
  510. LESOBL(6)='GAYZ'
  511. LESOBL(7)='PRES'
  512. ENDIF
  513. C ======
  514. C 15.B - Elements JOINT POREUX
  515. C ======
  516. ELSE IF (MELE.GE.108.AND.MELE.LE.110) THEN
  517. C ========
  518. C 15.B.1 - Tridimensionnel
  519. C ========
  520. IF (IFOU.EQ.2) THEN
  521. NBROBL=4
  522. SEGINI,NOMID
  523. LESOBL(1)='DRS1'
  524. LESOBL(2)='DRS2'
  525. LESOBL(3)='DRN '
  526. LESOBL(4)='PRES'
  527. C ========
  528. C 15.B.2 - Bidimensionnel PLAN (CP/DP) et Axisymetrie
  529. C ========
  530. ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1.OR.IFOU.EQ.0) THEN
  531. NBROBL=3
  532. SEGINI,NOMID
  533. LESOBL(1)='DRSN'
  534. LESOBL(2)='DRN '
  535. LESOBL(3)='PRES'
  536. ENDIF
  537. ENDIF
  538.  
  539. C 16 - Formulation POREUX type Q
  540. C ================================
  541. ELSE IF (MFR.EQ.57) THEN
  542. C =====
  543. C 16.A - Elements POREUX Q
  544. C ======
  545. IF (MELE.GE.173.AND.MELE.LE.177) THEN
  546. C ========
  547. C 16.A.1 - Bidimensionnel PLAN (CP/DP)
  548. C ========
  549. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  550. NBROBL=6
  551. SEGINI,NOMID
  552. LESOBL(1)='EPXX'
  553. LESOBL(2)='EPYY'
  554. LESOBL(3)='EPZZ'
  555. LESOBL(4)='GAXY'
  556. LESOBL(5)='PRES'
  557. LESOBL(6)='PREQ'
  558. C ========
  559. C 16.A.2 - Axisymetrie
  560. C ========
  561. ELSE IF (IFOU.EQ.0) THEN
  562. NBROBL=6
  563. SEGINI,NOMID
  564. LESOBL(1)='EPRR'
  565. LESOBL(2)='EPZZ'
  566. LESOBL(3)='EPTT'
  567. LESOBL(4)='GARZ'
  568. LESOBL(5)='PRES'
  569. LESOBL(6)='PREQ'
  570. C ========
  571. C 16.A.3 - Fourier
  572. C ========
  573. ELSE IF (IFOU.EQ.1) THEN
  574. NBROBL=8
  575. SEGINI,NOMID
  576. LESOBL(1)='EPRR'
  577. LESOBL(2)='EPZZ'
  578. LESOBL(3)='EPTT'
  579. LESOBL(4)='GARZ'
  580. LESOBL(5)='GART'
  581. LESOBL(6)='GAZT'
  582. LESOBL(7)='PRES'
  583. LESOBL(8)='PREQ'
  584. C ========
  585. C 16.A.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  586. C ========
  587. ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  588. NBROBL=8
  589. SEGINI,NOMID
  590. LESOBL(1)='EPXX'
  591. LESOBL(2)='EPYY'
  592. LESOBL(3)='EPZZ'
  593. LESOBL(4)='GAXY'
  594. LESOBL(5)='GAXZ'
  595. LESOBL(6)='GAYZ'
  596. LESOBL(7)='PRES'
  597. LESOBL(8)='PREQ'
  598. ENDIF
  599. C ======
  600. C 16.B - Elements JOINT POREUX Q
  601. C ======
  602. ELSE IF (MELE.GE.185.AND.MELE.LE.187) THEN
  603. C ========
  604. C 16.B.1 - Tridimensionnel
  605. C ========
  606. IF (IFOU.EQ.2) THEN
  607. NBROBL=5
  608. SEGINI,NOMID
  609. LESOBL(1)='DRS1'
  610. LESOBL(2)='DRS2'
  611. LESOBL(3)='DRN '
  612. LESOBL(4)='PRES'
  613. LESOBL(5)='PREQ'
  614. C ========
  615. C 16.B.2 - Bidimensionnel PLAN (CP/DP) et Axisymetrie
  616. C ========
  617. ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1.OR.IFOU.EQ.0) THEN
  618. NBROBL=4
  619. SEGINI,NOMID
  620. LESOBL(1)='DRSN'
  621. LESOBL(2)='DRN '
  622. LESOBL(3)='PRES'
  623. LESOBL(4)='PREQ'
  624. ENDIF
  625. ENDIF
  626.  
  627. C 17 - Formulation POREUX type R
  628. C ================================
  629. ELSE IF (MFR.EQ.59) THEN
  630. C =====
  631. C 17.A - Elements POREUX R
  632. C ======
  633. IF (MELE.GE.178.AND.MELE.LE.182) THEN
  634. C ========
  635. C 17.A.1 - Bidimensionnel PLAN (CP/DP)
  636. C ========
  637. IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  638. NBROBL=7
  639. SEGINI NOMID
  640. LESOBL(1)='EPXX'
  641. LESOBL(2)='EPYY'
  642. LESOBL(3)='EPZZ'
  643. LESOBL(4)='GAXY'
  644. LESOBL(5)='PRES'
  645. LESOBL(6)='PREQ'
  646. LESOBL(7)='TPT '
  647. C ========
  648. C 17.A.2 - Axisymetrie
  649. C ========
  650. ELSE IF (IFOU.EQ.0) THEN
  651. NBROBL=7
  652. SEGINI NOMID
  653. LESOBL(1)='EPRR'
  654. LESOBL(2)='EPZZ'
  655. LESOBL(3)='EPTT'
  656. LESOBL(4)='GARZ'
  657. LESOBL(5)='PRES'
  658. LESOBL(6)='PREQ'
  659. LESOBL(7)='TPT '
  660. C ========
  661. C 17.A.3 - Fourier
  662. C ========
  663. ELSE IF (IFOU.EQ.1) THEN
  664. NBROBL=9
  665. SEGINI,NOMID
  666. LESOBL(1)='EPRR'
  667. LESOBL(2)='EPZZ'
  668. LESOBL(3)='EPTT'
  669. LESOBL(4)='GARZ'
  670. LESOBL(5)='GART'
  671. LESOBL(6)='GAZT'
  672. LESOBL(7)='PRES'
  673. LESOBL(8)='PREQ'
  674. LESOBL(9)='TPT '
  675. C ========
  676. C 17.A.4 - Tridimensionnel et bidimensionnel DEFO PLAN GENE
  677. C ========
  678. ELSE IF (IFOU.EQ.2.OR.IFOU.EQ.-3) THEN
  679. NBROBL=9
  680. SEGINI,NOMID
  681. LESOBL(1)='EPXX'
  682. LESOBL(2)='EPYY'
  683. LESOBL(3)='EPZZ'
  684. LESOBL(4)='GAXY'
  685. LESOBL(5)='GAXZ'
  686. LESOBL(6)='GAYZ'
  687. LESOBL(7)='PRES'
  688. LESOBL(8)='PREQ'
  689. LESOBL(9)='TPT '
  690. ENDIF
  691. C ======
  692. C 17.B - Elements JOINT POREUX R
  693. C ======
  694. ELSE IF (MELE.GE.188.AND.MELE.LE.190) THEN
  695. C ========
  696. C 17.B.1 - Tridimensionnel
  697. C ========
  698. IF (IFOU.EQ.2) THEN
  699. NBROBL=6
  700. SEGINI,NOMID
  701. LESOBL(1)='DRS1'
  702. LESOBL(2)='DRS2'
  703. LESOBL(3)='DRN '
  704. LESOBL(4)='PRES'
  705. LESOBL(5)='PREQ'
  706. LESOBL(6)='TPT '
  707. C ========
  708. C 17.B.2 - Bidimensionnel PLAN (CP/DP) et Axisymetrie
  709. C ========
  710. ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1.OR.IFOU.EQ.0) THEN
  711. NBROBL=5
  712. SEGINI,NOMID
  713. LESOBL(1)='DRSN'
  714. LESOBL(2)='DRN '
  715. LESOBL(3)='PRES'
  716. LESOBL(4)='PREQ'
  717. LESOBL(5)='TPT '
  718. ENDIF
  719. ENDIF
  720.  
  721. C 18 - Elements TUYAU FISSURE (tridimensionnel)
  722. C ===============================================
  723. ELSE IF (MFR.EQ.17) THEN
  724. IF (IFOU.EQ.2) THEN
  725. NBROBL=8
  726. SEGINI,NOMID
  727. LESOBL(1)='EPS '
  728. LESOBL(2)='GXY '
  729. LESOBL(3)='GXZ '
  730. LESOBL(4)='CX '
  731. LESOBL(5)='CY '
  732. LESOBL(6)='CZ '
  733. LESOBL(7)='EPS7'
  734. LESOBL(8)='EPS8'
  735. ENDIF
  736.  
  737. C 19 - Elements de SECTION/FIBRE
  738. C ================================
  739. ELSE IF (MFR.EQ.47) THEN
  740. C ======
  741. C 19.1 - Bidimensionnel PLAN (CP/DP/DPGE)
  742. C ======
  743. IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
  744. NBROBL=2
  745. SEGINI,NOMID
  746. LESOBL(1)='EPXX'
  747. LESOBL(2)='GAXY'
  748. C ======
  749. C 19.2 - Tridimensionnel
  750. C ======
  751. ELSE IF (IFOU.EQ.2) THEN
  752. NBROBL=3
  753. SEGINI,NOMID
  754. LESOBL(1)='EPXX'
  755. LESOBL(2)='GAXY'
  756. LESOBL(3)='GAXZ'
  757. ENDIF
  758.  
  759. C 20 - Elements de zones cohesives
  760. C ==================================
  761. ELSE IF (MFR.EQ.77) THEN
  762. C =====
  763. C 20.1 - Tridimensionnel
  764. C =====
  765. IF (IFOU.GT.0) THEN
  766. NBROBL=3
  767. SEGINI,NOMID
  768. LESOBL(1)='DRS1'
  769. LESOBL(2)='DRS2'
  770. LESOBL(3)='DRN '
  771. C =====
  772. C 20.2 - Bidimensionnel PLAN (CP/DP/DPGE) et Axisymetrie
  773. C =====
  774. ELSE IF (IFOU.LE.0) THEN
  775. NBROBL=2
  776. SEGINI,NOMID
  777. LESOBL(1)='DRSN'
  778. LESOBL(2)='DRN '
  779. ENDIF
  780.  
  781. C 21 - Formulation ELECTROSTATIQUE (base MASSIF)
  782. C ==================================
  783. ELSE IF (MFR.EQ.71) THEN
  784. C ======
  785. C 21.1 - Tridimensionnel
  786. C ======
  787. IF (IFOU.EQ.2) THEN
  788. NBROBL=3
  789. SEGINI,NOMID
  790. LESOBL(1)='EELX '
  791. LESOBL(2)='EELY '
  792. LESOBL(3)='EELZ '
  793. C ======
  794. C 21.2 - Bidimensionnel PLAN (CP/DP/DPGE)
  795. C ======
  796. ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
  797. NBROBL=2
  798. SEGINI,NOMID
  799. LESOBL(1)='EELX '
  800. LESOBL(2)='EELY '
  801. C ======
  802. C 21.3 - Axisymetrie et Fourier
  803. C ======
  804. ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN
  805. NBROBL=2
  806. SEGINI,NOMID
  807. LESOBL(1)='EELR '
  808. LESOBL(2)='EELZ '
  809. C ======
  810. C 21.4 - Unidimensionnel (1D)
  811. C ======
  812. ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN
  813. NBROBL=1
  814. SEGINI,NOMID
  815. IF (IFOU.LE.11) THEN
  816. LESOBL(1)='EELX '
  817. ELSE
  818. LESOBL(1)='EELR '
  819. ENDIF
  820. ENDIF
  821.  
  822. C 22 - Formulation DIFFUSION (base MASSIF)
  823. C ============================
  824. ELSE IF (MFR.EQ.73) THEN
  825. C ======
  826. C 22.0 - BARRE
  827. C ======
  828. IF (MELE.EQ.46) THEN
  829. NBROBL=1
  830. SEGINI,NOMID
  831. LESOBL(1)='GS '
  832. ELSE
  833. C ======
  834. C 22.1 - Tridimensionnel
  835. C ======
  836. IF (IFOU.EQ.2) THEN
  837. NBROBL=3
  838. SEGINI,NOMID
  839. LESOBL(1)='GX '
  840. LESOBL(2)='GY '
  841. LESOBL(3)='GZ '
  842. C ======
  843. C 22.2 - Bidimensionnel PLAN (CP/DP/DPGE)
  844. C ======
  845. ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
  846. NBROBL=2
  847. SEGINI,NOMID
  848. LESOBL(1)='GX '
  849. LESOBL(2)='GY '
  850. C ======
  851. C 22.3 - Axisymetrie et Fourier
  852. C ======
  853. ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN
  854. NBROBL=2
  855. SEGINI,NOMID
  856. LESOBL(1)='GR '
  857. LESOBL(2)='GZ '
  858. C ======
  859. C 22.4 - Unidimensionnel (1D)
  860. C ======
  861. ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN
  862. NBROBL=1
  863. SEGINI,NOMID
  864. IF (IFOU.LE.11) THEN
  865. LESOBL(1)='GX '
  866. ELSE
  867. LESOBL(1)='GR '
  868. ENDIF
  869. ENDIF
  870. ENDIF
  871. C* Ajout du nom de l'INCOnnue (DDL) contenu dans TYMODE(1)
  872. DO i = 1, NBROBL
  873. LESOBL(i)(3:8) = imodel.TYMODE(1)(1:6)
  874. ENDDO
  875.  
  876. ENDIF
  877.  
  878. C Par DEFAUT : segment VIDE
  879. C ===========================
  880. 100 continue
  881. IF (NOMID.EQ.0) THEN
  882. SEGINI,NOMID
  883. ELSE
  884. if (ifomod.eq.6.and.(.not.dcmate)) then
  885. nbrfa0 = nbrfac
  886. NBRFAC = NBROBL + (nbrfa0*2)
  887. segadj,nomid
  888. do imo = 1,nbrobl
  889. lesfac(nbrfa0 + imo)(2:4) = lesobl(imo)(1:3)
  890. lesfac(nbrfa0 + imo)(1:1) = 'I'
  891. enddo
  892. do imo = 1,nbrfa0
  893. lesfac(nbrfa0+nbrobl+imo)(2:4) = lesfac(imo)(1:3)
  894. lesfac(nbrfa0+nbrobl+imo)(1:1) = 'I'
  895. enddo
  896. endif
  897. ENDIF
  898.  
  899. SEGACT,NOMID*NOMOD
  900. IPNOMC=NOMID
  901.  
  902. END
  903.  
  904.  

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