Télécharger idvar4.eso

Retour à la liste

Numérotation des lignes :

idvar4
  1. C IDVAR4 SOURCE PV090527 24/02/09 21:15:03 11835
  2.  
  3. C=======================================================================
  4. * RECHERCHE DES NOMS DE COMPOSANTES DES VARIABLES INTERNES
  5. * --------------------------------------------------------
  6. *
  7. * ENTREES :
  8. * ---------
  9. * MATEPL NUMERO DU MATERIAU PLASTIQUE
  10. * MFR NUMERO DE FORMULATION
  11. * IFOUR VALEUR DE IFOU DANS CCOPTIO
  12. * NPINT NOMBRE DE POINTS D'INTEGRATION DANS L'EPAISSEUR
  13. * POUR LES ELEMENTS DE COQUE INTEGRES
  14. *
  15. * SORTIES :
  16. * ---------
  17. * IPCOMP POINTEUR SUR LA LISTE DES NOMS DE COMPOSANTES
  18. * OBLIGATOIRES ET FACULTATIVES
  19. * NBROBL NOMBRE DE COMPOSANTES OBLIGATOIRES
  20. * NBRFAC NOMBRE DE COMPOSANTES FACTULTATIVES
  21. C=======================================================================
  22.  
  23. SUBROUTINE IDVAR4 (MATEPL,MFR,IFOUR,NPINT,IPCOMP,NBROBL,NBRFAC)
  24.  
  25. IMPLICIT INTEGER(I-N)
  26.  
  27. ***sellier rajout de parametre pour gerer les noms de variables ********
  28. character*1 motren1,mothelm1,motinc1,motnum1,motdir1,motvec1
  29. character*2 motren2,mothelm2,motinc2,motnum2,motdir2,motvec2
  30. character*3 motren3,mothelm3,motinc3,motnum3,motdir3,motvec3
  31. character*4 motren4,mothelm4,motinc4,motnum4,motdir4,motvec4
  32. integer icomp3d,nv3d,iphase3d,int3d,i
  33. integer NBVCOM3D,NBVMAT3D,NBRINC3D,NBVPARI3D
  34. integer NBNLOC3D,NDEBUT
  35. c NOMBRE DE VARI POUR FLUENDO3D
  36. c include './nombre_fluendo3d.h'
  37. -INC HNBRF3D
  38. c NB_RENF,NB_PARA_RENF,NB_VARI_RENF
  39. c include './nombre_renforts.h'
  40. -INC HNBRREN
  41. c NB_HELM,NB_PARA_HELM,NB_VARI_HELM
  42. c include './nombre_helmholtz.h'
  43. -INC HNBRHEL
  44.  
  45. c nombre de sous types de modeles a coupler dans FLUISO3D et FLUORTHO3D
  46. integer NSTYPEI,NSTYPEO,ITYPE
  47. c dimension du vecteur de stockage des tenseurs (ici 12
  48. c = 3 valeurs principales suivies des 3 vecteurs propres)
  49. integer NDTENS,JDIR,KDIR,N3D,NUM0
  50. c pour chaque sous type de modele on a indice 1-9 numero du sous type
  51. c indice 2 : si 1 nbre de tenseurs, si 2 nombre de scalaires
  52. c exple : VNVARI(2,1)=5 (le sous type 2 a 5 vari scalaires)
  53. c VNVARI(2,2)=1 (le sous type 2 a une seule vari tensorielle)
  54. parameter (NSTYPEI=9,NSTYPEO=4,NDTENS=12)
  55. c nombre de vari scalaires par sous type de modele
  56. integer VNVARI_I(NSTYPEI,2),VNVARI_O(NSTYPEO,2)
  57.  
  58. ***fin ajout declaration sellier ***************************************
  59.  
  60. SEGMENT NOMID
  61. CHARACTER*8 LESOBL(NBROBL),LESFAC(NBRFAC)
  62. ENDSEGMENT
  63.  
  64. NBROBL=0
  65. NBRFAC=0
  66. NOMID=0
  67.  
  68. C 1 - Modele ONERA et OHNO
  69. C ===================================
  70. IF (MATEPL.EQ.25) THEN
  71. C =====
  72. C 1.1 - Elements MASSIFs
  73. C =====
  74. IF (MFR.EQ.1.OR.MFR.EQ.31.OR.MFR.EQ.33) THEN
  75. C= 1.1.1 - Cas des CONTRAINTES PLANES ou des DEFORMATIONS PLANES ou
  76. C= des DEFORMATIONS PLANES GENERALISEES
  77. IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN
  78. NBROBL=20
  79. SEGINI,NOMID
  80. LESOBL( 1)='X1XX'
  81. LESOBL( 2)='X1YY'
  82. LESOBL( 3)='X1ZZ'
  83. LESOBL( 4)='X1XY'
  84. LESOBL( 5)='X2XX'
  85. LESOBL( 6)='X2YY'
  86. LESOBL( 7)='X2ZZ'
  87. LESOBL( 8)='X2XY'
  88. LESOBL( 9)='GPXX'
  89. LESOBL(10)='GPYY'
  90. LESOBL(11)='GPZZ'
  91. LESOBL(12)='GPXY'
  92. LESOBL(13)='VIXX'
  93. LESOBL(14)='VIYY'
  94. LESOBL(15)='VIZZ'
  95. LESOBL(16)='VIXY'
  96. LESOBL(17)='EPSE'
  97. LESOBL(18)='RR '
  98. LESOBL(19)='QQQ '
  99. LESOBL(20)='QQ '
  100. C= 1.1.2 - Cas AXISYMETRIQUE
  101. ELSE IF (IFOUR.EQ.0) THEN
  102. NBROBL=20
  103. SEGINI,NOMID
  104. LESOBL( 1)='X1RR'
  105. LESOBL( 2)='X1ZZ'
  106. LESOBL( 3)='X1TT'
  107. LESOBL( 4)='X1RZ'
  108. LESOBL( 5)='X2RR'
  109. LESOBL( 6)='X2ZZ'
  110. LESOBL( 7)='X2TT'
  111. LESOBL( 8)='X2RZ'
  112. LESOBL( 9)='GPRR'
  113. LESOBL(10)='GPZZ'
  114. LESOBL(11)='GPTT'
  115. LESOBL(12)='GPRZ'
  116. LESOBL(13)='VIRR'
  117. LESOBL(14)='VIZZ'
  118. LESOBL(15)='VITT'
  119. LESOBL(16)='VIRZ'
  120. LESOBL(17)='EPSE'
  121. LESOBL(18)='RR '
  122. LESOBL(19)='QQQ '
  123. LESOBL(20)='QQ '
  124. C= 1.1.3 - Cas des series de FOURIER
  125. ELSE IF (IFOUR.EQ.1) THEN
  126. NBROBL=28
  127. SEGINI,NOMID
  128. LESOBL( 1)='X1RR'
  129. LESOBL( 2)='X1ZZ'
  130. LESOBL( 3)='X1TT'
  131. LESOBL( 4)='X1RZ'
  132. LESOBL( 5)='X1RT'
  133. LESOBL( 6)='X1ZT'
  134. LESOBL( 7)='X2RR'
  135. LESOBL( 8)='X2ZZ'
  136. LESOBL( 9)='X2TT'
  137. LESOBL(10)='X2RZ'
  138. LESOBL(11)='X2RT'
  139. LESOBL(12)='X2ZT'
  140. LESOBL(13)='GPRR'
  141. LESOBL(14)='GPZZ'
  142. LESOBL(15)='GPTT'
  143. LESOBL(16)='GPRZ'
  144. LESOBL(17)='GPRT'
  145. LESOBL(18)='GPZT'
  146. LESOBL(19)='VIRR'
  147. LESOBL(20)='VIZZ'
  148. LESOBL(21)='VITT'
  149. LESOBL(22)='VIRZ'
  150. LESOBL(23)='VIRT'
  151. LESOBL(24)='VIZT'
  152. LESOBL(25)='EPSE'
  153. LESOBL(26)='RR '
  154. LESOBL(27)='QQQ '
  155. LESOBL(28)='QQ '
  156. C= 1.1.4 - Cas TRIDIMENSIONNEL
  157. ELSE IF (IFOUR.EQ.2) THEN
  158. NBROBL=28
  159. SEGINI,NOMID
  160. LESOBL( 1)='X1XX'
  161. LESOBL( 2)='X1YY'
  162. LESOBL( 3)='X1ZZ'
  163. LESOBL( 4)='X1XY'
  164. LESOBL( 5)='X1YZ'
  165. LESOBL( 6)='X1ZX'
  166. LESOBL( 7)='X2XX'
  167. LESOBL( 8)='X2YY'
  168. LESOBL( 9)='X2ZZ'
  169. LESOBL(10)='X2XY'
  170. LESOBL(11)='X2YZ'
  171. LESOBL(12)='X2ZX'
  172. LESOBL(13)='GPXX'
  173. LESOBL(14)='GPYY'
  174. LESOBL(15)='GPZZ'
  175. LESOBL(16)='GPXY'
  176. LESOBL(17)='GPYZ'
  177. LESOBL(18)='GPZX'
  178. LESOBL(19)='VIXX'
  179. LESOBL(20)='VIYY'
  180. LESOBL(21)='VIZZ'
  181. LESOBL(22)='VIXY'
  182. LESOBL(23)='VIYZ'
  183. LESOBL(24)='VIZX'
  184. LESOBL(25)='EPSE'
  185. LESOBL(26)='RR '
  186. LESOBL(27)='QQQ '
  187. LESOBL(28)='QQ '
  188. C= 1.1.5 - Modes de calcul UNIDIMENSIONNELS (1D) PLAN
  189. ELSE IF (IFOUR.GE.3.AND.IFOUR.LE.11) THEN
  190. NBROBL=16
  191. SEGINI,NOMID
  192. LESOBL( 1)='X1XX'
  193. LESOBL( 2)='X1YY'
  194. LESOBL( 3)='X1ZZ'
  195. LESOBL( 4)='X2XX'
  196. LESOBL( 5)='X2YY'
  197. LESOBL( 6)='X2ZZ'
  198. LESOBL( 7)='GPXX'
  199. LESOBL( 8)='GPYY'
  200. LESOBL( 9)='GPZZ'
  201. LESOBL(10)='VIXX'
  202. LESOBL(11)='VIYY'
  203. LESOBL(12)='VIZZ'
  204. LESOBL(13)='EPSE'
  205. LESOBL(14)='RR '
  206. LESOBL(15)='QQQ '
  207. LESOBL(16)='QQ '
  208. C= 1.1.6 - Modes de calcul UNIDIMENSIONNELS (1D) AXIS et SPHE
  209. ELSE IF (IFOUR.GE.12.AND.IFOUR.LE.15) THEN
  210. NBROBL=16
  211. SEGINI,NOMID
  212. LESOBL( 1)='X1RR'
  213. LESOBL( 2)='X1ZZ'
  214. LESOBL( 3)='X1TT'
  215. LESOBL( 4)='X2RR'
  216. LESOBL( 5)='X2ZZ'
  217. LESOBL( 6)='X2TT'
  218. LESOBL( 7)='GPRR'
  219. LESOBL( 8)='GPZZ'
  220. LESOBL( 9)='GPTT'
  221. LESOBL(10)='VIRR'
  222. LESOBL(11)='VIZZ'
  223. LESOBL(12)='VITT'
  224. LESOBL(13)='EPSE'
  225. LESOBL(14)='RR '
  226. LESOBL(15)='QQQ '
  227. LESOBL(16)='QQ '
  228. ENDIF
  229. C =====
  230. C 1.2 - Elements COQUEs
  231. C =====
  232. ELSE IF (MFR.EQ.3) THEN
  233. IF (NPINT.EQ.0) THEN
  234. C= 1.2.1 - Modes de calcul TRIDIMENSIONNEL et FOURIER
  235. IF (IFOUR.EQ.2.OR.IFOUR.EQ.1) THEN
  236. NBROBL=36
  237. SEGINI,NOMID
  238. LESOBL( 1)='X1N1'
  239. LESOBL( 2)='X1N2'
  240. LESOBL( 3)='X1N3'
  241. LESOBL( 4)='X1N4'
  242. LESOBL( 5)='X1M1'
  243. LESOBL( 6)='X1M2'
  244. LESOBL( 7)='X1M3'
  245. LESOBL( 8)='X1M4'
  246. LESOBL( 9)='X2N1'
  247. LESOBL(10)='X2N2'
  248. LESOBL(11)='X2N3'
  249. LESOBL(12)='X2N4'
  250. LESOBL(13)='X2M1'
  251. LESOBL(14)='X2M2'
  252. LESOBL(15)='X2M3'
  253. LESOBL(16)='X2M4'
  254. LESOBL(17)='GPN1'
  255. LESOBL(18)='GPN2'
  256. LESOBL(19)='GPN3'
  257. LESOBL(20)='GPN4'
  258. LESOBL(21)='GPM1'
  259. LESOBL(22)='GPM2'
  260. LESOBL(23)='GPM3'
  261. LESOBL(24)='GPM4'
  262. LESOBL(25)='EPN1'
  263. LESOBL(26)='EPN2'
  264. LESOBL(27)='EPN3'
  265. LESOBL(28)='EPN4'
  266. LESOBL(29)='EPM1'
  267. LESOBL(30)='EPM2'
  268. LESOBL(31)='EPM3'
  269. LESOBL(32)='EPM4'
  270. LESOBL(33)='EPSE'
  271. LESOBL(34)='RR '
  272. LESOBL(35)='QQQ '
  273. LESOBL(36)='QQ '
  274. C= 1.2.2 - Cas AXISYMETRIQUE
  275. ELSE IF (IFOUR.EQ.0) THEN
  276. NBROBL=28
  277. SEGINI,NOMID
  278. LESOBL( 1)='X1N1'
  279. LESOBL( 2)='X1N2'
  280. LESOBL( 3)='X1N3'
  281. LESOBL( 4)='X1M1'
  282. LESOBL( 5)='X1M2'
  283. LESOBL( 6)='X1M3'
  284. LESOBL( 7)='X2N1'
  285. LESOBL( 8)='X2N2'
  286. LESOBL( 9)='X2N3'
  287. LESOBL(10)='X2M1'
  288. LESOBL(11)='X2M2'
  289. LESOBL(12)='X2M3'
  290. LESOBL(13)='GPN1'
  291. LESOBL(14)='GPN2'
  292. LESOBL(15)='GPN3'
  293. LESOBL(16)='GPM1'
  294. LESOBL(17)='GPM2'
  295. LESOBL(18)='GPM3'
  296. LESOBL(19)='EPN1'
  297. LESOBL(20)='EPN2'
  298. LESOBL(21)='EPN3'
  299. LESOBL(22)='EPM1'
  300. LESOBL(23)='EPM2'
  301. LESOBL(24)='EPM3'
  302. LESOBL(25)='EPSE'
  303. LESOBL(26)='RR '
  304. LESOBL(27)='QQQ '
  305. LESOBL(28)='QQ '
  306. C= 1.2.3 - Cas des CONTRAINTES PLANES ou des DEFORMATIONS PLANES ou
  307. C= des DEFORMATIONS PLANES GENERALISEES
  308. ELSE IF (IFOUR.EQ.-1.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-3) THEN
  309. NBROBL=28
  310. SEGINI,NOMID
  311. LESOBL( 1)='X1N1'
  312. LESOBL( 2)='X1N2'
  313. LESOBL( 3)='X1N3'
  314. LESOBL( 4)='X1M1'
  315. LESOBL( 5)='X1M2'
  316. LESOBL( 6)='X1M3'
  317. LESOBL( 7)='X2N1'
  318. LESOBL( 8)='X2N2'
  319. LESOBL( 9)='X2N3'
  320. LESOBL(10)='X2M1'
  321. LESOBL(11)='X2M2'
  322. LESOBL(12)='X2M3'
  323. LESOBL(13)='GPN1'
  324. LESOBL(14)='GPN2'
  325. LESOBL(15)='GPN3'
  326. LESOBL(16)='GPM1'
  327. LESOBL(17)='GPM2'
  328. LESOBL(18)='GPM3'
  329. LESOBL(19)='EPN1'
  330. LESOBL(20)='EPN2'
  331. LESOBL(21)='EPN3'
  332. LESOBL(22)='EPM1'
  333. LESOBL(23)='EPM2'
  334. LESOBL(24)='EPM3'
  335. LESOBL(25)='EPSE'
  336. LESOBL(26)='RR '
  337. LESOBL(27)='QQQ '
  338. LESOBL(28)='QQ '
  339. ENDIF
  340. ELSE
  341. C= 1.2.4 - Cas des COQUES INTEGREES en TRIDIMENSIONNEL
  342. IF (IFOUR.EQ.2) THEN
  343. NBROBL=20
  344. SEGINI,NOMID
  345. LESOBL( 1)='X1SS'
  346. LESOBL( 2)='X1TT'
  347. LESOBL( 3)='X1NN'
  348. LESOBL( 4)='X1ST'
  349. LESOBL( 5)='X2SS'
  350. LESOBL( 6)='X2TT'
  351. LESOBL( 7)='X2NN'
  352. LESOBL( 8)='X2ST'
  353. LESOBL( 9)='GPSS'
  354. LESOBL(10)='GPTT'
  355. LESOBL(11)='GPNN'
  356. LESOBL(12)='GPST'
  357. LESOBL(13)='VISS'
  358. LESOBL(14)='VITT'
  359. LESOBL(15)='VINN'
  360. LESOBL(16)='VIST'
  361. LESOBL(17)='EPSE'
  362. LESOBL(18)='RR '
  363. LESOBL(19)='QQQ '
  364. LESOBL(20)='QQ '
  365. ENDIF
  366. ENDIF
  367. C =====
  368. C 1.3 - Element COQUE EPAISSE
  369. C =====
  370. ELSE IF (MFR.EQ.5) THEN
  371. C= Mode de calcul TRIDIMENSIONNEL
  372. IF (IFOUR.EQ.2) THEN
  373. NBROBL=28
  374. SEGINI,NOMID
  375. LESOBL( 1)='X1SS'
  376. LESOBL( 2)='X1TT'
  377. LESOBL( 3)='X1NN'
  378. LESOBL( 4)='X1ST'
  379. LESOBL( 5)='X1SN'
  380. LESOBL( 6)='X1TN'
  381. LESOBL( 7)='X2SS'
  382. LESOBL( 8)='X2TT'
  383. LESOBL( 9)='X2NN'
  384. LESOBL(10)='X2ST'
  385. LESOBL(11)='X2SN'
  386. LESOBL(12)='X2TN'
  387. LESOBL(13)='GPSS'
  388. LESOBL(14)='GPTT'
  389. LESOBL(15)='GPNN'
  390. LESOBL(16)='GPST'
  391. LESOBL(17)='GPSN'
  392. LESOBL(18)='GPTN'
  393. LESOBL(19)='VISS'
  394. LESOBL(20)='VITT'
  395. LESOBL(21)='VINN'
  396. LESOBL(22)='VIST'
  397. LESOBL(23)='VISN'
  398. LESOBL(24)='VITN'
  399. LESOBL(25)='EPSE'
  400. LESOBL(26)='RR '
  401. LESOBL(27)='QQQ '
  402. LESOBL(28)='QQ '
  403. ENDIF
  404. C =====
  405. C 1.4 - Elements POUTRE et TUYAU
  406. C =====
  407. ELSE IF (MFR.EQ.7.OR.MFR.EQ.13) THEN
  408. C= Mode de calcul TRIDIMENSIONNEL
  409. IF (IFOUR.EQ.2) THEN
  410. NBROBL=28
  411. SEGINI,NOMID
  412. LESOBL( 1)='X1FX'
  413. LESOBL( 2)='X1FY'
  414. LESOBL( 3)='X1FZ'
  415. LESOBL( 4)='X1MX'
  416. LESOBL( 5)='X1MY'
  417. LESOBL( 6)='X1MZ'
  418. LESOBL( 7)='X2FX'
  419. LESOBL( 8)='X2FY'
  420. LESOBL( 9)='X2FZ'
  421. LESOBL(10)='X2MX'
  422. LESOBL(11)='X2MY'
  423. LESOBL(12)='X2MZ'
  424. LESOBL(13)='GPFX'
  425. LESOBL(14)='GPFY'
  426. LESOBL(15)='GPFZ'
  427. LESOBL(16)='GPMX'
  428. LESOBL(17)='GPMY'
  429. LESOBL(18)='GPMZ'
  430. LESOBL(19)='EPFX'
  431. LESOBL(20)='EPFY'
  432. LESOBL(21)='EPFZ'
  433. LESOBL(22)='EPMX'
  434. LESOBL(23)='EPMY'
  435. LESOBL(24)='EPMZ'
  436. LESOBL(25)='EPSE'
  437. LESOBL(26)='RR '
  438. LESOBL(27)='QQQ '
  439. LESOBL(28)='QQ '
  440. ENDIF
  441. C =====
  442. C 1.5 - Element COQUE CISAILLEMENT TRANSVERSE
  443. C =====
  444. ELSE IF (MFR.EQ.9) THEN
  445. C= Mode de calcul TRIDIMENSIONNEL
  446. IF (NPINT.EQ.0) THEN
  447. IF (IFOUR.EQ.2) THEN
  448. NBROBL=36
  449. SEGINI,NOMID
  450. LESOBL( 1)='X1N1'
  451. LESOBL( 2)='X1N2'
  452. LESOBL( 3)='X1N3'
  453. LESOBL( 4)='X1M1'
  454. LESOBL( 5)='X1M2'
  455. LESOBL( 6)='X1M3'
  456. LESOBL( 7)='X1V1'
  457. LESOBL( 8)='X1V2'
  458. LESOBL( 9)='X2N1'
  459. LESOBL(10)='X2N2'
  460. LESOBL(11)='X2N3'
  461. LESOBL(12)='X2M1'
  462. LESOBL(13)='X2M2'
  463. LESOBL(14)='X2M3'
  464. LESOBL(15)='X2V1'
  465. LESOBL(16)='X2V2'
  466. LESOBL(17)='GPN1'
  467. LESOBL(18)='GPN2'
  468. LESOBL(19)='GPN3'
  469. LESOBL(20)='GPM1'
  470. LESOBL(21)='GPM2'
  471. LESOBL(22)='GPM3'
  472. LESOBL(23)='GPV1'
  473. LESOBL(24)='GPV2'
  474. LESOBL(25)='EPN1'
  475. LESOBL(26)='EPN2'
  476. LESOBL(27)='EPN3'
  477. LESOBL(28)='EPM1'
  478. LESOBL(29)='EPM2'
  479. LESOBL(30)='EPM3'
  480. LESOBL(31)='EPV1'
  481. LESOBL(32)='EPV2'
  482. LESOBL(33)='EPSE'
  483. LESOBL(34)='RR '
  484. LESOBL(35)='QQQ '
  485. LESOBL(36)='QQ '
  486. ENDIF
  487. ENDIF
  488. C =====
  489. C 1.6 - Formulation MEMBRANE
  490. C =====
  491. ELSE IF (MFR.EQ.25) THEN
  492. NBROBL=16
  493. SEGINI,NOMID
  494. LESOBL( 1)='X1SS'
  495. LESOBL( 2)='X1TT'
  496. LESOBL( 3)='X1ST'
  497. LESOBL( 4)='X2SS'
  498. LESOBL( 5)='X2TT'
  499. LESOBL( 6)='X2ST'
  500. LESOBL( 7)='GPSS'
  501. LESOBL( 8)='GPTT'
  502. LESOBL( 9)='GPST'
  503. LESOBL(10)='VISS'
  504. LESOBL(11)='VITT'
  505. LESOBL(12)='VIST'
  506. LESOBL(13)='EPSE'
  507. LESOBL(14)='RR '
  508. LESOBL(15)='QQQ '
  509. LESOBL(16)='QQ '
  510. C =====
  511. C 1.7 - Formulation UNIAXIALE
  512. C =====
  513. ELSE IF (MFR.EQ.27) THEN
  514. NBROBL=8
  515. SEGINI,NOMID
  516. LESOBL(1)='X1FX'
  517. LESOBL(2)='X2FX'
  518. LESOBL(3)='GPFX'
  519. LESOBL(4)='EPFX'
  520. LESOBL(5)='EPSE'
  521. LESOBL(6)='RR '
  522. LESOBL(7)='QQQ '
  523. LESOBL(8)='QQ '
  524. ENDIF
  525.  
  526. C 2 - Modele VISCOPLASTIQUE PARFAIT
  527. C ===================================
  528. ELSE IF (MATEPL.EQ.43) THEN
  529. C= Formulation MASSIF :
  530. C= Modele non disponible en PLAN CONT et en FOURIER
  531. IF ( (MFR.EQ.1.OR.MFR.EQ.31) .AND.
  532. & (IFOUR.NE.-2.AND.IFOUR.NE.1) ) THEN
  533. NBROBL=1
  534. SEGINI,NOMID
  535. LESOBL(1)='EPSE'
  536. ENDIF
  537.  
  538. C 3 - Modele a deux deformations inelastiques (DDI)
  539. C ===================================================
  540. ELSE IF (MATEPL.EQ.63) THEN
  541. C =====
  542. C 3.1 - Elements MASSIFs
  543. C =====
  544. IF (MFR.EQ.1.OR.MFR.EQ.31.OR.MFR.EQ.33) THEN
  545. C= 3.1.1 - Cas des CONTRAINTES PLANES ou des DEFORMATIONS PLANES ou
  546. C= des DEFORMATIONS PLANES GENERALISEES
  547. IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN
  548. NBROBL=45
  549. SEGINI,NOMID
  550. LESOBL( 1)='X1XX'
  551. LESOBL( 2)='X1YY'
  552. LESOBL( 3)='X1ZZ'
  553. LESOBL( 4)='X1XY'
  554. LESOBL( 5)='X2XX'
  555. LESOBL( 6)='X2YY'
  556. LESOBL( 7)='X2ZZ'
  557. LESOBL( 8)='X2XY'
  558. LESOBL( 9)='A1XX'
  559. LESOBL(10)='A1YY'
  560. LESOBL(11)='A1ZZ'
  561. LESOBL(12)='A1XY'
  562. LESOBL(13)='A2XX'
  563. LESOBL(14)='A2YY'
  564. LESOBL(15)='A2ZZ'
  565. LESOBL(16)='A2XY'
  566. LESOBL(17)='VIXX'
  567. LESOBL(18)='VIYY'
  568. LESOBL(19)='VIZZ'
  569. LESOBL(20)='VIXY'
  570. LESOBL(21)='Y1XX'
  571. LESOBL(22)='Y1YY'
  572. LESOBL(23)='Y1ZZ'
  573. LESOBL(24)='Y1XY'
  574. LESOBL(25)='Y2XX'
  575. LESOBL(26)='Y2YY'
  576. LESOBL(27)='Y2ZZ'
  577. LESOBL(28)='Y2XY'
  578. LESOBL(29)='B1XX'
  579. LESOBL(30)='B1YY'
  580. LESOBL(31)='B1ZZ'
  581. LESOBL(32)='B1XY'
  582. LESOBL(33)='B2XX'
  583. LESOBL(34)='B2YY'
  584. LESOBL(35)='B2ZZ'
  585. LESOBL(36)='B2XY'
  586. LESOBL(37)='EVXX'
  587. LESOBL(38)='EVYY'
  588. LESOBL(39)='EVZZ'
  589. LESOBL(40)='EVXY'
  590. LESOBL(41)='VIPW'
  591. LESOBL(42)='RP '
  592. LESOBL(43)='V '
  593. LESOBL(44)='RV '
  594. LESOBL(45)='EPSE'
  595. C= 3.1.2 - Cas AXISYMETRIQUE
  596. ELSE IF (IFOUR.EQ.0) THEN
  597. NBROBL=45
  598. SEGINI,NOMID
  599. LESOBL( 1)='X1RR'
  600. LESOBL( 2)='X1ZZ'
  601. LESOBL( 3)='X1TT'
  602. LESOBL( 4)='X1RZ'
  603. LESOBL( 5)='X2RR'
  604. LESOBL( 6)='X2ZZ'
  605. LESOBL( 7)='X2TT'
  606. LESOBL( 8)='X2RZ'
  607. LESOBL( 9)='A1RR'
  608. LESOBL(10)='A1ZZ'
  609. LESOBL(11)='A1TT'
  610. LESOBL(12)='A1RZ'
  611. LESOBL(13)='A2RR'
  612. LESOBL(14)='A2ZZ'
  613. LESOBL(15)='A2TT'
  614. LESOBL(16)='A2RZ'
  615. LESOBL(17)='VIRR'
  616. LESOBL(18)='VIZZ'
  617. LESOBL(19)='VITT'
  618. LESOBL(20)='VIRZ'
  619. LESOBL(21)='Y1RR'
  620. LESOBL(22)='Y1ZZ'
  621. LESOBL(23)='Y1TT'
  622. LESOBL(24)='Y1RZ'
  623. LESOBL(25)='Y2RR'
  624. LESOBL(26)='Y2ZZ'
  625. LESOBL(27)='Y2TT'
  626. LESOBL(28)='Y2RZ'
  627. LESOBL(29)='B1RR'
  628. LESOBL(30)='B1ZZ'
  629. LESOBL(31)='B1TT'
  630. LESOBL(32)='B1RZ'
  631. LESOBL(33)='B2RR'
  632. LESOBL(34)='B2ZZ'
  633. LESOBL(35)='B2TT'
  634. LESOBL(36)='B2RZ'
  635. LESOBL(37)='EVRR'
  636. LESOBL(38)='EVZZ'
  637. LESOBL(39)='EVTT'
  638. LESOBL(40)='EVRZ'
  639. LESOBL(41)='VIPW'
  640. LESOBL(42)='RP '
  641. LESOBL(43)='V '
  642. LESOBL(44)='RV '
  643. LESOBL(45)='EPSE'
  644. C= 3.1.3 - Cas des series de FOURIER
  645. ELSE IF (IFOUR.EQ.1) THEN
  646. NBROBL=65
  647. SEGINI,NOMID
  648. LESOBL( 1)='X1RR'
  649. LESOBL( 2)='X1ZZ'
  650. LESOBL( 3)='X1TT'
  651. LESOBL( 4)='X1RZ'
  652. LESOBL( 5)='X1RT'
  653. LESOBL( 6)='X1ZT'
  654. LESOBL( 7)='X2RR'
  655. LESOBL( 8)='X2ZZ'
  656. LESOBL( 9)='X2TT'
  657. LESOBL(10)='X2RZ'
  658. LESOBL(11)='X2RT'
  659. LESOBL(12)='X2ZT'
  660. LESOBL(13)='A1RR'
  661. LESOBL(14)='A1ZZ'
  662. LESOBL(15)='A1TT'
  663. LESOBL(16)='A1RZ'
  664. LESOBL(17)='A1RT'
  665. LESOBL(18)='A1ZT'
  666. LESOBL(19)='A2RR'
  667. LESOBL(20)='A2ZZ'
  668. LESOBL(21)='A2TT'
  669. LESOBL(22)='A2RZ'
  670. LESOBL(23)='A2RT'
  671. LESOBL(24)='A2ZT'
  672. LESOBL(25)='VIRR'
  673. LESOBL(26)='VIZZ'
  674. LESOBL(27)='VITT'
  675. LESOBL(28)='VIRZ'
  676. LESOBL(29)='VIRT'
  677. LESOBL(30)='VIZT'
  678. LESOBL(31)='Y1RR'
  679. LESOBL(32)='Y1ZZ'
  680. LESOBL(33)='Y1TT'
  681. LESOBL(34)='Y1RZ'
  682. LESOBL(35)='Y1RT'
  683. LESOBL(36)='Y1ZT'
  684. LESOBL(37)='Y2RR'
  685. LESOBL(38)='Y2ZZ'
  686. LESOBL(39)='Y2TT'
  687. LESOBL(40)='Y2RZ'
  688. LESOBL(41)='Y2RT'
  689. LESOBL(42)='Y2ZT'
  690. LESOBL(43)='B1RR'
  691. LESOBL(44)='B1ZZ'
  692. LESOBL(45)='B1TT'
  693. LESOBL(46)='B1RZ'
  694. LESOBL(47)='B1RT'
  695. LESOBL(48)='B1ZT'
  696. LESOBL(49)='B2RR'
  697. LESOBL(50)='B2ZZ'
  698. LESOBL(51)='B2TT'
  699. LESOBL(52)='B2RZ'
  700. LESOBL(53)='B2RT'
  701. LESOBL(54)='B2ZT'
  702. LESOBL(55)='EVRR'
  703. LESOBL(56)='EVZZ'
  704. LESOBL(57)='EVTT'
  705. LESOBL(58)='EVRZ'
  706. LESOBL(59)='EVRT'
  707. LESOBL(60)='EVZT'
  708. LESOBL(61)='VIPW'
  709. LESOBL(62)='RP '
  710. LESOBL(63)='V '
  711. LESOBL(64)='RV '
  712. LESOBL(65)='EPSE'
  713. C= 3.1.4 - Cas TRIDIMENSIONNEL
  714. ELSE IF (IFOUR.EQ.2) THEN
  715. NBROBL=65
  716. SEGINI,NOMID
  717. LESOBL( 1)='X1XX'
  718. lESOBL( 2)='X1YY'
  719. LESOBL( 3)='X1ZZ'
  720. LESOBL( 4)='X1XY'
  721. LESOBL( 5)='X1YZ'
  722. LESOBL( 6)='X1ZX'
  723. LESOBL( 7)='X2XX'
  724. LESOBL( 8)='X2YY'
  725. LESOBL( 9)='X2ZZ'
  726. LESOBL(10)='X2XY'
  727. LESOBL(11)='X2YZ'
  728. LESOBL(12)='X2ZX'
  729. LESOBL(13)='A1XX'
  730. LESOBL(14)='A1YY'
  731. LESOBL(15)='A1ZZ'
  732. LESOBL(16)='A1XY'
  733. LESOBL(17)='A1YZ'
  734. LESOBL(18)='A1ZX'
  735. LESOBL(19)='A2XX'
  736. LESOBL(20)='A2YY'
  737. LESOBL(21)='A2ZZ'
  738. LESOBL(22)='A2XY'
  739. LESOBL(23)='A2YZ'
  740. LESOBL(24)='A2ZX'
  741. LESOBL(25)='VIXX'
  742. LESOBL(26)='VIYY'
  743. LESOBL(27)='VIZZ'
  744. LESOBL(28)='VIXY'
  745. LESOBL(29)='VIYZ'
  746. LESOBL(30)='VIZX'
  747. LESOBL(31)='Y1XX'
  748. LESOBL(32)='Y1YY'
  749. LESOBL(33)='Y1ZZ'
  750. LESOBL(34)='Y1XY'
  751. LESOBL(35)='Y1YZ'
  752. LESOBL(36)='Y1ZX'
  753. LESOBL(37)='Y2XX'
  754. LESOBL(38)='Y2YY'
  755. LESOBL(39)='Y2ZZ'
  756. LESOBL(40)='Y2XY'
  757. LESOBL(41)='Y2YZ'
  758. LESOBL(42)='Y2ZX'
  759. LESOBL(43)='B1XX'
  760. LESOBL(44)='B1YY'
  761. LESOBL(45)='B1ZZ'
  762. LESOBL(46)='B1XY'
  763. LESOBL(47)='B1YZ'
  764. LESOBL(48)='B1ZX'
  765. LESOBL(49)='B2XX'
  766. LESOBL(50)='B2YY'
  767. LESOBL(51)='B2ZZ'
  768. LESOBL(52)='B2XY'
  769. LESOBL(53)='B2YZ'
  770. LESOBL(54)='B2ZX'
  771. LESOBL(55)='EVXX'
  772. LESOBL(56)='EVYY'
  773. LESOBL(57)='EVZZ'
  774. LESOBL(58)='EVXY'
  775. LESOBL(59)='EVYZ'
  776. LESOBL(60)='EVZX'
  777. LESOBL(61)='VIPW'
  778. LESOBL(62)='RP '
  779. LESOBL(63)='V '
  780. LESOBL(64)='RV '
  781. LESOBL(65)='EPSE'
  782. C= 3.1.5 - Modes de calcul UNIDIMENSIONNELS (1D) PLAN
  783. ELSE IF (IFOUR.GE.3.AND.IFOUR.LE.11) THEN
  784. NBROBL=35
  785. SEGINI,NOMID
  786. LESOBL( 1)='X1XX'
  787. LESOBL( 2)='X1YY'
  788. LESOBL( 3)='X1ZZ'
  789. LESOBL( 4)='X2XX'
  790. LESOBL( 5)='X2YY'
  791. LESOBL( 6)='X2ZZ'
  792. LESOBL( 7)='A1XX'
  793. LESOBL( 8)='A1YY'
  794. LESOBL( 9)='A1ZZ'
  795. LESOBL(10)='A2XX'
  796. LESOBL(11)='A2YY'
  797. LESOBL(12)='A2ZZ'
  798. LESOBL(13)='VIXX'
  799. LESOBL(14)='VIYY'
  800. LESOBL(15)='VIZZ'
  801. LESOBL(16)='Y1XX'
  802. LESOBL(17)='Y1YY'
  803. LESOBL(18)='Y1ZZ'
  804. LESOBL(19)='Y2XX'
  805. LESOBL(20)='Y2YY'
  806. LESOBL(21)='Y2ZZ'
  807. LESOBL(22)='B1XX'
  808. LESOBL(23)='B1YY'
  809. LESOBL(24)='B1ZZ'
  810. LESOBL(25)='B2XX'
  811. LESOBL(26)='B2YY'
  812. LESOBL(27)='B2ZZ'
  813. LESOBL(28)='EVXX'
  814. LESOBL(29)='EVYY'
  815. LESOBL(30)='EVZZ'
  816. LESOBL(31)='VIPW'
  817. LESOBL(32)='RP '
  818. LESOBL(33)='V '
  819. LESOBL(34)='RV '
  820. LESOBL(35)='EPSE'
  821. C= 3.1.6 - Modes de calcul UNIDIMENSIONNELS (1D) AXIS et SPHE
  822. ELSE IF (IFOUR.GE.12.AND.IFOUR.LE.15) THEN
  823. NBROBL=35
  824. SEGINI,NOMID
  825. LESOBL( 1)='X1RR'
  826. LESOBL( 2)='X1ZZ'
  827. LESOBL( 3)='X1TT'
  828. LESOBL( 4)='X2RR'
  829. LESOBL( 5)='X2ZZ'
  830. LESOBL( 6)='X2TT'
  831. LESOBL( 7)='A1RR'
  832. LESOBL( 8)='A1ZZ'
  833. LESOBL( 9)='A1TT'
  834. LESOBL(10)='A2RR'
  835. LESOBL(11)='A2ZZ'
  836. LESOBL(12)='A2TT'
  837. LESOBL(13)='VIRR'
  838. LESOBL(14)='VIZZ'
  839. LESOBL(15)='VITT'
  840. LESOBL(16)='Y1RR'
  841. LESOBL(17)='Y1ZZ'
  842. LESOBL(18)='Y1TT'
  843. LESOBL(19)='Y2RR'
  844. LESOBL(20)='Y2ZZ'
  845. LESOBL(21)='Y2TT'
  846. LESOBL(22)='B1RR'
  847. LESOBL(23)='B1ZZ'
  848. LESOBL(24)='B1TT'
  849. LESOBL(25)='B2RR'
  850. LESOBL(26)='B2ZZ'
  851. LESOBL(27)='B2TT'
  852. LESOBL(28)='EVRR'
  853. LESOBL(29)='EVZZ'
  854. LESOBL(30)='EVTT'
  855. LESOBL(31)='VIPW'
  856. LESOBL(32)='RP '
  857. LESOBL(33)='V '
  858. LESOBL(34)='RV '
  859. LESOBL(35)='EPSE'
  860. ENDIF
  861. C =====
  862. C 3.2 - Elements COQUEs
  863. C =====
  864. ELSE IF (MFR.EQ.3) THEN
  865. IF (NPINT.EQ.0) THEN
  866. C= 3.2.1 - Modes de calcul TRIDIMENSIONNEL et FOURIER
  867. IF (IFOUR.EQ.2.OR.IFOUR.EQ.1) THEN
  868. NBROBL=85
  869. SEGINI,NOMID
  870. LESOBL( 1)='X1N1'
  871. LESOBL( 2)='X1N2'
  872. LESOBL( 3)='X1N3'
  873. LESOBL( 4)='X1N4'
  874. LESOBL( 5)='X1M1'
  875. LESOBL( 6)='X1M2'
  876. LESOBL( 7)='X1M3'
  877. LESOBL( 8)='X1M4'
  878. LESOBL( 9)='X2N1'
  879. LESOBL(10)='X2N2'
  880. LESOBL(11)='X2N3'
  881. LESOBL(12)='X2N4'
  882. LESOBL(13)='X2M1'
  883. LESOBL(14)='X2M2'
  884. LESOBL(15)='X2M3'
  885. LESOBL(16)='X2M4'
  886. LESOBL(17)='A1N1'
  887. LESOBL(18)='A1N2'
  888. LESOBL(19)='A1N3'
  889. LESOBL(20)='A1N4'
  890. LESOBL(21)='A1M1'
  891. LESOBL(22)='A1M2'
  892. LESOBL(23)='A1M3'
  893. LESOBL(24)='A1M4'
  894. LESOBL(25)='A2N1'
  895. LESOBL(26)='A2N2'
  896. LESOBL(27)='A2N3'
  897. LESOBL(28)='A2N4'
  898. LESOBL(29)='A2M1'
  899. LESOBL(30)='A2M2'
  900. LESOBL(31)='A2M3'
  901. LESOBL(32)='A2M4'
  902. LESOBL(33)='EPN1'
  903. LESOBL(34)='EPN2'
  904. LESOBL(35)='EPN3'
  905. LESOBL(36)='EPN4'
  906. LESOBL(37)='EPM1'
  907. LESOBL(38)='EPM2'
  908. LESOBL(39)='EPM3'
  909. LESOBL(40)='EPM4'
  910. LESOBL(41)='Y1N1'
  911. LESOBL(42)='Y1N2'
  912. LESOBL(43)='Y1N3'
  913. LESOBL(44)='Y1N4'
  914. LESOBL(45)='Y1M1'
  915. LESOBL(46)='Y1M2'
  916. LESOBL(47)='Y1M3'
  917. LESOBL(48)='Y1M4'
  918. LESOBL(49)='Y2N1'
  919. LESOBL(50)='Y2N2'
  920. LESOBL(51)='Y2N3'
  921. LESOBL(52)='Y2N4'
  922. LESOBL(53)='Y2M1'
  923. LESOBL(54)='Y2M2'
  924. LESOBL(55)='Y2M3'
  925. LESOBL(56)='Y2M4'
  926. LESOBL(57)='B1N1'
  927. LESOBL(58)='B1N2'
  928. LESOBL(59)='B1N3'
  929. LESOBL(60)='B1N4'
  930. LESOBL(61)='B1M1'
  931. LESOBL(62)='B1M2'
  932. LESOBL(63)='B1M3'
  933. LESOBL(64)='B1M4'
  934. LESOBL(65)='B2N1'
  935. LESOBL(66)='B2N2'
  936. LESOBL(67)='B2N3'
  937. LESOBL(68)='B2N4'
  938. LESOBL(69)='B2M1'
  939. LESOBL(70)='B2M2'
  940. LESOBL(71)='B2M3'
  941. LESOBL(72)='A2M4'
  942. LESOBL(73)='EVN1'
  943. LESOBL(74)='EVN2'
  944. LESOBL(75)='EVN3'
  945. LESOBL(76)='EVN4'
  946. LESOBL(77)='EVM1'
  947. LESOBL(78)='EVM2'
  948. LESOBL(79)='EVM3'
  949. LESOBL(80)='EVM4'
  950. LESOBL(81)='VIPW'
  951. LESOBL(82)='RP '
  952. LESOBL(83)='V '
  953. LESOBL(84)='RV '
  954. LESOBL(85)='EPSE'
  955. C= 3.2.2 - Cas AXISYMETRIQUE
  956. ELSE IF (IFOUR.EQ.0) THEN
  957. NBROBL=65
  958. SEGINI,NOMID
  959. LESOBL( 1)='X1N1'
  960. LESOBL( 2)='X1N2'
  961. LESOBL( 3)='X1N3'
  962. LESOBL( 4)='X1M1'
  963. LESOBL( 5)='X1M2'
  964. LESOBL( 6)='X1M3'
  965. LESOBL( 7)='X2N1'
  966. LESOBL( 8)='X2N2'
  967. LESOBL( 9)='X2N3'
  968. LESOBL(10)='X2M1'
  969. LESOBL(11)='X2M2'
  970. LESOBL(12)='X2M3'
  971. LESOBL(13)='A1N1'
  972. LESOBL(14)='A1N2'
  973. LESOBL(15)='A1N3'
  974. LESOBL(16)='A1M1'
  975. LESOBL(17)='A1M2'
  976. LESOBL(18)='A1M3'
  977. LESOBL(19)='A2N1'
  978. LESOBL(20)='A2N2'
  979. LESOBL(21)='A2N3'
  980. LESOBL(22)='A2M1'
  981. LESOBL(23)='A2M2'
  982. LESOBL(24)='A2M3'
  983. LESOBL(25)='EPN1'
  984. LESOBL(26)='EPN2'
  985. LESOBL(27)='EPN3'
  986. LESOBL(28)='EPM1'
  987. LESOBL(29)='EPM2'
  988. LESOBL(30)='EPM3'
  989. LESOBL(31)='Y1N1'
  990. LESOBL(32)='Y1N2'
  991. LESOBL(33)='Y1N3'
  992. LESOBL(34)='Y1M1'
  993. LESOBL(35)='Y1M2'
  994. LESOBL(36)='Y1M3'
  995. LESOBL(37)='Y2N1'
  996. LESOBL(38)='Y2N2'
  997. LESOBL(39)='Y2N3'
  998. LESOBL(40)='Y2M1'
  999. LESOBL(41)='Y2M2'
  1000. LESOBL(42)='Y2M3'
  1001. LESOBL(43)='B1N1'
  1002. LESOBL(44)='B1N2'
  1003. LESOBL(45)='B1N3'
  1004. LESOBL(46)='B1M1'
  1005. LESOBL(47)='B1M2'
  1006. LESOBL(48)='B1M3'
  1007. LESOBL(49)='B2N1'
  1008. LESOBL(50)='B2N2'
  1009. LESOBL(51)='B2N3'
  1010. LESOBL(52)='B2M1'
  1011. LESOBL(53)='B2M2'
  1012. LESOBL(54)='B2M3'
  1013. LESOBL(55)='EVN1'
  1014. LESOBL(56)='EVN2'
  1015. LESOBL(57)='EVN3'
  1016. LESOBL(58)='EVM1'
  1017. LESOBL(59)='EVM2'
  1018. LESOBL(60)='EVM3'
  1019. LESOBL(61)='VIPW'
  1020. LESOBL(62)='RP '
  1021. LESOBL(63)='V '
  1022. LESOBL(64)='RV '
  1023. LESOBL(65)='EPSE'
  1024. C= 3.2.3 - Cas des CONTRAINTES PLANES ou des DEFORMATIONS PLANES ou
  1025. C= des DEFORMATIONS PLANES GENERALISEES
  1026. ELSE IF (IFOUR.EQ.-1.OR.IFOUR.EQ.-2.OR.IFOUR.EQ.-3) THEN
  1027. NBROBL=65
  1028. SEGINI,NOMID
  1029. LESOBL( 1)='X1N1'
  1030. LESOBL( 2)='X1N2'
  1031. LESOBL( 3)='X1N3'
  1032. LESOBL( 4)='X1M1'
  1033. LESOBL( 5)='X1M2'
  1034. LESOBL( 6)='X1M3'
  1035. LESOBL( 7)='X2N1'
  1036. LESOBL( 8)='X2N2'
  1037. LESOBL( 9)='X2N3'
  1038. LESOBL(10)='X2M1'
  1039. LESOBL(11)='X2M2'
  1040. LESOBL(12)='X2M3'
  1041. LESOBL(13)='A1N1'
  1042. LESOBL(14)='A1N2'
  1043. LESOBL(15)='A1N3'
  1044. LESOBL(16)='A1M1'
  1045. LESOBL(17)='A1M2'
  1046. LESOBL(18)='A1M3'
  1047. LESOBL(19)='A2N1'
  1048. LESOBL(20)='A2N2'
  1049. LESOBL(21)='A2N3'
  1050. LESOBL(22)='A2M1'
  1051. LESOBL(23)='A2M2'
  1052. LESOBL(24)='A2M3'
  1053. LESOBL(25)='EPN1'
  1054. LESOBL(26)='EPN2'
  1055. LESOBL(27)='EPN3'
  1056. LESOBL(28)='EPM1'
  1057. LESOBL(29)='EPM2'
  1058. LESOBL(30)='EPM3'
  1059. LESOBL(31)='Y1N1'
  1060. LESOBL(32)='Y1N2'
  1061. LESOBL(33)='Y1N3'
  1062. LESOBL(34)='Y1M1'
  1063. LESOBL(35)='Y1M2'
  1064. LESOBL(36)='Y1M3'
  1065. LESOBL(37)='Y2N1'
  1066. LESOBL(38)='Y2N2'
  1067. LESOBL(39)='Y2N3'
  1068. LESOBL(40)='Y2M1'
  1069. LESOBL(41)='Y2M2'
  1070. LESOBL(42)='Y2M3'
  1071. LESOBL(43)='B1N1'
  1072. LESOBL(44)='B1N2'
  1073. LESOBL(45)='B1N3'
  1074. LESOBL(46)='B1M1'
  1075. LESOBL(47)='B1M2'
  1076. LESOBL(48)='B1M3'
  1077. LESOBL(49)='B2N1'
  1078. LESOBL(50)='B2N2'
  1079. LESOBL(51)='B2N3'
  1080. LESOBL(52)='B2M1'
  1081. LESOBL(53)='B2M2'
  1082. LESOBL(54)='B2M3'
  1083. LESOBL(55)='EVN1'
  1084. LESOBL(56)='EVN2'
  1085. LESOBL(57)='EVN3'
  1086. LESOBL(58)='EVM1'
  1087. LESOBL(59)='EVM2'
  1088. LESOBL(60)='EVM3'
  1089. LESOBL(61)='VIPW'
  1090. LESOBL(62)='RP '
  1091. LESOBL(63)='V '
  1092. LESOBL(64)='RV '
  1093. LESOBL(65)='EPSE'
  1094. ENDIF
  1095. ELSE
  1096. C= 3.2.4 - Cas des COQUES INTEGREES en TRIDIMENSIONNEL
  1097. IF (IFOUR.EQ.2) THEN
  1098. NBROBL=45
  1099. SEGINI,NOMID
  1100. LESOBL( 1)='X1SS'
  1101. LESOBL( 2)='X1TT'
  1102. LESOBL( 3)='X1NN'
  1103. LESOBL( 4)='X1ST'
  1104. LESOBL( 5)='X2SS'
  1105. LESOBL( 6)='X2TT'
  1106. LESOBL( 7)='X2NN'
  1107. LESOBL( 8)='X2ST'
  1108. LESOBL( 9)='A1SS'
  1109. LESOBL(10)='A1TT'
  1110. LESOBL(11)='A1NN'
  1111. LESOBL(12)='A1ST'
  1112. LESOBL(13)='A2SS'
  1113. LESOBL(14)='A2TT'
  1114. LESOBL(15)='A2NN'
  1115. LESOBL(16)='A2ST'
  1116. LESOBL(17)='VISS'
  1117. LESOBL(18)='VITT'
  1118. LESOBL(19)='VINN'
  1119. LESOBL(20)='VIST'
  1120. LESOBL(21)='Y1SS'
  1121. LESOBL(22)='Y1TT'
  1122. LESOBL(23)='Y1NN'
  1123. LESOBL(24)='Y1ST'
  1124. LESOBL(25)='Y2SS'
  1125. LESOBL(26)='Y2TT'
  1126. LESOBL(27)='Y2NN'
  1127. LESOBL(28)='Y2ST'
  1128. LESOBL(29)='B1SS'
  1129. LESOBL(30)='B1TT'
  1130. LESOBL(31)='B1NN'
  1131. LESOBL(32)='B1ST'
  1132. LESOBL(33)='B2SS'
  1133. LESOBL(34)='B2TT'
  1134. LESOBL(35)='B2NN'
  1135. LESOBL(36)='B2ST'
  1136. LESOBL(37)='EVSS'
  1137. LESOBL(38)='EVTT'
  1138. LESOBL(39)='EVNN'
  1139. LESOBL(40)='EVST'
  1140. LESOBL(41)='VIPW '
  1141. LESOBL(42)='RP '
  1142. LESOBL(43)='V '
  1143. LESOBL(44)='RV '
  1144. LESOBL(45)='EPSE'
  1145. ENDIF
  1146. ENDIF
  1147. C =====
  1148. C 3.3 - Element COQUE EPAISSE
  1149. C =====
  1150. ELSE IF (MFR.EQ.5) THEN
  1151. C= Mode de calcul TRIDIMENSIONNEL
  1152. NBROBL=65
  1153. SEGINI,NOMID
  1154. LESOBL( 1)='X1SS'
  1155. LESOBL( 2)='X1TT'
  1156. LESOBL( 3)='X1NN'
  1157. LESOBL( 4)='X1ST'
  1158. LESOBL( 5)='X1SN'
  1159. LESOBL( 6)='X1TN'
  1160. LESOBL( 7)='X2SS'
  1161. LESOBL( 8)='X2TT'
  1162. LESOBL( 9)='X2NN'
  1163. LESOBL(10)='X2ST'
  1164. LESOBL(11)='X2SN'
  1165. LESOBL(12)='X2TN'
  1166. LESOBL(13)='A1SS'
  1167. LESOBL(14)='A1TT'
  1168. LESOBL(15)='A1NN'
  1169. LESOBL(16)='A1ST'
  1170. LESOBL(17)='A1SN'
  1171. LESOBL(18)='A1TN'
  1172. LESOBL(19)='A2SS'
  1173. LESOBL(20)='A2TT'
  1174. LESOBL(21)='A2NN'
  1175. LESOBL(22)='A2ST'
  1176. LESOBL(23)='A2SN'
  1177. LESOBL(24)='A2TN'
  1178. LESOBL(25)='VISS'
  1179. LESOBL(26)='VITT'
  1180. LESOBL(27)='VINN'
  1181. LESOBL(28)='VIST'
  1182. LESOBL(29)='VISN'
  1183. LESOBL(30)='VITN'
  1184. LESOBL(31)='Y1SS'
  1185. LESOBL(32)='Y1TT'
  1186. LESOBL(33)='Y1NN'
  1187. LESOBL(34)='Y1ST'
  1188. LESOBL(35)='Y1SN'
  1189. LESOBL(36)='Y1TN'
  1190. LESOBL(37)='Y2SS'
  1191. LESOBL(38)='Y2TT'
  1192. LESOBL(39)='Y2NN'
  1193. LESOBL(40)='Y2ST'
  1194. LESOBL(41)='Y2SN'
  1195. LESOBL(42)='Y2TN'
  1196. LESOBL(43)='B1SS'
  1197. LESOBL(44)='B1TT'
  1198. LESOBL(45)='B1NN'
  1199. LESOBL(46)='B1ST'
  1200. LESOBL(47)='B1SN'
  1201. LESOBL(48)='B1TN'
  1202. LESOBL(49)='B2SS'
  1203. LESOBL(50)='B2TT'
  1204. LESOBL(51)='B2NN'
  1205. LESOBL(52)='B2ST'
  1206. LESOBL(53)='B2SN'
  1207. LESOBL(54)='B2TN'
  1208. LESOBL(55)='EVSS'
  1209. LESOBL(56)='EVTT'
  1210. LESOBL(57)='EVNN'
  1211. LESOBL(58)='EVST'
  1212. LESOBL(59)='EVSN'
  1213. LESOBL(60)='EVTN'
  1214. LESOBL(61)='VIPW'
  1215. LESOBL(62)='RP '
  1216. LESOBL(63)='V '
  1217. LESOBL(64)='RV '
  1218. LESOBL(65)='EPSE'
  1219. ENDIF
  1220.  
  1221. C 4 - Modele ELASTO-VISCOPLASTIQUE DE KOCKS
  1222. C ===========================================
  1223. ELSE IF (MATEPL.EQ.70) THEN
  1224. C= Formulation MASSIF :
  1225. C= Modele non disponible en PLAN CONT et en FOURIER
  1226. IF (MFR.EQ.1.AND.(IFOUR.NE.-2.AND.IFOUR.NE.1)) THEN
  1227. NBROBL=2
  1228. SEGINI,NOMID
  1229. LESOBL(1)='EPSE'
  1230. LESOBL(2)='S '
  1231. ENDIF
  1232.  
  1233. C 5 - Modele MISTRAL
  1234. C ====================
  1235. ELSE IF (MATEPL.EQ.94) THEN
  1236. C =====
  1237. C 5.1 - Elements MASSIFs (seule formulation disponible actuellement)
  1238. C =====
  1239. C= Note : Les indices finaux 1, 2, 3, 4, 5, 6
  1240. C= correspondent respectivement aux composantes :
  1241. C= 11, 22, 33, 12, 13, 23
  1242. IF (MFR.EQ.1.OR.MFR.EQ.31) THEN
  1243. IF (IFOUR.NE.1) THEN
  1244. NBROBL=101
  1245. SEGINI,NOMID
  1246. LESOBL( 1)='ETH1'
  1247. LESOBL( 2)='ETH2'
  1248. LESOBL( 3)='ETH3'
  1249. LESOBL( 4)='ETH4'
  1250. LESOBL( 5)='ETH5'
  1251. LESOBL( 6)='ETH6'
  1252. LESOBL( 7)='EEL1'
  1253. LESOBL( 8)='EEL2'
  1254. LESOBL( 9)='EEL3'
  1255. LESOBL(10)='EEL4'
  1256. LESOBL(11)='EEL5'
  1257. LESOBL(12)='EEL6'
  1258. LESOBL(13)='EP01'
  1259. LESOBL(14)='EP02'
  1260. LESOBL(15)='EP03'
  1261. LESOBL(16)='EP04'
  1262. LESOBL(17)='EP05'
  1263. LESOBL(18)='EP06'
  1264. LESOBL(19)='EP11'
  1265. LESOBL(20)='EP12'
  1266. LESOBL(21)='EP13'
  1267. LESOBL(22)='EP14'
  1268. LESOBL(23)='EP15'
  1269. LESOBL(24)='EP16'
  1270. LESOBL(25)='EP21'
  1271. LESOBL(26)='EP22'
  1272. LESOBL(27)='EP23'
  1273. LESOBL(28)='EP24'
  1274. LESOBL(29)='EP25'
  1275. LESOBL(30)='EP26'
  1276. LESOBL(31)='EP31'
  1277. LESOBL(32)='EP32'
  1278. LESOBL(33)='EP33'
  1279. LESOBL(34)='EP34'
  1280. LESOBL(35)='EP35'
  1281. LESOBL(36)='EP36'
  1282. LESOBL(37)='EP41'
  1283. LESOBL(38)='EP42'
  1284. LESOBL(39)='EP43'
  1285. LESOBL(40)='EP44'
  1286. LESOBL(41)='EP45'
  1287. LESOBL(42)='EP46'
  1288. LESOBL(43)='ECR1'
  1289. LESOBL(44)='ECR2'
  1290. LESOBL(45)='ECR3'
  1291. LESOBL(46)='ECR4'
  1292. LESOBL(47)='ECR5'
  1293. LESOBL(48)='ECR6'
  1294. LESOBL(49)='EP0E'
  1295. LESOBL(50)='EP1E'
  1296. LESOBL(51)='EP2E'
  1297. LESOBL(52)='EP3E'
  1298. LESOBL(53)='EP4E'
  1299. LESOBL(54)='EP0Q'
  1300. LESOBL(55)='EP1Q'
  1301. LESOBL(56)='EP2Q'
  1302. LESOBL(57)='EP3Q'
  1303. LESOBL(58)='EP4Q'
  1304. LESOBL(59)='X11 '
  1305. LESOBL(60)='X12 '
  1306. LESOBL(61)='X13 '
  1307. LESOBL(62)='X14 '
  1308. LESOBL(63)='X15 '
  1309. LESOBL(64)='X16 '
  1310. LESOBL(65)='X21 '
  1311. LESOBL(66)='X22 '
  1312. LESOBL(67)='X23 '
  1313. LESOBL(68)='X24 '
  1314. LESOBL(69)='X25 '
  1315. LESOBL(70)='X26 '
  1316. LESOBL(71)='X31 '
  1317. LESOBL(72)='X32 '
  1318. LESOBL(73)='X33 '
  1319. LESOBL(74)='X34 '
  1320. LESOBL(75)='X35 '
  1321. LESOBL(76)='X36 '
  1322. LESOBL(77)='FIT '
  1323. LESOBL(78)='PSI '
  1324. LESOBL(79)='DTA '
  1325. LESOBL(80)='SEA0'
  1326. LESOBL(81)='RRA0'
  1327. LESOBL(82)='VEA0'
  1328. LESOBL(83)='KPLA'
  1329. LESOBL(84)='EPSE'
  1330. LESOBL(85)='VET1'
  1331. LESOBL(86)='VET2'
  1332. LESOBL(87)='VET3'
  1333. LESOBL(88)='VET4'
  1334. LESOBL(89)='VET5'
  1335. LESOBL(90)='VET6'
  1336. LESOBL(91)='VEI1'
  1337. LESOBL(92)='VEI2'
  1338. LESOBL(93)='VEI3'
  1339. LESOBL(94)='VEI4'
  1340. LESOBL(95)='VEI5'
  1341. LESOBL(96)='VEI6'
  1342. LESOBL(97)='VP0E'
  1343. LESOBL(98)='VP1E'
  1344. LESOBL(99)='VP2E'
  1345. LESOBL(100)='VP3E'
  1346. LESOBL(101)='VP4E'
  1347. ENDIF
  1348. ENDIF
  1349.  
  1350. C 6 - Modele de GATT_MONERIE
  1351. C ============================
  1352. C= Modele disponible uniquement en formulation MASSIF
  1353. ELSE IF (MATEPL.EQ.107) THEN
  1354. IF (MFR.EQ.1.OR.MFR.EQ.31) THEN
  1355. IF (IFOUR.NE.1) THEN
  1356. NBROBL=6
  1357. SEGINI,NOMID
  1358. LESOBL(1)='EPSE'
  1359. LESOBL(2)='PORO'
  1360. LESOBL(3)='BU '
  1361. LESOBL(4)='TETA'
  1362. LESOBL(5)='EPSD'
  1363. LESOBL(6)='EPSG'
  1364. ENDIF
  1365. ENDIF
  1366.  
  1367. C 7 - Modele UO2 (= OTTOSEN + GATT_MONERIE)
  1368. C ===========================================
  1369. ELSE IF (MATEPL.EQ.108) THEN
  1370. C =====
  1371. C 7.1 - Elements MASSIFs
  1372. C =====
  1373. IF (MFR.EQ.1.OR.MFR.EQ.31) THEN
  1374. C= 7.1.1 - Cas TRIDIMENSIONNEL
  1375. IF (IFOUR.EQ.2) THEN
  1376. NBROBL=30
  1377. SEGINI,NOMID
  1378. LESOBL( 1)='EPSE'
  1379. LESOBL( 2)='W1MA'
  1380. LESOBL( 3)='W2MA'
  1381. LESOBL( 4)='W3MA'
  1382. LESOBL( 5)='W1 '
  1383. LESOBL( 6)='W2 '
  1384. LESOBL( 7)='W3 '
  1385. LESOBL( 8)='VF1X'
  1386. LESOBL( 9)='VF1Y'
  1387. LESOBL(10)='VF1Z'
  1388. LESOBL(11)='VF2X'
  1389. LESOBL(12)='VF2Y'
  1390. LESOBL(13)='VF2Z'
  1391. LESOBL(14)='VF3X'
  1392. LESOBL(15)='VF3Y'
  1393. LESOBL(16)='VF3Z'
  1394. LESOBL(17)='IVL1'
  1395. LESOBL(18)='IVL2'
  1396. LESOBL(19)='IVL3'
  1397. LESOBL(20)='PREC'
  1398. LESOBL(21)='EVXX'
  1399. LESOBL(22)='EVYY'
  1400. LESOBL(23)='EVZZ'
  1401. LESOBL(24)='GVXY'
  1402. LESOBL(25)='GVXZ'
  1403. LESOBL(26)='GVYZ'
  1404. LESOBL(27)='PORO'
  1405. LESOBL(28)='BU '
  1406. LESOBL(29)='EPSF'
  1407. LESOBL(30)='TETA'
  1408. C= 7.1.2 - Cas AXISYMETRIQUE
  1409. ELSE IF (IFOUR.EQ.0) THEN
  1410. NBROBL=23
  1411. SEGINI,NOMID
  1412. LESOBL( 1)='EPSE'
  1413. LESOBL( 2)='W1MA'
  1414. LESOBL( 3)='W2MA'
  1415. LESOBL( 4)='EPSM'
  1416. LESOBL( 5)='W1 '
  1417. LESOBL( 6)='W2 '
  1418. LESOBL( 7)='VEPS'
  1419. LESOBL( 8)='VF1X'
  1420. LESOBL( 9)='VF1Y'
  1421. LESOBL(10)='VF2X'
  1422. LESOBL(11)='VF2Y'
  1423. LESOBL(12)='IVL1'
  1424. LESOBL(13)='IVL2'
  1425. LESOBL(14)='IVL3'
  1426. LESOBL(15)='PREC'
  1427. LESOBL(16)='EVRR'
  1428. LESOBL(17)='EVZZ'
  1429. LESOBL(18)='EVTT'
  1430. LESOBL(19)='GVRZ'
  1431. LESOBL(20)='PORO'
  1432. LESOBL(21)='BU '
  1433. LESOBL(22)='EPSF'
  1434. LESOBL(23)='TETA'
  1435. C= 7.1.3 - Cas des series de FOURIER
  1436. ELSE IF (IFOUR.EQ.1) THEN
  1437. NBROBL=25
  1438. SEGINI NOMID
  1439. LESOBL( 1)='EPSE'
  1440. LESOBL( 2)='W1MA'
  1441. LESOBL( 3)='W2MA'
  1442. LESOBL( 4)='EPSM'
  1443. LESOBL( 5)='W1 '
  1444. LESOBL( 6)='W2 '
  1445. LESOBL( 7)='VEPS'
  1446. LESOBL( 8)='VF1X'
  1447. LESOBL( 9)='VF1Y'
  1448. LESOBL(10)='VF2X'
  1449. LESOBL(11)='VF2Y'
  1450. LESOBL(12)='IVL1'
  1451. LESOBL(13)='IVL2'
  1452. LESOBL(14)='IVL3'
  1453. LESOBL(15)='PREC'
  1454. LESOBL(16)='EVRR'
  1455. LESOBL(17)='EVZZ'
  1456. LESOBL(18)='EVTT'
  1457. LESOBL(19)='GVRZ'
  1458. LESOBL(20)='GVRT'
  1459. LESOBL(21)='GVZT'
  1460. LESOBL(22)='PORO'
  1461. LESOBL(23)='BU '
  1462. LESOBL(24)='EPSF'
  1463. LESOBL(25)='TETA'
  1464. C= 7.1.4 - Cas DEFOrmations PLANES (GENEralisees ou non)
  1465. ELSE IF (IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN
  1466. NBROBL=23
  1467. SEGINI NOMID
  1468. LESOBL( 1)='EPSE'
  1469. LESOBL( 2)='W1MA'
  1470. LESOBL( 3)='W2MA'
  1471. LESOBL( 4)='EPSM'
  1472. LESOBL( 5)='W1 '
  1473. LESOBL( 6)='W2 '
  1474. LESOBL( 7)='VEPS'
  1475. LESOBL( 8)='VF1X'
  1476. LESOBL( 9)='VF1Y'
  1477. LESOBL(10)='VF2X'
  1478. LESOBL(11)='VF2Y'
  1479. LESOBL(12)='IVL1'
  1480. LESOBL(13)='IVL2'
  1481. LESOBL(14)='IVL3'
  1482. LESOBL(15)='PREC'
  1483. LESOBL(16)='EVXX'
  1484. LESOBL(17)='EVYY'
  1485. LESOBL(18)='EVZZ'
  1486. LESOBL(19)='GVXY'
  1487. LESOBL(20)='PORO'
  1488. LESOBL(21)='BU '
  1489. LESOBL(22)='EPSF'
  1490. LESOBL(23)='TETA'
  1491. C= 7.1.5 - Cas CONTraintes PLANes
  1492. ELSE IF (IFOUR.EQ.-2) THEN
  1493. NBROBL=20
  1494. SEGINI,NOMID
  1495. LESOBL( 1)='EPSE'
  1496. LESOBL( 2)='W1MA'
  1497. LESOBL( 3)='W2MA'
  1498. LESOBL( 4)='W1 '
  1499. LESOBL( 5)='W2 '
  1500. LESOBL( 6)='VF1X'
  1501. LESOBL( 7)='VF1Y'
  1502. LESOBL( 8)='VF2X'
  1503. LESOBL( 9)='VF2Y'
  1504. LESOBL(10)='IVL1'
  1505. LESOBL(11)='IVL2'
  1506. LESOBL(12)='PREC'
  1507. LESOBL(13)='EVXX'
  1508. LESOBL(14)='EVYY'
  1509. LESOBL(15)='EVZZ'
  1510. LESOBL(16)='GVXY'
  1511. LESOBL(17)='PORO'
  1512. LESOBL(18)='BU '
  1513. LESOBL(19)='EPSF'
  1514. LESOBL(20)='TETA'
  1515. C= 7.1.6 - Modes de calcul UNIDIMENSIONNELs (1D) PLAN
  1516. ELSE IF (IFOUR.GE.3.AND.IFOUR.LE.11) THEN
  1517. C* NBROBL=
  1518. C* SEGINI,NOMID
  1519. C* LESOBL( 1)='EPSE'
  1520. C* LESOBL( 2)='W1MA'
  1521. C* LESOBL( 3)='W2MA'
  1522. C* LESOBL( 4)='W1 '
  1523. C* LESOBL( 5)='W2 '
  1524. C* LESOBL( 6)='VF1X'
  1525. C* LESOBL( 7)='VF1Y'
  1526. C* LESOBL( 8)='VF2X'
  1527. C* LESOBL( 9)='VF2Y'
  1528. C* LESOBL(10)='IVL1'
  1529. C* LESOBL(11)='IVL2'
  1530. C* LESOBL(12)='PREC'
  1531. C* LESOBL(13)='EVXX'
  1532. C* LESOBL(14)='EVYY'
  1533. C* LESOBL(15)='EVZZ'
  1534. C* LESOBL(16)='PORO'
  1535. C* LESOBL(17)='BU '
  1536. C* LESOBL(18)='EPSF'
  1537. C* LESOBL(19)='TETA'
  1538. C= 7.1.7 - Modes de calcul UNIDIMENSIONNELs (1D) AXIS et SPHE
  1539. ELSE IF (IFOUR.GE.12.AND.IFOUR.LE.15) THEN
  1540. C* NBROBL=
  1541. C* SEGINI,NOMID
  1542. C* LESOBL( 1)='EPSE'
  1543. C* LESOBL( 2)='W1MA'
  1544. C* LESOBL( 3)='W2MA'
  1545. C* LESOBL( 4)='W1 '
  1546. C* LESOBL( 5)='W2 '
  1547. C* LESOBL( 6)='VF1X'
  1548. C* LESOBL( 7)='VF1Y'
  1549. C* LESOBL( 8)='VF2X'
  1550. C* LESOBL( 9)='VF2Y'
  1551. C* LESOBL(10)='IVL1'
  1552. C* LESOBL(11)='IVL2'
  1553. C* LESOBL(12)='PREC'
  1554. C* LESOBL(13)='EVRR'
  1555. C* LESOBL(14)='EVZZ'
  1556. C* LESOBL(15)='EVTT'
  1557. C* LESOBL(16)='PORO'
  1558. C* LESOBL(17)='BU '
  1559. C* LESOBL(18)='EPSF'
  1560. C* LESOBL(19)='TETA'
  1561. ENDIF
  1562. C =====
  1563. C 7.2 - Elements COQUEs MINCEs
  1564. C =====
  1565. ELSE IF (MFR.EQ.3) THEN
  1566. C= 7.2.1 - Mode de calcul TRIDIMENSIONNEL
  1567. IF (IFOUR.EQ.2) THEN
  1568. NBROBL=22
  1569. SEGINI,NOMID
  1570. LESOBL( 1)='EPSE'
  1571. LESOBL( 2)='W1MA'
  1572. LESOBL( 3)='W2MA'
  1573. LESOBL( 4)='W1 '
  1574. LESOBL( 5)='W2 '
  1575. LESOBL( 6)='VF1X'
  1576. LESOBL( 7)='VF1Y'
  1577. LESOBL( 8)='VF2X'
  1578. LESOBL( 9)='VF2Y'
  1579. LESOBL(10)='IVL1'
  1580. LESOBL(11)='IVL2'
  1581. LESOBL(12)='PREC'
  1582. LESOBL(13)='EVSS'
  1583. LESOBL(14)='EVTT'
  1584. LESOBL(15)='GVST'
  1585. LESOBL(16)='RVSS'
  1586. LESOBL(17)='RVTT'
  1587. LESOBL(18)='RVST'
  1588. LESOBL(19)='PORO'
  1589. LESOBL(20)='BU '
  1590. LESOBL(21)='EPSF'
  1591. LESOBL(22)='TETA'
  1592. ENDIF
  1593. C =====
  1594. C 7.3 - Elements COQUEs en CISAILLEMENT TRANSVERSE$
  1595. C =====
  1596. ELSE IF (MFR.EQ.9) THEN
  1597. C= 7.3.1 - Mode de calcul TRIDIMENSIONNEL
  1598. IF (IFOUR.EQ.2) THEN
  1599. NBROBL=24
  1600. SEGINI,NOMID
  1601. LESOBL( 1)='EPSE'
  1602. LESOBL( 2)='W1MA'
  1603. LESOBL( 3)='W2MA'
  1604. LESOBL( 4)='W1 '
  1605. LESOBL( 5)='W2 '
  1606. LESOBL( 6)='VF1X'
  1607. LESOBL( 7)='VF1Y'
  1608. LESOBL( 8)='VF2X'
  1609. LESOBL( 9)='VF2Y'
  1610. LESOBL(10)='IVL1'
  1611. LESOBL(11)='IVL2'
  1612. LESOBL(12)='PREC'
  1613. LESOBL(13)='EVSS'
  1614. LESOBL(14)='EVTT'
  1615. LESOBL(15)='GVST'
  1616. LESOBL(16)='RVSS'
  1617. LESOBL(17)='RVTT'
  1618. LESOBL(18)='RVST'
  1619. LESOBL(19)='GVSN'
  1620. LESOBL(20)='GVTN'
  1621. LESOBL(21)='PORO'
  1622. LESOBL(22)='BU '
  1623. LESOBL(23)='EPSF'
  1624. LESOBL(24)='TETA'
  1625. ENDIF
  1626. ENDIF
  1627. C 8 - Modele visqueux avec double endommagement
  1628. C ============================
  1629. C= Modele disponible uniquement en formulation MASSIF
  1630. ELSE IF (MATEPL.EQ.130) THEN
  1631. IF (MFR.EQ.1.OR.MFR.EQ.31) THEN
  1632. IF (IFOUR.EQ.0) THEN
  1633. NBROBL=4
  1634. SEGINI NOMID
  1635. LESOBL(1)='R'
  1636. LESOBL(2)='EPSE'
  1637. LESOBL(3)='DD'
  1638. LESOBL(4)='DC'
  1639. IPCOMP=NOMID
  1640. SEGDES NOMID
  1641. ELSE IF (IFOUR.EQ.2) THEN
  1642. NBROBL=4
  1643. SEGINI NOMID
  1644. LESOBL(1)='R'
  1645. LESOBL(2)='EPSE'
  1646. LESOBL(3)='DD'
  1647. LESOBL(4)='DC'
  1648. IPCOMP=NOMID
  1649. SEGDES NOMID
  1650. ENDIF
  1651. ENDIF
  1652. C 9 - Modele visqueux CHAB_SINH_R et CHAB_NOR_R
  1653. C ==============================================
  1654. C= Modele disponible uniquement en formulation MASSIF
  1655. ELSE IF (MATEPL.EQ.136.OR.MATEPL.EQ.138) THEN
  1656. IF (MFR.EQ.1.OR.MFR.EQ.31) THEN
  1657. C--------AXIS
  1658. IF (IFOUR.EQ.0) THEN
  1659. NBROBL=2
  1660. SEGINI NOMID
  1661. LESOBL(1)='R'
  1662. LESOBL(2)='EPSE'
  1663. IPCOMP=NOMID
  1664. SEGDES NOMID
  1665. C--------3D
  1666. ELSE IF (IFOUR.EQ.2) THEN
  1667. NBROBL=2
  1668. SEGINI NOMID
  1669. LESOBL(1)='R'
  1670. LESOBL(2)='EPSE'
  1671. IPCOMP=NOMID
  1672. SEGDES NOMID
  1673. ENDIF
  1674. ENDIF
  1675. C 9 - Modele visqueux CHAB_SINH_X et CHAB_NOR_X
  1676. C ==============================================
  1677. C= Modele disponible uniquement en formulation MASSIF
  1678. ELSE IF (MATEPL.EQ.137.OR.MATEPL.EQ.139) THEN
  1679. IF (MFR.EQ.1.OR.MFR.EQ.31) THEN
  1680. C--------AXIS
  1681. IF (IFOUR.EQ.0) THEN
  1682. NBROBL=10
  1683. SEGINI NOMID
  1684. LESOBL( 1)='A1RR'
  1685. LESOBL( 2)='A1ZZ'
  1686. LESOBL( 3)='A1TT'
  1687. LESOBL( 4)='A1RZ'
  1688. LESOBL( 5)='A2RR'
  1689. LESOBL( 6)='A2ZZ'
  1690. LESOBL( 7)='A2TT'
  1691. LESOBL( 8)='A2RZ'
  1692. LESOBL(9)='r'
  1693. LESOBL(10)='EPSE'
  1694. IPCOMP=NOMID
  1695. SEGDES NOMID
  1696. C--------3D
  1697. ELSE IF (IFOUR.EQ.2) THEN
  1698. C write(6,*) 'on est en 3D',IFOUR
  1699. NBROBL=14
  1700. SEGINI NOMID
  1701. LESOBL( 1)='A1XX'
  1702. LESOBL( 2)='A1YY'
  1703. LESOBL( 3)='A1ZZ'
  1704. LESOBL( 4)='A1XY'
  1705. LESOBL( 5)='A1YZ'
  1706. LESOBL( 6)='A1ZX'
  1707. LESOBL( 7)='A2XX'
  1708. LESOBL( 8)='A2YY'
  1709. LESOBL( 9)='A2ZZ'
  1710. LESOBL(10)='A2XY'
  1711. LESOBL(11)='A2YZ'
  1712. LESOBL(12)='A2ZX'
  1713. LESOBL(13)='r'
  1714. LESOBL(14)='EPSE'
  1715. IPCOMP=NOMID
  1716. SEGDES NOMID
  1717. ENDIF
  1718. ENDIF
  1719. C 10 - Modeles de SYMONDS et COWPER (SYCO1 et SYCO2)
  1720. C ===================================
  1721. ELSE IF (MATEPL.EQ.153.OR.MATEPL.EQ.154) THEN
  1722. C element massif ou xfem
  1723. IF (MFR.EQ.1.OR.MFR.EQ.63) THEN
  1724. C Cas des CONTRAINTES PLANES ou des DEFORMATIONS PLANES ou
  1725. C= tridimensionnel
  1726. IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.2) THEN
  1727. NBROBL=2
  1728. SEGINI,NOMID
  1729. LESOBL( 1)='EPSE'
  1730. LESOBL( 2)='VP'
  1731. ENDIF
  1732. ENDIF
  1733. C 11 - Modele de CHABOCHE
  1734. C ===================================
  1735. ELSE IF (MATEPL.EQ.165) THEN
  1736. C =====
  1737. C Uniquement elements MASSIFs (incompressibles ou poreux)
  1738. C =====
  1739. IF (MFR.EQ.1.OR.MFR.EQ.31.OR.MFR.EQ.33) THEN
  1740. C= 11.1 - Cas des CONTRAINTES PLANES ou des DEFORMATIONS PLANES ou
  1741. C= des DEFORMATIONS PLANES GENERALISEES
  1742. IF (IFOUR.EQ.-2.OR.IFOUR.EQ.-1.OR.IFOUR.EQ.-3) THEN
  1743. NBROBL=6
  1744. SEGINI,NOMID
  1745. LESOBL(1)='AXX '
  1746. LESOBL(2)='AYY '
  1747. LESOBL(3)='AZZ '
  1748. LESOBL(4)='AXY '
  1749. LESOBL(5)='EPSE'
  1750. LESOBL(6)='QQ '
  1751. C= 11.2 - Cas AXISYMETRIQUE
  1752. ELSE IF (IFOUR.EQ.0) THEN
  1753. NBROBL=6
  1754. SEGINI,NOMID
  1755. LESOBL(1)='ARR '
  1756. LESOBL(2)='AZZ '
  1757. LESOBL(3)='ATT '
  1758. LESOBL(4)='ARZ '
  1759. LESOBL(5)='EPSE'
  1760. LESOBL(6)='QQ '
  1761. C= 11.3 - Cas des series de FOURIER
  1762. ELSE IF (IFOUR.EQ.1) THEN
  1763. NBROBL=8
  1764. SEGINI,NOMID
  1765. LESOBL(1)='ARR '
  1766. LESOBL(2)='AZZ '
  1767. LESOBL(3)='ATT '
  1768. LESOBL(4)='ARZ '
  1769. LESOBL(5)='ART '
  1770. LESOBL(6)='AZT '
  1771. LESOBL(7)='EPSE'
  1772. LESOBL(8)='QQ '
  1773. C= 11.4 - Cas TRIDIMENSIONNEL
  1774. ELSE IF (IFOUR.EQ.2) THEN
  1775. NBROBL=8
  1776. SEGINI,NOMID
  1777. LESOBL(1)='AXX '
  1778. LESOBL(2)='AYY '
  1779. LESOBL(3)='AZZ '
  1780. LESOBL(4)='AXY '
  1781. LESOBL(5)='AXZ '
  1782. LESOBL(6)='AYZ '
  1783. LESOBL(7)='EPSE'
  1784. LESOBL(8)='QQ '
  1785. C= 1.1.5 - Modes de calcul UNIDIMENSIONNELS (1D) PLAN
  1786. ELSE IF (IFOUR.GE.3.AND.IFOUR.LE.11) THEN
  1787. NBROBL=5
  1788. SEGINI,NOMID
  1789. LESOBL(1)='AXX '
  1790. LESOBL(2)='AYY '
  1791. LESOBL(3)='AZZ '
  1792. LESOBL(4)='EPSE'
  1793. LESOBL(5)='QQ '
  1794. C= 1.1.6 - Modes de calcul UNIDIMENSIONNELS (1D) AXIS et SPHE
  1795. ELSE IF (IFOUR.GE.12.AND.IFOUR.LE.15) THEN
  1796. NBROBL=5
  1797. SEGINI,NOMID
  1798. LESOBL(1)='ARR '
  1799. LESOBL(2)='AZZ '
  1800. LESOBL(3)='ATT '
  1801. LESOBL(4)='EPSE'
  1802. LESOBL(5)='QQ '
  1803. ENDIF
  1804. ENDIF
  1805. C 31 Modeles FLUENDO3D (A.SELLIER et al.)
  1806. C ========================================
  1807. ELSE IF (MATEPL.EQ.187 ) THEN
  1808. C modeles FLUENDO3D
  1809. IF (MFR.EQ.1 .OR. MFR.EQ.33) THEN
  1810. C Elements MASSIF MECA ou MASSIF POREUX uniquement
  1811. IF (IFOUR.EQ.2 .or. IFOUR.EQ.-1 .or.IFOUR.EQ.0) THEN
  1812. C Cas TRIDIMENSIONNEL, DEFORMATIONS PLANES ou AXISYMETRIQUES
  1813. c cf.COML7 pour l initialisation des conditions intiales
  1814. c nombre de variables internes pour le comportement fluendo3d
  1815. c nombre total de variables internes
  1816. NBROBL=NB_VARI_FLUENDO3D+NB_VARI_SUPP_FLUENDO3D
  1817. NBROBL=NBROBL+NB_VARI_RENF+NB_VARI_HELM
  1818. c print*,'DS IDVAR4 POUR FLUENDO3D NBROBL=',NBROBL
  1819. SEGINI,NOMID
  1820.  
  1821. c variables internes pour fluendo3d
  1822. c indicateur premier pas (1 si premier pas passé sinon 0)
  1823. LESOBL(1)='PPAS'
  1824. c deformations elastiques
  1825. LESOBL(2)='EPE1'
  1826. LESOBL(3)='EPE2'
  1827. LESOBL(4)='EPE3'
  1828. LESOBL(5)='EPE4'
  1829. LESOBL(6)='EPE5'
  1830. LESOBL(7)='EPE6'
  1831. c deformation de l etage de Kelvin
  1832. LESOBL(8)='EPK1'
  1833. LESOBL(9)='EPK2'
  1834. LESOBL(10)='EPK3'
  1835. LESOBL(11)='EPK4'
  1836. LESOBL(12)='EPK5'
  1837. LESOBL(13)='EPK6'
  1838. c deformations de l etage de Maxwell
  1839. LESOBL(14)='EPM1'
  1840. LESOBL(15)='EPM2'
  1841. LESOBL(16)='EPM3'
  1842. LESOBL(17)='EPM4'
  1843. LESOBL(18)='EPM5'
  1844. LESOBL(19)='EPM6'
  1845. c deformations plastiques de druker prager
  1846. LESOBL(20)='EPC1'
  1847. LESOBL(21)='EPC2'
  1848. LESOBL(22)='EPC3'
  1849. LESOBL(23)='EPC4'
  1850. LESOBL(24)='EPC5'
  1851. LESOBL(25)='EPC6'
  1852. c deformation plastique de traction
  1853. LESOBL(26)='EPT1'
  1854. LESOBL(27)='EPT2'
  1855. LESOBL(28)='EPT3'
  1856. LESOBL(29)='EPT4'
  1857. LESOBL(30)='EPT5'
  1858. LESOBL(31)='EPT6'
  1859. c deformation visqueuse transitoire non consolidante
  1860. LESOBL(32)='EVT1'
  1861. LESOBL(33)='EVT2'
  1862. LESOBL(34)='EVT3'
  1863. LESOBL(35)='EVT4'
  1864. LESOBL(36)='EVT5'
  1865. LESOBL(37)='EVT6'
  1866. c deformation plastique fissuration gel
  1867. LESOBL(38)='EPG1'
  1868. LESOBL(39)='EPG2'
  1869. LESOBL(40)='EPG3'
  1870. LESOBL(41)='EPG4'
  1871. LESOBL(42)='EPG5'
  1872. LESOBL(43)='EPG6'
  1873. c deformation plastique def
  1874. LESOBL(44)='EPS1'
  1875. LESOBL(45)='EPS2'
  1876. LESOBL(46)='EPS3'
  1877. LESOBL(47)='EPS4'
  1878. LESOBL(48)='EPS5'
  1879. LESOBL(49)='EPS6'
  1880. c contraintes effective squelette solide
  1881. LESOBL(50)='SIG1'
  1882. LESOBL(51)='SIG2'
  1883. LESOBL(52)='SIG3'
  1884. LESOBL(53)='SIG4'
  1885. LESOBL(54)='SIG5'
  1886. LESOBL(55)='SIG6'
  1887. c contraintes effectives elastiques de l etage de Kelvin
  1888. LESOBL(56)='SKE1'
  1889. LESOBL(57)='SKE2'
  1890. LESOBL(58)='SKE3'
  1891. LESOBL(59)='SKE4'
  1892. LESOBL(60)='SKE5'
  1893. LESOBL(61)='SKE6'
  1894. c contraintes totales dans la matrice endommagee
  1895. LESOBL(62)='SIM1'
  1896. LESOBL(63)='SIM2'
  1897. LESOBL(64)='SIM3'
  1898. LESOBL(65)='SIM4'
  1899. LESOBL(66)='SIM5'
  1900. LESOBL(67)='SIM6'
  1901. c hydratation finale
  1902. LESOBL(68)='HYDF'
  1903. c volume d eau final
  1904. LESOBL(69)='VWAT'
  1905. c porosite finale
  1906. LESOBL(70)='VPOR'
  1907. c variable non locale weibull par methode wl2
  1908. LESOBL(71)='XWL2'
  1909. c taux de chargement de traction pour weibull
  1910. LESOBL(72)='TWL2'
  1911. c xwl2 maxi pour calcul du smax non local ds wl2
  1912. LESOBL(73)='MXWL'
  1913. c maximum du taux de chargement pour methode wl2
  1914. LESOBL(74)='MTWL'
  1915. c endommagement localise de traction debut de pas
  1916. LESOBL(75)='DTMX'
  1917. c coeff d effet d echelle de Weibull sur RTP macro
  1918. LESOBL(76)='CWRT'
  1919. c endommagement thermique isotrope
  1920. LESOBL(77)='DTHE'
  1921. c endomagement par fluage
  1922. LESOBL(78)='DFLU'
  1923. c endommagement de traction diffus pre pic
  1924. LESOBL(79)='DTPP'
  1925. c biot eau
  1926. LESOBL(80)='BWAT'
  1927. c pression eau
  1928. LESOBL(81)='PWAT'
  1929. c biot gel
  1930. LESOBL(82)='BGEL'
  1931. c pression rag
  1932. LESOBL(83)='PGEL'
  1933. c biot eau
  1934. LESOBL(84)='BAFT'
  1935. c pression def
  1936. LESOBL(85)='PAFT'
  1937. c avancement gel
  1938. LESOBL(86)='AGEL'
  1939. c epseces chimiques pour AFT
  1940. LESOBL(87)='AFT1'
  1941. LESOBL(88)='AFM1'
  1942. LESOBL(89)='ATIL'
  1943. LESOBL(90)='STIL'
  1944. LESOBL(91)='AFT2'
  1945. c avancement et volume AFT
  1946. LESOBL(92)='ADEF'
  1947. LESOBL(93)='VAFT'
  1948. c deformation plastique equivalente de cisaillement
  1949. LESOBL(94)='EPLC'
  1950. c endo global de traction
  1951. LESOBL(95)='DTRA'
  1952. c endo global de compression
  1953. LESOBL(96)='DCOM'
  1954. c ouvertures plastiques de fissures actuelles de traction
  1955. LESOBL(97)='WPL1'
  1956. LESOBL(98)='WPL2'
  1957. LESOBL(99)='WPL3'
  1958. LESOBL(100)='WPL4'
  1959. LESOBL(101)='WPL5'
  1960. LESOBL(102)='WPL6'
  1961. c ouvertures plastiques maxi de fissures actuelles de traction
  1962. LESOBL(103)='WPX1'
  1963. LESOBL(104)='WPX2'
  1964. LESOBL(105)='WPX3'
  1965. LESOBL(106)='WPX4'
  1966. LESOBL(107)='WPX5'
  1967. LESOBL(108)='WPX6'
  1968. c ouverture plastique maxi actuelle
  1969. LESOBL(109)='WPL0'
  1970. c controle de l erreur sur Gf
  1971. LESOBL(110)='ERGF'
  1972. c endommagements maxi de traction
  1973. LESOBL(111)='DTM0'
  1974. LESOBL(112)='DTW0'
  1975. LESOBL(113)='DTG0'
  1976. LESOBL(114)='DTS0'
  1977. c endommagements maxi de compression
  1978. LESOBL(115)='DCM0'
  1979. LESOBL(116)='DCW0'
  1980. LESOBL(117)='DCG0'
  1981. LESOBL(118)='DCS0'
  1982. c endommagement localise de traction
  1983. LESOBL(119)='DTL0'
  1984. c eau pour la DTT
  1985. LESOBL(120)='WCSH'
  1986. c pression dans les CSH
  1987. LESOBL(121)='PCSH'
  1988. c endo pre pic de compression
  1989. LESOBL(122)='DCPP'
  1990. c increment de deformation de Kelvin
  1991. LESOBL(123)='DEK1'
  1992. LESOBL(124)='DEK2'
  1993. LESOBL(125)='DEK3'
  1994. LESOBL(126)='DEK4'
  1995. LESOBL(127)='DEK5'
  1996. LESOBL(128)='DEK6'
  1997. c coeff d amplification par DTT
  1998. LESOBL(129)='CDTT'
  1999. c taux de franchissement des criteres par les depressions capillaire
  2000. LESOBL(130)='FSH1'
  2001. LESOBL(131)='FSH2'
  2002. LESOBL(132)='FSH3'
  2003. LESOBL(133)='FSH4'
  2004. LESOBL(134)='FSH5'
  2005. LESOBL(135)='FSH6'
  2006. c endo de couplage traction sur compression
  2007. LESOBL(136)='DCT0'
  2008. c taux de cisaillement de Drucker Prager
  2009. LESOBL(137)='TAUD'
  2010. c endommagement maxi post peak de compression par dilatance
  2011. LESOBL(138)='DCC0'
  2012. c pas de temps effectivement pris en compte dans le calcul
  2013. LESOBL(139)='DTPS'
  2014. c pression maxi de gel de rag
  2015. LESOBL(140)='PGMX'
  2016. c source de la deformation non locale
  2017. LESOBL(141)='ENL1'
  2018. LESOBL(142)='ENL2'
  2019. LESOBL(143)='ENL3'
  2020. LESOBL(144)='ENL4'
  2021. LESOBL(145)='ENL5'
  2022. LESOBL(146)='ENL6'
  2023. c deformation non locale stockee
  2024. LESOBL(147)='NLM1'
  2025. LESOBL(148)='NLM2'
  2026. LESOBL(149)='NLM3'
  2027. LESOBL(150)='NLM4'
  2028. LESOBL(151)='NLM5'
  2029. LESOBL(152)='NLM6'
  2030.  
  2031. c********rajouter ici les variables supplementaires ********************
  2032. c jusqu a NDEBUT
  2033. NDEBUT=NB_VARI_FLUENDO3D+NB_VARI_SUPP_FLUENDO3D
  2034. c debut variables internes fibres Romain Gontero
  2035. LESOBL(NB_VARI_FLUENDO3D+1)='SFI1'
  2036. LESOBL(NB_VARI_FLUENDO3D+2)='SFI2'
  2037. LESOBL(NB_VARI_FLUENDO3D+3)='SFI3'
  2038. LESOBL(NB_VARI_FLUENDO3D+4)='SFI4'
  2039. LESOBL(NB_VARI_FLUENDO3D+5)='SFI5'
  2040. LESOBL(NB_VARI_FLUENDO3D+6)='SFI6'
  2041. LESOBL(NB_VARI_FLUENDO3D+7)='WMA1'
  2042. LESOBL(NB_VARI_FLUENDO3D+8)='WMA2'
  2043. LESOBL(NB_VARI_FLUENDO3D+9)='WMA3'
  2044. LESOBL(NB_VARI_FLUENDO3D+10)='WMY1'
  2045. LESOBL(NB_VARI_FLUENDO3D+11)='WMY2'
  2046. LESOBL(NB_VARI_FLUENDO3D+12)='WMY3'
  2047. LESOBL(NB_VARI_FLUENDO3D+13)='EW1'
  2048. LESOBL(NB_VARI_FLUENDO3D+14)='EW2'
  2049. LESOBL(NB_VARI_FLUENDO3D+15)='EW3'
  2050. LESOBL(NB_VARI_FLUENDO3D+16)='NC1'
  2051. LESOBL(NB_VARI_FLUENDO3D+17)='NC2'
  2052. LESOBL(NB_VARI_FLUENDO3D+18)='NC3'
  2053. LESOBL(NB_VARI_FLUENDO3D+19)='WPP1'
  2054. LESOBL(NB_VARI_FLUENDO3D+20)='WPP2'
  2055. LESOBL(NB_VARI_FLUENDO3D+21)='WPP3'
  2056. LESOBL(NB_VARI_FLUENDO3D+22)='RIG1'
  2057. LESOBL(NB_VARI_FLUENDO3D+23)='RIG2'
  2058. LESOBL(NB_VARI_FLUENDO3D+24)='RIG3'
  2059. LESOBL(NB_VARI_FLUENDO3D+25)='W0F1'
  2060. LESOBL(NB_VARI_FLUENDO3D+26)='W0F2'
  2061. LESOBL(NB_VARI_FLUENDO3D+27)='W0F3'
  2062. LESOBL(NB_VARI_FLUENDO3D+28)='LOC1'
  2063. LESOBL(NB_VARI_FLUENDO3D+29)='LOC2'
  2064. LESOBL(NB_VARI_FLUENDO3D+30)='LOC3'
  2065. LESOBL(NB_VARI_FLUENDO3D+31)='SFD1'
  2066. LESOBL(NB_VARI_FLUENDO3D+32)='SFD2'
  2067. LESOBL(NB_VARI_FLUENDO3D+33)='SFD3'
  2068. LESOBL(NB_VARI_FLUENDO3D+34)='WPF1'
  2069. LESOBL(NB_VARI_FLUENDO3D+35)='WPF2'
  2070. LESOBL(NB_VARI_FLUENDO3D+36)='WPF3'
  2071. LESOBL(NB_VARI_FLUENDO3D+37)='WLC1'
  2072. LESOBL(NB_VARI_FLUENDO3D+38)='WLC2'
  2073. LESOBL(NB_VARI_FLUENDO3D+39)='WLC3'
  2074. LESOBL(NB_VARI_FLUENDO3D+40)='SMA1'
  2075. LESOBL(NB_VARI_FLUENDO3D+41)='SMA2'
  2076. LESOBL(NB_VARI_FLUENDO3D+42)='SMA3'
  2077. LESOBL(NB_VARI_FLUENDO3D+43)='WMD1'
  2078. LESOBL(NB_VARI_FLUENDO3D+44)='WMD2'
  2079. LESOBL(NB_VARI_FLUENDO3D+45)='WMD3'
  2080. LESOBL(NB_VARI_FLUENDO3D+46)='PHI1'
  2081. LESOBL(NB_VARI_FLUENDO3D+47)='PHI2'
  2082. LESOBL(NB_VARI_FLUENDO3D+48)='PHI3'
  2083. LESOBL(NB_VARI_FLUENDO3D+49)='CVA1'
  2084. LESOBL(NB_VARI_FLUENDO3D+50)='CVA2'
  2085. LESOBL(NB_VARI_FLUENDO3D+51)='CVA3'
  2086. LESOBL(NB_VARI_FLUENDO3D+52)='WPM1'
  2087. LESOBL(NB_VARI_FLUENDO3D+53)='WPM2'
  2088. LESOBL(NB_VARI_FLUENDO3D+54)='WPM3'
  2089. c fin variables internes fibres romain
  2090.  
  2091. c ***** variables pour les renforts *****************************
  2092. c lignes a copier dans les modeles utilisant Helmholtz (sellier)
  2093. do i=1,NB_RENF
  2094. c numero du renfort
  2095. write (motren1,'(I1)') i
  2096. c deformation totale
  2097. motren3='ERT'
  2098. motren4=motren3//motren1
  2099. c print*,motren4
  2100. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+1)=motren4
  2101. c defprmation elastique
  2102. motren3='ERE'
  2103. motren4=motren3//motren1
  2104. c print*,motren4
  2105. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+2)=motren4
  2106. c deformations axiale permanente dans les renforts
  2107. motren3='ERP'
  2108. motren4=motren3//motren1
  2109. c print*,motren4
  2110. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+3)=motren4
  2111. c contraintes axiale effective dans renfort
  2112. motren3='SER'
  2113. motren4=motren3//motren1
  2114. c print*,motren4
  2115. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+4)=motren4
  2116. c deformation visqueuse de Maxwell dans le renfort
  2117. motren3='ERM'
  2118. motren4=motren3//motren1
  2119. c print*,motren4
  2120. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+5)=motren4
  2121. c taux de chargement maxi du renfort
  2122. motren3='MUR'
  2123. motren4=motren3//motren1
  2124. c print*,motren4
  2125. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+6)=motren4
  2126. c deformation de kelvin des renforts
  2127. motren3='ERK'
  2128. motren4=motren3//motren1
  2129. c print*,motren4
  2130. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+7)=motren4
  2131. c precontrainte imposee (pour detecter les variations imposees)
  2132. motren3='SPR'
  2133. motren4=motren3//motren1
  2134. c print*,motren4
  2135. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+8)=motren4
  2136. c Cumul deformations plastiques de traction
  2137. motren3='EFC'
  2138. motren4=motren3//motren1
  2139. c print*,motren4
  2140. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+9)=motren4
  2141. c endommagement de traction du renfort
  2142. motren3='DRT'
  2143. motren4=motren3//motren1
  2144. c print*,motren4
  2145. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+10)=motren4
  2146. c endommagement de traction du renfort
  2147. motren3='DR1'
  2148. motren4=motren3//motren1
  2149. c print*,motren4
  2150. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+11)=motren4
  2151. c endommagement de traction du renfort
  2152. motren3='DR2'
  2153. motren4=motren3//motren1
  2154. c print*,motren4
  2155. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+12)=motren4
  2156. c longueur de l element fini dans la direction du renfort
  2157. motren3='LER'
  2158. motren4=motren3//motren1
  2159. c print*,motren4
  2160. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+13)=motren4
  2161. c contrainte endommagee
  2162. motren3='SNR'
  2163. motren4=motren3//motren1
  2164. c print*,motren4
  2165. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+14)=motren4
  2166. c deformation plastique cumulee pour plasticite isotrope
  2167. motren3='EQR'
  2168. motren4=motren3//motren1
  2169. c print*,motren4
  2170. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+15)=motren4
  2171. c endommagement de compression du renfort
  2172. motren3='DRC'
  2173. motren4=motren3//motren1
  2174. c print*,motren4
  2175. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+16)=motren4
  2176. c Cumul deformation plastiques de compression
  2177. motren3='EFT'
  2178. motren4=motren3//motren1
  2179. c print*,motren4
  2180. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+17)=motren4
  2181. c coeff de diffusion pour le glissement
  2182. motren3='DFR'
  2183. motren4=motren3//motren1
  2184. c print*,motren4
  2185. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+18)=motren4
  2186. c contrainte de cisaillement (valable en non local)
  2187. motren3='TOR'
  2188. motren4=motren3//motren1
  2189. c print*,motren4
  2190. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+19)=motren4
  2191. c endommagement de l interface (valable en non local)
  2192. motren3='DIR'
  2193. motren4=motren3//motren1
  2194. c print*,motren4
  2195. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+20)=motren4
  2196. c module tangent du renfort
  2197. motren3='ETR'
  2198. motren4=motren3//motren1
  2199. c print*,motren4
  2200. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+21)=motren4
  2201. c module secant de l interface
  2202. motren3='HSR'
  2203. motren4=motren3//motren1
  2204. c print*,motren4
  2205. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+22)=motren4
  2206. c fonction de refermeture de fissure de renfort
  2207. motren3='RFR'
  2208. motren4=motren3//motren1
  2209. c print*,motren4
  2210. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+23)=motren4
  2211. c deformation anelastique totale
  2212. motren3='EAR'
  2213. motren4=motren3//motren1
  2214. c print*,motren4
  2215. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+24)=motren4
  2216. c deformation anelastique visqueuse
  2217. motren3='EVR'
  2218. motren4=motren3//motren1
  2219. c print*,motren4
  2220. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+25)=motren4
  2221. c source non locale pour le glissement
  2222. motren3='SHR'
  2223. motren4=motren3//motren1
  2224. c print*,motren4
  2225. LESOBL(NDEBUT+(i-1)*NB_VARI_PAR_RENF+26)=motren4
  2226. end do
  2227. NDEBUT=NDEBUT+NB_VARI_RENF
  2228. c ***** fin des noms de variables pour les renforts ************
  2229.  
  2230.  
  2231. c ***** nom des variables pour Helmholtz ***********************
  2232. c lignes a copier dans les modeles utilisant Helmholtz (sellier)
  2233. c variables internes pour le non local par Helmholtz
  2234. c write(*,'(A32,A31,1X,I2)')
  2235. c # 'Dans IDVAR4 le nombre maximum de',
  2236. c # 'formulations de Helmholtz est:',
  2237. c # NB_HELM
  2238. c write(*,'(A63,1X,I2)')
  2239. c # 'Nombre de variables H par formulation de Helmholtz:',
  2240. c # NB_VARI_PAR_HELM
  2241. c generation des noms des variables internes pour Helmholtz
  2242. do J=1,NB_HELM
  2243. mothelm1='H'
  2244. write (motnum1,'(I1)') J
  2245. mothelm2=mothelm1//motnum1
  2246. C ATTENTION LES VARI SONT NUMEROTÉE DE 0 À NB_VARI_PAR_HELM-1
  2247. C la variable HJ0 est mobilisee automatiquement si INCj=1 (cf idmatr)
  2248. do K=1,NB_VARI_PAR_HELM
  2249. if (K.le.9) then
  2250. write (motvec1,'(I1)') K
  2251. mothelm3=mothelm2//motvec1
  2252. LESOBL(NDEBUT+(J-1)*NB_VARI_PAR_HELM+K)=mothelm3
  2253. c print*,mothelm3
  2254. else if (K.le.99) then
  2255. write (motvec2,'(I2)') K
  2256. mothelm4=mothelm2//motvec2
  2257. LESOBL(NDEBUT+(J-1)*NB_VARI_PAR_HELM+K)=mothelm4
  2258. c print*,mothelm4
  2259. else
  2260. print*,'Trop de Vari(s) pour Helmholtz dans idvar4'
  2261. CALL ERREUR(19)
  2262. end if
  2263. end do
  2264. end do
  2265. c NDEBUT=NDEBUT+NB_VARI_HELM
  2266. c * fin des noms des variables pour Helmholtz ******************
  2267.  
  2268. ELSE
  2269. PRINT*,'FORMULATION IMPREVUE POUR FLUENDO3D'
  2270. STOP
  2271. END IF
  2272.  
  2273. ELSE
  2274. PRINT*,'ELEMENT IMPREVU POUR FLUENDO3D'
  2275. STOP
  2276. END IF
  2277.  
  2278. C 32 Modele INCLUSION3D (A.SELLIER et al.)
  2279. C ==========================================
  2280. ELSE IF (MATEPL.EQ.188 ) THEN
  2281. C modeles INCLUSION3D
  2282. IF (MFR.EQ.1 .OR. MFR.EQ.33) THEN
  2283. C Elements MASSIF MECA ou MASSIF POREUX uniquement
  2284. IF (IFOUR.EQ.2 .or.IFOUR.EQ.-1 .or.IFOUR.EQ.0) THEN
  2285. C Cas TRIDIMENSIONNEL, DEFORMATIONS PLANES ou AXISYMETRIQUES
  2286. c -coml7 pour l initialisation des conditions intiales
  2287. c nombre de variables de base du modele *************************
  2288. c nombre d inclusions maxi
  2289. c nombre de variables de base du modele *************************
  2290. c nombre d inclusions maxi
  2291. NBRINC3D=1
  2292. c PRINT*,'------------------------------------------------------'
  2293. c PRINT*,'DANS IDVAR4 POUR INCLUSION3D'
  2294. c WRITE(*,'(A31,I3)') ' NOMBRE MAXIMUM D INCLUSION(S):',NBRINC3D
  2295. c *** nombre de variables globales ******************************
  2296. c A COPIER DANS CINC3D POUR DECLARER LES COPIES LOCALES DE
  2297. c CES TABLES
  2298. c ***************************************************************
  2299. c nombre de variables globales isotropes
  2300. NBVARISOG=1
  2301. c nombre de variable globales tensorielles
  2302. NBVARTENG=2
  2303. c nombre total de variables globales*****************************
  2304. NBVIND3D=NBVARISOG+6*NBVARTENG
  2305. c cas des variables existantes pour toutes les phases ***********
  2306. c nombre de variable isotropes
  2307. NBVARISOPP=7
  2308. c nombre de variable tensorielle
  2309. NBVARTENPP=8
  2310. c nombre de variables par phase commune a toutes les phases******
  2311. NBVPARP3D=NBVARISOPP+6*NBVARTENPP
  2312. c sous total des varis globales et communes a toutes les pahses *
  2313. NVTOT1=NBVIND3D+(NBRINC3D+1)*NBVPARP3D
  2314. c nombre de variables suplementaires que pour les interfaces
  2315. c isotrope
  2316. NBVARISOPI=0
  2317. c nombre de variables tensorielles par interface
  2318. NBVARTENPI=12
  2319. c nombre total de variables propres aux interfaces***************
  2320. NBVPARI3D=NBVARISOPI+6*NBVARTENPI
  2321. c nombre de variables totales
  2322. NBROBL=(NVTOT1+NBVPARI3D*NBRINC3D)
  2323. c WRITE(*,'(A31,I3)') 'NOMBRE DE VARIABLES INTERNES:',NBROBL
  2324. c print*,'NOM DES VARIABLES INTERNES'
  2325. c PRINT*,'------------------------------------------------------'
  2326. c initialisation du segment des noms des variables***************
  2327. SEGINI,NOMID
  2328.  
  2329. c ***** variables globales inclusion3d **************************
  2330. c indicateur premier pas (1 si premier pas passé sinon 0)
  2331. LESOBL(1)='PPAS'
  2332.  
  2333. c ******* tenseurs globaux *************************************
  2334. c print*,1,LESOBL(1)
  2335. do icomp3d=1,6
  2336. c contrainte effective moyenne
  2337. motinc3='SEM'
  2338. write (motinc1,'(I1)') icomp3d
  2339. motinc4=motinc3//motinc1
  2340. nv3d=NBVARISOG+icomp3d
  2341. LESOBL(nv3d)=motinc4
  2342. c print*,nv3d,motinc4
  2343. end do
  2344. do icomp3d=1,6
  2345. c deformations plastiques localisées macroscopique
  2346. motinc3='EPT'
  2347. write (motinc1,'(I1)') icomp3d
  2348. motinc4=motinc3//motinc1
  2349. nv3d=NBVARISOG+6+icomp3d
  2350. LESOBL(nv3d)=motinc4
  2351. c print*,nv3d,motinc4
  2352. end do
  2353.  
  2354. c ***** variables communes a toutes les phases ******************
  2355.  
  2356. do IPHASE3D=0,NBRINC3D
  2357. c print*,'DS IDVAR4 DECLARATION PHASE:',iphase3d
  2358.  
  2359. c avancement de la reaction chimique de gonflement
  2360. motinc3='ACH'
  2361. write (motinc1,'(I1)') iphase3d
  2362. motinc4=motinc3//motinc1
  2363. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+1
  2364. LESOBL(nv3d)=motinc4
  2365. c print*,nv3d,motinc4
  2366.  
  2367. c volume neoforme total
  2368. motinc3='VGT'
  2369. write (motinc1,'(I1)') iphase3d
  2370. motinc4=motinc3//motinc1
  2371. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+2
  2372. LESOBL(nv3d)=motinc4
  2373. c print*,nv3d,motinc4
  2374.  
  2375. c deformation thermique isotrope imposee
  2376. motinc3='ETH'
  2377. write (motinc1,'(I1)') iphase3d
  2378. motinc4=motinc3//motinc1
  2379. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+3
  2380. LESOBL(nv3d)=motinc4
  2381. c print*,nv3d,motinc4
  2382.  
  2383. c contrainte effective hydrique (biot init phase * pw phase)
  2384. motinc3='SEW'
  2385. write (motinc1,'(I1)') iphase3d
  2386. motinc4=motinc3//motinc1
  2387. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+4
  2388. LESOBL(nv3d)=motinc4
  2389. c print*,nv3d,motinc4
  2390.  
  2391. c deformation osmotique isotrope du solide lors du sechage
  2392. motinc3='EPH'
  2393. write (motinc1,'(I1)') iphase3d
  2394. motinc4=motinc3//motinc1
  2395. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+5
  2396. LESOBL(nv3d)=motinc4
  2397. c print*,nv3d,motinc4
  2398.  
  2399. c volume de gel dans les fissures tel que sg=bg*pg*kg(vgt-vgf)
  2400. motinc3='VGF'
  2401. write (motinc1,'(I1)') iphase3d
  2402. motinc4=motinc3//motinc1
  2403. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+6
  2404. LESOBL(nv3d)=motinc4
  2405. c print*,nv3d,motinc4
  2406.  
  2407. c contrainte poro meca due au gel sg=bg*pg*kg(vgt-vgf)
  2408. motinc3='SEG'
  2409. write (motinc1,'(I1)') iphase3d
  2410. motinc4=motinc3//motinc1
  2411. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+7
  2412. LESOBL(nv3d)=motinc4
  2413. c print*,nv3d,motinc4
  2414.  
  2415. c ** contraintes effectives radiale dans la phase
  2416. c (i=0 matrice infini, i>0 interieur de la phase)
  2417. motinc2='RS'
  2418. write (motinc1,'(I1)') iphase3d
  2419. motinc3=motinc2//motinc1
  2420. do icomp3d=1,6
  2421. write (motinc1,'(I1)') icomp3d
  2422. motinc4=motinc3//motinc1
  2423. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+NBVARISOPP+ICOMP3D
  2424. LESOBL(nv3d)=motinc4
  2425. c print*,nv3d,LESOBL(nv3d)
  2426. end do
  2427.  
  2428. c ** deformation elastique (radiale ds inclusion si i>0 00 ds mat si 0)
  2429. motinc2='RE'
  2430. write (motinc1,'(I1)') iphase3d
  2431. motinc3=motinc2//motinc1
  2432. do ICOMP3D=1,6
  2433. write (motinc1,'(I1)') icomp3d
  2434. motinc4=motinc3//motinc1
  2435. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+NBVARISOPP+6+ICOMP3D
  2436. LESOBL(nv3d)=motinc4
  2437. c print*,nv3d,LESOBL(nv3d)
  2438. end do
  2439.  
  2440. c ** deformation visqueuse de Maxwell (radiale ds l interface si i>0 00 dans mat si i=0)
  2441. motinc2='RM'
  2442. write (motinc1,'(I1)') iphase3d
  2443. motinc3=motinc2//motinc1
  2444. do icomp3d=1,6
  2445. write (motinc1,'(I1)') icomp3d
  2446. motinc4=motinc3//motinc1
  2447. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+NBVARISOPP+12+ICOMP3D
  2448. LESOBL(nv3d)=motinc4
  2449. c print*,nv3d,LESOBL(nv3d)
  2450. end do
  2451.  
  2452. c ** deformations visqueuse de Kelvin (radiale dans l interface si i>0)
  2453. motinc2='RK'
  2454. write (motinc1,'(I1)') iphase3d
  2455. motinc3=motinc2//motinc1
  2456. do icomp3d=1,6
  2457. write (motinc1,'(I1)') icomp3d
  2458. motinc4=motinc3//motinc1
  2459. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+NBVARISOPP+18+ICOMP3D
  2460. LESOBL(nv3d)=motinc4
  2461. c print*,nv3d,LESOBL(nv3d)
  2462. end do
  2463.  
  2464. c ** deformations radiales de plasticite en traction
  2465. c (decollement dans l inclusion si i>0)
  2466. motinc2='RT'
  2467. write (motinc1,'(I1)') iphase3d
  2468. motinc3=motinc2//motinc1
  2469. do icomp3d=1,6
  2470. write (motinc1,'(I1)') icomp3d
  2471. motinc4=motinc3//motinc1
  2472. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+NBVARISOPP+24+ICOMP3D
  2473. LESOBL(nv3d)=motinc4
  2474. c print*,nv3d,LESOBL(nv3d)
  2475. end do
  2476.  
  2477. c ** deformations radiales de plasticite en cisaillement
  2478. c (decollement dans l inclusion si i>0)
  2479. motinc2='RC'
  2480. write (motinc1,'(I1)') iphase3d
  2481. motinc3=motinc2//motinc1
  2482. do icomp3d=1,6
  2483. write (motinc1,'(I1)') icomp3d
  2484. motinc4=motinc3//motinc1
  2485. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+NBVARISOPP+30+ICOMP3D
  2486. LESOBL(nv3d)=motinc4
  2487. c print*,nv3d,LESOBL(nv3d)
  2488. end do
  2489.  
  2490. c ** deformations radiales de plasticite localisee dans la phase(decollement)
  2491. motinc2='RL'
  2492. write (motinc1,'(I1)') iphase3d
  2493. motinc3=motinc2//motinc1
  2494. do icomp3d=1,6
  2495. write (motinc1,'(I1)') icomp3d
  2496. motinc4=motinc3//motinc1
  2497. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+NBVARISOPP+36+ICOMP3D
  2498. LESOBL(nv3d)=motinc4
  2499. c print*,nv3d,LESOBL(nv3d)
  2500. end do
  2501.  
  2502. c ** contrainte totale moyenne dans la phase (mean stress) pour le critere de la deformation de decollement
  2503. motinc2='TS'
  2504. write (motinc1,'(I1)') iphase3d
  2505. motinc3=motinc2//motinc1
  2506. do icomp3d=1,6
  2507. write (motinc1,'(I1)') icomp3d
  2508. motinc4=motinc3//motinc1
  2509. nv3d=NBVIND3D+IPHASE3D*NBVPARP3D+NBVARISOPP+42+ICOMP3D
  2510. LESOBL(nv3d)=motinc4
  2511. c print*,nv3d,LESOBL(nv3d)
  2512. end do
  2513.  
  2514. end do
  2515. c ***** fin des variables communes a toutes les phases **********
  2516.  
  2517. c ***** variables associées aux interfaces **********************
  2518.  
  2519. do iphase3d=1,NBRINC3D
  2520. c print*,'DS IDVAR4 VARI INTERFACE DE LA PHASE ',iphase3d
  2521.  
  2522. c ** contrainte radiale dans l interface
  2523. motinc2='IS'
  2524. write (motinc1,'(I1)') iphase3d
  2525. motinc3=motinc2//motinc1
  2526. do icomp3d=1,6
  2527. write (motinc1,'(I1)') icomp3d
  2528. motinc4=motinc3//motinc1
  2529. nv3d=NVTOT1+(IPHASE3D-1)*NBVPARI3D+NBVARISOPI+ICOMP3D
  2530. LESOBL(nv3d)=motinc4
  2531. c print*,nv3d,LESOBL(nv3d)
  2532. end do
  2533.  
  2534. c ** contrainte orthoradiale moyennes dans l interface
  2535. motinc2='OS'
  2536. write (motinc1,'(I1)') iphase3d
  2537. motinc3=motinc2//motinc1
  2538. do icomp3d=1,6
  2539. write (motinc1,'(I1)') icomp3d
  2540. motinc4=motinc3//motinc1
  2541. nv3d=NVTOT1+(IPHASE3D-1)*NBVPARI3D+NBVARISOPI+6+ICOMP3D
  2542. LESOBL(nv3d)=motinc4
  2543. c print*,nv3d,LESOBL(nv3d)
  2544. end do
  2545.  
  2546. c ** deformation elastique radiale dans l interface
  2547. motinc2='IE'
  2548. write (motinc1,'(I1)') iphase3d
  2549. motinc3=motinc2//motinc1
  2550. do icomp3d=1,6
  2551. write (motinc1,'(I1)') icomp3d
  2552. motinc4=motinc3//motinc1
  2553. nv3d=NVTOT1+(IPHASE3D-1)*NBVPARI3D+NBVARISOPI+12+ICOMP3D
  2554. LESOBL(nv3d)=motinc4
  2555. c print*,nv3d,LESOBL(nv3d)
  2556. end do
  2557.  
  2558. c ** deformations elastique orthoradiale dans l interface
  2559. motinc2='OE'
  2560. write (motinc1,'(I1)') iphase3d
  2561. motinc3=motinc2//motinc1
  2562. do icomp3d=1,6
  2563. write (motinc1,'(I1)') icomp3d
  2564. motinc4=motinc3//motinc1
  2565. nv3d=NVTOT1+(IPHASE3D-1)*NBVPARI3D+NBVARISOPI+18+ICOMP3D
  2566. LESOBL(nv3d)=motinc4
  2567. c print*,nv3d,LESOBL(nv3d)
  2568. end do
  2569.  
  2570. c ** deformations de Maxwell radiale dans l interface
  2571. motinc2='IM'
  2572. write (motinc1,'(I1)') iphase3d
  2573. motinc3=motinc2//motinc1
  2574. do icomp3d=1,6
  2575. write (motinc1,'(I1)') icomp3d
  2576. motinc4=motinc3//motinc1
  2577. nv3d=NVTOT1+(IPHASE3D-1)*NBVPARI3D+NBVARISOPI+24+ICOMP3D
  2578. LESOBL(nv3d)=motinc4
  2579. c print*,nv3d,LESOBL(nv3d)
  2580. end do
  2581.  
  2582. c ** deformations de Maxwell orthoradiale dans l interface
  2583. motinc2='OM'
  2584. write (motinc1,'(I1)') iphase3d
  2585. motinc3=motinc2//motinc1
  2586. do icomp3d=1,6
  2587. write (motinc1,'(I1)') icomp3d
  2588. motinc4=motinc3//motinc1
  2589. nv3d=NVTOT1+(IPHASE3D-1)*NBVPARI3D+NBVARISOPI+30+ICOMP3D
  2590. LESOBL(nv3d)=motinc4
  2591. c print*,nv3d,LESOBL(nv3d)
  2592. end do
  2593.  
  2594. c ** deformations de Kelvin radiale dans l interface
  2595. motinc2='IK'
  2596. write (motinc1,'(I1)') iphase3d
  2597. motinc3=motinc2//motinc1
  2598. do icomp3d=1,6
  2599. write (motinc1,'(I1)') icomp3d
  2600. motinc4=motinc3//motinc1
  2601. nv3d=NVTOT1+(IPHASE3D-1)*NBVPARI3D+NBVARISOPI+36+ICOMP3D
  2602. LESOBL(nv3d)=motinc4
  2603. c print*,nv3d,LESOBL(nv3d)
  2604. end do
  2605.  
  2606. c ** deformations de Kelvin orthoradiale dans l interface
  2607. motinc2='OK'
  2608. write (motinc1,'(I1)') iphase3d
  2609. motinc3=motinc2//motinc1
  2610. do icomp3d=1,6
  2611. write (motinc1,'(I1)') icomp3d
  2612. motinc4=motinc3//motinc1
  2613. nv3d=NVTOT1+(IPHASE3D-1)*NBVPARI3D+NBVARISOPI+42+ICOMP3D
  2614. LESOBL(nv3d)=motinc4
  2615. c print*,nv3d,LESOBL(nv3d)
  2616. end do
  2617.  
  2618. c ** deformations de plasticite radiale de traction dans l interface
  2619. motinc2='IT'
  2620. write (motinc1,'(I1)') iphase3d
  2621. motinc3=motinc2//motinc1
  2622. do icomp3d=1,6
  2623. write (motinc1,'(I1)') icomp3d
  2624. motinc4=motinc3//motinc1
  2625. nv3d=NVTOT1+(IPHASE3D-1)*NBVPARI3D+NBVARISOPI+48+ICOMP3D
  2626. LESOBL(nv3d)=motinc4
  2627. c print*,nv3d,LESOBL(nv3d)
  2628. end do
  2629.  
  2630. c ** deformations de plasticite orthoradiale de traction dans l interface
  2631. motinc2='OT'
  2632. write (motinc1,'(I1)') iphase3d
  2633. motinc3=motinc2//motinc1
  2634. do icomp3d=1,6
  2635. write (motinc1,'(I1)') icomp3d
  2636. motinc4=motinc3//motinc1
  2637. nv3d=NVTOT1+(IPHASE3D-1)*NBVPARI3D+NBVARISOPI+54+ICOMP3D
  2638. LESOBL(nv3d)=motinc4
  2639. c print*,nv3d,LESOBL(nv3d)
  2640. end do
  2641.  
  2642. c ** deformations de plasticite radiale de cisaillement dans l interface
  2643. motinc2='IC'
  2644. write (motinc1,'(I1)') iphase3d
  2645. motinc3=motinc2//motinc1
  2646. do icomp3d=1,6
  2647. write (motinc1,'(I1)') icomp3d
  2648. motinc4=motinc3//motinc1
  2649. nv3d=NVTOT1+(IPHASE3D-1)*NBVPARI3D+NBVARISOPI+60+ICOMP3D
  2650. LESOBL(nv3d)=motinc4
  2651. c print*,nv3d,LESOBL(nv3d)
  2652. end do
  2653.  
  2654. c ** deformations de plasticite orthoradiale de cisaillement dans l interface
  2655. motinc2='OC'
  2656. write (motinc1,'(I1)') iphase3d
  2657. motinc3=motinc2//motinc1
  2658. do icomp3d=1,6
  2659. write (motinc1,'(I1)') icomp3d
  2660. motinc4=motinc3//motinc1
  2661. nv3d=NVTOT1+(IPHASE3D-1)*NBVPARI3D+NBVARISOPI+66+ICOMP3D
  2662. LESOBL(nv3d)=motinc4
  2663. c print*,nv3d,LESOBL(nv3d)
  2664. end do
  2665.  
  2666. end do
  2667. c fin des variables pour inclusion3d*****************************
  2668. ELSE
  2669. PRINT*,'FORMULATION IMPREVUE POUR INCLUSION3D'
  2670. STOP
  2671. END IF
  2672. ELSE
  2673. PRINT*,'ELEMENT IMPREVUE POUR INCLUSION3D'
  2674. STOP
  2675. END IF
  2676.  
  2677. C 33 Modele ENDO3D (A.SELLIER et al.)
  2678. C ==========================================
  2679. ELSE IF (MATEPL.EQ.189 ) THEN
  2680. C modeles INCLUSION3D
  2681. IF (MFR.EQ.1 .OR. MFR.EQ.33) THEN
  2682. C Elements MASSIF MECA ou MASSIF POREUX uniquement
  2683. IF (IFOUR.EQ.2 .or.IFOUR.EQ.-1 .or.IFOUR.EQ.0) THEN
  2684. C Cas TRIDIMENSIONNEL, DEFORMATIONS PLANES ou AXISYMETRIQUES
  2685. c -coml7 pour l initialisation des conditions intiales
  2686.  
  2687. c ** nombre de variables de base pour la matrice
  2688. c nombre de variables scalaires
  2689. NBVSCAL=15
  2690. c nombre de variables tensorielles en pseudo vecteur
  2691. NBVTENS=7
  2692. c nombre de variable par pseudo vecteur (<=9)
  2693. NBVPTENS=6
  2694. c nombre de variables locales pour la matrice
  2695. NB_VARI_ENDO3D=NBVSCAL+NBVPTENS*NBVTENS
  2696.  
  2697. c ** nombre de variables internes rajoutees pour option du modele
  2698. c ce nombre doit etre le meme dans idvar4
  2699. NB_VARI_SUPP_ENDO3D=0
  2700.  
  2701. c ** nombre total de variables internes
  2702. NBROBL=NB_VARI_ENDO3D+NB_VARI_SUPP_ENDO3D
  2703. c print*,'DS IDVAR4 POUR ENDO3D NBROBL=',NBROBL
  2704. SEGINI,NOMID
  2705.  
  2706. c ** declaration des variables scalaires pour la matrice *******
  2707. c indicateur premier pas (1 si premier pas passé sinon 0)
  2708. LESOBL(1)='PPAS'
  2709. c Cdp actuel
  2710. LESOBL(2)='CDP '
  2711. c print*,2,LESOBL(2)
  2712. c pression de consolidation de CC
  2713. LESOBL(3)='PC'
  2714. c print*,3,LESOBL(3)
  2715. c tension limite de CC
  2716. LESOBL(4)='PT'
  2717. c print*,4,LESOBL(4)
  2718. c ouverture de fissure maxi actuelle
  2719. LESOBL(5)= 'WPL0'
  2720. c print*,5,LESOBL(5)
  2721. c erreur sur la dissipation de traction pour ne pas avoir de snap back
  2722. LESOBL(6)= 'ERGF'
  2723. c print*,6,LESOBL(6)
  2724. c endo prepic traction
  2725. LESOBL(7)= 'DTPP'
  2726. c print*,7,LESOBL(7)
  2727. c endo prepic compression
  2728. LESOBL(8)= 'DCPP'
  2729. c print*,8,LESOBL(8)
  2730. c deformation equivalente de cisaillement de DP
  2731. LESOBL(9)= 'DPEQ'
  2732. c print*,9,LESOBL(9)
  2733. c endo maxi compression
  2734. LESOBL(10)= 'DCOM'
  2735. c print*,10,LESOBL(10)
  2736. c deformation equivalente de cisaillement de DP
  2737. LESOBL(11)= 'DTRA'
  2738. c print*,11,LESOBL(11)
  2739. c effet de la temperature sur les parametres de compression
  2740. LESOBL(12)= 'RTHC'
  2741. c print*,12,LESOBL(12)
  2742. c effet de la temperature sur les parametres de traction
  2743. LESOBL(13)= 'RTHT'
  2744. c print*,13,LESOBL(13)
  2745. c effet de la temperature sur les parametres d elasticite
  2746. LESOBL(14)= 'RTHE'
  2747. c print*,14,LESOBL(14)
  2748. c temperature maximale atteinte
  2749. LESOBL(15)= 'TMAX'
  2750. c print*,15,LESOBL(15)
  2751.  
  2752.  
  2753. c ** declaration des variables tensorielles pour la matrice *****
  2754. do ITENS=1,NBVTENS
  2755. c branchement pour nom du pseudo vecteur
  2756. goto (331,332,333,334,335,336,337) ITENS
  2757. c 1 contrainte effective matrice
  2758. 331 motinc3='SEM'
  2759. goto 3330
  2760. c 2 deformations elastiques de la matrice
  2761. 332 motinc3='EPE'
  2762. goto 3330
  2763. c 3 deformations plastique de traction de la matrice
  2764. 333 motinc3='EPT'
  2765. goto 3330
  2766. c 4 deformations plastique de cisaillement de la matrice
  2767. 334 motinc3='EPC'
  2768. goto 3330
  2769. c 5 deformations plastique d effondrement de porosite de la matrice
  2770. 335 motinc3='EPP'
  2771. goto 3330
  2772. c 6 ouverture de fissure
  2773. 336 motinc3='WPL'
  2774. goto 3330
  2775. c 7 ouverture maxi
  2776. 337 motinc3='WPX'
  2777. goto 3330
  2778. c construction du pseudo vecteur
  2779. 3330 continue
  2780. do ICOMP3D=1,NBVPTENS
  2781. write (motinc1,'(I1)') ICOMP3D
  2782. motinc4=motinc3//motinc1
  2783. nv3d=NBVSCAL+(ITENS-1)*NBVPTENS+ICOMP3D
  2784. LESOBL(nv3d)=motinc4
  2785. c print*,nv3d,motinc4
  2786. end do
  2787. end do
  2788.  
  2789. c fin des variables pour endo3d*****************************
  2790. ELSE
  2791. PRINT*,'FORMULATION IMPREVUE POUR ENDO3D'
  2792. STOP
  2793. END IF
  2794. ELSE
  2795. PRINT*,'ELEMENT IMPREVUE POUR ENDO3D'
  2796. STOP
  2797. END IF
  2798.  
  2799. C 34 Modele FLUISO3D (A.SELLIER et al.)
  2800. C ==========================================
  2801. ELSE IF (MATEPL.EQ.190 ) THEN
  2802. C modeles FLUISO3D
  2803. IF (MFR.EQ.1 .OR. MFR.EQ.33) THEN
  2804. C Elements MASSIF MECA ou MASSIF POREUX uniquement
  2805. IF (IFOUR.EQ.2 .or.IFOUR.EQ.-1 .or.IFOUR.EQ.0) THEN
  2806. C Cas TRIDIMENSIONNEL, DEFORMATIONS PLANES ou AXISYMETRIQUES
  2807. c -coml7 pour l initialisation des conditions intiales
  2808.  
  2809. c ** nombre de variables de base pour la matrice
  2810.  
  2811. c nombre de variables locales pour la matrice
  2812. c nombre de variables scalaire par sous type
  2813. c numero du sous type 1 2 3 4 5 6 7 8 9
  2814. c ELA,MAX,FLU,KEL,TRA,DP,CC,RAG,RSI
  2815. data (VNVARI_I(I,1),I=1,NSTYPEI) /9 ,0 ,2 ,0 ,3 ,2 ,3 ,5 ,5/,
  2816. c nombre de variables tensorielles par sous type
  2817. c numero du sous type 1 2 3 4 5 6 7 8 9
  2818. c ELA,MAX,FLU,KEL,TRA,DP,CC,RAG,RSI
  2819. # (VNVARI_I(I,2),I=1,NSTYPEI) /1 ,1 ,1 ,1 ,1 ,1 ,1 ,1 ,1/
  2820.  
  2821. N3D=0
  2822. print*,'Structure VNVARI des vari pour FLUISO3D dans idvar4'
  2823. do i=1,NSTYPEI
  2824. N3D=N3D+(VNVARI_I(i,1)+VNVARI_I(i,2)*NDTENS)
  2825. print*,i,VNVARI_I(i,1),VNVARI_I(i,2),NDTENS
  2826. end do
  2827. c ajout des vari Helmholtz
  2828. N3D=N3D+NB_VARI_HELM
  2829. NBROBL=N3D
  2830. SEGINI,NOMID
  2831.  
  2832. print*,'DS IDVAR4 POUR FLUISO3D NVARI=',NBROBL
  2833.  
  2834. c ** declaration des variables scalaires pour la matrice *******
  2835. c indicateur premier pas (1 si premier pas passé sinon 0)
  2836. NUM0=0
  2837. do itype=1,NSTYPEI
  2838. if(itype.eq.1) then
  2839. c sous type Hoocke et Communs
  2840. c vari scalaires
  2841. LESOBL(NUM0+1)='PPAS'
  2842. LESOBL(NUM0+2)='VWCA'
  2843. LESOBL(NUM0+3)='PWCA'
  2844. LESOBL(NUM0+4)='BWCA'
  2845. LESOBL(NUM0+5)='SWCA'
  2846. LESOBL(NUM0+6)='DTHE'
  2847. LESOBL(NUM0+7)='KELA'
  2848. LESOBL(NUM0+8)='MELA'
  2849. LESOBL(NUM0+9)='FINR'
  2850. NUM0=NUM0+VNVARI_I(itype,1)
  2851. c vari tensorielles
  2852. motnum2='EL'
  2853. c valeurs principales
  2854. do jdir=1,3
  2855. write (motdir1,'(I1)') jdir
  2856. motnum3=motnum2//motdir1
  2857. LESOBL(NUM0+jdir)=motnum3
  2858. end do
  2859. c vecteurs principaux
  2860. motvec2='VE'
  2861. do jdir=1,3
  2862. write (motdir1,'(I1)') jdir
  2863. motvec3=motvec2//motdir1
  2864. do kdir=1,3
  2865. write (motdir1,'(I1)') kdir
  2866. motvec4=motvec3//motdir1
  2867. LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  2868. end do
  2869. end do
  2870. NUM0=NUM0+VNVARI_I(itype,2)*NDTENS
  2871. else if (itype.eq.2) then
  2872. c sous type Maxwell consolidant
  2873. c vari scalaires
  2874. NUM0=NUM0+VNVARI_I(itype,1)
  2875. c vari tensorielles
  2876. motnum2='EM'
  2877. c valeurs principales
  2878. do jdir=1,3
  2879. write (motdir1,'(I1)') jdir
  2880. motnum3=motnum2//motdir1
  2881. LESOBL(NUM0+jdir)=motnum3
  2882. end do
  2883. c vecteurs principaux
  2884. motvec2='VM'
  2885. do jdir=1,3
  2886. write (motdir1,'(I1)') jdir
  2887. motvec3=motvec2//motdir1
  2888. do kdir=1,3
  2889. write (motdir1,'(I1)') kdir
  2890. motvec4=motvec3//motdir1
  2891. LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  2892. end do
  2893. end do
  2894. NUM0=NUM0+VNVARI_I(itype,2)*NDTENS
  2895. else if (itype.eq.3) then
  2896. c sous type Maxwell Transitoire
  2897. c vari scalaires
  2898. LESOBL(NUM0+1)='PF'
  2899. LESOBL(NUM0+2)='WF'
  2900. NUM0=NUM0+VNVARI_I(itype,1)
  2901. c vari tensorielles
  2902. motnum2='EF'
  2903. c valeurs principales
  2904. do jdir=1,3
  2905. write (motdir1,'(I1)') jdir
  2906. motnum3=motnum2//motdir1
  2907. LESOBL(NUM0+jdir)=motnum3
  2908. end do
  2909. c vecteurs principaux
  2910. motvec2='VF'
  2911. do jdir=1,3
  2912. write (motdir1,'(I1)') jdir
  2913. motvec3=motvec2//motdir1
  2914. do kdir=1,3
  2915. write (motdir1,'(I1)') kdir
  2916. motvec4=motvec3//motdir1
  2917. LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  2918. end do
  2919. end do
  2920. NUM0=NUM0+VNVARI_I(itype,2)*NDTENS
  2921. else if (itype.eq.4) then
  2922. c sous type Kelvin
  2923. c vari scalaires
  2924. NUM0=NUM0+VNVARI_I(itype,1)
  2925. c vari tensorielles
  2926. motnum2='EK'
  2927. c valeurs principales
  2928. do jdir=1,3
  2929. write (motdir1,'(I1)') jdir
  2930. motnum3=motnum2//motdir1
  2931. LESOBL(NUM0+jdir)=motnum3
  2932. end do
  2933. c vecteurs principaux
  2934. motvec2='VK'
  2935. do jdir=1,3
  2936. write (motdir1,'(I1)') jdir
  2937. motvec3=motvec2//motdir1
  2938. do kdir=1,3
  2939. write (motdir1,'(I1)') kdir
  2940. motvec4=motvec3//motdir1
  2941. LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  2942. end do
  2943. end do
  2944. NUM0=NUM0+VNVARI_I(itype,2)*NDTENS
  2945. else if (itype.eq.5) then
  2946. c sous type Rankine (traction localisee)
  2947. c vari scalaires
  2948. LESOBL(NUM0+1)='FT1'
  2949. LESOBL(NUM0+2)='FT2'
  2950. LESOBL(NUM0+3)='FT3'
  2951. NUM0=NUM0+VNVARI_I(itype,1)
  2952. c vari tensorielles
  2953. motnum2='ET'
  2954. c valeurs principales
  2955. do jdir=1,3
  2956. write (motdir1,'(I1)') jdir
  2957. motnum3=motnum2//motdir1
  2958. LESOBL(NUM0+jdir)=motnum3
  2959. end do
  2960. c vecteurs principaux
  2961. motvec2='VT'
  2962. do jdir=1,3
  2963. write (motdir1,'(I1)') jdir
  2964. motvec3=motvec2//motdir1
  2965. do kdir=1,3
  2966. write (motdir1,'(I1)') kdir
  2967. motvec4=motvec3//motdir1
  2968. LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  2969. end do
  2970. end do
  2971. NUM0=NUM0+VNVARI_I(itype,2)*NDTENS
  2972. else if (itype.eq.6) then
  2973. c sous type Drucker Prager (cisaillement)
  2974. c vari scalaires
  2975. LESOBL(NUM0+1)='FC'
  2976. LESOBL(NUM0+2)='ECEQ'
  2977. NUM0=NUM0+VNVARI_I(itype,1)
  2978. c vari tensorielles
  2979. motnum2='EC'
  2980. c valeurs principales
  2981. do jdir=1,3
  2982. write (motdir1,'(I1)') jdir
  2983. motnum3=motnum2//motdir1
  2984. LESOBL(NUM0+jdir)=motnum3
  2985. end do
  2986. c vecteurs principaux
  2987. motvec2='VC'
  2988. do jdir=1,3
  2989. write (motdir1,'(I1)') jdir
  2990. motvec3=motvec2//motdir1
  2991. do kdir=1,3
  2992. write (motdir1,'(I1)') kdir
  2993. motvec4=motvec3//motdir1
  2994. LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  2995. end do
  2996. end do
  2997. NUM0=NUM0+VNVARI_I(itype,2)*NDTENS
  2998. else if (itype.eq.7) then
  2999. c sous type Cam-Clay (consolidation des vides)
  3000. c vari scalaires
  3001. LESOBL(NUM0+1)='FCC'
  3002. LESOBL(NUM0+2)='VCC'
  3003. LESOBL(NUM0+3)='PCC'
  3004. NUM0=NUM0+VNVARI_I(itype,1)
  3005. c vari tensorielles
  3006. motnum2='EV'
  3007. c valeurs principales
  3008. do jdir=1,3
  3009. write (motdir1,'(I1)') jdir
  3010. motnum3=motnum2//motdir1
  3011. LESOBL(NUM0+jdir)=motnum3
  3012. end do
  3013. c vecteurs principaux
  3014. motvec2='VV'
  3015. do jdir=1,3
  3016. write (motdir1,'(I1)') jdir
  3017. motvec3=motvec2//motdir1
  3018. do kdir=1,3
  3019. write (motdir1,'(I1)') kdir
  3020. motvec4=motvec3//motdir1
  3021. LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  3022. end do
  3023. end do
  3024. NUM0=NUM0+VNVARI_I(itype,2)*NDTENS
  3025. else if (itype.eq.8) then
  3026. c sous type RAG
  3027. c vari scalaires
  3028. LESOBL(NUM0+1)='FR1'
  3029. LESOBL(NUM0+2)='FR2'
  3030. LESOBL(NUM0+3)='FR3'
  3031. LESOBL(NUM0+4)='ARAG'
  3032. LESOBL(NUM0+5)='PRAG'
  3033. NUM0=NUM0+VNVARI_I(itype,1)
  3034. c vari tensorielles
  3035. motnum2='EG'
  3036. c valeurs principales
  3037. do jdir=1,3
  3038. write (motdir1,'(I1)') jdir
  3039. motnum3=motnum2//motdir1
  3040. LESOBL(NUM0+jdir)=motnum3
  3041. end do
  3042. c vecteurs principaux
  3043. motvec2='VG'
  3044. do jdir=1,3
  3045. write (motdir1,'(I1)') jdir
  3046. motvec3=motvec2//motdir1
  3047. do kdir=1,3
  3048. write (motdir1,'(I1)') kdir
  3049. motvec4=motvec3//motdir1
  3050. LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  3051. end do
  3052. end do
  3053. NUM0=NUM0+VNVARI_I(itype,2)*NDTENS
  3054. else if (itype.eq.9) then
  3055. c sous type RAG
  3056. c vari scalaires
  3057. LESOBL(NUM0+1)='FS1'
  3058. LESOBL(NUM0+2)='FS2'
  3059. LESOBL(NUM0+3)='FS3'
  3060. LESOBL(NUM0+4)='ARSI'
  3061. LESOBL(NUM0+5)='PRSI'
  3062. NUM0=NUM0+VNVARI_I(itype,1)
  3063. c vari tensorielles
  3064. motnum2='ES'
  3065. c valeurs principales
  3066. do jdir=1,3
  3067. write (motdir1,'(I1)') jdir
  3068. motnum3=motnum2//motdir1
  3069. LESOBL(NUM0+jdir)=motnum3
  3070. end do
  3071. c vecteurs principaux
  3072. motvec2='VS'
  3073. do jdir=1,3
  3074. write (motdir1,'(I1)') jdir
  3075. motvec3=motvec2//motdir1
  3076. do kdir=1,3
  3077. write (motdir1,'(I1)') kdir
  3078. motvec4=motvec3//motdir1
  3079. LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  3080. end do
  3081. end do
  3082. NUM0=NUM0+VNVARI_I(itype,2)*NDTENS
  3083. end if
  3084. end do
  3085. NDEBUT=NUM0
  3086. c ****** nom des variables pour Helmholtz ***********************
  3087. c lignes a copier dans les modeles utilisant Helmholtz (sellier)
  3088. c variables internes pour le non local par Helmholtz
  3089. c write(*,'(A32,A31,1X,I2)')
  3090. c # 'Dans IDVAR4 le nombre maximum de',
  3091. c # 'formulations de Helmholtz est:',
  3092. c # NB_HELM
  3093. c write(*,'(A63,1X,I2)')
  3094. c # 'Nombre de variables H par formulation de Helmholtz:',
  3095. c # NB_VARI_PAR_HELM
  3096. c generation des noms des variables internes pour Helmholtz
  3097. do J=1,NB_HELM
  3098. mothelm1='H'
  3099. write (motnum1,'(I1)') J
  3100. mothelm2=mothelm1//motnum1
  3101. C ATTENTION LES VARI SONT NUMEROTÉE DE 0 À NB_VARI_PAR_HELM-1
  3102. C la variable HJ0 est mobilisee automatiquement si INCj=1 (cf idmatr)
  3103. do K=1,NB_VARI_PAR_HELM
  3104. if (K.le.9) then
  3105. write (motvec1,'(I1)') K
  3106. mothelm3=mothelm2//motvec1
  3107. LESOBL(NDEBUT+(J-1)*NB_VARI_PAR_HELM+K)=mothelm3
  3108. c print*,mothelm3
  3109. else if (K.le.99) then
  3110. write (motvec2,'(I2)') K
  3111. mothelm4=mothelm2//motvec2
  3112. LESOBL(NDEBUT+(J-1)*NB_VARI_PAR_HELM+K)=mothelm4
  3113. c print*,mothelm4
  3114. else
  3115. print*,'Trop de Vari(s) pour Helmholtz dans idvar4'
  3116. CALL ERREUR(19)
  3117. end if
  3118. end do
  3119. end do
  3120. c NDEBUT=NDEBUT+NB_VARI_HELM
  3121. c ** fin des noms des variables pour Helmholtz ******************
  3122. NUM0=NDEBUT+NB_VARI_HELM
  3123.  
  3124. c affichage des variables internes de FLUISO3D
  3125. DO I=1,NUM0
  3126. WRITE(*,'(I3,1X,A4)') I,LESOBL(I)
  3127. END DO
  3128.  
  3129. c controle nombre de vari totale de FLUISO3D
  3130. IF(NUM0.NE.NBROBL) THEN
  3131. PRINT*,'PB NVARI POUR FLUISO3D DANS IDVAR4'
  3132. STOP
  3133. END IF
  3134.  
  3135. c fin des variables pour FLUISO3D*****************************
  3136. ELSE
  3137. PRINT*,'FORMULATION IMPREVUE POUR FLUISO3D'
  3138. STOP
  3139. END IF
  3140. ELSE
  3141. PRINT*,'ELEMENT IMPREVUE POUR FLUISO3D'
  3142. STOP
  3143. END IF
  3144.  
  3145. C 35 Modele FLUORTO3D (A.SELLIER et al.)
  3146. C ==========================================
  3147. ELSE IF (MATEPL.EQ.191 ) THEN
  3148. C modeles FLUORTHO3D
  3149. IF (MFR.EQ.1 .OR. MFR.EQ.33) THEN
  3150. C Elements MASSIF MECA ou MASSIF POREUX uniquement
  3151. IF (IFOUR.EQ.2 .or.IFOUR.EQ.-1 .or.IFOUR.EQ.0) THEN
  3152. C Cas TRIDIMENSIONNEL, DEFORMATIONS PLANES ou AXISYMETRIQUES
  3153. c -coml7 pour l initialisation des conditions intiales
  3154.  
  3155. c ** nombre de variables de base pour la matrice
  3156.  
  3157. c nombre de variables locales pour la matrice
  3158. c nombre de variables scalaire par sous type
  3159. c numero du sous type 1 2 3 4 5 6 7 8 9
  3160. c ELA,MAX,FLU,KEL,TRA,DP,CC,RAG,RSI
  3161. data (VNVARI_O(I,1),I=1,NSTYPEO) /9 ,0 ,2 ,0 /
  3162. c ,3 ,2 ,3 /,
  3163. c nombre de variables tensorielles par sous type
  3164. c numero du sous type 1 2 3 4 5 6 7 8 9
  3165. c ELA,MAX,FLU,KEL,TRA,DP,CC,RAG,RSI
  3166. # (VNVARI_O(I,2),I=1,NSTYPEO) /1 ,1 ,1 ,1 /
  3167. c ,1 ,1 ,1 /
  3168.  
  3169. N3D=0
  3170. print*,'Structure VNVARI des vari pour FLUORTHO3D dans idvar4'
  3171. do i=1,NSTYPEO
  3172. N3D=N3D+(VNVARI_O(i,1)+VNVARI_O(i,2)*NDTENS)
  3173. print*,i,VNVARI_O(i,1),VNVARI_O(i,2),NDTENS
  3174. end do
  3175. c ajout des vari Helmholtz
  3176. N3D=N3D+NB_VARI_HELM
  3177. NBROBL=N3D
  3178. SEGINI,NOMID
  3179.  
  3180. print*,'DS IDVAR4 POUR FLUORTHO3D NVARI=',NBROBL
  3181.  
  3182. c ** declaration des variables scalaires pour la matrice *******
  3183. c indicateur premier pas (1 si premier pas passé sinon 0)
  3184. NUM0=0
  3185. do itype=1,NSTYPEO
  3186. if(itype.eq.1) then
  3187. c Hoocke et Communs
  3188. c vari scalaires
  3189. LESOBL(NUM0+1)='PPAS'
  3190. LESOBL(NUM0+2)='VWCA'
  3191. LESOBL(NUM0+3)='PWCA'
  3192. LESOBL(NUM0+4)='BWCA'
  3193. LESOBL(NUM0+5)='SWCA'
  3194. LESOBL(NUM0+6)='DTHE'
  3195. LESOBL(NUM0+7)='KELA'
  3196. LESOBL(NUM0+8)='MELA'
  3197. LESOBL(NUM0+9)='FINR'
  3198. NUM0=NUM0+VNVARI_O(itype,1)
  3199. c vari tensorielles
  3200. motnum2='EL'
  3201. c valeurs principales
  3202. do jdir=1,3
  3203. write (motdir1,'(I1)') jdir
  3204. motnum3=motnum2//motdir1
  3205. LESOBL(NUM0+jdir)=motnum3
  3206. end do
  3207. c vecteurs principaux
  3208. motvec2='VE'
  3209. do jdir=1,3
  3210. write (motdir1,'(I1)') jdir
  3211. motvec3=motvec2//motdir1
  3212. do kdir=1,3
  3213. write (motdir1,'(I1)') kdir
  3214. motvec4=motvec3//motdir1
  3215. LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  3216. end do
  3217. end do
  3218. NUM0=NUM0+VNVARI_O(itype,2)*NDTENS
  3219. else if (itype.eq.2) then
  3220. c Maxwell consolidant
  3221. c vari scalaires
  3222. NUM0=NUM0+VNVARI_O(itype,1)
  3223. c vari tensorielles
  3224. motnum2='EM'
  3225. c valeurs principales
  3226. do jdir=1,3
  3227. write (motdir1,'(I1)') jdir
  3228. motnum3=motnum2//motdir1
  3229. LESOBL(NUM0+jdir)=motnum3
  3230. end do
  3231. c vecteurs principaux
  3232. motvec2='VM'
  3233. do jdir=1,3
  3234. write (motdir1,'(I1)') jdir
  3235. motvec3=motvec2//motdir1
  3236. do kdir=1,3
  3237. write (motdir1,'(I1)') kdir
  3238. motvec4=motvec3//motdir1
  3239. LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  3240. end do
  3241. end do
  3242. NUM0=NUM0+VNVARI_O(itype,2)*NDTENS
  3243. else if (itype.eq.3) then
  3244. c Maxwell Transitoire
  3245. c vari scalaires
  3246. LESOBL(NUM0+1)='PF'
  3247. LESOBL(NUM0+2)='WF'
  3248. NUM0=NUM0+VNVARI_O(itype,1)
  3249. c vari tensorielles
  3250. motnum2='EF'
  3251. c valeurs principales
  3252. do jdir=1,3
  3253. write (motdir1,'(I1)') jdir
  3254. motnum3=motnum2//motdir1
  3255. LESOBL(NUM0+jdir)=motnum3
  3256. end do
  3257. c vecteurs principaux
  3258. motvec2='VF'
  3259. do jdir=1,3
  3260. write (motdir1,'(I1)') jdir
  3261. motvec3=motvec2//motdir1
  3262. do kdir=1,3
  3263. write (motdir1,'(I1)') kdir
  3264. motvec4=motvec3//motdir1
  3265. LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  3266. end do
  3267. end do
  3268. NUM0=NUM0+VNVARI_O(itype,2)*NDTENS
  3269. else if (itype.eq.4) then
  3270. c Kelvin
  3271. c vari scalaires
  3272. NUM0=NUM0+VNVARI_O(itype,1)
  3273. c vari tensorielles
  3274. motnum2='EK'
  3275. c valeurs principales
  3276. do jdir=1,3
  3277. write (motdir1,'(I1)') jdir
  3278. motnum3=motnum2//motdir1
  3279. LESOBL(NUM0+jdir)=motnum3
  3280. end do
  3281. c vecteurs principaux
  3282. motvec2='VK'
  3283. do jdir=1,3
  3284. write (motdir1,'(I1)') jdir
  3285. motvec3=motvec2//motdir1
  3286. do kdir=1,3
  3287. write (motdir1,'(I1)') kdir
  3288. motvec4=motvec3//motdir1
  3289. LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  3290. end do
  3291. end do
  3292. NUM0=NUM0+VNVARI_O(itype,2)*NDTENS
  3293. C else if (itype.eq.5) then
  3294. C c Rankine (traction localisee)
  3295. C c vari scalaires
  3296. C LESOBL(NUM0+1)='FT1'
  3297. C LESOBL(NUM0+2)='FT2'
  3298. C LESOBL(NUM0+3)='FT3'
  3299. C NUM0=NUM0+VNVARI_O(itype,1)
  3300. C c vari tensorielles
  3301. C motnum2='ET'
  3302. C c valeurs principales
  3303. C do jdir=1,3
  3304. C write (motdir1,'(I1)') jdir
  3305. C motnum3=motnum2//motdir1
  3306. C LESOBL(NUM0+jdir)=motnum3
  3307. C end do
  3308. C c vecteurs principaux
  3309. C motvec2='VT'
  3310. C do jdir=1,3
  3311. C write (motdir1,'(I1)') jdir
  3312. C motvec3=motvec2//motdir1
  3313. C do kdir=1,3
  3314. C write (motdir1,'(I1)') kdir
  3315. C motvec4=motvec3//motdir1
  3316. C LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  3317. C end do
  3318. C end do
  3319. C NUM0=NUM0+VNVARI_O(itype,2)*NDTENS
  3320. C else if (itype.eq.6) then
  3321. C c Drucker Prager (cisaillement)
  3322. C c vari scalaires
  3323. C LESOBL(NUM0+1)='FC'
  3324. C LESOBL(NUM0+2)='ECEQ'
  3325. C NUM0=NUM0+VNVARI_O(itype,1)
  3326. C c vari tensorielles
  3327. C motnum2='EC'
  3328. C c valeurs principales
  3329. C do jdir=1,3
  3330. C write (motdir1,'(I1)') jdir
  3331. C motnum3=motnum2//motdir1
  3332. C LESOBL(NUM0+jdir)=motnum3
  3333. C end do
  3334. C c vecteurs principaux
  3335. C motvec2='VC'
  3336. C do jdir=1,3
  3337. C write (motdir1,'(I1)') jdir
  3338. C motvec3=motvec2//motdir1
  3339. C do kdir=1,3
  3340. C write (motdir1,'(I1)') kdir
  3341. C motvec4=motvec3//motdir1
  3342. C LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  3343. C end do
  3344. C end do
  3345. C NUM0=NUM0+VNVARI_O(itype,2)*NDTENS
  3346. C else if (itype.eq.7) then
  3347. C c Cam-Clay (consolidation des vides)
  3348. C c vari scalaires
  3349. C LESOBL(NUM0+1)='FCC'
  3350. C LESOBL(NUM0+2)='VCC'
  3351. C LESOBL(NUM0+3)='PCC'
  3352. C NUM0=NUM0+VNVARI_O(itype,1)
  3353. C c vari tensorielles
  3354. C motnum2='EV'
  3355. C c valeurs principales
  3356. C do jdir=1,3
  3357. C write (motdir1,'(I1)') jdir
  3358. C motnum3=motnum2//motdir1
  3359. C LESOBL(NUM0+jdir)=motnum3
  3360. C end do
  3361. C c vecteurs principaux
  3362. C motvec2='VV'
  3363. C do jdir=1,3
  3364. C write (motdir1,'(I1)') jdir
  3365. C motvec3=motvec2//motdir1
  3366. C do kdir=1,3
  3367. C write (motdir1,'(I1)') kdir
  3368. C motvec4=motvec3//motdir1
  3369. C LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  3370. C end do
  3371. C end do
  3372. C NUM0=NUM0+VNVARI_O(itype,2)*NDTENS
  3373. C else if (itype.eq.8) then
  3374. C c RAG
  3375. C c vari scalaires
  3376. C LESOBL(NUM0+1)='FR1'
  3377. C LESOBL(NUM0+2)='FR2'
  3378. C LESOBL(NUM0+3)='FR3'
  3379. C LESOBL(NUM0+4)='ARAG'
  3380. C LESOBL(NUM0+5)='PRAG'
  3381. C NUM0=NUM0+VNVARI_O(itype,1)
  3382. C c vari tensorielles
  3383. C motnum2='EG'
  3384. C c valeurs principales
  3385. C do jdir=1,3
  3386. C write (motdir1,'(I1)') jdir
  3387. C motnum3=motnum2//motdir1
  3388. C LESOBL(NUM0+jdir)=motnum3
  3389. C end do
  3390. C c vecteurs principaux
  3391. C motvec2='VG'
  3392. C do jdir=1,3
  3393. C write (motdir1,'(I1)') jdir
  3394. C motvec3=motvec2//motdir1
  3395. C do kdir=1,3
  3396. C write (motdir1,'(I1)') kdir
  3397. C motvec4=motvec3//motdir1
  3398. C LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  3399. C end do
  3400. C end do
  3401. C NUM0=NUM0+VNVARI_O(itype,2)*NDTENS
  3402. C else if (itype.eq.9) then
  3403. C c DEF
  3404. C c vari scalaires
  3405. C LESOBL(NUM0+1)='FS1'
  3406. C LESOBL(NUM0+2)='FS2'
  3407. C LESOBL(NUM0+3)='FS3'
  3408. C LESOBL(NUM0+4)='ARSI'
  3409. C LESOBL(NUM0+5)='PRSI'
  3410. C NUM0=NUM0+VNVARI_O(itype,1)
  3411. C c vari tensorielles
  3412. C motnum2='ES'
  3413. C c valeurs principales
  3414. C do jdir=1,3
  3415. C write (motdir1,'(I1)') jdir
  3416. C motnum3=motnum2//motdir1
  3417. C LESOBL(NUM0+jdir)=motnum3
  3418. C end do
  3419. C c vecteurs principaux
  3420. C motvec2='VS'
  3421. C do jdir=1,3
  3422. C write (motdir1,'(I1)') jdir
  3423. C motvec3=motvec2//motdir1
  3424. C do kdir=1,3
  3425. C write (motdir1,'(I1)') kdir
  3426. C motvec4=motvec3//motdir1
  3427. C LESOBL(NUM0+3+(jdir-1)*3+kdir)=motvec4
  3428. C end do
  3429. C end do
  3430. C NUM0=NUM0+VNVARI_O(itype,2)*NDTENS
  3431. end if
  3432. end do
  3433. NDEBUT=NUM0
  3434. c ****** nom des variables pour Helmholtz ***********************
  3435. c lignes a copier dans les modeles utilisant Helmholtz (sellier)
  3436. c variables internes pour le non local par Helmholtz
  3437. c write(*,'(A32,A31,1X,I2)')
  3438. c # 'Dans IDVAR4 le nombre maximum de',
  3439. c # 'formulations de Helmholtz est:',
  3440. c # NB_HELM
  3441. c write(*,'(A63,1X,I2)')
  3442. c # 'Nombre de variables H par formulation de Helmholtz:',
  3443. c # NB_VARI_PAR_HELM
  3444. c generation des noms des variables internes pour Helmholtz
  3445. do J=1,NB_HELM
  3446. mothelm1='H'
  3447. write (motnum1,'(I1)') J
  3448. mothelm2=mothelm1//motnum1
  3449. C ATTENTION LES VARI SONT NUMEROTÉE DE 0 À NB_VARI_PAR_HELM-1
  3450. C la variable HJ0 est mobilisee automatiquement si INCj=1 (cf idmatr)
  3451. do K=1,NB_VARI_PAR_HELM
  3452. if (K.le.9) then
  3453. write (motvec1,'(I1)') K
  3454. mothelm3=mothelm2//motvec1
  3455. LESOBL(NDEBUT+(J-1)*NB_VARI_PAR_HELM+K)=mothelm3
  3456. c print*,mothelm3
  3457. else if (K.le.99) then
  3458. write (motvec2,'(I2)') K
  3459. mothelm4=mothelm2//motvec2
  3460. LESOBL(NDEBUT+(J-1)*NB_VARI_PAR_HELM+K)=mothelm4
  3461. c print*,mothelm4
  3462. else
  3463. print*,'Trop de Vari(s) pour Helmholtz dans idvar4'
  3464. CALL ERREUR(19)
  3465. end if
  3466. end do
  3467. end do
  3468. c NDEBUT=NDEBUT+NB_VARI_HELM
  3469. c ** fin des noms des variables pour Helmholtz ******************
  3470. NUM0=NDEBUT+NB_VARI_HELM
  3471.  
  3472. c affichage des variables internes de FLUORTHO3D
  3473. DO I=1,NUM0
  3474. WRITE(*,'(I3,1X,A4)') I,LESOBL(I)
  3475. END DO
  3476.  
  3477. c controle nombre de vari totale de FLUORTHO3D
  3478. IF(NUM0.NE.NBROBL) THEN
  3479. PRINT*,'PB NVARI POUR FLUORTHO3D DANS IDVAR4'
  3480. STOP
  3481. END IF
  3482.  
  3483. c ** fin des variables pour fluortho3d***************************
  3484. ELSE
  3485. PRINT*,'FORMULATION IMPREVUE POUR FLUORTHO3D'
  3486. STOP
  3487. END IF
  3488. ELSE
  3489. PRINT*,'ELEMENT IMPREVUE POUR FLUORTHO3D'
  3490. STOP
  3491. END IF
  3492. c ==========================================
  3493. ENDIF
  3494.  
  3495. IPCOMP=NOMID
  3496. IF (IPCOMP.NE.0) THEN
  3497. SEGDES,NOMID
  3498. ELSE
  3499. CALL ERREUR(19)
  3500. ENDIF
  3501.  
  3502. RETURN
  3503. END
  3504.  
  3505.  
  3506.  
  3507.  
  3508.  
  3509.  
  3510.  
  3511.  
  3512.  
  3513.  
  3514.  
  3515.  
  3516.  
  3517.  
  3518.  
  3519.  
  3520.  

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