Télécharger mazars_biaxial.dgibi
************************************************************************ * Cas test elementaire pour la loi d'endommagement de Mazars * * Essai biaxial de traction ou compression monotones * * * * Le test est realise avec plusieurs modes de calcul : * * 1) 3D volumique * * 2) 2D contraintes planes * * * * ITRAC1 : VRAI => affichage resultats * * IPSC1 : VRAI => affichage resultats dans un PostScript Couleur * ************************************************************************ ** Options pour les traces ITRAC1 = VRAI ; IPSC1 = VRAI ; SI IPSC1 ; FINSI ; ** Initialisation sortie sur Erreur 1152 "Solution calculee non conforme par rapport a la solution de reference" IERR = FAUX ; ** Liste des modes de calcul a traiter *nh145313 *lcas = LECT 1 ; COMM '3D volumique' ; *lcas = LECT 2 ; COMM '2D contraintes planes' ; ** Parametres geometriques long = 1. ; epai = 0.1 ; ** Parametres materiau you = 20.E9 ; nu = 0.2 ; epd0 = 8.E-5 ; at = 1. ; ac = 1.5 ; bt = 8000. ; bc = 1550. ; beta = 1. ; *nh145313 ** Legende courbes tdess = 'TABLE' ; tdess.'TITRE' = 'TABLE' ; tdess. 1 = 'MARQ LOSA' ; tdess. 2 = 'MARQ XS CROI' ; ** Procedure PERSO1 pour stopper le calcul sur critere de ruine (REX : ISOUSPAS>ou=1 et Increm.Défo.>ou=2.E-3) DEBP PERSO1 t1*'TABLE' ; SI (EGA t1.'PERSO1_APPEL' 2) ; *mess 'Proc PERSO1'; *mess '==========='; *mess 'SOUS-PAS' ' ' T1.'WTABLE'.'ISOUSPAS' ' DPSMAX' ' ' T1.'WTABLE'.'DPSMAX' ; t1 . 'ARRET' = ('>EG' T1.'WTABLE'.'ISOUSPAS' 1) 'OU' ('>EG' T1.'WTABLE'.'DPSMAX' 2.E-3) ; FINSI; FINP ; ** Procedure EC_REL pour calculer la moyenne intergrale de la courbe écart relatif (Calc - Ref) / Ref DEBP EC_REL nsig ev_ref ev_cal nx ndime log_dess tcare ; xref2 = xcal ; *mess 'Avant suppression'; *mess 'ycal';list ycal; *mess 'yref2';list yref2; n_supr = 0 ; SI (yy 'EGA' 0. 1.E-2) ; n_supr = &b_y ; FINSI ; FIN b_y ; SI (n_supr NEG 0) ; *mess 'Apres suppression du terme' ' ' n_supr ; *mess 'ycal';list ycal; *mess 'yref2';list yref2; FINSI ; ler1 = ABS ((ycal - yref2) / yref2) ; *mess 'ler1';list ler1; SI (n_supr NEG 0) ; SINON ; mer1 = 0. ; FINSI ; tit1 = CHAI ndime ' ' nsig ' Val.abs.Ec.rel.|(Calc-Ref)/Ref| Contr. vs' ' ' nx ', moy.int.|Ecart|' ' ' mer1 ; SI ITRAC1 ; FINSI ; FINP mer1 ; ** Procedure SOL_REF pour restituer la solution de référence d'une configuration géométrique donnée DEBP SOL_REF nom_fic ; REST ; ev1 = ev_ref ; ev2 = evsmxx_ref ; ev3 = evsmyy_ref ; FINP ev1 ev2 ev3; **************** C A S #1 : 3 D V O L U M I Q U E **************** ** Options generales ** Maillage p1 = 0. 0. 0. ; p2 = 0. long 0. ; *nh145313 *nh145313 SI ITRAC1 ; FINSI ; ** Modele et caracteristiques materiau ** Blocages ** Chargements (on fait varier le rapport entre les contraintes xx et yy imposees) * angl1 = 120. ; *nh145313 sigmax0 = 5.E7 ; MESS ' sigmax' ' ' sigmax ; sxximp = sigmax * (COS angl1) ; syyimp = sigmax * (SIN angl1) ; ** Tracé des blocages et du chargement pour une valeur d'angle SI (EGA angl1 120.) ; SI ITRAC1 ; FINSI ; FINSI ; ** Resolution t . 'MODELE' = mo ; t . 'CARACTERISTIQUES' = ma ; t . 'BLOCAGES_MECANIQUES' = bl ; t . 'CHARGEMENT' = cha ; t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ; t . 'PROCEDURE_PERSO1' = VRAI ; PASAPAS t ; ok = 0 ; SI (t . 'ARRET') ; ok = 1 ; SINON; MESS ' la ruine n''a pas ete atteinte !'; FINSI ; FINSI ; lok = lok ET ok ; ** Post traitement * Recuperation des contraintes SMXX et SMYY obtenues a l'avant dernier instant de calcul (dernier instant = dommage total) tu = t . 'DEPLACEMENTS' ; tc = t . 'CONTRAINTES' ; langl1 = langl1 ET angl1 ; *nh145313 SI (EGA angl1 120.) ; * Courbes Dommage D en fonction des déplacements UX et UY * - D calcule au point de Gauss k de l'element j de la zone i * evduxi = EVOL 'ROUG' 'MANU' yvuxi yvdii ; * evduyi = EVOL 'ROSE' 'MANU' yvuyi yvdii ; SI ((EGA &b1_i 1) ET (EGA &b1_j 1) ET (EGA &b1_k 1)) ; evdux1 = evduxi ; evduy1 = evduyi ; SINON ; evdux1 = evdux1 ET evduxi ; evduy1 = evduy1 ET evduyi ; FINSI ; FIN b1_k ; FIN b1_j ; FIN b1_i ; * - table des courbes et cummul dans une seule evolution ix = 0 ; iy = 0 ; ix = &b_evdux1 ; t_evd1.'MARQ'. ix = 'MARQ LOSA' ; t_evd1.'MARQ'. iy = 'MARQ LOSA' ; SI (EGA ix 1) ; SINON ; FINSI ; FIN b_evdux1 ; iy = ix ; iy = iy + 1 ; FIN b_evduy1 ; * - dessin des courbes de dommage tdess1. &b_dess1 = t_evd1.'MARQ'. &b_dess1 ; tdess1.'TITRE'. &b_dess1 = t_evd1.'TITRE'. &b_dess1 ; FIN b_dess1 ; SI ITRAC1 ; FINSI ; * Courbes Contraintes en fonction des déformations : SMXX=fn(EPXX) et SMYY=fn(EPYYY) * - (SMXX,EPXX) et (SMYY,EPYY) calcules au point de Gauss k de l'element j de la zone i SI ((EGA &b2_i 1) ET (EGA &b2_j 1) ET (EGA &b2_k 1)) ; evxx1 = evxxi ; evyy1 = evyyi ; SINON ; evxx1 = evxx1 ET evxxi ; evyy1 = evyy1 ET evyyi ; FINSI ; FIN b2_k ; FIN b2_j ; FIN b2_i ; * - table des courbes et cummul dans une seule evolution SI (<EG &b_evse1 8) ; t_evse1.'MARQ'. &b_evse1 = 'MARQ LOSA' ; SINON ; t_evse1.'MARQ'. &b_evse1 = 'MARQ CARR' ; FINS; SI (EGA &b_evse1 1) ; SINON ; FINSI ; FIN b_evse1 ; * - dessin des courbes SMXX=fn(EPXX) et SMYY=fn(EPYY) tdess2. &b_dess2 = t_evse1.'MARQ'. &b_dess2 ; tdess2.'TITRE'. &b_dess2 = t_evse1.'TITRE'. &b_dess2 ; FIN b_dess2 ; SI ITRAC1 ; FINSI ; * contraintes SMXX et SMYY et deformations EPXX et EPYY a l'avant dernier instant (on retient l'etat avant dommage total) tt = t . 'TEMPS'. nn ; sm_ad = t . 'CONTRAINTES'. nn ; ep_ad = t . 'DEFORMATIONS'. nn ; ' |SMYY[Pa]' ' ' val_smyy_ad ' |EPYY[adim]' ' ' val_epyy_ad ; * deformee tps1 = t . 'TEMPS' . (&b2 - 1) ; * trace de la deformee (pour controle visuel) SI ITRAC1 ; * TRAC (def0 ET def1) 'TITR' tit1 ; FINSI ; FINSI ; FIN b2 ; SI ITRAC1 ; * TRAC (def0 ET def1) 'TITR' tit1 ; FINSI ; FINSI ; * Courbes calculees Contrainte avant ruine vs Angle FIN b0 ; * test que pour toutes les valeurs d'angle, on a atteint la ruine MESS ; MESS ; LIST lok ; FINSI ; * Solution de Reference : * FIC1 : mazars_biaxial_Ref_1342.out issu de 08_biaxial_non_suivi/08_biaxial_Ref_1342.dgibi * - pas de temps = 1.E-3 s * - increm. angle = 1 deg. ev2 evsmxx2 evsmyy2 = SOL_REF FIC1 ; * Courbes SMXX vs SMYY * on complete la courbe calculée sur [45 deg. ; 125deg] par sa symetrie par rapport à la bissectrice lsigxx1 = lsigxx ; lsigyy1 = lsigyy ; REPE b_val (nval - 1) ; FIN b_val ; SI ITRAC1 ; FINSI ; * Courbes normalisées à la resistance en compression uniaxiale Fc : SMXX/|Fc| - SMYY/|Fc| * - REX cas-test 2D-CP de compression uniaxiale en contrainte imposée 08_biaxial_Ref_1222c.dgibi : Fc = -25,64 MPa Fc = -0.2564E8 ; * - normalisation tit1 = '[3D V] Diagramme des contraintes normalisees SMXX/|Fc| - SMYY/|Fc|' ; SI ITRAC1 ; FINSI ; * Comparaison Calcul / Reference sur les courbes SMXX vs Angle et SMYY vs Angle * - sol. calculee : evsmxx1 et evsmyy1 * - sol. de Référence (calculée) : evsmxx2 et evsmyy2 *mess 'Courbe Reference';list evsmxx2; *mess 'Courbe calculee';list evsmxx1; merx = EC_REL 'SMXX' evsmxx2 evsmxx1 'Angle' '[3D V]' ITRAC1 tdess ; mery = EC_REL 'SMYY' evsmyy2 evsmyy1 'Angle' '[3D V]' ITRAC1 tdess ; SINO ; IERR = VRAI ; FINS ; FINSI ; ******* C A S #2 : 2 D C O N T R A I N T E S P L A N E S ******** ** Options generales ** Maillage p1 = 0. 0. ; p2 = 0. long ; *nh145313 *nh145313 SI ITRAC1 ; FINSI ; ** Modele et caracteristiques materiau ma = MATE mo 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta 'DIM3' epai ; ** Blocages ** Chargements (on fait varier le rapport entre les contraintes xx et yy imposees) * angl1 = 120. ; *nh145313 sigmax0 = 5.E6 ; MESS ' sigmax' ' ' sigmax ; sxximp = sigmax * (COS angl1) ; syyimp = sigmax * (SIN angl1) ; ** Tracé des blocages et du chargement pour une valeur d'angle SI (EGA angl1 120.) ; SI ITRAC1 ; FINSI ; FINSI ; ** Resolution t . 'MODELE' = mo ; t . 'CARACTERISTIQUES' = ma ; t . 'BLOCAGES_MECANIQUES' = bl ; t . 'CHARGEMENT' = cha ; t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ; t . 'PROCEDURE_PERSO1' = VRAI ; PASAPAS t ; ok = 0 ; SI (t . 'ARRET') ; ok = 1 ; SINON; MESS ' la ruine n''a pas ete atteinte !'; FINSI ; FINSI ; lok = lok ET ok ; ** Post traitement * Recuperation des contraintes SMXX et SMYY obtenues a l'avant dernier instant de calcul (dernier instant = dommage total) tu = t . 'DEPLACEMENTS' ; tc = t . 'CONTRAINTES' ; langl1 = langl1 ET angl1 ; *nh145313 SI (EGA angl1 120.) ; * Courbes Dommage D en fonction des déplacements UX et UY * - D calcule au point de Gauss k de l'element j de la zone i * evduxi = EVOL 'ROUG' 'MANU' yvuxi yvdii ; * evduyi = EVOL 'ROSE' 'MANU' yvuyi yvdii ; SI ((EGA &b1_i 1) ET (EGA &b1_j 1) ET (EGA &b1_k 1)) ; evdux1 = evduxi ; evduy1 = evduyi ; SINON ; evdux1 = evdux1 ET evduxi ; evduy1 = evduy1 ET evduyi ; FINSI ; FIN b1_k ; FIN b1_j ; FIN b1_i ; * - table des courbes et cummul dans une seule evolution ix = 0 ; iy = 0 ; ix = &b_evdux1 ; t_evd1.'MARQ'. ix = 'MARQ LOSA' ; t_evd1.'MARQ'. iy = 'MARQ LOSA' ; SI (EGA ix 1) ; SINON ; FINSI ; FIN b_evdux1 ; iy = ix ; iy = iy + 1 ; FIN b_evduy1 ; * - dessin des courbes de dommage tdess1. &b_dess1 = t_evd1.'MARQ'. &b_dess1 ; tdess1.'TITRE'. &b_dess1 = t_evd1.'TITRE'. &b_dess1 ; FIN b_dess1 ; SI ITRAC1 ; FINSI ; * Courbes Contraintes en fonction des déformations : SMXX=fn(EPXX) et SMYY=fn(EPYYY) * - (SMXX,EPXX) et (SMYY,EPYY) calcules au point de Gauss k de l'element j de la zone i SI ((EGA &b2_i 1) ET (EGA &b2_j 1) ET (EGA &b2_k 1)) ; evxx1 = evxxi ; evyy1 = evyyi ; SINON ; evxx1 = evxx1 ET evxxi ; evyy1 = evyy1 ET evyyi ; FINSI ; FIN b2_k ; FIN b2_j ; FIN b2_i ; * - table des courbes et cummul dans une seule evolution SI (<EG &b_evse1 4) ; t_evse1.'MARQ'. &b_evse1 = 'MARQ LOSA' ; SINON ; t_evse1.'MARQ'. &b_evse1 = 'MARQ CARR' ; FINS; SI (EGA &b_evse1 1) ; SINON ; FINSI ; FIN b_evse1 ; * - dessin des courbes SMXX=fn(EPXX) et SMYY=fn(EPYY) tdess2. &b_dess2 = t_evse1.'MARQ'. &b_dess2 ; tdess2.'TITRE'. &b_dess2 = t_evse1.'TITRE'. &b_dess2 ; FIN b_dess2 ; SI ITRAC1 ; FINSI ; * contraintes SMXX et SMYY et deformations EPXX et EPYY a l'avant dernier instant (on retient l'etat avant dommage total) tt = t . 'TEMPS'. nn ; sm_ad = t . 'CONTRAINTES'. nn ; ep_ad = t . 'DEFORMATIONS'. nn ; ' |SMYY[Pa]' ' ' val_smyy_ad ' |EPYY[adim]' ' ' val_epyy_ad ; * deformee tps1 = t . 'TEMPS' . (&b2 - 1) ; * trace de la deformee (pour controle visuel) SI ITRAC1 ; * TRAC (def0 ET def1) 'TITR' tit1 ; FINSI ; FINSI ; FIN b2 ; SI ITRAC1 ; * TRAC (def0 ET def1) 'TITR' tit1 ; FINSI ; FINSI ; * Courbes calculees Contrainte avant ruine vs Angle FIN b0 ; * test que pour toutes les valeurs d'angle, on a atteint la ruine MESS ; MESS ; LIST lok ; FINSI ; * Solution de Reference : * FIC2 : mazars_biaxial_Ref_1242c.out issu de 08_biaxial_non_suivi/08_biaxial_Ref_1242c.dgibi * - pas de temps = 1.E-3 s * - increm. angle = 1 deg. ev2 evsmxx2 evsmyy2 = SOL_REF FIC2 ; * Courbes SMXX vs SMYY * on complete la courbe calculée sur [45 deg. ; 125deg] par sa symetrie par rapport à la bissectrice lsigxx1 = lsigxx ; lsigyy1 = lsigyy ; REPE b_val (nval - 1) ; FIN b_val ; SI ITRAC1 ; FINSI ; * Courbes normalisées à la resistance en compression uniaxiale Fc : SMXX/|Fc| - SMYY/|Fc| * - REX cas-test 2D-CP de compression uniaxiale en contrainte imposée 08_biaxial_Ref_1222c.dgibi : Fc = -25,64 MPa Fc = -0.2564E8 ; * - normalisation SI ITRAC1 ; FINSI ; * Comparaison Calcul / Reference sur les courbes SMXX vs Angle et SMYY vs Angle * - sol. calculee : evsmxx1 et evsmyy1 * - sol. de Référence (calculée) : evsmxx2 et evsmyy2 *mess 'Courbe Reference';list evsmxx2; *mess 'Courbe calculee';list evsmxx1; SINO ; IERR = VRAI ; FINS ; FINSI ; ** Sortie sur Erreur 1152 en cas de non conformite SI IERR ; FINSI ; FIN ;
© Cast3M 2003 - Tous droits réservés.
Mentions légales