Télécharger umat01_ortho.dgibi

Retour à la liste

Numérotation des lignes :

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

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