Télécharger mazars_traction_compression_traction.dgibi
* fichier : mazars_traction_compression_traction.dgibi ************************************************************************ * Cas test elementaire pour la loi d'endommagement de Mazars * * Essai de traction-compression-traction alterné * * * * Le test est realise avec plusieurs modes de calcul : * * 1) 3D volumique * * 2) 3D poutre a fibre * * 3) 2D contraintes planes * * 4) 2D axisymetrique * * 5) 2D poutre a fibre * * * * ITRAC1 : VRAI => affichage resultats * * IPSC1 : VRAI => affichage resultats dans un PostScript Couleur * ************************************************************************ ** Options pour les traces ITRAC1 = FAUX ; IPSC1 = VRAI ; SI IPSC1 ; FINSI ; ** 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 '3D poutre a fibre' ; *lcas = LECT 3 ; COMM '2D contraintes planes' ; *lcas = LECT 4 ; COMM '2D axisymetrique' ; *lcas = LECT 5 ; COMM '2D poutre a fibre' ; ** 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 ** Paramètres chargement2.E-4 -4.E-3 5.E-4 ** 1. traction (u1max), instant d'alternance (inst_1a) ** 2. compression (u2max), instant d'alternance (inst_2a) ** 3. traction (u3max) u1max = 2.E-4 ; u2max = -4.E-3 ; u3max = 5.E-4 ; inst_1a = 0.666 / (1. + (0.5*(ABS u2max)/u1max)) ; inst_2a = (1. + (0.666*(u3max/(ABS u2max)))) / (1. + (u3max/(ABS u2max))) ; ** Legende courbes tdess = 'TABLE' ; tdess.'TITRE' = 'TABLE' ; **************** 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 SI ITRAC1 ; FINSI ; ** Modele et caracteristiques materiau ** Blocages bl = blgauche ET bldroite ET blrig ; ** Chargements *opti echo 0; *saut 1 lign ; *titi = CHAI 'Evol. Chargement : 0.5*inst_1a' (0.5*inst_1a) ' inst_1a' inst_1a ' inst_2a' inst_2a ; *mess titi; *list ec1; *dess ec1 'TITRE' titi ; *saut 1 lign ; *opti echo 1; ** Tracé des blocages et du chargement SI ITRAC1 ; FINSI ; ** Resolution t . 'MODELE' = mo ; t . 'CARACTERISTIQUES' = ma ; t . 'BLOCAGES_MECANIQUES' = bl ; t . 'CHARGEMENT' = cha ; 'PAS' 3.E-3 inst_1a 'PAS' 1.E-2 0.666 'PAS' 1.E-2 inst_2a 'PAS' 1.E-2 0.9629 'PAS' 3.E-3 1. ; t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ; PASAPAS t ; ** Post traitement * courbes : endommagement moyen vs temps * contrainte moyenne vs deformation moyenne * force de reaction vs deplacement impose tt = t . 'TEMPS' ; tc = t . 'CONTRAINTES' ; te = t . 'DEFORMATIONS' ; tv = t . 'VARIABLES_INTERNES' ; tu = t . 'DEPLACEMENTS' ; tr = t . 'REACTIONS' ; tps1 = tt . (&b0 - 1) ; * Liste des instants : globale (ltps) * de 1.traction (ltps_t1) * de 2.compression (ltps_c2) * de 3.traction (ltps_t3) ltps = ltps ET tps1 ; SI (<EG tps1 inst_1a) ; ltps_t1 = ltps_t1 ET tps1 ; SINON ; SI (<EG tps1 inst_2a) ; ltps_c2 = ltps_c2 ET tps1 ; SINON ; ltps_t3 = ltps_t3 ET tps1 ; FINSI ; FINSI ; rea1 = 0. ; SI (NEG &b0 1) ; FINSI ; lend = lend ET end1 ; lsig = lsig ET sig1 ; leps = leps ET eps1 ; ldep = ldep ET u1 ; lrea = lrea ET rea1 ; FIN b0 ; * Instant de transition 1.Traction-2.Compression tpst1_t tpst1_t = 0.5*inst_1a ; * Endommagement de transition 1.Traction-2.Compression end_t1 * Instant de transition 2.Compression-3.Traction tpst3_t tpst3_t = 0.666 ; * Endommagement de transition 2.Compression-3.Traction end_t3 *nh145313 ** Sol.Ana. 1.Traction * defo.unidim. * defo.eq.Mazars (eps.tild) traction = defo.unidim. lepe1 = lepu1 ; dt1 = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ; REPE b1 ; SI (EGA &b1 1) ; dt_p1 = 0. ; FINSI ; ddt = dt_i - dt_p1 ; SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ; FINSI ; dt_p1 = dt_i ; QUIT b1 ; FINSI ; FIN b1 ; lsig1 = (un1 - dt1) * you * lepu1 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 1.Traction : end_t1' end_t1 ' tpst1_t' tpst1_t ' epst1_t' epst1_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; ** Sol.Ana. 2.Compression * defo.unidim. * defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.| lepe2 = (2.**0.5) * nu * (ABS lepu2) ; dc2 = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ; dc_m = 0. ; REPE b2 ; SI (EGA &b2 1) ; dc_p = 1. ; FINSI ; ddc = dc_i - dc_p ; *mess '=== Boucle b2 , passage' ' ' &b2 ; *mess ' dom.max ' ' ' dc_m; *mess ' dom.prec.' ' ' dc_p ; *mess ' dom.cour.' ' ' dc_i ; *mess ' incr.dom.' ' ' ddc ; SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ; *mess ' => on filtre'; SINON ; *mess ' a garder si le dommage augmente...'; SI (dc_i < dc_m) ; *mess ' ... NON => on ne garde pas'; SINON ; *mess ' ... OUI => on garde'; FINSI ; FINSI ; dc_p = dc_i ; QUIT b2 ; FINSI ; FIN b2 ; lsig2 = (un2 - dc2) * you * lepu2 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 2.Compression : end_t1' end_t1 ' tpsc2_t' tpsc2_t ' epsc2_t' epsc2_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; ** Sol.Ana. 3.Traction * defo.unidim. * defo.eq.Mazars (eps.tild) traction = defo.unidim. lepe3 = lepu3 ; dt3 = un3 - ((epd0*(un3-lat3)/lepe3) + (at*(EXP(bt*(lepd03-lepe3))))) ; REPE b3 ; SI (EGA &b3 1) ; dt_p3 = dt_p1 ; FINSI ; ddt = dt_i - dt_p3 ; SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ; FINSI ; dt_p3 = dt_i ; QUIT b3 ; FINSI ; FIN b3 ; lsig3 = (un3 - dt3) * you * lepu3 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 3.Traction : end_t3' end_t3 ' tpst3_t' tpst3_t ' epst3_t' epst3_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; SI ITRAC1 ; FINSI ; * evolutions temporelles a tous les points de Gauss ng = 8 ; REPE b ng ; FIN b ; * endommagement REPE b ng ; FIN b ; *nh145313 SI ITRAC1 ; FINSI ; * contrainte REPE b ng ; FIN b ; *nh145313 SI ITRAC1 ; FINSI ; * deformation REPE b ng ; FIN b ; SI ITRAC1 ; FINSI ; * deformee tps1 = tt . (&b3 - 1) ; * trace de la deformee (pour controle visuel) SI ITRAC1 ; * TRAC (def0 ET def1) 'TITR' tit1 ; FINSI ; FIN b3 ; SI ITRAC1 ; FINSI ; * comparaison Calcul / Reference sur la contrainte moyenne * 1.Traction, courbes réduites born_sup = epst1_t ; SI ((>EG xi born_inf) ET (<EG xi born_sup)) ; FINSI ; FIN b_an11 ; xp = 0. ; *mess 'born_inf' born_inf ' born_sup' born_sup ' 0.5inst_1a' (05.*inst_1a); dx = xi - xp ; *mess '=== Boucle b_ev1, passage' &b_ev1 ' ti' ti ' xi' xi ' dx' dx; SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0) ET (<EG ti (05.*inst_1a))) ; *mess ' => retenu'; FINSI ; xp = xi ; FIN b_ev1 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.1.Traction : 0.5*inst_1a' (0.5*inst_1a) ' tpst1_t' tpst1_t ; *mess titi; *dess (ev1_red ET an11_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ; tit1 = CHAI '[3D V] Ecart relatif Calcul/Reference Contrainte vs Deformation en 1.Traction, max' ' ' mer1 ; SI ITRAC1 ; FINSI ; * 2.Compression, courbes réduites born_inf = epsc2_t ; SI ((<EG xi born_inf) ET (>EG xi born_sup)) ; FINSI ; FIN b_an12 ; xp = 0. ; *mess 'born_inf' born_inf ' born_sup' born_sup ' t(dc2max)' 0.666; dx = xi - xp ; *mess '=== Boucle b_ev2, passage' &b_ev2 ' ti' ti ' xi' xi ' dx' dx; SI ((<EG xi born_inf) ET (>EG xi born_sup) ET (<eg dx 0)) ; *mess ' => retenu'; FINSI ; xp = xi ; FIN b_ev2 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.2.Compression : tpsc2_t' tpsc2_t ; *mess titi; *dess (ev2_red ET an12_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ; tit2 = CHAI '[3D V] Ecart relatif Calcul/Reference Contrainte vs Deformation en 2.Compression, max' ' ' mer2 ; SI ITRAC1 ; FINSI ; * 3.Traction, courbes réduites born_sup = 1.E3 ; *mess 'born_inf' born_inf ' born_sup' born_sup ' end_t3' end_t3; *mess '=== Boucle b_an13, passage' &b_an13 ' di' di ' xi' xi; SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG di end_t3)) ; *mess ' => retenu'; FINSI ; FIN b_an13 ; xp = 0. ; *mess 'born_inf' born_inf ' born_sup' born_sup ' tpst3_t' tpst3_t; dx = xi - xp ; *mess '=== Boucle b_ev3, passage' &b_ev3 ' ti' ti ' xi' xi ' dx' dx; SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0) ET (>EG ti tpst3_t)) ; * SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0)) ; *mess ' => retenu'; FINSI ; xp = xi ; FIN b_ev3 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.3.Traction : tpst3_t' tpst3_t ' end_t3' end_t3 ; *mess titi; *dess (ev3_red ET an13_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler3 = ABS (lsig_red - lsiga_red) / lsiga_red ; tit3 = CHAI '[3D V] Ecart relatif Calcul/Reference Contrainte vs Deformation en 3.Traction, max' ' ' mer3 ; SI ITRAC1 ; FINSI ; tdes1 = 'TABLE' ; tdes1.'TITRE' = 'TABLE' ; SI ITRAC1 ; FINSI ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2 mer3) ' < 1.E-08 => OK' ; SINO ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2 mer3) ' > 1.E-08 => ECHEC' ; IERR = VRAI ; FINS ; FINSI ; *********** C A S #2 : 3 D P O U T R E A F I B R E ************ ** Options generales ** Maillage p1s = (-0.5 * epai) (-0.5 * epai) 0. ; p2s = (-0.5 * epai) ( 0.5 * epai) 0. ; p1 = 0. 0. 0. ; p2 = long 0. 0. ; *nh145313 SI ITRAC1 ; FINSI ; ** Modele et caracteristiques materiau mas = MATE mos 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta 'ALPY' 1. 'ALPZ' 1. ; ** Blocages bl = blgauche ET bldroite ; *nh145313 bl = bl ET bldroit2 ; ** Chargements ** Tracé des blocages et du chargement SI ITRAC1 ; FINSI ; ** Resolution t . 'MODELE' = mo ; t . 'CARACTERISTIQUES' = ma ; t . 'BLOCAGES_MECANIQUES' = bl ; t . 'CHARGEMENT' = cha ; 'PAS' 3.E-3 inst_1a 'PAS' 1.E-2 0.666 'PAS' 1.E-2 inst_2a 'PAS' 1.E-2 0.9629 'PAS' 3.E-3 1. ; t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ; PASAPAS t ; ** Post traitement * courbes : endommagement moyen vs temps * contrainte moyenne vs deformation moyenne * force de reaction vs deplacement impose * evolutions temporelles a tous les points de Gauss ng = 4 ; REPE b ng ; FIN b ; *nh145313 tt = t . 'TEMPS' ; tv = t . 'VARIABLES_INTERNES' ; tu = t . 'DEPLACEMENTS' ; tr = t . 'REACTIONS' ; tps1 = tt . (&b0 - 1) ; * Liste des instants : globale (ltps) * de 1.traction (ltps_t1) * de 2.compression (ltps_c2) * de 3.traction (ltps_t3) ltps = ltps ET tps1 ; SI (<EG tps1 inst_1a) ; ltps_t1 = ltps_t1 ET tps1 ; SINON ; SI (<EG tps1 inst_2a) ; ltps_c2 = ltps_c2 ET tps1 ; SINON ; ltps_t3 = ltps_t3 ET tps1 ; FINSI ; FINSI ; SI (EGA &b0 1) ; lend1 = lend1 ET 0. ; lend2 = lend2 ET 0. ; lend3 = lend3 ET 0. ; lend4 = lend4 ET 0. ; lsig1 = lsig1 ET 0. ; lsig2 = lsig2 ET 0. ; lsig3 = lsig3 ET 0. ; lsig4 = lsig4 ET 0. ; leps1 = leps1 ET 0. ; leps2 = leps2 ET 0. ; leps3 = leps3 ET 0. ; leps4 = leps4 ET 0. ; SINON ; FINSI ; ldep = ldep ET u1 ; lrea = lrea ET rea1 ; FIN b0 ; * Moyennes des listreels en chaque pt de Gauss lend = 0.25 * (lend1 + lend2 + lend3 + lend4) ; lsig = 0.25 * (lsig1 + lsig2 + lsig3 + lsig4) ; leps = 0.25 * (leps1 + leps2 + leps3 + leps4) ; * Instant de transition 1.Traction-2.Compression tpst1_t tpst1_t = 0.5*inst_1a ; * Endommagement de transition 1.Traction-2.Compression end_t1 * Instant de transition 2.Compression-3.Traction tpst3_t tpst3_t = 0.666 ; * Endommagement de transition 2.Compression-3.Traction end_t3 *nh145313 ** Sol.Ana. 1.Traction * defo.unidim. * defo.eq.Mazars (eps.tild) traction = defo.unidim. lepe1 = lepu1 ; dt1 = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ; REPE b1 ; SI (EGA &b1 1) ; dt_p1 = 0. ; FINSI ; ddt = dt_i - dt_p1 ; SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ; FINSI ; dt_p1 = dt_i ; QUIT b1 ; FINSI ; FIN b1 ; asig1 = (un1 - dt1) * you * lepu1 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 1.Traction : end_t1' end_t1 ' tpst1_t' tpst1_t ' epst1_t' epst1_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; ** Sol.Ana. 2.Compression * defo.unidim. * defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.| lepe2 = (2.**0.5) * nu * (ABS lepu2) ; dc2 = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ; dc_m = 0. ; REPE b2 ; SI (EGA &b2 1) ; dc_p = 1. ; FINSI ; ddc = dc_i - dc_p ; *mess '=== Boucle b2 , passage' ' ' &b2 ; *mess ' dom.max ' ' ' dc_m; *mess ' dom.prec.' ' ' dc_p ; *mess ' dom.cour.' ' ' dc_i ; *mess ' incr.dom.' ' ' ddc ; SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ; *mess ' => on filtre'; SINON ; *mess ' a garder si le dommage augmente...'; SI (dc_i < dc_m) ; *mess ' ... NON => on ne garde pas'; SINON ; *mess ' ... OUI => on garde'; FINSI ; FINSI ; dc_p = dc_i ; QUIT b2 ; FINSI ; FIN b2 ; asig2 = (un2 - dc2) * you * lepu2 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 2.Compression : end_t1' end_t1 ' tpsc2_t' tpsc2_t ' epsc2_t' epsc2_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; ** Sol.Ana. 3.Traction * defo.unidim. * defo.eq.Mazars (eps.tild) traction = defo.unidim. lepe3 = lepu3 ; dt3 = un3 - ((epd0*(un3-lat3)/lepe3) + (at*(EXP(bt*(lepd03-lepe3))))) ; REPE b3 ; SI (EGA &b3 1) ; dt_p3 = dt_p1 ; FINSI ; ddt = dt_i - dt_p3 ; SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ; FINSI ; dt_p3 = dt_i ; QUIT b3 ; FINSI ; FIN b3 ; asig3 = (un3 - dt3) * you * lepu3 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 3.Traction : end_t3' end_t3 ' tpst3_t' tpst3_t ' epst3_t' epst3_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; SI ITRAC1 ; FINSI ; * deformee tps1 = tt . (&b3 - 1) ; * trace de la deformee (pour controle visuel) SI ITRAC1 ; * TRAC (def0 ET def1) 'TITR' tit1 ; FINSI ; FIN b3 ; SI ITRAC1 ; FINSI ; * comparaison Calcul / Reference sur la contrainte moyenne * 1.Traction, courbes réduites born_sup = epst1_t ; *opti echo 0; *mess 'Boucle de reduction Courbe analytique'; *mess '====================================='; *mess 'born_inf' born_inf ' born_sup' born_sup; *mess '=== Boucle b_an11, passage' &b_an11 ' xi' xi; SI ((>EG xi born_inf) ET (<EG xi born_sup)) ; *mess ' => retenu'; FINSI ; FIN b_an11 ; *mess 'Courbe analytique reduite : an11_red';list an11_red; *opti echo 1; xp = 0. ; *opti echo 0; *mess 'Boucle de reduction Courbe calculee'; *mess '==================================='; *mess 'born_inf' born_inf ' born_sup' born_sup ' born_sup+1.E-10' (born_sup + 1.E-10) ' 0.5inst_1a' (05.*inst_1a); dx = xi - xp ; *mess '=== Boucle b_ev1, passage' &b_ev1 ' ti' ti ' xi' xi ' dx' dx; SI ((>EG xi born_inf) ET (<EG xi (born_sup + 1.E-10)) ET (>EG dx 0) ET (<EG ti (05.*inst_1a))) ; *mess ' => retenu'; FINSI ; xp = xi ; FIN b_ev1 ; *mess 'Courbe calculee reduite : ev1_red';list ev1_red; *opti echo 1; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.1.Traction : 0.5*inst_1a' (0.5*inst_1a) ' tpst1_t' tpst1_t ; *mess titi; *dess (ev1_red ET an11_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ; tit1 = CHAI '[3D PaF] Ecart relatif Calcul/Reference Contrainte vs Deformation en 1.Traction, max' ' ' mer1 ; SI ITRAC1 ; FINSI ; * 2.Compression, courbes réduites born_inf = epsc2_t ; *opti echo 0; *mess 'Boucle de reduction Courbe analytique'; *mess '====================================='; *mess 'born_inf' born_inf ' born_sup' born_sup; *mess '=== Boucle b_an12, passage' &b_an12 ' xi' xi; SI ((<EG xi born_inf) ET (>EG xi born_sup)) ; *mess ' => retenu'; FINSI ; FIN b_an12 ; *mess 'Courbe analytique reduite : an12_red';list an12_red; *opti echo 1; xp = 0. ; *opti echo 0; *mess 'Boucle de reduction Courbe calculee'; *mess '==================================='; *mess 'born_inf' born_inf ' born_sup' born_sup ' born_sup+1.E-9' (born_sup - 1.E-10) ' dx' dx; dx = xi - xp ; *mess '=== Boucle b_ev2, passage' &b_ev2 ' xi' xi ' dx' dx; SI ((<EG xi born_inf) ET (>EG xi (born_sup - 1.E-10)) ET (<eg dx 0)) ; *mess ' => retenu'; FINSI ; xp = xi ; FIN b_ev2 ; *mess 'Courbe calculee reduite : ev2_red';list ev2_red; *opti echo 1; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.2.Compression : born_inf' born_inf ' born_sup' born_sup ; *mess titi; *dess (ev2_red ET an12_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ; tit2 = CHAI '[3D PaF] Ecart relatif Calcul/Reference Contrainte vs Deformation en 2.Compression, max' ' ' mer2 ; SI ITRAC1 ; FINSI ; * 3.Traction, courbes réduites born_sup = 1.E3 ; *mess 'born_inf' born_inf ' born_sup' born_sup ' end_t3' end_t3; SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG di end_t3)) ; FINSI ; FIN b_an13 ; xp = 0. ; dx = xi - xp ; SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0) ET (>EG ti tpst3_t)) ; FINSI ; xp = xi ; FIN b_ev3 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.3.Traction : tpst3_t' tpst3_t ' end_t3' end_t3 ; *mess titi; *dess (ev3_red ET an13_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler3 = ABS (lsig_red - lsiga_red) / lsiga_red ; tit3 = CHAI '[3D PaF] Ecart relatif Calcul/Reference Contrainte vs Deformation en 3.Traction, max' ' ' mer3 ; SI ITRAC1 ; FINSI ; tdes1 = 'TABLE' ; tdes1.'TITRE' = 'TABLE' ; SI ITRAC1 ; FINSI ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2 mer3) ' < 1.E-08 => OK' ; SINO ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2 mer3) ' > 1.E-08 => ECHEC' ; IERR = VRAI ; FINS ; FINSI ; ******* C A S #3 : 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 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 bl = blgauche ET bldroite ET blrig ; ** Chargements ** Tracé des blocages et du chargement SI ITRAC1 ; FINSI ; ** Resolution t . 'MODELE' = mo ; t . 'CARACTERISTIQUES' = ma ; t . 'BLOCAGES_MECANIQUES' = bl ; t . 'CHARGEMENT' = cha ; 'PAS' 3.E-3 inst_1a 'PAS' 1.E-2 0.666 'PAS' 1.E-2 inst_2a 'PAS' 1.E-2 0.9629 'PAS' 3.E-3 1. ; t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ; PASAPAS t ; ** Post traitement * courbes : endommagement moyen vs temps * contrainte moyenne vs deformation moyenne * force de reaction vs deplacement impose tt = t . 'TEMPS' ; tc = t . 'CONTRAINTES' ; te = t . 'DEFORMATIONS' ; tv = t . 'VARIABLES_INTERNES' ; tu = t . 'DEPLACEMENTS' ; tr = t . 'REACTIONS' ; tps1 = tt . (&b0 - 1) ; * Liste des instants : globale (ltps) * de 1.traction (ltps_t1) * de 2.compression (ltps_c2) * de 3.traction (ltps_t3) ltps = ltps ET tps1 ; SI (<EG tps1 inst_1a) ; ltps_t1 = ltps_t1 ET tps1 ; SINON ; SI (<EG tps1 inst_2a) ; ltps_c2 = ltps_c2 ET tps1 ; SINON ; ltps_t3 = ltps_t3 ET tps1 ; FINSI ; FINSI ; rea1 = 0. ; SI (NEG &b0 1) ; FINSI ; lend = lend ET end1 ; lsig = lsig ET sig1 ; leps = leps ET eps1 ; ldep = ldep ET u1 ; lrea = lrea ET rea1 ; FIN b0 ; * Instant de transition 1.Traction-2.Compression tpst1_t tpst1_t = 0.5*inst_1a ; * Endommagement de transition 1.Traction-2.Compression end_t1 * Instant de transition 2.Compression-3.Traction tpst3_t tpst3_t = 0.666 ; * Endommagement de transition 2.Compression-3.Traction end_t3 *nh145313 ** Sol.Ana. 1.Traction * defo.unidim. * defo.eq.Mazars (eps.tild) traction = defo.unidim. lepe1 = lepu1 ; dt1 = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ; REPE b1 ; SI (EGA &b1 1) ; dt_p1 = 0. ; FINSI ; ddt = dt_i - dt_p1 ; SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ; FINSI ; dt_p1 = dt_i ; QUIT b1 ; FINSI ; FIN b1 ; lsig1 = (un1 - dt1) * you * lepu1 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 1.Traction : end_t1' end_t1 ' tpst1_t' tpst1_t ' epst1_t' epst1_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; ** Sol.Ana. 2.Compression * defo.unidim. * defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.| lepe2 = (2.**0.5) * nu * (ABS lepu2) ; dc2 = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ; dc_m = 0. ; REPE b2 ; SI (EGA &b2 1) ; dc_p = 1. ; FINSI ; ddc = dc_i - dc_p ; *mess '=== Boucle b2 , passage' ' ' &b2 ; *mess ' dom.max ' ' ' dc_m; *mess ' dom.prec.' ' ' dc_p ; *mess ' dom.cour.' ' ' dc_i ; *mess ' incr.dom.' ' ' ddc ; SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ; *mess ' => on filtre'; SINON ; *mess ' a garder si le dommage augmente...'; SI (dc_i < dc_m) ; *mess ' ... NON => on ne garde pas'; SINON ; *mess ' ... OUI => on garde'; FINSI ; FINSI ; dc_p = dc_i ; QUIT b2 ; FINSI ; FIN b2 ; lsig2 = (un2 - dc2) * you * lepu2 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 2.Compression : end_t1' end_t1 ' tpsc2_t' tpsc2_t ' epsc2_t' epsc2_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; ** Sol.Ana. 3.Traction * defo.unidim. * defo.eq.Mazars (eps.tild) traction = defo.unidim. lepe3 = lepu3 ; dt3 = un3 - ((epd0*(un3-lat3)/lepe3) + (at*(EXP(bt*(lepd03-lepe3))))) ; REPE b3 ; SI (EGA &b3 1) ; dt_p3 = dt_p1 ; FINSI ; ddt = dt_i - dt_p3 ; SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ; FINSI ; dt_p3 = dt_i ; QUIT b3 ; FINSI ; FIN b3 ; lsig3 = (un3 - dt3) * you * lepu3 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 3.Traction : end_t3' end_t3 ' tpst3_t' tpst3_t ' epst3_t' epst3_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; SI ITRAC1 ; FINSI ; * evolutions temporelles a tous les points de Gauss ng = 4 ; REPE b ng ; FIN b ; * endommagement REPE b ng ; FIN b ; *nh145313 SI ITRAC1 ; FINSI ; * contrainte REPE b ng ; FIN b ; *nh145313 SI ITRAC1 ; FINSI ; * deformation REPE b ng ; FIN b ; SI ITRAC1 ; FINSI ; * deformee tps1 = tt . (&b3 - 1) ; * trace de la deformee (pour controle visuel) SI ITRAC1 ; * TRAC (def0 ET def1) 'TITR' tit1 ; FINSI ; FIN b3 ; SI ITRAC1 ; FINSI ; * comparaison Calcul / Reference sur la contrainte moyenne * 1.Traction, courbes réduites born_sup = epst1_t ; SI ((>EG xi born_inf) ET (<EG xi born_sup)) ; FINSI ; FIN b_an11 ; xp = 0. ; *mess 'born_inf' born_inf ' born_sup' born_sup ' 0.5inst_1a' (05.*inst_1a); dx = xi - xp ; *mess '=== Boucle b_ev1, passage' &b_ev1 ' ti' ti ' xi' xi ' dx' dx; SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0) ET (<EG ti (05.*inst_1a))) ; *mess ' => retenu'; FINSI ; xp = xi ; FIN b_ev1 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.1.Traction : 0.5*inst_1a' (0.5*inst_1a) ' tpst1_t' tpst1_t ; *mess titi; *dess (ev1_red ET an11_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ; SI ITRAC1 ; FINSI ; * 2.Compression, courbes réduites born_inf = epsc2_t ; SI ((<EG xi born_inf) ET (>EG xi born_sup)) ; FINSI ; FIN b_an12 ; xp = 0. ; *mess 'born_inf' born_inf ' born_sup' born_sup ' t(dc2max)' 0.666; dx = xi - xp ; *mess '=== Boucle b_ev2, passage' &b_ev2 ' ti' ti ' xi' xi ' dx' dx; SI ((<EG xi born_inf) ET (>EG xi born_sup) ET (<eg dx 0)) ; *mess ' => retenu'; FINSI ; xp = xi ; FIN b_ev2 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.2.Compression : tpsc2_t' tpsc2_t ; *mess titi; *dess (ev2_red ET an12_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ; SI ITRAC1 ; FINSI ; * 3.Traction, courbes réduites born_sup = 1.E3 ; *mess 'born_inf' born_inf ' born_sup' born_sup ' end_t3' end_t3; *mess '=== Boucle b_an13, passage' &b_an13 ' di' di ' xi' xi; SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG di end_t3)) ; *mess ' => retenu'; FINSI ; FIN b_an13 ; xp = 0. ; *mess 'born_inf' born_inf ' born_sup' born_sup ' tpst3_t' tpst3_t; dx = xi - xp ; *mess '=== Boucle b_ev3, passage' &b_ev3 ' ti' ti ' xi' xi ' dx' dx; SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0) ET (>EG ti tpst3_t)) ; * SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0)) ; *mess ' => retenu'; FINSI ; xp = xi ; FIN b_ev3 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.3.Traction : tpst3_t' tpst3_t ' end_t3' end_t3 ; *mess titi; *dess (ev3_red ET an13_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler3 = ABS (lsig_red - lsiga_red) / lsiga_red ; SI ITRAC1 ; FINSI ; tdes1 = 'TABLE' ; tdes1.'TITRE' = 'TABLE' ; SI ITRAC1 ; FINSI ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2 mer3) ' < 1.E-10 => OK' ; SINO ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2 mer3) ' > 1.E-10 => ECHEC' ; IERR = VRAI ; FINS ; FINSI ; ************ C A S #4 : 2 D A X I S Y M E T R I Q U E ************* ** Options generales ** Maillage p1 = 0. 0. ; p2 = long 0. ; *nh145313 SI ITRAC1 ; FINSI ; ** Modele et caracteristiques materiau un = zer + 1. ; ** Blocages bl = blbas ET blhaut ; ** Chargements ** Tracé des blocages et du chargement SI ITRAC1 ; FINSI ; ** Resolution t . 'MODELE' = mo ; t . 'CARACTERISTIQUES' = ma ; t . 'BLOCAGES_MECANIQUES' = bl ; t . 'CHARGEMENT' = cha ; 'PAS' 3.E-3 inst_1a 'PAS' 1.E-2 0.666 'PAS' 1.E-2 inst_2a 'PAS' 1.E-2 0.9629 'PAS' 3.E-3 1. ; t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ; PASAPAS t ; ** Post traitement * courbes : endommagement moyen vs temps * contrainte moyenne vs deformation moyenne * force de reaction vs deplacement impose tt = t . 'TEMPS' ; tc = t . 'CONTRAINTES' ; te = t . 'DEFORMATIONS' ; tv = t . 'VARIABLES_INTERNES' ; tu = t . 'DEPLACEMENTS' ; tr = t . 'REACTIONS' ; tps1 = tt . (&b0 - 1) ; * Liste des instants : globale (ltps) * de 1.traction (ltps_t1) * de 2.compression (ltps_c2) * de 3.traction (ltps_t3) ltps = ltps ET tps1 ; SI (<EG tps1 inst_1a) ; ltps_t1 = ltps_t1 ET tps1 ; SINON ; SI (<EG tps1 inst_2a) ; ltps_c2 = ltps_c2 ET tps1 ; SINON ; ltps_t3 = ltps_t3 ET tps1 ; FINSI ; FINSI ; rea1 = 0. ; SI (NEG &b0 1) ; FINSI ; lend = lend ET end1 ; lsig = lsig ET sig1 ; leps = leps ET eps1 ; ldep = ldep ET u1 ; lrea = lrea ET rea1 ; FIN b0 ; * Instant de transition 1.Traction-2.Compression tpst1_t tpst1_t = 0.5*inst_1a ; * Endommagement de transition 1.Traction-2.Compression end_t1 * Instant de transition 2.Compression-3.Traction tpst3_t tpst3_t = 0.666 ; * Endommagement de transition 2.Compression-3.Traction end_t3 *nh145313 ** Sol.Ana. 1.Traction * defo.unidim. * defo.eq.Mazars (eps.tild) traction = defo.unidim. lepe1 = lepu1 ; dt1 = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ; REPE b1 ; SI (EGA &b1 1) ; dt_p1 = 0. ; FINSI ; ddt = dt_i - dt_p1 ; SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ; FINSI ; dt_p1 = dt_i ; QUIT b1 ; FINSI ; FIN b1 ; lsig1 = (un1 - dt1) * you * lepu1 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 1.Traction : end_t1' end_t1 ' tpst1_t' tpst1_t ' epst1_t' epst1_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; ** Sol.Ana. 2.Compression * defo.unidim. * defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.| lepe2 = (2.**0.5) * nu * (ABS lepu2) ; dc2 = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ; dc_m = 0. ; REPE b2 ; SI (EGA &b2 1) ; dc_p = 1. ; FINSI ; ddc = dc_i - dc_p ; *mess '=== Boucle b2 , passage' ' ' &b2 ; *mess ' dom.max ' ' ' dc_m; *mess ' dom.prec.' ' ' dc_p ; *mess ' dom.cour.' ' ' dc_i ; *mess ' incr.dom.' ' ' ddc ; SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ; *mess ' => on filtre'; SINON ; *mess ' a garder si le dommage augmente...'; SI (dc_i < dc_m) ; *mess ' ... NON => on ne garde pas'; SINON ; *mess ' ... OUI => on garde'; FINSI ; FINSI ; dc_p = dc_i ; QUIT b2 ; FINSI ; FIN b2 ; lsig2 = (un2 - dc2) * you * lepu2 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 2.Compression : end_t1' end_t1 ' tpsc2_t' tpsc2_t ' epsc2_t' epsc2_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; ** Sol.Ana. 3.Traction * defo.unidim. * defo.eq.Mazars (eps.tild) traction = defo.unidim. lepe3 = lepu3 ; dt3 = un3 - ((epd0*(un3-lat3)/lepe3) + (at*(EXP(bt*(lepd03-lepe3))))) ; REPE b3 ; SI (EGA &b3 1) ; dt_p3 = dt_p1 ; FINSI ; ddt = dt_i - dt_p3 ; SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ; FINSI ; dt_p3 = dt_i ; QUIT b3 ; FINSI ; FIN b3 ; lsig3 = (un3 - dt3) * you * lepu3 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 3.Traction : end_t3' end_t3 ' tpst3_t' tpst3_t ' epst3_t' epst3_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; SI ITRAC1 ; FINSI ; * evolutions temporelles a tous les points de Gauss ng = 4 ; REPE b ng ; FIN b ; * endommagement REPE b ng ; FIN b ; *nh145313 SI ITRAC1 ; FINSI ; * contrainte REPE b ng ; FIN b ; *nh145313 SI ITRAC1 ; FINSI ; * deformation REPE b ng ; FIN b ; SI ITRAC1 ; FINSI ; * deformee tps1 = tt . (&b2 - 1) ; * trace de la deformee (pour controle visuel) SI ITRAC1 ; * TRAC (def0 ET def1) 'TITR' tit1 ; FINSI ; FIN b2 ; SI ITRAC1 ; FINSI ; * comparaison Calcul / Reference sur la contrainte moyenne * 1.Traction, courbes réduites born_sup = epst1_t ; SI ((>EG xi born_inf) ET (<EG xi born_sup)) ; FINSI ; FIN b_an11 ; xp = 0. ; *mess 'born_inf' born_inf ' born_sup' born_sup ' 0.5inst_1a' (05.*inst_1a); dx = xi - xp ; *mess '=== Boucle b_ev1, passage' &b_ev1 ' ti' ti ' xi' xi ' dx' dx; SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0) ET (<EG ti (05.*inst_1a))) ; *mess ' => retenu'; FINSI ; xp = xi ; FIN b_ev1 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.1.Traction : 0.5*inst_1a' (0.5*inst_1a) ' tpst1_t' tpst1_t ; *mess titi; *dess (ev1_red ET an11_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ; tit1 = CHAI '[2D Axi.] Ecart relatif Calcul/Reference Contrainte vs Deformation en 1.Traction, max' ' ' mer1 ; SI ITRAC1 ; FINSI ; * 2.Compression, courbes réduites born_inf = epsc2_t ; SI ((<EG xi born_inf) ET (>EG xi born_sup)) ; FINSI ; FIN b_an12 ; xp = 0. ; *mess 'born_inf' born_inf ' born_sup' born_sup ' t(dc2max)' 0.666; dx = xi - xp ; *mess '=== Boucle b_ev2, passage' &b_ev2 ' ti' ti ' xi' xi ' dx' dx; SI ((<EG xi born_inf) ET (>EG xi born_sup) ET (<eg dx 0)) ; *mess ' => retenu'; FINSI ; xp = xi ; FIN b_ev2 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.2.Compression : tpsc2_t' tpsc2_t ; *mess titi; *dess (ev2_red ET an12_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ; tit2 = CHAI '[2D Axi.] Ecart relatif Calcul/Reference Contrainte vs Deformation en 2.Compression, max' ' ' mer2 ; SI ITRAC1 ; FINSI ; * 3.Traction, courbes réduites born_sup = 1.E3 ; *mess 'born_inf' born_inf ' born_sup' born_sup ' end_t3' end_t3; *mess '=== Boucle b_an13, passage' &b_an13 ' di' di ' xi' xi; SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG di end_t3)) ; *mess ' => retenu'; FINSI ; FIN b_an13 ; xp = 0. ; *mess 'born_inf' born_inf ' born_sup' born_sup ' tpst3_t' tpst3_t; dx = xi - xp ; *mess '=== Boucle b_ev3, passage' &b_ev3 ' ti' ti ' xi' xi ' dx' dx; SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0) ET (>EG ti tpst3_t)) ; * SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0)) ; *mess ' => retenu'; FINSI ; xp = xi ; FIN b_ev3 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.3.Traction : tpst3_t' tpst3_t ' end_t3' end_t3 ; *mess titi; *dess (ev3_red ET an13_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler3 = ABS (lsig_red - lsiga_red) / lsiga_red ; tit3 = CHAI '[2D Axi.] Ecart relatif Calcul/Reference Contrainte vs Deformation en 3.Traction, max' ' ' mer3 ; SI ITRAC1 ; FINSI ; tdes1 = 'TABLE' ; tdes1.'TITRE' = 'TABLE' ; SI ITRAC1 ; FINSI ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2 mer3) ' < 1.E-10 => OK' ; SINO ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2 mer3) ' > 1.E-10 => ECHEC' ; IERR = VRAI ; FINS ; FINSI ; *********** C A S #5 : 2 D P O U T R E A F I B R E ************ ** Options generales ** Maillage p1s = (-0.5 * epai) (-0.5 * epai) ; p2s = (-0.5 * epai) ( 0.5 * epai) ; p1 = 0. 0. ; p2 = long 0. ; *nh145313 SI ITRAC1 ; FINSI ; ** Modele et caracteristiques materiau mas = MATE mos 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta 'ALPY' 1. ; ** Blocages bl = blgauche ET bldroite ; *nh145313 bl = bl ET bldroit2 ; ** Chargements ** Tracé des blocages et du chargement SI ITRAC1 ; FINSI ; ** Resolution t . 'MODELE' = mo ; t . 'CARACTERISTIQUES' = ma ; t . 'BLOCAGES_MECANIQUES' = bl ; t . 'CHARGEMENT' = cha ; 'PAS' 3.E-3 inst_1a 'PAS' 1.E-2 0.666 'PAS' 1.E-2 inst_2a 'PAS' 1.E-2 0.9629 'PAS' 3.E-3 1. ; t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ; PASAPAS t ; ** Post traitement * courbes : endommagement moyen vs temps * contrainte moyenne vs deformation moyenne * force de reaction vs deplacement impose * evolutions temporelles a tous les points de Gauss ng = 4 ; REPE b ng ; FIN b ; *nh145313 tt = t . 'TEMPS' ; tv = t . 'VARIABLES_INTERNES' ; tu = t . 'DEPLACEMENTS' ; tr = t . 'REACTIONS' ; tps1 = tt . (&b0 - 1) ; * Liste des instants : globale (ltps) * de 1.traction (ltps_t1) * de 2.compression (ltps_c2) * de 3.traction (ltps_t3) ltps = ltps ET tps1 ; SI (<EG tps1 inst_1a) ; ltps_t1 = ltps_t1 ET tps1 ; SINON ; SI (<EG tps1 inst_2a) ; ltps_c2 = ltps_c2 ET tps1 ; SINON ; ltps_t3 = ltps_t3 ET tps1 ; FINSI ; FINSI ; SI (EGA &b0 1) ; lend1 = lend1 ET 0. ; lend2 = lend2 ET 0. ; lend3 = lend3 ET 0. ; lend4 = lend4 ET 0. ; lsig1 = lsig1 ET 0. ; lsig2 = lsig2 ET 0. ; lsig3 = lsig3 ET 0. ; lsig4 = lsig4 ET 0. ; leps1 = leps1 ET 0. ; leps2 = leps2 ET 0. ; leps3 = leps3 ET 0. ; leps4 = leps4 ET 0. ; SINON ; FINSI ; ldep = ldep ET u1 ; lrea = lrea ET rea1 ; FIN b0 ; * Moyennes des listreels en chaque pt de Gauss lend = 0.25 * (lend1 + lend2 + lend3 + lend4) ; lsig = 0.25 * (lsig1 + lsig2 + lsig3 + lsig4) ; leps = 0.25 * (leps1 + leps2 + leps3 + leps4) ; * Instant de transition 1.Traction-2.Compression tpst1_t tpst1_t = 0.5*inst_1a ; * Endommagement de transition 1.Traction-2.Compression end_t1 * Instant de transition 2.Compression-3.Traction tpst3_t tpst3_t = 0.666 ; * Endommagement de transition 2.Compression-3.Traction end_t3 *nh145313 ** Sol.Ana. 1.Traction * defo.unidim. * defo.eq.Mazars (eps.tild) traction = defo.unidim. lepe1 = lepu1 ; dt1 = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ; REPE b1 ; SI (EGA &b1 1) ; dt_p1 = 0. ; FINSI ; ddt = dt_i - dt_p1 ; SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ; FINSI ; dt_p1 = dt_i ; QUIT b1 ; FINSI ; FIN b1 ; asig1 = (un1 - dt1) * you * lepu1 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 1.Traction : end_t1' end_t1 ' tpst1_t' tpst1_t ' epst1_t' epst1_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; ** Sol.Ana. 2.Compression * defo.unidim. * defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.| lepe2 = (2.**0.5) * nu * (ABS lepu2) ; dc2 = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ; dc_m = 0. ; REPE b2 ; SI (EGA &b2 1) ; dc_p = 1. ; FINSI ; ddc = dc_i - dc_p ; *mess '=== Boucle b2 , passage' ' ' &b2 ; *mess ' dom.max ' ' ' dc_m; *mess ' dom.prec.' ' ' dc_p ; *mess ' dom.cour.' ' ' dc_i ; *mess ' incr.dom.' ' ' ddc ; SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ; *mess ' => on filtre'; SINON ; *mess ' a garder si le dommage augmente...'; SI (dc_i < dc_m) ; *mess ' ... NON => on ne garde pas'; SINON ; *mess ' ... OUI => on garde'; FINSI ; FINSI ; dc_p = dc_i ; QUIT b2 ; FINSI ; FIN b2 ; asig2 = (un2 - dc2) * you * lepu2 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 2.Compression : end_t1' end_t1 ' tpsc2_t' tpsc2_t ' epsc2_t' epsc2_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; ** Sol.Ana. 3.Traction * defo.unidim. * defo.eq.Mazars (eps.tild) traction = defo.unidim. lepe3 = lepu3 ; dt3 = un3 - ((epd0*(un3-lat3)/lepe3) + (at*(EXP(bt*(lepd03-lepe3))))) ; REPE b3 ; SI (EGA &b3 1) ; dt_p3 = dt_p1 ; FINSI ; ddt = dt_i - dt_p3 ; SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ; FINSI ; dt_p3 = dt_i ; QUIT b3 ; FINSI ; FIN b3 ; asig3 = (un3 - dt3) * you * lepu3 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Transition, données de 3.Traction : end_t3' end_t3 ' tpst3_t' tpst3_t ' epst3_t' epst3_t ; *mess titi ; *saut 1 lign ; *opti echo 1 ; SI ITRAC1 ; FINSI ; * deformee tps1 = tt . (&b3 - 1) ; * trace de la deformee (pour controle visuel) SI ITRAC1 ; * TRAC (def0 ET def1) 'TITR' tit1 ; FINSI ; FIN b3 ; SI ITRAC1 ; FINSI ; * comparaison Calcul / Reference sur la contrainte moyenne * 1.Traction, courbes réduites born_sup = epst1_t ; *opti echo 0; *mess 'Boucle de reduction Courbe analytique'; *mess '====================================='; *mess 'born_inf' born_inf ' born_sup' born_sup; *mess '=== Boucle b_an11, passage' &b_an11 ' xi' xi; SI ((>EG xi born_inf) ET (<EG xi born_sup)) ; *mess ' => retenu'; FINSI ; FIN b_an11 ; *mess 'Courbe analytique reduite : an11_red';list an11_red; *opti echo 1; xp = 0. ; *opti echo 0; *mess 'Boucle de reduction Courbe calculee'; *mess '==================================='; *mess 'born_inf' born_inf ' born_sup' born_sup ' born_sup+1.E-10' (born_sup + 1.E-10) ' 0.5inst_1a' (05.*inst_1a); dx = xi - xp ; *mess '=== Boucle b_ev1, passage' &b_ev1 ' ti' ti ' xi' xi ' dx' dx; SI ((>EG xi born_inf) ET (<EG xi (born_sup + 1.E-10)) ET (>EG dx 0) ET (<EG ti (05.*inst_1a))) ; *mess ' => retenu'; FINSI ; xp = xi ; FIN b_ev1 ; *mess 'Courbe calculee reduite : ev1_red';list ev1_red; *opti echo 1; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.1.Traction : 0.5*inst_1a' (0.5*inst_1a) ' tpst1_t' tpst1_t ; *mess titi; *dess (ev1_red ET an11_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ; tit1 = CHAI '[2D PaF] Ecart relatif Calcul/Reference Contrainte vs Deformation en 1.Traction, max' ' ' mer1 ; SI ITRAC1 ; FINSI ; * 2.Compression, courbes réduites born_inf = epsc2_t ; *opti echo 0; *mess 'Boucle de reduction Courbe analytique'; *mess '====================================='; *mess 'born_inf' born_inf ' born_sup' born_sup; *mess '=== Boucle b_an12, passage' &b_an12 ' xi' xi; SI ((<EG xi born_inf) ET (>EG xi born_sup)) ; *mess ' => retenu'; FINSI ; FIN b_an12 ; *mess 'Courbe analytique reduite : an12_red';list an12_red; *opti echo 1; xp = 0. ; *opti echo 0; *mess 'Boucle de reduction Courbe calculee'; *mess '==================================='; *mess 'born_inf' born_inf ' born_sup' born_sup ' born_sup+1.E-9' (born_sup - 1.E-10) ' dx' dx; dx = xi - xp ; *mess '=== Boucle b_ev2, passage' &b_ev2 ' xi' xi ' dx' dx; SI ((<EG xi born_inf) ET (>EG xi (born_sup - 1.E-10)) ET (<eg dx 0)) ; *mess ' => retenu'; FINSI ; xp = xi ; FIN b_ev2 ; *mess 'Courbe calculee reduite : ev2_red';list ev2_red; *opti echo 1; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.2.Compression : born_inf' born_inf ' born_sup' born_sup ; *mess titi; *dess (ev2_red ET an12_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ; tit2 = CHAI '[2D PaF] Ecart relatif Calcul/Reference Contrainte vs Deformation en 2.Compression, max' ' ' mer2 ; SI ITRAC1 ; FINSI ; * 3.Traction, courbes réduites born_sup = 1.E3 ; *mess 'born_inf' born_inf ' born_sup' born_sup ' end_t3' end_t3; SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG di end_t3)) ; FINSI ; FIN b_an13 ; xp = 0. ; dx = xi - xp ; SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0) ET (>EG ti tpst3_t)) ; FINSI ; xp = xi ; FIN b_ev3 ; *opti echo 0 ; *saut 1 lign ; *titi = CHAI 'Evol. Contrainte vs Deformation - Borne de reduc.3.Traction : tpst3_t' tpst3_t ' end_t3' end_t3 ; *mess titi; *dess (ev3_red ET an13_red) 'TITR' titi 'LEGE' 'NO' tdess ; *saut 1 lign ; *opti echo 1; ler3 = ABS (lsig_red -lsiga_red) / lsiga_red; tit3 = CHAI '[2D PaF] Ecart relatif Calcul/Reference Contrainte vs Deformation en 3.Traction, max' ' ' mer3 ; SI ITRAC1 ; FINSI ; tdes1 = 'TABLE' ; tdes1.'TITRE' = 'TABLE' ; SI ITRAC1 ; FINSI ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2 mer3) ' < 1.E-08 => OK' ; SINO ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2 mer3) ' > 1.E-08 => ECHEC' ; 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