Télécharger idcont.eso

Retour à la liste

Numérotation des lignes :

idcont
  1. C IDCONT SOURCE JK148537 23/02/28 21:15:04 11607
  2.  
  3. C=======================================================================
  4. C= RECHERCHE DES NOMS DE COMPOSANTES DE CONTRAINTES =
  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 IDCONT (IPMODL,IFOU,IPNOMC,NBROBL,NBRFAC)
  19.  
  20. IMPLICIT INTEGER(I-N)
  21. IMPLICIT REAL*8(A-H,O-Z)
  22.  
  23.  
  24. -INC PPARAM
  25. -INC CCOPTIO
  26. -INC SMMODEL
  27. POINTEUR nomid1.nomid
  28.  
  29. IPNOMC = 0
  30. NBROBL = 0
  31. NBRFAC = 0
  32. NOMID = 0
  33.  
  34. IMODEL = IPMODL
  35.  
  36. MELE = imodel.NEFMOD
  37. MFR = NUMMFR(MELE)
  38. IF (imodel.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.  
  44. C Recuperation du NOMID des composantes primales
  45. NOMID1=IMODEL.LNOMID(1)
  46. nbrobl=NOMID1.LESOBL(/2)
  47. nbrfac=NOMID1.LESFAC(/2)
  48. segini,NOMID
  49. do io = 1,nbrobl
  50. LESOBL(io)='S'//NOMID1.LESOBL(io)(1:3)
  51. enddo
  52. do io = 1,nbrfac
  53. LESFAC(io)='S'//NOMID1.LESFAC(io)(1:3)
  54. enddo
  55.  
  56. IPNOMC=NOMID
  57.  
  58. RETURN
  59. endif
  60. ENDDO
  61. ENDIF
  62.  
  63. IF (FORMOD(1).EQ.'ELECTROSTATIQUE') MFR = 71
  64. IF (FORMOD(1).EQ.'DIFFUSION' ) MFR = 73
  65. IF (FORMOD(1).EQ.'CHARGEMENT' ) MFR = 81
  66.  
  67. NFOR = imodel.FORMOD(/2)
  68. CALL PLACE(FORMOD,NFOR,ITHHY,'THERMOHYDRIQUE')
  69. CALL PLACE(FORMOD,NFOR,ITHER,'THERMIQUE')
  70. CALL PLACE(FORMOD,NFOR,IMAGN,'MAGNETODYNAMIQUE')
  71. CALL PLACE(FORMOD,NFOR,IMETA,'METALLURGIE')
  72. mfr2 = 0
  73. IF (ITHHY.eq.1) mfr2=65
  74. IF (ITHER.eq.1) mfr2=29
  75. IF (IMAGN.eq.1) mfr2=69
  76. IF (IMETA.eq.1) mfr2=29
  77. IF (mfr2 .ne.0) goto 100
  78.  
  79. C Coque integree ou pas ?
  80. NPINT=0
  81. IF (INFMOD(/1).NE.0) NPINT=INFMOD(1)
  82. *
  83. * -1/ MACRO ELEMENT
  84. *
  85. IF (MFR.EQ.61)THEN
  86. C
  87. IF (IFOU.EQ.-1.OR.IFOU.EQ.-2) THEN
  88. *
  89. * 0-A/ CONTRAINTES PLANES - DEFORMATIONS PLANES
  90. *
  91. NBROBL=5
  92. SEGINI NOMID
  93. LESOBL(1)='SMN1'
  94. LESOBL(2)='MOM1'
  95. LESOBL(3)='SMSN'
  96. LESOBL(4)='SMN2'
  97. LESOBL(5)='MOM2'
  98. ENDIF
  99. c
  100. c element coaxial COS2 (3D pour liaison acier-beton)
  101. c
  102. ELSE IF ( MFR.EQ.78) then
  103. NBROBL=3
  104. SEGINI, NOMID
  105. LESOBL(1)='STRT'
  106. LESOBL(2)='STRN'
  107. LESOBL(3)='STRM'
  108. C 1 - Element JOINT
  109. C ===================
  110. ELSE IF (MFR.EQ.35) THEN
  111. C =====
  112. C 1.1 - Tridimensionnel
  113. C =====
  114. IF (IFOU.EQ.2) THEN
  115. NBROBL=3
  116. SEGINI,NOMID
  117. LESOBL(1)='SMS1'
  118. LESOBL(2)='SMS2'
  119. LESOBL(3)='SMN '
  120. C =====
  121. C 1.2 - Bidimensionnel PLAN (CP/DP/DPGE) et Axisymetrie
  122. C =====
  123. ELSE IF ((IFOU.EQ.-3).OR.(IFOU.EQ.-2).OR.(IFOU.EQ.-1).OR.
  124. . (IFOU.EQ.0)) THEN
  125. NBROBL=2
  126. SEGINI,NOMID
  127. LESOBL(1)='SMSN'
  128. LESOBL(2)='SMN '
  129. ENDIF
  130.  
  131. C 2 - Element JOINT CISAILLEMENT (2D)
  132. C Bidimensionnel PLAN (CP/DP/DPGE)
  133. C ======================================
  134. ELSE IF (MFR.EQ.53) THEN
  135. IF ((IFOU.EQ.-3).OR.(IFOU.EQ.-2).OR.(IFOU.EQ.-1)) THEN
  136. NBROBL=2
  137. SEGINI,NOMID
  138. LESOBL(1)='SMS1'
  139. LESOBL(2)='SMS2'
  140. ENDIF
  141.  
  142. C 3 - Element JOINT GENERALISE
  143. C ==============================
  144. ELSE IF (MFR.EQ.55) THEN
  145. C =====
  146. C 3.1 - Bidimensionnel PLAN (CP/DP/DPGE)
  147. C =====
  148. IF ((IFOU.EQ.-3).OR.(IFOU.EQ.-2).OR.(IFOU.EQ.-1)) THEN
  149. NBROBL=4
  150. SEGINI,NOMID
  151. LESOBL(1)='SMSN'
  152. LESOBL(2)='SMN '
  153. LESOBL(3)='SETT'
  154. LESOBL(4)='SEZZ'
  155. C =====
  156. C 3.2 - Tridimensionnel
  157. C =====
  158. ELSE IF (IFOU.EQ.2) THEN
  159. NBROBL=6
  160. SEGINI,NOMID
  161. LESOBL(1)='SMS1'
  162. LESOBL(2)='SMS2'
  163. LESOBL(3)='SMN '
  164. LESOBL(4)='SETT'
  165. LESOBL(5)='SEUU'
  166. LESOBL(6)='SETU'
  167. ENDIF
  168.  
  169. C 4 - Elements MASSIFS et xfem, Navier_Stokes
  170. C ======================
  171. ELSE IF (MFR.EQ.1.OR.MFR.EQ.31.or.MFR.eq.63.or.MFR.eq.52) THEN
  172. C =====
  173. C 4.1 - Bidimensionnel PLAN (CP/DP/DPGE)
  174. C =====
  175. IF (IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  176. NBROBL=4
  177. SEGINI,NOMID
  178. LESOBL(1)='SMXX'
  179. LESOBL(2)='SMYY'
  180. LESOBL(3)='SMZZ'
  181. LESOBL(4)='SMXY'
  182. C =====
  183. C 4.2 - Axisymetrie
  184. C =====
  185. ELSE IF (IFOU.EQ.0) THEN
  186. NBROBL=4
  187. SEGINI,NOMID
  188. LESOBL(1)='SMRR'
  189. LESOBL(2)='SMZZ'
  190. LESOBL(3)='SMTT'
  191. LESOBL(4)='SMRZ'
  192. C =====
  193. C 4.3 - Fourier
  194. C =====
  195. ELSE IF (IFOU.EQ.1) THEN
  196. NBROBL=6
  197. SEGINI,NOMID
  198. LESOBL(1)='SMRR'
  199. LESOBL(2)='SMZZ'
  200. LESOBL(3)='SMTT'
  201. LESOBL(4)='SMRZ'
  202. LESOBL(5)='SMRT'
  203. LESOBL(6)='SMZT'
  204. C =====
  205. C 4.4 - Tridimensionnel
  206. C =====
  207. ELSE IF (IFOU.EQ.2) THEN
  208. NBROBL=6
  209. SEGINI,NOMID
  210. LESOBL(1)='SMXX'
  211. LESOBL(2)='SMYY'
  212. LESOBL(3)='SMZZ'
  213. LESOBL(4)='SMXY'
  214. LESOBL(5)='SMXZ'
  215. LESOBL(6)='SMYZ'
  216. C =====
  217. C 4.5 - Unidimensionnel (1D)
  218. C =====
  219. ELSE IF (IFOU.GE.3.AND.IFOU.LE.15.AND.MFR.EQ.1) THEN
  220. NBROBL=3
  221. SEGINI,NOMID
  222. IF (IFOU.LE.11) THEN
  223. LESOBL(1)='SMXX'
  224. LESOBL(2)='SMYY'
  225. LESOBL(3)='SMZZ'
  226. ELSE IF (IFOU.GE.12.AND.IFOU.LE.14) THEN
  227. LESOBL(1)='SMRR'
  228. LESOBL(2)='SMZZ'
  229. LESOBL(3)='SMTT'
  230. ELSE IF (IFOU.EQ.15) THEN
  231. LESOBL(1)='SMRR'
  232. C Voir TC pour LESOBL(2)='SMFF' ou 'SMPP'
  233. LESOBL(2)='SMZZ'
  234. LESOBL(3)='SMTT'
  235. ENDIF
  236. ENDIF
  237.  
  238. C 5 - Elements COQUES
  239. C =====================
  240. ELSE IF (MFR.EQ.3.OR.MFR.EQ.39) THEN
  241. IF (NPINT.EQ.0)THEN
  242. C =====
  243. C 5.1 - Tridimensionnel et Fourier
  244. C =====
  245. IF (IFOU.EQ.2.OR.IFOU.EQ.1) THEN
  246. NBROBL=6
  247. SEGINI,NOMID
  248. LESOBL(1)='N11 '
  249. LESOBL(2)='N22 '
  250. LESOBL(3)='N12 '
  251. LESOBL(4)='M11 '
  252. LESOBL(5)='M22 '
  253. LESOBL(6)='M12 '
  254. C =====
  255. C 5.2 - Axisymetrie
  256. C =====
  257. ELSE IF (IFOU.EQ.0) THEN
  258. NBROBL=4
  259. SEGINI,NOMID
  260. LESOBL(1)='N11 '
  261. LESOBL(2)='N22 '
  262. LESOBL(3)='M11 '
  263. LESOBL(4)='M22 '
  264. C =====
  265. C 5.3 - Bidimensionnel PLAN (CP/DP/DPGE)
  266. C =====
  267. ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
  268. NBROBL=4
  269. SEGINI,NOMID
  270. LESOBL(1)='N11 '
  271. LESOBL(2)='NZZ '
  272. LESOBL(3)='M11 '
  273. LESOBL(4)='MZZ '
  274. ENDIF
  275. ELSE
  276. C =====
  277. C 5.4 - Tridimensionnel - Cas particulier
  278. C =====
  279. IF (MFR.EQ.3.AND.IFOU.EQ.2) THEN
  280. NBROBL=4
  281. SEGINI,NOMID
  282. LESOBL(1)='SMSS'
  283. LESOBL(2)='SMTT'
  284. LESOBL(3)='SMNN'
  285. LESOBL(4)='SMST'
  286. ENDIF
  287. ENDIF
  288.  
  289. C 6 - Elements de COQUE EPAISSE
  290. C Tridimensionnel, axisymetrie et Fourier
  291. C =============================================
  292. ELSE IF (MFR.EQ.5) THEN
  293. NBROBL=5
  294. SEGINI,NOMID
  295. LESOBL(1)='SMSS'
  296. LESOBL(2)='SMTT'
  297. LESOBL(3)='SMST'
  298. LESOBL(4)='SMSN'
  299. LESOBL(5)='SMTN'
  300.  
  301. C 7 - LIA2 et JOI1: Element 3D de liaison a 2 noeuds
  302. C =============================================
  303. ELSE IF (MFR.EQ.51.OR.MFR.EQ.75) THEN
  304. IF (IFOU.EQ.2) THEN
  305. NBROBL=6
  306. SEGINI,NOMID
  307. LESOBL(1)='EFFX'
  308. LESOBL(2)='EFFY'
  309. LESOBL(3)='EFFZ'
  310. LESOBL(4)='MOMX'
  311. LESOBL(5)='MOMY'
  312. LESOBL(6)='MOMZ'
  313. ELSE IF (IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  314. NBROBL=3
  315. SEGINI,NOMID
  316. LESOBL(1)='EFFX'
  317. LESOBL(2)='EFFY'
  318. LESOBL(3)='MOMZ'
  319. ENDIF
  320.  
  321. C 8 - BAEX : BARRE EXCENTREE
  322. C ============================
  323. ELSE IF (MFR.EQ.49) THEN
  324. NBROBL=1
  325. SEGINI,NOMID
  326. LESOBL(1)='EFFX'
  327.  
  328. C 9 - Elements POUTRE et TUYAU
  329. C ==============================
  330. ELSE IF (MFR.EQ.7.OR.MFR.EQ.13) THEN
  331. C =====
  332. C 9.1 - Tridimensionnel
  333. C =====
  334. IF (IFOU.EQ.2) THEN
  335. NBROBL=6
  336. SEGINI,NOMID
  337. LESOBL(1)='EFFX'
  338. LESOBL(2)='EFFY'
  339. LESOBL(3)='EFFZ'
  340. LESOBL(4)='MOMX'
  341. LESOBL(5)='MOMY'
  342. LESOBL(6)='MOMZ'
  343. C =====
  344. C 9.2 - Bidimensionnel PLAN (CP/DP/DPGE)
  345. C =====
  346. ELSE IF (IFOU.EQ.-3.OR.IFOU.EQ.-2.OR.IFOU.EQ.-1) THEN
  347. NBROBL=3
  348. SEGINI,NOMID
  349. LESOBL(1)='EFFX'
  350. LESOBL(2)='EFFY'
  351. LESOBL(3)='MOMZ'
  352. ENDIF
  353.  
  354. C 10 - Element de COQUE en CISAILLEMENT TRANSVERSE
  355. C ==================================================
  356. ELSE IF (MFR.EQ.9) THEN
  357. IF (NPINT.EQ.0) THEN
  358. C ======
  359. C 10.1 - Tridimensionnel
  360. C ======
  361. IF (IFOU.EQ.2) THEN
  362. NBROBL=8
  363. SEGINI,NOMID
  364. LESOBL(1)='N11 '
  365. LESOBL(2)='N22 '
  366. LESOBL(3)='N12 '
  367. LESOBL(4)='M11 '
  368. LESOBL(5)='M22 '
  369. LESOBL(6)='M12 '
  370. LESOBL(7)='V1 '
  371. LESOBL(8)='V2 '
  372. ENDIF
  373. ENDIF
  374.  
  375. C 11 - Elements LINESPRING (tridimensionnel)
  376. C ============================================
  377. ELSE IF (MFR.EQ.15) THEN
  378. IF (IFOU.EQ.2) THEN
  379. NBROBL=6
  380. SEGINI,NOMID
  381. LESOBL(1)='NZZ '
  382. LESOBL(2)='NXZ '
  383. LESOBL(3)='NYZ '
  384. LESOBL(4)='MXX '
  385. LESOBL(5)='MZZ '
  386. LESOBL(6)='KI '
  387. ENDIF
  388.  
  389. C 12 - Elements de MEMBRANE
  390. C ===========================
  391. ELSE IF (MFR.EQ.25) THEN
  392. NBROBL=3
  393. SEGINI,NOMID
  394. LESOBL(1)='SMSS'
  395. LESOBL(2)='SMTT'
  396. LESOBL(3)='SMST'
  397.  
  398. C 13 - Formulation UNIAXIALE
  399. C =============================
  400. ELSE IF (MFR.EQ.27) THEN
  401. NBROBL=1
  402. MFR2 = infele(13)
  403. if (mfr2.eq.26) then
  404. NBRFAC = 1
  405. else if (mfr2.eq.28) then
  406. NBROBL=2
  407. endif
  408. SEGINI,NOMID
  409. LESOBL(1)='EFFX'
  410. if (mfr2.eq.26) then
  411. LESFAC(1) = 'FMOD'
  412. else if (mfr2.eq.28) then
  413. LESOBL(2) = 'FMOD'
  414. endif
  415.  
  416. C 14 - Formulation THERMIQUE
  417. C ============================
  418. ELSE IF (MFR.EQ.29) THEN
  419. C ======
  420. C 14.1 - Tridimensionnel
  421. C ======
  422. IF (IFOU.EQ.2) THEN
  423. NBROBL=3
  424. SEGINI,NOMID
  425. LESOBL(1)='FLUX'
  426. LESOBL(2)='FLUY'
  427. LESOBL(3)='FLUZ'
  428. C ======
  429. C 14.2 - Bidimensionnel PLAN (CP/DP/DPGE)
  430. C ======
  431. ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
  432. NBROBL=2
  433. SEGINI,NOMID
  434. LESOBL(1)='FLUX'
  435. LESOBL(2)='FLUY'
  436. C ======
  437. C 14.3 - Axisymetrie et Fourier
  438. C ======
  439. ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN
  440. NBROBL=2
  441. SEGINI,NOMID
  442. LESOBL(1)='FLUX'
  443. LESOBL(2)='FLUY'
  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)='FLUX'
  452. C*OF ELSE
  453. C*OF LESOBL(1)='FLUR'
  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)='SMXX'
  471. LESOBL(2)='SMYY'
  472. LESOBL(3)='SMZZ'
  473. LESOBL(4)='SMXY'
  474. LESOBL(5)='MSR0'
  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)='SMRR'
  482. LESOBL(2)='SMZZ'
  483. LESOBL(3)='SMTT'
  484. LESOBL(4)='SMRZ'
  485. LESOBL(5)='MSR0'
  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)='SMRR'
  493. LESOBL(2)='SMZZ'
  494. LESOBL(3)='SMTT'
  495. LESOBL(4)='SMRZ'
  496. LESOBL(5)='SMRT'
  497. LESOBL(6)='SMZT'
  498. LESOBL(7)='MSR0'
  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)='SMXX'
  506. LESOBL(2)='SMYY'
  507. LESOBL(3)='SMZZ'
  508. LESOBL(4)='SMXY'
  509. LESOBL(5)='SMXZ'
  510. LESOBL(6)='SMYZ'
  511. LESOBL(7)='MSR0'
  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)='SMS1'
  524. LESOBL(2)='SMS2'
  525. LESOBL(3)='SMN '
  526. LESOBL(4)='MSR0'
  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)='SMSN'
  534. LESOBL(2)='SMN '
  535. LESOBL(3)='MSR0'
  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)='SMXX'
  553. LESOBL(2)='SMYY'
  554. LESOBL(3)='SMZZ'
  555. LESOBL(4)='SMXY'
  556. LESOBL(5)='MSR0'
  557. LESOBL(6)='MSRQ'
  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)='SMRR'
  565. LESOBL(2)='SMZZ'
  566. LESOBL(3)='SMTT'
  567. LESOBL(4)='SMRZ'
  568. LESOBL(5)='MSR0'
  569. LESOBL(6)='MSRQ'
  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)='SMRR'
  577. LESOBL(2)='SMZZ'
  578. LESOBL(3)='SMTT'
  579. LESOBL(4)='SMRZ'
  580. LESOBL(5)='SMRT'
  581. LESOBL(6)='SMZT'
  582. LESOBL(7)='MSR0'
  583. LESOBL(8)='MSRQ'
  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)='SMXX'
  591. LESOBL(2)='SMYY'
  592. LESOBL(3)='SMZZ'
  593. LESOBL(4)='SMXY'
  594. LESOBL(5)='SMXZ'
  595. LESOBL(6)='SMYZ'
  596. LESOBL(7)='MSR0'
  597. LESOBL(8)='MSRQ'
  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)='SMS1'
  610. LESOBL(2)='SMS2'
  611. LESOBL(3)='SMN '
  612. LESOBL(4)='MSR0'
  613. LESOBL(5)='MSRQ'
  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)='SMSN'
  621. LESOBL(2)='SMN '
  622. LESOBL(3)='MSR0'
  623. LESOBL(4)='MSRQ'
  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)='SMXX'
  641. LESOBL(2)='SMYY'
  642. LESOBL(3)='SMZZ'
  643. LESOBL(4)='SMXY'
  644. LESOBL(5)='MSR0'
  645. LESOBL(6)='MSRQ'
  646. LESOBL(7)='TREN'
  647. ELSE IF (IFOU.EQ.0) THEN
  648. C ========
  649. C 17.A.2 - Axisymetrie
  650. C ========
  651. NBROBL=7
  652. SEGINI,NOMID
  653. LESOBL(1)='SMRR'
  654. LESOBL(2)='SMZZ'
  655. LESOBL(3)='SMTT'
  656. LESOBL(4)='SMRZ'
  657. LESOBL(5)='MSR0'
  658. LESOBL(6)='MSRQ'
  659. LESOBL(7)='TREN'
  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)='SMRR'
  667. LESOBL(2)='SMZZ'
  668. LESOBL(3)='SMTT'
  669. LESOBL(4)='SMRZ'
  670. LESOBL(5)='SMRT'
  671. LESOBL(6)='SMZT'
  672. LESOBL(7)='MSR0'
  673. LESOBL(8)='MSRQ'
  674. LESOBL(9)='TREN'
  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)='SMXX'
  682. LESOBL(2)='SMYY'
  683. LESOBL(3)='SMZZ'
  684. LESOBL(4)='SMXY'
  685. LESOBL(5)='SMXZ'
  686. LESOBL(6)='SMYZ'
  687. LESOBL(7)='MSR0'
  688. LESOBL(8)='MSRQ'
  689. LESOBL(9)='TREN'
  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)='SMS1'
  702. LESOBL(2)='SMS2'
  703. LESOBL(3)='SMN '
  704. LESOBL(4)='MSR0'
  705. LESOBL(5)='MSRQ'
  706. LESOBL(6)='TREN'
  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)='SMSN'
  714. LESOBL(2)='SMN '
  715. LESOBL(3)='MSR0'
  716. LESOBL(4)='MSRQ'
  717. LESOBL(5)='TREN'
  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)='EFFX'
  728. LESOBL(2)='EFFY'
  729. LESOBL(3)='EFFZ'
  730. LESOBL(4)='MOMX'
  731. LESOBL(5)='MOMY'
  732. LESOBL(6)='MOMZ'
  733. LESOBL(7)='KI '
  734. LESOBL(8)='AIRE'
  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)='SMXX'
  747. LESOBL(2)='SMXY'
  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)='SMXX'
  755. LESOBL(2)='SMXY'
  756. LESOBL(3)='SMXZ'
  757. ENDIF
  758.  
  759. C
  760. C 20 - Elements de zones cohesives
  761. C ==================================
  762. ELSE IF (MFR.EQ.77) THEN
  763. C =====
  764. C 20.1 - Tridimensionnel
  765. C =====
  766. IF (IFOU.EQ.2) THEN
  767. NBROBL=3
  768. SEGINI,NOMID
  769. LESOBL(1)='SMS1'
  770. LESOBL(2)='SMS2'
  771. LESOBL(3)='SMN '
  772. C =====
  773. C 20.2 - Bidimensionnel PLAN (CP/DP/DPGE) et Axisymetrie
  774. C =====
  775. ELSE IF ((IFOU.EQ.-3).OR.(IFOU.EQ.-2).OR.(IFOU.EQ.-1).OR.
  776. . (IFOU.EQ.0)) THEN
  777. NBROBL=2
  778. SEGINI,NOMID
  779. LESOBL(1)='SMSN'
  780. LESOBL(2)='SMN '
  781. ENDIF
  782.  
  783.  
  784. C 21 - Formulation ELECTROSTATIQUE (base MASSIF)
  785. C ==================================
  786. ELSE IF (MFR.EQ.71) THEN
  787. C ======
  788. C 21.1 - Tridimensionnel
  789. C ======
  790. IF (IFOU.EQ.2) THEN
  791. NBROBL=3
  792. SEGINI,NOMID
  793. LESOBL(1)='DELX '
  794. LESOBL(2)='DELY '
  795. LESOBL(3)='DELZ '
  796. C ======
  797. C 21.2 - Bidimensionnel PLAN (CP/DP/DPGE)
  798. C ======
  799. ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
  800. NBROBL=2
  801. SEGINI,NOMID
  802. LESOBL(1)='DELX '
  803. LESOBL(2)='DELY '
  804. C ======
  805. C 21.3 - Axisymetrie et Fourier
  806. C ======
  807. ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN
  808. NBROBL=2
  809. SEGINI,NOMID
  810. LESOBL(1)='DELR '
  811. LESOBL(2)='DELZ '
  812. C ======
  813. C 21.4 - Unidimensionnel (1D)
  814. C ======
  815. ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN
  816. NBROBL=1
  817. SEGINI,NOMID
  818. IF (IFOU.LE.11) THEN
  819. LESOBL(1)='DELX '
  820. ELSE
  821. LESOBL(1)='DELR '
  822. ENDIF
  823. ENDIF
  824.  
  825. C 22 - Formulation DIFFUSION (base MASSIF)
  826. C ============================
  827. ELSE IF (MFR.EQ.73) THEN
  828.  
  829. C ======
  830. C 22.0 - BARRE
  831. C ======
  832. IF(MELE.EQ.46) THEN
  833. NBROBL=1
  834. SEGINI,NOMID
  835. LESOBL(1)='FS '
  836. ELSE
  837. C ======
  838. C 22.1 - Tridimensionnel
  839. C ======
  840. IF (IFOU.EQ.2) THEN
  841. NBROBL=3
  842. SEGINI,NOMID
  843. LESOBL(1)='FX '
  844. LESOBL(2)='FY '
  845. LESOBL(3)='FZ '
  846. C ======
  847. C 22.2 - Bidimensionnel PLAN (CP/DP/DPGE)
  848. C ======
  849. ELSE IF (IFOU.EQ.-1.OR.IFOU.EQ.-2.OR.IFOU.EQ.-3) THEN
  850. NBROBL=2
  851. SEGINI,NOMID
  852. LESOBL(1)='FX '
  853. LESOBL(2)='FY '
  854. C ======
  855. C 22.3 - Axisymetrie et Fourier
  856. C ======
  857. ELSE IF (IFOU.EQ.1.OR.IFOU.EQ.0) THEN
  858. NBROBL=2
  859. SEGINI,NOMID
  860. LESOBL(1)='FR '
  861. LESOBL(2)='FZ '
  862. C ======
  863. C 22.4 - Unidimensionnel (1D)
  864. C ======
  865. ELSE IF (IFOU.GE.3.AND.IFOU.LE.15) THEN
  866. NBROBL=1
  867. SEGINI,NOMID
  868. IF (IFOU.LE.11) THEN
  869. LESOBL(1)='FX '
  870. ELSE
  871. LESOBL(1)='FR '
  872. ENDIF
  873. ENDIF
  874. ENDIF
  875.  
  876. C* Ajout du nom de l'INCOnnue (DDL) contenu dans TYMODE(1)
  877. DO i = 1, NBROBL
  878. LESOBL(i)(3:8) = imodel.TYMODE(1)(1:6)
  879. ENDDO
  880.  
  881. C 23 - Formulation CHARGEMENT PRESSION
  882. C =====================================
  883. ELSE IF (MFR.EQ.81) THEN
  884. NBROBL=1
  885. SEGINI,NOMID
  886. LESOBL(1)='PRES'
  887. ENDIF
  888.  
  889. C Par DEFAUT : segment VIDE
  890. C ===========================
  891. 100 CONTINUE
  892.  
  893. IF (NOMID.EQ.0) THEN
  894. SEGINI,NOMID
  895. ELSE
  896. if (ifomod.eq.6) then
  897. nbrfa0 = nbrfac
  898. NBRFAC = NBROBL + nbrfa0
  899. if (mfr2.eq.28.or.mfr2.eq.26) NBRFAC = nbrfa0 + 1
  900. segadj nomid
  901. if (mfr2.eq.28.or.mfr2.eq.26) then
  902. lesfac(nbrfa0 +1) = 'IFFX'
  903. else
  904. do imo = 1,nbrobl
  905. lesfac(nbrfa0 + imo)(2:4) = lesobl(imo)(2:4)
  906. lesfac(nbrfa0 + imo)(1:1) = 'I'
  907. enddo
  908. endif
  909. endif
  910. ENDIF
  911.  
  912. IPNOMC=NOMID
  913.  
  914. RETURN
  915. END
  916.  
  917.  
  918.  

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