Télécharger umat01_ortho.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : umat01_ortho.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. 'OPTI' 'ECHO' 0 ;
  5. 'OPTI' 'DIME' 3 'MODE' 'TRIDIM' 'ELEM' cu20 ;
  6. option epsilon 'LINEAIRE';
  7. f = 'MOT' 'FIN' ; l = 'MOT' 'LIST' ;
  8. *
  9. *************************************************************
  10. * TEST DE VALIDATION DE L'ORTHOTROPIE POUR UN MODELE *
  11. * DE COMPORTEMENT "UTILISATEUR" DEFINI A L'EXTERNE VIA UMAT *
  12. * ---------------------------- *
  13. * *
  14. * MODELE DEFINI VIA UMAT *
  15. * ELASTICITE ORTHOTROPE *
  16. * *
  17. * MAILLAGE: *
  18. * EPROUVETTE CUBIQUE TOURNEE DE L'ANGLE ang_tour *
  19. * AUTOUR DE L'AXE VERTCAL Z *
  20. * *
  21. * REPERE D'ORTHOTROPIE INITIAL: *
  22. * DEFINI PAR L'ANGLE ang AUTOUR DE Z / REPERE GLOBAL *
  23. * *
  24. * CHARGEMENT: *
  25. * DEPLACEMENT IMPOSE SELON LA DIRECTION Z SUR *
  26. * LA FACE SUPERIEURE DU CUBE *
  27. *************************************************************
  28. *
  29. * Geometrie
  30. *
  31. * ------------------------------------------
  32. XX = 1. ; YY = 1. ; ZZ = 1. ;
  33. * ------------------------------------------
  34. *
  35. VECZ = 0 0 ZZ ;
  36. *
  37. ang_tour = 30. ;
  38. cosa = 'COS' ang_tour ;
  39. sina = 'SIN' ang_tour ;
  40. *
  41. V1_ang = cosa sina 0. ;
  42. V2_ang = (-1. * sina) cosa 0. ;
  43. *
  44. PB00 = 0 0 0 ;
  45. PB10 = (XX 0 0) 'TOUR' ang_tour PB00 VECZ ;
  46. PB11 = (XX YY 0) 'TOUR' ang_tour PB00 VECZ ;
  47. PB01 = (0 YY 0) 'TOUR' ang_tour PB00 VECZ ;
  48. *
  49. LBX0 = 'DROI' 1 PB00 PB10 ;
  50. LBY1 = 'DROI' 1 PB10 PB11 ;
  51. LBX1 = 'DROI' 1 PB11 PB01 ;
  52. LBY0 = 'DROI' 1 PB01 PB00 ;
  53. *
  54. * Maillage
  55. *
  56. PLB = 'DALL' 'PLAN' LBX0 LBY1 LBX1 LBY0 ;
  57. EPROU = PLB 'VOLU' 1 'TRAN' VECZ ;
  58. *
  59. PLH = 'FACE' 2 EPROU ;
  60. PL0YZ = EPROU 'POIN' 'PLAN' PB00 PB01 VECZ 1E-3 ;
  61. PLX0Z = EPROU 'POIN' 'PLAN' PB00 PB10 VECZ 1E-3 ;
  62. *
  63. axeX = coul roug (droi 1 PB00 (2.0 0 0 )) ;
  64. axeY = coul roug (droi 1 PB00 (0 2.0 0 )) ;
  65. axeZ = coul roug (droi 1 PB00 (0 0 2.0)) ;
  66. * trac cach qual (EPROU et axeX et axeY et axeZ) ;
  67. *
  68. * Modele et materiau
  69. *
  70. LCMAT = 'MOTS' 'YG1 ' 'YG2 ' 'YG3 '
  71. 'NU12' 'NU23' 'NU13'
  72. 'G12 ' 'G23 ' 'G13 '
  73. 'V1X ' 'V1Y ' 'V1Z '
  74. 'V2X ' 'V2Y ' 'V2Z '
  75. 'ALP1' 'ALP2' 'ALP3' ;
  76.  
  77. * LCPAR = MOTS 'TETA' ;
  78.  
  79. mo = 'MODE' EPROU 'MECANIQUE' 'ELASTIQUE' 'ORTHOTROPE'
  80. 'NON_LINEAIRE' 'UTILISATEUR'
  81. 'NUME_LOI' 12
  82. 'C_MATERIAU' LCMAT ;
  83. * 'PARA_LOI' LCPAR
  84. * ------------------------------------------------------------
  85. VEC1 = 1. 0. 0. ; VEC2 = 0. 1. 0. ; ang = 60. ;
  86. SENSIP1 = -2 ; SENSIP2 = 1 ; ICBASE = 0 ;
  87. fichier = '/u/castem/divers/mimatD3d_par' ;
  88. PDILT E1 E2 E3 NU12 NU23 NU13 MU12 MU23 MU13
  89. PNBRE PCOHI PECOU PEDIR PRVCE PECRX PDVDI PCROI PINCR
  90. = @mistpar fichier SENSIP1 SENSIP2 ;
  91. * ------------------------------------------------------------
  92. E1 = 1E11 ;
  93. E2 = 2E11 ;
  94. E3 = 3E11 ;
  95. *
  96. NU12 = 0.1 ;
  97. NU13 = 0.2 ;
  98. NU23 = 0.3 ;
  99. *
  100. MU12 = 2E10 ;
  101. MU13 = 4E10 ;
  102. MU23 = 7E10 ;
  103. *
  104. xalph = 1.0e-6 ;
  105. *
  106. ma = 'MATE' mo 'YG1 ' E1 'YG2 ' E2 'YG3 ' E3
  107. 'NU12' NU12 'NU23' NU23 'NU13' NU13
  108. 'G12 ' MU12 'G23 ' MU23 'G13 ' MU13
  109. 'DIRECTION' VEC1 VEC2 'INCLINE' ang
  110. 'ALP1' xalph 'ALP2' xalph 'ALP3' xalph ;
  111. *
  112. * Conditions aux limites
  113. *
  114. CLB = PLB 'BLOQ' 'UZ' ;
  115. CLH = PLH 'BLOQ' 'UZ' ;
  116. CLYZ = PL0YZ 'BLOQ' 'DIRECTION' V1_ang ;
  117. CLXZ = PLX0Z 'BLOQ' 'DIRECTION' V2_ang ;
  118. CL = CLB 'ET' CLH 'ET' CLYZ 'ET' CLXZ ;
  119. *
  120. * Chargements
  121. *
  122. * -------------------------------------------------------
  123. T1 = 100. ; EPSZZ1 = 0.02 ;
  124. TT1 = 300. ;
  125. * -------------------------------------------------------
  126. TEMPS = 'PROG' 0. T1 ;
  127. *
  128. DEPZ = 'DEPI' CLH ZZ ;
  129. EVEPS = 'EVOL' 'MANU' TEMPS ('PROG' 0. EPSZZ1) ;
  130. CHA1 = 'CHAR' 'DIMP' DEPZ EVEPS ;
  131. *
  132. TT = 'MANU' 'CHPO' EPROU 1 'T' 1. ;
  133. EVTT = 'EVOL' 'MANU' TEMPS (prog TT1 TT1) ;
  134. CHA2 = 'CHAR' 'T' TT EVTT ;
  135. *
  136. CHA = CHA1 'ET' CHA2 ;
  137. *
  138. *
  139. * Calcul
  140. *
  141. TAB = TABLE ;
  142. TAB.'BLOCAGES_MECANIQUES' = CL ;
  143. TAB.'CARACTERISTIQUES' = ma ;
  144. TAB.'MODELE' = mo ;
  145. TAB.'CHARGEMENT' = CHA ;
  146. TAB.'TEMPS_CALCULES' = TEMPS ;
  147. TMASAU=table;
  148. tab . 'MES_SAUVEGARDES'=TMASAU;
  149. TMASAU .'DEFTO'=VRAI;
  150. TMASAU .'DEFIN'=VRAI;
  151.  
  152. PASAPAS TAB ;
  153. *
  154. * Traitement des resultats
  155. *
  156. SIG = TAB.'CONTRAINTES' ;
  157. DEP = tab.'DEPLACEMENTS' ;
  158. VI = tab.'VARIABLES_INTERNES' ;
  159. NT = ('DIME' TAB.'TEMPS') - 1 ;
  160.  
  161. SIG1 = SIG.NT ;
  162. EPS1 = 'EPSI' mo DEP.NT ;
  163. *
  164. *
  165. *******************************************************
  166. * SOLUTION DIRECTE QUI EVITE UMAT *
  167. *******************************************************
  168. *
  169. mo0 = 'MODE' EPROU 'MECANIQUE' 'ELASTIQUE' 'ORTHOTROPE' ;
  170.  
  171. ma0 = 'MATE' mo0 'YG1 ' E1 'YG2 ' E2 'YG3 ' E3
  172. 'NU12' NU12 'NU23' NU23 'NU13' NU13
  173. 'G12 ' MU12 'G23 ' MU23 'G13 ' MU13
  174. 'DIRECTION' VEC1 VEC2 'INCLINE' ang
  175. 'ALP1' xalph 'ALP2' xalph 'ALP3' xalph ;
  176.  
  177. ri = ('RIGI' mo0 ma0) 'ET' CL ;
  178. dep0 = 'RESO' ri (EPSZZ1 * DEPZ) ;
  179. SIG0 = 'SIGMA' mo0 ma0 dep0 ;
  180. EPS0 = 'EPSI' mo0 dep0 ;
  181. *
  182. *
  183. ********************************************
  184. * COMPARAISON DES RESULTATS *
  185. ********************************************
  186. nbgau = 27 ;
  187. seuil = 1. ; tolsig = 1E-5 ;
  188. seui = 1E-7 ; toldef = 1E-5 ;
  189. *
  190. * CONTRAINTES:
  191. 'REPE' stru nbgau ;
  192. sig0x = 'EXTR' SIG0 'SMXX' 1 1 &stru ;
  193. sig1x = 'EXTR' SIG1 'SMXX' 1 1 &stru ;
  194. sig0y = 'EXTR' SIG0 'SMYY' 1 1 &stru ;
  195. sig1y = 'EXTR' SIG1 'SMYY' 1 1 &stru ;
  196. sig0z = 'EXTR' SIG0 'SMZZ' 1 1 &stru ;
  197. sig1z = 'EXTR' SIG1 'SMZZ' 1 1 &stru ;
  198. sig0xy = 'EXTR' SIG0 'SMXY' 1 1 &stru ;
  199. sig1xy = 'EXTR' SIG1 'SMXY' 1 1 &stru ;
  200.  
  201. sigx_rel = 0. ;
  202. 'SI' ( ('>' ('ABS' sig0x) seuil) 'ET' ('>' ('ABS' sig1x) seuil) ) ;
  203. sigx_rel = 'ABS' ((sig0x - sig1x) / sig0x) ;
  204. 'FINSI' ;
  205.  
  206. sigy_rel = 0. ;
  207. 'SI' ( ('>' ('ABS' sig0y) seuil) 'ET' ('>' ('ABS' sig1y) seuil) ) ;
  208. sigy_rel = 'ABS' ((sig0y - sig1y) / sig0y) ;
  209. 'FINSI' ;
  210.  
  211. sigz_rel = 0. ;
  212. 'SI' ( ('>' ('ABS' sig0z) seuil) 'ET' ('>' ('ABS' sig1z) seuil) ) ;
  213. sigz_rel = 'ABS' ((sig0z - sig1z) / sig0z) ;
  214. 'FINSI' ;
  215.  
  216. sigxyrel = 0. ;
  217. 'SI' ( ('>' ('ABS' sig0xy) seuil) 'ET' ('>' ('ABS' sig1xy) seuil) ) ;
  218. sigxyrel = 'ABS' ((sig0xy - sig1xy) / sig0xy) ;
  219. 'FINSI' ;
  220. *
  221. sig_max = 'MAXI' ('PROG' sigx_rel sigy_rel sigz_rel sigxyrel) ;
  222. *
  223. 'SI' ('>' sig_max tolsig) ;
  224. 'MESS' 'Point de Gauss n:' &stru ;
  225. 'MESS' 'Ecart relatif trop important sur les contraintes' sig_max ;
  226. ERRE 5 ;
  227. 'FINSI' ;
  228. 'FIN' stru ;
  229. *
  230. * DEFORMATIONS:
  231. 'REPE' stru nbgau ;
  232. def0x = 'EXTR' EPS0 'EPXX' 1 1 &stru ;
  233. def1x = 'EXTR' EPS1 'EPXX' 1 1 &stru ;
  234. def0y = 'EXTR' EPS0 'EPYY' 1 1 &stru ;
  235. def1y = 'EXTR' EPS1 'EPYY' 1 1 &stru ;
  236. def0z = 'EXTR' EPS0 'EPZZ' 1 1 &stru ;
  237. def1z = 'EXTR' EPS1 'EPZZ' 1 1 &stru ;
  238. ga0xy = 'EXTR' EPS0 'GAXY' 1 1 &stru ;
  239. ga1xy = 'EXTR' EPS1 'GAXY' 1 1 &stru ;
  240.  
  241. defx_rel = 0. ;
  242. 'SI' ( ('>' ('ABS' def0x) seui) 'ET' ('>' ('ABS' def1x) seui) ) ;
  243. defx_rel = 'ABS' ((def0x - def1x) / def0x) ;
  244. 'FINSI' ;
  245.  
  246. defy_rel = 0. ;
  247. 'SI' ( ('>' ('ABS' def0y) seui) 'ET' ('>' ('ABS' def1y) seui) ) ;
  248. defy_rel = 'ABS' ((def0y - def1y) / def0y) ;
  249. 'FINSI' ;
  250.  
  251. defz_rel = 0. ;
  252. 'SI' ( ('>' ('ABS' def0z) seui) 'ET' ('>' ('ABS' def1z) seui) ) ;
  253. defz_rel = 'ABS' ((def0z - def1z) / def0z) ;
  254. 'FINSI' ;
  255.  
  256. gaxyrel = 0. ;
  257. 'SI' ( ('>' ('ABS' ga0xy) seui) 'ET' ('>' ('ABS' ga1xy) seui) ) ;
  258. gaxyrel = 'ABS' ((ga0xy - ga1xy) / ga0xy) ;
  259. 'FINSI' ;
  260.  
  261. def_max = 'MAXI' ('PROG' defx_rel defy_rel defz_rel gaxyrel) ;
  262. *
  263. 'SI' ('>' def_max toldef) ;
  264. 'MESS' 'Point de Gauss n:' &stru ;
  265. 'MESS' 'Ecart relatif trop important sur les deformations' def_max ;
  266. * ERRE 5 ;
  267. 'FINSI' ;
  268. 'FIN' stru ;
  269. *
  270. 'FIN' ;
  271.  
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  
  279.  

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