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. f = 'MOT' 'FIN' ; l = 'MOT' 'LIST' ;
  7. *
  8. *************************************************************
  9. * TEST DE VALIDATION DE L'ORTHOTROPIE POUR UN MODELE *
  10. * DE COMPORTEMENT "UTILISATEUR" DEFINI A L'EXTERNE VIA UMAT *
  11. * ---------------------------- *
  12. * *
  13. * MODELE DEFINI VIA UMAT *
  14. * ELASTICITE ORTHOTROPE *
  15. * *
  16. * MAILLAGE: *
  17. * EPROUVETTE CUBIQUE TOURNEE DE L'ANGLE ang_tour *
  18. * AUTOUR DE L'AXE VERTCAL Z *
  19. * *
  20. * REPERE D'ORTHOTROPIE INITIAL: *
  21. * DEFINI PAR L'ANGLE ang AUTOUR DE Z / REPERE GLOBAL *
  22. * *
  23. * CHARGEMENT: *
  24. * DEPLACEMENT IMPOSE SELON LA DIRECTION Z SUR *
  25. * LA FACE SUPERIEURE DU CUBE *
  26. *************************************************************
  27. *
  28. * Geometrie
  29. *
  30. * ------------------------------------------
  31. XX = 1. ; YY = 1. ; ZZ = 1. ;
  32. * ------------------------------------------
  33. *
  34. VECZ = 0 0 ZZ ;
  35. *
  36. ang_tour = 30. ;
  37. cosa = 'COS' ang_tour ;
  38. sina = 'SIN' ang_tour ;
  39. *
  40. V1_ang = cosa sina 0. ;
  41. V2_ang = (-1. * sina) cosa 0. ;
  42. *
  43. PB00 = 0 0 0 ;
  44. PB10 = (XX 0 0) 'TOUR' ang_tour PB00 VECZ ;
  45. PB11 = (XX YY 0) 'TOUR' ang_tour PB00 VECZ ;
  46. PB01 = (0 YY 0) 'TOUR' ang_tour PB00 VECZ ;
  47. *
  48. LBX0 = 'DROI' 1 PB00 PB10 ;
  49. LBY1 = 'DROI' 1 PB10 PB11 ;
  50. LBX1 = 'DROI' 1 PB11 PB01 ;
  51. LBY0 = 'DROI' 1 PB01 PB00 ;
  52. *
  53. * Maillage
  54. *
  55. PLB = 'DALL' 'PLAN' LBX0 LBY1 LBX1 LBY0 ;
  56. EPROU = PLB 'VOLU' 1 'TRAN' VECZ ;
  57. *
  58. PLH = 'FACE' 2 EPROU ;
  59. PL0YZ = EPROU 'POIN' 'PLAN' PB00 PB01 VECZ 1E-3 ;
  60. PLX0Z = EPROU 'POIN' 'PLAN' PB00 PB10 VECZ 1E-3 ;
  61. *
  62. axeX = coul roug (droi 1 PB00 (2.0 0 0 )) ;
  63. axeY = coul roug (droi 1 PB00 (0 2.0 0 )) ;
  64. axeZ = coul roug (droi 1 PB00 (0 0 2.0)) ;
  65. * trac cach qual (EPROU et axeX et axeY et axeZ) ;
  66. *
  67. * Modele et materiau
  68. *
  69. LCMAT = 'MOTS' 'YG1 ' 'YG2 ' 'YG3 '
  70. 'NU12' 'NU23' 'NU13'
  71. 'G12 ' 'G23 ' 'G13 '
  72. 'V1X ' 'V1Y ' 'V1Z '
  73. 'V2X ' 'V2Y ' 'V2Z '
  74. 'ALP1' 'ALP2' 'ALP3'
  75. 'TALP' 'TREF' ;
  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 = '/u2/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 'TALP' 300. 'TREF' 300.;
  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. TAB.'HYPOTHESE_DEFORMATIONS'='LINEAIRE';
  152.  
  153. PASAPAS TAB ;
  154. *
  155. * Traitement des resultats
  156. *
  157. SIG = TAB.'CONTRAINTES' ;
  158. DEP = tab.'DEPLACEMENTS' ;
  159. VI = tab.'VARIABLES_INTERNES' ;
  160. NT = ('DIME' TAB.'TEMPS') - 1 ;
  161.  
  162. SIG1 = SIG.NT ;
  163. EPS1 = 'EPSI' mo DEP.NT 'LINE';
  164. *
  165. *
  166. *******************************************************
  167. * SOLUTION DIRECTE QUI EVITE UMAT *
  168. *******************************************************
  169. *
  170. mo0 = 'MODE' EPROU 'MECANIQUE' 'ELASTIQUE' 'ORTHOTROPE' ;
  171.  
  172. ma0 = 'MATE' mo0 'YG1 ' E1 'YG2 ' E2 'YG3 ' E3
  173. 'NU12' NU12 'NU23' NU23 'NU13' NU13
  174. 'G12 ' MU12 'G23 ' MU23 'G13 ' MU13
  175. 'DIRECTION' VEC1 VEC2 'INCLINE' ang
  176. 'ALP1' xalph 'ALP2' xalph 'ALP3' xalph ;
  177.  
  178. ri = ('RIGI' mo0 ma0) 'ET' CL ;
  179. dep0 = 'RESO' ri (EPSZZ1 * DEPZ) ;
  180. SIG0 = 'SIGM' mo0 ma0 dep0 'LINE' ;
  181. EPS0 = 'EPSI' mo0 dep0 'LINE' ;
  182. *
  183. *
  184. ********************************************
  185. * COMPARAISON DES RESULTATS *
  186. ********************************************
  187. nbgau = 27 ;
  188. seuil = 1. ; tolsig = 1E-5 ;
  189. seui = 1E-7 ; toldef = 1E-5 ;
  190. *
  191. * CONTRAINTES:
  192. 'REPE' stru nbgau ;
  193. sig0x = 'EXTR' SIG0 'SMXX' 1 1 &stru ;
  194. sig1x = 'EXTR' SIG1 'SMXX' 1 1 &stru ;
  195. sig0y = 'EXTR' SIG0 'SMYY' 1 1 &stru ;
  196. sig1y = 'EXTR' SIG1 'SMYY' 1 1 &stru ;
  197. sig0z = 'EXTR' SIG0 'SMZZ' 1 1 &stru ;
  198. sig1z = 'EXTR' SIG1 'SMZZ' 1 1 &stru ;
  199. sig0xy = 'EXTR' SIG0 'SMXY' 1 1 &stru ;
  200. sig1xy = 'EXTR' SIG1 'SMXY' 1 1 &stru ;
  201.  
  202. sigx_rel = 0. ;
  203. 'SI' ( ('>' ('ABS' sig0x) seuil) 'ET' ('>' ('ABS' sig1x) seuil) ) ;
  204. sigx_rel = 'ABS' ((sig0x - sig1x) / sig0x) ;
  205. 'FINSI' ;
  206.  
  207. sigy_rel = 0. ;
  208. 'SI' ( ('>' ('ABS' sig0y) seuil) 'ET' ('>' ('ABS' sig1y) seuil) ) ;
  209. sigy_rel = 'ABS' ((sig0y - sig1y) / sig0y) ;
  210. 'FINSI' ;
  211.  
  212. sigz_rel = 0. ;
  213. 'SI' ( ('>' ('ABS' sig0z) seuil) 'ET' ('>' ('ABS' sig1z) seuil) ) ;
  214. sigz_rel = 'ABS' ((sig0z - sig1z) / sig0z) ;
  215. 'FINSI' ;
  216.  
  217. sigxyrel = 0. ;
  218. 'SI' ( ('>' ('ABS' sig0xy) seuil) 'ET' ('>' ('ABS' sig1xy) seuil) ) ;
  219. sigxyrel = 'ABS' ((sig0xy - sig1xy) / sig0xy) ;
  220. 'FINSI' ;
  221. *
  222. sig_max = 'MAXI' ('PROG' sigx_rel sigy_rel sigz_rel sigxyrel) ;
  223. *
  224. 'SI' ('>' sig_max tolsig) ;
  225. 'MESS' 'Point de Gauss n:' &stru ;
  226. 'MESS' 'Ecart relatif trop important sur les contraintes' sig_max ;
  227. ERRE 5 ;
  228. 'FINSI' ;
  229. 'FIN' stru ;
  230. *
  231. * DEFORMATIONS:
  232. 'REPE' stru nbgau ;
  233. def0x = 'EXTR' EPS0 'EPXX' 1 1 &stru ;
  234. def1x = 'EXTR' EPS1 'EPXX' 1 1 &stru ;
  235. def0y = 'EXTR' EPS0 'EPYY' 1 1 &stru ;
  236. def1y = 'EXTR' EPS1 'EPYY' 1 1 &stru ;
  237. def0z = 'EXTR' EPS0 'EPZZ' 1 1 &stru ;
  238. def1z = 'EXTR' EPS1 'EPZZ' 1 1 &stru ;
  239. ga0xy = 'EXTR' EPS0 'GAXY' 1 1 &stru ;
  240. ga1xy = 'EXTR' EPS1 'GAXY' 1 1 &stru ;
  241.  
  242. defx_rel = 0. ;
  243. 'SI' ( ('>' ('ABS' def0x) seui) 'ET' ('>' ('ABS' def1x) seui) ) ;
  244. defx_rel = 'ABS' ((def0x - def1x) / def0x) ;
  245. 'FINSI' ;
  246.  
  247. defy_rel = 0. ;
  248. 'SI' ( ('>' ('ABS' def0y) seui) 'ET' ('>' ('ABS' def1y) seui) ) ;
  249. defy_rel = 'ABS' ((def0y - def1y) / def0y) ;
  250. 'FINSI' ;
  251.  
  252. defz_rel = 0. ;
  253. 'SI' ( ('>' ('ABS' def0z) seui) 'ET' ('>' ('ABS' def1z) seui) ) ;
  254. defz_rel = 'ABS' ((def0z - def1z) / def0z) ;
  255. 'FINSI' ;
  256.  
  257. gaxyrel = 0. ;
  258. 'SI' ( ('>' ('ABS' ga0xy) seui) 'ET' ('>' ('ABS' ga1xy) seui) ) ;
  259. gaxyrel = 'ABS' ((ga0xy - ga1xy) / ga0xy) ;
  260. 'FINSI' ;
  261.  
  262. def_max = 'MAXI' ('PROG' defx_rel defy_rel defz_rel gaxyrel) ;
  263. *
  264. 'SI' ('>' def_max toldef) ;
  265. 'MESS' 'Point de Gauss n:' &stru ;
  266. 'MESS' 'Ecart relatif trop important sur les deformations' def_max ;
  267. * ERRE 5 ;
  268. 'FINSI' ;
  269. 'FIN' stru ;
  270. *
  271. 'FIN' ;
  272.  
  273.  
  274.  
  275.  
  276.  
  277.  
  278.  

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