Télécharger dragon.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : dragon.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. *-----------------------------------------------
  6. *
  7. * Modèle de comportement : DRAGON
  8. *
  9. * 'MODE' maillage 'ELASTIQUE' 'ISOTROPE'
  10. * 'PLASTIQUE_ENDOM' 'DRAGON' ;
  11. *
  12. * Validation en traction et en compression
  13. * sur un élément
  14. *
  15. *-----------------------------------------------
  16. *
  17. opti echo 0 dime 3 elem cub8 ;
  18. *
  19. *-----------------------------------------------
  20. * Comportement en traction
  21. *----------------------------------------------
  22. *
  23. l1 = 1. ;
  24. p1 = 0. 0. 0. ;
  25. p2 = l1 0. 0. ;
  26. p3 = l1 l1 0. ;
  27. p4 = 0. l1 0. ;
  28. d1 = d p1 1 p2 ;
  29. d2 = d p2 1 p3 ;
  30. d3 = d p3 1 p4 ;
  31. d4 = d p4 1 p1 ;
  32. sur1 = 'SURF' ( d1 'ET' d2 'ET' d3 'ET' d4 ) 'PLAN' ;
  33. p5 = 0. 0. l1 ;
  34. p6 = l1 0. l1 ;
  35. p7 = l1 l1 l1 ;
  36. p8 = 0. l1 l1 ;
  37. d5 = d p5 1 p6 ;
  38. d6 = d p6 1 p7 ;
  39. d7 = d p7 1 p8 ;
  40. d8 = d p8 1 p5 ;
  41. sur2 = 'SURF' ( d5 'ET' d6 'ET' d7 'ET' d8 ) 'PLAN' ;
  42. mail0 = 'VOLU' sur1 1 sur2 ;
  43. 'TITR' ' Maillage ' ;
  44. *'TRAC' mail0 ;
  45. *
  46. * Modèle
  47. *
  48. youn0 = .45E5 ;
  49. nu0 = .32 ;
  50. g0 = -0.10800E+03 ;
  51. alfa0 = 0.20000E+04 ;
  52. beta0 = -0.16513E+05 ;
  53. c00 = 0.00009E+01 ;
  54. c10 = 0.54000E+00 ;
  55. b0 = 0.00000E+00 ;
  56. mod0 = 'MODE' mail0 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
  57. 'PLASTIQUE_ENDOM' 'DRAGON' ;
  58. mat0 = 'MATE' mod0 'YOUN' youn0 'NU' nu0 'g' g0 'ALFA' alfa0
  59. 'BETA' beta0 'C0' c00 'C1' c10 'B' b0 ;
  60. *
  61. * Temps du calcul
  62. *
  63. tfin0 = 100. ;
  64. dt0 = 10. ;
  65. *
  66. * Condition aux limites
  67. *
  68. cl1 = 'BLOQ' sur1 'UZ' ;
  69. cl2 = 'BLOQ' sur2 'UZ' ;
  70. cl3 = 'BLOQ' ( p1 'ET' p4 'ET' p5 'ET' p8 ) 'UX' ;
  71. cl4 = 'BLOQ' ( p1 'ET' p2 'ET' p5 'ET' p6 ) 'UY' ;
  72. cl0 = cl1 'ET' cl2 'ET' cl3 'ET' cl4 ;
  73. *
  74. * Chargement ( déplacement imposé )
  75. *
  76. depmax0 = 1.E-3 ;
  77. dep0 = 'DEPI' cl2 depmax0 ;
  78. ev0 = 'EVOL' 'MANU' temps ( 'PROG' 0. tfin0 ) y ( 'PROG' 0. 1. ) ;
  79. cha0 = 'CHAR' 'DIMP' dep0 ev0 ;
  80. *
  81. * Appel à PASAPAS
  82. *
  83. ta1 = 'TABLE' ;
  84. ta1 .'MODELE' = mod0 ;
  85. ta1 .'CARACTERISTIQUES' = mat0 ;
  86. ta1 .'BLOCAGES_MECANIQUES' = cl0 ;
  87. ta1 .'CHARGEMENT' = cha0 ;
  88. ta1 .'TEMPS_CALCULES' = 'PROG' 0. 'PAS' dt0 tfin0 ;
  89. *
  90. TMASAU=table;
  91. ta1 . 'MES_SAUVEGARDES'=TMASAU;
  92. ta1 . 'PRECISION'=1e-12;
  93. ta1 . 'PRECISINTER'=1e-12;
  94. TMASAU .'DEFTO'=VRAI;
  95. TMASAU .'DEFIN'=VRAI;
  96. PASAPAS ta1 ;
  97. *
  98. * Post traitement
  99. *
  100. dim0 = ( 'DIME' ( ta1 .'TEMPS' ) ) - 1 ;
  101. sigm0 = ta1 .'CONTRAINTES'.dim0 ;
  102. var0 = ta1. 'VARIABLES_INTERNES'.dim0 ;
  103. eps0 = ta1. 'DEFORMATIONS_INELASTIQUES'.dim0 ;
  104. depl0 = ta1 .'DEPLACEMENTS'.dim0 ;
  105. eps1 = 'EPSI' depl0 mod0 ;
  106. *
  107. * Erreur
  108. *
  109. err0 = 1.E-3 ;
  110. smxx1 = 'MAXI' ( 'EXCO' sigm0 'SMXX' ) ;
  111. smyy1 = 'MAXI' ( 'EXCO' sigm0 'SMYY' ) ;
  112. smzz1 = 'MAXI' ( 'EXCO' sigm0 'SMZZ' ) ;
  113. smxy1 = 'MAXI' ( 'EXCO' sigm0 'SMXY' ) ;
  114. smxz1 = 'MAXI' ( 'EXCO' sigm0 'SMXZ' ) ;
  115. smyz1 = 'MAXI' ( 'EXCO' sigm0 'SMYZ' ) ;
  116. *
  117. end0 = 'MAXI' ( 'EXCO' var0 'EPSE' ) ;
  118. end1 = 'MAXI' ( 'EXCO' var0 'END1' ) ;
  119. end2 = 'MAXI' ( 'EXCO' var0 'END2' ) ;
  120. end3 = 'MAXI' ( 'EXCO' var0 'END3' ) ;
  121. end4 = 'MAXI' ( 'EXCO' var0 'END4' ) ;
  122. end5 = 'MAXI' ( 'EXCO' var0 'END5' ) ;
  123. end6 = 'MAXI' ( 'EXCO' var0 'END6' ) ;
  124. *
  125. epxx1 = 'MAXI' ( 'EXCO' eps0 'EIXX' ) ;
  126. epyy1 = 'MAXI' ( 'EXCO' eps0 'EIYY' ) ;
  127. epzz1 = 'MAXI' ( 'EXCO' eps0 'EIZZ' ) ;
  128. epxy1 = 'MAXI' ( 'EXCO' eps0 'GIXY' ) ;
  129. epxz1 = 'MAXI' ( 'EXCO' eps0 'GIXZ' ) ;
  130. epyz1 = 'MAXI' ( 'EXCO' eps0 'GIYZ' ) ;
  131. *
  132. err1 = 'ABS' ( smxx1 - 0.0 ) ;
  133. 'SI' ( err1 '>' err0 ) ;
  134. 'ERRE' 5 ;
  135. 'FINSI' ;
  136. err1 = 'ABS' ( smyy1 - 0.0 ) ;
  137. 'SI' ( err1 '>' err0 ) ;
  138. 'ERRE' 5 ;
  139. 'FINSI' ;
  140. err1 = 'ABS' ( smzz1 - 20.875 ) ;
  141. 'SI' ( err1 '>' ( err0 * 20.875 ) ) ;
  142. 'ERRE' 5 ;
  143. 'FINSI' ;
  144. err1 = 'ABS' ( smxy1 - 0.0 ) ;
  145. 'SI' ( err1 '>' err0 ) ;
  146. 'ERRE' 5 ;
  147. 'FINSI' ;
  148. err1 = 'ABS' ( smxz1 - 0.0 ) ;
  149. 'SI' ( err1 '>' err0 ) ;
  150. 'ERRE' 5 ;
  151. 'FINSI' ;
  152. err1 = 'ABS' ( smyz1 - 0.0 ) ;
  153. 'SI' ( err1 '>' err0 ) ;
  154. 'ERRE' 5 ;
  155. 'FINSI' ;
  156. err1 = 'ABS' ( end0 - 0.1398 ) ;
  157. 'SI' ( err1 '>' err0 ) ;
  158. 'ERRE' 5 ;
  159. 'FINSI' ;
  160. err1 = 'ABS' ( end1 - 0.0 ) ;
  161. 'SI' ( err1 '>' err0 ) ;
  162. 'ERRE' 5 ;
  163. 'FINSI' ;
  164. err1 = 'ABS' ( end2 - 0.0 ) ;
  165. 'SI' ( err1 '>' err0 ) ;
  166. 'ERRE' 5 ;
  167. 'FINSI' ;
  168. err1 = 'ABS' ( end3 - 0.1398 ) ;
  169. 'SI' ( err1 '>' err0 ) ;
  170. 'ERRE' 5 ;
  171. 'FINSI' ;
  172. err1 = 'ABS' ( end4 - 0.0 ) ;
  173. 'SI' ( err1 '>' err0 ) ;
  174. 'ERRE' 5 ;
  175. 'FINSI' ;
  176. err1 = 'ABS' ( end5 - 0.0 ) ;
  177. 'SI' ( err1 '>' err0 ) ;
  178. 'ERRE' 5 ;
  179. 'FINSI' ;
  180. err1 = 'ABS' ( end6 - 0.0 ) ;
  181. 'SI' ( err1 '>' err0 ) ;
  182. 'ERRE' 5 ;
  183. 'FINSI' ;
  184. err1 = 'ABS' ( epxx1 + 3.23E-4 ) ;
  185. 'SI' ( err1 '>' err0 ) ;
  186. 'ERRE' 5 ;
  187. 'FINSI' ;
  188. err1 = 'ABS' ( epyy1 + 3.23E-4 ) ;
  189. 'SI' ( err1 '>' err0 ) ;
  190. 'ERRE' 5 ;
  191. 'FINSI' ;
  192. err1 = 'ABS' ( epzz1 - 1.E-3 ) ;
  193. 'SI' ( err1 '>' err0 ) ;
  194. 'ERRE' 5 ;
  195. 'FINSI' ;
  196. err1 = 'ABS' ( epxy1 - 0.0 ) ;
  197. 'SI' ( err1 '>' err0 ) ;
  198. 'ERRE' 5 ;
  199. 'FINSI' ;
  200. err1 = 'ABS' ( epxz1 - 0.0 ) ;
  201. 'SI' ( err1 '>' err0 ) ;
  202. 'ERRE' 5 ;
  203. 'FINSI' ;
  204. err1 = 'ABS' ( epyz1 - 0.0 ) ;
  205. 'SI' ( err1 '>' err0 ) ;
  206. 'ERRE' 5 ;
  207. 'FINSI' ;
  208. *
  209. *
  210. *-----------------------------------------------
  211. * Comportement en compression
  212. *-----------------------------------------------
  213. *
  214. * Chargement ( déplacement imposé )
  215. *
  216. depmax0 = -1.E-3 ;
  217. dep0 = 'DEPI' cl2 depmax0 ;
  218. ev0 = 'EVOL' 'MANU' temps ( 'PROG' 0. tfin0 ) y ( 'PROG' 0. 1. ) ;
  219. cha0 = 'CHAR' 'DIMP' dep0 ev0 ;
  220. *
  221. * Appel à PASAPAS
  222. *
  223. ta1 = 'TABLE' ;
  224. ta1 .'MODELE' = mod0 ;
  225. ta1 .'CARACTERISTIQUES' = mat0 ;
  226. ta1 .'BLOCAGES_MECANIQUES' = cl0 ;
  227. ta1 .'CHARGEMENT' = cha0 ;
  228. ta1 .'TEMPS_CALCULES' = 'PROG' 0. 'PAS' dt0 tfin0 ;
  229. *
  230. TMASAU=table;
  231. ta1 . 'MES_SAUVEGARDES'=TMASAU;
  232. ta1 . 'PRECISION'=1e-12;
  233. ta1 . 'PRECISINTER'=1e-12;
  234. TMASAU .'DEFTO'=VRAI;
  235. TMASAU .'DEFIN'=VRAI;
  236. PASAPAS ta1 ;
  237. *
  238. * Post traitement
  239. *
  240. dim0 = ( 'DIME' ( ta1 .'TEMPS' ) ) - 1 ;
  241. sigm0 = ta1 .'CONTRAINTES'.dim0 ;
  242. var0 = ta1. 'VARIABLES_INTERNES'.dim0 ;
  243. eps0 = ta1. 'DEFORMATIONS_INELASTIQUES'.dim0 ;
  244. depl0 = ta1 .'DEPLACEMENTS'.dim0 ;
  245. eps1 = 'EPSI' depl0 mod0 ;
  246. *
  247. * Erreur
  248. *
  249. err0 = 1.E-3 ;
  250. smxx1 = 'MAXI' ( 'EXCO' sigm0 'SMXX' ) ;
  251. smyy1 = 'MAXI' ( 'EXCO' sigm0 'SMYY' ) ;
  252. smzz1 = 'MAXI' ( 'EXCO' sigm0 'SMZZ' ) ;
  253. smxy1 = 'MAXI' ( 'EXCO' sigm0 'SMXY' ) ;
  254. smxz1 = 'MAXI' ( 'EXCO' sigm0 'SMXZ' ) ;
  255. smyz1 = 'MAXI' ( 'EXCO' sigm0 'SMYZ' ) ;
  256. *
  257. end0 = 'MAXI' ( 'EXCO' var0 'EPSE' ) ;
  258. end1 = 'MAXI' ( 'EXCO' var0 'END1' ) ;
  259. end2 = 'MAXI' ( 'EXCO' var0 'END2' ) ;
  260. end3 = 'MAXI' ( 'EXCO' var0 'END3' ) ;
  261. end4 = 'MAXI' ( 'EXCO' var0 'END4' ) ;
  262. end5 = 'MAXI' ( 'EXCO' var0 'END5' ) ;
  263. end6 = 'MAXI' ( 'EXCO' var0 'END6' ) ;
  264. *
  265. epxx1 = 'MAXI' ( 'EXCO' eps0 'EIXX' ) ;
  266. epyy1 = 'MAXI' ( 'EXCO' eps0 'EIYY' ) ;
  267. epzz1 = 'MAXI' ( 'EXCO' eps0 'EIZZ' ) ;
  268. epxy1 = 'MAXI' ( 'EXCO' eps0 'GIXY' ) ;
  269. epxz1 = 'MAXI' ( 'EXCO' eps0 'GIXZ' ) ;
  270. epyz1 = 'MAXI' ( 'EXCO' eps0 'GIYZ' ) ;
  271. *
  272. err1 = 'ABS' ( smxx1 + 0.0 ) ;
  273. 'SI' ( err1 '>' err0 ) ;
  274. 'ERRE' 5 ;
  275. 'FINSI' ;
  276. err1 = 'ABS' ( smyy1 + 0.0 ) ;
  277. 'SI' ( err1 '>' err0 ) ;
  278. 'ERRE' 5 ;
  279. 'FINSI' ;
  280. err1 = 'ABS' ( smzz1 + 4.19E1 ) ;
  281. 'SI' ( err1 '>' ( err0 * 41.9 ) ) ;
  282. 'ERRE' 5 ;
  283. 'FINSI' ;
  284. err1 = 'ABS' ( smxy1 - 0.0 ) ;
  285. 'SI' ( err1 '>' err0 ) ;
  286. 'ERRE' 5 ;
  287. 'FINSI' ;
  288. err1 = 'ABS' ( smxz1 - 0.0 ) ;
  289. 'SI' ( err1 '>' err0 ) ;
  290. 'ERRE' 5 ;
  291. 'FINSI' ;
  292. err1 = 'ABS' ( smyz1 - 0.0 ) ;
  293. 'SI' ( err1 '>' err0 ) ;
  294. 'ERRE' 5 ;
  295. 'FINSI' ;
  296. err1 = 'ABS' ( end0 - 7.23E-2 ) ;
  297. 'SI' ( err1 '>' err0 ) ;
  298. 'ERRE' 5 ;
  299. 'FINSI' ;
  300. err1 = 'ABS' ( end1 - 3.619E-2 ) ;
  301. 'SI' ( err1 '>' err0 ) ;
  302. 'ERRE' 5 ;
  303. 'FINSI' ;
  304. err1 = 'ABS' ( end2 - 3.619E-2 ) ;
  305. 'SI' ( err1 '>' err0 ) ;
  306. 'ERRE' 5 ;
  307. 'FINSI' ;
  308. err1 = 'ABS' ( end3 - 0.0 ) ;
  309. 'SI' ( err1 '>' err0 ) ;
  310. 'ERRE' 5 ;
  311. 'FINSI' ;
  312. err1 = 'ABS' ( end4 - 0.0 ) ;
  313. 'SI' ( err1 '>' err0 ) ;
  314. 'ERRE' 5 ;
  315. 'FINSI' ;
  316. err1 = 'ABS' ( end5 - 0.0 ) ;
  317. 'SI' ( err1 '>' err0 ) ;
  318. 'ERRE' 5 ;
  319. 'FINSI' ;
  320. err1 = 'ABS' ( end6 - 0.0 ) ;
  321. 'SI' ( err1 '>' err0 ) ;
  322. 'ERRE' 5 ;
  323. 'FINSI' ;
  324. err1 = 'ABS' ( epxx1 - 3.702E-4 ) ;
  325. 'SI' ( err1 '>' err0 ) ;
  326. 'ERRE' 5 ;
  327. 'FINSI' ;
  328. err1 = 'ABS' ( epyy1 - 3.702E-4 ) ;
  329. 'SI' ( err1 '>' err0 ) ;
  330. 'ERRE' 5 ;
  331. 'FINSI' ;
  332. err1 = 'ABS' ( epzz1 + 1.E-3 ) ;
  333. 'SI' ( err1 '>' err0 ) ;
  334. 'ERRE' 5 ;
  335. 'FINSI' ;
  336. err1 = 'ABS' ( epxy1 - 0.0 ) ;
  337. 'SI' ( err1 '>' err0 ) ;
  338. 'ERRE' 5 ;
  339. 'FINSI' ;
  340. err1 = 'ABS' ( epxz1 - 0.0 ) ;
  341. 'SI' ( err1 '>' err0 ) ;
  342. 'ERRE' 5 ;
  343. 'FINSI' ;
  344. err1 = 'ABS' ( epyz1 - 0.0 ) ;
  345. 'SI' ( err1 '>' err0 ) ;
  346. 'ERRE' 5 ;
  347. 'FINSI' ;
  348. *
  349. 'FIN' ;
  350.  
  351.  
  352.  
  353.  
  354.  
  355.  
  356.  
  357.  
  358.  
  359.  
  360.  

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