* fichier : mazars_traction_compression.dgibi
************************************************************************
* Cas test elementaire pour la loi d'endommagement de Mazars *
* Essai de traction-compression 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 chargement traction (utmax), compression (ucmax), instant d'alternance (inst_a)
utmax = 2.E-4 ;
ucmax = -5.E-3 ;
inst_a = utmax / (utmax + (0.5*(ABS ucmax))) ;
** Legende courbes
tdess = 'TABLE' ;
tdess.'TITRE' = 'TABLE' ;
tdess.
1 = MOT 'MARQ LOSA'
; tdess.'TITRE'.
1 = MOT 'Calcul'
; tdess .
2 = MOT 'MARQ CROI REGU'
; tdess . 'TITRE' .
2 = MOT 'Ref_Traction'
; tdess . 'TITRE' .
3 = MOT 'Ref_Compression'
;
**************** 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. ;
sgauche
= l12
TRAN 1 (0.
0.
long) ; mail
= sgauche
VOLU '
TRAN'
1 (long
0.
0.
) ; p3
= sdroite
POIN 'PROC'
(long
0.
0.
) ;*nh145313
cadr1
= COUL ((0.
1.05 1.05) ET (1.
1.05 1.05)) 'BLAN'
;rep1
= @REPERE (-0.55 -0.55 0.
) 'TURQ'
;SI ITRAC1 ;
TRAC 'QUAL'
(cadr1
ET rep1
ET mail
ET (sgauche
COUL 'VERT'
) ET (sdroite
COUL 'ROUG'
)) '
TITR' '
[3D V
] Maillage'
; FINSI ;
** Modele et caracteristiques materiau
mo
= MODE mail 'MECANIQUE' 'ELASTIQUE' 'ENDOMMAGEMENT' 'MAZARS'
; ma
= MATE mo 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta
;
** Blocages
blgauche
= BLOQ 'UX' sgauche
; bldroite
= BLOQ 'UX' sdroite
; blrig
= (BLOQ 'UY' 'UZ' p1
) ET (BLOQ 'UZ' p2
) ; bl = blgauche ET bldroite ET blrig ;
** Chargements
didroite
= DEPI bldroite
1.
; (PROG 0.
utmax 0.
ucmax) ; cha
= CHAR 'DIMP' didroite ec1
;
** Tracé des blocages et du chargement
mor
= MODE re0 'MECANIQUE' 'BARR'
; mar
= MATE mor 'YOUN'
1. 'NU'
1. 'SECT'
1.
; vf
= VECT didroite 'FLX' ' ' ' ' 'ROUGE'
; SI ITRAC1 ;
TRAC ((RIGI mo ma
) ET blgauche
ET blrig
ET rir
) vf 'NOLE' '
TITR' '
[3D V
] Blocages
et chargement'
; FINSI ;
** Resolution
t . 'MODELE' = mo ;
t . 'CARACTERISTIQUES' = ma ;
t . 'BLOCAGES_MECANIQUES' = bl ;
t . 'CHARGEMENT' = cha ;
t . 'TEMPS_CALCULES'
= PROG 0. 'PAS' 3.
E-3
(0.5*inst_a
) 'PAS' 3.E-3 inst_a
'PAS' 1.E-2 1. ;
t . 'MES_SAUVEGARDES'
= TABL ; t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
** 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' ;
def0
= DEFO (cadr1
ET rep1
ET mail
) (tu .
0) 0.
; end_p = 0. ;
tps1 = tt . (&b0 - 1) ;
* Liste des instants : globale (ltps) de traction (ltps_t) de compression (ltps_c)
ltps = ltps ET tps1 ;
SI (<EG tps1 inst_a) ;
ltps_t = ltps_t ET tps1 ;
SINON ;
ltps_c = ltps_c ET tps1 ;
FINSI ;
end1
= (INTG mo
(tv .
(&b0
- 1)) 'D'
) / mes1
; sig1
= (INTG mo
(tc .
(&b0
- 1)) 'SMXX'
) / mes1
; eps1
= (INTG mo
(te .
(&b0
- 1)) 'EPXX'
) / mes1
; u1
= EXTR (tu .
(&b0
- 1)) 'UX' p3
; rea1 = 0. ;
SI (NEG &b0 1) ;
rea1
= @TOTAL (tr .
(&b0
- 1)) sgauche 'FX'
; FINSI ;
lend = lend ET end1 ;
lsig = lsig ET sig1 ;
leps = leps ET eps1 ;
ldep = ldep ET u1 ;
lrea = lrea ET rea1 ;
* Endommagement de transition traction-compression end_t
dd1 = end1 - end_p ;
SI ((> end1 0.) ET (EGA dd1 0.)) ;
end_t = end1 ;
SINON ;
FINSI ;
end_p = end1 ;
FIN b0 ;
ev0
= EVOL 'ROUG' '
MANU' 'Temps' ltps 'D' lend
; ev1
= EVOL 'ROUG' '
MANU' 'EPXX' leps 'SMXX' lsig
; ev2
= EVOL 'ROUG' '
MANU' 'UX' ldep 'FX' lrea
;*nh145313
** Sol.Ana.Traction
lepd01
= PROG nb1
* epd0
;* defo.unidim.
lepu1
= (IPOL ltps_t ec1
) / long
;* defo.eq.Mazars (eps.tild) traction = defo.unidim.
lepe1 = lepu1 ;
dt = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ;
REPE b1 ;
SI (EGA &b1 1) ;
dt_p = 0. ;
FINSI ;
ddt = dt_i - dt_p ;
SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
lfiltr1
= lfiltr1
ET (LECT &b1
) ; FINSI ;
dt_p = dt_i ;
QUIT b1 ;
FINSI ;
FIN b1 ;
ltps_t
= ENLE ltps_t lfiltr1
; lepu1
= ENLE lepu1 lfiltr1
; lsig1 = (un1 - dt) * you * lepu1 ;
an01
= EVOL 'TURQ' '
MANU' 'Temps' ltps_t 'D' dt
; tpst_t
= IPOL end_t dt ltps_t
; an11
= EVOL 'TURQ' '
MANU' 'EPXX' lepu1 'SMXX' lsig1
; sigt_t
= IPOL tpst_t ltps_t lsig1
; epst_t
= IPOL tpst_t ltps_t lepu1
;
** Sol.Ana.Compression
lepd02
= PROG nb2
* epd0
;* defo.unidim.
lepu2
= (IPOL ltps_c ec1
) / long
;* defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.|
lepe2 = (2.**0.5) * nu * (ABS lepu2) ;
dc = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ;
REPE b2 ;
SI (EGA &b2 1) ;
dc_p = 1. ;
FINSI ;
ddc = dc_i - dc_p ;
SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
lfiltr2
= lfiltr2
ET (LECT &b2
) ; FINSI ;
dc_p = dc_i ;
QUIT b2 ;
FINSI ;
FIN b2 ;
ltps_c
= ENLE ltps_c lfiltr2
; lepu2
= ENLE lepu2 lfiltr2
; lsig2 = (un2 - dc) * you * lepu2 ;
an02
= EVOL 'TURQ' '
MANU' 'Temps' ltps_c 'D' dc
; tpsc_t
= IPOL end_t dc ltps_c
; an12
= EVOL 'TURQ' '
MANU' 'EPXX' lepu2 'SMXX' lsig2
; sigc_t
= IPOL tpsc_t ltps_c lsig2
; epsc_t
= IPOL tpsc_t ltps_c lepu2
; SI ITRAC1 ;
DESS (ev0
ET an01
ET an02
) '
TITR' '
[3D V
] Endommagement vs Temps' 'LEGE' 'SE' tdess
; DESS (ev1
ET an11
ET an12
) '
TITR' '
[3D V
] Contrainte vs Deformation' 'LEGE' 'NO' tdess
; DESS ev2 '
TITR' '
[3D V
] Reaction vs Deplacement' 'LEGE' 'SE' tdess
; FINSI ;
* evolutions temporelles a tous les points de Gauss
ng = 8 ;
tleg .
1 = MOT 'MARQ CARR NOLI'
; tleg .
2 = MOT 'MARQ LOSA NOLI'
; tleg .
3 = MOT 'MARQ ROND NOLI'
; tleg .
4 = MOT 'MARQ ETOI NOLI'
; tleg .
5 = MOT 'MARQ TRID NOLI'
; tleg .
6 = MOT 'MARQ TRIU NOLI'
; tleg .
7 = MOT 'MARQ TRIL NOLI'
; tleg .
8 = MOT 'MARQ TRIR NOLI'
; REPE b ng ;
tleg . 'TITRE' .
&b
= CHAI 'Calc_Pt_Gauss' ' '
&b
; FIN b ;
* endommagement
evend
= VIDE 'EVOLUTIO'
; REPE b ng ;
evend
= evend
ET (EVOL 'ROSE' '
TEMP' t 'VARIABLES_INTERNES' 'D'
1 1 &b
) ; FIN b ;
*nh145313
tleg .
(ng
+1) = MOT 'MARQ CROI REGU'
; tleg . 'TITRE' .
(ng
+1) = MOT 'Ref_Traction'
; tleg .
(ng
+2) = MOT 'MARQ
PLUS REGU'
; tleg . 'TITRE' .
(ng
+2) = MOT 'Ref_Compression'
; SI ITRAC1 ;
DESS (evend
ET an01
ET an02
) 'LEGE' 'SE' tleg '
TITR' '
[3D V
] D vs Temps'
; FINSI ;
* contrainte
evsmxx
= VIDE 'EVOLUTIO'
; REPE b ng ;
evsmxx
= evsmxx
ET (EVOL 'BLEU' '
TEMP' t 'CONTRAINTES' 'SMXX'
1 1 &b
) ; FIN b ;
*nh145313
ansmxx1
= EVOL 'TURQ' '
MANU' 'Temps' ltps_t 'SMXX' lsig1
; ansmxx2
= EVOL 'TURQ' '
MANU' 'Temps' ltps_c 'SMXX' lsig2
; SI ITRAC1 ;
DESS (evsmxx
ET ansmxx1
ET ansmxx2
) 'LEGE' 'NE' tleg '
TITR' '
[3D V
] SMXX vs Temps'
; FINSI ;
* deformation
evepxx
= VIDE 'EVOLUTIO'
; REPE b ng ;
evepxx
= evepxx
ET (EVOL 'VERT' '
TEMP' t 'DEFORMATIONS' 'EPXX'
1 1 &b
) ; FIN b ;
SI ITRAC1 ;
DESS evepxx 'LEGE' 'NE' tleg '
TITR' '
[3D V
] EPXX vs Temps'
; FINSI ;
* deformee
tps1 = tt . (&b3 - 1) ;
* trace de la deformee (pour controle visuel)
def1
= DEFO mail
(tu .
(&b3
- 1)) 33. 'ROUG'
; tit1
= CHAI '
[3D V
] Deformee au temps' ' ' tps1
; SI ITRAC1 ;
* TRAC (def0 ET def1) 'TITR' tit1 ;
FINSI ;
FIN b3 ;
SI ITRAC1 ;
FINSI ;
* comparaison Calcul / Reference sur la contrainte moyenne
* Traction, courbes réduites
born_inf
= EXTR lepu1
1 ; born_sup = epst_t ;
REPE b_an11
(dime lepu1
) ; xi
= EXTR lepu1
&b_an11
; yi
= EXTR lsig1
&b_an11
; SI ((>EG xi born_inf) ET (<EG xi born_sup)) ;
lepu1_red
= lepu1_red
et (PROG xi
) ; lsig1_red
= lsig1_red
et (PROG yi
) ; FINSI ;
FIN b_an11 ;
an11_red
= EVOL 'TURQ' '
MANU' 'EPXX' lepu1_red 'SMXX' lsig1_red
;
xp = 0. ;
dx = xi - xp ;
SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0)) ;
leps_red
= leps_red
et (PROG xi
) ; lsig_red
= lsig_red
et (PROG yi
) ; FINSI ;
xp = xi ;
FIN b_ev1 ;
ev1_red
= EVOL 'ROUG' '
MANU' 'EPXX' leps_red 'SMXX' lsig_red
;
lsiga_red
= '
IPOL' an11_red leps_red
; ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ;
eer1
= EVOL 'ORAN' '
MANU' 'EPXX' leps_red 'Ec.
rel.
SMXX' ler1
; tit1
= CHAI '
[3D V
] Ecart relatif Calcul
/Reference Contrainte vs Deformation en traction, max' ' ' mer1
; SI ITRAC1 ;
FINSI ;
* Compression, courbes réduites
born_inf = epsc_t ;
REPE b_an12
(dime lepu2
) ; xi
= EXTR lepu2
&b_an12
; yi
= EXTR lsig2
&b_an12
; SI ((<EG xi born_inf) ET (>EG xi born_sup)) ;
lepu2_red
= lepu2_red
et (PROG xi
) ; lsig2_red
= lsig2_red
et (PROG yi
) ; FINSI ;
FIN b_an12 ;
an12_red
= EVOL 'TURQ' '
MANU' 'EPXX' lepu2_red 'SMXX' lsig2_red
;
xp = 0. ;
dx = xi - xp ;
SI ((<EG xi born_inf) ET (>EG xi born_sup)) ;
leps_red
= leps_red
et (PROG xi
) ; lsig_red
= lsig_red
et (PROG yi
) ; FINSI ;
xp = xi ;
FIN b_ev1 ;
ev1_red
= EVOL 'ROUG' '
MANU' 'EPXX' leps_red 'SMXX' lsig_red
;
lsiga_red
= '
IPOL' an12_red leps_red
; ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ;
eer2
= EVOL 'ORAN' '
MANU' 'EPXX' leps_red 'Ec.
rel.
SMXX' ler2
; tit2
= CHAI '
[3D V
] Ecart relatif Calcul
/Reference Contrainte vs Deformation en compression, max' ' ' mer2
; SI ITRAC1 ;
FINSI ;
tdes1 = 'TABLE' ;
tdes1.'TITRE' = 'TABLE' ;
tdes1 .
1 = MOT 'MARQ CROI'
; tdes1 . 'TITRE' .
1 = MOT 'Traction'
; tdes1 . 'TITRE' .
2 = MOT 'Compression'
; tit1
= CHAI '
[3D V
] Ec.
rel.
Cal.
/Ref.
Contr.
vs Defo.
en trac.
(max' mer1 '
) - compress.
(max' mer2 '
)'
; SI ITRAC1 ;
DESS (eer1
et eer2
) 'LEGE' 'NE' tdes1 '
TITR' tit1
; FINSI ;
MESS '
**************** C A S #
1 :
3 D V O L U M I Q U E
****************'
; SI ((MAXI mer1 mer2
) < 1.
E-8
) ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2) ' < 1.E-08 => OK' ;
MESS ' Val.
abs.
Ecart relatif max entre Calcul
et Reference'
; MESS '
- phase
1.
Traction' ' ' mer1
; MESS '
- phase
2.
Compression' ' ' mer2
; MESS '
- maximum des
2 phases' ' '
(MAXI mer1 mer2
) '
< 1.
E-08
=> OK'
; SINO ;
* MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2) ' > 1.E-08 => ECHEC' ;
MESS ' Val.
abs.
Ecart relatif max entre Calcul
et Reference'
; MESS '
- phase
1.
Traction' ' ' mer1
; MESS '
- phase
2.
Compression' ' ' mer2
; MESS '
- maximum des
2 phases' ' '
(MAXI mer1 mer2
) '
> 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. ;
mails
= l12s
TRAN 1 (epai
0.
0.
) ; p1 = 0. 0. 0. ;
p2 = long 0. 0. ;
*nh145313
cadr1
= COUL ((-0.1 0.
0.
) ET (1.
0.
0.
)) 'BLAN'
;rep1
= @REPERE (-0.2 -0.2 0.
) (PROG 0.2 0.2 0.2) 'TURQ'
;SI ITRAC1 ;
TRAC 'QUAL'
(cadr1
ET rep1
ET (mails
COUL 'VERT'
) ET (mail
COUL 'ROUG'
)) '
TITR' '
[3D PaF
] Maillages de la Poutre
et de sa Section'
; FINSI ;
** Modele et caracteristiques materiau
mos
= MODE mails 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'MAZARS' 'QUAS'
; mas
= MATE mos 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta
'ALPY' 1. 'ALPZ' 1. ;
mo
= MODE mail 'MECANIQUE' 'ELASTIQUE' 'SECTION' 'PLASTIQUE' 'SECTION' 'TIMO'
; ma
= MATE mo 'MODS' mos 'MATS' mas '
VECT'
(0.
1.
0.
) ;
** Blocages
bldroite
= BLOQ 'UX' p2
; bl = blgauche ET bldroite ;
*nh145313
bl = bl ET bldroit2 ;
** Chargements
didroite
= DEPI bldroite
1.
; (PROG 0.
utmax 0.
ucmax) ; cha
= CHAR 'DIMP' didroite ec1
;
** Tracé des blocages et du chargement
mor
= MODE re0 'MECANIQUE' 'BARR'
; mar
= MATE mor 'YOUN'
1. 'NU'
1. 'SECT'
1.
; vf
= VECT didroite 'FLX' ' ' ' ' 'ROUG'
0.1 ; SI ITRAC1 ;
TRAC ((RIGI mo ma
) ET blgauche
ET rir
) vf 'NOLE' '
TITR' '
[3D PaF
] Blocages
et chargement'
; FINSI ;
** Resolution
t . 'MODELE' = mo ;
t . 'CARACTERISTIQUES' = ma ;
t . 'BLOCAGES_MECANIQUES' = bl ;
t . 'CHARGEMENT' = cha ;
t . 'TEMPS_CALCULES'
= PROG 0. 'PAS' 3.
E-3
(0.5*inst_a
) 'PAS' 3.E-3 inst_a
'PAS' 1.E-2 1. ;
t . 'MES_SAUVEGARDES'
= TABL ; t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
** 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 ;
tleg .
1 = MOT 'MARQ CARR NOLI'
; tleg .
2 = MOT 'MARQ LOSA NOLI'
; tleg .
3 = MOT 'MARQ ROND NOLI'
; tleg .
4 = MOT 'MARQ ETOI NOLI'
; REPE b ng ;
tleg . 'TITRE' .
&b
= CHAI 'Calc_Pt_Gauss' ' '
&b
; FIN b ;
*nh145313
tleg .
(ng
+1) = MOT 'MARQ CROI REGU'
; tleg . 'TITRE' .
(ng
+1) = MOT 'Ref_Traction'
; tleg .
(ng
+2) = MOT 'MARQ
PLUS REGU'
; tleg . 'TITRE' .
(ng
+2) = MOT 'Ref_Compression'
; tt = t . 'TEMPS' ;
tv = t . 'VARIABLES_INTERNES' ;
tu = t . 'DEPLACEMENTS' ;
tr = t . 'REACTIONS' ;
def0
= DEFO (cadr1
ET rep1
ET mail
) (tu .
0) 0.
; end_p = 0. ;
tps1 = tt . (&b0 - 1) ;
* Liste des instants : globale (ltps) de traction (ltps_t) de compression (ltps_c)
ltps = ltps ET tps1 ;
SI (<EG tps1 inst_a) ;
ltps_t = ltps_t ET tps1 ;
SINON ;
ltps_c = ltps_c ET tps1 ;
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. ;
end1 = 0. ;
SINON ;
lend1
= lend1
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VHNI'
1 1 1) ; lend2
= lend2
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VHNI'
1 1 2) ; lend3
= lend3
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VHNI'
1 1 3) ; lend4
= lend4
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VHNI'
1 1 4) ; lsig1
= lsig1
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VONS'
1 1 1) 'SMXX'
1 1 1) ; lsig2
= lsig2
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VONS'
1 1 1) 'SMXX'
1 1 2) ; lsig3
= lsig3
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VONS'
1 1 1) 'SMXX'
1 1 3) ; lsig4
= lsig4
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VONS'
1 1 1) 'SMXX'
1 1 4) ; leps1
= leps1
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VISX'
1 1 1) ; leps2
= leps2
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VISX'
1 1 2) ; leps3
= leps3
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VISX'
1 1 3) ; leps4
= leps4
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VISX'
1 1 4) ; end1
= EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VHNI'
1 1 1 ; FINSI ;
u1
= EXTR (tu .
(&b0
- 1)) 'UX' p2
; rea1
= EXTR (tr .
(&b0
- 1)) 'FX' p1
; ldep = ldep ET u1 ;
lrea = lrea ET rea1 ;
* Endommagement de transition traction-compression end_t
dd1 = end1 - end_p ;
SI ((> end1 0.) ET (EGA dd1 0.)) ;
end_t = end1 ;
SINON ;
FINSI ;
end_p = end1 ;
FIN b0 ;
ev0
= (EVOL 'ROUG' '
MANU' 'Temps' ltps 'D' lend1
) ET (EVOL 'ROUG' '
MANU' 'Temps' ltps 'D' lend2
) ET (EVOL 'ROUG' '
MANU' 'Temps' ltps 'D' lend3
) ET (EVOL 'ROUG' '
MANU' 'Temps' ltps 'D' lend4
) ; ev1
= (EVOL 'ROUG' '
MANU' 'EPXX' leps1 'SMXX' lsig1
) ET (EVOL 'ROUG' '
MANU' 'EPXX' leps2 'SMXX' lsig2
) ET (EVOL 'ROUG' '
MANU' 'EPXX' leps3 'SMXX' lsig3
) ET (EVOL 'ROUG' '
MANU' 'EPXX' leps4 'SMXX' lsig4
) ; ev2
= EVOL 'ROUG' '
MANU' 'UX' ldep 'FX' lrea
;*nh145313
** Sol.Ana.Traction
lepd01
= PROG nb1
* epd0
;* defo.unidim.
lepu1
= (IPOL ltps_t ec1
) / long
;* defo.eq.Mazars (eps.tild) traction = defo.unidim.
lepe1 = lepu1 ;
dt = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ;
REPE b1 ;
SI (EGA &b1 1) ;
dt_p = 0. ;
FINSI ;
ddt = dt_i - dt_p ;
SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
lfiltr1
= lfiltr1
ET (LECT &b1
) ; FINSI ;
dt_p = dt_i ;
QUIT b1 ;
FINSI ;
FIN b1 ;
ltps_t
= ENLE ltps_t lfiltr1
; lepu1
= ENLE lepu1 lfiltr1
; asig1 = (un1 - dt) * you * lepu1 ;
an01
= EVOL 'TURQ' '
MANU' 'Temps' ltps_t 'D' dt
; tpst_t
= IPOL end_t dt ltps_t
; an11
= EVOL 'TURQ' '
MANU' 'EPXX' lepu1 'SMXX' asig1
; sigt_t
= IPOL tpst_t ltps_t asig1
; epst_t
= IPOL tpst_t ltps_t lepu1
;
** Sol.Ana.Compression
lepd02
= PROG nb2
* epd0
;* defo.unidim.
lepu2
= (IPOL ltps_c ec1
) / long
;* defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.|
lepe2 = (2.**0.5) * nu * (ABS lepu2) ;
dc = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ;
REPE b2 ;
SI (EGA &b2 1) ;
dc_p = 1. ;
FINSI ;
ddc = dc_i - dc_p ;
SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
lfiltr2
= lfiltr2
ET (LECT &b2
) ; FINSI ;
dc_p = dc_i ;
QUIT b2 ;
FINSI ;
FIN b2 ;
ltps_c
= ENLE ltps_c lfiltr2
; lepu2
= ENLE lepu2 lfiltr2
; asig2 = (un2 - dc) * you * lepu2 ;
an02
= EVOL 'TURQ' '
MANU' 'Temps' ltps_c 'D' dc
; tpsc_t
= IPOL end_t dc ltps_c
; an12
= EVOL 'TURQ' '
MANU' 'EPXX' lepu2 'SMXX' asig2
; sigc_t
= IPOL tpsc_t ltps_c asig2
; epsc_t
= IPOL tpsc_t ltps_c lepu2
; SI ITRAC1 ;
DESS (ev0
ET an01
ET an02
) 'LEGE' 'SE' tleg '
TITR' '
[3D PaF
] Endommagement vs Temps'
; DESS (ev1
ET an11
ET an12
) 'LEGE' 'NO' tleg '
TITR' '
[3D PaF
] Contrainte vs Deformation'
; DESS ev2 '
TITR' '
[3D PaF
] Reaction vs Deplacement' 'LEGE' 'SE' tdess
; FINSI ;
* deformee
tps1 = tt . (&b3 - 1) ;
* trace de la deformee (pour controle visuel)
def1
= DEFO mail
(tu .
(&b3
- 1)) 33. 'ROUG'
; tit1
= CHAI '
[3D PaF
] Deformee au temps' ' ' tps1
; SI ITRAC1 ;
* TRAC (def0 ET def1) 'TITR' tit1 ;
FINSI ;
FIN b3 ;
SI ITRAC1 ;
FINSI ;
* comparaison Calcul / Reference sur la contrainte moyenne
* Traction, courbes réduites
born_inf
= EXTR lepu1
1 ; born_sup = epst_t ;
REPE b_an11
(dime lepu1
) ; xi
= EXTR lepu1
&b_an11
; yi
= EXTR asig1
&b_an11
; SI ((>EG xi born_inf) ET (<EG xi born_sup)) ;
lepu1_red
= lepu1_red
et (PROG xi
) ; asig1_red
= asig1_red
et (PROG yi
) ; FINSI ;
FIN b_an11 ;
an11_red
= EVOL 'TURQ' '
MANU' 'EPXX' lepu1_red 'SMXX' asig1_red
;
xp = 0. ;
REPE b_ev1
(dime leps1
) ; dx = xi - xp ;
SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0)) ;
leps_red
= leps_red
et (PROG xi
) ; lsig_red
= lsig_red
et (PROG yi
) ; FINSI ;
xp = xi ;
FIN b_ev1 ;
ev1_red
= EVOL 'ROUG' '
MANU' 'EPXX' leps_red 'SMXX' lsig_red
;
lsiga_red
= '
IPOL' an11_red leps_red
; ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ;
eer1
= EVOL 'ORAN' '
MANU' 'EPXX' leps_red 'Ec.
rel.
SMXX' ler1
; tit1
= CHAI '
[3D PaF
] Ecart relatif Calcul
/Reference Contrainte vs Deformation en traction, max' ' ' mer1
; SI ITRAC1 ;
FINSI ;
* Compression, courbes réduites
born_inf = epsc_t ;
REPE b_an12
(dime lepu2
) ; xi
= EXTR lepu2
&b_an12
; yi
= EXTR asig2
&b_an12
; SI ((<EG xi born_inf) ET (>EG xi born_sup)) ;
lepu2_red
= lepu2_red
et (PROG xi
) ; asig2_red
= asig2_red
et (PROG yi
) ; FINSI ;
FIN b_an12 ;
an12_red
= EVOL 'TURQ' '
MANU' 'EPXX' lepu2_red 'SMXX' asig2_red
;
xp = 0. ;
REPE b_ev1
(dime leps1
) ; dx = xi - xp ;
SI ((<EG xi born_inf) ET (>EG xi born_sup)) ;
leps_red
= leps_red
et (PROG xi
) ; lsig_red
= lsig_red
et (PROG yi
) ; FINSI ;
xp = xi ;
FIN b_ev1 ;
ev1_red
= EVOL 'ROUG' '
MANU' 'EPXX' leps_red 'SMXX' lsig_red
;
lsiga_red
= '
IPOL' an12_red leps_red
; ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ;
eer2
= EVOL 'ORAN' '
MANU' 'EPXX' leps_red 'Ec.
rel.
SMXX' ler2
; tit2
= CHAI '
[3D PaF
] Ecart relatif Calcul
/Reference Contrainte vs Deformation en compression, max' ' ' mer2
; SI ITRAC1 ;
FINSI ;
tdes1 = 'TABLE' ;
tdes1.'TITRE' = 'TABLE' ;
tdes1 .
1 = MOT 'MARQ CROI'
; tdes1 . 'TITRE' .
1 = MOT 'Traction'
; tdes1 . 'TITRE' .
2 = MOT 'Compression'
; tit1
= CHAI '
[3D PaF
] Ec.
rel.
Cal.
/Ref.
Contr.
vs Defo.
en trac.
(max' mer1 '
) - compress.
(max' mer2 '
)'
; SI ITRAC1 ;
DESS (eer1
et eer2
) 'LEGE' 'NE' tdes1 '
TITR' tit1
; FINSI ;
MESS '
*********** C A S #
2 :
3 D P O U T R E A F I B R E
************'
; SI ((MAXI mer1 mer2
) < 1.
E-8
) ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2) ' < 1.E-08 => OK' ;
MESS ' Val.
abs.
Ecart relatif max entre Calcul
et Reference'
; MESS '
- phase
1.
Traction' ' ' mer1
; MESS '
- phase
2.
Compression' ' ' mer2
; MESS '
- maximum des
2 phases' ' '
(MAXI mer1 mer2
) '
< 1.
E-08
=> OK'
; SINO ;
* MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2) ' > 1.E-08 => ECHEC' ;
MESS ' Val.
abs.
Ecart relatif max entre Calcul
et Reference'
; MESS '
- phase
1.
Traction' ' ' mer1
; MESS '
- phase
2.
Compression' ' ' mer2
; MESS '
- maximum des
2 phases' ' '
(MAXI mer1 mer2
) '
> 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 ;
mail
= sgauche
TRAN 1 (long
0.
) ; p3
= sdroite
POIN 'PROC'
(long
0.
) ;*nh145313
cadr1
= COUL ((0.
1.05) ET (1.01 1.05)) 'BLAN'
;SI ITRAC1 ;
TRAC 'QUAL'
(cadr1
ET rep1
ET mail
ET (sgauche
COUL 'VERT'
) ET (sdroite
COUL 'ROUG'
)) '
TITR' '
[2D Plan
cont.
] Maillage'
; FINSI ;
** Modele et caracteristiques materiau
mo
= MODE mail 'MECANIQUE' 'ELASTIQUE' 'ENDOMMAGEMENT' 'MAZARS'
; ma
= MATE mo 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta 'DIM3' epai
;
** Blocages
blgauche
= BLOQ 'UX' sgauche
; bldroite
= BLOQ 'UX' sdroite
; bl = blgauche ET bldroite ET blrig ;
** Chargements
didroite
= DEPI bldroite
1.
; (PROG 0.
utmax 0.
ucmax) ; cha
= CHAR 'DIMP' didroite ec1
;
** Tracé des blocages et du chargement
mor
= MODE re0 'MECANIQUE' 'BARR'
; mar
= MATE mor 'YOUN'
1. 'NU'
1. 'SECT'
1.
; vf
= VECT didroite 'FLX' ' ' 'ROUG'
; SI ITRAC1 ;
TRAC ((RIGI mo ma
) ET blgauche
ET blrig
ET rir
) vf 'NOLE' '
TITR' '
[2D Plan
cont.
] Blocages
et chargement'
; FINSI ;
** Resolution
t . 'MODELE' = mo ;
t . 'CARACTERISTIQUES' = ma ;
t . 'BLOCAGES_MECANIQUES' = bl ;
t . 'CHARGEMENT' = cha ;
t . 'TEMPS_CALCULES'
= PROG 0. 'PAS' 3.
E-3
(0.5*inst_a
) 'PAS' 3.E-3 inst_a
'PAS' 1.E-2 1. ;
t . 'MES_SAUVEGARDES'
= TABL ; t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
** 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' ;
def0
= DEFO (cadr1
ET rep1
ET mail
) (tu .
0) 0.
; end_p = 0. ;
tps1 = tt . (&b0 - 1) ;
* Liste des instants : globale (ltps) de traction (ltps_t) de compression (ltps_c)
ltps = ltps ET tps1 ;
SI (<EG tps1 inst_a) ;
ltps_t = ltps_t ET tps1 ;
SINON ;
ltps_c = ltps_c ET tps1 ;
FINSI ;
end1
= (INTG mo
(tv .
(&b0
- 1)) 'D'
) / mes1
; sig1
= (INTG mo
(tc .
(&b0
- 1)) 'SMXX'
) / mes1
; eps1
= (INTG mo
(te .
(&b0
- 1)) 'EPXX'
) / mes1
; u1
= EXTR (tu .
(&b0
- 1)) 'UX' p3
; rea1 = 0. ;
SI (NEG &b0 1) ;
rea1
= @TOTAL (tr .
(&b0
- 1)) sgauche 'FX'
; FINSI ;
lend = lend ET end1 ;
lsig = lsig ET sig1 ;
leps = leps ET eps1 ;
ldep = ldep ET u1 ;
lrea = lrea ET rea1 ;
* Endommagement de transition traction-compression end_t
dd1 = end1 - end_p ;
SI ((> end1 0.) ET (EGA dd1 0.)) ;
end_t = end1 ;
SINON ;
FINSI ;
end_p = end1 ;
FIN b0 ;
ev0
= EVOL 'ROUG' '
MANU' 'Temps' ltps 'D' lend
; ev1
= EVOL 'ROUG' '
MANU' 'EPXX' leps 'SMXX' lsig
; ev2
= EVOL 'ROUG' '
MANU' 'UX' ldep 'FX' lrea
;*nh145313
** Sol.Ana.Traction
lepd01
= PROG nb1
* epd0
;* defo.unidim.
lepu1
= (IPOL ltps_t ec1
) / long
;* defo.eq.Mazars (eps.tild) traction = defo.unidim.
lepe1 = lepu1 ;
dt = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ;
REPE b1 ;
SI (EGA &b1 1) ;
dt_p = 0. ;
FINSI ;
ddt = dt_i - dt_p ;
SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
lfiltr1
= lfiltr1
ET (LECT &b1
) ; FINSI ;
dt_p = dt_i ;
QUIT b1 ;
FINSI ;
FIN b1 ;
ltps_t
= ENLE ltps_t lfiltr1
; lepu1
= ENLE lepu1 lfiltr1
; lsig1 = (un1 - dt) * you * lepu1 ;
an01
= EVOL 'TURQ' '
MANU' 'Temps' ltps_t 'D' dt
; tpst_t
= IPOL end_t dt ltps_t
; an11
= EVOL 'TURQ' '
MANU' 'EPXX' lepu1 'SMXX' lsig1
; sigt_t
= IPOL tpst_t ltps_t lsig1
; epst_t
= IPOL tpst_t ltps_t lepu1
;
** Sol.Ana.Compression
lepd02
= PROG nb2
* epd0
;* defo.unidim.
lepu2
= (IPOL ltps_c ec1
) / long
;* defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.|
lepe2 = (2.**0.5) * nu * (ABS lepu2) ;
dc = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ;
REPE b2 ;
SI (EGA &b2 1) ;
dc_p = 1. ;
FINSI ;
ddc = dc_i - dc_p ;
SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
lfiltr2
= lfiltr2
ET (LECT &b2
) ; FINSI ;
dc_p = dc_i ;
QUIT b2 ;
FINSI ;
FIN b2 ;
ltps_c
= ENLE ltps_c lfiltr2
; lepu2
= ENLE lepu2 lfiltr2
; lsig2 = (un2 - dc) * you * lepu2 ;
an02
= EVOL 'TURQ' '
MANU' 'Temps' ltps_c 'D' dc
; tpsc_t
= IPOL end_t dc ltps_c
; an12
= EVOL 'TURQ' '
MANU' 'EPXX' lepu2 'SMXX' lsig2
; sigc_t
= IPOL tpsc_t ltps_c lsig2
; epsc_t
= IPOL tpsc_t ltps_c lepu2
; SI ITRAC1 ;
DESS (ev0
ET an01
ET an02
) '
TITR' '
[2D Plan
cont.
] Endommagement vs Temps' 'LEGE' 'SE' tdess
; DESS (ev1
ET an11
ET an12
) '
TITR' '
[2D Plan
cont.
] Contrainte vs Deformation' 'LEGE' 'NO' tdess
; DESS ev2 '
TITR' '
[2D Plan
cont.
] Reaction vs Deplacement' 'LEGE' 'SE' tdess
; FINSI ;
* evolutions temporelles a tous les points de Gauss
ng = 4 ;
tleg .
1 = MOT 'MARQ CARR NOLI'
; tleg .
2 = MOT 'MARQ LOSA NOLI'
; tleg .
3 = MOT 'MARQ ROND NOLI'
; tleg .
4 = MOT 'MARQ ETOI NOLI'
; REPE b ng ;
tleg . 'TITRE' .
&b
= CHAI 'Calc_Pt_Gauss' ' '
&b
; FIN b ;
* endommagement
evend
= VIDE 'EVOLUTIO'
; REPE b ng ;
evend
= evend
ET (EVOL 'ROSE' '
TEMP' t 'VARIABLES_INTERNES' 'D'
1 1 &b
) ; FIN b ;
*nh145313
tleg .
(ng
+1) = MOT 'MARQ CROI REGU'
; tleg . 'TITRE' .
(ng
+1) = MOT 'Ref_Traction'
; tleg .
(ng
+2) = MOT 'MARQ
PLUS REGU'
; tleg . 'TITRE' .
(ng
+2) = MOT 'Ref_Compression'
; SI ITRAC1 ;
DESS (evend
ET an01
ET an02
) 'LEGE' 'SE' tleg '
TITR' '
[2D Plan
cont.
] D vs Temps'
; FINSI ;
* contrainte
evsmxx
= VIDE 'EVOLUTIO'
; REPE b ng ;
evsmxx
= evsmxx
ET (EVOL 'BLEU' '
TEMP' t 'CONTRAINTES' 'SMXX'
1 1 &b
) ; FIN b ;
*nh145313
ansmxx1
= EVOL 'TURQ' '
MANU' 'Temps' ltps_t 'SMXX' lsig1
; ansmxx2
= EVOL 'TURQ' '
MANU' 'Temps' ltps_c 'SMXX' lsig2
; SI ITRAC1 ;
DESS (evsmxx
ET ansmxx1
ET ansmxx2
) 'LEGE' 'NE' tleg '
TITR' '
[2D Plan
cont.
] SMXX vs Temps'
; FINSI ;
* deformation
evepxx
= VIDE 'EVOLUTIO'
; REPE b ng ;
evepxx
= evepxx
ET (EVOL 'VERT' '
TEMP' t 'DEFORMATIONS' 'EPXX'
1 1 &b
) ; FIN b ;
SI ITRAC1 ;
DESS evepxx 'LEGE' tleg '
TITR' '
[2D Plan
cont.
] EPXX vs Temps'
; FINSI ;
* deformee
tps1 = tt . (&b3 - 1) ;
* trace de la deformee (pour controle visuel)
def1
= DEFO mail
(tu .
(&b3
- 1)) 33. 'ROUG'
; tit1
= CHAI '
[2D Plan
cont.
] Deformee au temps' ' ' tps1
; SI ITRAC1 ;
* TRAC (def0 ET def1) 'TITR' tit1 ;
FINSI ;
FIN b3 ;
SI ITRAC1 ;
FINSI ;
* comparaison Calcul / Reference sur la contrainte moyenne
* Traction, courbes réduites
born_inf
= EXTR lepu1
1 ; born_sup = epst_t ;
REPE b_an11
(dime lepu1
) ; xi
= EXTR lepu1
&b_an11
; yi
= EXTR lsig1
&b_an11
; SI ((>EG xi born_inf) ET (<EG xi born_sup)) ;
lepu1_red
= lepu1_red
et (PROG xi
) ; lsig1_red
= lsig1_red
et (PROG yi
) ; FINSI ;
FIN b_an11 ;
an11_red
= EVOL 'TURQ' '
MANU' 'EPXX' lepu1_red 'SMXX' lsig1_red
;
xp = 0. ;
dx = xi - xp ;
SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0)) ;
leps_red
= leps_red
et (PROG xi
) ; lsig_red
= lsig_red
et (PROG yi
) ; FINSI ;
xp = xi ;
FIN b_ev1 ;
ev1_red
= EVOL 'ROUG' '
MANU' 'EPXX' leps_red 'SMXX' lsig_red
;
lsiga_red
= '
IPOL' an11_red leps_red
; ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ;
eer1
= EVOL 'ORAN' '
MANU' 'EPXX' leps_red 'Ec.
rel.
SMXX' ler1
; tit1
= CHAI '
[2D Plan
cont.
] Ecart relatif Calcul
/Reference Contrainte vs Deformation en traction, max' ' ' mer1
; SI ITRAC1 ;
FINSI ;
* Compression, courbes réduites
born_inf = epsc_t ;
REPE b_an12
(dime lepu2
) ; xi
= EXTR lepu2
&b_an12
; yi
= EXTR lsig2
&b_an12
; SI ((<EG xi born_inf) ET (>EG xi born_sup)) ;
lepu2_red
= lepu2_red
et (PROG xi
) ; lsig2_red
= lsig2_red
et (PROG yi
) ; FINSI ;
FIN b_an12 ;
an12_red
= EVOL 'TURQ' '
MANU' 'EPXX' lepu2_red 'SMXX' lsig2_red
;
xp = 0. ;
dx = xi - xp ;
SI ((<EG xi born_inf) ET (>EG xi born_sup)) ;
leps_red
= leps_red
et (PROG xi
) ; lsig_red
= lsig_red
et (PROG yi
) ; FINSI ;
xp = xi ;
FIN b_ev1 ;
ev1_red
= EVOL 'ROUG' '
MANU' 'EPXX' leps_red 'SMXX' lsig_red
;
lsiga_red
= '
IPOL' an12_red leps_red
; ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ;
eer2
= EVOL 'ORAN' '
MANU' 'EPXX' leps_red 'Ec.
rel.
SMXX' ler2
; tit2
= CHAI '
[2D Plan
cont.
] Ecart relatif Calcul
/Reference Contrainte vs Deformation en compression, max' ' ' mer2
; SI ITRAC1 ;
FINSI ;
tdes1 = 'TABLE' ;
tdes1.'TITRE' = 'TABLE' ;
tdes1 .
1 = MOT 'MARQ CROI'
; tdes1 . 'TITRE' .
1 = MOT 'Traction'
; tdes1 . 'TITRE' .
2 = MOT 'Compression'
; tit1
= CHAI '
[2D Plan
cont.
] Ec.
rel.
Cal.
/Ref.
Contr.
vs Defo.
en trac.
(max' mer1 '
) - compress.
(max' mer2 '
)'
; SI ITRAC1 ;
DESS (eer1
et eer2
) 'LEGE' 'NE' tdes1 '
TITR' tit1
; FINSI ;
MESS '
******* C A S #
3 :
2 D C O N T R A I N T E S P L A N E S
********'
; SI ((MAXI mer1 mer2
) < 1.
E-10
) ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2) ' < 1.E-10 => OK' ;
MESS ' Val.
abs.
Ecart relatif max entre Calcul
et Reference'
; MESS '
- phase
1.
Traction' ' ' mer1
; MESS '
- phase
2.
Compression' ' ' mer2
; MESS '
- maximum des
2 phases' ' '
(MAXI mer1 mer2
) '
< 1.
E-10
=> OK'
; SINO ;
* MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2) ' > 1.E-10 => ECHEC' ;
MESS ' Val.
abs.
Ecart relatif max entre Calcul
et Reference'
; MESS '
- phase
1.
Traction' ' ' mer1
; MESS '
- phase
2.
Compression' ' ' mer2
; MESS '
- maximum des
2 phases' ' '
(MAXI mer1 mer2
) '
> 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. ;
mail
= sbas
TRAN 1 (0.
long) ; p3
= shaut
POIN 'PROC'
(0.
long) ;*nh145313
cadr1
= COUL ((0.
1.01) ET (1.05 1.01)) 'BLAN'
;SI ITRAC1 ;
TRAC 'QUAL'
(cadr1
ET rep1
ET mail
ET (sbas
COUL 'VERT'
) ET (shaut
COUL 'ROUG'
)) '
TITR' '
[2D Axi.
] Maillage'
; FINSI ;
** Modele et caracteristiques materiau
mo
= MODE mail 'MECANIQUE' 'ELASTIQUE' 'ENDOMMAGEMENT' 'MAZARS'
; ma
= MATE mo 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta
; un = zer + 1. ;
mes1
= INTG mo un 'SCAL'
;
** Blocages
blhaut
= BLOQ 'UZ' shaut
; bl = blbas ET blhaut ;
** Chargements
dihaut
= DEPI blhaut
1.
; (PROG 0.
utmax 0.
ucmax) ; cha
= CHAR 'DIMP' dihaut ec1
;
** Tracé des blocages et du chargement
mor
= MODE re0 'MECANIQUE' 'BARR'
; mar
= MATE mor 'YOUN'
1. 'NU'
1. 'SECT'
1.
; vf
= VECT dihaut ' ' 'FLX' 'ROUG'
; SI ITRAC1 ;
TRAC ((RIGI mo ma
) ET blbas
ET rir
) vf 'NOLE' '
TITR' '
[2D Axi.
] Blocages
et chargement'
; FINSI ;
** Resolution
t . 'MODELE' = mo ;
t . 'CARACTERISTIQUES' = ma ;
t . 'BLOCAGES_MECANIQUES' = bl ;
t . 'CHARGEMENT' = cha ;
t . 'TEMPS_CALCULES'
= PROG 0. 'PAS' 3.
E-3
(0.5*inst_a
) 'PAS' 3.E-3 inst_a
'PAS' 1.E-2 1. ;
t . 'MES_SAUVEGARDES'
= TABL ; t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
** 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' ;
def0
= DEFO (cadr1
ET rep1
ET mail
) (tu .
0) 0.
; end_p = 0. ;
tps1 = tt . (&b0 - 1) ;
* Liste des instants : globale (ltps) de traction (ltps_t) de compression (ltps_c)
ltps = ltps ET tps1 ;
SI (<EG tps1 inst_a) ;
ltps_t = ltps_t ET tps1 ;
SINON ;
ltps_c = ltps_c ET tps1 ;
FINSI ;
end1
= (INTG mo
(tv .
(&b0
- 1)) 'D'
) / mes1
; sig1
= (INTG mo
(tc .
(&b0
- 1)) 'SMZZ'
) / mes1
; eps1
= (INTG mo
(te .
(&b0
- 1)) 'EPZZ'
) / mes1
; u1
= EXTR (tu .
(&b0
- 1)) 'UZ' p3
; rea1 = 0. ;
SI (NEG &b0 1) ;
rea1
= @TOTAL (tr .
(&b0
- 1)) sbas 'FZ'
; FINSI ;
lend = lend ET end1 ;
lsig = lsig ET sig1 ;
leps = leps ET eps1 ;
ldep = ldep ET u1 ;
lrea = lrea ET rea1 ;
* Endommagement de transition traction-compression end_t
dd1 = end1 - end_p ;
SI ((> end1 0.) ET (EGA dd1 0.)) ;
end_t = end1 ;
SINON ;
FINSI ;
end_p = end1 ;
FIN b0 ;
ev0
= EVOL 'ROUG' '
MANU' 'Temps' ltps 'D' lend
; ev1
= EVOL 'ROUG' '
MANU' 'EPZZ' leps 'SMZZ' lsig
; ev2
= EVOL 'ROUG' '
MANU' 'UZ' ldep 'FZ' lrea
;*nh145313
** Sol.Ana.Traction
lepd01
= PROG nb1
* epd0
;* defo.unidim.
lepu1
= (IPOL ltps_t ec1
) / long
;* defo.eq.Mazars (eps.tild) traction = defo.unidim.
lepe1 = lepu1 ;
dt = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ;
REPE b1 ;
SI (EGA &b1 1) ;
dt_p = 0. ;
FINSI ;
ddt = dt_i - dt_p ;
SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
lfiltr1
= lfiltr1
ET (LECT &b1
) ; FINSI ;
dt_p = dt_i ;
QUIT b1 ;
FINSI ;
FIN b1 ;
ltps_t
= ENLE ltps_t lfiltr1
; lepu1
= ENLE lepu1 lfiltr1
; lsig1 = (un1 - dt) * you * lepu1 ;
an01
= EVOL 'TURQ' '
MANU' 'Temps' ltps_t 'D' dt
; tpst_t
= IPOL end_t dt ltps_t
; an11
= EVOL 'TURQ' '
MANU' 'EPXX' lepu1 'SMXX' lsig1
; sigt_t
= IPOL tpst_t ltps_t lsig1
; epst_t
= IPOL tpst_t ltps_t lepu1
;
** Sol.Ana.Compression
lepd02
= PROG nb2
* epd0
;* defo.unidim.
lepu2
= (IPOL ltps_c ec1
) / long
;* defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.|
lepe2 = (2.**0.5) * nu * (ABS lepu2) ;
dc = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ;
REPE b2 ;
SI (EGA &b2 1) ;
dc_p = 1. ;
FINSI ;
ddc = dc_i - dc_p ;
SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
lfiltr2
= lfiltr2
ET (LECT &b2
) ; FINSI ;
dc_p = dc_i ;
QUIT b2 ;
FINSI ;
FIN b2 ;
ltps_c
= ENLE ltps_c lfiltr2
; lepu2
= ENLE lepu2 lfiltr2
; lsig2 = (un2 - dc) * you * lepu2 ;
an02
= EVOL 'TURQ' '
MANU' 'Temps' ltps_c 'D' dc
; tpsc_t
= IPOL end_t dc ltps_c
; an12
= EVOL 'TURQ' '
MANU' 'EPXX' lepu2 'SMXX' lsig2
; sigc_t
= IPOL tpsc_t ltps_c lsig2
; epsc_t
= IPOL tpsc_t ltps_c lepu2
; SI ITRAC1 ;
DESS (ev0
ET an01
ET an02
) '
TITR' '
[2D Axi.
] Endommagement vs Temps' 'LEGE' 'SE' tdess
; DESS (ev1
ET an11
ET an12
) '
TITR' '
[2D Axi.
] Contrainte vs Deformation' 'LEGE' 'NO' tdess
; DESS ev2 '
TITR' '
[[2D Axi.
] Reaction vs Deplacement' 'LEGE' 'SE' tdess
; FINSI ;
* evolutions temporelles a tous les points de Gauss
ng = 4 ;
tleg .
1 = MOT 'MARQ CARR NOLI'
; tleg .
2 = MOT 'MARQ LOSA NOLI'
; tleg .
3 = MOT 'MARQ ROND NOLI'
; tleg .
4 = MOT 'MARQ ETOI NOLI'
; REPE b ng ;
tleg . 'TITRE' .
&b
= CHAI 'Calc_Pt_Gauss' ' '
&b
; FIN b ;
* endommagement
evend
= VIDE 'EVOLUTIO'
; REPE b ng ;
evend
= evend
ET (EVOL 'ROSE' '
TEMP' t 'VARIABLES_INTERNES' 'D'
1 1 &b
) ; FIN b ;
*nh145313
tleg .
(ng
+1) = MOT 'MARQ CROI REGU'
; tleg . 'TITRE' .
(ng
+1) = MOT 'Ref_Traction'
; tleg .
(ng
+2) = MOT 'MARQ
PLUS REGU'
; tleg . 'TITRE' .
(ng
+2) = MOT 'Ref_Compression'
; SI ITRAC1 ;
DESS (evend
ET an01
ET an02
) 'LEGE' 'SE' tleg '
TITR' '
[2D Axi.
] D vs Temps'
; FINSI ;
* contrainte
evsmzz
= VIDE 'EVOLUTIO'
; REPE b ng ;
evsmzz
= evsmzz
ET (EVOL 'BLEU' '
TEMP' t 'CONTRAINTES' 'SMZZ'
1 1 &b
) ; FIN b ;
*nh145313
ansmzz1
= EVOL 'TURQ' '
MANU' 'Temps' ltps_t 'SMXX' lsig1
; ansmzz2
= EVOL 'TURQ' '
MANU' 'Temps' ltps_c 'SMXX' lsig2
; SI ITRAC1 ;
DESS (evsmzz
ET ansmzz1
ET ansmzz2
) 'LEGE' 'NE' tleg '
TITR' '
[2D Axi.
] SMZZ vs Temps'
; FINSI ;
* deformation
evepzz
= VIDE 'EVOLUTIO'
; REPE b ng ;
evepzz
= evepzz
ET (EVOL 'VERT' '
TEMP' t 'DEFORMATIONS' 'EPZZ'
1 1 &b
) ; FIN b ;
SI ITRAC1 ;
DESS evepzz 'LEGE' tleg '
TITR' '
[2D Axi.
] EPZZ vs Temps'
; FINSI ;
* deformee
tps1 = tt . (&b2 - 1) ;
* trace de la deformee (pour controle visuel)
def1
= DEFO mail
(tu .
(&b2
- 1)) 33. 'ROUG'
; tit1
= CHAI '
[2D Axi.
] Deformee au temps' ' ' tps1
; SI ITRAC1 ;
* TRAC (def0 ET def1) 'TITR' tit1 ;
FINSI ;
FIN b2 ;
SI ITRAC1 ;
FINSI ;
* comparaison Calcul / Reference sur la contrainte moyenne
* Traction, courbes réduites
born_inf
= EXTR lepu1
1 ; born_sup = epst_t ;
REPE b_an11
(dime lepu1
) ; xi
= EXTR lepu1
&b_an11
; yi
= EXTR lsig1
&b_an11
; SI ((>EG xi born_inf) ET (<EG xi born_sup)) ;
lepu1_red
= lepu1_red
et (PROG xi
) ; lsig1_red
= lsig1_red
et (PROG yi
) ; FINSI ;
FIN b_an11 ;
an11_red
= EVOL 'TURQ' '
MANU' 'EPXX' lepu1_red 'SMXX' lsig1_red
;
xp = 0. ;
dx = xi - xp ;
SI (((EGA xi born_inf 1.E-10) OU (> xi born_inf)) ET (<EG xi born_sup) ET (>EG dx 0)) ;
leps_red
= leps_red
et (PROG xi
) ; lsig_red
= lsig_red
et (PROG yi
) ; FINSI ;
xp = xi ;
FIN b_ev1 ;
ev1_red
= EVOL 'ROUG' '
MANU' 'EPXX' leps_red 'SMXX' lsig_red
;
lsiga_red
= '
IPOL' an11_red leps_red
; ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ;
eer1
= EVOL 'ORAN' '
MANU' 'EPXX' leps_red 'Ec.
rel.
SMXX' ler1
; tit1
= CHAI '
[2D Axi.
] Ecart relatif Calcul
/Reference Contrainte vs Deformation en traction, max' ' ' mer1
; SI ITRAC1 ;
FINSI ;
* Compression, courbes réduites
born_inf = epsc_t ;
REPE b_an12
(dime lepu2
) ; xi
= EXTR lepu2
&b_an12
; yi
= EXTR lsig2
&b_an12
; SI ((<EG xi born_inf) ET (>EG xi born_sup)) ;
lepu2_red
= lepu2_red
et (PROG xi
) ; lsig2_red
= lsig2_red
et (PROG yi
) ; FINSI ;
FIN b_an12 ;
an12_red
= EVOL 'TURQ' '
MANU' 'EPXX' lepu2_red 'SMXX' lsig2_red
;
xp = 0. ;
dx = xi - xp ;
SI ((<EG xi born_inf) ET (>EG xi born_sup)) ;
leps_red
= leps_red
et (PROG xi
) ; lsig_red
= lsig_red
et (PROG yi
) ; FINSI ;
xp = xi ;
FIN b_ev1 ;
ev1_red
= EVOL 'ROUG' '
MANU' 'EPXX' leps_red 'SMXX' lsig_red
;
lsiga_red
= '
IPOL' an12_red leps_red
; ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ;
eer2
= EVOL 'ORAN' '
MANU' 'EPXX' leps_red 'Ec.
rel.
SMXX' ler2
; tit2
= CHAI '
[2D Axi.
] Ecart relatif Calcul
/Reference Contrainte vs Deformation en compression, max' ' ' mer2
; SI ITRAC1 ;
FINSI ;
tdes1 = 'TABLE' ;
tdes1.'TITRE' = 'TABLE' ;
tdes1 .
1 = MOT 'MARQ CROI'
; tdes1 . 'TITRE' .
1 = MOT 'Traction'
; tdes1 . 'TITRE' .
2 = MOT 'Compression'
; tit1
= CHAI '
[2D Axi.
] Ec.
rel.
Cal.
/Ref.
Contr.
vs Defo.
en trac.
(max' mer1 '
) - compress.
(max' mer2 '
)'
; SI ITRAC1 ;
DESS (eer1
et eer2
) 'LEGE' 'NE' tdes1 '
TITR' tit1
; FINSI ;
MESS '
************ C A S #
4 :
2 D A X I S Y M E T R I Q U E
*************'
; SI ((MAXI mer1 mer2
) < 1.
E-10
) ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2) ' < 1.E-10 => OK' ;
MESS ' Val.
abs.
Ecart relatif max entre Calcul
et Reference'
; MESS '
- phase
1.
Traction' ' ' mer1
; MESS '
- phase
2.
Compression' ' ' mer2
; MESS '
- maximum des
2 phases' ' '
(MAXI mer1 mer2
) '
< 1.
E-10
=> OK'
; SINO ;
* MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2) ' > 1.E-10 => ECHEC' ;
MESS ' Val.
abs.
Ecart relatif max entre Calcul
et Reference'
; MESS '
- phase
1.
Traction' ' ' mer1
; MESS '
- phase
2.
Compression' ' ' mer2
; MESS '
- maximum des
2 phases' ' '
(MAXI mer1 mer2
) '
> 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) ;
mails
= l12s
TRAN 1 (epai
0.
) ; p1 = 0. 0. ;
p2 = long 0. ;
*nh145313
cadr1
= COUL ((-0.1 0.
) ET (1.
0.
)) 'BLAN'
;SI ITRAC1 ;
TRAC 'QUAL'
(rep1
ET (mails
COUL 'VERT'
) ET (mail
COUL 'ROUG'
)) '
TITR' '
[2D PaF
] Maillages de la Poutre
et de sa Section'
; FINSI ;
** Modele et caracteristiques materiau
mos
= MODE mails 'MECANIQUE' 'ELASTIQUE' 'PLASTIQUE' 'MAZARS' 'QUAS'
; mas
= MATE mos 'YOUN' you 'NU' nu 'KTR0' epd0 'ACOM' ac 'BCOM' bc 'ATRA' at 'BTRA' bt 'BETA' beta
'ALPY' 1. ;
mo
= MODE mail 'MECANIQUE' 'ELASTIQUE' 'SECTION' 'PLASTIQUE' 'SECTION' 'TIMO'
; ma
= MATE mo 'MODS' mos 'MATS' mas
;
** Blocages
bldroite
= BLOQ 'UX' p2
; bl = blgauche ET bldroite ;
*nh145313
bl = bl ET bldroit2 ;
** Chargements
didroite
= DEPI bldroite
1.
; (PROG 0.
utmax 0.
ucmax) ; cha
= CHAR 'DIMP' didroite ec1
;
** Tracé des blocages et du chargement
mor
= MODE re0 'MECANIQUE' 'BARR'
; mar
= MATE mor 'YOUN'
1. 'NU'
1. 'SECT'
1.
; vf
= VECT didroite 'FLX' ' ' 'ROUG'
0.1 ; SI ITRAC1 ;
TRAC ((RIGI mo ma
) ET blgauche
ET rir
) vf 'NOLE' '
TITR' '
[2D PaF
] Blocages
et chargement'
; FINSI ;
** Resolution
t . 'MODELE' = mo ;
t . 'CARACTERISTIQUES' = ma ;
t . 'BLOCAGES_MECANIQUES' = bl ;
t . 'CHARGEMENT' = cha ;
t . 'TEMPS_CALCULES'
= PROG 0. 'PAS' 3.
E-3
(0.5*inst_a
) 'PAS' 3.E-3 inst_a
'PAS' 1.E-2 1. ;
t . 'MES_SAUVEGARDES'
= TABL ; t . 'MES_SAUVEGARDES' . 'DEFTO' = VRAI ;
** 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 ;
tleg .
1 = MOT 'MARQ CARR NOLI'
; tleg .
2 = MOT 'MARQ LOSA NOLI'
; tleg .
3 = MOT 'MARQ ROND NOLI'
; tleg .
4 = MOT 'MARQ ETOI NOLI'
; REPE b ng ;
tleg . 'TITRE' .
&b
= CHAI 'Calc_Pt_Gauss' ' '
&b
; FIN b ;
*nh145313
tleg .
(ng
+1) = MOT 'MARQ CROI REGU'
; tleg . 'TITRE' .
(ng
+1) = MOT 'Ref_Traction'
; tleg .
(ng
+2) = MOT 'MARQ
PLUS REGU'
; tleg . 'TITRE' .
(ng
+2) = MOT 'Ref_Compression'
; tt = t . 'TEMPS' ;
tv = t . 'VARIABLES_INTERNES' ;
tu = t . 'DEPLACEMENTS' ;
tr = t . 'REACTIONS' ;
def0
= DEFO (cadr1
ET rep1
ET mail
) (tu .
0) 0.
; end_p = 0. ;
tps1 = tt . (&b0 - 1) ;
* Liste des instants : globale (ltps) de traction (ltps_t) de compression (ltps_c)
ltps = ltps ET tps1 ;
SI (<EG tps1 inst_a) ;
ltps_t = ltps_t ET tps1 ;
SINON ;
ltps_c = ltps_c ET tps1 ;
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. ;
end1 = 0. ;
SINON ;
lend1
= lend1
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VHNI'
1 1 1) ; lend2
= lend2
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VHNI'
1 1 2) ; lend3
= lend3
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VHNI'
1 1 3) ; lend4
= lend4
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VHNI'
1 1 4) ; lsig1
= lsig1
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VONS'
1 1 1) 'SMXX'
1 1 1) ; lsig2
= lsig2
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VONS'
1 1 1) 'SMXX'
1 1 2) ; lsig3
= lsig3
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VONS'
1 1 1) 'SMXX'
1 1 3) ; lsig4
= lsig4
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VONS'
1 1 1) 'SMXX'
1 1 4) ; leps1
= leps1
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VISX'
1 1 1) ; leps2
= leps2
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VISX'
1 1 2) ; leps3
= leps3
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VISX'
1 1 3) ; leps4
= leps4
ET (EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VISX'
1 1 4) ; end1
= EXTR (EXTR (tv .
(&b0
- 1)) 'VAIS'
1 1 1) 'VHNI'
1 1 1 ; FINSI ;
u1
= EXTR (tu .
(&b0
- 1)) 'UX' p2
; rea1
= EXTR (tr .
(&b0
- 1)) 'FX' p1
; ldep = ldep ET u1 ;
lrea = lrea ET rea1 ;
* Endommagement de transition traction-compression end_t
dd1 = end1 - end_p ;
SI ((> end1 0.) ET (EGA dd1 0.)) ;
end_t = end1 ;
SINON ;
FINSI ;
end_p = end1 ;
FIN b0 ;
ev0
= (EVOL 'ROUG' '
MANU' 'Temps' ltps 'D' lend1
) ET (EVOL 'ROUG' '
MANU' 'Temps' ltps 'D' lend2
) ET (EVOL 'ROUG' '
MANU' 'Temps' ltps 'D' lend3
) ET (EVOL 'ROUG' '
MANU' 'Temps' ltps 'D' lend4
) ; ev1
= (EVOL 'ROUG' '
MANU' 'EPXX' leps1 'SMXX' lsig1
) ET (EVOL 'ROUG' '
MANU' 'EPXX' leps2 'SMXX' lsig2
) ET (EVOL 'ROUG' '
MANU' 'EPXX' leps3 'SMXX' lsig3
) ET (EVOL 'ROUG' '
MANU' 'EPXX' leps4 'SMXX' lsig4
) ; ev2
= EVOL 'ROUG' '
MANU' 'UX' ldep 'FX' lrea
;*nh145313
** Sol.Ana.Traction
lepd01
= PROG nb1
* epd0
;* defo.unidim.
lepu1
= (IPOL ltps_t ec1
) / long
;* defo.eq.Mazars (eps.tild) traction = defo.unidim.
lepe1 = lepu1 ;
dt = un1 - ((epd0*(un1-lat1)/lepe1) + (at*(EXP(bt*(lepd01-lepe1))))) ;
REPE b1 ;
SI (EGA &b1 1) ;
dt_p = 0. ;
FINSI ;
ddt = dt_i - dt_p ;
SI ((ddt < 0.) OU (dt_i < 0.) OU (dt_i > 1.)) ;
lfiltr1
= lfiltr1
ET (LECT &b1
) ; FINSI ;
dt_p = dt_i ;
QUIT b1 ;
FINSI ;
FIN b1 ;
ltps_t
= ENLE ltps_t lfiltr1
; lepu1
= ENLE lepu1 lfiltr1
; asig1 = (un1 - dt) * you * lepu1 ;
an01
= EVOL 'TURQ' '
MANU' 'Temps' ltps_t 'D' dt
; tpst_t
= IPOL end_t dt ltps_t
; an11
= EVOL 'TURQ' '
MANU' 'EPXX' lepu1 'SMXX' asig1
; sigt_t
= IPOL tpst_t ltps_t asig1
; epst_t
= IPOL tpst_t ltps_t lepu1
;
** Sol.Ana.Compression
lepd02
= PROG nb2
* epd0
;* defo.unidim.
lepu2
= (IPOL ltps_c ec1
) / long
;* defo.eq.Mazars (eps.tild) compression = racine(2)*nu*|defo.unidim.|
lepe2 = (2.**0.5) * nu * (ABS lepu2) ;
dc = un2 - ((epd0*(un2-lac2)/lepe2) + (ac*(EXP(bc*(lepd02-lepe2))))) ;
REPE b2 ;
SI (EGA &b2 1) ;
dc_p = 1. ;
FINSI ;
ddc = dc_i - dc_p ;
SI ((ddc < 0.) OU (dc_i < 0.) OU (dc_i > 1.)) ;
lfiltr2
= lfiltr2
ET (LECT &b2
) ; FINSI ;
dc_p = dc_i ;
QUIT b2 ;
FINSI ;
FIN b2 ;
ltps_c
= ENLE ltps_c lfiltr2
; lepu2
= ENLE lepu2 lfiltr2
; asig2 = (un2 - dc) * you * lepu2 ;
an02
= EVOL 'TURQ' '
MANU' 'Temps' ltps_c 'D' dc
; tpsc_t
= IPOL end_t dc ltps_c
; an12
= EVOL 'TURQ' '
MANU' 'EPXX' lepu2 'SMXX' asig2
; sigc_t
= IPOL tpsc_t ltps_c asig2
; epsc_t
= IPOL tpsc_t ltps_c lepu2
; SI ITRAC1 ;
DESS (ev0
ET an01
ET an02
) 'LEGE' 'SE' tleg '
TITR' '
[2D PaF
] Endommagement vs Temps'
; DESS (ev1
ET an11
ET an12
) 'LEGE' 'NO' tleg '
TITR' '
[2D PaF
] Contrainte vs Deformation'
; DESS ev2 '
TITR' '
[2D PaF
] Reaction vs Deplacement' 'LEGE' 'SE' tdess
; FINSI ;
* deformee
tps1 = tt . (&b3 - 1) ;
* trace de la deformee (pour controle visuel)
def1
= DEFO mail
(tu .
(&b3
- 1)) 33. 'ROUG'
; tit1
= CHAI '
[2D PaF
] Deformee au temps' ' ' tps1
; SI ITRAC1 ;
* TRAC (def0 ET def1) 'TITR' tit1 ;
FINSI ;
FIN b3 ;
SI ITRAC1 ;
FINSI ;
* comparaison Calcul / Reference sur la contrainte moyenne
* Traction, courbes réduites
born_inf
= EXTR lepu1
1 ; born_sup = epst_t ;
REPE b_an11
(dime lepu1
) ; xi
= EXTR lepu1
&b_an11
; yi
= EXTR asig1
&b_an11
; SI ((>EG xi born_inf) ET (<EG xi born_sup)) ;
lepu1_red
= lepu1_red
et (PROG xi
) ; asig1_red
= asig1_red
et (PROG yi
) ; FINSI ;
FIN b_an11 ;
an11_red
= EVOL 'TURQ' '
MANU' 'EPXX' lepu1_red 'SMXX' asig1_red
;
xp = 0. ;
REPE b_ev1
(dime leps1
) ; dx = xi - xp ;
SI ((>EG xi born_inf) ET (<EG xi born_sup) ET (>EG dx 0)) ;
leps_red
= leps_red
et (PROG xi
) ; lsig_red
= lsig_red
et (PROG yi
) ; FINSI ;
xp = xi ;
FIN b_ev1 ;
ev1_red
= EVOL 'ROUG' '
MANU' 'EPXX' leps_red 'SMXX' lsig_red
;
lsiga_red
= '
IPOL' an11_red leps_red
; ler1 = ABS (lsig_red - lsiga_red) / lsiga_red ;
eer1
= EVOL 'ORAN' '
MANU' 'EPXX' leps_red 'Ec.
rel.
SMXX' ler1
; tit1
= CHAI '
[2D PaF
] Ecart relatif Calcul
/Reference Contrainte vs Deformation en traction, max' ' ' mer1
; SI ITRAC1 ;
FINSI ;
* Compression, courbes réduites
born_inf = epsc_t ;
REPE b_an12
(dime lepu2
) ; xi
= EXTR lepu2
&b_an12
; yi
= EXTR asig2
&b_an12
; SI ((<EG xi born_inf) ET (>EG xi born_sup)) ;
lepu2_red
= lepu2_red
et (PROG xi
) ; asig2_red
= asig2_red
et (PROG yi
) ; FINSI ;
FIN b_an12 ;
an12_red
= EVOL 'TURQ' '
MANU' 'EPXX' lepu2_red 'SMXX' asig2_red
;
xp = 0. ;
REPE b_ev1
(dime leps1
) ; dx = xi - xp ;
SI ((<EG xi born_inf) ET (>EG xi born_sup)) ;
leps_red
= leps_red
et (PROG xi
) ; lsig_red
= lsig_red
et (PROG yi
) ; FINSI ;
xp = xi ;
FIN b_ev1 ;
ev1_red
= EVOL 'ROUG' '
MANU' 'EPXX' leps_red 'SMXX' lsig_red
;
lsiga_red
= '
IPOL' an12_red leps_red
; ler2 = ABS ((lsig_red - lsiga_red) / lsiga_red) ;
eer2
= EVOL 'ORAN' '
MANU' 'EPXX' leps_red 'Ec.
rel.
SMXX' ler2
; tit2
= CHAI '
[2D PaF
] Ecart relatif Calcul
/Reference Contrainte vs Deformation en compression, max' ' ' mer2
; SI ITRAC1 ;
FINSI ;
tdes1 = 'TABLE' ;
tdes1.'TITRE' = 'TABLE' ;
tdes1 .
1 = MOT 'MARQ CROI'
; tdes1 . 'TITRE' .
1 = MOT 'Traction'
; tdes1 . 'TITRE' .
2 = MOT 'Compression'
; tit1
= CHAI '
[2D PaF
] Ec.
rel.
Cal.
/Ref.
Contr.
vs Defo.
en trac.
(max' mer1 '
) - compress.
(max' mer2 '
)'
; SI ITRAC1 ;
DESS (eer1
et eer2
) 'LEGE' 'NE' tdes1 '
TITR' tit1
; FINSI ;
MESS '
*********** C A S #
5 :
2 D P O U T R E A F I B R E
************'
; SI ((MAXI mer1 mer2
) < 1.
E-8
) ; * MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2) ' < 1.E-08 => OK' ;
MESS ' Val.
abs.
Ecart relatif max entre Calcul
et Reference'
; MESS '
- phase
1.
Traction' ' ' mer1
; MESS '
- phase
2.
Compression' ' ' mer2
; MESS '
- maximum des
2 phases' ' '
(MAXI mer1 mer2
) '
< 1.
E-08
=> OK'
; SINO ;
* MESS ' Val.abs. Ecart relatif max entre Calcul et Reference' ' ' (MAXI mer1 mer2) ' > 1.E-08 => ECHEC' ;
MESS ' Val.
abs.
Ecart relatif max entre Calcul
et Reference'
; MESS '
- phase
1.
Traction' ' ' mer1
; MESS '
- phase
2.
Compression' ' ' mer2
; MESS '
- maximum des
2 phases' ' '
(MAXI mer1 mer2
) '
> 1.
E-08
=> ECHEC'
; IERR = VRAI ;
FINS ;
FINSI ;
** Sortie sur Erreur 1152 en cas de non conformite
SI IERR ;
FINSI ;
FIN ;