Télécharger vpparf1.dgibi

Retour à la liste

Numérotation des lignes :

  1. * fichier : vpparf1.dgibi
  2. ************************************************************************
  3. ************************************************************************
  4. *
  5. complet = faux;
  6. *
  7. *************************************************
  8. * pour calcul complet mettre complet à : vrai;
  9. *************************************************
  10. **
  11. *
  12. * FICHIER GIBIANE POUR TESTER L'IMPLANTATION
  13. * DU MODELE VISCO PLASTIQUE PARFAIT
  14. *
  15. * On impose une force sur l'extremite d'un barreau cylindrique
  16. * La force evolue dans le temps
  17. * La température varie également et modifie les carcatéristiques
  18. * mécaniques
  19. *
  20. * Le resultat théorique est obtenu par integration
  21. *
  22. * MAILLAGE
  23. *
  24. opti dime 2 mode axis elem qua4 ;
  25. * ajout de option epsilon lineaire pour la precision des test!
  26. OPTION epsilon lineaire;
  27. graph = 'N';
  28. *
  29. p1 = 0. 0. ;
  30. p2 = 5.d-3 0. ;
  31. p3 = 5.d-3 100.d-3 ;
  32. p4 = 0. 100.d-3 ;
  33. *
  34. n1 = 1 ;
  35. n2 = 2 ;
  36. *
  37. li1 = d n1 p1 p2 ;
  38. li2 = d n2 p2 p3 ;
  39. li3 = d n1 p3 p4 ;
  40. li4 = d n2 p4 p1 ;
  41. *
  42. su1 = dall li1 li2 li3 li4 'PLAN' ;
  43. si ( ega graph 'O');
  44. trace su1 ;
  45. finsi;
  46. *
  47. * MODELE MECANIQUE
  48. *
  49. mod1 = MODE su1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'VISCOPLASTIQUE'
  50. 'PARFAIT' ;
  51. *
  52. * CARACTÉRISTIQUES DU MATÉRIAU
  53. *
  54. ltemps = prog 0. 200. 400. 600. 800. 1000. 1200. 1400. 1450.
  55. 1600;
  56. * young
  57. lyoun = prog 200.d9 200.d9 180.d9 160.d9 140.d9 80.d9 20.d9 1.d9 1.d6
  58. 1.d6 ;
  59. evyoun = evol manu 'T' ltemps 'YOUN' lyoun ;
  60. si ( ega graph 'O');
  61. dess evyoun titre 'Module de Young';
  62. finsi;
  63. *
  64. * nu
  65. *
  66. lnu = prog 0.3 0.32 0.34 0.36 0.38 0.40 0.44 0.49 0.495
  67. 0.495 ;
  68. evnu = evol manu 'T' ltemps 'NU' lnu ;
  69. si ( ega graph 'O');
  70. dess evnu titre 'Coefficient de Poisson' ;
  71. finsi;
  72. *
  73. * alpha
  74. *
  75. lalpha = prog 0.d-6 0d-6 0.d-6 0.d-6 0.d-6 0.d-6 0.d-6 0.d-6 0.d-6
  76. 0.d-6;
  77. evalpha = evol manu 'T' ltemps 'ALPH' lalpha ;
  78. si ( ega graph 'O');
  79. dess evalpha titre 'Coefficient de dillatation thermique' ;
  80. finsi;
  81. *
  82. * rho
  83. *
  84. lrho = prog 7.9d3 7.9d3 7.8d3 7.8d3 7.75d3 7.7d3 7.7d3 7.65d3 7.d3
  85. 7.d3;
  86. evrho = evol manu 'T' ltemps 'RHO' lrho ;
  87. si ( ega graph 'O');
  88. dess evrho titre 'Densite' ;
  89. finsi;
  90. *
  91. * N
  92. *
  93. lden = prog 2. 1.9 1.8 1.7 1.6 1.5 1.4 1.3 1.2
  94. 1.;
  95. evden = evol manu 'T' ltemps 'N' lden ;
  96. si ( ega graph 'O');
  97. dess evden titre 'Exposant N' ;
  98. finsi;
  99. *
  100. * K
  101. *
  102. lk = prog 1.d7 1.d7 1.d7 1.d7 1.d7 1.d7 1.d7 1.d7 1.d7
  103. 1.d7;
  104. evk = evol manu 'T' ltemps 'K' lk ;
  105. si ( ega graph 'O');
  106. dess evk titre 'Coefficient K' ;
  107. finsi;
  108. *
  109. * SIGY
  110. *
  111. ly = prog 150d6 150.d6 120.d6 80.d6 60.d6 20.d6 10.d6 1.d6 0.d6
  112. 0.d6;
  113. evy = evol manu 'T' ltemps 'SIGY' ly ;
  114. si ( ega graph 'O');
  115. dess evy titre 'Limite elastique' ;
  116. finsi;
  117. *opti donn 5;
  118. *
  119. *
  120. mat1 = MATE mod1 'YOUN' evyoun 'NU' evnu 'ALPH' evalpha 'RHO' evrho
  121. 'N' evden 'SIGY' evy 'K' evk;
  122. *
  123. *
  124. *
  125. chpt20 = manu chpo su1 1 'T' 20. ;
  126. chelt20 = changer CHAM chpt20 mod1 'RIGIDITE' ;
  127. mat2 = vari 'NUAG' mod1 mat1 chelt20 ;
  128. *
  129. * CALCUL DE LA SOLUTION THEORIQUE
  130. *
  131. * liste des temps
  132. linstant = prog 0. 50. 100. ;
  133. * evolution de la contrainte
  134. lsigma = prog 140.d6 30.d6 140.d6 ;
  135. evsig = evol manu 'Temps' linstant 'Contrainte' lsigma ;
  136. si ( ega graph 'O');
  137. dess evsig titr 'Evolution de la contrainte axiale' ;
  138. finsi;
  139. * evolution de la température
  140. lTdet = prog 20. 1000. 20. ;
  141. evdet = evol manu 'Temps' linstant 'temperature' lTdet ;
  142. si ( ega graph 'O');
  143. dess evdet titr 'Evolution de la temperature' ;
  144. finsi;
  145. *opti donn 5;
  146. *
  147. * deplacement initial (sigma/E)
  148. *
  149. ezz = 0.00075 ;
  150. lztheo = prog (ezz*0.1);
  151. *
  152. * pas de temps
  153. *
  154. dt = 0.1 ;
  155. t1 = 0. ;
  156. *
  157. si complet ;nfois = 1000; sinon; nfois=450; finsi;
  158. repeter bou1 nfois ;
  159. t2 = dt * (&bou1) ;
  160. t15 = t1 +t2 /2.d0 ;
  161. TP15 = ipol t15 linstant lTdet ;
  162. sigy15 = ipol TP15 ltemps ly ;
  163. k15 = ipol TP15 ltemps lk ;
  164. n15 = ipol TP15 ltemps lden ;
  165. sigma15 = ipol t15 linstant lsigma ;
  166. sige1 = (ipol t1 linstant lsigma)/(ipol t1 ltemps lyoun);
  167. sige2 = (ipol t2 linstant lsigma)/(ipol t2 ltemps lyoun);
  168. * deformation viscoplastique
  169. syk = (sigma15-sigy15 + (abs (sigma15-sigy15)))/2.d0/k15 ;
  170. dezp = dt*(0.6666*(syk**n15)) ;
  171. * deformation elastique
  172. dezz = dezp + sige2 - sige1 ;
  173. * mess 'Pas ' &bou1 'ezz=' ezz 'dezzp='dezp ;
  174. ezz = ezz +dezz ;
  175. lztheo = lztheo et (prog (ezz *0.1));
  176. t1 = t2 ;
  177. fin bou1 ;
  178. mess 'EZZ= theorique' ezz 'DZ theorique' (EZZ*0.1);
  179. *opti donn 5 ;
  180. *
  181. * CALCUL AVEC PASAPAS
  182. *
  183. tab1 = table ;
  184. *
  185. * CONDITIONS AUX LIMITES
  186. *
  187. cl1 = bloq li1 'UZ' ;
  188. cl2 = bloq li4 'UR' ;
  189. tab1.'BLOCAGES_MECANIQUES' = cl1 et cl2 ;
  190. *
  191. tab1.'CARACTERISTIQUES' = mat1 ;
  192. *
  193. * FORCES APPILQUEES
  194. *
  195. f1 = press mass mod1 li3 (-1.) ;
  196. titr 'Maillage et forces appliquees (mode axisymmetrique)';
  197. vf1 = vect f1 'FR' 'FZ' 5.d3;
  198. si ( EGA graph 'O');
  199. trace vf1 su1 ;
  200. finsi;
  201. evf = evol manu 'T' linstant 'Intensite' lsigma ;
  202. charf = charge evf f1 'MECA' ;
  203. *
  204. * CHARGEMENT THERMIQUE
  205. *
  206. evt = evol manu 'TPS' linstant 'T' lTdet ;
  207. chpt = manu chpo su1 1 'T' 1. ;
  208. chart = charg evt chpt 'T' ;
  209. tab1.'CHARGEMENT'= chart et charf ;
  210. *
  211. si complet;
  212. lcal = prog 0. pas 10. 40. 44. pas 0.25 47.5
  213. pas 0.1 52.5 pas 0.25 55.5 pas .1
  214. 56. pas 4. 60. pas 10. 100. ;
  215. sinon;
  216. lcal = prog 0. pas 10. 40. 44. pas 0.25 45.;
  217. finsi;
  218.  
  219. tab1.'TEMPS_CALCULES' = lcal ;
  220. tab1.'TEMPS0' = 0. ;
  221. tab1.'MODELE' = mod1 ;
  222. tab1.'TALPHA_REFERENCE' = chpt20 ;
  223. tab1.'MAXITERATION' = 100 ;
  224. *
  225. TMASAU=table;
  226. tab1 . 'MES_SAUVEGARDES'=TMASAU;
  227. TMASAU .'DEFTO'=VRAI;
  228. TMASAU .'DEFIN'=VRAI;
  229. pasapas tab1 ;
  230. *
  231. * POST TRAITEMENT
  232. *
  233. tdep1 = tab1.'DEPLACEMENTS' ;
  234. depfin = tdep1 . ((dime tdep1) - 1 ) ;
  235. dz = extr depfin p3 'UZ' ;
  236. mess 'DZ calcule' dz ;
  237. *
  238. erre = abs ( ezz*0.1 -dz )/ ezz *0.1 ;
  239. sauter 1 ligne ;
  240. mess 'Erreur=' erre ;
  241. si ( erre >eg 0.02 ) ;
  242. erreur 5 ;
  243. finsi ;
  244. *
  245. *opti sauv 'res' ;
  246. *sauver tab1 ;
  247. *fin ;
  248. *------------------------------------------------------------
  249. *opti rest 'res' ;
  250. *rest ;
  251. *
  252. * COURBE TEMPS-DEPLACEMENT
  253. *
  254. lz = prog ; lxx = prog ;
  255. tdep1 = tab1.'DEPLACEMENTS' ;
  256. *
  257. repeter bou3 (dime tdep1 ) ;
  258. depfin = tdep1 . (&bou3 - 1 ) ;
  259. dz = extr depfin p3 'UZ' ;
  260. lz = lz et (prog dz );
  261. fin bou3 ;
  262.  
  263. *
  264. evz = evol manu 'TEMPS' lcal 'Deplacment vertical' lz ;
  265. si complet ; nft=100.; sinon; nft=45.; finsi;
  266. lttheo = prog 0. pas 0.1 nft ;
  267. evztheo = evol manu 'TEMPS' lttheo 'Deplacment vertical' lztheo ;
  268. dTAB1=TABLE;
  269. dTAB1.1='MARQ PLUS NOLI';
  270. dTAB1.'TITRE'=TABLE;
  271. dTAB1.'TITRE'. 3 = MOT 'Essai de Traction' ;
  272. si ( ega graph 'O');
  273. dess (evz et evztheo) logo dtab1 ;
  274. finsi;
  275. *
  276. *
  277. *___________________________________________________________________
  278. * SECONDE PARTIE
  279. *
  280. *
  281. * cas test pour le modele visco plastique parfait
  282. *
  283. * on impose un champ de deplacement en cisaillement pur MODE PLAN DEFO
  284. * et on regarde evoluer les contraintes
  285. * On compare aux resultats analytiques
  286. *
  287. * la deformation inelastique doit varier comme 0.5*(1.-exp(-t))
  288. * le vmises doit valoir Y = 3 ** 0.5 * 50 = 86.603
  289. *
  290. opti dime 2 mode plan defo elem seg3;
  291. p1 = 0. 0. ;
  292. p2 = 1. 0. ;
  293. p3 = 1. 1. ;
  294. p4 = 0. 1. ;
  295.  
  296. elem1 = 'MANU' 'QUA4' P1 P2 P3 P4 ;
  297. mode1 = 'MODE' elem1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'VISCOPLASTIQUE'
  298. 'PARFAIT' ;
  299. mate1 = 'MATE' mode1 'YOUN' 200. 'NU' 0. 'SIGY' (3. ** 0.5 * 50.)
  300. 'N' 1. 'K' 200. ;
  301.  
  302. bloc1 = 'BLOQ' elem1 'DEPL' ;
  303. depimp1 = ('NOMC' ('COOR' 1 elem1 ) 'UY' ) 'ET'
  304. ('MANU' 'CHPO' elem1 1 'UX' 0. 'NATURE' 'DIFFUSE' ) ;
  305. fldep1 = 'DEPI' bloc1 depimp1 ;
  306.  
  307. defor_0 = 'EPSI' mode1 depimp1 ;
  308. sig_0 = 'ELAS' mode1 defor_0 mate1 ;
  309.  
  310. varin_0 = 'ZERO' mode1 'VARINTER' ;
  311. defor_0 = 'ZERO' mode1 'DEFORMAT' ;
  312. si complet;
  313. ltemps = 'PROG' 0. 'PAS' 0.05 5. 'PAS' 0.5 10. ;
  314. sinon;
  315. ltemps = prog 0. pas 0.05 0.5;
  316. finsi;
  317.  
  318. lchar = 'PROG' ('DIME' ltemps) * 1. ;
  319.  
  320. tab1 = 'TABLE' ;
  321. tab1 . 'DEPLACEMENTS' = 'TABLE' ;
  322. tab1 . 'CONTRAINTES' = 'TABLE' ;
  323. tab1 . 'VARIABLES_INTERNES'= 'TABLE' ;
  324. tab1 . 'DEFORMATIONS_INELATSIQUES' = 'TABLE';
  325.  
  326. tab1 . 'DEPLACEMENTS' . 0 = depimp1 ;
  327. tab1 . 'CONTRAINTES' . 0 = sig_0 ;
  328. tab1 . 'VARIABLES_INTERNES' . 0 = varin_0 ;
  329. tab1 . 'DEFORMATIONS_INELATSIQUES' . 0 = defor_0 ;
  330.  
  331. ev1 = 'EVOL' 'MANU' 'TEMPS' ltemps 'INTENSITE' lchar ;
  332. char1 = 'CHAR' 'DIMP' ev1 fldep1 ;
  333.  
  334. tab1 . 'BLOCAGES_MECANIQUES' = bloc1 ;
  335. tab1 . 'CHARGEMENT' = char1 ;
  336.  
  337. tab1 . 'MODELE' = mode1 ;
  338. tab1 . 'CARACTERISTIQUES' = mate1 ;
  339.  
  340. tab1 . 'TEMPS_CALCULES' = ltemps ;
  341. TMASAU=table;
  342. tab1 . 'MES_SAUVEGARDES'=TMASAU;
  343. TMASAU .'DEFTO'=VRAI;
  344. TMASAU .'DEFIN'=VRAI;
  345. PASAPAS tab1 ;
  346.  
  347.  
  348. *** solution numérique
  349. levp = 'PROG' ;
  350. 'REPETER' bou1 ('DIME' ltemps) ;
  351. evp = 'EXTR' ( tab1 . 'DEFORMATIONS_INELASTIQUES' . (&bou1 - 1))
  352. 'GIXY' 1 1 1 ;
  353. levp = levp 'ET' ('PROG' evp ) ;
  354. 'FIN' bou1 ;
  355.  
  356. *** solution theorique
  357. levpth = ('PROG' ( 'DIME' ltemps) * 1. ) - ('EXP' (ltemps * -1.))
  358. * 0.5 ;
  359.  
  360. ev_th = 'EVOL' 'MANU' 'TEMPS' ltemps 'GIXY' levpth ;
  361. ev_num = 'EVOL' 'MANU' 'TEMPS' ltemps 'GIXY' levp ;
  362.  
  363. tabgr = table ;
  364. tabgr . 1 = 'MARQ CROI TIRR ' ;
  365. tabgr . 2 = 'MARQ TRIA ' ;
  366. tabgr.'TITRE' = table ;
  367. tabgr .'TITRE'. 1 = MOT 'analytique' ;
  368. tabgr .'TITRE'. 2 = MOT 'numerique' ;
  369. si ( ega graph 'O');
  370. dess (ev_th et ev_num ) tabgr LEGE LOGO 'YBOR' 0. 1. ;
  371. finsi;
  372.  
  373. * contrainte equivalent à l'issue
  374. n1 = ('DIME' ltemps) - 1 ;
  375. vmis_fin = 'EXTR' ('VMIS' mode1 (tab1 . 'CONTRAINTES' . n1 ))
  376. 'SCAL' 1 1 1 ;
  377. si complet ;
  378. valthe = 3 **0.5 * 50;
  379. sinon;
  380. valthe = 139.78;
  381. finsi;
  382. err1 = abs (vmis_fin / valthe - 1. );
  383.  
  384. err2 = 'MAXI' 'ABS' (levpth - levp ) ;
  385.  
  386. mess 'ERREUR = ' err1 err2 ;
  387. 'SI' (( err1 >EG 0.01 ) 'OU' ( err2 >EG 0.01)) ;
  388. ERREUR 5 ;
  389. 'FINSI' ;
  390. *
  391. *
  392. *___________________________________________________________________
  393. * TROISIEME PARTIE
  394. *
  395. *
  396. *
  397. * cas test pour le modele visco plastique parfait
  398. *
  399. * on impose un champ de deplacement en cisaillement pur MODE AXIS
  400. * et on regarde evoluer les contraintes
  401. * On compare aux resultats analytiques
  402. *
  403. * la deformation inelastique doit varier comme 0.5*(1.-exp(-t))
  404. * le vmises doit valoir Y = 3 ** 0.5 * 50 = 86.603
  405. *
  406. opti dime 2 mode axis elem seg3;
  407. p1 = 0. 0. ;
  408. p2 = 1. 0. ;
  409. p3 = 1. 1. ;
  410. p4 = 0. 1. ;
  411.  
  412. elem1 = 'MANU' 'QUA4' P1 P2 P3 P4 ;
  413. mode1 = 'MODE' elem1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'VISCOPLASTIQUE'
  414. 'PARFAIT' ;
  415. mate1 = 'MATE' mode1 'YOUN' 200. 'NU' 0. 'SIGY' (3. ** 0.5 * 50.)
  416. 'N' 1. 'K' 200. ;
  417.  
  418. bloc1 = 'BLOQ' elem1 'DEPL' ;
  419. depimp1 = ('NOMC' ('COOR' 1 elem1 ) 'UZ' ) 'ET'
  420. ('MANU' 'CHPO' elem1 1 'UR' 0. 'NATURE' 'DIFFUSE' ) ;
  421. fldep1 = 'DEPI' bloc1 depimp1 ;
  422.  
  423. defor_0 = 'EPSI' mode1 depimp1 ;
  424. sig_0 = 'ELAS' mode1 defor_0 mate1 ;
  425.  
  426. varin_0 = 'ZERO' mode1 'VARINTER' ;
  427. defor_0 = 'ZERO' mode1 'DEFORMAT' ;
  428.  
  429. si complet;
  430. ltemps = 'PROG' 0. 'PAS' 0.05 5. 'PAS' 0.5 10. ;
  431. sinon;
  432. ltemps = prog 0. pas 0.05 0.5;
  433. finsi;
  434. lchar = 'PROG' ('DIME' ltemps) * 1. ;
  435.  
  436. tab1 = 'TABLE' ;
  437. tab1 . 'DEPLACEMENTS' = 'TABLE' ;
  438. tab1 . 'CONTRAINTES' = 'TABLE' ;
  439. tab1 . 'VARIABLES_INTERNES'= 'TABLE' ;
  440. tab1 . 'DEFORMATIONS_INELATSIQUES' = 'TABLE';
  441.  
  442. tab1 . 'DEPLACEMENTS' . 0 = depimp1 ;
  443. tab1 . 'CONTRAINTES' . 0 = sig_0 ;
  444. tab1 . 'VARIABLES_INTERNES' . 0 = varin_0 ;
  445. tab1 . 'DEFORMATIONS_INELATSIQUES' . 0 = defor_0 ;
  446.  
  447. ev1 = 'EVOL' 'MANU' 'TEMPS' ltemps 'INTENSITE' lchar ;
  448. char1 = 'CHAR' 'DIMP' ev1 fldep1 ;
  449.  
  450. tab1 . 'BLOCAGES_MECANIQUES' = bloc1 ;
  451. tab1 . 'CHARGEMENT' = char1 ;
  452.  
  453. tab1 . 'MODELE' = mode1 ;
  454. tab1 . 'CARACTERISTIQUES' = mate1 ;
  455.  
  456. tab1 . 'TEMPS_CALCULES' = ltemps ;
  457. TMASAU=table;
  458. tab1 . 'MES_SAUVEGARDES'=TMASAU;
  459. TMASAU .'DEFTO'=VRAI;
  460. TMASAU .'DEFIN'=VRAI;
  461. PASAPAS tab1 ;
  462.  
  463.  
  464. *** solution numérique
  465. levp = 'PROG' ;
  466. 'REPETER' bou1 ('DIME' ltemps) ;
  467. evp = 'EXTR' ( tab1 . 'DEFORMATIONS_INELASTIQUES' . (&bou1 - 1))
  468. 'GIRZ' 1 1 1 ;
  469. levp = levp 'ET' ('PROG' evp ) ;
  470. 'FIN' bou1 ;
  471.  
  472. *** solution theorique
  473. levpth = ('PROG' ( 'DIME' ltemps) * 1. ) - ('EXP' (ltemps * -1.))
  474. * 0.5 ;
  475.  
  476. ev_th = 'EVOL' 'MANU' 'TEMPS' ltemps 'GIRZ' levpth ;
  477. ev_num = 'EVOL' 'MANU' 'TEMPS' ltemps 'GIRZ' levp ;
  478.  
  479. tabgr = table ;
  480. tabgr . 1 = 'MARQ CROI TIRR ' ;
  481. tabgr . 2 = 'MARQ TRIA ' ;
  482. tabgr.'TITRE' = table ;
  483. tabgr .'TITRE'. 1 = MOT 'analytique' ;
  484. tabgr .'TITRE'. 2 = MOT 'numerique' ;
  485. si ( ega graph 'O');
  486. dess (ev_th et ev_num ) tabgr LEGE LOGO 'YBOR' 0. 1. ;
  487. finsi;
  488.  
  489. * contrainte equivalent à l'issue
  490. n1 = ('DIME' ltemps) - 1 ;
  491. vmis_fin = 'EXTR' ('VMIS' mode1 (tab1 . 'CONTRAINTES' . n1 ))
  492. 'SCAL' 1 1 1 ;
  493. mess vmis_fin;
  494. si complet ;
  495. valthe = 3 **0.5 * 50;
  496. sinon;
  497. valthe = 139.78;
  498. finsi;
  499. err1 = abs (vmis_fin / valthe - 1. );
  500.  
  501. err2 = 'MAXI' 'ABS' (levpth - levp ) ;
  502.  
  503. mess 'ERREUR = ' err1 err2 ;
  504. 'SI' (( err1 >EG 0.01 ) 'OU' ( err2 >EG 0.01)) ;
  505. ERREUR 5 ;
  506. 'FINSI' ;
  507. fin ;
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516.  
  517.  
  518.  
  519.  
  520.  
  521.  
  522.  
  523.  
  524.  
  525.  
  526.  
  527.  
  528.  

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