Télécharger idendo.eso

Retour à la liste

Numérotation des lignes :

  1. C IDENDO SOURCE CB215821 17/09/28 21:15:03 9574
  2. SUBROUTINE IDENDO (MFR,TABOBL,TABFAC,JGOBL,JGFAC,ITA,IPLAC,IRET)
  3. *--------------------------------------------------------------------*
  4. * Noms de composantes de materiaux endommageables *
  5. *--------------------------------------------------------------------*
  6. * *
  7. * ENTREES: *
  8. * ------- *
  9. * MFR numero de formulation *
  10. * TABOBL Tableau des mots OBLIGATOIRES *
  11. * TABFAC Tableau des mots FACULTATIFS *
  12. * JGOBL Taille utilisee du tableau des mots OBLIGATOIRES *
  13. * JGFAC Taille utilisee du tableau des mots FACULTATIFS *
  14. * IPLAC numero du materiau dans MODEND *
  15. * *
  16. * SORTIE : *
  17. * ------- *
  18. * *
  19. * IRET : 0 SI PROBLEME *
  20. * *
  21. *--------------------------------------------------------------------*
  22. *
  23. IMPLICIT INTEGER(I-N)
  24. IMPLICIT REAL*8(A-H,O-Z)
  25.  
  26. -INC CCOPTIO
  27. CHARACTER*8 TABOBL(ITA),TABFAC(ITA)
  28.  
  29. IRET=1
  30. *
  31. *--------------------------------------------------------------------*
  32. * *
  33. * T Y P E E N D O M M A G E A B L E *
  34. * *
  35. *--------------------------------------------------------------------*
  36. IF (IPLAC.EQ.1) THEN
  37. *
  38. * MODELE ENDOMMAGEMENT SCALAIRE DE MAZARS
  39. *
  40. JGM0=JGOBL
  41. JGOBL=JGM0+6
  42. TABOBL(JGM0+1)= 'KTR0'
  43. TABOBL(JGM0+2)= 'ACOM'
  44. TABOBL(JGM0+3)= 'BCOM'
  45. TABOBL(JGM0+4)= 'ATRA'
  46. TABOBL(JGM0+5)= 'BTRA'
  47. TABOBL(JGM0+6)= 'BETA'
  48. ELSE IF (IPLAC.EQ.2) THEN
  49. *
  50. * MODELE ENDOMMAGEMENT UNILATERAL LA BORDERIE
  51. *
  52. JGM0=JGOBL
  53. JGOBL=JGM0+9
  54. TABOBL(JGM0+1)= 'YS1 '
  55. TABOBL(JGM0+2)= 'YS2 '
  56. TABOBL(JGM0+3)= 'A1 '
  57. TABOBL(JGM0+4)= 'A2 '
  58. TABOBL(JGM0+5)= 'B1 '
  59. TABOBL(JGM0+6)= 'B2 '
  60. TABOBL(JGM0+7)= 'BET1'
  61. TABOBL(JGM0+8)= 'BET2'
  62. TABOBL(JGM0+9)= 'SIGF'
  63. ELSE IF (IPLAC.EQ.3) THEN
  64. *
  65. * MODELE ROTATING_CRACK
  66. *
  67. JGM0=JGOBL
  68. JGOBL=JGM0+2
  69. TABOBL(JGM0+1)= 'EPCR'
  70. TABOBL(JGM0+2)= 'MUP '
  71. ELSE IF (IPLAC.EQ.4) THEN
  72. *
  73. * MODELE SIC_SIC
  74. *
  75. JGM0=JGOBL
  76. JGOBL=JGM0+15
  77. TABOBL(JGM0+1)= 'G1DC'
  78. TABOBL(JGM0+2)= 'G1Y0'
  79. TABOBL(JGM0+3)= 'G1YC'
  80. TABOBL(JGM0+4)= 'G1P'
  81. TABOBL(JGM0+5)= 'G2DC'
  82. TABOBL(JGM0+6)= 'G2Y0'
  83. TABOBL(JGM0+7)= 'G2YC'
  84. TABOBL(JGM0+8)= 'G2P'
  85. TABOBL(JGM0+9)= 'G3DC'
  86. TABOBL(JGM0+10)= 'G3Y0'
  87. TABOBL(JGM0+11)= 'G3YC'
  88. TABOBL(JGM0+12)= 'G3P'
  89. TABOBL(JGM0+13)= 'H23'
  90. TABOBL(JGM0+14)= 'H13'
  91. TABOBL(JGM0+15)= 'H12'
  92.  
  93. JGM0=JGFAC
  94. JGFAC=JGM0+3
  95. TABFAC(JGM0+1)= 'A12'
  96. TABFAC(JGM0+2)= 'A23'
  97. TABFAC(JGM0+3)= 'A13'
  98. *
  99. ELSE IF (IPLAC.EQ.5 .OR. IPLAC .EQ. 7) THEN
  100. *
  101. * MODELE ENDOMMAGEMENT MICROPLANS
  102. *
  103. JGM0=JGOBL
  104. JGOBL=JGM0+5
  105. TABOBL(JGM0+1)= 'KTR0'
  106. TABOBL(JGM0+2)= 'BTRA'
  107. TABOBL(JGM0+3)= 'FPC '
  108. TABOBL(JGM0+4)= 'MP '
  109. TABOBL(JGM0+5)= 'ALF1'
  110. *
  111. ELSE IF (IPLAC.EQ.6) THEN
  112. *
  113. * MODELE ENDOMMAGEMENT UNILATERAL LA BORDERIE
  114. * + VISCOSITE J.F. DUBE
  115. *
  116. JGM0=JGOBL
  117. JGOBL=JGM0+13
  118. TABOBL(JGM0+1)= 'YS1 '
  119. TABOBL(JGM0+2)= 'YS2 '
  120. TABOBL(JGM0+3)= 'A1 '
  121. TABOBL(JGM0+4)= 'A2 '
  122. TABOBL(JGM0+5)= 'B1 '
  123. TABOBL(JGM0+6)= 'B2 '
  124. TABOBL(JGM0+7)= 'BET1'
  125. TABOBL(JGM0+8)= 'BET2'
  126. TABOBL(JGM0+9)= 'SIGF'
  127. TABOBL(JGM0+10)= 'M1 '
  128. TABOBL(JGM0+11)= 'M2 '
  129. TABOBL(JGM0+12)= 'ALP1'
  130. TABOBL(JGM0+13)= 'ALP2'
  131. * BCN
  132. ELSE IF (IPLAC.EQ.8) THEN
  133. *
  134. * Modified Von mises model
  135. *
  136. JGM0=JGOBL
  137. JGOBL=JGM0+5
  138. TABOBL(JGM0+1)= 'Y0 '
  139. TABOBL(JGM0+2)= 'B1 '
  140. TABOBL(JGM0+3)= 'B2 '
  141. TABOBL(JGM0+4)= 'RATI'
  142. TABOBL(JGM0+5)= 'LOI '
  143. * BCN
  144.  
  145. * RDj
  146. ELSE IF (IPLAC.EQ.9) THEN
  147. *
  148. * MODELE ENDOMMAGEMENT SCALAIRE AVEC DEFORMATION ANELASTIQUE
  149. * CRUSH_CRACK
  150. JGM0=JGOBL
  151. JGOBL=JGM0+9
  152. TABOBL(JGM0+1)= 'KCO0'
  153. TABOBL(JGM0+2)= 'KTR0'
  154. TABOBL(JGM0+3)= 'ACRU'
  155. TABOBL(JGM0+4)= 'BCRU'
  156. TABOBL(JGM0+5)= 'ACRA'
  157. TABOBL(JGM0+6)= 'BCRA'
  158. TABOBL(JGM0+7)= 'ECOM'
  159. TABOBL(JGM0+8)= 'ECOB'
  160. TABOBL(JGM0+9)= 'ETRA'
  161. * RDj
  162.  
  163. * CCd
  164. ELSE IF (IPLAC.EQ.10) THEN
  165. *
  166. *+++++++++++++++++++++++++++++++++++
  167. * MODELE DAMAGE_TENSION&COMPRESSION = DAMAGE_TC
  168. *+++++++++++++++++++++++++++++++++++
  169. *
  170. * COMPULSORY CARACTERISTICS
  171. *
  172. JGM0=JGOBL
  173. JGOBL=JGM0+15
  174. TABOBL(JGM0+1)='HLEN'
  175. TABOBL(JGM0+2)='GVAL'
  176. TABOBL(JGM0+3)='FTUL'
  177. TABOBL(JGM0+4)='REDC'
  178. TABOBL(JGM0+5)='FC01'
  179. TABOBL(JGM0+6)='RT45'
  180. TABOBL(JGM0+7)='FCU1'
  181. TABOBL(JGM0+8)='STRU'
  182. TABOBL(JGM0+9)='EXTP'
  183. TABOBL(JGM0+10)='STRP'
  184. TABOBL(JGM0+11)='EXT1'
  185. TABOBL(JGM0+12)='STR1'
  186. TABOBL(JGM0+13)='EXT2'
  187. TABOBL(JGM0+14)='STR2'
  188. TABOBL(JGM0+15)='NCRI'
  189. *
  190. * FACULTATIVE CARACTERISTICS
  191. *
  192.  
  193. JGM0=JGFAC
  194. JGFAC=JGM0+10
  195.  
  196. C WARNING !!!!!!!!!! RHO et ALPH doivent etre a la fin! voir defmat!!!
  197. DO ie1=1,JGM0
  198. TABFAC(JGFAC+1-ie1)=TABFAC(JGM0+1-ie1)
  199. ENDDO
  200. TABFAC(1) ='TANB'
  201. TABFAC(2) ='BPLC'
  202. TABFAC(3) ='TR0T'
  203. TABFAC(4) ='TR0C'
  204. TABFAC(5) ='TRUC'
  205. TABFAC(6) ='AVAT'
  206. TABFAC(7) ='BVAT'
  207. TABFAC(8) ='AVAC'
  208. TABFAC(9) ='BVAC'
  209. TABFAC(10)='DVOL'
  210. *
  211. * CCd
  212. *
  213. ELSE IF (IPLAC.EQ.11) THEN
  214. *
  215. * MODELE SICSCAL
  216. *
  217. JGM0=JGFAC
  218. JGFAC=JGM0+44
  219. TABFAC(JGM0+1)= 'H1N'
  220. TABFAC(JGM0+2)= 'H1HP'
  221. TABFAC(JGM0+3)= 'H1P'
  222. TABFAC(JGM0+4)= 'H2N'
  223. TABFAC(JGM0+5)= 'H2HP'
  224. TABFAC(JGM0+6)= 'H2P'
  225. TABFAC(JGM0+7)= 'H3N'
  226. TABFAC(JGM0+8)= 'H3P'
  227. TABFAC(JGM0+9)= 'Y0N1'
  228. TABFAC(JGM0+10)='Y0N2'
  229. TABFAC(JGM0+11)='Y0N3'
  230. TABFAC(JGM0+12)= 'YCN1'
  231. TABFAC(JGM0+13)= 'YCN2'
  232. TABFAC(JGM0+14)= 'YCN3'
  233. TABFAC(JGM0+15)='Y0T1'
  234. TABFAC(JGM0+16)='Y0T2'
  235. TABFAC(JGM0+17)='Y0T3'
  236. TABFAC(JGM0+18)='YCT1'
  237. TABFAC(JGM0+19)='YCT2'
  238. TABFAC(JGM0+20)='YCT3'
  239. TABFAC(JGM0+21)='DCT1'
  240. TABFAC(JGM0+22)='DCT2'
  241. TABFAC(JGM0+23)='DCT3'
  242. TABFAC(JGM0+24)='DCN1'
  243. TABFAC(JGM0+25)='DCN2'
  244. TABFAC(JGM0+26)='DCN3'
  245. TABFAC(JGM0+27)='PN1'
  246. TABFAC(JGM0+28)='PN2'
  247. TABFAC(JGM0+29)='PN3'
  248. TABFAC(JGM0+30)='PT1'
  249. TABFAC(JGM0+31)='PT2'
  250. TABFAC(JGM0+32)='PT3'
  251. TABFAC(JGM0+33)='B'
  252. TABFAC(JGM0+34)='DTAL'
  253. TABFAC(JGM0+35)='TER0'
  254. TABFAC(JGM0+36)='SIF1'
  255. TABFAC(JGM0+37)='SIF2'
  256. TABFAC(JGM0+38)='SIF3'
  257. TABFAC(JGM0+39)='AIF1'
  258. TABFAC(JGM0+40)='AIF2'
  259. TABFAC(JGM0+41)='AIF3'
  260. TABFAC(JGM0+42)='ETA1'
  261. TABFAC(JGM0+43)='ETA2'
  262. TABFAC(JGM0+44)='ETA3'
  263. *
  264. ELSE IF (IPLAC.EQ.12) THEN
  265. *
  266. * MODELE SICTENS
  267. *
  268. JGM0=JGFAC
  269. JGFAC=JGM0+51
  270. TABFAC(JGM0+1)= 'H1N'
  271. TABFAC(JGM0+2)= 'H1HP'
  272. TABFAC(JGM0+3)= 'H1P'
  273. TABFAC(JGM0+4)= 'H2N'
  274. TABFAC(JGM0+5)= 'H2HP'
  275. TABFAC(JGM0+6)= 'H2P'
  276. TABFAC(JGM0+7)= 'H3N'
  277. TABFAC(JGM0+8)= 'H3P'
  278. TABFAC(JGM0+9)= 'H4N'
  279. TABFAC(JGM0+10)= 'H4HP'
  280. TABFAC(JGM0+11)= 'H4P'
  281. TABFAC(JGM0+12)= 'Y01'
  282. TABFAC(JGM0+13)='Y02'
  283. TABFAC(JGM0+14)='Y03'
  284. TABFAC(JGM0+15)='Y04'
  285. TABFAC(JGM0+16)='Y05'
  286. TABFAC(JGM0+17)= 'YC1'
  287. TABFAC(JGM0+18)= 'YC2'
  288. TABFAC(JGM0+19)= 'YC3'
  289. TABFAC(JGM0+20)= 'YC4'
  290. TABFAC(JGM0+21)= 'YC5'
  291. TABFAC(JGM0+22)='DC1'
  292. TABFAC(JGM0+23)='DC2'
  293. TABFAC(JGM0+24)='DC3'
  294. TABFAC(JGM0+25)='DC4'
  295. TABFAC(JGM0+26)='DC5'
  296. TABFAC(JGM0+27)='PY1'
  297. TABFAC(JGM0+28)='PY2'
  298. TABFAC(JGM0+29)='PY3'
  299. TABFAC(JGM0+30)='PY4'
  300. TABFAC(JGM0+31)='PY5'
  301. TABFAC(JGM0+32)='B1'
  302. TABFAC(JGM0+33)='B2'
  303. TABFAC(JGM0+34)='B3'
  304. TABFAC(JGM0+35)='DTAL'
  305. TABFAC(JGM0+36)='TER0'
  306. TABFAC(JGM0+37)='SIF1'
  307. TABFAC(JGM0+38)='SIF2'
  308. TABFAC(JGM0+39)='SIF3'
  309. TABFAC(JGM0+40)='SIF4'
  310. TABFAC(JGM0+41)='SIF5'
  311. TABFAC(JGM0+42)='AIF1'
  312. TABFAC(JGM0+43)='AIF2'
  313. TABFAC(JGM0+44)='AIF3'
  314. TABFAC(JGM0+45)='AIF4'
  315. TABFAC(JGM0+46)='AIF5'
  316. TABFAC(JGM0+47)='ETA1'
  317. TABFAC(JGM0+48)='ETA2'
  318. TABFAC(JGM0+49)='ETA3'
  319. TABFAC(JGM0+50)='ETA4'
  320. TABFAC(JGM0+51)='ETA5'
  321. *
  322. ELSE IF (IPLAC.EQ.13) THEN
  323. *
  324. * MODELE DESMORAT
  325. *
  326. JGM0=JGOBL
  327. JGOBL=JGM0+7
  328. TABOBL(JGM0+1)='K0'
  329. TABOBL(JGM0+2)='A'
  330. TABOBL(JGM0+3)='a'
  331. TABOBL(JGM0+4)='etaC'
  332. TABOBL(JGM0+5)='etaT'
  333. TABOBL(JGM0+6)='k'
  334. TABOBL(JGM0+7)='Dc'
  335. *
  336. ELSE IF (IPLAC.EQ.14) THEN
  337. *
  338. * MODELE ENDOMMAGEMENT FATIGUE 'FATSIN'
  339. *
  340. JGM0=JGOBL
  341. JGOBL=JGM0+8
  342. TABOBL(JGM0+1)= 'KTR0'
  343. TABOBL(JGM0+2)= 'BETA'
  344. TABOBL(JGM0+3)= 'LOI '
  345. * pour la loi "L2R"
  346. TABOBL(JGM0+4)= 'C '
  347. TABOBL(JGM0+5)= 'ALFA'
  348. * pour la loi "L3R"
  349. TABOBL(JGM0+6)= 'ALF1'
  350. TABOBL(JGM0+7)= 'ALF2'
  351. TABOBL(JGM0+8)= 'ALF3'
  352. ELSE IF (IPLAC.EQ.15) THEN
  353. *
  354. * MODELE ENDOMMAGEMENT 'RICRAG'
  355. *
  356. JGM0=JGOBL
  357. JGOBL=JGM0+5
  358. TABOBL(JGM0+1)='FT '
  359. TABOBL(JGM0+2)='ALIN'
  360. TABOBL(JGM0+3)='GAM1'
  361. TABOBL(JGM0+4)='A1 '
  362. TABOBL(JGM0+5)='ALDI'
  363.  
  364. C +BR
  365. ELSE IF (IPLAC.EQ.16) THEN
  366. *
  367. * MODELE ENDOMMAGEMENT 'GLRC_DM'
  368. *
  369. JGM0=JGOBL
  370. JGOBL=JGM0+7
  371. TABOBL(JGM0+1)='YOUF'
  372. TABOBL(JGM0+2)='NUF '
  373. TABOBL(JGM0+3)='GAMT'
  374. TABOBL(JGM0+4)='GAMC'
  375. TABOBL(JGM0+5)='GAMF'
  376. TABOBL(JGM0+6)='SEUI'
  377. TABOBL(JGM0+7)='ALF '
  378.  
  379. ELSE IF (IPLAC.EQ.17) THEN
  380. *
  381. * MODELE ENDOMMAGEMENT 'RICBET'
  382. *
  383. JGM0=JGOBL
  384. JGOBL=JGM0+13
  385. TABOBL(JGM0+ 1)= 'FT '
  386. TABOBL(JGM0+ 2)= 'ALDI'
  387. TABOBL(JGM0+ 3)= 'GAM1'
  388. TABOBL(JGM0+ 4)= 'A1 '
  389. TABOBL(JGM0+ 5)= 'SREF'
  390. TABOBL(JGM0+ 6)= 'AF '
  391. TABOBL(JGM0+ 7)= 'BF '
  392. TABOBL(JGM0+ 8)= 'AG '
  393. TABOBL(JGM0+ 9)= 'BG '
  394. TABOBL(JGM0+10)= 'AC '
  395. TABOBL(JGM0+11)= 'BC '
  396. TABOBL(JGM0+12)= 'SIGU'
  397. TABOBL(JGM0+13)= 'FC '
  398.  
  399. ELSE IF (IPLAC.EQ.18) THEN
  400. *
  401. * MODELE ENDOMMAGEMENT 'RICCOQ'
  402. *
  403. JGM0=JGOBL
  404. JGOBL=JGM0+4
  405. TABOBL(JGM0+1)='FT '
  406. TABOBL(JGM0+2)='EPUT'
  407. TABOBL(JGM0+3)='FC '
  408. TABOBL(JGM0+4)='EPUC'
  409.  
  410. ELSE IF (IPLAC.EQ.19) THEN
  411. *
  412. * MODELE ENDOMMAGEMENT 'CONCYC'
  413. *
  414. JGM0=JGOBL
  415. JGOBL=JGM0+6
  416. TABOBL(JGM0+1)='NEND'
  417. TABOBL(JGM0+2)='SIGT'
  418. TABOBL(JGM0+3)='ATRA'
  419. TABOBL(JGM0+4)='BTRA'
  420. TABOBL(JGM0+5)='QP '
  421. TABOBL(JGM0+6)='CF '
  422.  
  423. C -BR
  424. ELSE IF (IPLAC.EQ.20) THEN
  425. *
  426. * MODELE ENDOMMAGEMENT 'PBEFEM'
  427. *
  428. JGM0=JGOBL
  429. JGOBL=JGM0+14
  430. TABOBL(JGM0+1) ='ALP1'
  431. TABOBL(JGM0+2) ='BET1'
  432. TABOBL(JGM0+3) ='AD1 '
  433. TABOBL(JGM0+4) ='AD2 '
  434. TABOBL(JGM0+5) ='AD3 '
  435. TABOBL(JGM0+6) ='AD4 '
  436. TABOBL(JGM0+7) ='FT '
  437. TABOBL(JGM0+8) ='XZ0 '
  438. TABOBL(JGM0+9) ='XNX '
  439. TABOBL(JGM0+10) ='XNY '
  440. TABOBL(JGM0+11) ='UCRT'
  441. TABOBL(JGM0+12) ='IND1'
  442. TABOBL(JGM0+13) ='XIE'
  443. TABOBL(JGM0+14) ='YIE'
  444.  
  445. ELSE
  446. *
  447. * SI PROBLEME , ON SORT AVEC IRET A 0
  448. *
  449. IRET=0
  450. CALL ERREUR(261)
  451. ENDIF
  452. RETURN
  453. END
  454.  
  455.  

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