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 ' ;
  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 ;
  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. TABU = TABLE ;
  469. TABU.'MODELE' = mo_util ;
  470. TABU.'CARACTERISTIQUES' = MATR1_u ;
  471. TABU.'BLOCAGES_MECANIQUES' = CLT ;
  472. TABU.'CHARGEMENT' = CHARTOT ;
  473. TABU.'VARIABLES_INTERNES'= TABLE ;
  474. TABU.'VARIABLES_INTERNES' . 0 = VAR0_u ;
  475. TABU.'TEMPS_CALCULES' = LIST1 ;
  476. TABU.'TEMPS_SAUVES' = LIST1 ;
  477. *
  478. TMASAU = TABLE ;
  479. TABU . 'MES_SAUVEGARDES' = TMASAU ;
  480. TMASAU .'DEFTO' = VRAI ;
  481. TMASAU .'DEFIN' = VRAI ;
  482. *
  483. TEMPS 'ZERO' ;
  484. PASAPAS TABU ;
  485. *
  486. TABTPS = TEMP 'NOEC';
  487. CPUext = TABTPS.'TEMPS_CPU'.'INITIAL';
  488.  
  489. * ================================================
  490. * 7 - Post-traitement : verification des resultats
  491. * ================================================
  492. AP = TA.'AP' ;
  493. BP = TA.'BP' ;
  494. N1 = TA.'N1' ;
  495. N2 = TA.'N2' ;
  496.  
  497. * Facteurs multiplicatifs dus au dopage par le Chrome
  498. WC1 = 'TANH' ( (TA.'CR' - TA.'CR2') / TA.'CR3' ) ;
  499. WC1 = 1. + ( 0.5 * TA.'CR1' * (1. + WC1) ) ;
  500. CV = 180. / PI ;
  501. WC2 = 1. - ( 'COS' (CV * TA.'DG' / TA.'DG0') ) ;
  502. WC2 = 2. * (TA.'DG0'**TA.'M2') * WC2 ;
  503.  
  504. BUMI = TA.'BUMI' ;
  505. AKEVD = AKBU*TA.'KGON' ;
  506. ADEN = TA.'ADEN' ;
  507. KGON = TA.'KGON' ;
  508. * --------------------------------------------------------------
  509. * 7.1 - Calcul de la cte AAAA pour le calcul de la def. de dens.
  510. * --------------------------------------------------------------
  511. BUMAX0=60.D0*BUMI ;
  512. CRIT=1.D-10 ;
  513. 'REPE' BLOC 100 ;
  514. BUMAX = BUMI* ('EXP' (1. - (ADEN/(KGON*BUMAX0)))) ;
  515. BUMAX = (0.2*BUMAX) + (0.8*BUMAX0) ;
  516. TEST='ABS' ((BUMAX-BUMAX0)/BUMAX0) ;
  517. 'SI' ('<' TEST CRIT) ;
  518. 'QUIT' BLOC ;
  519. 'FINS' ;
  520. BUMAX0=BUMAX ;
  521. 'FIN' BLOC ;
  522. AAAA = (-1.D0*RHO0*(ADEN-(KGON*BUMAX))) /
  523. ((1.D0+ADEN)*(LOG(BUMAX/BUMI))) ;
  524. *
  525. * ----------------------------
  526. * 7.2 - Controle des resultats
  527. * ----------------------------
  528. SS_u = TABU . 'CONTRAINTES' ;
  529. VV_u = TABU . 'VARIABLES_INTERNES' ;
  530. IN_u = TABU . 'DEFORMATIONS_INELASTIQUES' ;
  531. NCONT = ('DIME' (TABU . 'CONTRAINTES')) - 1 ;
  532. *
  533. T1 = 0. ;
  534. SMZZ1 = 0. ;
  535. FF1 = TA.'POR0' ;
  536. ERMAX1 = 0. ;
  537. ERMAX2 = 0. ;
  538. *
  539. LTT_u = PROG ;
  540. LDFF_u = PROG ;
  541. LEVFF_u = PROG ;
  542. LEVP3_u = PROG ;
  543. LEVTH_u = PROG ;
  544. LEVCALCu = PROG ;
  545. LSMZZ_u = PROG ;
  546. *
  547. 'REPE' BLOC_u NCONT ;
  548. *
  549. * -------------------------------------
  550. * VITESSE DE DEFORMATION THEORIQUE EVTH
  551. * -------------------------------------
  552. T2 = 'EXTR' (TABU.'TEMPS_SAUVES') (&BLOC_u + 1);
  553. EVTH = DELTAZ / HS2 / TMIL ;
  554. 'SI' (> T2 (TMIL+0.1)) ;
  555. EVTH = -1. * DELTAZ / HS2 / (TFIN - TMIL) ;
  556. 'FINS' ;
  557. * ----------------------------------------------------
  558. * SMZZ EST PREPONDERANTE DEVANT LES AUTRES CONTRAINTES
  559. * ----------------------------------------------------
  560. SMZZ = 'MAXI' ('EXCO' (SS_u . &BLOC_u) 'SMZZ') ;
  561. SSM = SMZZ / 3. ;
  562. SSEQ = 'ABS' SMZZ ;
  563. SSPRIM1 = -1. * SMZZ / 3 ;
  564. SSPRIM2 = -1. * SMZZ / 3 ;
  565. SSPRIM3 = 2. * SMZZ / 3 ;
  566. * ---------------------------------------------
  567. * DEFORMATION VISCO-PLASTIQUE EQUIVALENTE EVPEQ
  568. * ---------------------------------------------
  569. EVXX = 'MAXI' ('EXCO' VV_u.&BLOC_u 'ENXX') ;
  570. EVYY = 'MAXI' ('EXCO' VV_u.&BLOC_u 'ENYY') ;
  571. EVZZ = 'MAXI' ('EXCO' VV_u.&BLOC_u 'ENZZ') ;
  572. EVH = (EVXX+EVYY+EVZZ) / 3. ;
  573. EVPEQ = ((EVXX - EVH)**2) + ((EVYY - EVH)**2) + ((EVZZ - EVH)**2) ;
  574. EVPEQ = ((2./3.) * EVPEQ)**0.5 ;
  575. * ------------------------------------------
  576. * VITESSE DE DEFORMATION VISCO-PLASTIQUE EVP
  577. * ------------------------------------------
  578. *-- fluage primaire
  579. *
  580. 'SI' ('<' EVPEQ 1E-10) ; EVPEQ = 1E-10 ; 'FINSI' ;
  581. *
  582. EVP01 = 1.5 * TA.'KPUO' *
  583. ('EXP' (-1.*TA.'QP'/(TA.'R'*TE1))) *
  584. ( (SSEQ**(AP-1)) / (EVPEQ**BP) ) * SSPRIM1 ;
  585. *
  586. EVP02 = 1.5 * TA.'KPUO' *
  587. ('EXP' (-1.*TA.'QP'/(TA.'R'*TE1))) *
  588. ( (SSEQ**(AP-1)) / (EVPEQ**BP) ) * SSPRIM2 ;
  589. *
  590. EVP03 = 1.5 * TA.'KPUO' *
  591. ('EXP' (-1.*TA.'QP'/(TA.'R'*TE1))) *
  592. ( (SSEQ**(AP-1)) / (EVPEQ**BP) ) * SSPRIM3 ;
  593. *
  594. *-- fluage secondaire (2 mecanismes)
  595. *
  596. PP = 'MAXI' ('EXCO' VV_u . &BLOC_u 'PORO') ;
  597.  
  598. A1 = (N1* (PP**(-1./N1) - 1.)**(-2.*N1/(N1+1.))) ;
  599. B1 = (1. + (2.*PP/3.))/ ((1. - PP) **(2.*N1/(N1+1.))) ;
  600. AB1 = (9. * A1) / ( (4.*B1) + A1 ) ;
  601. BA1 = B1 / ( B1 + (A1/4.) ) ;
  602. *
  603. GSSEQ = ((BA1 * (SSEQ**2)) + (AB1 * (SSM**2))) ** 0.5 ;
  604.  
  605. A2 = (N2* (PP**(-1./N2) - 1.)**(-2.*N2/(N2+1.))) ;
  606. B2 = (1. + (2.*PP/3.))/ ((1. - PP) **(2.*N2/(N2+1.))) ;
  607. *
  608. EVP11 = 0.5 * (TA.'K1' * (TA.'DG'**TA.'M1') * WC1 *
  609. ('EXP' (-1.*TA.'Q1'/(TA.'R'*TE1))) *
  610. (((A1*((1.5*SSM)**2)) + (B1*(SSEQ ** 2)))**((N1-1.)/2.)) *
  611. ((A1*1.5*SSM) + (3.*B1*SSPRIM1))) ;
  612. *
  613. EVP21 = 0.5 * (TA.'K2' * WC2 * ('EXP' (-1.*TA.'Q2'/(TA.'R'*TE1))) *
  614. (((A2*((1.5*SSM)**2)) + (B2*(SSEQ ** 2)))**((N2-1.)/2.)) *
  615. ((A2*1.5*SSM) + (3.*B2*SSPRIM1))) ;
  616. *
  617. EVP12 = 0.5 * (TA.'K1' * (TA.'DG'**TA.'M1') * WC1 *
  618. ('EXP' (-1.*TA.'Q1'/(TA.'R'*TE1))) *
  619. (((A1*((1.5*SSM)**2)) + (B1*(SSEQ ** 2)))**((N1-1.)/2.)) *
  620. ((A1*1.5*SSM) + (3.*B1*SSPRIM2))) ;
  621. *
  622. EVP22 = 0.5 * (TA.'K2' * WC2 * ('EXP' (-1.*TA.'Q2'/(TA.'R'*TE1))) *
  623. (((A2*((1.5*SSM)**2)) + (B2*(SSEQ ** 2)))**((N2-1.)/2.)) *
  624. ((A2*1.5*SSM) + (3.*B2*SSPRIM2))) ;
  625. *
  626. EVP13 = 0.5 * (TA.'K1' * (TA.'DG'**TA.'M1') * WC1 *
  627. ('EXP' (-1.*TA.'Q1'/(TA.'R'*TE1))) *
  628. (((A1*((1.5*SSM)**2)) + (B1*(SSEQ ** 2)))**((N1-1.)/2.)) *
  629. ((A1*1.5*SSM) + (3.*B1*SSPRIM3))) ;
  630. *
  631. EVP23 = 0.5 * (TA.'K2' * WC2 * ('EXP' (-1.*TA.'Q2'/(TA.'R'*TE1))) *
  632. (((A2*((1.5*SSM)**2)) + (B2*(SSEQ ** 2)))**((N2-1.)/2.)) *
  633. ((A2*1.5*SSM) + (3.*B2*SSPRIM3))) ;
  634. *
  635. PSI1 = TA.'K1' * WC1 * (TA.'DG'**TA.'M1')/(N1+1.) *
  636. ('EXP' (-1.*TA.'Q1'/(TA.'R'*TE1))) *
  637. (((A1*((1.5*SSM)**2)) + (B1*(SSEQ ** 2)))**((N1+1.)/2.)) ;
  638. *
  639. PSI2 = TA.'K2' * WC2/(N2+1.) * ('EXP' (-1.*TA.'Q2'/(TA.'R'*TE1))) *
  640. (((A2*((1.5*SSM)**2)) + (B2*(SSEQ ** 2)))**((N2+1.)/2.)) ;
  641. *
  642. EVPC1 = 0.5 * TA.'BETA' / TA.'H' * TA.'Q' * TA.'OMEG' *
  643. (GSSEQ**(-1.*TA.'Q' - 2.)) *
  644. (1. -
  645. (('TANH' ((TE1 - (TA.'OMEG' * (GSSEQ**(-1.*TA.'Q')))) / TA.'H'))**2))
  646. * (PSI2 - PSI1) * ( ((AB1*SSM)/3.) + (1.5*BA1*SSPRIM1) ) ;
  647. *
  648. EVPC2 = 0.5 * TA.'BETA' / TA.'H' * TA.'Q' * TA.'OMEG' *
  649. (GSSEQ**(-1.*TA.'Q' - 2.)) *
  650. (1. -
  651. (('TANH' ((TE1 - (TA.'OMEG' * (GSSEQ**(-1.*TA.'Q')))) / TA.'H'))**2))
  652. * (PSI2 - PSI1) * ( ((AB1*SSM)/3.) + (1.5*BA1*SSPRIM2) ) ;
  653. *
  654. EVPC3 = 0.5 * TA.'BETA' / TA.'H' * TA.'Q' * TA.'OMEG' *
  655. (GSSEQ**(-1.*TA.'Q' - 2.)) *
  656. (1. -
  657. (('TANH' ((TE1 - (TA.'OMEG' * (GSSEQ**(-1.*TA.'Q')))) / TA.'H'))**2))
  658. * (PSI2 - PSI1) * ( ((AB1*SSM)/3.) + (1.5*BA1*SSPRIM3) ) ;
  659. *
  660. TETA = 0.5 * TA.'BETA' *
  661. (1. +
  662. ('TANH' ((TE1 - (TA.'OMEG' * (GSSEQ**(-1.*TA.'Q')))) / TA.'H'))) ;
  663. *
  664. EVP1 = EVP01 + ((1. - TETA) * EVP11) + (TETA * EVP21) + EVPC1 ;
  665. EVP2 = EVP02 + ((1. - TETA) * EVP12) + (TETA * EVP22) + EVPC2 ;
  666. EVP3 = EVP03 + ((1. - TETA) * EVP13) + (TETA * EVP23) + EVPC3 ;
  667. * -------------------------------------
  668. * VITESSE DE DEFORMATION ELASTIQUE EVEL
  669. * -------------------------------------
  670. DSMZZ = (SMZZ - SMZZ1) / (T2 - T1) ;
  671. EVEL = DSMZZ / ('MAXI' EE_u) ;
  672. * ----------------------------------
  673. * VITESSE DE DEFORMATION IRRADIATION
  674. * ----------------------------------
  675. EVIR1 = 1.5 * TA.'A' * DF1 * (SSEQ **(TA.'N3' - 1.)) *
  676. ('EXP' (-1.*TA.'Q3'/(TA.'R'*TE1))) * SSPRIM1 ;
  677. EVIR2 = 1.5 * TA.'A' * DF1 * (SSEQ **(TA.'N3' - 1.)) *
  678. ('EXP' (-1.*TA.'Q3'/(TA.'R'*TE1))) * SSPRIM2 ;
  679. EVIR3 = 1.5 * TA.'A' * DF1 * (SSEQ **(TA.'N3' - 1.)) *
  680. ('EXP' (-1.*TA.'Q3'/(TA.'R'*TE1))) * SSPRIM3 ;
  681. * ------------------------------------
  682. * VITESSE DE DEFORMATION DENSIFICATION
  683. * ------------------------------------
  684. * CE QUI SUIT EST VRAI CAR LE FLUX DE FISSIONS EST CONSTANT
  685. BU = AKBU * T2 ;
  686. 'SI' (BU '>' BUMI) ;
  687. NUMER = (RHO0 * RHO0 * AKEVD) - (RHO0 * AAAA * AKEVD) +
  688. (RHO0 * AAAA * AKEVD * ('LOG' (BU / BUMI))) -
  689. (RHO0 * AAAA / T2) ;
  690. DENOM = (RHO0 + (AAAA * ('LOG' (BU / BUMI)))) *
  691. (RHO0 + (AAAA * ('LOG' (BU / BUMI)))) ;
  692. EVD = -1. * (AKEVD - (NUMER/DENOM)) / 3. ;
  693. 'SINO' ;
  694. EVD = 0. ;
  695. 'FINS' ;
  696. * ---------------------------------
  697. * VITESSE DE DEFORMATION GONFLEMENT
  698. * ---------------------------------
  699. * CE QUI SUIT EST VRAI CAR LE FLUX DE FISSIONS EST CONSTANT
  700. EVG = AKEVD/3. ;
  701. * -------------------------------
  702. * VITESSE DE DEFORMATION SELON ZZ
  703. * -------------------------------
  704. EVCALC = ((1.+(TA.'K'*DF1))*EVP3) + EVEL + EVIR3 +
  705. EVD + EVG ;
  706. ECART1 = (EVCALC - EVTH) / EVTH ;
  707. ERMAX1 = 'MAXI' ('PROG' ('ABS' ECART1) ERMAX1) ;
  708. * -------------------
  709. * VITESSE DE POROSITE
  710. * -------------------
  711. FF = 'MAXI' ('EXCO' (VV_u . &BLOC_u) 'PORO') ;
  712. DFF = (FF - FF1) / (T2 - T1) ;
  713. EVFF = (3.*EVD) +
  714. ((1. - FF) * (1.+(TA.'K'*DF1))*(EVP1+EVP2+EVP3)) +
  715. ((1. - FF) * (EVIR1 + EVIR2 + EVIR3)) ;
  716. ECART2 = ('ABS' (DFF - EVFF)) / FF ;
  717. ERMAX2 = 'MAXI' ('PROG' ('ABS' ECART2) ERMAX2) ;
  718.  
  719. LTT_u = LTT_u 'ET' ('PROG' T2) ;
  720. LEVP3_u = LEVP3_u 'ET' ('PROG' EVP3) ;
  721. LEVCALCu = LEVCALCu 'ET' ('PROG' EVCALC) ;
  722. LEVTH_u = LEVTH_u 'ET' ('PROG' EVTH) ;
  723. LDFF_u = LDFF_u 'ET' ('PROG' DFF) ;
  724. LEVFF_u = LEVFF_u 'ET' ('PROG' EVFF) ;
  725. LSMZZ_u = LSMZZ_u 'ET' ('PROG' SMZZ) ;
  726.  
  727.  
  728. FF1 = FF ;
  729. SMZZ1 = SMZZ ;
  730. T1 = T2 ;
  731.  
  732. 'FIN' BLOC_u ;
  733.  
  734. Message 'CPU avec modele externe = ' CPUext 'centiemes de seconde' ;
  735.  
  736. 'SI' ( ERMAX1 '&lt;EG' 0.05 );
  737. 'ERRE' 0;
  738. 'SINO';
  739. 'MESS' 'ERREUR MAXIMALE VITESSE DEFORMATION :'
  740. ERMAX1 '> 0.05 ' ;
  741. 'ERRE' 5;
  742. 'FINS';
  743.  
  744. 'SI' ( ERMAX2 '&lt;EG' 0.05 );
  745. 'ERRE' 0;
  746. 'SINO';
  747. 'MESS' 'ERREUR MAXIMALE POROSITE :'
  748. ERMAX2 '> 0.05 ' ;
  749. 'ERRE' 5;
  750. 'FINS';
  751.  
  752. *-----------------------------------------------------------------------
  753. * 8 - Post-traitement : visualisations graphiques si demandees
  754.  
  755. 'SI' GRAPH ;
  756.  
  757. 'TITR' 'Tridimensionnel : Vitesses de Deformation' ;
  758. EVEVP_u = 'EVOL' 'MANU' LTT_u 'Temps' LEVP3_u 'Vitesse' ;
  759. EVEVC_u = 'EVOL' 'MANU' LTT_u 'Temps' LEVCALCu 'Vitesse' ;
  760. EVEVTH_u = 'EVOL' 'MANU' LTT_u 'Temps' LEVTH_u 'Vitesse' ;
  761. TAD_u = TABLE ;
  762. TAD_u . 1 = 'TIRC' ;
  763. TAD_u . 3 = 'TIRR' ;
  764. TAD_u . 'TITRE' = TABLE ;
  765. TAD_u . 'TITRE' . 1 = 'Viscoplastique Analytique' ;
  766. TAD_u . 'TITRE' . 2 = 'Totale Calculee' ;
  767. TAD_u . 'TITRE' . 3 = 'Totale Analytique' ;
  768. 'DESS' (EVEVP_u 'ET' EVEVC_u 'ET' EVEVTH_u) TAD_u 'LEGE' ;
  769. *
  770. 'TITR' 'Tridimensionnel : Vitesses de variation de la porosite' ;
  771. EVDFF_u = 'EVOL' 'MANU' LTT_u 'Temps' LDFF_u 'Vitesse' ;
  772. EVEVFF_u = 'EVOL' 'MANU' LTT_u 'Temps' LEVFF_u 'Vitesse' ;
  773. TAF_u = TABLE ;
  774. TAF_u . 2 = 'TIRR' ;
  775. TAF_u . 'TITRE' = TABLE ;
  776. TAF_u . 'TITRE' . 1 = 'Calculee' ;
  777. TAF_u . 'TITRE' . 2 = 'Analytique' ;
  778. 'DESS' (EVDFF_u 'ET' EVEVFF_u) TAF_u 'LEGE' ;
  779. *
  780. 'TITR' 'Tridimensionnel : Contrainte' ;
  781. EVSMZZ_u = 'EVOL' 'MANU' LTT_u 'Temps' LSMZZ_u 'Contrainte' ;
  782. 'DESS' EVSMZZ_u ;
  783. 'FINS' ;
  784. 'FINS' ;
  785.  
  786. FIN ;
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.  
  795.  
  796.  
  797.  
  798.  
  799.  

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