Télécharger fluendo3d_helmholtz.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : fluendo3d_helmholtz.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. * test de la formulation non-locale differentielle avec fluendo3d
  6. * ----------------------------------------------------------------
  7. *
  8. * Alain Sellier, Alain Millard mercredi 4 janvier 2023
  9. *
  10. *-----------------------------------------------------------------------
  11. * Exemple de calcul non local avec une formulation d'Helmholtz
  12. * a plusieurs variables, en 3D sur un tirant de section variable.
  13. * 6 variables d'Helmholtz sont utilisees dans un contexte a coefficients
  14. * constant (sans sous iteration de HelmHoltz). Les variables
  15. * correspondent aux increments du tenseur de plasticite en traction
  16. * du modele FLUENDO3D. Dans ce modele des variables internes nommees
  17. * DNL1 a DNL6 permettent de diffuser les increments avec une longueur
  18. * caracteristique lc0, les increments sont sommes dans ENL1 a ENL6,
  19. * ces dernieres variables sont alors utilisees pour calculer
  20. * un endommagement orthotrope
  21. *-----------------------------------------------------------------------
  22.  
  23.  
  24. * test formulation Helmholtz avec Fluendo3d
  25. opti dime 3 elem cub8;
  26. * graphique en fin de calcul si VRAI
  27. complet=FAUX;
  28. arret=VRAI;
  29. test=VRAI;
  30. L1=0.05;
  31. H1=0.05;
  32. H2=0.04;
  33. *nombre d element sur 1/2 longueur
  34. n1=10;
  35. DH12=(H1-H2)/2;
  36. P1=0. 0. 0.;
  37. P2=L1 Dh12 0.;
  38. P3=L1 (DH12+H2) 0.;
  39. P4=0. H1 0.;
  40. P5=L1 DH12 (DH12+H2);
  41. L12= P1 n1 droi p2;
  42. l23= p2 1 droi p3;
  43. l34=p3 n1 droi p4;
  44. l41=p4 1 droi p1;
  45. surf1=daller l12 l23 l34 l41;
  46. app1=(l41 tran 1 (0. 0. H1)) coul roug;
  47. vol1=surf1 volu tran 'PROG' (prog 0. H1) (0. 0. H1);
  48. vol2=vol1 syme 'PLAN' p2 p3 p5;
  49. surf2=(app1 syme 'PLAN' p2 p3 p5) coul vert;
  50. elim vol2 surf2 0.001;
  51. elim app1 vol1 0.001;
  52. vol3=vol1 et vol2;
  53. elim vol3 0.001;
  54. *trac vol3;
  55.  
  56. *blocage
  57. blo0 = BLOQ P4 UZ;
  58. blo1 = BLOQ P1 UX UY UZ;
  59. blo2 = BLOQ APP1 UX ;
  60. blo3 = BLOQ SURF2 UX ;
  61. blo4 = blo0 et blo1 et blo2 et blo3 ;
  62.  
  63. *deplcement impose
  64. dep3 = DEPI blo3 1. ;
  65. temps1 = prog 0. 1. ;
  66. coef1 = prog 0. 5.0e-5 ;
  67. evol1 = evol manu 'TEMPS' temps1 'COEF' coef1 ;
  68. char1 = char 'DIMP' dep3 evol1 ;
  69.  
  70. *modele
  71. mod1=MODELE vol3 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
  72. 'VISCOPLASTIQUE' 'FLUENDO3D' 'NON_LOCAL' 'HELM' 'V_MOYENNE'
  73. ( MOTS 'ENL1' 'ENL2' 'ENL3' 'ENL4' 'ENL5' 'ENL6');
  74.  
  75. *materiau
  76. rt0=3.8;
  77. rc0 = 38.;
  78. *ep0=1.5e-4;
  79. E0=32000.;
  80. ept0=1.0*rt0/e0;
  81. gft0 = 1.10e-4 ;
  82.  
  83. *Beton
  84. matb1= MATE mod1 YOUN E0 NU 0.2 RHO 2400. ALPH 1.0e-5 NREN 0;
  85.  
  86. * endommagement
  87. matd1= MATE mod1 YORF E0 NURF 0.2 HREF 1. HYDR 1.
  88. HYDS 0.2 RT rt0 EPT ept0 GFT gft0 RC rc0 EPC 2.0e-3 DELT 0.75
  89. BETA 0.15 EKDC 5.0e-3 REF 3. GFR 2.0e-4 ALTC 0. ;
  90.  
  91. * effets de l eau
  92. matgw1=MATE mod1 PORO 0.12 VW 0.12 BSHR 0.5 MSHR 44. MVGN 0.5 DCDW 0.0
  93. CSHR 0. TTKW 40. TTRW 20. KWRT 0.25 KWRC 0.1;
  94.  
  95. * fluage
  96. matf1=MATE mod1 TAUK 10. YKSY 5.1 TAUM 10. EKFL 0.7e-4 TTRF 20.
  97. XFLU 1. NRJM 20000. DFMX 0. ;
  98.  
  99. *Weibull scale effect : note cf below to prepar Vmax field
  100. *matw1=MATE mod1 VREF 2.1e-4 VMAX 2.1e-4 CVRT 0.15 DHI1 0.5;
  101.  
  102. *---------NON LOCAL ------------
  103.  
  104. * 1ere variable non locale *****
  105.  
  106. *longueur de diffusion
  107. lc0=0.02;
  108. *coeff de diffusion
  109. dh0=(lc0**2)/2.d0;
  110.  
  111. *diffusion des composantes du tenseur des increment de deformations plastiques
  112.  
  113. * DNL1=dexx
  114. matnl1=MATE mod1 'CAP1' 1. 'BLO1' 0. 'DEP1' 0. 'INI1' 0. 'LIN1' 1.
  115. 'DH11' dh0 'V111' 1. 'V112' 0. 'V113' 0.
  116. 'DH12' 0. 'V121' 0. 'V122' 1. 'V123' 0.
  117. 'DH13' 0. 'V131' 0. 'V132' 0. 'V133' 1.;
  118. * DNL2=deyy
  119. matnl2=MATE mod1 'CAP2' 1. 'BLO2' 0. 'DEP2' 0. 'INI2' 0. 'LIN2' 1.
  120. 'DH21' 0. 'V211' 1. 'V212' 0. 'V213' 0.
  121. 'DH22' dh0 'V221' 0. 'V222' 1. 'V223' 1.
  122. 'DH23' 0. 'V231' 0. 'V232' 0. 'V233' 1.;
  123. * DNL3=dezz
  124. matnl3=MATE mod1 'CAP3' 1. 'BLO3' 0. 'DEP3' 0. 'INI3' 0. 'LIN3' 1.
  125. 'DH31' 0. 'V311' 1. 'V312' 0. 'V313' 0.
  126. 'DH32' 0. 'V321' 0. 'V322' 1. 'V323' 0.
  127. 'DH33' dh0 'V331' 0. 'V332' 0. 'V333' 1.;
  128. * DNL4=dexy
  129. matnl4=MATE mod1 'CAP4' 1. 'BLO4' 0. 'DEP4' 0. 'INI4' 0. 'LIN4' 1.
  130. 'DH41' (dh0/2.) 'V411' 1. 'V412' 0. 'V413' 0.
  131. 'DH42' (dh0/2.) 'V421' 0. 'V422' 1. 'V423' 0.
  132. 'DH43' 0. 'V431' 0. 'V432' 0. 'V433' 1.;
  133. * DNL5=dexz
  134. matnl5=MATE mod1 'CAP5' 1. 'BLO5' 0. 'DEP5' 0. 'INI5' 0. 'LIN5' 1.
  135. 'DH51' (dh0/2.) 'V511' 1. 'V512' 0. 'V513' 0.
  136. 'DH52' 0.0 'V521' 0. 'V522' 1. 'V523' 0.
  137. 'DH53' (dh0/2.) 'V531' 0. 'V532' 0. 'V533' 1.;
  138. * DNL6=deyz
  139. matnl6=MATE mod1 'CAP6' 1. 'BLO6' 0. 'DEP6' 0. 'INI6' 0. 'LIN6' 1.
  140. 'DH61' 0.0 'V611' 1. 'V612' 0. 'V613' 0.
  141. 'DH62' (dh0/2.) 'V621' 0. 'V622' 1. 'V623' 0.
  142. 'DH63' (dh0/2.) 'V631' 0. 'V632' 0. 'V633' 1.;
  143. *-----------------------------------------------------------------------
  144.  
  145. *material chracteristics assemblage
  146. mat1=matb1 ET matd1 ET matf1 ET matgw1
  147. ET matnl1 ET matnl2 ET matnl3
  148. ET matnl4 ET matnl5 ET matnl6 ;
  149.  
  150. tab1=table;
  151. tab1.mova=mot 'EPT1';
  152. tab1.modele=mod1;
  153. tab1.caracteristiques=mat1;
  154. tab1.blocages_mecaniques=blo4;
  155. tab1.chargement=char1;
  156. list3 = prog 0. pas 0.01 0.4 ;
  157. *liste des temps calcules
  158. tab1.temps_calcules=list3 ;
  159. tab1.precision=1.0E-4;
  160. TAB1.processeurs= CHAINE 'AUTOMATIQUE';
  161. *controleurs pour les sous iteration de Helmholtz
  162. TAB1.MAXSOUSITERATION = 500;
  163. TAB1.PRECSOUSITERATION = 1.0E-6;
  164. pasapas tab1;
  165.  
  166. ************************************************************************
  167. * exploitation des resultats
  168. ************************************************************************
  169.  
  170. *force deplacement
  171. evolfx1=@global tab1 blo3 evol1 FX;
  172. si (test);
  173. n1=20; fref1=7.14727E-03;
  174. n2=40; fref2=4.51279E-03;
  175. LISTF1='EXTR' EVOLFX1 'ORDO';
  176. fcal1='EXTR' LISTF1 (n1+1);
  177. fcal2='EXTR' LISTF1 (n2+1);
  178. err1 = abs ((fref1 - fcal1)/fref1) ;
  179. err2 = abs ((fref2 - fcal2)/fref2) ;
  180. si ((err1 < 1.e-3) et (err2 < 5.e-3)) ;
  181. erre 0 ;
  182. sinon ;
  183. erre 5 ;
  184. finsi ;
  185. finsi;
  186.  
  187.  
  188. *exemple de traces
  189. si (complet);
  190. dess evolfx1;
  191. ech1=prog 0. pas 0.01 1.;
  192. n1=dime tab1.temps;
  193. def1=defo tab1.deplacements.(n1-1) vol3;
  194. dt11= exco 'ENL1' tab1.variables_internes.(n1-1) ;
  195. trac dt11 mod1 def1 titr 'deformation plastique 6 ';
  196. cmod1 = exco 'WPL0' tab1.variables_internes.(n1-1) ;
  197. trac cmod1 mod1 def1 ;
  198. dt11= exco 'DTRA' tab1.variables_internes.(n1-1) ;
  199. trac dt11 mod1 def1 (prog 0. pas 0.05 1.);
  200. finsi;
  201.  
  202. si(arret);
  203. fin;
  204. finsi;
  205.  
  206.  
  207.  
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  

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