* fichier : isotro_cis.dgibi ************************************************************************ ************************************************************************ ************************************************** * * * TEST DE VALIDATION D'UNE LOI DE COMPORTEMENT * * -------------------------------------------- * * DE MATERIAU * * ----------- * * * * LOI DE COMPORTEMENT ELASTO-PLASTIQUE * * ISOTROPE * * * * COMPARAISON DE CALCULS SUR DES ELEMENTS: * * - COQUE EPAISSE ( MFR=5 ) * * - COQUE MINCE ( MFR=3 ) * * - MASSIF 3D ( MFR=1 ) * * * * STRUCTURE : UNE PLAQUE CARREE * * - COTE : .1 M * * - EPAISSEUR : 5.E-4 M * * * * CHARGEMENT : DEPLACEMENTS IMPOSES * * CISAILLEMENT PUR * * * ************************************************** graph = 'N' ; * * * Maillage * rayon0 = .05 ; epais0 = .0005 ; l1 = epais0 + rayon0 ; l2 = .1 ; n1 = 1 ; n2 = 1 ; p1 = rayon0 0. 0. ; p2 = l1 0. 0. ; p3 = l1 l2 0. ; p4 = rayon0 l2 0. ; p11 = rayon0 0. l2 ; p21 = l1 0. l2 ; p31 = l1 l2 l2 ; p41 = rayon0 l2 l2 ; d1 = d p1 n1 p2 ; d2 = d p2 n2 p3 ; d3 = d p3 n1 p4 ; d4 = d p4 n2 p1 ; d11 = d p11 n1 p21 ; d21 = d p21 n2 p31 ; d31 = d p31 n1 p41 ; d41 = d p41 n2 p11 ; *p01 = ( rayon0 + ( epais0 / 2. ) ) 0. l2 ; *p02 = ( rayon0 + ( epais0 / 2. ) ) l2 l2 ; *titr ' maillage ' ; *trace vol1 ; * * Deplacement maximal * depmax = .01 ; * * Courbe d'ecrouissage * beta0 = 1250. ; sig0 = 410.E6 ; xm = .5 ; youn0 = 7.34E10 ; epsmax0 = depmax / l2 ; pas0 = epsmax0 / 50 ; Y0 = sig0 ; epsp2 = beta0 * epsp1 ; epsp3 = epsp2 + un ; epsp31 = log epsp3 ; epsp32 = epsp31 * xm ; epsp4 = exp epsp32 ; Y1 = Y0 * epsp4 ; * epsp1 = epsp0 'ET' epsp1 ; Y1 = deb0 'ET' Y1 ; epsp2 = epsp1 + ( Y1 / youn0 ) ; * * Modele de calcul * si (neg graph 'N') ; fins ; mod0 = 'MODE' vol1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'PLASTIQUE' 'ISOTROPE' ; 'ECRO' ecro0 ; * * Conditions aux limites * cl0 = cl1 'ET' cl2 'ET' cl3 ; * * Chargement * chp1 = chp1 * depmax / l2 ; *trace chp1 vol1 ; chp0 = chp1 + chp2 ; *vec1 = 'VECT' dep1 1.E-5 'FX' 'FY' 'FZ' 'ROUG' ; *titr ' chargement ' ; *trace vec1 vol1 ; * * Temps du calcul * dt0 = 50. ; tfin0 = 1000. ; * * * Resolution par PASAPAS *--------------------------------------- * ta1 = 'TABLE' ; ta1 .'MODELE' = mod0 ; ta1 .'CARACTERISTIQUES' = mat0 ; ta1 .'BLOCAGES_MECANIQUES' = cl0 ; ta1 .'CHARGEMENT' = cha0 ; *ta1 .'TEMPS_CALCULES' = ( ( 'PROG' 0. 'PAS' dt0 80. ) 'ET' *( 'PROG' 85. 'PAS' 5. 90. ) 'ET' *( 'PROG' 92.5 'PAS' 2.5 tfin0 ) ) ; * TMASAU=table; ta1 . 'MES_SAUVEGARDES'=TMASAU; TMASAU .'DEFTO'=VRAI; TMASAU .'DEFIN'=VRAI; ta1 .'HYPOTHESE_DEFORMATIONS'='LINEAIRE' ; PASAPAS ta1 ; * * * Post-traitement *----------------------------------------- * * reac0 = ta1 .'REACTIONS'.( dim0 - 1 ) ; depl0 = ta1 .'DEPLACEMENTS'.( dim0 - 1 ) ; *titr ' reactions ' ; *trace vec2 vol1 ; *titr ' deformees ' ; *trace ( defo0 'ET' defo1 ) ; * 'REPETER' bloc0 ( dim0 - 1 ) ; i0 = &bloc0 ; reac0 = ta1 .'REACTIONS'.i0 ; depl0 = ta1 .'DEPLACEMENTS'.i0 ; sigm0 = ta1 .'CONTRAINTES'.i0 ; def0 = ta1 .'DEFORMATIONS_INELASTIQUES'.i0 ; temp0 = ta1 .'TEMPS'.i0 ; 'FIN' bloc0 ; * * * * * Maillage * epais0 = .0005 ; rayon0 = .05 ; l10 = .1 ; n10 = 1 ; p10 = rayon0 0. 0. ; p20 = rayon0 l10 0. ; p11 = rayon0 0. l10 ; p12 = rayon0 l10 l10 ; li1 = d p10 n10 p20 ; li2 = d p20 n10 p12 ; li3 = d p12 n10 p11 ; li4 = d p11 n10 p10 ; *titr 'maillage' ; *trace mail1 ; * depmax = .01 ; * * Courbe d'ecrouissage * beta0 = 1250. ; sig0 = 410.E6 ; xm = .5 ; youn0 = 7.34E10 ; epsmax0 = depmax / l10 ; pas0 = epsmax0 / 50 ; Y0 = sig0 ; epsp2 = beta0 * epsp1 ; epsp3 = epsp2 + un ; epsp31 = log epsp3 ; epsp32 = epsp31 * xm ; epsp4 = exp epsp32 ; Y1 = Y0 * epsp4 ; * epsp1 = epsp0 'ET' epsp1 ; Y1 = deb0 'ET' Y1 ; epsp2 = epsp1 + ( Y1 / youn0 ) ; * * Modele de calcul * *'DESS' trac0 ; mod00 = 'MODE' mail1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'PLASTIQUE' 'ISOTROPE' 'COQ3' ; 'ECRO' ecro0 ; * * Conditions aux limites * cl00 = cl10 'ET' cl20 'ET' cl30 ; * * Chargement * chp1 = chp1 * depmax / l10 ; *trace chp1 mail1 ; chp0 = chp1 + chp2 ; *vec1 = 'VECT' dep10 1.E-5 'FX' 'FY' 'FZ' 'ROUG' ; *titr ' chargement ' ; *trace vec1 mail1 ; * * Temps du calcul * dt00 = 50. ; tfin00 = 1000. ; * * * Resolution par PASAPAS *--------------------------------------- * ta10 = 'TABLE' ; ta10 .'MODELE' = mod00 ; ta10 .'CARACTERISTIQUES' = mat00 'ET' car00 ; ta10 .'BLOCAGES_MECANIQUES' = cl00 ; ta10 .'CHARGEMENT' = cha00 ; *ta10 .'TEMPS_CALCULES' = ( ( 'PROG' 0. 'PAS' dt00 80. ) 'ET' *( 'PROG' 85. 'PAS' 5. 90. ) 'ET' *( 'PROG' 92.5 'PAS' 2.5 tfin00 ) ) ; *ta10 .'TEMPS_CALCULES' = ( ( 'PROG' 0. 'PAS' 20. 60. ) 'ET' *( 'PROG' 62. 'PAS' 2. 70. ) 'ET' *( 'PROG' 71. 'PAS' dt00 79. ) 'ET' *( 'PROG' 79.5 'PAS' .5 tfin00 ) ) ; * TMASAU=table; ta10 . 'MES_SAUVEGARDES'=TMASAU; TMASAU .'DEFTO'=VRAI; TMASAU .'DEFIN'=VRAI; ta10 .'HYPOTHESE_DEFORMATIONS'='LINEAIRE' ; PASAPAS ta10 ; * * * Post-traitement *----------------------------------------- * * reac0 = ta10 .'REACTIONS'.( dim10 - 1 ) ; depl0 = ta10 .'DEPLACEMENTS'.( dim10 - 1 ) ; *titr ' reactions ' ; *trace vec2 mail1 ; *titr ' deformees ' ; *trace ( defo0 'ET' defo1 ) ; * 'REPETER' bloc0 ( dim10 - 1 ) ; i10 = &bloc0 ; reac0 = ta10 .'REACTIONS'.i10 ; depl10 = ta10 .'DEPLACEMENTS'.i10 ; temp10 = ta10 .'TEMPS'.i10 ; * depl11 = 'EXTR' depl10 'UY' p11 ; * list reac1 ; sigm0 = ta10 .'CONTRAINTES'.i10 ; def0 = ta10 .'DEFORMATIONS_INELASTIQUES'.i10 ; eps0 = 'RTENS' eps0 mod00 ( 0 1 0 ) ; sigm0 = 'RTENS' sigm0 mod00 ( 0 1 0 ) ; def0 = 'RTENS' def0 mod00 ( 0 1 0 ) ; 'FIN' bloc0 ; * * * * * Maillage * epais0 = .0005 ; rayon0 = .05 ; l10 = .1 ; n10 = 1 ; p10 = rayon0 0. 0. ; p20 = rayon0 l10 0. ; p11 = rayon0 0. l10 ; p12 = rayon0 l10 l10 ; li1 = d p10 n10 p20 ; li2 = d p20 n10 p12 ; li3 = d p12 n10 p11 ; li4 = d p11 n10 p10 ; *titr 'maillage' ; *trace mail1 ; * depmax = .01 ; * * Courbe d'ecrouissage * beta0 = 1250. ; sig0 = 410.E6 ; xm = .5 ; youn0 = 7.34E10 ; epsmax0 = depmax / l10 ; pas0 = epsmax0 / 50 ; Y0 = sig0 ; epsp2 = beta0 * epsp1 ; epsp3 = epsp2 + un ; epsp31 = log epsp3 ; epsp32 = epsp31 * xm ; epsp4 = exp epsp32 ; Y1 = Y0 * epsp4 ; * epsp1 = epsp0 'ET' epsp1 ; Y1 = deb0 'ET' Y1 ; epsp2 = epsp1 + ( Y1 / youn0 ) ; * * Modele de calcul * *'DESS' trac0 ; mod00 = 'MODE' mail1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE' 'PLASTIQUE' 'ISOTROPE' 'COQ8' ; 'ECRO' ecro0 ; * * Conditions aux limites * cl00 = cl10 'ET' cl20 'ET' cl30 ; * * Chargement * chp1 = chp1 * depmax / l10 ; *trace chp1 mail1 ; chp0 = chp1 + chp2 + chp3 ; *vec1 = 'VECT' dep10 1.E-5 'FX' 'FY' 'FZ' 'ROUG' ; *titr ' chargement ' ; *trace vec1 mail1 ; * * Temps du calcul * dt00 = 50. ; tfin00 = 1000. ; * * * Resolution par PASAPAS *--------------------------------------- * ta10 = 'TABLE' ; ta10 .'MODELE' = mod00 ; ta10 .'CARACTERISTIQUES' = mat00 'ET' car00 ; ta10 .'BLOCAGES_MECANIQUES' = cl00 ; ta10 .'CHARGEMENT' = cha00 ; *ta10 .'TEMPS_CALCULES' = ( ( 'PROG' 0. 'PAS' dt00 80. ) 'ET' *( 'PROG' 85. 'PAS' 5. 90. ) 'ET' *( 'PROG' 92.5 'PAS' 2.5 tfin00 ) ) ; *ta10 .'TEMPS_CALCULES' = ( ( 'PROG' 0. 'PAS' 20. 60. ) 'ET' *( 'PROG' 62. 'PAS' 2. 70. ) 'ET' *( 'PROG' 71. 'PAS' dt00 79. ) 'ET' *( 'PROG' 79.5 'PAS' .5 tfin00 ) ) ; * TMASAU=table; ta10 . 'MES_SAUVEGARDES'=TMASAU; TMASAU .'DEFTO'=VRAI; TMASAU .'DEFIN'=VRAI; ta10 .'HYPOTHESE_DEFORMATIONS'='LINEAIRE' ; PASAPAS ta10 ; * * * Post-traitement *----------------------------------------- * * reac0 = ta10 .'REACTIONS'.( dim10 - 1 ) ; depl0 = ta10 .'DEPLACEMENTS'.( dim10 - 1 ) ; *titr ' reactions ' ; *trace vec2 mail1 ; *titr ' deformees ' ; *trace ( defo0 'ET' defo1 ) ; * 'REPETER' bloc0 ( dim10 - 1 ) ; i10 = &bloc0 ; reac0 = ta10 .'REACTIONS'.i10 ; depl10 = ta10 .'DEPLACEMENTS'.i10 ; temp10 = ta10 .'TEMPS'.i10 ; * depl11 = 'EXTR' depl10 'UY' p11 ; sigm0 = ta10 .'CONTRAINTES'.i10 ; def0 = ta10 .'DEFORMATIONS_INELASTIQUES'.i10 ; * sigm0 = 'RTENS' sigm0 mod00 ( 0 1 0 ) ; * sigm1 = 'CHAN' 'CHPO' sigm0 mod00 ; * titr ' Contrainte de cisaillement ' ; * trace ( 'EXCO' sigm1 'SMST' ) mail1 ; * titr ' Contrainte suivant Y' ; * trace ( 'EXCO' sigm1 'SMSS' ) mail1 ; * titr ' Contrainte suivant Z ' ; * trace ( 'EXCO' sigm1 'SMTT' ) mail1 ; 'FIN' bloc0 ; * * * * * Donnees du calcul coque * * Erreur * * * bool0 = faux ; 'REPETER' bloc0 ( dim10 - 1 ) ; i10 = &bloc0 ; * 'SI' (depl1 'NEG' 0. ) ; err_e0 = 'ABS' ( ( depl1 - depl11 ) / depl1 ) ; err_e0 = err_e0 * 100. ; err_e00 = 'ABS' ( ( depl1 - depl111 ) / depl1 ) ; err_e00 = err_e00 * 100. ; 'SINON' ; err_e0 = 0. ; err_e00 = 0. ; 'FINSI' ; * 'SI' ( ( err_e0 '>' 1.E-6 ) 'OU' ( err_e00 '>' 1.E-6 ) ) ; bool0 = vrai ; 'FINSI' ; * 'FIN' bloc0 ; * 'SI' ( bool0 'EGA' vrai ) ; 'SINON' ; 'FINSI' ; * * Traces * TAB = 'TABLE' ; TAB. 2 = 'MARQ CROI ' ; TAB. 3 = 'MARQ CARR ' ; TAB.'TITRE' = 'TABLE' ; *'DESS' ( evo1 'ET' evo2 'ET' evo4 ) *'TITR' ' Deplacement de l extremite du cylindre' *'LEGE' TAB ; * TAB = 'TABLE' ; TAB. 2 = 'MARQ CROI ' ; TAB.'TITRE' = 'TABLE' ; *'DESS' ( evo3 'ET' evo5 ) *'TITR' 'Erreur sur les deplacements ' *'LEGE' TAB ; * 'FIN' ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales