Télécharger umat04.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : umat04.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *=======================================================================
  5. *
  6. * CAS TEST DE VALIDATION DE LA PRISE EN COMPTE D'UNE LOI DE
  7. *
  8. * COMPORTEMENT MECANIQUE NON LINEAIRE EXTERNE
  9. *
  10. *=======================================================================
  11. *
  12. * Modele 'NON_LINEAIRE' 'UTILISATEUR', integrateur specifique UMAT
  13. *
  14. * Test No4 : Modele VISCOPLASTIQUE GATT_MONERIE
  15. * Reprise du test gatt_3d.dgibi
  16. *
  17. *=======================================================================
  18.  
  19.  
  20.  
  21.  
  22. *=======================================================================
  23. *
  24. * PROCEDURES DEPENDANTES
  25. *
  26. *=======================================================================
  27.  
  28.  
  29.  
  30.  
  31. *=======================================================================
  32. *
  33. * JEU DE DONNEES PRINCIPAL
  34. *
  35. *=======================================================================
  36.  
  37. * ===============================
  38. * 0 - Options generales de calcul
  39. * ===============================
  40. opti dime 3 mode tridim ;
  41. opti elem cu20 ;
  42. opti debu 1;
  43. 'OPTI' 'TRAC' 'PSC' ;
  44. L = 'MOT' LIST ; F = 'MOT' FIN ;
  45.  
  46. GRAPH = FAUX ;
  47. LISTCOUR = VRAI ;
  48.  
  49. * ============
  50. * 1 - Maillage
  51. * ============
  52. NA = 1 ;
  53. NR = 1 ;
  54. H = 6.2e-3 ;
  55. D = 5.e-3 ;
  56. R = D/2. ;
  57. HS2 = H/2. ;
  58.  
  59. OO = 0.0 0.0 0.0 ;
  60. A1 = R 0.0 0.0 ;
  61. A2 = R 0.0 HS2 ;
  62. A3 = 0.0 0.0 HS2 ;
  63.  
  64. LB = DROIT NR OO A1 ;
  65. LD = DROIT NA A1 A2 ;
  66. LH = DROIT NR A2 A3 ;
  67. LG = DROIT NA A3 OO ;
  68.  
  69. SU1 = DALL LB LD LH LG 'PLAN' ;
  70. SU2 = SU1 TOUR 30.0 OO A3 ;
  71. VOL1 = VOLU 1 SU1 SU2 ;
  72. ELIM VOL1 (D/1000.0) ;
  73. VOL1 = REGE VOL1 ;
  74.  
  75. SUA = POIN (COOR 2 VOL1) 'INFERIEUR' (D/1000.0) ;
  76. SUB = POIN (COOR 3 VOL1) 'INFERIEUR' (D/1000.0) ;
  77. SUH = POIN (COOR 3 VOL1) 'SUPERIEUR' (HS2 - (D/1000.0)) ;
  78. LG = VOL1 'POIN' 'DROIT' OO A3 (D/1000.0) ;
  79.  
  80. * ========================================================
  81. * 2 - Affectation des parametres de la loi de comportement
  82. * ========================================================
  83. TE1 = 1400.0 + 273.0 ;
  84. PO = 4.52E-2 ;
  85. DF1 = 1.E18 ;
  86. * --------------------------------------------------------------
  87. * 2.1 - AFFECTATION DES PARAMETRES DE MATERIAU : premiere partie
  88. * --------------------------------------------------------------
  89. * Description du module d'Young
  90. * Degre du polynome
  91. IDEGE = 2 ;
  92. * Coefficient du degre 0, coefficient du degre 1, coefficient du degre 2
  93. LEE = PROG 226930.e+06 -1.5399e+07 -9.3597e+03 ;
  94.  
  95. * Description du module de cisaillement
  96. * Degre du polynome
  97. IDEGG = 2 ;
  98. * Coefficient du degre 0, coefficient du degre 1, coefficient du degre 2
  99. LGG = PROG 85830.e+06 -5.157e+06 -3.747e+03 ;
  100.  
  101. * Polynome du coefficient de dilatation thermique Polynome(T)/(T-273)
  102. * pour T < Talpha
  103. * Degre du polynome
  104. IDEGAI = 3 ;
  105. * Coefficient du degre 0, coefficient du degre 1, coefficient du degre 2
  106. * coefficient du degre 3
  107. LALI = PROG -2.66e-03 9.802e-6 -2.705e-10 4.391e-13 ;
  108.  
  109. * Polynome du coefficient de dilatation thermique Polynome(T)/(T-273)
  110. * pour T > Talpha
  111. * Degre du polynome
  112. IDEGAS = 3 ;
  113. * Coefficient du degre 0, coefficient du degre 1, coefficient du degre 2
  114. * coefficient du degre 3
  115. LALS = PROG -3.28e-03 1.179e-05 -2.429e-09 1.219e-12 ;
  116.  
  117. * Temperature de transition pour les deux polynomes decrivant
  118. * le coefficient de dilatation thermique (en Kelvin)
  119. TALPHA = 923. ;
  120.  
  121. * Constructions d'objets a l'aide des donnees precedentes
  122.  
  123. *-- Liste de temperatures (en Kelvin)
  124. TK = 'PROG' 273.15 'PAS' 10. 2603.15 ;
  125. *-- On insere Talpha dans TK
  126. TK = TK 'ET' ('PROG' TALPHA) ;
  127. TK = 'ORDO' TK ;
  128. NTK = 'DIME' TK ;
  129. L273 = 'PROG' NTK * 273.;
  130.  
  131. *-- Construction des ordonnees : partie temperature
  132. OEET = 'PROG' NTK*('EXTR' LEE 1) ;
  133. 'SI' ('>' ('DIME' LEE) 1) ;
  134. 'REPE' BLOC (('DIME' LEE) - 1) ;
  135. OEET = OEET + (('EXTR' LEE (&BLOC+1))*(TK**(&BLOC)));
  136. 'FIN' BLOC ;
  137. 'FINS' ;
  138. 'sur la plage de temperatures' ('MINI' TK) '< T(K) <' ('MAXI' TK) ;
  139. 'MESS' 'et pour une porosite nulle' ;
  140. MIOEET = 'MINI' OEET ;
  141. MAOEET = 'MAXI' OEET ;
  142. 'MESS' 'module d Young compris entre' MIOEET 'et' MAOEET ;
  143. 'SI' ('&lt;EG' MIOEET 0) ;
  144. 'MESS' 'ERREUR : module d Young negatif ou nul !' ;
  145. 'FIN' ;
  146. 'FINS' ;
  147.  
  148. OGGT = 'PROG' NTK*('EXTR' LGG 1) ;
  149. 'SI' ('>' (DIME LGG) 1) ;
  150. 'REPE' BLOC (('DIME' LGG) - 1) ;
  151. OGGT = OGGT + (('EXTR' LGG (&BLOC+1))*(TK**(&BLOC)));
  152. 'FIN' BLOC ;
  153. 'FINS' ;
  154. MIOGGT = 'MINI' OGGT ;
  155. MAOGGT = 'MAXI' OGGT ;
  156. 'MESS' 'module de cisaillement compris entre' MIOGGT 'et' MAOGGT ;
  157. 'SI' ('&lt;EG' MIOGGT 0) ;
  158. 'MESS' 'ERREUR : module de cisaillement negatif ou nul !' ;
  159. 'FIN' ;
  160. 'FINS' ;
  161.  
  162. OALIT = 'PROG' NTK*('EXTR' LALI 1) ;
  163. 'SI' ('>' (DIME LALI) 1) ;
  164. 'REPE' BLOC (('DIME' LALI) - 1) ;
  165. OALIT = OALIT + (('EXTR' LALI (&BLOC+1))*(TK**(&BLOC)));
  166. 'FIN' BLOC ;
  167. OALIT = OALIT / (TK - L273);
  168. 'FINS' ;
  169. *
  170. OALST = 'PROG' NTK*('EXTR' LALS 1) ;
  171. 'SI' ('>' (DIME LALS) 1) ;
  172. 'REPE' BLOC (('DIME' LALS) - 1) ;
  173. OALST = OALST + (('EXTR' LALS (&BLOC+1))*(TK**(&BLOC)));
  174. 'FIN' BLOC ;
  175. OALST = OALST / (TK - L273);
  176. 'FINS' ;
  177. *
  178. ALTI = IPOL TALPHA TK OALIT ;
  179. ALTS = IPOL TALPHA TK OALST ;
  180. *
  181. NTKI = TK 'MASQ' 'INFERIEUR' TALPHA 'SOMM' ;
  182. OALIT = 'EXTR' OALIT ('LECT' 1 'PAS' 1 NTKI) ;
  183. OALST = 'EXTR' OALST ('LECT' (NTKI+1) 'PAS' 1 NTK) ;
  184. OALT = OALIT 'ET' OALST ;
  185. *
  186. * On tronque ALPHA_moy en dessous de 293K
  187. NT293 = TK 'MASQ' 'INFERIEUR' 293. 'SOMM';
  188. XEALTT = 'EXTR' TK ('LECT' (NT293+1) 'PAS' 1 NTK) ;
  189. YEALTT = 'EXTR' OALT ('LECT' (NT293+1) 'PAS' 1 NTK) ;
  190. * On remplace la partie enlevée par une IPOL entre
  191. * ALPHA_moy(T=0) et ALPHA_moy(T=293)
  192. AL0 = ('EXTR' LALI 1) / (0. - 273);
  193. AL293 = (('EXTR' LALI 1) +
  194. (('EXTR' LALI 2)*293.) +
  195. (('EXTR' LALI 3)*293.*293.) +
  196. (('EXTR' LALI 4)*293.*293.*293.)) / (293. - 273.);
  197. XEALTN = (PROG 0. 293.) ET XEALTT;
  198. YEALTN = (PROG AL0 AL293) ET YEALTT;
  199. *
  200. MIOALT = 'MINI' YEALTN ;
  201. MAOALT = 'MAXI' YEALTN ;
  202. 'MESS' 'coefficient de dilatation compris entre' MIOALT 'et' MAOALT ;
  203. 'SI' ('<' MIOALT 0) ;
  204. 'MESS' 'ERREUR : coefficient de dilatation negatif !' ;
  205. 'FINS' ;
  206. *
  207. ERRALT=100.*(ALTS-ALTI)/ ALTS ;
  208. 'SI' ('>' ERRALT 1.D-02) ;
  209. 'MESS' 'ATTENTION : a la temperature de transition :' TALPHA 'K' ;
  210. 'MESS' 'les deux valeurs du coefficient de dilatation thermique' ;
  211. 'MESS' 'different de' ERRALT '%' ALTI ALTS ;
  212. 'FINS' ;
  213. *
  214. *-- Construction des evolutions obtenues pour une porosite nulle
  215. EEET = 'EVOL' 'MANU' 'T' TK 'YOUN' OEET ;
  216. EGGT = 'EVOL' 'MANU' 'T' TK 'G' OGGT ;
  217. EALT = 'EVOL' 'MANU' 'T' XEALTN 'ALPH' YEALTN ;
  218. * --------------------------------------------------------------
  219. * 2.2 - AFFECTATION DES PARAMETRES DE MATERIAU : deuxieme partie
  220. * --------------------------------------------------------------
  221. PORY = 2.5 ;
  222. PORG = 2.25 ;
  223. PORA = 1. ;
  224.  
  225. * Constructions d'objets a l'aide des donnees precedentes
  226.  
  227. *-- Liste de porosites ( )
  228. PP = 'PROG' 0. 'PAS' 0.001 0.3 ;
  229. NPP = 'DIME' PP ;
  230.  
  231. *-- Construction des ordonnees : partie porosite
  232. OEEP = ('PROG' NPP*1.) - (PORY*PP) ;
  233. MIOEEP = 'MINI' OEEP ;
  234. 'SI' ('&lt;EG' MIOEEP 0) ;
  235. 'MESS' 'ATTENTION !' ;
  236. 'MESS' 'sur la plage de porosite :' ('MINI' PP) '< P <' ('MAXI' PP) ;
  237. 'MESS ' 'module d Young negatif ou nul !' ;
  238. 'FINS' ;
  239.  
  240. OGGP = ('PROG' NPP*1.) - (PORG*PP) ;
  241. MIOGGP = 'MINI' OGGP ;
  242. 'SI' ('&lt;EG' MIOGGP 0) ;
  243. 'MESS' 'ATTENTION !' ;
  244. 'MESS' 'sur la plage de porosite :' ('MINI' PP) '< P <' ('MAXI' PP) ;
  245. 'MESS ' 'module de cisaillement negatif ou nul !' ;
  246. 'FINS' ;
  247.  
  248. OALP = ('PROG' NPP*1.) - (PORA*PP) ;
  249. MIOALP = 'MINI' OALP ;
  250. 'SI' ('&lt;EG' MIOALP 0) ;
  251. 'MESS' 'ATTENTION !' ;
  252. 'MESS' 'sur la plage de porosite :' ('MINI' PP) '< P <' ('MAXI' PP) ;
  253. 'MESS ' 'coefficient de dilatation negatif ou nul !' ;
  254. 'FINS' ;
  255.  
  256. *-- Construction des nuages
  257. PP1 = 'EXTR' PP 1 ;
  258.  
  259. EE = 'NUAG' 'PORO'*'FLOTTANT' 'YOUN'*'EVOLUTION'
  260. ('EXTR' PP 1) (EEET*('EXTR' OEEP 1)) ;
  261. 'REPE' BLOC (NPP-1) ;
  262. EEI = 'NUAG' 'PORO'*'FLOTTANT' 'YOUN'*'EVOLUTION'
  263. ('EXTR' PP (&BLOC+1)) (EEET*('EXTR' OEEP (&BLOC+1))) ;
  264. EE = EE 'ET' EEI ;
  265. 'FIN' BLOC ;
  266.  
  267. ETT1 = 'EVOL' 'MANU' 'T' TK 'NU' ('PROG' ('DIME'TK)*1.) ;
  268. II = 1 ;
  269. NU = 'NUAG' 'PORO'*'FLOTTANT' 'NU'*'EVOLUTION'
  270. ('EXTR' PP 1)
  271. ((-1.*ETT1)+(0.5*EEET*('EXTR' OEEP II) / (EGGT*('EXTR' OGGP II)))) ;
  272. 'REPE' BLOC (NPP-1) ;
  273. II =&BLOC+1;
  274. NUI ='NUAG' 'PORO'*'FLOTTANT' 'NU'*'EVOLUTION'
  275. ('EXTR' PP II)
  276. ((-1.*ETT1)+(0.5*EEET*('EXTR' OEEP II) / (EGGT*('EXTR' OGGP II)))) ;
  277. NU = NU 'ET' NUI ;
  278. 'FIN' BLOC ;
  279.  
  280. AL = 'NUAG' 'PORO'*'FLOTTANT' 'ALPH'*'EVOLUTION'
  281. ('EXTR' PP 1) (EALT*('EXTR' OALP 1)) ;
  282. 'REPE' BLOC (NPP-1) ;
  283. ALI = 'NUAG' 'PORO'*'FLOTTANT' 'ALPH'*'EVOLUTION'
  284. ('EXTR' PP (&BLOC+1)) (EALT*('EXTR' OALP (&BLOC+1))) ;
  285. AL = AL 'ET' ALI ;
  286. 'FIN' BLOC ;
  287.  
  288. *-- Construction de la table contenant les informations
  289. TA = 'TABL' ;
  290. TA . 'YOUN' = EE ;
  291. TA . 'NU' = NU ;
  292. TA . 'ALPH' = AL ;
  293. * ---------------------------------------------------------------
  294. * 2.3 - AFFECTATION DES PARAMETRES DE MATERIAU : troisieme partie
  295. * ---------------------------------------------------------------
  296. LCOMP = 'MOTS' 'RHO' 'R' 'DG0' 'DG' 'DGCR'
  297. 'K0' 'EXKP' 'KPAF' 'AP' 'BP' 'QP'
  298. 'K1' 'M1' 'Q1' 'N1' 'K2' 'M2' 'Q2' 'N2'
  299. 'OMEG' 'OMCR' 'Q' 'H' 'BETA'
  300. 'DYN1' 'DYCR' 'DYN2' 'DYN3'
  301. 'K' 'A' 'Q3' 'N3'
  302. 'ADEN' 'KGON' 'POR0' 'BUMI' 'EFIS'
  303. 'CR1' 'CR2' 'CR3' 'CR';
  304.  
  305. LDONN = 'PROG' 10950. 8.314 7e-6 8.2e-6 56e-6
  306. 1e-9 3.48 1.8e-27 4.277 1.212 500000.
  307. 7.42e-14 -2. 377000. 1. 1.e-43 2. 462000. 8.
  308. 47350.4 47350. 0.189 600. 1.
  309. 2.06e-11 50000. 1615. 40.
  310. 2.44e-19 5.19e-36 8000. 1.
  311. -0.21e-02 7.75463e-15 4.52e-02 1.728e9 3.2e-11
  312. 400. 0.094E-2 0.01E-2 0. ;
  313.  
  314. 'REPE' BLOC ('DIME' LCOMP) ;
  315. XX = 'EXTR' LDONN &BLOC ;
  316. MOTI = 'EXTR' LCOMP &BLOC ;
  317. TA . MOTI = XX ;
  318. 'FIN' BLOC ;
  319. *
  320. *-- Calcul de KP pour fluage primaire UO2
  321. TA.'KPUO' = TA.'K0' * (TA.'DG' ** TA.'EXKP') ;
  322. * fluage primaire rendu significatif pour UO2 standard
  323. TA.'KPUO' = 1E3 * TA.'KPUO' ;
  324.  
  325. * ==================================================================
  326. * 3 - Definition du modele et affectation des proprietes de materiau
  327. * ==================================================================
  328. LCMAT07 = 'MOTS' 'YOUN' 'NU ' 'RHO ' 'ALPH'
  329. 'R ' 'DG '
  330. 'K1 ' 'M1 ' 'Q1 ' 'N1 ' 'K2 ' 'M2 ' 'Q2 ' 'N2 '
  331. 'OMEG' 'Q ' 'H ' 'BETA' 'K ' 'A ' 'Q3 ' 'N3 '
  332. 'ADEN' 'KGON' 'POR0' 'BUMI' 'EFIS' 'DG0 '
  333. 'CR1 ' 'CR2 ' 'CR3 ' 'CR ' 'KP ' 'AP ' 'BP ' 'QP '
  334. 'VISQ' 'TYPE' 'COMP' 'DYN ' 'TALP' 'TREF';
  335.  
  336. * MODIF
  337. * Correction 25/11/2003
  338. * Coherence Gibiane umat04.dgibi avec Esope umagat.eso :
  339. * 6 variables internes supplementaires correspondant aux composantes du
  340. * tenseur de deformations inelastiques
  341.  
  342. ************** LCVAR07 = MOTS 'EPSE' 'PORO' 'BU ' 'TETA' 'EPSD' 'EPSG' ;
  343. LCVAR07 = MOTS 'EPSE' 'PORO' 'BU ' 'TETA' 'EPSD' 'EPSG'
  344. 'ENXX' 'ENYY' 'ENZZ' 'GNXY' 'GNXZ' 'GNYZ' ;
  345.  
  346. * MODIF
  347.  
  348. LCPAR07 = MOTS 'T ' 'DFIS' ;
  349.  
  350. mo_util = MODE VOL1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
  351. 'NON_LINEAIRE' 'UTILISATEUR'
  352. 'NUME_LOI' 7 'C_MATERIAU' LCMAT07
  353. 'C_VARINTER' LCVAR07 'PARA_LOI' LCPAR07 ;
  354.  
  355. MATREE_u = MATE mo_util 'YOUN' (TA.'YOUN') ;
  356. PP_u = MANU 'CHML' mo_util 'T ' TE1 'PORO' PO 'RIGIDITE' ;
  357. EE_u = VARI 'NUAG' mo_util MATREE_u PP_u ;
  358.  
  359. MATR11_u = MATE mo_util 'YOUN' EE_u 'NU ' 0.3
  360. 'RHO ' 10950.0 'ALPH' 0.0 'TALP' 0. 'TREF' TE1 ;
  361.  
  362. MATR12_u = MATE mo_util 'R ' (TA.'R' ) 'DG ' (TA.'DG') ;
  363.  
  364. MATR13_u = MATE mo_util 'K1 ' (TA.'K1') 'M1 ' (TA.'M1')
  365. 'Q1 ' (TA.'Q1') 'N1 ' (TA.'N1')
  366. 'K2 ' (TA.'K2') 'M2 ' (TA.'M2')
  367. 'Q2 ' (TA.'Q2') 'N2 ' (TA.'N2') ;
  368.  
  369. MATR14_u = MATE mo_util 'OMEG' (TA.'OMEG') 'Q ' (TA.'Q')
  370. 'H ' (TA.'H') 'BETA' (TA.'BETA')
  371. 'K ' (TA.'K') 'A ' (TA.'A')
  372. 'Q3 ' (TA.'Q3') 'N3 ' (TA.'N3') ;
  373.  
  374. MATR15_u = MATE mo_util 'ADEN' (TA.'ADEN') 'KGON' (TA.'KGON')
  375. 'POR0' (TA.'POR0') 'BUMI' (TA.'BUMI')
  376. 'EFIS' (TA.'EFIS') ;
  377.  
  378. MATR16_u = MATE mo_util 'DG0 ' (TA.'DG0')
  379. 'CR1 ' (TA.'CR1') 'CR2 ' (TA.'CR2')
  380. 'CR3 ' (TA.'CR3') 'CR ' (TA.'CR') ;
  381.  
  382. MATR17_u = MATE mo_util 'KP ' (TA.'KPUO') 'AP ' (TA.'AP')
  383. 'BP ' (TA.'BP') 'QP ' (TA.'QP')
  384. 'VISQ' 0. 'TYPE' 0. 'COMP' 0. 'DYN ' 0. ;
  385.  
  386. * TYPE = 0. combustible UO2 sinon combustible AFA3GLAA
  387. * COMP = 0. combustible compressible sinon incompressible
  388. * DYN = 0. couplage statique sinon dynamique
  389.  
  390. MATR1_u = MATR11_u ET MATR12_u ET MATR13_u ET MATR14_u ET MATR15_u ET
  391. MATR16_u ET MATR17_u ;
  392.  
  393. * ========================================================
  394. * 4 - Definition des conditions aux limites et chargements
  395. * ========================================================
  396. CLZB = 'BLOQ' UZ SUB ;
  397. CLZH = 'BLOQ' UZ SUH ;
  398. CLXG = 'BLOQ' UX LG ;
  399. CLYG = 'BLOQ' UY SUA ;
  400. CLT = CLZB 'ET' CLZH 'ET' CLXG 'ET' CLYG ;
  401.  
  402. TMIL = 1.E6 ;
  403. TFIN = 2.E6 ;
  404. *
  405. RHO0 = 1.0 - TA.'POR0' ;
  406. AKBU = TA.'EFIS'*270./238./10950./RHO0*DF1 ;
  407. * CE QUI SUIT EST VRAI CAR LE FLUX DE FISSIONS EST CONSTANT
  408. TBU = (TA.'BUMI' / AKBU) - 1. ;
  409. TTBU = ('ENTI' (TBU/10000.)) * 10000. ;
  410. *------------------------
  411. * 4.1 - Instants calcules
  412. *------------------------
  413. 'SI' LISTCOUR ;
  414. *--------------
  415. LIST1 = 'PROG' 0 'PAS' 50 300 'PAS' 100 1000 'PAS' 1000 10000
  416. 'PAS' 10000. TTBU
  417. TBU (TTBU+10000.) (TTBU+20000.)
  418. 'PAS' 10000. TMIL ;
  419. 'SINON' ;
  420. *--------
  421. LIST1 = 'PROG' 0 'PAS' 50 300 'PAS' 100 1000 'PAS' 1000 10000
  422. 'PAS' 10000. TTBU
  423. TBU (TTBU+10000.) (TTBU+20000.)
  424. 'PAS' 10000. TMIL
  425. 'PAS' 100. (TMIL + ((TFIN - TMIL) / 200.))
  426. 'PAS' 1000. (TMIL + ((TFIN - TMIL) / 20.))
  427. 'PAS' 2000. (TMIL + ((TFIN - TMIL) / 4.))
  428. 'PAS' 10000. TFIN ;
  429. 'FINSI' ;
  430. *--------
  431. * -------------------------------
  432. * 4.2 - Chargement en temperature
  433. * -------------------------------
  434. CHTEMP = 'MANU' 'CHPO' VOL1 1 'T' 1. ;
  435. EVT = 'EVOL' 'MANU' ('PROG' 0. (2.*TFIN))
  436. ('PROG' TE1 TE1) ;
  437. CHARTEMP = 'CHAR' 'T' CHTEMP EVT ;
  438. * --------------------------------------
  439. * 4.3 - Chargement en densite de fission
  440. * --------------------------------------
  441. CHFISS = 'MANU' 'CHPO' VOL1 1 'DFIS' 1. ;
  442. EVF = 'EVOL' 'MANU' ('PROG' 0. (2.*TFIN))
  443. ('PROG' DF1 DF1) ;
  444. CHARFISS = 'CHAR' 'DFIS' CHFISS EVF ;
  445. * --------------------------------------
  446. * 4.4 - Chargement en deplacement impose
  447. * --------------------------------------
  448. DEPZ = 'DEPI' CLZH 1 ;
  449. DELTAZ = HS2/200. ;
  450. EVEPS = 'EVOL' 'MANU'
  451. ('PROG' 0. TMIL TFIN (2.*TFIN))
  452. ('PROG' 0. DELTAZ 0. 0.) ;
  453. CHARMECA = 'CHAR' 'DIMP' DEPZ EVEPS ;
  454. *
  455. CHARTOT = CHARMECA 'ET' CHARTEMP 'ET' CHARFISS ;
  456.  
  457. * =========================================
  458. * 5 - Initialisation des variables internes
  459. * =========================================
  460. VAR00_u = ZERO mo_util 'VARINTER' ;
  461. VAR01_u = MANU 'CHML' mo_util 'PORO' PO
  462. 'TYPE' 'VARIABLES INTERNES' 'STRESSES' ;
  463. VAR0_u = VAR00_u + VAR01_u ;
  464.  
  465. * ==========================
  466. * 6 - Resolution par PASAPAS
  467. * ==========================
  468.  
  469. TABU = TABLE ;
  470. TABU.'MODELE' = mo_util ;
  471. TABU.'CARACTERISTIQUES' = MATR1_u ;
  472. TABU.'BLOCAGES_MECANIQUES' = CLT ;
  473. TABU.'CHARGEMENT' = CHARTOT ;
  474. TABU.'VARIABLES_INTERNES'= TABLE ;
  475. TABU.'VARIABLES_INTERNES' . 0 = VAR0_u ;
  476. TABU.'TEMPS_CALCULES' = LIST1 ;
  477. TABU.'TEMPS_SAUVES' = LIST1 ;
  478. *
  479. TMASAU = TABLE ;
  480. TABU . 'MES_SAUVEGARDES' = TMASAU ;
  481. TMASAU .'DEFTO' = VRAI ;
  482. TMASAU .'DEFIN' = VRAI ;
  483. *
  484. TEMPS 'ZERO' ;
  485. PASAPAS TABU ;
  486. *
  487. TABTPS = TEMP 'NOEC';
  488. CPUext = TABTPS.'TEMPS_CPU'.'INITIAL';
  489.  
  490. * ================================================
  491. * 7 - Post-traitement : verification des resultats
  492. * ================================================
  493. AP = TA.'AP' ;
  494. BP = TA.'BP' ;
  495. N1 = TA.'N1' ;
  496. N2 = TA.'N2' ;
  497.  
  498. * Facteurs multiplicatifs dus au dopage par le Chrome
  499. WC1 = 'TANH' ( (TA.'CR' - TA.'CR2') / TA.'CR3' ) ;
  500. WC1 = 1. + ( 0.5 * TA.'CR1' * (1. + WC1) ) ;
  501. CV = 180. / PI ;
  502. WC2 = 1. - ( 'COS' (CV * TA.'DG' / TA.'DG0') ) ;
  503. WC2 = 2. * (TA.'DG0'**TA.'M2') * WC2 ;
  504.  
  505. BUMI = TA.'BUMI' ;
  506. AKEVD = AKBU*TA.'KGON' ;
  507. ADEN = TA.'ADEN' ;
  508. KGON = TA.'KGON' ;
  509. * --------------------------------------------------------------
  510. * 7.1 - Calcul de la cte AAAA pour le calcul de la def. de dens.
  511. * --------------------------------------------------------------
  512. BUMAX0=60.D0*BUMI ;
  513. CRIT=1.D-10 ;
  514. 'REPE' BLOC 100 ;
  515. BUMAX = BUMI* ('EXP' (1. - (ADEN/(KGON*BUMAX0)))) ;
  516. BUMAX = (0.2*BUMAX) + (0.8*BUMAX0) ;
  517. TEST='ABS' ((BUMAX-BUMAX0)/BUMAX0) ;
  518. 'SI' ('<' TEST CRIT) ;
  519. 'QUIT' BLOC ;
  520. 'FINS' ;
  521. BUMAX0=BUMAX ;
  522. 'FIN' BLOC ;
  523. AAAA = (-1.D0*RHO0*(ADEN-(KGON*BUMAX))) /
  524. ((1.D0+ADEN)*(LOG(BUMAX/BUMI))) ;
  525. *
  526. * ----------------------------
  527. * 7.2 - Controle des resultats
  528. * ----------------------------
  529. SS_u = TABU . 'CONTRAINTES' ;
  530. VV_u = TABU . 'VARIABLES_INTERNES' ;
  531. IN_u = TABU . 'DEFORMATIONS_INELASTIQUES' ;
  532. NCONT = ('DIME' (TABU . 'CONTRAINTES')) - 1 ;
  533. *
  534. T1 = 0. ;
  535. SMZZ1 = 0. ;
  536. FF1 = TA.'POR0' ;
  537. ERMAX1 = 0. ;
  538. ERMAX2 = 0. ;
  539. *
  540. LTT_u = PROG ;
  541. LDFF_u = PROG ;
  542. LEVFF_u = PROG ;
  543. LEVP3_u = PROG ;
  544. LEVTH_u = PROG ;
  545. LEVCALCu = PROG ;
  546. LSMZZ_u = PROG ;
  547. *
  548. 'REPE' BLOC_u NCONT ;
  549. *
  550. * -------------------------------------
  551. * VITESSE DE DEFORMATION THEORIQUE EVTH
  552. * -------------------------------------
  553. T2 = 'EXTR' (TABU.'TEMPS_SAUVES') (&BLOC_u + 1);
  554. EVTH = DELTAZ / HS2 / TMIL ;
  555. 'SI' (> T2 (TMIL+0.1)) ;
  556. EVTH = -1. * DELTAZ / HS2 / (TFIN - TMIL) ;
  557. 'FINS' ;
  558. * ----------------------------------------------------
  559. * SMZZ EST PREPONDERANTE DEVANT LES AUTRES CONTRAINTES
  560. * ----------------------------------------------------
  561. SMZZ = 'MAXI' ('EXCO' (SS_u . &BLOC_u) 'SMZZ') ;
  562. SSM = SMZZ / 3. ;
  563. SSEQ = 'ABS' SMZZ ;
  564. SSPRIM1 = -1. * SMZZ / 3 ;
  565. SSPRIM2 = -1. * SMZZ / 3 ;
  566. SSPRIM3 = 2. * SMZZ / 3 ;
  567. * ---------------------------------------------
  568. * DEFORMATION VISCO-PLASTIQUE EQUIVALENTE EVPEQ
  569. * ---------------------------------------------
  570. EVXX = 'MAXI' ('EXCO' VV_u.&BLOC_u 'ENXX') ;
  571. EVYY = 'MAXI' ('EXCO' VV_u.&BLOC_u 'ENYY') ;
  572. EVZZ = 'MAXI' ('EXCO' VV_u.&BLOC_u 'ENZZ') ;
  573. EVH = (EVXX+EVYY+EVZZ) / 3. ;
  574. EVPEQ = ((EVXX - EVH)**2) + ((EVYY - EVH)**2) + ((EVZZ - EVH)**2) ;
  575. EVPEQ = ((2./3.) * EVPEQ)**0.5 ;
  576. * ------------------------------------------
  577. * VITESSE DE DEFORMATION VISCO-PLASTIQUE EVP
  578. * ------------------------------------------
  579. *-- fluage primaire
  580. *
  581. 'SI' ('<' EVPEQ 1E-10) ; EVPEQ = 1E-10 ; 'FINSI' ;
  582. *
  583. EVP01 = 1.5 * TA.'KPUO' *
  584. ('EXP' (-1.*TA.'QP'/(TA.'R'*TE1))) *
  585. ( (SSEQ**(AP-1)) / (EVPEQ**BP) ) * SSPRIM1 ;
  586. *
  587. EVP02 = 1.5 * TA.'KPUO' *
  588. ('EXP' (-1.*TA.'QP'/(TA.'R'*TE1))) *
  589. ( (SSEQ**(AP-1)) / (EVPEQ**BP) ) * SSPRIM2 ;
  590. *
  591. EVP03 = 1.5 * TA.'KPUO' *
  592. ('EXP' (-1.*TA.'QP'/(TA.'R'*TE1))) *
  593. ( (SSEQ**(AP-1)) / (EVPEQ**BP) ) * SSPRIM3 ;
  594. *
  595. *-- fluage secondaire (2 mecanismes)
  596. *
  597. PP = 'MAXI' ('EXCO' VV_u . &BLOC_u 'PORO') ;
  598.  
  599. A1 = (N1* (PP**(-1./N1) - 1.)**(-2.*N1/(N1+1.))) ;
  600. B1 = (1. + (2.*PP/3.))/ ((1. - PP) **(2.*N1/(N1+1.))) ;
  601. AB1 = (9. * A1) / ( (4.*B1) + A1 ) ;
  602. BA1 = B1 / ( B1 + (A1/4.) ) ;
  603. *
  604. GSSEQ = ((BA1 * (SSEQ**2)) + (AB1 * (SSM**2))) ** 0.5 ;
  605.  
  606. A2 = (N2* (PP**(-1./N2) - 1.)**(-2.*N2/(N2+1.))) ;
  607. B2 = (1. + (2.*PP/3.))/ ((1. - PP) **(2.*N2/(N2+1.))) ;
  608. *
  609. EVP11 = 0.5 * (TA.'K1' * (TA.'DG'**TA.'M1') * WC1 *
  610. ('EXP' (-1.*TA.'Q1'/(TA.'R'*TE1))) *
  611. (((A1*((1.5*SSM)**2)) + (B1*(SSEQ ** 2)))**((N1-1.)/2.)) *
  612. ((A1*1.5*SSM) + (3.*B1*SSPRIM1))) ;
  613. *
  614. EVP21 = 0.5 * (TA.'K2' * WC2 * ('EXP' (-1.*TA.'Q2'/(TA.'R'*TE1))) *
  615. (((A2*((1.5*SSM)**2)) + (B2*(SSEQ ** 2)))**((N2-1.)/2.)) *
  616. ((A2*1.5*SSM) + (3.*B2*SSPRIM1))) ;
  617. *
  618. EVP12 = 0.5 * (TA.'K1' * (TA.'DG'**TA.'M1') * WC1 *
  619. ('EXP' (-1.*TA.'Q1'/(TA.'R'*TE1))) *
  620. (((A1*((1.5*SSM)**2)) + (B1*(SSEQ ** 2)))**((N1-1.)/2.)) *
  621. ((A1*1.5*SSM) + (3.*B1*SSPRIM2))) ;
  622. *
  623. EVP22 = 0.5 * (TA.'K2' * WC2 * ('EXP' (-1.*TA.'Q2'/(TA.'R'*TE1))) *
  624. (((A2*((1.5*SSM)**2)) + (B2*(SSEQ ** 2)))**((N2-1.)/2.)) *
  625. ((A2*1.5*SSM) + (3.*B2*SSPRIM2))) ;
  626. *
  627. EVP13 = 0.5 * (TA.'K1' * (TA.'DG'**TA.'M1') * WC1 *
  628. ('EXP' (-1.*TA.'Q1'/(TA.'R'*TE1))) *
  629. (((A1*((1.5*SSM)**2)) + (B1*(SSEQ ** 2)))**((N1-1.)/2.)) *
  630. ((A1*1.5*SSM) + (3.*B1*SSPRIM3))) ;
  631. *
  632. EVP23 = 0.5 * (TA.'K2' * WC2 * ('EXP' (-1.*TA.'Q2'/(TA.'R'*TE1))) *
  633. (((A2*((1.5*SSM)**2)) + (B2*(SSEQ ** 2)))**((N2-1.)/2.)) *
  634. ((A2*1.5*SSM) + (3.*B2*SSPRIM3))) ;
  635. *
  636. PSI1 = TA.'K1' * WC1 * (TA.'DG'**TA.'M1')/(N1+1.) *
  637. ('EXP' (-1.*TA.'Q1'/(TA.'R'*TE1))) *
  638. (((A1*((1.5*SSM)**2)) + (B1*(SSEQ ** 2)))**((N1+1.)/2.)) ;
  639. *
  640. PSI2 = TA.'K2' * WC2/(N2+1.) * ('EXP' (-1.*TA.'Q2'/(TA.'R'*TE1))) *
  641. (((A2*((1.5*SSM)**2)) + (B2*(SSEQ ** 2)))**((N2+1.)/2.)) ;
  642. *
  643. EVPC1 = 0.5 * TA.'BETA' / TA.'H' * TA.'Q' * TA.'OMEG' *
  644. (GSSEQ**(-1.*TA.'Q' - 2.)) *
  645. (1. -
  646. (('TANH' ((TE1 - (TA.'OMEG' * (GSSEQ**(-1.*TA.'Q')))) / TA.'H'))**2))
  647. * (PSI2 - PSI1) * ( ((AB1*SSM)/3.) + (1.5*BA1*SSPRIM1) ) ;
  648. *
  649. EVPC2 = 0.5 * TA.'BETA' / TA.'H' * TA.'Q' * TA.'OMEG' *
  650. (GSSEQ**(-1.*TA.'Q' - 2.)) *
  651. (1. -
  652. (('TANH' ((TE1 - (TA.'OMEG' * (GSSEQ**(-1.*TA.'Q')))) / TA.'H'))**2))
  653. * (PSI2 - PSI1) * ( ((AB1*SSM)/3.) + (1.5*BA1*SSPRIM2) ) ;
  654. *
  655. EVPC3 = 0.5 * TA.'BETA' / TA.'H' * TA.'Q' * TA.'OMEG' *
  656. (GSSEQ**(-1.*TA.'Q' - 2.)) *
  657. (1. -
  658. (('TANH' ((TE1 - (TA.'OMEG' * (GSSEQ**(-1.*TA.'Q')))) / TA.'H'))**2))
  659. * (PSI2 - PSI1) * ( ((AB1*SSM)/3.) + (1.5*BA1*SSPRIM3) ) ;
  660. *
  661. TETA = 0.5 * TA.'BETA' *
  662. (1. +
  663. ('TANH' ((TE1 - (TA.'OMEG' * (GSSEQ**(-1.*TA.'Q')))) / TA.'H'))) ;
  664. *
  665. EVP1 = EVP01 + ((1. - TETA) * EVP11) + (TETA * EVP21) + EVPC1 ;
  666. EVP2 = EVP02 + ((1. - TETA) * EVP12) + (TETA * EVP22) + EVPC2 ;
  667. EVP3 = EVP03 + ((1. - TETA) * EVP13) + (TETA * EVP23) + EVPC3 ;
  668. * -------------------------------------
  669. * VITESSE DE DEFORMATION ELASTIQUE EVEL
  670. * -------------------------------------
  671. DSMZZ = (SMZZ - SMZZ1) / (T2 - T1) ;
  672. EVEL = DSMZZ / ('MAXI' EE_u) ;
  673. * ----------------------------------
  674. * VITESSE DE DEFORMATION IRRADIATION
  675. * ----------------------------------
  676. EVIR1 = 1.5 * TA.'A' * DF1 * (SSEQ **(TA.'N3' - 1.)) *
  677. ('EXP' (-1.*TA.'Q3'/(TA.'R'*TE1))) * SSPRIM1 ;
  678. EVIR2 = 1.5 * TA.'A' * DF1 * (SSEQ **(TA.'N3' - 1.)) *
  679. ('EXP' (-1.*TA.'Q3'/(TA.'R'*TE1))) * SSPRIM2 ;
  680. EVIR3 = 1.5 * TA.'A' * DF1 * (SSEQ **(TA.'N3' - 1.)) *
  681. ('EXP' (-1.*TA.'Q3'/(TA.'R'*TE1))) * SSPRIM3 ;
  682. * ------------------------------------
  683. * VITESSE DE DEFORMATION DENSIFICATION
  684. * ------------------------------------
  685. * CE QUI SUIT EST VRAI CAR LE FLUX DE FISSIONS EST CONSTANT
  686. BU = AKBU * T2 ;
  687. 'SI' (BU '>' BUMI) ;
  688. NUMER = (RHO0 * RHO0 * AKEVD) - (RHO0 * AAAA * AKEVD) +
  689. (RHO0 * AAAA * AKEVD * ('LOG' (BU / BUMI))) -
  690. (RHO0 * AAAA / T2) ;
  691. DENOM = (RHO0 + (AAAA * ('LOG' (BU / BUMI)))) *
  692. (RHO0 + (AAAA * ('LOG' (BU / BUMI)))) ;
  693. EVD = -1. * (AKEVD - (NUMER/DENOM)) / 3. ;
  694. 'SINO' ;
  695. EVD = 0. ;
  696. 'FINS' ;
  697. * ---------------------------------
  698. * VITESSE DE DEFORMATION GONFLEMENT
  699. * ---------------------------------
  700. * CE QUI SUIT EST VRAI CAR LE FLUX DE FISSIONS EST CONSTANT
  701. EVG = AKEVD/3. ;
  702. * -------------------------------
  703. * VITESSE DE DEFORMATION SELON ZZ
  704. * -------------------------------
  705. EVCALC = ((1.+(TA.'K'*DF1))*EVP3) + EVEL + EVIR3 +
  706. EVD + EVG ;
  707. ECART1 = (EVCALC - EVTH) / EVTH ;
  708. ERMAX1 = 'MAXI' ('PROG' ('ABS' ECART1) ERMAX1) ;
  709. * -------------------
  710. * VITESSE DE POROSITE
  711. * -------------------
  712. FF = 'MAXI' ('EXCO' (VV_u . &BLOC_u) 'PORO') ;
  713. DFF = (FF - FF1) / (T2 - T1) ;
  714. EVFF = (3.*EVD) +
  715. ((1. - FF) * (1.+(TA.'K'*DF1))*(EVP1+EVP2+EVP3)) +
  716. ((1. - FF) * (EVIR1 + EVIR2 + EVIR3)) ;
  717. ECART2 = ('ABS' (DFF - EVFF)) / FF ;
  718. ERMAX2 = 'MAXI' ('PROG' ('ABS' ECART2) ERMAX2) ;
  719.  
  720. LTT_u = LTT_u 'ET' ('PROG' T2) ;
  721. LEVP3_u = LEVP3_u 'ET' ('PROG' EVP3) ;
  722. LEVCALCu = LEVCALCu 'ET' ('PROG' EVCALC) ;
  723. LEVTH_u = LEVTH_u 'ET' ('PROG' EVTH) ;
  724. LDFF_u = LDFF_u 'ET' ('PROG' DFF) ;
  725. LEVFF_u = LEVFF_u 'ET' ('PROG' EVFF) ;
  726. LSMZZ_u = LSMZZ_u 'ET' ('PROG' SMZZ) ;
  727.  
  728.  
  729. FF1 = FF ;
  730. SMZZ1 = SMZZ ;
  731. T1 = T2 ;
  732.  
  733. 'FIN' BLOC_u ;
  734.  
  735. Message 'CPU avec modele externe = ' CPUext 'centiemes de seconde' ;
  736.  
  737. 'SI' ( ERMAX1 '&lt;EG' 0.05 );
  738. 'ERRE' 0;
  739. 'SINO';
  740. 'MESS' 'ERREUR MAXIMALE VITESSE DEFORMATION :'
  741. ERMAX1 '> 0.05 ' ;
  742. 'ERRE' 5;
  743. 'FINS';
  744.  
  745. 'SI' ( ERMAX2 '&lt;EG' 0.05 );
  746. 'ERRE' 0;
  747. 'SINO';
  748. 'MESS' 'ERREUR MAXIMALE POROSITE :'
  749. ERMAX2 '> 0.05 ' ;
  750. 'ERRE' 5;
  751. 'FINS';
  752.  
  753. *-----------------------------------------------------------------------
  754. * 8 - Post-traitement : visualisations graphiques si demandees
  755.  
  756. 'SI' GRAPH ;
  757.  
  758. 'TITR' 'Tridimensionnel : Vitesses de Deformation' ;
  759. EVEVP_u = 'EVOL' 'MANU' LTT_u 'Temps' LEVP3_u 'Vitesse' ;
  760. EVEVC_u = 'EVOL' 'MANU' LTT_u 'Temps' LEVCALCu 'Vitesse' ;
  761. EVEVTH_u = 'EVOL' 'MANU' LTT_u 'Temps' LEVTH_u 'Vitesse' ;
  762. TAD_u = TABLE ;
  763. TAD_u . 1 = 'TIRC' ;
  764. TAD_u . 3 = 'TIRR' ;
  765. TAD_u . 'TITRE' = TABLE ;
  766. TAD_u . 'TITRE' . 1 = 'Viscoplastique Analytique' ;
  767. TAD_u . 'TITRE' . 2 = 'Totale Calculee' ;
  768. TAD_u . 'TITRE' . 3 = 'Totale Analytique' ;
  769. 'DESS' (EVEVP_u 'ET' EVEVC_u 'ET' EVEVTH_u) TAD_u 'LEGE' ;
  770. *
  771. 'TITR' 'Tridimensionnel : Vitesses de variation de la porosite' ;
  772. EVDFF_u = 'EVOL' 'MANU' LTT_u 'Temps' LDFF_u 'Vitesse' ;
  773. EVEVFF_u = 'EVOL' 'MANU' LTT_u 'Temps' LEVFF_u 'Vitesse' ;
  774. TAF_u = TABLE ;
  775. TAF_u . 2 = 'TIRR' ;
  776. TAF_u . 'TITRE' = TABLE ;
  777. TAF_u . 'TITRE' . 1 = 'Calculee' ;
  778. TAF_u . 'TITRE' . 2 = 'Analytique' ;
  779. 'DESS' (EVDFF_u 'ET' EVEVFF_u) TAF_u 'LEGE' ;
  780. *
  781. 'TITR' 'Tridimensionnel : Contrainte' ;
  782. EVSMZZ_u = 'EVOL' 'MANU' LTT_u 'Temps' LSMZZ_u 'Contrainte' ;
  783. 'DESS' EVSMZZ_u ;
  784. 'FINS' ;
  785. 'FINS' ;
  786.  
  787. FIN ;
  788.  
  789.  
  790.  

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