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. 'TALP' 'TREF' ;
  77.  
  78. * LCPAR = MOTS 'TETA' ;
  79.  
  80. mo = 'MODE' EPROU 'MECANIQUE' 'ELASTIQUE' 'ORTHOTROPE'
  81. 'NON_LINEAIRE' 'UTILISATEUR'
  82. 'NUME_LOI' 12
  83. 'C_MATERIAU' LCMAT ;
  84. * 'PARA_LOI' LCPAR
  85. * ------------------------------------------------------------
  86. VEC1 = 1. 0. 0. ; VEC2 = 0. 1. 0. ; ang = 60. ;
  87. SENSIP1 = -2 ; SENSIP2 = 1 ; ICBASE = 0 ;
  88. fichier = '/u2/castem/divers/mimatD3d_par' ;
  89. PDILT E1 E2 E3 NU12 NU23 NU13 MU12 MU23 MU13
  90. PNBRE PCOHI PECOU PEDIR PRVCE PECRX PDVDI PCROI PINCR
  91. = @mistpar fichier SENSIP1 SENSIP2 ;
  92. * ------------------------------------------------------------
  93. E1 = 1E11 ;
  94. E2 = 2E11 ;
  95. E3 = 3E11 ;
  96. *
  97. NU12 = 0.1 ;
  98. NU13 = 0.2 ;
  99. NU23 = 0.3 ;
  100. *
  101. MU12 = 2E10 ;
  102. MU13 = 4E10 ;
  103. MU23 = 7E10 ;
  104. *
  105. xalph = 1.0e-6 ;
  106. *
  107. ma = 'MATE' mo 'YG1 ' E1 'YG2 ' E2 'YG3 ' E3
  108. 'NU12' NU12 'NU23' NU23 'NU13' NU13
  109. 'G12 ' MU12 'G23 ' MU23 'G13 ' MU13
  110. 'DIRECTION' VEC1 VEC2 'INCLINE' ang
  111. 'ALP1' xalph 'ALP2' xalph 'ALP3' xalph 'TALP' 300. 'TREF' 300.;
  112. *
  113. * Conditions aux limites
  114. *
  115. CLB = PLB 'BLOQ' 'UZ' ;
  116. CLH = PLH 'BLOQ' 'UZ' ;
  117. CLYZ = PL0YZ 'BLOQ' 'DIRECTION' V1_ang ;
  118. CLXZ = PLX0Z 'BLOQ' 'DIRECTION' V2_ang ;
  119. CL = CLB 'ET' CLH 'ET' CLYZ 'ET' CLXZ ;
  120. *
  121. * Chargements
  122. *
  123. * -------------------------------------------------------
  124. T1 = 100. ; EPSZZ1 = 0.02 ;
  125. TT1 = 300. ;
  126. * -------------------------------------------------------
  127. TEMPS = 'PROG' 0. T1 ;
  128. *
  129. DEPZ = 'DEPI' CLH ZZ ;
  130. EVEPS = 'EVOL' 'MANU' TEMPS ('PROG' 0. EPSZZ1) ;
  131. CHA1 = 'CHAR' 'DIMP' DEPZ EVEPS ;
  132. *
  133. TT = 'MANU' 'CHPO' EPROU 1 'T' 1. ;
  134. EVTT = 'EVOL' 'MANU' TEMPS (prog TT1 TT1) ;
  135. CHA2 = 'CHAR' 'T' TT EVTT ;
  136. *
  137. CHA = CHA1 'ET' CHA2 ;
  138. *
  139. *
  140. * Calcul
  141. *
  142. TAB = TABLE ;
  143. TAB.'BLOCAGES_MECANIQUES' = CL ;
  144. TAB.'CARACTERISTIQUES' = ma ;
  145. TAB.'MODELE' = mo ;
  146. TAB.'CHARGEMENT' = CHA ;
  147. TAB.'TEMPS_CALCULES' = TEMPS ;
  148. TMASAU=table;
  149. tab . 'MES_SAUVEGARDES'=TMASAU;
  150. TMASAU .'DEFTO'=VRAI;
  151. TMASAU .'DEFIN'=VRAI;
  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 ;
  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 ;
  181. EPS0 = 'EPSI' mo0 dep0 ;
  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.  

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