Télécharger idcont.eso

Retour à la liste

Numérotation des lignes :

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

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