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

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