Télécharger iddefo.eso

Retour à la liste

Numérotation des lignes :

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

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