Télécharger idcont.eso

Retour à la liste

Numérotation des lignes :

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

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