Télécharger idmatr.eso

Retour à la liste

Numérotation des lignes :

idmatr
  1. C IDMATR SOURCE OF166741 26/02/23 21:15:15 12480
  2. *--------------------------------------------------------------------*
  3. * Noms de composantes de materiaux *
  4. *--------------------------------------------------------------------*
  5. * *
  6. * ENTREES: *
  7. * MFR Numero de formulation *
  8. * IPMODL objet modele elementaire ( segment actif ) *
  9. * *
  10. * SORTIES: *
  11. * IPNOMC pointeur sur les listes de noms de composantes *
  12. * obligatoires et facultatives *
  13. * NBROBL nombre de composantes obligatoires *
  14. * NBRFAC nombre de composantes facultatives *
  15. * *
  16. * *
  17. * Remarque : Voir INOMID ou CCOPTIO pour signification IFOUR *
  18. *--------------------------------------------------------------------*
  19. C
  20. SUBROUTINE IDMATR(MFR,IPMODL,IPNOMC,NBROBL,NBRFAC)
  21. C
  22. IMPLICIT INTEGER(I-N)
  23. IMPLICIT REAL*8(A-H,O-Z)
  24. C
  25. -INC PPARAM
  26. -INC CCOPTIO
  27. C==DEB= FORMULATION HHO == Include specifique ==========================
  28. -INC CCHHOPA
  29. C==FIN= FORMULATION HHO ================================================
  30. C
  31. -INC SMLMOTS
  32. -INC SMMODEL
  33. POINTEUR NOMID1.NOMID
  34.  
  35. ******Modif SELLIER ****************************************************
  36. * augmentation nombre de caracteristiques
  37. PARAMETER (ITA=500)
  38. CHARACTER*16 MOMODL(500)
  39. c nombre de variables et de parametres par variables
  40. c include './nombre_helmholtz.h'
  41. -INC HNBRHEL
  42. CHARACTER*1 motnl1,motnlv1,motnld1,motnla1
  43. CHARACTER*2 motnl2
  44. CHARACTER*3 motnl3
  45. CHARACTER*4 motnl4
  46. ******fin modif SELLIER ************************************************
  47.  
  48. CHARACTER*(LOCOMP) TABOBL(ITA),TABFAC(ITA)
  49. LOGICAL bDARCY
  50.  
  51. IMODEL=IPMODL
  52. NOMID =IMODEL.LNOMID(6)
  53. C
  54. C Ne pas recreer le NOMID si deja present
  55. IF (NOMID.NE.0) THEN
  56. NBROBL=LESOBL(/2)
  57. NBRFAC=LESFAC(/2)
  58. IPNOMC=NOMID
  59. RETURN
  60. ENDIF
  61. C
  62. JGOBL=0
  63. JGFAC=0
  64. IPNOMC=0
  65. IRET = 1
  66. C
  67. NMAT=MATMOD(/2)
  68. NFOR=FORMOD(/2)
  69. MELE=NEFMOD
  70. MFR2=NUMFOR(IMODEL)
  71. C
  72. C =================================================================
  73. C FORMULATION THERMOHYDRIQUE
  74. C =================================================================
  75. IF (MFR2.EQ.65) THEN
  76. C
  77. IF (CMATEE.EQ.'SCHREFLE') THEN
  78. JGOBL = 20
  79. TABOBL(1)='KGG'
  80. TABOBL(2)='KGC'
  81. TABOBL(3)='KGT'
  82. TABOBL(4)='KCG'
  83. TABOBL(5)='KCC'
  84. TABOBL(6)='KCT'
  85. TABOBL(7)='KTG'
  86. TABOBL(8)='KTC'
  87. TABOBL(9)='KTT'
  88. TABOBL(10)='CGG'
  89. TABOBL(11)='CGC'
  90. TABOBL(12)='CGT'
  91. TABOBL(13)='CCG'
  92. TABOBL(14)='CCC'
  93. TABOBL(15)='CCT'
  94. TABOBL(16)='CTG'
  95. TABOBL(17)='CTC'
  96. TABOBL(18)='CTT'
  97. TABOBL(19)='KTGG'
  98. TABOBL(20)='KTCG'
  99. ELSEIF (CMATEE.EQ.'BETON_TH') THEN
  100. JGOBL = 44
  101. TABOBL(1)='KGG'
  102. TABOBL(2)='KGC'
  103. TABOBL(3)='KGT'
  104. TABOBL(4)='KCG'
  105. TABOBL(5)='KCC'
  106. TABOBL(6)='KCT'
  107. TABOBL(7)='KTG'
  108. TABOBL(8)='KTC'
  109. TABOBL(9)='KTT'
  110. TABOBL(10)='CGG'
  111. TABOBL(11)='CGC'
  112. TABOBL(12)='CGT'
  113. TABOBL(13)='CCG'
  114. TABOBL(14)='CCC'
  115. TABOBL(15)='CCT'
  116. TABOBL(16)='CTG'
  117. TABOBL(17)='CTC'
  118. TABOBL(18)='CTT'
  119. TABOBL(19)='KTGG'
  120. TABOBL(20)='KTCG'
  121. TABOBL(21)='CS'
  122. TABOBL(22)='KS'
  123. TABOBL(23)='POR1'
  124. TABOBL(24)='APOR'
  125. TABOBL(25)='VGA'
  126. TABOBL(26)='VGB'
  127. TABOBL(27)='VGC'
  128. TABOBL(28)='GAM0'
  129. TABOBL(29)='K1'
  130. TABOBL(30)='AK'
  131. TABOBL(31)='BK'
  132. TABOBL(32)='KLI1'
  133. TABOBL(33)='AKLI'
  134. TABOBL(34)='BKLI'
  135. TABOBL(35)='EAR'
  136. TABOBL(36)='QLAT'
  137. TABOBL(37)='AFF1'
  138. TABOBL(38)='AFF2'
  139. TABOBL(39)='AFF3'
  140. TABOBL(40)='AFF4'
  141. TABOBL(41)='WINF'
  142. TABOBL(42)='DHYD'
  143. TABOBL(43)='DDCH'
  144. TABOBL(44)='DSWE'
  145. ENDIF
  146. C =================================================================
  147. C FORMULATION THERMIQUE/DARCY
  148. C =================================================================
  149. ELSE IF ((MFR2.EQ.29) .OR. (MFR2.EQ.34)) THEN
  150. C
  151. bDARCY=(MFR2.EQ.34)
  152. C
  153. C MATERIAU THERMIQUE CONDUCTION OU MATERIAU DARCY
  154. C ===============================================
  155. CALL PLACE(MATMOD,NMAT,ICONDU,'CONDUCTION')
  156. IF (ICONDU.NE.0.OR.bDARCY) THEN
  157. IF (MFR.EQ.75) THEN
  158. JGFAC = 4
  159. TABFAC(1)='M'
  160. TABFAC(2)='C'
  161. TABFAC(3)='TINI'
  162. ELSE
  163. JGFAC = 4
  164. TABFAC(1)='RHO '
  165. TABFAC(2)='C '
  166. TABFAC(3)='H '
  167. TABFAC(4)='TINI'
  168. ENDIF
  169. C
  170. C Isotrope
  171. IF (IMATEE.EQ.1) THEN
  172. JGOBL = 1
  173. IF(MFR .EQ. 75)THEN
  174. TABOBL(1)='KT'
  175. ELSE
  176. TABOBL(1)='K '
  177. ENDIF
  178. C
  179. C Orthotrope
  180. ELSEIF (IMATEE.EQ.2) THEN
  181. IF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  182. JGOBL=5
  183. TABOBL(1)='K1 '
  184. TABOBL(2)='K2 '
  185. TABOBL(3)='K3 '
  186. TABOBL(4)='V1X '
  187. TABOBL(5)='V1Y '
  188. ELSEIF (MFR.EQ.1.OR.MFR.EQ.45) THEN
  189. IF (IDIM.EQ.2) THEN
  190. IF (IFOMOD.EQ.1) THEN
  191. JGOBL=5
  192. TABOBL(1)='K1 '
  193. TABOBL(2)='K2 '
  194. TABOBL(3)='V1X '
  195. TABOBL(4)='V1Y '
  196. TABOBL(5)='K3 '
  197. ELSE
  198. JGOBL=4
  199. TABOBL(1)='K1 '
  200. TABOBL(2)='K2 '
  201. TABOBL(3)='V1X '
  202. TABOBL(4)='V1Y '
  203. ENDIF
  204. ELSEIF (IDIM.EQ.3) THEN
  205. JGOBL=9
  206. TABOBL(1)='K1 '
  207. TABOBL(2)='K2 '
  208. TABOBL(3)='K3 '
  209. TABOBL(4)='V1X '
  210. TABOBL(5)='V1Y '
  211. TABOBL(6)='V1Z '
  212. TABOBL(7)='V2X '
  213. TABOBL(8)='V2Y '
  214. TABOBL(9)='V2Z '
  215. ENDIF
  216. ENDIF
  217. C
  218. C Anisotrope
  219. ELSEIF (IMATEE.EQ.3) THEN
  220. IF (MFR.EQ.1.OR.MFR.EQ.45) THEN
  221. IF (IDIM.EQ.2) THEN
  222. IF (IFOMOD.EQ.1) THEN
  223. JGOBL=6
  224. TABOBL(1)='K11 '
  225. TABOBL(2)='K22 '
  226. TABOBL(3)='K21 '
  227. TABOBL(4)='V1X '
  228. TABOBL(5)='V1Y '
  229. TABOBL(6)='K33 '
  230. ELSE
  231. JGOBL=5
  232. TABOBL(1)='K11 '
  233. TABOBL(2)='K22 '
  234. TABOBL(3)='K21 '
  235. TABOBL(4)='V1X '
  236. TABOBL(5)='V1Y '
  237. ENDIF
  238. ELSEIF (IDIM.EQ.3) THEN
  239. JGOBL=12
  240. TABOBL(1)='K11 '
  241. TABOBL(2)='K22 '
  242. TABOBL(3)='K33 '
  243. TABOBL(4)='K21 '
  244. TABOBL(5)='K31 '
  245. TABOBL(6)='K32 '
  246. TABOBL(7)='V1X '
  247. TABOBL(8)='V1Y '
  248. TABOBL(9)='V1Z '
  249. TABOBL(10)='V2X '
  250. TABOBL(11)='V2Y '
  251. TABOBL(12)='V2Z '
  252. ENDIF
  253. ENDIF
  254. ENDIF
  255. ENDIF
  256. C
  257. IF (bDARCY) GOTO 9999
  258. C
  259. C ===============================================================
  260. C MATERIAU THERMIQUE PHASE
  261. C ===============================================================
  262. CALL PLACE(MATMOD,NMAT,IPHA,'PHASE')
  263. IF (IPHA.NE.0) THEN
  264. JGOBL0 = JGOBL
  265. JGOBL = JGOBL0+4
  266. TABOBL(JGOBL0+1)='RHO '
  267. TABOBL(JGOBL0+2)='C '
  268. TABOBL(JGOBL0+3)='QLAT'
  269. TABOBL(JGOBL0+4)='TPHA'
  270.  
  271. JGFAC=1
  272. TABFAC(1)='H '
  273. ENDIF
  274. C ===============================================================
  275. C MATERIAU THERMIQUE CONVECTION
  276. C ===============================================================
  277. IF (CMATEE.EQ.'CONVECTI') THEN
  278. C IF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  279. CC Coques thermiques
  280. C JGOBL =2
  281. C TABOBL(1)='HINF'
  282. C TABOBL(2)='HSUP'
  283. C JGFAC =2
  284. C TABFAC(1)='TCINF'
  285. C TABFAC(2)='TCSUP'
  286. C else
  287. C Elements massifs
  288. JGOBL = 1
  289. TABOBL(1)='H'
  290. JGFAC=1
  291. TABFAC(1)='TC'
  292. C endif
  293. ENDIF
  294. C ===============================================================
  295. C MATERIAU THERMIQUE RAYONNEMENT
  296. C ===============================================================
  297. IF (CMATEE.EQ.'RAYONNEM') THEN
  298. C
  299. C RAYONNEMENT en CAVITE
  300. IF (IMATEE.EQ.4) THEN
  301. IF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  302. JGOBL=2
  303. TABOBL(1)='EINF'
  304. TABOBL(2)='ESUP'
  305. ELSE
  306. JGOBL=1
  307. TABOBL(1)='EMIS'
  308. ENDIF
  309.  
  310. JGFAC=3
  311. TABFAC(1)='CABS'
  312. TABFAC(2)='TABS'
  313. TABFAC(3)='H'
  314.  
  315. C RAYONNEMENT FACE_A_FACE
  316. ELSEIF (IMATEE.EQ.2) THEN
  317. JGOBL=1
  318. TABOBL(1)='EMIS'
  319. JGFAC = 1
  320. TABFAC(1)='H'
  321.  
  322. C RAYONNEMENT a l'INFINI
  323. ELSEIF (IMATEE.EQ.3) THEN
  324. IF (MFR.EQ.3.OR.MFR.EQ.5.OR.MFR.EQ.9) THEN
  325. JGOBL=3
  326. TABOBL(1)='EINF'
  327. TABOBL(2)='ESUP'
  328. TABOBL(3)='T_IN'
  329. ELSE
  330. JGOBL=2
  331. TABOBL(1)='EMIS'
  332. TABOBL(2)='T_IN'
  333. ENDIF
  334.  
  335. JGFAC = 2
  336. TABFAC(1)='E_IN'
  337. TABFAC(2)='H'
  338. ELSE
  339. IRET = 0
  340. CALL ERREUR(5)
  341. ENDIF
  342. ENDIF
  343. C ===============================================================
  344. C MATERIAU THERMIQUE ADVECTION
  345. C ===============================================================
  346. CALL PLACE(MATMOD,NMAT,IADVE,'ADVECTION')
  347. IF (IADVE.NE.0) THEN
  348. C Cas des Tuyaux 1D (MFR=79)
  349. IF (MFR .EQ. 79) THEN
  350. JGFAC = 3
  351. TABFAC(1)='RHO '
  352. TABFAC(2)='C '
  353. TABFAC(3)='VITE'
  354.  
  355. C Cas Massif (MFR=1)
  356. ELSEIF (MFR.EQ.1) THEN
  357. IF (IFOUR.EQ.-3) THEN
  358. JGFAC = 5
  359. TABFAC(1)='RHO '
  360. TABFAC(2)='C '
  361. TABFAC(3)='VITX'
  362. TABFAC(4)='VITY'
  363. TABFAC(5)='VITZ'
  364. ELSEIF (IFOUR.EQ.-2 .OR. IFOUR.EQ.-1) THEN
  365. JGFAC = 4
  366. TABFAC(1)='RHO '
  367. TABFAC(2)='C '
  368. TABFAC(3)='VITX'
  369. TABFAC(4)='VITY'
  370. ELSEIF (IFOUR .EQ. 0) THEN
  371. JGFAC = 4
  372. TABFAC(1)='RHO '
  373. TABFAC(2)='C '
  374. TABFAC(3)='VITR'
  375. TABFAC(4)='VITZ'
  376. ELSEIF (IFOUR.EQ.1) THEN
  377. CALL ERREUR(21)
  378. RETURN
  379. C JGFAC = 5C
  380. C TABFAC(1)='RHO '
  381. C TABFAC(2)='C '
  382. C TABFAC(3)='VITR'
  383. C TABFAC(4)='VITZ'
  384. C TABFAC(5)='VITT'
  385. ELSEIF (IFOUR.EQ.2) THEN
  386. JGFAC = 5
  387. TABFAC(1)='RHO '
  388. TABFAC(2)='C '
  389. TABFAC(3)='VITX'
  390. TABFAC(4)='VITY'
  391. TABFAC(5)='VITZ'
  392. ELSEIF (IFOUR.GE.3.AND.IFOUR.LE.15) THEN
  393. IF (IFOUR.LE.6) THEN
  394. JGFAC = 3
  395. TABFAC(1)='RHO '
  396. TABFAC(2)='C '
  397. TABFAC(3)='VITX'
  398. ELSEIF (IFOUR.EQ.7.OR.IFOUR.EQ.8) THEN
  399. JGFAC = 4
  400. C Verifier l'utilite des composantes au dela de 4
  401. TABFAC(1)='RHO '
  402. TABFAC(2)='C '
  403. TABFAC(3)='VITX'
  404. TABFAC(4)='VITY'
  405. ELSEIF (IFOUR.EQ.9.OR.IFOUR.EQ.10) THEN
  406. JGFAC = 4
  407. C Verifier l'utilite des composantes au dela de 4
  408. TABFAC(1)='RHO '
  409. TABFAC(2)='C '
  410. TABFAC(3)='VITX'
  411. TABFAC(4)='VITZ'
  412. ELSEIF (IFOUR.EQ.11) THEN
  413. JGFAC = 5
  414. C Verifier l'utilite des composantes au dela de 4
  415. TABFAC(1)='RHO '
  416. TABFAC(2)='C '
  417. TABFAC(3)='VITX'
  418. TABFAC(4)='VITY'
  419. TABFAC(5)='VITZ'
  420. ELSEIF (IFOUR.EQ.12.OR.IFOUR.EQ.13.OR.IFOUR.EQ.15) THEN
  421. JGFAC = 3
  422. TABFAC(1)='RHO '
  423. TABFAC(2)='C '
  424. TABFAC(3)='VITR'
  425. ELSEIF (IFOUR.EQ.14) THEN
  426. JGFAC = 4
  427. C Verifier l'utilite des composantes au dela de 4
  428. TABFAC(1)='RHO '
  429. TABFAC(2)='C '
  430. TABFAC(3)='VITR'
  431. TABFAC(4)='VITZ'
  432. ENDIF
  433. ENDIF
  434. ENDIF
  435. ENDIF
  436. C ===============================================================
  437. C MATERIAU THERMIQUE SOURCE
  438. C ===============================================================
  439. IF (CMATEE.EQ.'SOURCE') THEN
  440. IF (INATUU.EQ.1.AND.IMATEE.EQ.1) THEN
  441. JGOBL = 1
  442. TABOBL(1)='QVOL'
  443. JGFAC = 2
  444. TABFAC(1)='QINF'
  445. TABFAC(2)='QSUP'
  446. ELSEIF (INATUU.EQ.2.AND.IMATEE.EQ.1) THEN
  447. JGOBL = 3
  448. TABOBL(1)='QTOT'
  449. TABOBL(2)='ORIG'
  450. TABOBL(3)='RGAU'
  451. ELSEIF (INATUU.EQ.2.AND.IMATEE.EQ.2) THEN
  452. JGOBL = 5
  453. TABOBL(1)='QTOT'
  454. TABOBL(2)='ORIG'
  455. TABOBL(3)='RGAU'
  456. TABOBL(4)='DIRE'
  457. TABOBL(5)='ZGAU'
  458. ELSEIF (INATUU.EQ.2.AND.IMATEE.EQ.3) THEN
  459. JGOBL = 7
  460. TABOBL(1)='QTOT'
  461. TABOBL(2)='ORIG'
  462. TABOBL(3)='RGAU'
  463. TABOBL(4)='DIRE'
  464. TABOBL(5)='ZGAU'
  465. TABOBL(6)='DIRL'
  466. TABOBL(7)='LGAU'
  467. ELSE
  468. WRITE(6,*) ' Dans IDMATR : numero IMATEE non prevu'
  469. CALL ERREUR(21)
  470. RETURN
  471. ENDIF
  472. ENDIF
  473. C =================================================================
  474. C FORMULATION LIQUIDE/MECANIQUE+LIQUIDE
  475. C =================================================================
  476. ELSE IF ((MFR2.EQ.11) .OR. (MFR2.EQ.44)) THEN
  477. C
  478. IF (MFR.NE.41.AND.MFR.NE.43) THEN
  479. JGOBL = 6
  480. TABOBL(1)='RHO '
  481. TABOBL(2)='CSON'
  482. TABOBL(3)='RORF'
  483. TABOBL(4)='CREF'
  484. TABOBL(5)='LCAR'
  485. TABOBL(6)='G '
  486. ELSEIF (MFR.EQ.41) THEN
  487. JGOBL = 5
  488. TABOBL(1)='RHO '
  489. TABOBL(2)='CSON'
  490. TABOBL(3)='RORF'
  491. TABOBL(4)='CREF'
  492. TABOBL(5)='LCAR'
  493. ELSE
  494. JGOBL = 3
  495. TABOBL(1)='RHO '
  496. TABOBL(2)='LCAR'
  497. TABOBL(3)='RORF'
  498. ENDIF
  499. C =================================================================
  500. C FORMULATION MECANIQUE
  501. C =================================================================
  502. ELSE IF (MFR2.EQ.2) THEN
  503.  
  504. C== FORMULATION HHO == MECANIQUE = idem qu'en MASSIF ==> MFR = 1 =======
  505. C== Les composantes specifiques seront ajoutees dans HHOIDC via INOMID.
  506. IF (MFR.EQ.HHO_MFR_ELEMENT) MFR = 1
  507. C== FORMULATION HHO ====================================================
  508. C
  509. CALL MODLIN(MOMODL,NMOD)
  510. CALL PLACE(MOMODL,NMOD,IRET,MATMOD(1))
  511. IF (IRET.EQ.0) GOTO 9999
  512. C
  513. IF (NMAT.LT.2) GOTO 13
  514. C
  515. CALL MODELA(MOMODL,NMOD)
  516. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(2))
  517. C
  518. INMAT=3
  519. IF (IPLAC.EQ.0) INMAT=2
  520. C =============================================================
  521. C MATERIAU MECANIQUE ELASTIQUE IMPEDANCE
  522. C =============================================================
  523. CALL PLACE(MATMOD,NMAT,IIMPE,'IMPEDANCE')
  524. IF (IIMPE.EQ.0) GOTO 13
  525. C
  526. INMAT = INMAT + 1
  527. JGOBL = 0
  528. JGFAC = 0
  529.  
  530. IF(CMATEE.EQ.'IMPELAST') THEN
  531. JGOBL = 1
  532. TABOBL(1)='RAID'
  533.  
  534. JGFAC = 7
  535. TABFAC(1)='AMOR'
  536. TABFAC(2)='CPLE'
  537. TABFAC(3)='INER'
  538. TABFAC(4)='AROT'
  539. TABFAC(5)='ZNU'
  540. TABFAC(6)='MASS'
  541. TABFAC(7)='ALPH'
  542. ELSEIF (CMATEE.EQ.'IMPVOIGT'.or.CMATEE.EQ.'IMPREUSS') THEN
  543. JGOBL = 2
  544. TABOBL(1)='RAID'
  545. TABOBL(2)='VISC'
  546.  
  547. JGFAC = 5
  548. TABFAC(1)='MASS'
  549. TABFAC(2)='AMOR'
  550. TABFAC(3)='CPLE'
  551. TABFAC(4)='INER'
  552. TABFAC(5)='AROT'
  553. ELSEIF (CMATEE.EQ.'IMPCOMPL') then
  554. JGOBL = 1
  555. TABOBL(1)='RAID'
  556.  
  557. JGFAC = 7
  558. TABFAC(1)='MOCO'
  559. TABFAC(2)='VISC'
  560. TABFAC(3)='MASS'
  561. TABFAC(4)='AMOR'
  562. TABFAC(5)='CPLE'
  563. TABFAC(6)='INER'
  564. TABFAC(7)='AROT'
  565. ENDIF
  566. GOTO 9999
  567. C =============================================================
  568. 13 CONTINUE
  569. C =============================================================
  570. C MATERIAU MECANIQUE ELASTIQUE ISOTROPE (PAR DEFAUT)
  571. C =============================================================
  572. IF (IMATEE.EQ.1) THEN
  573. IF (MFR.EQ.35) THEN
  574. JGOBL=2
  575. TABOBL(1)='KS '
  576. TABOBL(2)='KN '
  577.  
  578. JGFAC=2
  579. TABFAC(1)='RHO '
  580. TABFAC(2)='ALPN'
  581. ELSEIF (MFR.EQ.78) THEN
  582. JGOBL=2
  583. TABOBL(1)='KS '
  584. TABOBL(2)='KN '
  585. ELSEIF (MFR.EQ.53) THEN
  586. JGOBL=1
  587. TABOBL(1)='KS '
  588. *
  589. JGFAC=2
  590. TABFAC(1)='RHO '
  591. TABFAC(2)='ALPN'
  592. ELSE
  593. JGOBL=2
  594. TABOBL(1)='YOUN'
  595. TABOBL(2)='NU '
  596. *
  597. IF((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31.OR.MFR.EQ.63).AND.
  598. & IFOUR.EQ.-2) THEN
  599. JGFAC=4
  600. TABFAC(3)='DIM3'
  601. TABFAC(4)='VISQ'
  602. ELSE
  603. JGFAC=3
  604. TABFAC(3)='VISQ'
  605. ENDIF
  606. TABFAC(1)='RHO '
  607. TABFAC(2)='ALPH'
  608.  
  609. * AM CAS FORMULATION NON-LOCALE
  610.  
  611. INLOC = 0
  612. MN3 = INFMOD(/1)
  613. IF (MN3.GE.13) INLOC=-1*INFMOD(13)
  614. IF (INLOC.GT.0) THEN
  615. JGOBL0 = JGFAC
  616. * moyenne
  617. IF(INLOC.EQ.1) THEN
  618. JGFAC=JGOBL0+1
  619. TABFAC(JGOBL0+1)='LCAR'
  620. * stress-based
  621. ELSEIF(INLOC.EQ.2) THEN
  622. JGFAC=JGOBL0+2
  623. TABFAC(JGOBL0+1)='LCAR'
  624. TABFAC(JGOBL0+2)='SBFT'
  625.  
  626. * helmholtz
  627. ELSE IF(INLOC.EQ.3) THEN
  628. * sellier 03/07/20
  629. * JGFAC=JGOBL0+6
  630. * TABFAC(JGOBL0+1)='LCAR'
  631. * TABFAC(JGOBL0+2)='LCF1'
  632. * TABFAC(JGOBL0+3)='LCF2'
  633. * TABFAC(JGOBL0+4)='LCF3'
  634. * TABFAC(JGOBL0+5)='LCF4'
  635. * TABFAC(JGOBL0+6)='LCF5'
  636. JGFAC=JGOBL0+NB_PARA_HELM
  637. c variables de Helmholtz a diffusions ORThotropes
  638. c modif liste para heilmholtz sellier 10//11/22
  639. c print*,'Dans IDMATR ', NB_HELM, 'formulationss Helmholtz'
  640. do I=1,NB_HELM
  641. c numero de la variable de Helmholtz
  642. write (motnl1,'(I1)') I
  643. c Capacité (infinie si BH=1)
  644. motnl3='CAP'
  645. motnl4=motnl3//motnl1
  646. TABFAC(JGOBL0+NB_PARA_PAR_HELM*(I-1)+1)=motnl4
  647. c print*,motnl4
  648. c Blocage de Dirichlet si 1 sinon 0
  649. motnl3='BLO'
  650. motnl4=motnl3//motnl1
  651. TABFAC(JGOBL0+NB_PARA_PAR_HELM*(I-1)+2)=motnl4
  652. c print*,motnl4
  653. c Valeur imposee a la zone de blocage de Dirichlet
  654. motnl3='DEP'
  655. motnl4=motnl3//motnl1
  656. TABFAC(JGOBL0+NB_PARA_PAR_HELM*(I-1)+3)=motnl4
  657. c print*,motnl4
  658. c Valeur initiale de la variable de Helmholtz
  659. motnl3='INI'
  660. motnl4=motnl3//motnl1
  661. TABFAC(JGOBL0+NB_PARA_PAR_HELM*(I-1)+4)=motnl4
  662. c print*,motnl4
  663. c indicateur logique de lineratite pour ne pas passer par istep=3 si 1
  664. motnl3='LIN'
  665. motnl4=motnl3//motnl1
  666. TABFAC(JGOBL0+NB_PARA_PAR_HELM*(I-1)+5)=motnl4
  667. c print*,motnl4
  668. do J=1,3
  669. c coefficients de diffusion
  670. write (motnld1,'(I1)') J
  671. c diffusion
  672. motnl2='DH'
  673. c 1er indice: numero de la variable d helmholtz
  674. motnl3=motnl2//motnl1
  675. c 2eme indice : direction
  676. motnl4=motnl3//motnld1
  677. TABFAC(JGOBL0+(I-1)*NB_PARA_PAR_HELM+
  678. # 5+(J-1)*4+1)=motnl4
  679. c print*,motnl4
  680. do K=1,3
  681. write (motnla1,'(I1)') K
  682. c direction principales de diffusion
  683. motnlv1='V'
  684. c indice numero de la variable
  685. motnl2=motnlv1//motnl1
  686. c indice direction principale
  687. motnl3=motnl2//motnld1
  688. c projection sur axe indice de base fixe
  689. motnl4=motnl3//motnla1
  690. TABFAC(JGOBL0+(I-1)*NB_PARA_PAR_HELM+
  691. # 5+(J-1)*4+1+K)=motnl4
  692. c print*,motnl4
  693. end do
  694. end do
  695. end do
  696. Cc on rajoute 2 inutiles pour compenser un decalage constatte dans castem20
  697. C TABFAC(JGOBL0+NB_PARA_HELM+1)='FAC1'
  698. C TABFAC(JGOBL0+NB_PARA_HELM+2)='FAC2'
  699. * fin modif sellier
  700. * cas non prevu
  701. ELSE
  702. IRET = 0
  703. CALL ERREUR(5)
  704. ENDIF
  705. ENDIF
  706. ENDIF
  707. C
  708. IF (NMAT.LT.2) GOTO 9999
  709. C
  710. CALL PLACE(MATMOD,NMAT,IADVE,'ADVECTION')
  711. IF (IADVE.NE.0) THEN
  712. JG0FAC = JGFAC
  713. C Cas des Tuyaux 1D (MFR=79)
  714. IF (MFR .EQ. 79) THEN
  715. JGFAC = JG0FAC + 3
  716. TABFAC(JG0FAC +1)='RHO '
  717. TABFAC(JG0FAC +2)='C '
  718. TABFAC(JG0FAC +3)='VITE'
  719.  
  720. C Cas Massif (MFR=1)
  721. ELSEIF (MFR.EQ.1) THEN
  722. C Bidimensionnel PLAN DPGE
  723. IF (IFOUR.EQ.-3) THEN
  724. JGFAC = JG0FAC +5
  725. TABFAC(JG0FAC +1)='RHO '
  726. TABFAC(JG0FAC +2)='C '
  727. TABFAC(JG0FAC +3)='VITX'
  728. TABFAC(JG0FAC +4)='VITY'
  729. TABFAC(JG0FAC +5)='VITZ'
  730.  
  731. C Bidimensionnel PLAN (CP/DP)
  732. ELSEIF (IFOUR.EQ.-2 .OR. IFOUR.EQ.-1) THEN
  733. JGFAC = JG0FAC +4
  734. TABFAC(JG0FAC +1)='RHO '
  735. TABFAC(JG0FAC +2)='C '
  736. TABFAC(JG0FAC +3)='VITX'
  737. TABFAC(JG0FAC +4)='VITY'
  738.  
  739. C Axisymetrie
  740. ELSEIF (IFOUR .EQ. 0) THEN
  741. JGFAC = JG0FAC +4
  742. TABFAC(JG0FAC +1)='RHO '
  743. TABFAC(JG0FAC +2)='C '
  744. TABFAC(JG0FAC +3)='VITR'
  745. TABFAC(JG0FAC +4)='VITZ'
  746.  
  747. C Fourier
  748. ELSEIF (IFOUR.EQ.1) THEN
  749. CALL ERREUR(21)
  750. RETURN
  751. C JGFAC = 5C
  752. C TABFAC(1)='RHO '
  753. C TABFAC(2)='C '
  754. C TABFAC(3)='VITR'
  755. C TABFAC(4)='VITZ'
  756. C TABFAC(5)='VITT'
  757.  
  758. C Tridimensionnel
  759. ELSEIF (IFOUR.EQ.2) THEN
  760. JGFAC = JG0FAC +5
  761. TABFAC(JG0FAC +1)='RHO '
  762. TABFAC(JG0FAC +2)='C '
  763. TABFAC(JG0FAC +3)='VITX'
  764. TABFAC(JG0FAC +4)='VITY'
  765. TABFAC(JG0FAC +5)='VITZ'
  766.  
  767. C Unidimensionnel (1D)
  768. ELSE
  769. ENDIF
  770. ENDIF
  771. GOTO 9999
  772. ENDIF
  773. C =============================================================
  774. C MATERIAU MECANIQUE ELASTIQUE ORTHOTROPE
  775. C =============================================================
  776. ELSEIF (IMATEE.EQ.2) THEN
  777. C
  778. * JOINT UNIDIMENSIONNEL JOI1
  779. IF (MFR.EQ.75) THEN
  780. IF(IFOUR.EQ.2)THEN
  781. JGOBL=12
  782. TABOBL(1)='V1X '
  783. TABOBL(2)='V1Y '
  784. TABOBL(3)='V1Z '
  785. TABOBL(4)='V2X '
  786. TABOBL(5)='V2Y '
  787. TABOBL(6)='V2Z '
  788. TABOBL(7)='KN '
  789. TABOBL(8)='KS1 '
  790. TABOBL(9)='KS2 '
  791. TABOBL(10)='QN '
  792. TABOBL(11)='QS1 '
  793. TABOBL(12)='QS2 '
  794. *
  795. JGFAC=10
  796. TABFAC(1)='MASS'
  797. TABFAC(2)='JX '
  798. TABFAC(3)='JY '
  799. TABFAC(4)='JZ '
  800. TABFAC(5)='ALPN'
  801. TABFAC(6)='ALP1'
  802. TABFAC(7)='ALP2'
  803. TABFAC(8)='ALQN'
  804. TABFAC(9)='ALQ1'
  805. TABFAC(10)='ALQ2'
  806. ELSEIF(IFOUR.EQ.-2.OR.IFOUR.EQ.-1)THEN
  807. JGOBL=5
  808. TABOBL(1)='V1X '
  809. TABOBL(2)='V1Y '
  810. TABOBL(3)='KN '
  811. TABOBL(4)='KS '
  812. TABOBL(5)='QS '
  813. *
  814. JGFAC=6
  815. TABFAC(1)='MASS'
  816. TABFAC(2)='JZ'
  817. TABFAC(4)='ALPN'
  818. TABFAC(5)='ALPS'
  819. TABFAC(6)='ALQS'
  820. ENDIF
  821. *
  822. * COQUES MINCES
  823. ELSEIF (MFR.EQ.3) THEN
  824. JGOBL=6
  825. TABOBL(1)='YG1 '
  826. TABOBL(2)='YG2 '
  827. TABOBL(3)='NU12'
  828. TABOBL(4)='G12 '
  829. TABOBL(5)='V1X '
  830. TABOBL(6)='V1Y '
  831. IF(IFOUR.EQ.-2) THEN
  832. JGFAC=4
  833. ELSE
  834. JGFAC=3
  835. ENDIF
  836. TABFAC(1)='ALP1'
  837. TABFAC(2)='ALP2'
  838. TABFAC(3)='RHO '
  839. IF(IFOUR.EQ.-2) TABFAC(4)='DIM3'
  840.  
  841. * COQUES AVEC CISAILLEMENT TRANSVERSE
  842. ELSEIF (MFR.EQ.9.OR.MFR.EQ.5) THEN
  843. JGOBL=8
  844. TABOBL(1)='YG1 '
  845. TABOBL(2)='YG2 '
  846. TABOBL(3)='NU12'
  847. TABOBL(4)='G12 '
  848. TABOBL(5)='G23 '
  849. TABOBL(6)='G13 '
  850. TABOBL(7)='V1X '
  851. TABOBL(8)='V1Y '
  852. *
  853. JGFAC=3
  854. TABFAC(1)='RHO '
  855. TABFAC(2)='ALP1'
  856. TABFAC(3)='ALP2'
  857.  
  858. * ELEMENTS MASSIFS
  859. ELSEIF (MFR.EQ.1.OR.MFR.EQ.31) THEN
  860. IF(IDIM.EQ.3)THEN
  861. JGOBL=15
  862. TABOBL(1)='YG1 '
  863. TABOBL(2)='YG2 '
  864. TABOBL(3)='YG3 '
  865. TABOBL(4)='NU12'
  866. TABOBL(5)='NU23'
  867. TABOBL(6)='NU13'
  868. TABOBL(7)='G12 '
  869. TABOBL(8)='G23 '
  870. TABOBL(9)='G13 '
  871. TABOBL(10)='V1X '
  872. TABOBL(11)='V1Y '
  873. TABOBL(12)='V1Z '
  874. TABOBL(13)='V2X '
  875. TABOBL(14)='V2Y '
  876. TABOBL(15)='V2Z '
  877. *
  878. JGFAC=4
  879. TABFAC(1)='RHO '
  880. TABFAC(2)='ALP1'
  881. TABFAC(3)='ALP2'
  882. TABFAC(4)='ALP3'
  883. ELSEIF (IDIM.EQ.2) THEN
  884. IF(IFOUR.EQ.-2)THEN
  885. JGOBL=9
  886. TABOBL(1)='YG1 '
  887. TABOBL(2)='YG2 '
  888. TABOBL(3)='NU12'
  889. TABOBL(4)='G12 '
  890. TABOBL(5)='V1X '
  891. TABOBL(6)='V1Y '
  892. TABOBL(7)='YG3 '
  893. TABOBL(8)='NU23'
  894. TABOBL(9)='NU13'
  895. *
  896. JGFAC=4
  897. TABFAC(1)='RHO '
  898. TABFAC(2)='ALP1'
  899. TABFAC(3)='ALP2'
  900. TABFAC(4)='DIM3'
  901. ELSEIF (IFOUR.EQ.-1.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-3) THEN
  902. JGOBL=9
  903. TABOBL(1)='YG1 '
  904. TABOBL(2)='YG2 '
  905. TABOBL(3)='YG3 '
  906. TABOBL(4)='NU12'
  907. TABOBL(5)='NU23'
  908. TABOBL(6)='NU13'
  909. TABOBL(7)='G12 '
  910. TABOBL(8)='V1X '
  911. TABOBL(9)='V1Y '
  912. *
  913. JGFAC=4
  914. TABFAC(1)='RHO '
  915. TABFAC(2)='ALP1'
  916. TABFAC(3)='ALP2'
  917. TABFAC(4)='ALP3'
  918. ELSEIF (IFOUR.EQ.1) THEN
  919. JGOBL=15
  920. TABOBL(1)='YG1 '
  921. TABOBL(2)='YG2 '
  922. TABOBL(3)='YG3 '
  923. TABOBL(4)='NU12'
  924. TABOBL(5)='NU23'
  925. TABOBL(6)='NU13'
  926. TABOBL(7)='G12 '
  927. TABOBL(8)='G23 '
  928. TABOBL(9)='G13 '
  929. TABOBL(10)='V1X '
  930. TABOBL(11)='V1Y '
  931. TABOBL(12)='V1Z '
  932. TABOBL(13)='V2X '
  933. TABOBL(14)='V2Y '
  934. TABOBL(15)='V2Z '
  935. *
  936. JGFAC=4
  937. TABFAC(1)='RHO '
  938. TABFAC(2)='ALP1'
  939. TABFAC(3)='ALP2'
  940. TABFAC(4)='ALP3'
  941. ENDIF
  942. ELSEIF (IDIM.EQ.1) THEN
  943. C= Dans le cas UNID SPHErique, on doit avoir YG2=YG3 et NU12=NU13
  944. C= et dans le cas thermomecanique ALP2=ALP3.
  945. JGOBL=6
  946. TABOBL(1)='YG1 '
  947. TABOBL(2)='YG2 '
  948. TABOBL(3)='YG3 '
  949. TABOBL(4)='NU12'
  950. TABOBL(5)='NU23'
  951. TABOBL(6)='NU13'
  952. IF (IFOUR.EQ.6) THEN
  953. JGFAC=2
  954. ELSEIF (IFOUR.EQ.5 .OR. IFOUR.EQ.10) THEN
  955. JGFAC=3
  956. TABFAC(3)='ALP3'
  957. ELSEIF (IFOUR.EQ.4.OR.IFOUR.EQ.8.OR.
  958. & IFOUR.EQ.13) THEN
  959. JGFAC=3
  960. TABFAC(3)='ALP2'
  961. ELSE
  962. JGFAC=4
  963. TABFAC(3)='ALP2'
  964. TABFAC(4)='ALP3'
  965. ENDIF
  966. TABFAC(1)='RHO '
  967. TABFAC(2)='ALP1'
  968. ENDIF
  969.  
  970. * ELEMENTS JOINTS
  971. ELSEIF (MFR.EQ.35) THEN
  972. IF (IFOUR.EQ.2) THEN
  973. JGOBL=5
  974. TABOBL(1)='KS1 '
  975. TABOBL(2)='KS2 '
  976. TABOBL(3)='KN '
  977. TABOBL(4)='V1X '
  978. TABOBL(5)='V1Y '
  979. *
  980. JGFAC=2
  981. TABFAC(1)='RHO '
  982. TABFAC(2)='ALPN'
  983. ENDIF
  984. ENDIF
  985. C =============================================================
  986. C MATERIAU MECANIQUE ELASTIQUE ANISOTROPE
  987. C =============================================================
  988. ELSEIF (IMATEE.EQ.3)THEN
  989. C
  990. C JOINT UNIDIMESIONNEL JOI1
  991. IF(MFR.EQ.75)THEN
  992. IF (IFOUR.EQ.2) THEN
  993. JGOBL=27
  994. TABOBL(1)='V1X '
  995. TABOBL(2)='V1Y '
  996. TABOBL(3)='V1Z '
  997. TABOBL(4)='V2X '
  998. TABOBL(5)='V2Y '
  999. TABOBL(6)='V2Z '
  1000. TABOBL(7)='D11 '
  1001. TABOBL(8)='D22 '
  1002. TABOBL(9)='D33 '
  1003. TABOBL(10)='D44 '
  1004. TABOBL(11)='D55 '
  1005. TABOBL(12)='D66 '
  1006. TABOBL(13)='D21 '
  1007. TABOBL(14)='D31 '
  1008. TABOBL(15)='D32 '
  1009. TABOBL(16)='D41 '
  1010. TABOBL(17)='D42 '
  1011. TABOBL(18)='D43 '
  1012. TABOBL(19)='D51 '
  1013. TABOBL(20)='D52 '
  1014. TABOBL(21)='D53 '
  1015. TABOBL(22)='D54 '
  1016. TABOBL(23)='D61 '
  1017. TABOBL(24)='D62 '
  1018. TABOBL(25)='D63 '
  1019. TABOBL(26)='D64 '
  1020. TABOBL(27)='D65 '
  1021. *
  1022. JGFAC=10
  1023. * MASS: masse totale de l'élément joint
  1024. TABFAC(1)='MASS'
  1025. TABFAC(2)='JX '
  1026. TABFAC(3)='JY '
  1027. TABFAC(4)='JZ '
  1028. TABFAC(5)='ALP1'
  1029. TABFAC(6)='ALP2'
  1030. TABFAC(7)='ALP3'
  1031. TABFAC(8)='ALQ1'
  1032. TABFAC(9)='ALQ2'
  1033. TABFAC(10)='ALQ3'
  1034. ELSEIF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1) THEN
  1035. JGOBL=8
  1036. TABOBL(1)='V1X '
  1037. TABOBL(2)='V1Y '
  1038. TABOBL(3)='D11 '
  1039. TABOBL(4)='D22 '
  1040. TABOBL(5)='D33 '
  1041. TABOBL(6)='D21 '
  1042. TABOBL(7)='D31 '
  1043. TABOBL(8)='D32 '
  1044. *
  1045. JGFAC=5
  1046. * MASS: masse totale de l'élément joint
  1047. TABFAC(1)='MASS'
  1048. TABFAC(2)='JZ '
  1049. TABFAC(3)='ALP1'
  1050. TABFAC(4)='ALP2'
  1051. TABFAC(5)='ALQ3'
  1052. ENDIF
  1053. ENDIF
  1054. *
  1055. * ELEMENTS MASSIFS
  1056. *
  1057. IF(MFR.EQ.1.OR.MFR.EQ.31)THEN
  1058. IF(IDIM.EQ.3)THEN
  1059. JGOBL=27
  1060. TABOBL(1)='D11 '
  1061. TABOBL(2)='D21 '
  1062. TABOBL(3)='D22 '
  1063. TABOBL(4)='D31 '
  1064. TABOBL(5)='D32 '
  1065. TABOBL(6)='D33 '
  1066. TABOBL(7)='D41 '
  1067. TABOBL(8)='D42 '
  1068. TABOBL(9)='D43 '
  1069. TABOBL(10)='D44 '
  1070. TABOBL(11)='D51 '
  1071. TABOBL(12)='D52 '
  1072. TABOBL(13)='D53 '
  1073. TABOBL(14)='D54 '
  1074. TABOBL(15)='D55 '
  1075. TABOBL(16)='D61 '
  1076. TABOBL(17)='D62 '
  1077. TABOBL(18)='D63 '
  1078. TABOBL(19)='D64 '
  1079. TABOBL(20)='D65 '
  1080. TABOBL(21)='D66 '
  1081. TABOBL(22)='V1X '
  1082. TABOBL(23)='V1Y '
  1083. TABOBL(24)='V1Z '
  1084. TABOBL(25)='V2X '
  1085. TABOBL(26)='V2Y '
  1086. TABOBL(27)='V2Z '
  1087. *
  1088. JGFAC=7
  1089. TABFAC(1)='RHO '
  1090. TABFAC(2)='ALP1'
  1091. TABFAC(3)='ALP2'
  1092. TABFAC(4)='ALP3'
  1093. TABFAC(5)='AL12'
  1094. TABFAC(6)='AL13'
  1095. TABFAC(7)='AL23'
  1096. ELSEIF (IDIM.EQ.2) THEN
  1097. IF (IFOUR.EQ.-2) THEN
  1098. JGOBL=12
  1099. TABOBL(1)='D11 '
  1100. TABOBL(2)='D21 '
  1101. TABOBL(3)='D22 '
  1102. TABOBL(4)='D41 '
  1103. TABOBL(5)='D42 '
  1104. TABOBL(6)='D44 '
  1105. TABOBL(7)='V1X '
  1106. TABOBL(8)='V1Y '
  1107. TABOBL(9)='D31 '
  1108. TABOBL(10)='D32 '
  1109. TABOBL(11)='D33 '
  1110. TABOBL(12)='D43 '
  1111. *
  1112. JGFAC=5
  1113. TABFAC(1)='RHO '
  1114. TABFAC(2)='ALP1'
  1115. TABFAC(3)='ALP2'
  1116. TABFAC(4)='AL12'
  1117. TABFAC(5)='DIM3'
  1118. ELSEIF (IFOUR.EQ.-1.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-3) THEN
  1119. JGOBL=12
  1120. TABOBL(1)='D11 '
  1121. TABOBL(2)='D21 '
  1122. TABOBL(3)='D22 '
  1123. TABOBL(4)='D31 '
  1124. TABOBL(5)='D32 '
  1125. TABOBL(6)='D33 '
  1126. TABOBL(7)='D41 '
  1127. TABOBL(8)='D42 '
  1128. TABOBL(9)='D43 '
  1129. TABOBL(10)='D44 '
  1130. TABOBL(11)='V1X '
  1131. TABOBL(12)='V1Y '
  1132. *
  1133. JGFAC=5
  1134. TABFAC(1)='RHO '
  1135. TABFAC(2)='ALP1'
  1136. TABFAC(3)='ALP2'
  1137. TABFAC(4)='AL12'
  1138. TABFAC(5)='ALP3'
  1139. ELSEIF (IFOUR.EQ.1) THEN
  1140. JGOBL=15
  1141. TABOBL(1)='D11 '
  1142. TABOBL(2)='D21 '
  1143. TABOBL(3)='D22 '
  1144. TABOBL(4)='D31 '
  1145. TABOBL(5)='D32 '
  1146. TABOBL(6)='D33 '
  1147. TABOBL(7)='D41 '
  1148. TABOBL(8)='D42 '
  1149. TABOBL(9)='D43 '
  1150. TABOBL(10)='D44 '
  1151. TABOBL(11)='D55 '
  1152. TABOBL(12)='D65 '
  1153. TABOBL(13)='D66 '
  1154. TABOBL(14)='V1X '
  1155. TABOBL(15)='V1Y '
  1156. *
  1157. JGFAC=5
  1158. TABFAC(1)='RHO '
  1159. TABFAC(2)='ALP1'
  1160. TABFAC(3)='ALP2'
  1161. TABFAC(4)='AL12'
  1162. TABFAC(5)='ALP3'
  1163. ENDIF
  1164. ENDIF
  1165. ENDIF
  1166. C =============================================================
  1167. C MATERIAU MECANIQUE ELASTIQUE POREUX ISOTROPE
  1168. C =============================================================
  1169. ELSEIF (IMATEE.EQ.7) THEN
  1170. IF (MFR.EQ.33) THEN
  1171. JGOBL=12
  1172. TABOBL(1) ='YOUN'
  1173. TABOBL(2) ='NU '
  1174. TABOBL(3) ='RHO '
  1175. TABOBL(4) ='ALPH'
  1176. TABOBL(5) ='COB '
  1177. TABOBL(6) ='MOB '
  1178. TABOBL(7) ='ALPM'
  1179. TABOBL(8) ='PERM'
  1180. TABOBL(9) ='VISC'
  1181. TABOBL(10)='KF '
  1182. TABOBL(11)='RHOF'
  1183. TABOBL(12)='ALPF'
  1184. IF (IFOUR.EQ.-2) THEN
  1185. JGFAC=1
  1186. TABFAC(1)='DIM3'
  1187. ENDIF
  1188. ENDIF
  1189. C =============================================================
  1190. C MATERIAU MECANIQUE ELASTIQUE HOMOGENEISE
  1191. C =============================================================
  1192. ELSEIF (IMATEE.EQ.5) THEN
  1193. IF (MFR.EQ.37) THEN
  1194. JGOBL=16
  1195. TABOBL( 1)='B11 '
  1196. TABOBL( 2)='B22 '
  1197. TABOBL( 3)='B12 '
  1198. TABOBL( 4)='ROF '
  1199. TABOBL( 5)='ROS '
  1200. TABOBL( 6)='YOUN'
  1201. TABOBL( 7)='CSON'
  1202. TABOBL( 8)='RORF'
  1203. TABOBL( 9)='CREF'
  1204. TABOBL(10)='LCAR'
  1205. TABOBL(11)='E111'
  1206. TABOBL(12)='E112'
  1207. TABOBL(13)='E121'
  1208. TABOBL(14)='E122'
  1209. TABOBL(15)='E221'
  1210. TABOBL(16)='E222'
  1211. ENDIF
  1212. C =============================================================
  1213. C MATERIAU MECANIQUE ELASTIQUE UNIDIRECTIONNEL
  1214. C =============================================================
  1215. ELSEIF (IMATEE.EQ.4) THEN
  1216. IF ((MFR.EQ.1.OR.MFR.EQ.31).AND.IDIM.EQ.3) THEN
  1217. JGOBL=7
  1218. TABOBL(1)='YOUN'
  1219. TABOBL(2)='V1X '
  1220. TABOBL(3)='V1Y '
  1221. TABOBL(4)='V1Z '
  1222. TABOBL(5)='V2X '
  1223. TABOBL(6)='V2Y '
  1224. TABOBL(7)='V2Z '
  1225. ELSE
  1226. JGOBL=3
  1227. TABOBL(1)='YOUN'
  1228. TABOBL(2)='V1X '
  1229. TABOBL(3)='V1Y '
  1230. ENDIF
  1231.  
  1232. IF((MFR.EQ.1.OR.MFR.EQ.3.OR.MFR.EQ.31).AND.
  1233. & IFOUR.EQ.-2) THEN
  1234. JGFAC=3
  1235. TABFAC(3)='DIM3'
  1236. ELSE
  1237. JGFAC=2
  1238. ENDIF
  1239. TABFAC(1)='RHO '
  1240. TABFAC(2)='ALPH'
  1241. C =============================================================
  1242. C MATERIAU MECANIQUE ELASTIQUE SECTION DU MODELE A FIBRE
  1243. C =============================================================
  1244. ELSEIF (IMATEE.EQ.11) THEN
  1245. JGOBL=2
  1246. TABOBL(1)='MODS'
  1247. TABOBL(2)='MATS'
  1248.  
  1249. JGFAC=1
  1250. TABFAC(1)='MANO'
  1251. C =============================================================
  1252. C MATERIAU MECANIQUE ELASTIQUE ARMATURE POUR CABLE PRECONTRAINT
  1253. C =============================================================
  1254. ELSEIF (IMATEE.EQ.8) THEN
  1255. JGOBL=1
  1256. TABOBL(1)='YOUN'
  1257.  
  1258. JGFAC=8
  1259. TABFAC(1)='FF'
  1260. TABFAC(2)='PHIF'
  1261. TABFAC(3)='GANC'
  1262. TABFAC(4)='RMU0'
  1263. TABFAC(5)='FPRG'
  1264. TABFAC(6)='RH10'
  1265. TABFAC(7)='ALPH'
  1266. TABFAC(8)='RHO '
  1267. C =============================================================
  1268. C MATERIAU MECANIQUE ELASTIQUE MODAL
  1269. C =============================================================
  1270. ELSEIF (IMATEE.EQ.9) THEN
  1271. JGOBL=3
  1272. TABOBL(1)='FREQ'
  1273. TABOBL(2)='MASS'
  1274. TABOBL(3)='DEFO'
  1275.  
  1276. JGFAC = 9
  1277. TABFAC(1) = 'AMOR'
  1278. TABFAC(2) = 'CGRA'
  1279. TABFAC(3) = 'MADE'
  1280. TABFAC(4) = 'RICR'
  1281. TABFAC(5) = 'MAIB'
  1282. TABFAC(6) = 'MACR'
  1283. TABFAC(7) = 'AMCR'
  1284. TABFAC(8) = 'ALP0'
  1285. TABFAC(9) = 'ECRO'
  1286. C =============================================================
  1287. C MATERIAU MECANIQUE ELASTIQUE STATIQUE
  1288. C =============================================================
  1289. ELSEIF (IMATEE.EQ.10) THEN
  1290. JGOBL=3
  1291. TABOBL(1)='DEFO'
  1292. TABOBL(2)='RIDE'
  1293. TABOBL(3)='MADE'
  1294.  
  1295. JGFAC = 8
  1296. TABFAC(1) = 'AMOR'
  1297. TABFAC(2) = 'RICR'
  1298. TABFAC(3) = 'MAIA'
  1299. TABFAC(4) = 'MAIB'
  1300. TABFAC(5) = 'MACR'
  1301. TABFAC(6) = 'AMCR'
  1302. TABFAC(7) = 'BET0'
  1303. TABFAC(8) = 'ECRO'
  1304. C =============================================================
  1305. C MATERIAU MECANIQUE ELASTIQUE ZONE_COHESIVE
  1306. C =============================================================
  1307. ELSEIF (IMATEE.EQ.12) THEN
  1308. JGOBL=2
  1309. TABOBL(1)='KS'
  1310. TABOBL(2)='KN'
  1311. ENDIF
  1312. C
  1313. C LECTURE DES AUTRES MOTS-CLES DE MATMOD (DE INMAT A NMAT)
  1314. IF (NMAT.GE.INMAT) THEN
  1315. CALL MODNLI(MOMODL,NMOD)
  1316. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
  1317. INMAT=INMAT+1
  1318. IRET = 1
  1319. C ===========================================================
  1320. C MATERIAU MECANIQUE ELASTIQUE ... PLASTIQUE (ISOTROPE)
  1321. C ===========================================================
  1322. IF (IPLAC.EQ.1) THEN
  1323. CALL MODPLA(MOMODL,NMOD)
  1324. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
  1325. IF (IPLAC.EQ.0) IPLAC=1
  1326. CALL IDPLAS(MFR,TABOBL,TABFAC,JGOBL,JGFAC,ITA,IPLAC,IRET)
  1327. C ===========================================================
  1328. C MATERIAU MECANIQUE ELASTIQUE ... FLUAGE (NORTON)
  1329. C ===========================================================
  1330. ELSEIF (IPLAC.EQ.2) THEN
  1331. CALL MODFLU(MOMODL,NMOD)
  1332. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
  1333. IF (IPLAC.EQ.0) IPLAC=1
  1334. CALL IDFLUA(MFR,TABOBL,TABFAC,JGOBL,JGFAC,ITA,IPLAC,IRET)
  1335. C ===========================================================
  1336. C MATERIAU MECANIQUE ELASTIQUE ... VISCOPLASTIQUE (ONERA)
  1337. C ===========================================================
  1338. ELSEIF (IPLAC.EQ.3) THEN
  1339. CALL MODVIS(MOMODL,NMOD)
  1340. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
  1341. IF (IPLAC.EQ.0) IPLAC=2
  1342. C
  1343. C Cas particulier des modeles GATT_MONERIE et UO2
  1344. C 'RHO ' et 'ALPH' sont obligatoires
  1345. IF (IPLAC.EQ.18.OR.IPLAC.EQ.19) THEN
  1346. JGOBL0 = JGOBL
  1347. JGOBL=JGOBL0+2
  1348. TABOBL(JGOBL0+1)='RHO '
  1349. TABOBL(JGOBL0+2)='ALPH'
  1350.  
  1351. JGOBL0=JGFAC
  1352. JGFAC=JGOBL0-2
  1353. IF (JGFAC.GT.0) THEN
  1354. DO 200 I=1,JGFAC
  1355. TABFAC(I)=TABFAC(I+2)
  1356. 200 CONTINUE
  1357. ENDIF
  1358. ENDIF
  1359. CALL IDVISC(MFR,TABOBL,TABFAC,JGOBL,JGFAC,ITA,IPLAC,IRET)
  1360. C ===========================================================
  1361. C MATERIAU MECANIQUE ELASTIQUE ... ENDOMMAGEMENT (MAZARS)
  1362. C ===========================================================
  1363. ELSEIF (IPLAC.EQ.4) THEN
  1364. CALL MODEND(MOMODL,NMOD)
  1365. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
  1366. IF (IPLAC.EQ.0) IPLAC=1
  1367. CALL IDENDO(MFR,TABOBL,TABFAC,JGOBL,JGFAC,ITA,IPLAC,IRET)
  1368. C ===========================================================
  1369. C MATERIAU MECANIQUE ELASTIQUE ... PLASTIQUE_ENDOM (PSURY)
  1370. C ===========================================================
  1371. ELSEIF (IPLAC.EQ.5) THEN
  1372. CALL MODPLE(MOMODL,NMOD)
  1373. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
  1374. IF (IPLAC.EQ.0) IPLAC=1
  1375. CALL IDPLEN(MFR,TABOBL,TABFAC,JGOBL,JGFAC,ITA,IPLAC,IRET)
  1376. C ===========================================================
  1377. C MATERIAU MECANIQUE ELASTIQUE ... NON LINEAIRE (EQUIPLAS)
  1378. C ===========================================================
  1379. ELSEIF (IPLAC.EQ.6) THEN
  1380. CALL MODENL(MOMODL,NMOD)
  1381. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
  1382. IF (IPLAC.EQ.0) IPLAC=1
  1383. CALL IDELNL(MFR,TABOBL,TABFAC,JGOBL,JGFAC,ITA,IPLAC,IRET)
  1384. C ===========================================================
  1385. ENDIF
  1386. IF (IRET.EQ.0) GOTO 9999
  1387. ENDIF
  1388. C
  1389. C Parametre CRIP
  1390. CALL PLACE(MATMOD,NMAT,ICRIP,'CRIP')
  1391. IF (ICRIP.NE.0) THEN
  1392. JGOBL = JGOBL + 1
  1393. TABOBL(JGOBL) = 'LIMP'
  1394. ENDIF
  1395. C
  1396. C Parametre FUSION
  1397. CALL PLACE(MATMOD,NMAT,IFUSI,'FUSION')
  1398. IF (IFUSI.NE.0) THEN
  1399. JGOBL = JGOBL + 1
  1400. TABOBL(JGOBL) = 'TFUS'
  1401. ENDIF
  1402. C =================================================================
  1403. C FORMULATION POREUX
  1404. C =================================================================
  1405. ELSE IF (MFR2.EQ.33) THEN
  1406. C
  1407. CALL MODLIN(MOMODL,NMOD)
  1408. CALL PLACE(MOMODL,NMOD,IRET,MATMOD(1))
  1409. IF (IRET.EQ.0) GOTO 9999
  1410. C
  1411. IF (NMAT.LT.2) GOTO 14
  1412. C
  1413. CALL MODELA(MOMODL,NMOD)
  1414. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(2))
  1415. C
  1416. INMAT=3
  1417. IF (IPLAC.EQ.0) INMAT=2
  1418. C
  1419. 14 CONTINUE
  1420. C
  1421. C MATERIAU POREUX ELASTIQUE ISOTROPE (PAR DEFAUT)
  1422. C ===============================================
  1423. IF (IMATEE.EQ.1) THEN
  1424. IF(MELE.GE.79.AND.MELE.LE.83)THEN
  1425. JGOBL=4
  1426. TABOBL(1) ='YOUN'
  1427. TABOBL(2) ='NU '
  1428. TABOBL(3) ='COB '
  1429. TABOBL(4) ='MOB '
  1430. *
  1431. JGFAC=8
  1432. IF(IFOUR.EQ.-2) THEN
  1433. JGFAC=9
  1434. TABFAC(9)='DIM3'
  1435. ENDIF
  1436. TABFAC(1)='RHOF'
  1437. TABFAC(2)='ALPF'
  1438. TABFAC(3)='ALPM'
  1439. TABFAC(4)='PERM'
  1440. TABFAC(5)='VISC'
  1441. TABFAC(6)='KF '
  1442. TABFAC(7)='RHO '
  1443. TABFAC(8)='ALPH'
  1444. ELSEIF(MELE.GE.108.AND.MELE.LE.110)THEN
  1445. JGOBL=4
  1446. TABOBL(1)='KS '
  1447. TABOBL(2)='KN '
  1448. TABOBL(3)='COB '
  1449. TABOBL(4)='MOB '
  1450. *
  1451. JGFAC=4
  1452. TABFAC(1)='PERT'
  1453. TABFAC(2)='PERH'
  1454. TABFAC(3)='PERB'
  1455. TABFAC(4)='VISC'
  1456. ELSEIF(MELE.GE.173.AND.MELE.LE.177)THEN
  1457. JGOBL=10
  1458. TABOBL(1) ='YOUN'
  1459. TABOBL(2) ='NU '
  1460. TABOBL(3) ='COP1'
  1461. TABOBL(4) ='COP2'
  1462. TABOBL(5) ='CPP1'
  1463. TABOBL(6) ='CPP2'
  1464. TABOBL(7) ='KK11'
  1465. TABOBL(8) ='KK12'
  1466. TABOBL(9) ='KK21'
  1467. TABOBL(10)='KK22'
  1468. *
  1469. JGFAC=8
  1470. IF(IFOUR.EQ.-2) THEN
  1471. JGFAC=9
  1472. TABFAC(9)='DIM3'
  1473. ENDIF
  1474. TABFAC(1)='RHOF'
  1475. TABFAC(2)='ALPF'
  1476. TABFAC(3)='ALPM'
  1477. TABFAC(4)='PK11'
  1478. TABFAC(5)='PK12'
  1479. TABFAC(6)='PK21'
  1480. TABFAC(7)='PK22'
  1481. TABFAC(8)='ALPH'
  1482. ELSEIF(MELE.GE.178.AND.MELE.LE.182)THEN
  1483. JGOBL=17
  1484. TABOBL(1)='YOUN'
  1485. TABOBL(2)='NU '
  1486. TABOBL(3)='COP1'
  1487. TABOBL(4)='COP2'
  1488. TABOBL(5)='COP3'
  1489. TABOBL(6)='CPP1'
  1490. TABOBL(7)='CPP2'
  1491. TABOBL(8)='CPP3'
  1492. TABOBL(9)='KK11'
  1493. TABOBL(10)='KK12'
  1494. TABOBL(11)='KK13'
  1495. TABOBL(12)='KK21'
  1496. TABOBL(13)='KK22'
  1497. TABOBL(14)='KK23'
  1498. TABOBL(15)='KK31'
  1499. TABOBL(16)='KK32'
  1500. TABOBL(17)='KK33'
  1501. *
  1502. JGFAC=14
  1503. IF(IFOUR.EQ.-2) THEN
  1504. JGFAC=15
  1505. TABFAC(15)='DIM3'
  1506. ENDIF
  1507. TABFAC(1)='RHOF'
  1508. TABFAC(2)='ALPF'
  1509. TABFAC(3)='ALPM'
  1510. TABFAC(4)='PK11'
  1511. TABFAC(5)='PK12'
  1512. TABFAC(6)='PK13'
  1513. TABFAC(7)='PK21'
  1514. TABFAC(8)='PK22'
  1515. TABFAC(9)='PK23'
  1516. TABFAC(10)='PK31'
  1517. TABFAC(11)='PK32'
  1518. TABFAC(12)='PK33'
  1519. TABFAC(13)='RHO '
  1520. TABFAC(14)='ALPH'
  1521. ELSEIF(MELE.GE.185.AND.MELE.LE.187)THEN
  1522. JGOBL=10
  1523. TABOBL(1)='KS '
  1524. TABOBL(2)='KN '
  1525. TABOBL(3)='COP1'
  1526. TABOBL(4)='COP2'
  1527. TABOBL(5)='CPP1'
  1528. TABOBL(6)='CPP2'
  1529. TABOBL(7)='KK11'
  1530. TABOBL(8)='KK12'
  1531. TABOBL(9)='KK21'
  1532. TABOBL(10)='KK22'
  1533. *
  1534. JGFAC=17
  1535. IF(IFOUR.EQ.-2) THEN
  1536. JGFAC=18
  1537. TABFAC(18)='DIM3'
  1538. ENDIF
  1539. TABFAC(1)='RHOF'
  1540. TABFAC(2)='ALPF'
  1541. TABFAC(3)='ALPM'
  1542. TABFAC(4)='PT11'
  1543. TABFAC(5)='PH11'
  1544. TABFAC(6)='PB11'
  1545. TABFAC(7)='PT12'
  1546. TABFAC(8)='PH12'
  1547. TABFAC(9)='PB12'
  1548. TABFAC(10)='PT21'
  1549. TABFAC(11)='PH21'
  1550. TABFAC(12)='PB21'
  1551. TABFAC(13)='PT22'
  1552. TABFAC(14)='PH22'
  1553. TABFAC(15)='PB22'
  1554. TABFAC(16)='RHO '
  1555. TABFAC(17)='ALPH'
  1556. ELSEIF(MELE.GE.188.AND.MELE.LE.190)THEN
  1557. JGOBL=17
  1558. TABOBL(1)='KS '
  1559. TABOBL(2)='KN '
  1560. TABOBL(3)='COP1'
  1561. TABOBL(4)='COP2'
  1562. TABOBL(5)='COP3'
  1563. TABOBL(6)='CPP1'
  1564. TABOBL(7)='CPP2'
  1565. TABOBL(8)='CPP3'
  1566. TABOBL(9)='KK11'
  1567. TABOBL(10)='KK12'
  1568. TABOBL(11)='KK13'
  1569. TABOBL(12)='KK21'
  1570. TABOBL(13)='KK22'
  1571. TABOBL(14)='KK23'
  1572. TABOBL(15)='KK31'
  1573. TABOBL(16)='KK32'
  1574. TABOBL(17)='KK33'
  1575. *
  1576. JGFAC=32
  1577. IF(IFOUR.EQ.-2) THEN
  1578. JGFAC=33
  1579. TABFAC(33)='DIM3'
  1580. ENDIF
  1581. TABFAC(1)='RHOF'
  1582. TABFAC(2)='ALPF'
  1583. TABFAC(3)='ALPM'
  1584. TABFAC(4)='PT11'
  1585. TABFAC(5)='PH11'
  1586. TABFAC(6)='PB11'
  1587. TABFAC(7)='PT12'
  1588. TABFAC(8)='PH12'
  1589. TABFAC(9)='PB12'
  1590. TABFAC(10)='PT13'
  1591. TABFAC(11)='PH13'
  1592. TABFAC(12)='PB13'
  1593. TABFAC(13)='PT21'
  1594. TABFAC(14)='PH21'
  1595. TABFAC(15)='PB21'
  1596. TABFAC(16)='PT22'
  1597. TABFAC(17)='PH22'
  1598. TABFAC(18)='PB22'
  1599. TABFAC(19)='PT23'
  1600. TABFAC(20)='PH23'
  1601. TABFAC(21)='PB23'
  1602. TABFAC(22)='PT31'
  1603. TABFAC(23)='PH31'
  1604. TABFAC(24)='PB31'
  1605. TABFAC(25)='PT32'
  1606. TABFAC(26)='PH32'
  1607. TABFAC(27)='PB32'
  1608. TABFAC(28)='PT33'
  1609. TABFAC(29)='PH33'
  1610. TABFAC(30)='PB33'
  1611. TABFAC(31)='RHO '
  1612. TABFAC(32)='ALPH'
  1613. ENDIF
  1614. C
  1615. C MATERIAU POREUX ELASTIQUE ORTHOTROPE
  1616. C ====================================
  1617. ELSEIF (IMATEE.EQ.2) THEN
  1618. IF (MFR.EQ.33) THEN
  1619. IF(IDIM.EQ.3)THEN
  1620. * ELEMENTS 3D
  1621. JGOBL=19
  1622. TABOBL(1)='YG1 '
  1623. TABOBL(2)='YG2 '
  1624. TABOBL(3)='YG3 '
  1625. TABOBL(4)='NU12'
  1626. TABOBL(5)='NU23'
  1627. TABOBL(6)='NU13'
  1628. TABOBL(7)='G12 '
  1629. TABOBL(8)='G23 '
  1630. TABOBL(9)='G13 '
  1631. TABOBL(10)='V1X '
  1632. TABOBL(11)='V1Y '
  1633. TABOBL(12)='V1Z '
  1634. TABOBL(13)='V2X '
  1635. TABOBL(14)='V2Y '
  1636. TABOBL(15)='V2Z '
  1637. TABOBL(16)='COB1'
  1638. TABOBL(17)='COB2'
  1639. TABOBL(18)='COB3'
  1640. TABOBL(19)='MOB '
  1641. *
  1642. JGFAC=12
  1643. TABFAC(1)='RHO '
  1644. TABFAC(2)='ALP1'
  1645. TABFAC(3)='ALP2'
  1646. TABFAC(4)='ALP3'
  1647. TABFAC(5)='ALPM'
  1648. TABFAC(6)='PER1'
  1649. TABFAC(7)='PER2'
  1650. TABFAC(8)='PER3'
  1651. TABFAC(9)='VISC'
  1652. TABFAC(10)='KF '
  1653. TABFAC(11)='RHOF'
  1654. TABFAC(12)='ALPF'
  1655. ELSEIF (IDIM.EQ.2) THEN
  1656. IF(IFOUR.EQ.-2)THEN
  1657. JGOBL=12
  1658. TABOBL(1)='YG1 '
  1659. TABOBL(2)='YG2 '
  1660. TABOBL(3)='NU12'
  1661. TABOBL(4)='G12 '
  1662. TABOBL(5)='V1X '
  1663. TABOBL(6)='V1Y '
  1664. TABOBL(7)='COB1'
  1665. TABOBL(8)='COB2'
  1666. TABOBL(9)='MOB '
  1667. TABOBL(10)='YG3 '
  1668. TABOBL(11)='NU23'
  1669. TABOBL(12)='NU13'
  1670. *
  1671. JGFAC=11
  1672. TABFAC(1)='RHO '
  1673. TABFAC(2)='ALP1'
  1674. TABFAC(3)='ALP2'
  1675. TABFAC(4)='ALPM'
  1676. TABFAC(5)='PER1'
  1677. TABFAC(6)='PER2'
  1678. TABFAC(7)='VISC'
  1679. TABFAC(8)='KF '
  1680. TABFAC(9)='RHOF'
  1681. TABFAC(10)='ALPF'
  1682. TABFAC(11)='DIM3'
  1683. ELSEIF (IFOUR.EQ.-1.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-3) THEN
  1684. JGOBL=13
  1685. TABOBL(1)='YG1 '
  1686. TABOBL(2)='YG2 '
  1687. TABOBL(3)='YG3 '
  1688. TABOBL(4)='NU12'
  1689. TABOBL(5)='NU23'
  1690. TABOBL(6)='NU13'
  1691. TABOBL(7)='G12 '
  1692. TABOBL(8)='V1X '
  1693. TABOBL(9)='V1Y '
  1694. TABOBL(10)='COB1'
  1695. TABOBL(11)='COB2'
  1696. TABOBL(12)='COB3'
  1697. TABOBL(13)='MOB '
  1698. *
  1699. JGFAC=11
  1700. TABFAC(1)='RHO '
  1701. TABFAC(2)='ALP1'
  1702. TABFAC(3)='ALP2'
  1703. TABFAC(4)='ALP3'
  1704. TABFAC(5)='ALPM'
  1705. TABFAC(6)='PER1'
  1706. TABFAC(7)='PER2'
  1707. TABFAC(8)='VISC'
  1708. TABFAC(9)='KF '
  1709. TABFAC(10)='RHOF'
  1710. TABFAC(11)='ALPF'
  1711. ELSEIF (IFOUR.EQ.1) THEN
  1712. JGOBL=15
  1713. TABOBL(1)='YG1 '
  1714. TABOBL(2)='YG2 '
  1715. TABOBL(3)='YG3 '
  1716. TABOBL(4)='NU12'
  1717. TABOBL(5)='NU23'
  1718. TABOBL(6)='NU13'
  1719. TABOBL(7)='G12 '
  1720. TABOBL(8)='G23 '
  1721. TABOBL(9)='G13 '
  1722. TABOBL(10)='V1X '
  1723. TABOBL(11)='V1Y '
  1724. TABOBL(12)='COB1'
  1725. TABOBL(13)='COB2'
  1726. TABOBL(14)='COB3'
  1727. TABOBL(15)='MOB '
  1728. *
  1729. JGFAC=12
  1730. TABFAC(1)='RHO '
  1731. TABFAC(2)='ALP1'
  1732. TABFAC(3)='ALP2'
  1733. TABFAC(4)='ALP3'
  1734. TABFAC(5)='ALPM'
  1735. TABFAC(6)='PER1'
  1736. TABFAC(7)='PER2'
  1737. TABFAC(8)='PER3'
  1738. TABFAC(9)='VISC'
  1739. TABFAC(10)='KF '
  1740. TABFAC(11)='RHOF'
  1741. TABFAC(12)='ALPF'
  1742. ENDIF
  1743. ENDIF
  1744. ELSE
  1745. IRET = 0
  1746. GOTO 9999
  1747. ENDIF
  1748. C
  1749. C MATERIAU POREUX ELASTIQUE ANISOTROPE
  1750. C ====================================
  1751. ELSEIF (IMATEE.EQ.3)THEN
  1752. IF(MFR.EQ.33)THEN
  1753. IF(IDIM.EQ.3)THEN
  1754. JGOBL=34
  1755. TABOBL(1)='D11 '
  1756. TABOBL(2)='D21 '
  1757. TABOBL(3)='D22 '
  1758. TABOBL(4)='D31 '
  1759. TABOBL(5)='D32 '
  1760. TABOBL(6)='D33 '
  1761. TABOBL(7)='D41 '
  1762. TABOBL(8)='D42 '
  1763. TABOBL(9)='D43 '
  1764. TABOBL(10)='D44 '
  1765. TABOBL(11)='D51 '
  1766. TABOBL(12)='D52 '
  1767. TABOBL(13)='D53 '
  1768. TABOBL(14)='D54 '
  1769. TABOBL(15)='D55 '
  1770. TABOBL(16)='D61 '
  1771. TABOBL(17)='D62 '
  1772. TABOBL(18)='D63 '
  1773. TABOBL(19)='D64 '
  1774. TABOBL(20)='D65 '
  1775. TABOBL(21)='D66 '
  1776. TABOBL(22)='V1X '
  1777. TABOBL(23)='V1Y '
  1778. TABOBL(24)='V1Z '
  1779. TABOBL(25)='V2X '
  1780. TABOBL(26)='V2Y '
  1781. TABOBL(27)='V2Z '
  1782. TABOBL(28)='COB1'
  1783. TABOBL(29)='COB2'
  1784. TABOBL(30)='COB3'
  1785. TABOBL(31)='CO12'
  1786. TABOBL(32)='CO13'
  1787. TABOBL(33)='CO23'
  1788. TABOBL(34)='MOB '
  1789. *
  1790. JGFAC=18
  1791. TABFAC(1)='RHO '
  1792. TABFAC(2)='ALP1'
  1793. TABFAC(3)='ALP2'
  1794. TABFAC(4)='ALP3'
  1795. TABFAC(5)='AL12'
  1796. TABFAC(6)='AL13'
  1797. TABFAC(7)='AL23'
  1798. TABFAC(8)='ALPM'
  1799. TABFAC(9 )='PER1'
  1800. TABFAC(10)='PER2'
  1801. TABFAC(11)='PER3'
  1802. TABFAC(12)='PE12'
  1803. TABFAC(13)='PE13'
  1804. TABFAC(14)='PE23'
  1805. TABFAC(15)='VISC'
  1806. TABFAC(16)='KF '
  1807. TABFAC(17)='RHOF'
  1808. TABFAC(18)='ALPF'
  1809. ELSEIF (IDIM.EQ.2) THEN
  1810. IF (IFOUR.EQ.-2) THEN
  1811. JGOBL=16
  1812. TABOBL(1)='D11 '
  1813. TABOBL(2)='D21 '
  1814. TABOBL(3)='D22 '
  1815. TABOBL(4)='D41 '
  1816. TABOBL(5)='D42 '
  1817. TABOBL(6)='D44 '
  1818. TABOBL(7)='V1X '
  1819. TABOBL(8)='V1Y '
  1820. TABOBL(9 )='COB1'
  1821. TABOBL(10)='COB2'
  1822. TABOBL(11)='CO12'
  1823. TABOBL(12)='MOB '
  1824. TABOBL(13)='D31 '
  1825. TABOBL(14)='D32 '
  1826. TABOBL(15)='D33 '
  1827. TABOBL(16)='D43 '
  1828. *
  1829. JGFAC=13
  1830. TABFAC(1)='RHO '
  1831. TABFAC(2)='ALP1'
  1832. TABFAC(3)='ALP2'
  1833. TABFAC(4)='AL12'
  1834. TABFAC(5)='ALPM'
  1835. TABFAC(6)='PER1'
  1836. TABFAC(7)='PER2'
  1837. TABFAC(8)='PE12'
  1838. TABFAC(9)='VISC'
  1839. TABFAC(10)='KF '
  1840. TABFAC(11)='RHOF'
  1841. TABFAC(12)='ALPF'
  1842. TABFAC(13)='DIM3'
  1843. *
  1844. ELSEIF (IFOUR.EQ.-1.OR.IFOUR.EQ.0.OR.IFOUR.EQ.-3) THEN
  1845. JGOBL=17
  1846. TABOBL(1)='D11 '
  1847. TABOBL(2)='D21 '
  1848. TABOBL(3)='D22 '
  1849. TABOBL(4)='D31 '
  1850. TABOBL(5)='D32 '
  1851. TABOBL(6)='D33 '
  1852. TABOBL(7)='D41 '
  1853. TABOBL(8)='D42 '
  1854. TABOBL(9)='D43 '
  1855. TABOBL(10)='D44 '
  1856. TABOBL(11)='V1X '
  1857. TABOBL(12)='V1Y '
  1858. TABOBL(13)='COB1'
  1859. TABOBL(14)='COB2'
  1860. TABOBL(15)='CO12'
  1861. TABOBL(16)='COB3'
  1862. TABOBL(17)='MOB '
  1863. *
  1864. JGFAC=13
  1865. TABFAC(1)='RHO '
  1866. TABFAC(2)='ALP1'
  1867. TABFAC(3)='ALP2'
  1868. TABFAC(4)='AL12'
  1869. TABFAC(5)='ALP3'
  1870. TABFAC(6)='ALPM'
  1871. TABFAC(7)='PER1'
  1872. TABFAC(8)='PER2'
  1873. TABFAC(9)='PE12'
  1874. TABFAC(10)='VISC'
  1875. TABFAC(11)='KF '
  1876. TABFAC(12)='RHOF'
  1877. TABFAC(13)='ALPF'
  1878. ELSEIF (IFOUR.EQ.1) THEN
  1879. JGOBL=20
  1880. TABOBL(1)='D11 '
  1881. TABOBL(2)='D21 '
  1882. TABOBL(3)='D22 '
  1883. TABOBL(4)='D31 '
  1884. TABOBL(5)='D32 '
  1885. TABOBL(6)='D33 '
  1886. TABOBL(7)='D41 '
  1887. TABOBL(8)='D42 '
  1888. TABOBL(9)='D43 '
  1889. TABOBL(10)='D44 '
  1890. TABOBL(11)='D55 '
  1891. TABOBL(12)='D65 '
  1892. TABOBL(13)='D66 '
  1893. TABOBL(14)='V1X '
  1894. TABOBL(15)='V1Y '
  1895. TABOBL(16)='COB1'
  1896. TABOBL(17)='COB2'
  1897. TABOBL(18)='CO12'
  1898. TABOBL(19)='COB3'
  1899. TABOBL(20)='MOB '
  1900. *
  1901. JGFAC=14
  1902. TABFAC(1)='RHO '
  1903. TABFAC(2)='ALP1'
  1904. TABFAC(3)='ALP2'
  1905. TABFAC(4)='AL12'
  1906. TABFAC(5)='ALP3'
  1907. TABFAC(6)='ALPM'
  1908. TABFAC(7)='PER1'
  1909. TABFAC(8)='PER2'
  1910. TABFAC(9)='PE12'
  1911. TABFAC(10)='PER3'
  1912. TABFAC(11)='VISC'
  1913. TABFAC(12)='KF '
  1914. TABFAC(13)='RHOF'
  1915. TABFAC(14)='ALPF'
  1916. ENDIF
  1917. ENDIF
  1918. ELSE
  1919. IRET = 0
  1920. GOTO 9999
  1921. ENDIF
  1922. C
  1923. C MATERIAU POREUX ELASTIQUE UNIDIRECTIONNEL
  1924. C =========================================
  1925. ELSEIF (IMATEE.EQ.4) THEN
  1926. IF(MFR.EQ.33)THEN
  1927. IF (IDIM.EQ.3) THEN
  1928. JGOBL=9
  1929. TABOBL(1)='YOUN'
  1930. TABOBL(2)='V1X '
  1931. TABOBL(3)='V1Y '
  1932. TABOBL(4)='V1Z '
  1933. TABOBL(5)='V2X '
  1934. TABOBL(6)='V2Y '
  1935. TABOBL(7)='V2Z '
  1936. TABOBL(8)='COB '
  1937. TABOBL(9)='MOB '
  1938. ELSE
  1939. JGOBL=5
  1940. TABOBL(1)='YOUN'
  1941. TABOBL(2)='V1X '
  1942. TABOBL(3)='V1Y '
  1943. TABOBL(4)='COB '
  1944. TABOBL(5)='MOB '
  1945. ENDIF
  1946. *
  1947. JGFAC=8
  1948. IF(IFOUR.EQ.-2) THEN
  1949. JGFAC=9
  1950. TABFAC(9)='DIM3'
  1951. ENDIF
  1952. TABFAC(1)='RHO '
  1953. TABFAC(2)='ALPH'
  1954. TABFAC(3)='ALPM'
  1955. TABFAC(4)='PERM'
  1956. TABFAC(5)='VISC'
  1957. TABFAC(6)='KF '
  1958. TABFAC(7)='RHOF'
  1959. TABFAC(8)='ALPF'
  1960. ELSE
  1961. IRET = 0
  1962. GOTO 9999
  1963. ENDIF
  1964. C =============================================================
  1965. ENDIF
  1966. C
  1967. IF (NMAT.LT.2) GOTO 9999
  1968. C
  1969. C LECTURE DES AUTRES MOTS-CLES DE MATMOD (DE INMAT A NMAT)
  1970. IF (NMAT.GE.INMAT) THEN
  1971. CALL MODNLI(MOMODL,NMOD)
  1972. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
  1973. INMAT=INMAT+1
  1974. IRET = 1
  1975. C ===========================================================
  1976. C MATERIAU POREUX ELASTIQUE ... PLASTIQUE (ISOTROPE)
  1977. C ===========================================================
  1978. IF (IPLAC.EQ.1) THEN
  1979. CALL MODPLA(MOMODL,NMOD)
  1980. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
  1981. IF (IPLAC.EQ.0) IPLAC=1
  1982. CALL IDPLAS(MFR,TABOBL,TABFAC,JGOBL,JGFAC,ITA,IPLAC,IRET)
  1983. C ===========================================================
  1984. C MATERIAU POREUX ELASTIQUE ... FLUAGE (NORTON)
  1985. C ===========================================================
  1986. ELSEIF (IPLAC.EQ.2) THEN
  1987. CALL MODFLU(MOMODL,NMOD)
  1988. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
  1989. IF (IPLAC.EQ.0) IPLAC=1
  1990. CALL IDFLUA(MFR,TABOBL,TABFAC,JGOBL,JGFAC,ITA,IPLAC,IRET)
  1991. C ===========================================================
  1992. C MATERIAU POREUX ELASTIQUE ... VISCOPLASTIQUE (ONERA)
  1993. C ===========================================================
  1994. ELSEIF (IPLAC.EQ.3) THEN
  1995. CALL MODVIS(MOMODL,NMOD)
  1996. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
  1997. IF (IPLAC.EQ.0) IPLAC=2
  1998. CALL IDVISC(MFR,TABOBL,TABFAC,JGOBL,JGFAC,ITA,IPLAC,IRET)
  1999. C ===========================================================
  2000. C MATERIAU POREUX ELASTIQUE ... ENDOMMAGEMENT (MAZARS)
  2001. C ===========================================================
  2002. ELSEIF (IPLAC.EQ.4) THEN
  2003. CALL MODEND(MOMODL,NMOD)
  2004. CALL PLACE(MOMODL,NMOD,IPLAC,MATMOD(INMAT))
  2005. IF (IPLAC.EQ.0) IPLAC=1
  2006. CALL IDENDO(MFR,TABOBL,TABFAC,JGOBL,JGFAC,ITA,IPLAC,IRET)
  2007. C ===========================================================
  2008. ENDIF
  2009. IF (IRET.EQ.0) GOTO 9999
  2010. C
  2011. C En cas de creation de materiaux combinant plusieurs materiaux
  2012. C deja existant Ex ELASTIQUE ISOTROPE PLASTIQUE PARFAIT FLUAGE N
  2013. C GOTO 40
  2014. C
  2015. ENDIF
  2016. C =================================================================
  2017. C FORMULATION CONTACT
  2018. C =================================================================
  2019. ELSE IF (MFR2.EQ.4) THEN
  2020. C
  2021. IF (INATUU.EQ.2) THEN
  2022. JGOBL=2
  2023. TABOBL(1)='FF '
  2024. TABOBL(2)='PHIF'
  2025.  
  2026. JGFAC=0
  2027. ELSEIF (INATUU.EQ.1) THEN
  2028. JGOBL=1
  2029. TABOBL(1)='MU '
  2030.  
  2031. JGFAC=3
  2032. TABFAC(1)='COHE'
  2033. TABFAC(2)='ADHE'
  2034. TABFAC(3)='JEU'
  2035. ELSE
  2036. JGOBL=0
  2037.  
  2038. JGFAC=2
  2039. TABFAC(1)='JEU'
  2040. TABFAC(2)='ADHE'
  2041. ENDIF
  2042. C =================================================================
  2043. C FORMULATION CONTRAINTE
  2044. C =================================================================
  2045. ELSE IF (MFR2.EQ.6) THEN
  2046. C
  2047. IF (CMATEE.EQ.'ROTATION') THEN
  2048. JGOBL=1
  2049. TABOBL(1)='ANGL'
  2050. ELSEIF (CMATEE.EQ.'DEPLACEMENT') THEN
  2051. JGOBL=1
  2052. TABOBL(1)='AMPL'
  2053. ENDIF
  2054. C =================================================================
  2055. C FORMULATION MAGNETODYNAMIQUE
  2056. C =================================================================
  2057. ELSE IF (MFR2.EQ.69) THEN
  2058. C
  2059. IF(MFR.EQ.3) THEN
  2060. IF(IMATEE.EQ.1) THEN
  2061. JGOBL=3
  2062. TABOBL(1)='ETA'
  2063. TABOBL(2)='PERM'
  2064. TABOBL(3)='EPAI'
  2065. ELSEIF (IMATEE.EQ.3) THEN
  2066. JGOBL=4
  2067. TABOBL(1)='ETA1'
  2068. TABOBL(2)='ETA2'
  2069. TABOBL(3)='PERM'
  2070. TABOBL(4)='EPAI'
  2071. ENDIF
  2072. ENDIF
  2073. C =================================================================
  2074. C FORMULATION FISSURE
  2075. C =================================================================
  2076. ELSE IF (MFR2.EQ.40) THEN
  2077. C
  2078. C si POISEU_BLASIUS ou POISEU_COLEBROOK ou par defaut
  2079. JGOBL=1
  2080. TABOBL(1)='RUGO'
  2081. CALL PLACE(MATMOD,NMAT,IFT1,'FROTTEMENT1')
  2082. CALL PLACE(MATMOD,NMAT,IFT2,'FROTTEMENT2')
  2083. IF(IFT1.NE.0.OR.IFT2.NE.0) THEN
  2084. JGOBL=7
  2085. TABOBL(2)='REC'
  2086. TABOBL(3)='FK'
  2087. TABOBL(4)='FA'
  2088. TABOBL(5)='FB'
  2089. TABOBL(6)='FC'
  2090. TABOBL(7)='FD'
  2091. ELSE
  2092. CALL PLACE(MATMOD,NMAT,IFT1,'FROTTEMENT3')
  2093. CALL PLACE(MATMOD,NMAT,IFT2,'FROTTEMENT4')
  2094. IF(IFT1.NE.0.OR.IFT2.NE.0) THEN
  2095. JGOBL=2
  2096. TABOBL(2)='FK'
  2097. ENDIF
  2098. ENDIF
  2099. C =================================================================
  2100. C FORMULATION NAVIER_STOKES
  2101. C =================================================================
  2102. ELSE IF (MFR2.EQ.52) THEN
  2103. C
  2104. IF (IMATEE.EQ.4) THEN
  2105. *NLIN
  2106. JGOBL = 2
  2107. TABOBL(1) ='RHO '
  2108. TABOBL(2) ='MU '
  2109.  
  2110. JGFAC = 1
  2111. TABFAC(1) ='FREQ'
  2112. ENDIF
  2113. C =================================================================
  2114. C FORMULATION MELANGE
  2115. C =================================================================
  2116. ELSE IF (MFR2.EQ.38) THEN
  2117. C
  2118. IF (IMATEE.NE.3.AND.IMATEE.NE.4) THEN
  2119. CALL IDMETA(MFR,TABOBL,TABFAC,JGOBL,JGFAC,ITA,IMATEE,IRET)
  2120. IF (IRET.EQ.0) GOTO 9999
  2121. ENDIF
  2122. C =================================================================
  2123. C FORMULATION LIAISON
  2124. C =================================================================
  2125. ELSE IF (MFR2.EQ.24) THEN
  2126. C
  2127. IF (IMATEE.EQ.0) THEN
  2128. IRET = 0
  2129. GOTO 9999
  2130. *
  2131. ELSEIF (IMATEE.EQ.1) THEN
  2132. *PO_PL_FL
  2133. JGOBL = 7
  2134. TABOBL(1) ='NORM'
  2135. TABOBL(2) ='INER'
  2136. TABOBL(3) ='CONV'
  2137. TABOBL(4) ='VISC'
  2138. TABOBL(5) ='PELO'
  2139. TABOBL(6) ='PRAP'
  2140. TABOBL(7) ='JFLU'
  2141.  
  2142. ELSEIF (IMATEE.EQ.2) THEN
  2143. *PO_PL_FR
  2144. JGOBL = 7
  2145. TABOBL(1) ='NORM'
  2146. TABOBL(2) ='RAID'
  2147. TABOBL(3) ='JEU'
  2148. TABOBL(4) ='GLIS'
  2149. TABOBL(5) ='ADHE'
  2150. TABOBL(6) ='RTAN'
  2151. TABOBL(7) ='ATAN'
  2152.  
  2153. JGFAC = 2
  2154. TABFAC(1) = 'AMOR'
  2155. TABFAC(2) = 'LOIC'
  2156.  
  2157. ELSEIF (IMATEE.EQ.3) THEN
  2158. *PO_PL
  2159. JGOBL= 3
  2160. TABOBL(1) ='NORM'
  2161. TABOBL(2) ='RAID'
  2162. TABOBL(3) ='JEU'
  2163.  
  2164. JGFAC = 4
  2165. TABFAC(1) = 'LOIC'
  2166. TABFAC(2) = 'PERM'
  2167. TABFAC(3) ='SPLA'
  2168. TABFAC(4) ='AMOR'
  2169.  
  2170. ELSEIF (IMATEE.EQ.4) THEN
  2171. *PO_PO_FR
  2172. JGOBL = 8
  2173. TABOBL(1) ='NORM'
  2174. TABOBL(2) ='RAID'
  2175. TABOBL(3) ='JEU'
  2176. TABOBL(4) ='POIB'
  2177. TABOBL(5) ='ADHE'
  2178. TABOBL(6) ='RTAN'
  2179. TABOBL(7) ='ATAN'
  2180. TABOBL(8) ='GLIS'
  2181.  
  2182. JGFAC = 3
  2183. TABFAC(1) = 'AMOR'
  2184. TABFAC(2) = 'LOIC'
  2185. TABFAC(3) = 'MODE'
  2186.  
  2187. ELSEIF (IMATEE.EQ.5) THEN
  2188. *PO_PO_DP
  2189. JGOBL = 6
  2190. TABOBL(1) ='NORM'
  2191. TABOBL(2) ='ECRO'
  2192. TABOBL(3) ='JEU'
  2193. TABOBL(4) ='POIB'
  2194. TABOBL(5) ='PERM'
  2195. TABOBL(6) ='LOIC'
  2196.  
  2197. JGFAC = 1
  2198. TABFAC(1) = 'AMOR'
  2199.  
  2200. ELSEIF (IMATEE.EQ.6) THEN
  2201. *PO_PO_RP
  2202. JGOBL = 6
  2203. TABOBL(1) ='AXRO'
  2204. TABOBL(2) ='ECRO'
  2205. TABOBL(3) ='JEU'
  2206. TABOBL(4) ='POIB'
  2207. TABOBL(5) ='PERM'
  2208. TABOBL(6) ='LOIC'
  2209.  
  2210. JGFAC = 2
  2211. TABFAC(1) = 'AMOR'
  2212. TABFAC(2) = 'ELAS'
  2213.  
  2214. ELSEIF (IMATEE.EQ.7) THEN
  2215. *PO_PO
  2216. JGOBL = 5
  2217. TABOBL(1) ='NORM'
  2218. TABOBL(2) ='RAID'
  2219. TABOBL(3) ='JEU'
  2220. TABOBL(4) ='POIB'
  2221. TABOBL(5) ='PERM'
  2222.  
  2223. JGFAC = 2
  2224. TABFAC(1) = 'AMOR'
  2225. TABFAC(2) = 'LOIC'
  2226.  
  2227. ELSEIF (IMATEE.EQ.8) THEN
  2228. *PO_CE_MO
  2229. JGOBL = 8
  2230. TABOBL(1) ='NORM'
  2231. TABOBL(2) ='RAID'
  2232. TABOBL(3) ='PCER'
  2233. TABOBL(4) ='RAYO'
  2234. TABOBL(5) ='GLIS'
  2235. TABOBL(6) ='ADHE'
  2236. TABOBL(7) ='RTAN'
  2237. TABOBL(8) ='ATAN'
  2238.  
  2239. JGFAC= 2
  2240. TABFAC(1) = 'CINT'
  2241. TABFAC(2) = 'AMOR'
  2242.  
  2243. ELSEIF (IMATEE.EQ.9) THEN
  2244. *PO_CE_FR
  2245. JGOBL = 8
  2246. TABOBL(1) ='NORM'
  2247. TABOBL(2) ='RAID'
  2248. TABOBL(3) ='EXCE'
  2249. TABOBL(4) ='RAYO'
  2250. TABOBL(5) ='GLIS'
  2251. TABOBL(6) ='ADHE'
  2252. TABOBL(7) ='RTAN'
  2253. TABOBL(8) ='ATAN'
  2254.  
  2255. JGFAC = 2
  2256. TABFAC(1) = 'CINT'
  2257. TABFAC(2) = 'AMOR'
  2258.  
  2259. ELSEIF (IMATEE.EQ.10) THEN
  2260. *PO_CE
  2261. JGOBL = 4
  2262. TABOBL(1) ='NORM'
  2263. TABOBL(2) ='RAID'
  2264. TABOBL(3) ='EXCE'
  2265. TABOBL(4) ='RAYO'
  2266.  
  2267. JGFAC = 1
  2268. TABFAC(1) = 'AMOR'
  2269.  
  2270. ELSEIF (IMATEE.EQ.11) THEN
  2271. *CE_PL_FR
  2272. JGOBL = 8
  2273. TABOBL(1) ='NORM'
  2274. TABOBL(2) ='RAID'
  2275. TABOBL(3) ='JEU'
  2276. TABOBL(4) ='RAYS'
  2277. TABOBL(5) ='GLIS'
  2278. TABOBL(6) ='ADHE'
  2279. TABOBL(7) ='RTAN'
  2280. TABOBL(8) ='ATAN'
  2281.  
  2282. JGFAC = 1
  2283. TABFAC(1) = 'AMOR'
  2284.  
  2285. ELSEIF (IMATEE.EQ.12) THEN
  2286. *CE_CE_FR
  2287. JGOBL = 9
  2288. TABOBL(1) ='NORM'
  2289. TABOBL(2) ='RAID'
  2290. TABOBL(3) ='EXCE'
  2291. TABOBL(4) ='RAYS'
  2292. TABOBL(5) ='GLIS'
  2293. TABOBL(6) ='ADHE'
  2294. TABOBL(7) ='RTAN'
  2295. TABOBL(8) ='ATAN'
  2296. TABOBL(9) ='RAYB'
  2297.  
  2298. JGFAC = 2
  2299. TABFAC(1) = 'AMOR'
  2300. TABFAC(2) = 'CINT'
  2301.  
  2302. ELSEIF (IMATEE.EQ.13.OR.IMATEE.EQ.14) THEN
  2303. *PR_PR_IN ou PR_PR_EX
  2304. JGOBL = 5
  2305. TABOBL(1) ='NORM'
  2306. TABOBL(2) ='RAID'
  2307. TABOBL(3) ='PFIX'
  2308. TABOBL(4) ='PMOB'
  2309. TABOBL(5) ='ERAI'
  2310.  
  2311. ELSEIF (IMATEE.EQ.15) THEN
  2312. *LI_LI_FR
  2313. JGOBL = 8
  2314. TABOBL(1) ='NORM'
  2315. TABOBL(2) ='LIMA'
  2316. TABOBL(3) ='LIES'
  2317. TABOBL(4) ='RAID'
  2318. TABOBL(5) ='GLIS'
  2319. TABOBL(6) ='ADHE'
  2320. TABOBL(7) ='RTAN'
  2321. TABOBL(8) ='ATAN'
  2322.  
  2323. JGFAC = 4
  2324. TABFAC(1) = 'JEU'
  2325. TABFAC(2) = 'AMOR'
  2326. TABFAC(3) = 'RECH'
  2327. TABFAC(4) = 'SYME'
  2328.  
  2329. ELSEIF (IMATEE.EQ.16) THEN
  2330. *LI_CE_FR
  2331. JGOBL = 8
  2332. TABOBL(1) ='NORM'
  2333. TABOBL(2) ='LIMA'
  2334. TABOBL(3) ='LIES'
  2335. TABOBL(4) ='RAID'
  2336. TABOBL(5) ='GLIS'
  2337. TABOBL(6) ='ADHE'
  2338. TABOBL(7) ='RTAN'
  2339. TABOBL(8) ='ATAN'
  2340.  
  2341. JGFAC = 5
  2342. TABFAC(1) = 'AMOR'
  2343. TABFAC(2) = 'RECH'
  2344. TABFAC(3) = 'RAYO'
  2345. TABFAC(4) = 'ACTN'
  2346. TABFAC(5) = 'INVE'
  2347.  
  2348. ELSEIF (IMATEE.EQ.17) THEN
  2349. *PA_FL_RO
  2350. JGOBL =10
  2351. TABOBL(1) ='LONG'
  2352. TABOBL(2) ='RAYO'
  2353. TABOBL(3) ='VISC'
  2354. TABOBL(4) ='RHOF'
  2355. TABOBL(5) ='PADM'
  2356. TABOBL(6) ='VROT'
  2357. TABOBL(7) ='EPSI'
  2358. TABOBL(8) ='PHII'
  2359. TABOBL(9) ='AFFI'
  2360. TABOBL(10)='TLOB'
  2361.  
  2362. JGFAC = 1
  2363. TABFAC(1) = 'AMOR'
  2364.  
  2365. ELSEIF (IMATEE.EQ.23) THEN
  2366. *NEWMARK MODAL
  2367. JGOBL =3
  2368. TABOBL(1) ='JEU'
  2369. TABOBL(2) ='MASS'
  2370. TABOBL(3) ='FREQ'
  2371.  
  2372. JGFAC = 3
  2373. TABFAC(1) = 'EXCE'
  2374. TABFAC(2) = 'FROT'
  2375. TABFAC(3) = 'MOFR'
  2376. ENDIF
  2377.  
  2378. C 'SORT' facultatif dans tous les cas
  2379. JGOBL0 = JGFAC
  2380. JGFAC= JGOBL0+1
  2381. TABFAC(JGOBL0+1) = 'SORT'
  2382. C =================================================================
  2383. C FORMULATION ELECTROSTATIQUE
  2384. C =================================================================
  2385. ELSE IF (MFR2.EQ.71) THEN
  2386. C
  2387. C Permittivite isotrope
  2388. IF (IMATEE.EQ.1) THEN
  2389. JGOBL = 1
  2390. TABOBL(1)='PEL '
  2391. C
  2392. C Permittivite orthotrope
  2393. ELSEIF (IMATEE.EQ.2) THEN
  2394. IF (IDIM.EQ.2) THEN
  2395. IF (IFOMOD.NE.1) THEN
  2396. JGOBL = 4
  2397. TABOBL(1) = 'PE1 '
  2398. TABOBL(2) = 'PE2 '
  2399. TABOBL(3) = 'V1X '
  2400. TABOBL(4) = 'V1Y '
  2401. ELSE
  2402. JGOBL = 5
  2403. TABOBL(1) = 'PE1 '
  2404. TABOBL(2) = 'PE2 '
  2405. TABOBL(3) = 'PE3 '
  2406. TABOBL(4) = 'V1X '
  2407. TABOBL(5) = 'V1Y '
  2408. ENDIF
  2409. ELSEIF (IDIM.EQ.3) THEN
  2410. JGOBL = 9
  2411. TABOBL(1) = 'PE1 '
  2412. TABOBL(2) = 'PE2 '
  2413. TABOBL(3) = 'PE3 '
  2414. TABOBL(4) = 'V1X '
  2415. TABOBL(5) = 'V1Y '
  2416. TABOBL(6) = 'V1Z '
  2417. TABOBL(7) = 'V2X '
  2418. TABOBL(8) = 'V2Y '
  2419. TABOBL(9) = 'V2Z '
  2420. ENDIF
  2421. C
  2422. C Permittivite anisotrope
  2423. ELSEIF (IMATEE.EQ.3) THEN
  2424. IF (IDIM.EQ.2) THEN
  2425. IF (IFOMOD.NE.1) THEN
  2426. JGOBL = 5
  2427. TABOBL(1) = 'PE11 '
  2428. TABOBL(2) = 'PE22 '
  2429. TABOBL(3) = 'PE21 '
  2430. TABOBL(4) = 'V1X '
  2431. TABOBL(5) = 'V1Y '
  2432. ELSE
  2433. JGOBL = 6
  2434. TABOBL(1) = 'PE11 '
  2435. TABOBL(2) = 'PE22 '
  2436. TABOBL(3) = 'PE21 '
  2437. TABOBL(4) = 'PE33 '
  2438. TABOBL(5) = 'V1X '
  2439. TABOBL(6) = 'V1Y '
  2440. ENDIF
  2441. ELSEIF (IDIM.EQ.3) THEN
  2442. JGOBL = 12
  2443. TABOBL( 1) = 'PE11 '
  2444. TABOBL( 2) = 'PE22 '
  2445. TABOBL( 3) = 'PE33 '
  2446. TABOBL( 4) = 'PE21 '
  2447. TABOBL( 5) = 'PE31 '
  2448. TABOBL( 6) = 'PE32 '
  2449. TABOBL( 7) = 'V1X '
  2450. TABOBL( 8) = 'V1Y '
  2451. TABOBL( 9) = 'V1Z '
  2452. TABOBL(10) = 'V2X '
  2453. TABOBL(11) = 'V2Y '
  2454. TABOBL(12) = 'V2Z '
  2455. ENDIF
  2456. ENDIF
  2457. C =================================================================
  2458. C FORMULATION DIFFUSION
  2459. C =================================================================
  2460. ELSE IF (MFR2.EQ.73) THEN
  2461. C
  2462. JGFAC = 1
  2463. TABFAC(1)='CDIF'
  2464. C
  2465. C Diffusion isotrope
  2466. IF (IMATEE.EQ.1) THEN
  2467. JGOBL = 1
  2468. C*8 TABOBL(1) = 'KDIFF '
  2469. TABOBL(1) = 'KD '
  2470. C
  2471. C Diffusion orthotrope
  2472. ELSEIF (IMATEE.EQ.2) THEN
  2473. IF (IDIM.EQ.2) THEN
  2474. IF (IFOMOD.NE.1) THEN
  2475. JGOBL = 4
  2476. TABOBL(1) = 'KD1 '
  2477. TABOBL(2) = 'KD2 '
  2478. TABOBL(3) = 'V1X '
  2479. TABOBL(4) = 'V1Y '
  2480. ELSE
  2481. JGOBL = 5
  2482. TABOBL(1) = 'KD1 '
  2483. TABOBL(2) = 'KD2 '
  2484. TABOBL(3) = 'KD3 '
  2485. TABOBL(4) = 'V1X '
  2486. TABOBL(5) = 'V1Y '
  2487. ENDIF
  2488. ELSEIF (IDIM.EQ.3) THEN
  2489. JGOBL = 9
  2490. TABOBL(1) = 'KD1 '
  2491. TABOBL(2) = 'KD2 '
  2492. TABOBL(3) = 'KD3 '
  2493. TABOBL(4) = 'V1X '
  2494. TABOBL(5) = 'V1Y '
  2495. TABOBL(6) = 'V1Z '
  2496. TABOBL(7) = 'V2X '
  2497. TABOBL(8) = 'V2Y '
  2498. TABOBL(9) = 'V2Z '
  2499. ENDIF
  2500. C
  2501. C Diffusion anisotrope
  2502. ELSEIF (IMATEE.EQ.3) THEN
  2503. IF (IDIM.EQ.2) THEN
  2504. IF (IFOMOD.NE.1) THEN
  2505. JGOBL = 5
  2506. TABOBL(1) = 'KD11 '
  2507. TABOBL(2) = 'KD22 '
  2508. TABOBL(3) = 'KD21 '
  2509. TABOBL(4) = 'V1X '
  2510. TABOBL(5) = 'V1Y '
  2511. ELSE
  2512. JGOBL = 6
  2513. TABOBL(1) = 'KD11 '
  2514. TABOBL(2) = 'KD22 '
  2515. TABOBL(3) = 'KD21 '
  2516. TABOBL(4) = 'KD33 '
  2517. TABOBL(5) = 'V1X '
  2518. TABOBL(6) = 'V1Y '
  2519. ENDIF
  2520. ELSEIF (IDIM.EQ.3) THEN
  2521. JGOBL = 12
  2522. TABOBL( 1) = 'KD11 '
  2523. TABOBL( 2) = 'KD22 '
  2524. TABOBL( 3) = 'KD33 '
  2525. TABOBL( 4) = 'KD21 '
  2526. TABOBL( 5) = 'KD31 '
  2527. TABOBL( 6) = 'KD32 '
  2528. TABOBL( 7) = 'V1X '
  2529. TABOBL( 8) = 'V1Y '
  2530. TABOBL( 9) = 'V1Z '
  2531. TABOBL(10) = 'V2X '
  2532. TABOBL(11) = 'V2Y '
  2533. TABOBL(12) = 'V2Z '
  2534. ENDIF
  2535. ENDIF
  2536. C
  2537. JGOBL0 = JGOBL
  2538. JGFAC0 = JGFAC
  2539. C
  2540. * Loi FICK :
  2541. * ------------
  2542. IF (INATUU.EQ.0) THEN
  2543. * Rien a ajouter
  2544.  
  2545. * Loi SORET :
  2546. * -------------
  2547. ELSEIF (INATUU.EQ.1) THEN
  2548. C -- Diffusion isotrope
  2549. IF (IMATEE.EQ.1) THEN
  2550. JGOBL = JGOBL+1
  2551. C*8 TABOBL(JGOBL0+1) = 'KSORET '
  2552. TABOBL(JGOBL0+1) = 'KS '
  2553.  
  2554. C -- Diffusion orthotrope
  2555. ELSEIF (IMATEE.EQ.2) THEN
  2556. C ---- Elements massifs bidimensionnels PLAN et AXISYMETRIQUE
  2557. IF (IFOMOD.LE.0) THEN
  2558. JGOBL = JGOBL + 2
  2559. C*8 TABOBL(JGOBL0+1) = 'KSORET1 '
  2560. C*8 TABOBL(JGOBL0+2) = 'KSORET2 '
  2561. TABOBL(JGOBL0+1) = 'KS1 '
  2562. TABOBL(JGOBL0+2) = 'KS2 '
  2563.  
  2564. C ---- Elements massifs bidimensionnels FOURIER
  2565. C ---- Elements massifs TRIDimensionnels
  2566. ELSE
  2567. JGOBL = JGOBL + 3
  2568. C*8 TABOBL(JGOBL0+1) = 'KSORET1 '
  2569. C*8 TABOBL(JGOBL0+2) = 'KSORET2 '
  2570. C*8 TABOBL(JGOBL0+3) = 'KSORET3 '
  2571. TABOBL(JGOBL0+1) = 'KS1 '
  2572. TABOBL(JGOBL0+2) = 'KS2 '
  2573. TABOBL(JGOBL0+3) = 'KS3 '
  2574. ENDIF
  2575.  
  2576. C -- Diffusion anisotrope
  2577. ELSEIF (IMATEE.EQ.3) THEN
  2578. C ---- Elements massifs bidimensionnels PLAN et AXISYMETRIQUE
  2579. IF (IFOMOD.LE.0) THEN
  2580. JGOBL = JGOBL + 3
  2581. C*8 TABOBL(JGOBL0+1) = 'KSORET11'
  2582. C*8 TABOBL(JGOBL0+2) = 'KSORET22'
  2583. C*8 TABOBL(JGOBL0+3) = 'KSORET21'
  2584. TABOBL(JGOBL0+1) = 'KS11 '
  2585. TABOBL(JGOBL0+2) = 'KS22 '
  2586. TABOBL(JGOBL0+3) = 'KS21 '
  2587.  
  2588. C ---- Elements massifs bidimensionnels FOURIER
  2589. ELSEIF (IFOMOD.EQ.1) THEN
  2590. JGOBL = JGOBL + 4
  2591. C*8 TABOBL(JGOBL0+1) = 'KSORET11'
  2592. C*8 TABOBL(JGOBL0+2) = 'KSORET22'
  2593. C*8 TABOBL(JGOBL0+3) = 'KSORET21'
  2594. C*8 TABOBL(JGOBL0+4) = 'KSORET33'
  2595. TABOBL(JGOBL0+1) = 'KS11 '
  2596. TABOBL(JGOBL0+2) = 'KS22 '
  2597. TABOBL(JGOBL0+3) = 'KS21 '
  2598. TABOBL(JGOBL0+4) = 'KS33 '
  2599.  
  2600. C ---- Elements massifs TRIDimensionnels
  2601. ELSEIF (IFOMOD.EQ.2) THEN
  2602. JGOBL = JGOBL + 6
  2603. C*8 TABOBL(JGOBL0+1) = 'KSORET11'
  2604. C*8 TABOBL(JGOBL0+2) = 'KSORET22'
  2605. C*8 TABOBL(JGOBL0+3) = 'KSORET33'
  2606. C*8 TABOBL(JGOBL0+4) = 'KSORET21'
  2607. C*8 TABOBL(JGOBL0+5) = 'KSORET31'
  2608. C*8 TABOBL(JGOBL0+6) = 'KSORET32'
  2609. TABOBL(JGOBL0+1) = 'KS11 '
  2610. TABOBL(JGOBL0+2) = 'KS22 '
  2611. TABOBL(JGOBL0+3) = 'KS33 '
  2612. TABOBL(JGOBL0+4) = 'KS21 '
  2613. TABOBL(JGOBL0+5) = 'KS31 '
  2614. TABOBL(JGOBL0+6) = 'KS32 '
  2615. ENDIF
  2616.  
  2617. ELSE
  2618. C -- Erreur ne devant pas survenir
  2619. CALL ERREUR(261)
  2620. RETURN
  2621. ENDIF
  2622.  
  2623. * Loi UTILISATEUR :
  2624. * -------------------
  2625. * ELSEIF (INATUU.EQ.2) THEN
  2626. * Par defaut pas de composantes autres que celles de l'utilisateur
  2627.  
  2628. ELSEIF (INATUU.EQ.5) THEN
  2629. * diffusion avec dissipation affine
  2630. JGOBL = JGOBL+2
  2631. TABOBL(JGOBL0+1)='DAF0'
  2632. TABOBL(JGOBL0+2)='DAF1'
  2633.  
  2634. ELSEIF (INATUU.EQ.6) THEN
  2635. * diffusion avec dissipation visqueuse
  2636. JGOBL = JGOBL+2
  2637. TABOBL(JGOBL0+1)='DVQ0'
  2638. TABOBL(JGOBL0+2)='DVQ1'
  2639.  
  2640. * Loi inconnue : ERREUR
  2641. * ----------------
  2642. ELSE
  2643. CALL ERREUR(261)
  2644. RETURN
  2645. ENDIF
  2646.  
  2647. * Composantes ADVECTION :
  2648. * -------------------
  2649. CALL PLACE(MATMOD,NMAT,IADVE,'ADVECTION')
  2650. IF (IADVE.NE.0) THEN
  2651.  
  2652. C Cas des Tuyaux 1D (MFR=79)
  2653. C ===========================
  2654. IF (MFR .EQ. 79) THEN
  2655. JGOBL = JGOBL + 1
  2656. TABOBL(JGOBL0 + 1)='VITE'
  2657.  
  2658. JGFAC = JGFAC + 1
  2659. TABFAC(JGFAC0 + 1)='DL'
  2660.  
  2661. C Cas Diffusion Massif
  2662. C ============================
  2663. ELSEIF (MFR .EQ. 1) THEN
  2664. IF (IFOUR.EQ.-3) THEN
  2665. JGOBL = JGOBL + 3
  2666. TABOBL(JGOBL0 + 1)='VITX'
  2667. TABOBL(JGOBL0 + 2)='VITY'
  2668. TABOBL(JGOBL0 + 3)='VITZ'
  2669.  
  2670. JGFAC = JGFAC + 3
  2671. TABFAC(JGFAC0 + 1)='DX'
  2672. TABFAC(JGFAC0 + 2)='DY'
  2673. TABFAC(JGFAC0 + 3)='DZ'
  2674. ELSEIF (IFOUR.EQ.-2 .OR. IFOUR.EQ.-1) THEN
  2675. JGOBL = JGOBL + 2
  2676. TABOBL(JGOBL0 + 1)='VITX'
  2677. TABOBL(JGOBL0 + 2)='VITY'
  2678.  
  2679. JGFAC = JGFAC + 2
  2680. TABFAC(JGFAC0 + 1)='DX'
  2681. TABFAC(JGFAC0 + 2)='DY'
  2682. ELSEIF (IFOUR .EQ. 0) THEN
  2683. JGOBL = JGOBL + 2
  2684. TABOBL(JGOBL0 + 1)='VITR'
  2685. TABOBL(JGOBL0 + 2)='VITZ'
  2686.  
  2687. JGFAC = JGFAC + 2
  2688. TABFAC(JGFAC0 + 1)='DR'
  2689. TABFAC(JGFAC0 + 2)='DZ'
  2690. ELSEIF (IFOUR .EQ. 1) THEN
  2691. CALL ERREUR(21)
  2692. RETURN
  2693. C JGOBL = JGOBL + 3
  2694. C TABOBL(JGOBL0 + 1)='VITR'
  2695. C TABOBL(JGOBL0 + 2)='VITZ'
  2696. C TABOBL(JGOBL0 + 3)='VITT'
  2697. C
  2698. C JGFAC = JGFAC + 3
  2699. C TABFAC(JGFAC0 + 1)='DR'
  2700. C TABFAC(JGFAC0 + 2)='DZ'
  2701. C TABFAC(JGFAC0 + 3)='DT'
  2702. ELSEIF (IFOUR .EQ. 2) THEN
  2703. JGOBL = JGOBL + 3
  2704. TABOBL(JGOBL0 + 1)='VITX'
  2705. TABOBL(JGOBL0 + 2)='VITY'
  2706. TABOBL(JGOBL0 + 3)='VITZ'
  2707.  
  2708. JGFAC = JGFAC + 3
  2709. TABFAC(JGFAC0 + 1)='DX'
  2710. TABFAC(JGFAC0 + 2)='DY'
  2711. TABFAC(JGFAC0 + 3)='DZ'
  2712. ELSEIF (IFOUR.GE.3 .AND. IFOUR.LE.15) THEN
  2713. IF (IFOUR.LE.6) THEN
  2714. JGOBL = JGOBL + 1
  2715. TABOBL(JGOBL0 + 1)='VITX'
  2716.  
  2717. JGFAC = JGFAC + 1
  2718. TABFAC(JGFAC0 + 1)='DX'
  2719.  
  2720. ELSEIF (IFOUR.EQ.7 .OR. IFOUR.EQ.8) THEN
  2721. JGOBL = JGOBL + 2
  2722. TABOBL(JGOBL0 + 1)='VITX'
  2723. TABOBL(JGOBL0 + 2)='VITY'
  2724.  
  2725. JGFAC = JGFAC + 2
  2726. TABFAC(JGFAC0 + 1)='DX'
  2727. TABFAC(JGFAC0 + 2)='DY'
  2728.  
  2729. ELSEIF (IFOUR.EQ.9 .OR. IFOUR.EQ.10) THEN
  2730. JGOBL = JGOBL + 2
  2731. TABOBL(JGOBL0 + 1)='VITX'
  2732. TABOBL(JGOBL0 + 2)='VITZ'
  2733.  
  2734. JGFAC = JGFAC + 2
  2735. TABFAC(JGFAC0 + 1)='DX'
  2736. TABFAC(JGFAC0 + 2)='DZ'
  2737.  
  2738. ELSEIF (IFOUR.EQ.11) THEN
  2739. JGOBL = JGOBL + 3
  2740. TABOBL(JGOBL0 + 1)='VITX'
  2741. TABOBL(JGOBL0 + 2)='VITY'
  2742. TABOBL(JGOBL0 + 3)='VITZ'
  2743.  
  2744. JGFAC = JGFAC + 3
  2745. TABFAC(JGFAC0 + 1)='DX'
  2746. TABFAC(JGFAC0 + 2)='DY'
  2747. TABFAC(JGFAC0 + 3)='DZ'
  2748.  
  2749. ELSEIF (IFOUR.EQ.12.OR.IFOUR.EQ.13.OR.IFOUR.EQ.15) THEN
  2750. JGOBL = JGOBL + 1
  2751. TABOBL(JGOBL0 + 1)='VITR'
  2752.  
  2753. JGFAC = JGFAC + 1
  2754. TABFAC(JGFAC0 + 1)='DR'
  2755.  
  2756. ELSEIF (IFOUR.EQ.14) THEN
  2757. JGOBL = JGOBL + 2
  2758. TABOBL(JGOBL0 + 1)='VITR'
  2759. TABOBL(JGOBL0 + 2)='VITZ'
  2760.  
  2761. JGFAC = JGFAC + 2
  2762. TABFAC(JGFAC0 + 1)='DR'
  2763. TABFAC(JGFAC0 + 2)='DZ'
  2764. ENDIF
  2765. ENDIF
  2766. ENDIF
  2767. ENDIF
  2768. C =================================================================
  2769. C FORMULATION CHARGEMENT
  2770. C =================================================================
  2771. ELSE IF (MFR2.EQ.72) THEN
  2772. C
  2773. IF (IMATEE.EQ.1) THEN
  2774. C RAJOUTER DIFFERENTIATION EN FONCIONS DE LA FORMULATION MASSIF -> P
  2775. C COQUE PINF PSUP
  2776. JGOBL=1
  2777. TABOBL(1)='PR '
  2778. ELSE
  2779. IRET = 0
  2780. CALL ERREUR(5)
  2781. ENDIF
  2782. C =================================================================
  2783. C FORMULATION CHANGEMENT_PHASE
  2784. C =================================================================
  2785. ELSE IF (MFR2.EQ.30) THEN
  2786. C
  2787. IF (IMODEL.CMATEE.EQ.'CHPH_PAR') THEN
  2788. JGOBL=2
  2789. TABOBL(1)='PRIM'
  2790. TABOBL(2)='DUAL'
  2791.  
  2792. JGFAC=0
  2793. ELSEIF (IMODEL.CMATEE.EQ.'CHPH_SOL') THEN
  2794. JGOBL=1
  2795. TABOBL(1)='SOLU'
  2796.  
  2797. JGFAC=0
  2798. ENDIF
  2799. C =================================================================
  2800. ENDIF
  2801. *--------------------------------------------------------------------
  2802. * CREATION DU NOMID A PARTIR DE TABOBL ET TABFAC
  2803. *--------------------------------------------------------------------
  2804. 9999 CONTINUE
  2805.  
  2806. IF((MFR2.EQ.2) .OR. (MFR2.EQ.33)) THEN
  2807. C CB215821 : Ajout de TREF et TALP à la fin des compostantes facultatives
  2808. C pour les FORMULATION MECANIQUE, POREUX
  2809. C Pour ne pas casser l'ordre dans COMP (com2/coml6/comval/comara/...)
  2810. JGFAC=JGFAC+2
  2811. TABFAC(JGFAC-1) ='TREF'
  2812. TABFAC(JGFAC) ='TALP'
  2813. ENDIF
  2814.  
  2815. C Erreur si JGOBL ou JGFAC sont superieurs a ITA
  2816. C (Passage en FORTRAN 77 car la compilation depasse la memoire sur
  2817. C Windows-32bits)
  2818. IF ((JGOBL .GT. ITA) .OR. (JGFAC .GT. ITA)) THEN
  2819. IRET = 0
  2820. CALL ERREUR(5)
  2821. RETURN
  2822. ENDIF
  2823. C
  2824. C SI PROBLEME (IRET = 0), ON SORT AVEC IPNOMC A 0
  2825. C
  2826. IF (IRET.NE.0) THEN
  2827. NBROBL = JGOBL
  2828. NBRFAC = JGFAC
  2829. SEGINI,NOMID
  2830. IPNOMC=NOMID
  2831. C
  2832. DO 100 IO = 1,NBROBL
  2833. NOMID.LESOBL(IO) = TABOBL(IO)
  2834. 100 CONTINUE
  2835. C
  2836. DO 110 IO=1,NBRFAC
  2837. NOMID.LESFAC(IO) = TABFAC(IO)
  2838. 110 CONTINUE
  2839. C
  2840. SEGACT,NOMID*NOMOD
  2841. ENDIF
  2842. END
  2843.  
  2844.  
  2845.  

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