Télécharger idcont.eso

Retour à la liste

Numérotation des lignes :

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

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