* fichier : umat05.dgibi
*=======================================================================
*
* CAS TEST DE VALIDATION DE LA PRISE EN COMPTE D'UNE LOI DE
*
* COMPORTEMENT MECANIQUE NON LINEAIRE EXTERNE
*
*=======================================================================
*
* Modele 'NON_LINEAIRE' 'UTILISATEUR', integrateur specifique UMAT
*
* Test No5 : Modele PLASTIQUE ISOTROPE
* Reprise du test isotro_cis.dgibi
*
*=======================================================================
opti echo 0 ;
* ajout de option epsilon lineaire pour la precision des test!
OPTION epsilon lineaire;
*=======================================================================
*
* PROCEDURES DEPENDANTES
*
*=======================================================================
*=======================================================================
*
* JEU DE DONNEES PRINCIPAL
*
*=======================================================================
*=======================================================================
* Resolution avec le modele 'PLASTIQUE' 'ISOTROPE' de CAST3M
* Reprise du jeu de donnees isotro_cis.dgibi
* Element CUB8
**************************************************
* *
* TEST DE VALIDATION D'UNE LOI DE COMPORTEMENT *
* -------------------------------------------- *
* DE MATERIAU *
* ----------- *
* *
* LOI DE COMPORTEMENT ELASTO-PLASTIQUE *
* ISOTROPE *
* *
* COMPARAISON DE CALCULS SUR DES ELEMENTS: *
* - COQUE EPAISSE ( MFR=5 ) *
* - COQUE MINCE ( MFR=3 ) *
* - MASSIF 3D ( MFR=1 ) *
* *
* STRUCTURE : UNE PLAQUE CARREE *
* - COTE : .1 M *
* - EPAISSEUR : 5.E-4 M *
* *
* CHARGEMENT : DEPLACEMENTS IMPOSES *
* CISAILLEMENT PUR *
* *
**************************************************
opti echo 0 dime 3 elem cub8 ;
*
*
* Maillage
*
rayon0 = .05 ;
epais0 = .0005 ;
l1 = epais0 + rayon0 ;
l2 = .1 ;
n1 = 1 ;
n2 = 1 ;
p1 = rayon0 0. 0. ;
p2 = l1 0. 0. ;
p3 = l1 l2 0. ;
p4 = rayon0 l2 0. ;
p11 = rayon0 0. l2 ;
p21 = l1 0. l2 ;
p31 = l1 l2 l2 ;
p41 = rayon0 l2 l2 ;
d1 = d p1 n1 p2 ;
d2 = d p2 n2 p3 ;
d3 = d p3 n1 p4 ;
d4 = d p4 n2 p1 ;
d11 = d p11 n1 p21 ;
d21 = d p21 n2 p31 ;
d31 = d p31 n1 p41 ;
d41 = d p41 n2 p11 ;
*p01 = ( rayon0 + ( epais0 / 2. ) ) 0. l2 ;
*p02 = ( rayon0 + ( epais0 / 2. ) ) l2 l2 ;
sur1 = 'DALL' d1 d2 d3 d4 ;
sur2 = 'DALL' d11 d21 d31 d41 ;
vol1 = sur1 'VOLU' n2 sur2 ;
*titr ' maillage ' ;
*trace vol1 ;
*
* Deplacement maximal
*
depmax = .01 ;
*
* Courbe d'ecrouissage
*
beta0 = 1250. ;
sig0 = 410.E6 ;
xm = .5 ;
youn0 = 7.34E10 ;
epsp0 = 'PROG' 0. ;
deb0 = 'PROG' 0. ;
epsmax0 = depmax / l2 ;
pas0 = epsmax0 / 50 ;
epsp1 = 'PROG' 0. 'PAS' pas0 epsmax0 ;
dim00 = 'DIME' epsp1 ;
un = 'PROG' dim00 '*' 1. ;
Y0 = sig0 ;
epsp2 = beta0 * epsp1 ;
epsp3 = epsp2 + un ;
epsp31 = log epsp3 ;
epsp32 = epsp31 * xm ;
epsp4 = exp epsp32 ;
Y1 = Y0 * epsp4 ;
*
epsp1 = epsp0 'ET' epsp1 ;
Y1 = deb0 'ET' Y1 ;
epsp2 = epsp1 + ( Y1 / youn0 ) ;
trac00 = 'EVOL' 'MANU' 'defo' epsp1 'sigm' Y1 ;
*
* Modele de calcul
*
trac0 = 'EVOL' 'MANU' 'defo' epsp2 'sigm' Y1 ;
*'DESS' trac0 ;
mod0 = 'MODE' vol1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
'PLASTIQUE' 'ISOTROPE' ;
mat0 = 'MATE' mod0 'YOUN' youn0 'NU' 0.33
'TRAC' trac0 ;
*
* Conditions aux limites
*
cl1 = 'BLOQ' sur1 'UX' 'RY' ;
cl2 = 'BLOQ' sur2 'UX' 'RY' ;
cl3 = 'BLOQ' vol1 'UY' 'UZ' ;
cl0 = cl1 'ET' cl2 'ET' cl3 ;
*
* Chargement
*
chp1 = 'COOR' 3 vol1 ;
chp1 = chp1 * depmax / l2 ;
chp1 = 'NOMC' chp1 'UY' ;
chp2 = 'MANU' 'CHPO' vol1 1 'UZ' 0. ;
*trace chp1 vol1 ;
chp0 = chp1 + chp2 ;
dep1 = 'DEPI' cl3 chp0 ;
ev0 = 'EVOL' 'MANU' temps ( 'PROG' 0. 1000. ) y ( 'PROG' 0. 1. ) ;
cha0 = 'CHAR' 'DIMP' dep1 ev0 ;
*vec1 = 'VECT' dep1 1.E-5 'FX' 'FY' 'FZ' 'ROUG' ;
*titr ' chargement ' ;
*trace vec1 vol1 ;
*
* Temps du calcul
*
dt0 = 50. ;
tfin0 = 1000. ;
*
*
* Resolution par PASAPAS
*---------------------------------------
*
ta1 = 'TABLE' ;
ta1 .'MODELE' = mod0 ;
ta1 .'CARACTERISTIQUES' = mat0 ;
ta1 .'BLOCAGES_MECANIQUES' = cl0 ;
ta1 .'CHARGEMENT' = cha0 ;
*ta1 .'TEMPS_CALCULES' = ( ( 'PROG' 0. 'PAS' dt0 80. ) 'ET'
*( 'PROG' 85. 'PAS' 5. 90. ) 'ET'
*( 'PROG' 92.5 'PAS' 2.5 tfin0 ) ) ;
ta1 .'TEMPS_CALCULES' = 'PROG' 0. 'PAS' dt0 tfin0 ;
*
* MODIF
* MODIF_________________________________________________________________
TEMPS 'ZERO' ;
* MODIF_________________________________________________________________
* MODIF
TMASAU=table;
ta1 . 'MES_SAUVEGARDES'=TMASAU;
TMASAU .'DEFTO'=VRAI;
TMASAU .'DEFIN'=VRAI;
PASAPAS ta1 ;
* MODIF
* MODIF_________________________________________________________________
CPUint = TEMPS 'NOEC' ;
* MODIF_________________________________________________________________
* MODIF
*=======================================================================
* Resolution avec le modele 'NON_LINEAIRE' 'UTILISATEUR'
***Mess 'DIME epsp2' (DIME epsp2) ;
***DIME epsp2 52
***Mess 'DIME Y1 ' (DIME Y1 ) ;
***DIME Y1 52
***Mess 'EXTR epsp2 12' (EXTR epsp2 12) ;
***EXTR epsp2 12 4.84823E-02
* Definition du modele et affectation des proprietes de materiau--------
LCM05_0 = MOTS 'YOUN' 'NU ' ;
LCM05_1 = MOTS 'E001' 'S001' 'E002' 'S002' 'E003' 'S003' 'E004' 'S004'
'E005' 'S005' 'E006' 'S006' 'E007' 'S007' 'E008' 'S008'
'E009' 'S009' 'E010' 'S010' ;
LCM05_2 = MOTS 'E011' 'S011' 'E012' 'S012' 'E013' 'S013' 'E014' 'S014'
'E015' 'S015' 'E016' 'S016' 'E017' 'S017' 'E018' 'S018'
'E019' 'S019' 'E020' 'S020' ;
LCM05_3 = MOTS 'E021' 'S021' 'E022' 'S022' 'E023' 'S023' 'E024' 'S024'
'E025' 'S025' 'E026' 'S026' 'E027' 'S027' 'E028' 'S028'
'E029' 'S029' 'E030' 'S030' ;
LCM05_4 = MOTS 'E031' 'S031' 'E032' 'S032' 'E033' 'S033' 'E034' 'S034'
'E035' 'S035' 'E036' 'S036' 'E037' 'S037' 'E038' 'S038'
'E039' 'S039' 'E040' 'S040' ;
LCM05_5 = MOTS 'E041' 'S041' 'E042' 'S042' 'E043' 'S043' 'E044' 'S044'
'E045' 'S045' 'E046' 'S046' 'E047' 'S047' 'E048' 'S048'
'E049' 'S049' 'E050' 'S050' 'E051' 'S051' 'E052' 'S052' ;
LCMAT05 = LCM05_0 et LCM05_1 et LCM05_2 et LCM05_3 et
LCM05_4 et LCM05_5 ;
LCVAR05 = MOTS 'EPSE' 'ENXX' 'ENYY' 'ENZZ' 'GNXY' 'GNXZ' 'GNYZ' ;
mo_util = MODE vol1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
'NON_LINEAIRE' 'UTILISATEUR' 'NUME_LOI' 5
'C_MATERIAU' LCMAT05 'C_VARINTER' LCVAR05 ;
ma_u0 = MATE mo_util 'YOUN' youn0 'NU ' 0.33 ;
ma_u11 = MATE mo_util 'E001' (EXTR epsp2 1) 'S001' (EXTR Y1 1)
'E002' (EXTR epsp2 2) 'S002' (EXTR Y1 2)
'E003' (EXTR epsp2 3) 'S003' (EXTR Y1 3)
'E004' (EXTR epsp2 4) 'S004' (EXTR Y1 4)
'E005' (EXTR epsp2 5) 'S005' (EXTR Y1 5) ;
ma_u12 = MATE mo_util 'E006' (EXTR epsp2 6) 'S006' (EXTR Y1 6)
'E007' (EXTR epsp2 7) 'S007' (EXTR Y1 7)
'E008' (EXTR epsp2 8) 'S008' (EXTR Y1 8)
'E009' (EXTR epsp2 9) 'S009' (EXTR Y1 9)
'E010' (EXTR epsp2 10) 'S010' (EXTR Y1 10) ;
ma_u21 = MATE mo_util 'E011' (EXTR epsp2 11) 'S011' (EXTR Y1 11)
'E012' (EXTR epsp2 12) 'S012' (EXTR Y1 12)
'E013' (EXTR epsp2 13) 'S013' (EXTR Y1 13)
'E014' (EXTR epsp2 14) 'S014' (EXTR Y1 14)
'E015' (EXTR epsp2 15) 'S015' (EXTR Y1 15) ;
ma_u22 = MATE mo_util 'E016' (EXTR epsp2 16) 'S016' (EXTR Y1 16)
'E017' (EXTR epsp2 17) 'S017' (EXTR Y1 17)
'E018' (EXTR epsp2 18) 'S018' (EXTR Y1 18)
'E019' (EXTR epsp2 19) 'S019' (EXTR Y1 19)
'E020' (EXTR epsp2 20) 'S020' (EXTR Y1 20) ;
ma_u31 = MATE mo_util 'E021' (EXTR epsp2 21) 'S021' (EXTR Y1 21)
'E022' (EXTR epsp2 22) 'S022' (EXTR Y1 22)
'E023' (EXTR epsp2 23) 'S023' (EXTR Y1 23)
'E024' (EXTR epsp2 24) 'S024' (EXTR Y1 24)
'E025' (EXTR epsp2 25) 'S025' (EXTR Y1 25) ;
ma_u32 = MATE mo_util 'E026' (EXTR epsp2 26) 'S026' (EXTR Y1 26)
'E027' (EXTR epsp2 27) 'S027' (EXTR Y1 27)
'E028' (EXTR epsp2 28) 'S028' (EXTR Y1 28)
'E029' (EXTR epsp2 29) 'S029' (EXTR Y1 29)
'E030' (EXTR epsp2 30) 'S030' (EXTR Y1 30) ;
ma_u41 = MATE mo_util 'E031' (EXTR epsp2 31) 'S031' (EXTR Y1 31)
'E032' (EXTR epsp2 32) 'S032' (EXTR Y1 32)
'E033' (EXTR epsp2 33) 'S033' (EXTR Y1 33)
'E034' (EXTR epsp2 34) 'S034' (EXTR Y1 34)
'E035' (EXTR epsp2 35) 'S035' (EXTR Y1 35) ;
ma_u42 = MATE mo_util 'E036' (EXTR epsp2 36) 'S036' (EXTR Y1 36)
'E037' (EXTR epsp2 37) 'S037' (EXTR Y1 37)
'E038' (EXTR epsp2 38) 'S038' (EXTR Y1 38)
'E039' (EXTR epsp2 39) 'S039' (EXTR Y1 39)
'E040' (EXTR epsp2 40) 'S040' (EXTR Y1 40) ;
ma_u51 = MATE mo_util 'E041' (EXTR epsp2 41) 'S041' (EXTR Y1 41)
'E042' (EXTR epsp2 42) 'S042' (EXTR Y1 42)
'E043' (EXTR epsp2 43) 'S043' (EXTR Y1 43)
'E044' (EXTR epsp2 44) 'S044' (EXTR Y1 44)
'E045' (EXTR epsp2 45) 'S045' (EXTR Y1 45) ;
ma_u52 = MATE mo_util 'E046' (EXTR epsp2 46) 'S046' (EXTR Y1 46)
'E047' (EXTR epsp2 47) 'S047' (EXTR Y1 47)
'E048' (EXTR epsp2 48) 'S048' (EXTR Y1 48)
'E049' (EXTR epsp2 49) 'S049' (EXTR Y1 49)
'E050' (EXTR epsp2 50) 'S050' (EXTR Y1 50) ;
ma_u61 = MATE mo_util 'E051' (EXTR epsp2 51) 'S051' (EXTR Y1 51)
'E052' (EXTR epsp2 52) 'S052' (EXTR Y1 52) ;
ma_util = ma_u0 et ma_u11 et ma_u12 et ma_u21 et ma_u22 et
ma_u31 et ma_u32 et ma_u41 et ma_u42 et
ma_u51 et ma_u52 et ma_u61 ;
* Resolution par PASAPAS------------------------------------------------
TABU = TABLE ;
TABU.'MODELE' = mo_util ;
TABU.'CARACTERISTIQUES' = ma_util ;
TABU.'BLOCAGES_MECANIQUES' = cl0 ;
TABU.'CHARGEMENT' = cha0 ;
TABU.'TEMPS_CALCULES' = 'PROG' 0. 'PAS' dt0 tfin0 ;
TMASAU=table;
tabu . 'MES_SAUVEGARDES'=TMASAU;
TMASAU .'DEFTO'=VRAI;
TMASAU .'DEFIN'=VRAI;
TEMPS 'ZERO' ;
PASAPAS TABU ;
CPUext = TEMPS 'NOEC' ;
*=======================================================================
* Comparaison des resultats obtenus par les deux modeles
*
* N.B. Comme on simule un essai de cisaillement YZ :
* - Critere strict (errrel < 1.d-12) sur GAYZ, GIYZ et SMYZ
* - Pour les autres composantes on note les depassements du critere
* si impression demandee
***opti echo 1 ;
uxc = TABLE ; uyc = TABLE ; uzc = TABLE ;
epxxc = TABLE ; epyyc = TABLE ; epzzc = TABLE ;
gaxyc = TABLE ; gaxzc = TABLE ; gayzc = TABLE ;
eixxc = TABLE ; eiyyc = TABLE ; eizzc = TABLE ;
gixyc = TABLE ; gixzc = TABLE ; giyzc = TABLE ;
smxxc = TABLE ; smyyc = TABLE ; smzzc = TABLE ;
smxyc = TABLE ; smxzc = TABLE ; smyzc = TABLE ;
epsec = TABLE ;
uxu = TABLE ; uyu = TABLE ; uzu = TABLE ;
epxxu = TABLE ; epyyu = TABLE ; epzzu = TABLE ;
gaxyu = TABLE ; gaxzu = TABLE ; gayzu = TABLE ;
enxxu = TABLE ; enyyu = TABLE ; enzzu = TABLE ;
gnxyu = TABLE ; gnxzu = TABLE ; gnyzu = TABLE ;
eixxu = TABLE ; eiyyu = TABLE ; eizzu = TABLE ;
gixyu = TABLE ; gixzu = TABLE ; giyzu = TABLE ;
smxxu = TABLE ; smyyu = TABLE ; smzzu = TABLE ;
smxyu = TABLE ; smxzu = TABLE ; smyzu = TABLE ;
epseu = TABLE ;
LDEPL = MOTS 'UX ' 'UY ' 'UZ ' ;
LDEFO = MOTS 'EPXX' 'EPYY' 'EPZZ' 'GAXY' 'GAXZ' 'GAYZ' ;
LDEIN = MOTS 'EIXX' 'EIYY' 'EIZZ' 'GIXY' 'GIXZ' 'GIYZ' ;
LDENN = MOTS 'ENXX' 'ENYY' 'ENZZ' 'GNXY' 'GNXZ' 'GNYZ' ;
LCONT = MOTS 'SMXX' 'SMYY' 'SMZZ' 'SMXY' 'SMXZ' 'SMYZ' ;
LVARI = MOTS 'EPSE' ;
idefo = 6 ;
idein = 6 ;
icont = 6 ;
ierr = 0 ;
critere = 1.d-12 ;
IMESS = 0 ;
***IMESS = 1 ;
nbno = 8 ;
nbgau = 8 ;
netat = DIME (ta1.'TEMPS') ;
ietat = -1 ;
* DEBUT BOUCLE COMPARAISON DES RESULTATS________________________________
REPETER BECART netat ;
ietat = ietat + 1 ;
temps1 = ta1.'TEMPS'.ietat ;
temps2 = TABU.'TEMPS'.ietat ;
SI ((ABS (temps1-temps2)) > 1.0E-9) ;
ierr = 1 ;
QUITTER BECART ;
FINSI ;
* Extraction des resultats de calcul : Modele interne CAST3M-----------
* Deplacements
uxc.1 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p1 ;
uxc.2 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p2 ;
uxc.3 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p3 ;
uxc.4 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p4 ;
uxc.5 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p11 ;
uxc.6 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p21 ;
uxc.7 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p31 ;
uxc.8 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p41 ;
uyc.1 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p1 ;
uyc.2 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p2 ;
uyc.3 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p3 ;
uyc.4 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p4 ;
uyc.5 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p11 ;
uyc.6 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p21 ;
uyc.7 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p31 ;
uyc.8 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p41 ;
uzc.1 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p1 ;
uzc.2 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p2 ;
uzc.3 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p3 ;
uzc.4 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p4 ;
uzc.5 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p11 ;
uzc.6 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p21 ;
uzc.7 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p31 ;
uzc.8 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p41 ;
* Deformations totales
igau = 0 ;
REPETER BEPXXC nbgau ;
igau = igau + 1 ;
epxxc.igau = EXTR (ta1.'DEFORMATIONS'.ietat) 'EPXX' 1 1 igau ;
FIN BEPXXC ;
igau = 0 ;
REPETER BEPYYC nbgau ;
igau = igau + 1 ;
epyyc.igau = EXTR (ta1.'DEFORMATIONS'.ietat) 'EPYY' 1 1 igau ;
FIN BEPYYC ;
igau = 0 ;
REPETER BEPZZC nbgau ;
igau = igau + 1 ;
epzzc.igau = EXTR (ta1.'DEFORMATIONS'.ietat) 'EPZZ' 1 1 igau ;
FIN BEPZZC ;
igau = 0 ;
REPETER BGAXYC nbgau ;
igau = igau + 1 ;
gaxyc.igau = EXTR (ta1.'DEFORMATIONS'.ietat) 'GAXY' 1 1 igau ;
FIN BGAXYC ;
igau = 0 ;
REPETER BGAXZC nbgau ;
igau = igau + 1 ;
gaxzc.igau = EXTR (ta1.'DEFORMATIONS'.ietat) 'GAXZ' 1 1 igau ;
FIN BGAXZC ;
igau = 0 ;
REPETER BGAYZC nbgau ;
igau = igau + 1 ;
gayzc.igau = EXTR (ta1.'DEFORMATIONS'.ietat) 'GAYZ' 1 1 igau ;
FIN BGAYZC ;
* Deformations inelastiques
igau = 0 ;
REPETER BEIXXC nbgau ;
igau = igau + 1 ;
eixxc.igau = EXTR (ta1.'DEFORMATIONS_INELASTIQUES'.ietat)
'EIXX' 1 1 igau ;
FIN BEIXXC ;
igau = 0 ;
REPETER BEIYYC nbgau ;
igau = igau + 1 ;
eiyyc.igau = EXTR (ta1.'DEFORMATIONS_INELASTIQUES'.ietat)
'EIYY' 1 1 igau ;
FIN BEIYYC ;
igau = 0 ;
REPETER BEIZZC nbgau ;
igau = igau + 1 ;
eizzc.igau = EXTR (ta1.'DEFORMATIONS_INELASTIQUES'.ietat)
'EIZZ' 1 1 igau ;
FIN BEIZZC ;
igau = 0 ;
REPETER BGIXYC nbgau ;
igau = igau + 1 ;
gixyc.igau = EXTR (ta1.'DEFORMATIONS_INELASTIQUES'.ietat)
'GIXY' 1 1 igau ;
FIN BGIXYC ;
igau = 0 ;
REPETER BGIXZC nbgau ;
igau = igau + 1 ;
gixzc.igau = EXTR (ta1.'DEFORMATIONS_INELASTIQUES'.ietat)
'GIXZ' 1 1 igau ;
FIN BGIXZC ;
igau = 0 ;
REPETER BGIYZC nbgau ;
igau = igau + 1 ;
giyzc.igau = EXTR (ta1.'DEFORMATIONS_INELASTIQUES'.ietat)
'GIYZ' 1 1 igau ;
FIN BGIYZC ;
* Contraintes
igau = 0 ;
REPETER BSMXXC nbgau ;
igau = igau + 1 ;
smxxc.igau = EXTR (ta1.'CONTRAINTES'.ietat) 'SMXX' 1 1 igau ;
FIN BSMXXC ;
igau = 0 ;
REPETER BSMYYC nbgau ;
igau = igau + 1 ;
smyyc.igau = EXTR (ta1.'CONTRAINTES'.ietat) 'SMYY' 1 1 igau ;
FIN BSMYYC ;
igau = 0 ;
REPETER BSMZZC nbgau ;
igau = igau + 1 ;
smzzc.igau = EXTR (ta1.'CONTRAINTES'.ietat) 'SMZZ' 1 1 igau ;
FIN BSMZZC ;
igau = 0 ;
REPETER BSMXYC nbgau ;
igau = igau + 1 ;
smxyc.igau = EXTR (ta1.'CONTRAINTES'.ietat) 'SMXY' 1 1 igau ;
FIN BSMXYC ;
igau = 0 ;
REPETER BSMXZC nbgau ;
igau = igau + 1 ;
smxzc.igau = EXTR (ta1.'CONTRAINTES'.ietat) 'SMXZ' 1 1 igau ;
FIN BSMXZC ;
igau = 0 ;
REPETER BSMYZC nbgau ;
igau = igau + 1 ;
smyzc.igau = EXTR (ta1.'CONTRAINTES'.ietat) 'SMYZ' 1 1 igau ;
FIN BSMYZC ;
* Variables internes
igau = 0 ;
REPETER BEPSEC nbgau ;
igau = igau + 1 ;
epsec.igau = EXTR (ta1.'VARIABLES_INTERNES'.ietat)
'EPSE' 1 1 igau ;
FIN BEPSEC ;
* Extraction des resultats de calcul : Modele externe utilisateur------
uxu.1 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UX' p1 ;
uxu.2 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UX' p2 ;
uxu.3 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UX' p3 ;
uxu.4 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UX' p4 ;
uxu.5 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UX' p11 ;
uxu.6 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UX' p21 ;
uxu.7 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UX' p31 ;
uxu.8 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UX' p41 ;
uyu.1 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UY' p1 ;
uyu.2 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UY' p2 ;
uyu.3 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UY' p3 ;
uyu.4 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UY' p4 ;
uyu.5 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UY' p11 ;
uyu.6 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UY' p21 ;
uyu.7 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UY' p31 ;
uyu.8 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UY' p41 ;
uzu.1 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UZ' p1 ;
uzu.2 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UZ' p2 ;
uzu.3 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UZ' p3 ;
uzu.4 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UZ' p4 ;
uzu.5 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UZ' p11 ;
uzu.6 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UZ' p21 ;
uzu.7 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UZ' p31 ;
uzu.8 = EXTR (TABU.'DEPLACEMENTS'.ietat) 'UZ' p41 ;
* Deformations totales
igau = 0 ;
REPETER BEPXXU nbgau ;
igau = igau + 1 ;
epxxu.igau = EXTR (TABU.'DEFORMATIONS'.ietat) 'EPXX' 1 1 igau ;
FIN BEPXXU ;
igau = 0 ;
REPETER BEPYYU nbgau ;
igau = igau + 1 ;
epyyu.igau = EXTR (TABU.'DEFORMATIONS'.ietat) 'EPYY' 1 1 igau ;
FIN BEPYYU ;
igau = 0 ;
REPETER BEPZZU nbgau ;
igau = igau + 1 ;
epzzu.igau = EXTR (TABU.'DEFORMATIONS'.ietat) 'EPZZ' 1 1 igau ;
FIN BEPZZU ;
igau = 0 ;
REPETER BGAXYU nbgau ;
igau = igau + 1 ;
gaxyu.igau = EXTR (TABU.'DEFORMATIONS'.ietat) 'GAXY' 1 1 igau ;
FIN BGAXYU ;
igau = 0 ;
REPETER BGAXZU nbgau ;
igau = igau + 1 ;
gaxzu.igau = EXTR (TABU.'DEFORMATIONS'.ietat) 'GAXZ' 1 1 igau ;
FIN BGAXZU ;
igau = 0 ;
REPETER BGAYZU nbgau ;
igau = igau + 1 ;
gayzu.igau = EXTR (TABU.'DEFORMATIONS'.ietat) 'GAYZ' 1 1 igau ;
FIN BGAYZU ;
* Deformations inelastiques
igau = 0 ;
REPETER BEIXXU nbgau ;
igau = igau + 1 ;
eixxu.igau = EXTR (TABU.'DEFORMATIONS_INELASTIQUES'.ietat)
'EIXX' 1 1 igau ;
FIN BEIXXU ;
igau = 0 ;
REPETER BEIYYU nbgau ;
igau = igau + 1 ;
eiyyu.igau = EXTR (TABU.'DEFORMATIONS_INELASTIQUES'.ietat)
'EIYY' 1 1 igau ;
FIN BEIYYU ;
igau = 0 ;
REPETER BEIZZU nbgau ;
igau = igau + 1 ;
eizzu.igau = EXTR (TABU.'DEFORMATIONS_INELASTIQUES'.ietat)
'EIZZ' 1 1 igau ;
FIN BEIZZU ;
igau = 0 ;
REPETER BGIXYU nbgau ;
igau = igau + 1 ;
gixyu.igau = EXTR (TABU.'DEFORMATIONS_INELASTIQUES'.ietat)
'GIXY' 1 1 igau ;
FIN BGIXYU ;
igau = 0 ;
REPETER BGIXZU nbgau ;
igau = igau + 1 ;
gixzu.igau = EXTR (TABU.'DEFORMATIONS_INELASTIQUES'.ietat)
'GIXZ' 1 1 igau ;
FIN BGIXZU ;
igau = 0 ;
REPETER BGIYZU nbgau ;
igau = igau + 1 ;
giyzu.igau = EXTR (TABU.'DEFORMATIONS_INELASTIQUES'.ietat)
'GIYZ' 1 1 igau ;
FIN BGIYZU ;
* Deformations inelastiques (variables internes supplementaires)
igau = 0 ;
REPETER BENXXU nbgau ;
igau = igau + 1 ;
enxxu.igau = EXTR (TABU.'VARIABLES_INTERNES'.ietat)
'ENXX' 1 1 igau ;
FIN BENXXU ;
igau = 0 ;
REPETER BENYYU nbgau ;
igau = igau + 1 ;
enyyu.igau = EXTR (TABU.'VARIABLES_INTERNES'.ietat)
'ENYY' 1 1 igau ;
FIN BENYYU ;
igau = 0 ;
REPETER BENZZU nbgau ;
igau = igau + 1 ;
enzzu.igau = EXTR (TABU.'VARIABLES_INTERNES'.ietat)
'ENZZ' 1 1 igau ;
FIN BENZZU ;
igau = 0 ;
REPETER BGNXYU nbgau ;
igau = igau + 1 ;
gnxyu.igau = EXTR (TABU.'VARIABLES_INTERNES'.ietat)
'GNXY' 1 1 igau ;
FIN BGNXYU ;
igau = 0 ;
REPETER BGNXZU nbgau ;
igau = igau + 1 ;
gnxzu.igau = EXTR (TABU.'VARIABLES_INTERNES'.ietat)
'GNXZ' 1 1 igau ;
FIN BGNXZU ;
igau = 0 ;
REPETER BGNYZU nbgau ;
igau = igau + 1 ;
gnyzu.igau = EXTR (TABU.'VARIABLES_INTERNES'.ietat)
'GNYZ' 1 1 igau ;
FIN BGNYZU ;
* Contraintes
igau = 0 ;
REPETER BSMXXU nbgau ;
igau = igau + 1 ;
smxxu.igau = EXTR (TABU.'CONTRAINTES'.ietat) 'SMXX' 1 1 igau ;
FIN BSMXXU ;
igau = 0 ;
REPETER BSMYYU nbgau ;
igau = igau + 1 ;
smyyu.igau = EXTR (TABU.'CONTRAINTES'.ietat) 'SMYY' 1 1 igau ;
FIN BSMYYU ;
igau = 0 ;
REPETER BSMZZU nbgau ;
igau = igau + 1 ;
smzzu.igau = EXTR (TABU.'CONTRAINTES'.ietat) 'SMZZ' 1 1 igau ;
FIN BSMZZU ;
igau = 0 ;
REPETER BSMXYU nbgau ;
igau = igau + 1 ;
smxyu.igau = EXTR (TABU.'CONTRAINTES'.ietat) 'SMXY' 1 1 igau ;
FIN BSMXYU ;
igau = 0 ;
REPETER BSMXZU nbgau ;
igau = igau + 1 ;
smxzu.igau = EXTR (TABU.'CONTRAINTES'.ietat) 'SMXZ' 1 1 igau ;
FIN BSMXZU ;
igau = 0 ;
REPETER BSMYZU nbgau ;
igau = igau + 1 ;
smyzu.igau = EXTR (TABU.'CONTRAINTES'.ietat) 'SMYZ' 1 1 igau ;
FIN BSMYZU ;
* Variables internes
igau = 0 ;
REPETER BEPSEU nbgau ;
igau = igau + 1 ;
epseu.igau = EXTR (TABU.'VARIABLES_INTERNES'.ietat)
'EPSE' 1 1 igau ;
FIN BEPSEU ;
* Comparaison des deplacements-----------------------------------------
icomp = 1 ;
ino = 0 ;
REPETER BUX nbno ;
ino = ino + 1 ;
SI (EGA uxc.ino 0.0) ;
SI (NON (EGA uxu.ino 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' uxu.ino
'Composante ' (EXTR LDEPL icomp)
' Noeud' ino 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 10 ; errabs = uxu.ino ; QUITTER BECART ;
FINSI ;
SINON ;
dux = ABS (uxc.ino - uxu.ino) ;
errrel = ABS (dux / uxc.ino) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LDEPL icomp)
' Noeud' ino 'Etat' ietat ;
Message 'uxc.ino =' uxc.ino 'uxu.ino =' uxu.ino ;
Message ;
FINSI ;
************ierr = 11 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BUX ;
icomp = 2 ;
ino = 0 ;
REPETER BUY nbno ;
ino = ino + 1 ;
SI (EGA uyc.ino 0.0) ;
SI (NON (EGA uyu.ino 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' uyu.ino
'Composante ' (EXTR LDEPL icomp)
' Noeud' ino 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 10 ; errabs = uyu.ino ; QUITTER BECART ;
FINSI ;
SINON ;
duy = ABS (uyc.ino - uyu.ino) ;
errrel = ABS (duy / uyc.ino) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LDEPL icomp)
' Noeud' ino 'Etat' ietat ;
Message 'uyc.ino =' uyc.ino 'uyu.ino =' uyu.ino ;
Message ;
FINSI ;
************ierr = 11 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BUY ;
icomp = 3 ;
ino = 0 ;
REPETER BUZ nbno ;
ino = ino + 1 ;
SI (EGA uzc.ino 0.0) ;
SI (NON (EGA uzu.ino 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' uzu.ino
'Composante ' (EXTR LDEPL icomp)
' Noeud' ino 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 10 ; errabs = uzu.ino ; QUITTER BECART ;
FINSI ;
SINON ;
duz = ABS (uzc.ino - uzu.ino) ;
errrel = ABS (duz / uzc.ino) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LDEPL icomp)
' Noeud' ino 'Etat' ietat ;
Message 'uzc.ino =' uzc.ino 'uzu.ino =' uzu.ino ;
Message ;
FINSI ;
************ierr = 11 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BUZ ;
* Comparaison des deformations-----------------------------------------
icomp = 1 ;
igau = 0 ;
REPETER BEPXX nbgau ;
igau = igau + 1 ;
SI (EGA epxxc.igau 0.0) ;
SI (NON (EGA epxxu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' epxxu.igau
'Composante ' (EXTR LDEFO icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 20 ; errabs = epxxu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
depxx = ABS (epxxc.igau - epxxu.igau) ;
errrel = ABS (depxx / epxxc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LDEFO icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'epxxc.igau =' epxxc.igau 'epxxu.igau =' epxxu.igau;
Message ;
FINSI ;
************ierr = 21 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BEPXX ;
icomp = 2 ;
igau = 0 ;
REPETER BEPYY nbgau ;
igau = igau + 1 ;
SI (EGA epyyc.igau 0.0) ;
SI (NON (EGA epyyu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' epyyu.igau
'Composante ' (EXTR LDEFO icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 20 ; errabs = epyyu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
depyy = ABS (epyyc.igau - epyyu.igau) ;
errrel = ABS (depyy / epyyc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LDEFO icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'epyyc.igau =' epyyc.igau 'epyyu.igau =' epyyu.igau;
Message ;
FINSI ;
************ierr = 21 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BEPYY ;
icomp = 3 ;
igau = 0 ;
REPETER BEPZZ nbgau ;
igau = igau + 1 ;
SI (EGA epzzc.igau 0.0) ;
SI (NON (EGA epzzu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' epzzu.igau
'Composante ' (EXTR LDEFO icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 20 ; errabs = epzzu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
depzz = ABS (epzzc.igau - epzzu.igau) ;
errrel = ABS (depzz / epzzc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LDEFO icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'epzzc.igau =' epzzc.igau 'epzzu.igau =' epzzu.igau;
Message ;
FINSI ;
************ierr = 21 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BEPZZ ;
icomp = 4 ;
igau = 0 ;
REPETER BGAXY nbgau ;
igau = igau + 1 ;
SI (EGA gaxyc.igau 0.0) ;
SI (NON (EGA gaxyu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' gaxyu.igau
'Composante ' (EXTR LDEFO icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 20 ; errabs = gaxyu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
dgaxy = ABS (gaxyc.igau - gaxyu.igau) ;
errrel = ABS (dgaxy / gaxyc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LDEFO icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'gaxyc.igau =' gaxyc.igau 'gaxyu.igau =' gaxyu.igau;
Message ;
FINSI ;
************ierr = 21 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BGAXY ;
icomp = 5 ;
igau = 0 ;
REPETER BGAXZ nbgau ;
igau = igau + 1 ;
SI (EGA gaxzc.igau 0.0) ;
SI (NON (EGA gaxzu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' gaxzu.igau
'Composante ' (EXTR LDEFO icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 20 ; errabs = gaxzu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
dgaxz = ABS (gaxzc.igau - gaxzu.igau) ;
errrel = ABS (dgaxz / gaxzc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LDEFO icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'gaxzc.igau =' gaxzc.igau 'gaxzu.igau =' gaxzu.igau;
Message ;
FINSI ;
************ierr = 21 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BGAXZ ;
icomp = 6 ;
igau = 0 ;
REPETER BGAYZ nbgau ;
igau = igau + 1 ;
SI (EGA gayzc.igau 0.0) ;
SI (NON (EGA gayzu.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' gayzu.igau
************ 'Composante ' (EXTR LDEFO icomp)
************ ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
ierr = 20 ; errabs = gayzu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
dgayz = ABS (gayzc.igau - gayzu.igau) ;
errrel = ABS (dgayz / gayzc.igau) ;
SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************ 'Composante ' (EXTR LDEFO icomp)
************ ' Point Gauss' igau 'Etat' ietat ;
************Message 'gayzc.igau =' gayzc.igau 'gayzu.igau =' gayzu.igau;
************Message ;
************FINSI ;
ierr = 21 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BGAYZ ;
* Comparaison des deformations inelastiques----------------------------
icomp = 1 ;
igau = 0 ;
REPETER BEIXX nbgau ;
igau = igau + 1 ;
SI (EGA eixxc.igau 0.0) ;
SI (NON (EGA enxxu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' enxxu.igau
'Composante ' (EXTR LDEIN icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 30 ; errabs = enxxu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
deixx = ABS (eixxc.igau - enxxu.igau) ;
errrel = ABS (deixx / eixxc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LDEIN icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'eixxc.igau =' eixxc.igau 'enxxu.igau =' enxxu.igau;
Message ;
FINSI ;
************ierr = 31 ; QUITTER BECART ;
FINSI ;
FINSI ;
SI (NON (EGA eixxu.igau 0.0)) ;
ierr = 32 ; errabs = eixxu.igau ; QUITTER BECART ;
FINSI ;
FIN BEIXX ;
icomp = 2 ;
igau = 0 ;
REPETER BEIYY nbgau ;
igau = igau + 1 ;
SI (EGA eiyyc.igau 0.0) ;
SI (NON (EGA enyyu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' enyyu.igau
'Composante ' (EXTR LDEIN icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 30 ; errabs = enyyu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
deiyy = ABS (eiyyc.igau - enyyu.igau) ;
errrel = ABS (deiyy / eiyyc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LDEIN icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'eiyyc.igau =' eiyyc.igau 'enyyu.igau =' enyyu.igau;
Message ;
FINSI ;
************ierr = 31 ; QUITTER BECART ;
FINSI ;
FINSI ;
SI (NON (EGA eiyyu.igau 0.0)) ;
ierr = 32 ; errabs = eiyyu.igau ; QUITTER BECART ;
FINSI ;
FIN BEIYY ;
icomp = 3 ;
igau = 0 ;
REPETER BEIZZ nbgau ;
igau = igau + 1 ;
SI (EGA eizzc.igau 0.0) ;
SI (NON (EGA enzzu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' enzzu.igau
'Composante ' (EXTR LDEIN icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 30 ; errabs = enzzu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
deizz = ABS (eizzc.igau - enzzu.igau) ;
errrel = ABS (deizz / eizzc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LDEIN icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'eizzc.igau =' eizzc.igau 'enzzu.igau =' enzzu.igau;
Message ;
FINSI ;
************ierr = 31 ; QUITTER BECART ;
FINSI ;
FINSI ;
SI (NON (EGA eizzu.igau 0.0)) ;
ierr = 32 ; errabs = eizzu.igau ; QUITTER BECART ;
FINSI ;
FIN BEIZZ ;
icomp = 4 ;
igau = 0 ;
REPETER BGIXY nbgau ;
igau = igau + 1 ;
SI (EGA gixyc.igau 0.0) ;
SI (NON (EGA gnxyu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' gnxyu.igau
'Composante ' (EXTR LDEIN icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 30 ; errabs = gnxyu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
dgixy = ABS (gixyc.igau - gnxyu.igau) ;
errrel = ABS (dgixy / gixyc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LDEIN icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'gixyc.igau =' gixyc.igau 'gnxyu.igau =' gnxyu.igau;
Message ;
FINSI ;
************ierr = 31 ; QUITTER BECART ;
FINSI ;
FINSI ;
SI (NON (EGA gixyu.igau 0.0)) ;
ierr = 32 ; errabs = gixyu.igau ; QUITTER BECART ;
FINSI ;
FIN BGIXY ;
icomp = 5 ;
igau = 0 ;
REPETER BGIXZ nbgau ;
igau = igau + 1 ;
SI (EGA gixzc.igau 0.0) ;
SI (NON (EGA gnxzu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' gnxzu.igau
'Composante ' (EXTR LDEIN icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 30 ; errabs = gnxzu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
dgixz = ABS (gixzc.igau - gnxzu.igau) ;
errrel = ABS (dgixz / gixzc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LDEIN icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'gixzc.igau =' gixzc.igau 'gnxzu.igau =' gnxzu.igau;
Message ;
FINSI ;
************ierr = 31 ; QUITTER BECART ;
FINSI ;
FINSI ;
SI (NON (EGA gixzu.igau 0.0)) ;
ierr = 32 ; errabs = gixzu.igau ; QUITTER BECART ;
FINSI ;
FIN BGIXZ ;
icomp = 6 ;
igau = 0 ;
REPETER BGIYZ nbgau ;
igau = igau + 1 ;
SI (EGA giyzc.igau 0.0) ;
SI (NON (EGA gnyzu.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' gnyzu.igau
************ 'Composante ' (EXTR LDEIN icomp)
************ ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
ierr = 30 ; errabs = gnyzu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
dgiyz = ABS (giyzc.igau - gnyzu.igau) ;
errrel = ABS (dgiyz / giyzc.igau) ;
SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************ 'Composante ' (EXTR LDEIN icomp)
************ ' Point Gauss' igau 'Etat' ietat ;
************Message 'giyzc.igau =' giyzc.igau 'gnyzu.igau =' gnyzu.igau;
************Message ;
************FINSI ;
ierr = 31 ; QUITTER BECART ;
FINSI ;
FINSI ;
SI (NON (EGA giyzu.igau 0.0)) ;
ierr = 32 ; errabs = giyzu.igau ; QUITTER BECART ;
FINSI ;
FIN BGIYZ ;
* Comparaison des contraintes------------------------------------------
icomp = 1 ;
igau = 0 ;
REPETER BSMXX nbgau ;
igau = igau + 1 ;
SI (EGA smxxc.igau 0.0) ;
SI (NON (EGA smxxu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' smxxu.igau
'Composante ' (EXTR LCONT icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 40 ; errabs = smxxu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
dsmxx = ABS (smxxc.igau - smxxu.igau) ;
errrel = ABS (dsmxx / smxxc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LCONT icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'smxxc.igau =' smxxc.igau 'smxxu.igau =' smxxu.igau;
Message ;
FINSI ;
************ierr = 41 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BSMXX ;
icomp = 2 ;
igau = 0 ;
REPETER BSMYY nbgau ;
igau = igau + 1 ;
SI (EGA smyyc.igau 0.0) ;
SI (NON (EGA smyyu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' smyyu.igau
'Composante ' (EXTR LCONT icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 40 ; errabs = smyyu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
dsmyy = ABS (smyyc.igau - smyyu.igau) ;
errrel = ABS (dsmyy / smyyc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LCONT icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'smyyc.igau =' smyyc.igau 'smyyu.igau =' smyyu.igau;
Message ;
FINSI ;
************ierr = 41 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BSMYY ;
icomp = 3 ;
igau = 0 ;
REPETER BSMZZ nbgau ;
igau = igau + 1 ;
SI (EGA smzzc.igau 0.0) ;
SI (NON (EGA smzzu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' smzzu.igau
'Composante ' (EXTR LCONT icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 40 ; errabs = smzzu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
dsmzz = ABS (smzzc.igau - smzzu.igau) ;
errrel = ABS (dsmzz / smzzc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LCONT icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'smzzc.igau =' smzzc.igau 'smzzu.igau =' smzzu.igau;
Message ;
FINSI ;
************ierr = 41 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BSMZZ ;
icomp = 4 ;
igau = 0 ;
REPETER BSMXY nbgau ;
igau = igau + 1 ;
SI (EGA smxyc.igau 0.0) ;
SI (NON (EGA smxyu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' smxyu.igau
'Composante ' (EXTR LCONT icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 40 ; errabs = smxyu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
dsmxy = ABS (smxyc.igau - smxyu.igau) ;
errrel = ABS (dsmxy / smxyc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LCONT icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'smxyc.igau =' smxyc.igau 'smxyu.igau =' smxyu.igau;
Message ;
FINSI ;
************ierr = 41 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BSMXY ;
icomp = 5 ;
igau = 0 ;
REPETER BSMXZ nbgau ;
igau = igau + 1 ;
SI (EGA smxzc.igau 0.0) ;
SI (NON (EGA smxzu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' smxzu.igau
'Composante ' (EXTR LCONT icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 40 ; errabs = smxzu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
dsmxz = ABS (smxzc.igau - smxzu.igau) ;
errrel = ABS (dsmxz / smxzc.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LCONT icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'smxzc.igau =' smxzc.igau 'smxzu.igau =' smxzu.igau;
Message ;
FINSI ;
************ierr = 41 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BSMXZ ;
icomp = 6 ;
igau = 0 ;
REPETER BSMYZ nbgau ;
igau = igau + 1 ;
SI (EGA smyzc.igau 0.0) ;
SI (NON (EGA smyzu.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' smyzu.igau
************ 'Composante ' (EXTR LCONT icomp)
************ ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
ierr = 40 ; errabs = smyzu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
dsmyz = ABS (smyzc.igau - smyzu.igau) ;
errrel = ABS (dsmyz / smyzc.igau) ;
SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************ 'Composante ' (EXTR LCONT icomp)
************ ' Point Gauss' igau 'Etat' ietat ;
************Message 'smyzc.igau =' smyzc.igau 'smyzu.igau =' smyzu.igau;
************Message ;
************FINSI ;
ierr = 41 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BSMYZ ;
* Comparaison des variables internes-----------------------------------
icomp = 1 ;
igau = 0 ;
REPETER BEPSE nbgau ;
igau = igau + 1 ;
SI (EGA epsec.igau 0.0) ;
SI (NON (EGA epseu.igau 0.0)) ;
SI (EGA IMESS 1) ;
Message 'Erreur absolue' epseu.igau
'Composante ' (EXTR LVARI icomp)
' Point Gauss' igau 'Etat' ietat ;
Message ;
FINSI ;
************ierr = 50 ; errabs = epseu.igau ; QUITTER BECART ;
FINSI ;
SINON ;
depse = ABS (epsec.igau - epseu.igau) ;
errrel = ABS (depse / epsec.igau) ;
SI (errrel > critere) ;
SI (EGA IMESS 1) ;
Message 'Erreur relative' errrel
'Composante ' (EXTR LVARI icomp)
' Point Gauss' igau 'Etat' ietat ;
Message 'epsec.igau =' epsec.igau 'epseu.igau =' epseu.igau;
Message ;
FINSI ;
************ierr = 51 ; QUITTER BECART ;
FINSI ;
FINSI ;
FIN BEPSE ;
FIN BECART ;
* FIN BOUCLE COMPARAISON DES RESULTATS________________________________
* MESSAGES D'ERREUR_____________________________________________________
Message ;
Message 'CPU avec modele interne = ' CPUint 'centiemes de seconde' ;
Message 'CPU avec modele externe = ' CPUext 'centiemes de seconde' ;
ifin = netat-1 ;
giyzcmax = 0.0 ;
igau = 0 ;
REPETER BGIYZFC nbgau ;
igau = igau + 1 ;
giyz = EXTR (ta1.'DEFORMATIONS_INELASTIQUES'.ifin)
'GIYZ' 1 1 igau ;
SI (giyz > giyzcmax) ; giyzcmax = giyz ; FINSI ;
FIN BGIYZFC ;
giyzumax = 0.0 ;
igau = 0 ;
REPETER BGIYZFU nbgau ;
igau = igau + 1 ;
giyz = EXTR (TABU.'VARIABLES_INTERNES'.ifin)
'GNYZ' 1 1 igau ;
SI (giyz > giyzumax) ; giyzumax = giyz ; FINSI ;
FIN BGIYZFU ;
Message ;
Message 'Deformation de fluage finale (maxi sur points de Gauss)' ;
Message 'GIYZ max avec modele interne = ' giyzcmax ;
Message 'GIYZ max avec modele externe = ' giyzumax ;
Message ;
SI (ierr > 0) ;
SI (EGA ierr 1) ;
Message 'Instants de calcul non coincidants' ;
ERRE 5 ;
FINSI ;
SI (EGA ierr 10) ;
Message 'Erreur absolue' errabs 'Composante ' (EXTR LDEPL icomp)
' Noeud' ino 'Etat' ietat ;
ERRE 5 ;
FINSI ;
SI (EGA ierr 11) ;
Message 'Erreur relative' errrel 'Composante ' (EXTR LDEPL icomp)
' Noeud' ino 'Etat' ietat ;
ERRE 5 ;
FINSI ;
SI (EGA ierr 20) ;
Message 'Erreur absolue' errabs 'Composante ' (EXTR LDEFO icomp)
' Point Gauss' igau 'Etat' ietat ;
ERRE 5 ;
FINSI ;
SI (EGA ierr 21) ;
Message 'Erreur relative' errrel 'Composante ' (EXTR LDEFO icomp)
' Point Gauss' igau 'Etat' ietat ;
ERRE 5 ;
FINSI ;
SI (EGA ierr 30) ;
Message 'Erreur absolue' errabs 'Composante ' (EXTR LDEIN icomp)
' Point Gauss' igau 'Etat' ietat ;
ERRE 5 ;
FINSI ;
SI (EGA ierr 31) ;
Message 'Erreur relative' errrel 'Composante ' (EXTR LDEIN icomp)
' Point Gauss' igau 'Etat' ietat ;
ERRE 5 ;
FINSI ;
SI (EGA ierr 32) ;
Message 'Deformation inelastique non nulle pour modele externe' ;
Message 'Erreur absolue' errabs 'Composante ' (EXTR LDEIN icomp)
' Point Gauss' igau 'Etat' ietat ;
ERRE 5 ;
FINSI ;
SI (EGA ierr 40) ;
Message 'Erreur absolue' errabs 'Composante ' (EXTR LCONT icomp)
' Point Gauss' igau 'Etat' ietat ;
ERRE 5 ;
FINSI ;
SI (EGA ierr 41) ;
Message 'Erreur relative' errrel 'Composante ' (EXTR LCONT icomp)
' Point Gauss' igau 'Etat' ietat ;
ERRE 5 ;
FINSI ;
SI (EGA ierr 50) ;
Message 'Erreur absolue' errabs 'Composante ' (EXTR LVARI icomp)
' Point Gauss' igau 'Etat' ietat ;
ERRE 5 ;
FINSI ;
SI (EGA ierr 51) ;
Message 'Erreur relative' errrel 'Composante ' (EXTR LVARI icomp)
' Point Gauss' igau 'Etat' ietat ;
ERRE 5 ;
FINSI ;
SINON ;
Message 'Resultats concordants entre les deux modeles' ;
Message 'Aucune erreur relative superieure a ' critere
' pour les composantes' ;
Message (EXTR LDEFO idefo) ' ' (EXTR LDEIN idein)
' ' (EXTR LCONT icont) ;
ERRE 0 ;
FINSI ;
FIN ;
© Cast3M 2003 - All rights reserved.
Disclaimer