Télécharger fluendo3d_fluage_biaxial.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : fluendo3d_fluage_biaxial.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. * test de la formulation fluage du mdele fluendo3d
  6. * ----------------------------------------------------------------------
  7. *
  8. * Alain Sellier, Thierry Vidal, Laurie Lacarriere, Stephane Multon
  9. * mercredi 4 janvier 2023
  10. *
  11. *-----------------------------------------------------------------------
  12. * Exemple de calcul d un element charge par un etat biaxial de
  13. * le cas test est inspire des essais de Gopalakrisnan.
  14. *-----------------------------------------------------------------------
  15. graph1=FAUX;
  16. *maillage 1/8 eprouvette 11*22
  17. opti dime 3 elem cub8;
  18. nh1=1;
  19. nl1=1;
  20. np1=1;
  21. p1=0. 0. 0.;
  22. p2=1. 0. 0.;
  23. p3=1. 1. 0.;
  24. p4=0. 1. 0.;
  25. p5=0. 0. 1.;
  26. d12=droi nl1 p1 p2;
  27. d23=droi np1 p2 p3;
  28. d34=droi nl1 p3 p4;
  29. d41=droi np1 p4 p1;
  30. d15=droi nh1 p1 p5;
  31. *surface inferieuer
  32. s3=daller d12 d23 d34 d41;
  33. v1=s3 volu nh1 tran p5;
  34. elim (v1 et d15) 0.0005;
  35. *surface superieure
  36. s4=(s3 plus p5) coul roug ;
  37. elim (v1 et s3) 0.0001;
  38. elim (v1 et s4) 0.0001;
  39. *axe
  40. d3=d15;
  41. elim (v1 et d3) 0.0001;
  42. *surface de coupe avant
  43. s11=d12 tran nh1 p5;
  44. s10=s11;
  45. elim (s10 et v1) 0.0001;
  46. *surface de coupe laterale gauche
  47. s41=d41 tran nh1 p5;
  48. s40=s41;
  49. elim (s40 et v1) 0.0001;
  50. oeil1=-0.25 -0.5 2.;
  51. *surface de droite
  52. s23=d23 tran nh1 p5;
  53. *surface arriere
  54. s34=d34 tran nh1 p5;
  55. elime (v1 et s23 et s34) 0.0001;
  56. *trac v1 cach oeil1 qual;
  57. *opti donn 5;
  58.  
  59. *modele et materiau
  60. mod1=mode v1 mecanique elastique
  61. viscoplastique fluendo3d;
  62.  
  63. *materiau
  64. rc1=29.;
  65. youn1=31000.;
  66. nu1=0.15;
  67.  
  68. *evolution du module elastique en fonction du temps (EC2 20°C)
  69. liste1=prog 0. pas 1. 200.;
  70. liste2=prog (dime liste1)*1.;
  71. liste3=0.3*(liste2-((28.*((8*liste2+liste1)**-1))**0.5));
  72. liste4=0.7*((exp(liste3))**0.33);
  73. evole4=evol manu 'temps' liste1 'HYD1' liste4;
  74. *dess evole4 titr 'Evolution Hydratation';
  75. evole=evol manu 'HYD1' (prog -1. 1.) 'HYDR' (prog -1. 1.);
  76.  
  77. *elasticity, plasticity and damage
  78. matd1=MATE mod1 YOUN youn1 NU nu1 RHO 2400. ALPH 1.0e-5 HYDR 1. YORF
  79. youn1 NURF nu1 HREF 1. HYDS 0.2 RT 3. EPT 1.1e-4 GFT 1.0e-4 RC 29.
  80. EPC 2.0e-3 DELT 1.0 BETA 0.15 EKDC 2.0e-3 REF 5. GFR 1.0e-4 TSTH 45.
  81. DT80 0.15 NREN 0. ;
  82.  
  83. *visco elasticity and visco plasticity (creep)
  84. matf1=MATE mod1 TTRF 20. TAUK 0.7 YKSY 4.5 TAUM 10. EKFL 1.1e-4
  85. XFLU 2. NRJM 17000. DFMX 0. MDTT 15000. TDTT 1.0 WDTT 0.02 PDTT 20.;
  86.  
  87. *early age behavior
  88. matja=MATE mod1 YOJA 3. NUJA 0.495 SSJA 0.0001 TMJA 0.01;
  89.  
  90. *water
  91. matgw1=mate mod1 VW 0.12 PORO 0.12 BSHR 0.5 MSHR 60. MVGN 0.5 TTKW 40.
  92. DCDW 0.5 SKDW 17. CSHR 2. KWRT 1. KWRC 1.;
  93.  
  94. *rag
  95. matgr1=MATE mod1 VRAG 0.0e-3 VVRG 0. KRAG 4000. CRAG 0.5 HRAG 1500.
  96. EKDG 0.3e-2 TRAG 120. NRJR 40000. SRSR 0.5 DCDG 0.15;
  97.  
  98. *def
  99. matgd1=MATE mod1 VDEF 1.0e-2 SSAD 0.6 NALD 0.3 TPRD 30. TTKD 80.
  100. NAKD 0.28 NRJP 40000. TTRP 20. SRSD 0.95 NABD 0.92 TDID (65./24.)
  101. NRJD 70000. TTKF 70. TFID (30./24.) NRJF 180000. EXND 0.18 EXMD 3.
  102. VVDF 1.0e-3 KDEF 4000. CDEF 0.5 HDEF 1500. EKDS 3.0e-2 DCDS 0.15;
  103.  
  104. *material chracteristics assemblage
  105. mat1=matd1 ET matf1 ET matgr1 ET matgd1 ET matgw1 et matja;
  106.  
  107.  
  108. *champ constant pour l evolution du module d Young
  109. chun1=manu 'CHML' mod1 'HYD1' 1.0 'RIGIDITE';
  110. char4=char 'HYD1' chun1 evole4;
  111.  
  112. *conditions aux limites et chargement
  113. cl1=bloq s3 UZ;
  114. cl4=bloq s10 UY;
  115. cl5=bloq s40 UX;
  116. cl6=bloq s4 UX UY;
  117. cl0=cl1 et cl4 et cl5;
  118. pres1=PRES 'MASS' MOD1 12.54 s23;
  119. pres2=PRES 'MASS' MOD1 7.25 s34;
  120. lp1=prog 1. 1. 1. 0.001 0.001;
  121. lt1=prog 0. 0.1 28. 28.1 200.;
  122. evol1=evol manu 'TEMPS' lt1 'PRES1' lp1;
  123. char1=char 'MECA' (pres1 et pres2) evol1;
  124.  
  125. *difinitions pour le calcul pas a pas du cahrgement initial
  126. tab1=table;
  127. ltc1=prog 0. pas 0.5 2. pas 2. 28. pas 0.5 30. pas 2. 50.;
  128. tab1.temps_calcules=ltc1;
  129. tab1.caracteristiques=mat1;
  130. tab1.modele=mod1;
  131. tab1.blocages_mecaniques=cl0;
  132. tab1.mova='DFLU';
  133. tab1.chargement=char1 et char4;
  134. tab1.precision=1.0e-4;
  135. tab1.maxiteration=100;
  136. pasapas tab1;
  137.  
  138. ************************************************************************
  139. *post traitement
  140. ************************************************************************
  141.  
  142. *courbe de deplacement au centre de l eprouvette
  143. *et variables internes
  144. n1=dime (tab1.temps);
  145. i1=0;
  146. dp5=prog;
  147. e1s=prog;
  148. e2s=prog;
  149. e2d1=prog;
  150. e1d1=prog;
  151. lt5=prog;
  152. epx1=prog;
  153. epy1=prog;
  154. epz1=prog;
  155. eel00=prog;
  156. eelt0=prog;
  157. youn0=youn1;
  158. repeter bloc0 n1;
  159. z5=extr tab1.deplacements.i1 UZ p5;
  160. vari1=tab1.variables_internes.i1;
  161. depi1=tab1.deplacements.i1;
  162. epsi1=epsi depi1 mod1;
  163. sig1=tab1.contraintes.i1;
  164. epxx1=extr ( exco epsi1 'EPXX') 'EPXX' 1 1 1;
  165. dc1=extr (exco dcom tab1.variables_internes.i1) dcom 1 1 1 ;
  166. * dc1=0.;
  167. youn1=youn0*(1.-dc1);
  168. sxx1=extr ( exco sig1 'SMXX') 'SMXX' 1 1 1;
  169. epyy1=extr(exco epsi1 'EPYY') 'EPYY' 1 1 1;
  170. syy1=extr ( exco sig1 'SMYY') 'SMYY' 1 1 1;
  171. epzz1=extr(exco epsi1 'EPZZ') 'EPZZ' 1 1 1;
  172. szz1=extr ( exco sig1 'SMZZ') 'SMZZ' 1 1 1;
  173. epxe1=((sxx1)-(nu1*(syy1+szz1)))/youn1;
  174. epye1=((syy1)-(nu1*(sxx1+szz1)))/youn1;
  175. epze1=((szz1)-(nu1*(sxx1+syy1)))/youn1;
  176. dp5=dp5 et (prog z5);
  177. epx1=epx1 et (prog (epxx1-epxe1));
  178. epy1=epy1 et (prog (epyy1-epye1));
  179. epz1=epz1 et (prog (epzz1-epze1));
  180. lt5=lt5 et (prog (tab1.temps.i1));
  181. i1=i1+1;
  182. fin bloc0;
  183.  
  184. edp5=evol manu 'TEMPS' lt5 'DP5' dp5;
  185. epx1=1.e6*epx1;
  186. eepx1=evol manu 'TEMPS' lt5 'EPXX' epx1;
  187. eepx1=eepx1 coul roug;
  188. epy1=1.e6*epy1;
  189. eepy1=evol manu 'TEMPS' lt5 'EPYY' epy1;
  190. eepy1=eepy1 coul vert;
  191. epz1=1.e6*epz1;
  192. eepz1=evol manu 'TEMPS' lt5 'EPZZ' epz1;
  193.  
  194. tab2=table;
  195. tab2.1 = 'MARQ CROI ' ;
  196. tab2.'TITRE' = 'TABLE' ;
  197. tab2.'TITRE'. 1 = MOT 'DEPLACEMENT P5' ;
  198. si (graph1);
  199. dess (edp5 ) lege tab2;
  200. finsi;
  201. *opti donn 5;
  202.  
  203. *points experimentaux
  204. lt6= prog 0. 1. 4. 10. 20. 28. 29. 30. 34. 40. 50.;
  205. exx0=prog 0. 50. 125. 180. 230. 250. 190. 180. 175.
  206. 175. 175.;
  207. exx0=-1.*exx0;
  208. evx0=evol manu 'TEMPS' lt6 'EPXX exp' exx0;
  209. evx0=evx0 coul roug;
  210. eyy0=prog 0. 25. 55. 95. 110. 120. 100. 95. 90. 90.
  211. 90.;
  212. eyy0=-1.*eyy0;
  213. evy0=evol manu 'TEMPS' lt6 'EPYY exp' eyy0;
  214. evy0=evy0 coul vert;
  215. ezz0=prog 0. -10. -30. -50. -60. -65. -55. -50. -40.
  216. -30. -30;
  217. ezz0=-1.*ezz0;
  218. evz0=evol manu 'TEMPS' lt6 'EPZZ exp' ezz0;
  219. tab3=table;
  220. tab3.1 = 'MARQ CROI NOLI' ;
  221. tab3.2 = 'MARQ PLUS NOLI' ;
  222. tab3.3 = 'MARQ ETOI NOLI' ;
  223. tab3.'TITRE' = 'TABLE' ;
  224. tab3.'TITRE'. 1 = MOT 'EPXX exp' ;
  225. tab3.'TITRE'. 2 = MOT 'EPYY exp' ;
  226. tab3.'TITRE'. 3= MOT 'EPZZ exp' ;
  227. tab3.'TITRE'. 4 = MOT 'EPXX th' ;
  228. tab3.'TITRE'. 5 = MOT 'EPYY th' ;
  229. tab3.'TITRE'. 6= MOT 'EPZZ th' ;
  230. si (graph1);
  231. dess (evx0 et evy0 et evz0 et eepx1
  232. et eepy1 et eepz1) lege tab3;
  233. finsi;
  234.  
  235. n1=17; fref1 = -121.70;
  236. n2=31; fref2 = -83.627;
  237. LISTF1='EXTR' eepy1 'ORDO';
  238. fcal1='EXTR' LISTF1 (n1+1);
  239. fcal2='EXTR' LISTF1 (n2+1);
  240. err1 = abs ((fref1 - fcal1)/fref1) ;
  241. err2 = abs ((fref2 - fcal2)/fref2) ;
  242. si ((err1 < 1.0e-3) et (err2 < 1.0e-3)) ;
  243. erre 0 ;
  244. sinon ;
  245. erre 5 ;
  246. finsi ;
  247. fin;
  248.  
  249.  
  250.  
  251.  
  252.  

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