Télécharger idcont.eso

Retour à la liste

Numérotation des lignes :

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

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