Download umat02.dgibi

Back to the list

* fichier :  umat02.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 No2 : ELASTICITE ISOTROPE NON ISOTHERME
*
*=======================================================================


opti echo 1 ;


*=======================================================================
*
*                       PROCEDURES DEPENDANTES
*
*=======================================================================



 
*=======================================================================
*
*                      JEU DE DONNEES PRINCIPAL
*
*=======================================================================


*=======================================================================
* Maillage

opti dime 3 elem cub8 ;

long = 1.0 ;
larg = 1.0 ;
epai = 1.0 ;

p1  = 0.0 0.0 0.0 ;
p2  = p1 PLUS (larg 0.0 0.0) ;
p3  = p2 PLUS (0.0 long 0.0) ;
p4  = p1 PLUS (0.0 long 0.0) ;

p11 = p1 PLUS (0.0 0.0 epai) ;
p21 = p2 PLUS (0.0 0.0 epai) ;
p31 = p3 PLUS (0.0 0.0 epai) ;
p41 = p4 PLUS (0.0 0.0 epai) ;

p1p2 = DROIT 1 p1 p2 ;
p4p3 = DROIT 1 p4 p3 ;

sbas = p1p2 REGL 1 p4p3 ;

p11p21 = DROIT 1 p11 p21 ;
p41p31 = DROIT 1 p41 p31 ;

shaut = p11p21 REGL 1 p41p31 ;

cube = sbas VOLU 1 shaut ;


*=======================================================================
* Comportement elastique isotrope non isotherme
* Traction uniaxiale Z

*-----------------------------------------------------------------------
* 1 - Calcul avec le modele 'ELASTIQUE' 'ISOTROPE' de CAST3M
*     Resolution quasi-statique

* 1.1 Definition du modele elastique

mo_elas = MODE cube 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
epsilon lineaire ;

* 1.2 Affectation des proprietes de materiau

xyoun = 2.1e+11 ; xnu = 0.3 ; xalph = 1.0e-6 ; xtref = 0.0 ;
xdydt = -2.1e+07 ; xdndt = -3.0e-05 ;

xyoun1 = xyoun - (xdydt * 10000.0) ;
xnu1   = xnu   - (xdndt * 10000.0) ;
xyoun2 = xyoun + (xdydt * 10000.0) ;
xnu2   = xnu   + (xdndt * 10000.0) ;

L_T = PROG (xtref-10000.0) (xtref+10000.0) ;
L_Y = PROG xyoun1 xyoun2 ;
L_N = PROG xnu1   xnu2   ;

evoyoun = EVOL MANU 'T   ' L_T 'YOUN' L_Y ;
evonu   = EVOL MANU 'T   ' L_T 'NU'   L_N ;

ma_elas = MATE mo_elas 'YOUN' evoyoun 'NU' evonu 'ALPH' xalph ;

* 1.3 Definition des chargements

* 1.3.0 Creation de progressions pour la ponderation des chargements,
*       definissant autant d'etats a calculer

L_temps = PROG 0.0 PAS 1.0 3.0 ;
L_depl  = PROG 0.0 PAS 1.0 3.0 ;
L_teta  = PROG 0.0 PAS 1.0 3.0 ;

netat = DIME L_temps ;

* 1.3.1 Blocages mecaniques et deplacement axial impose

uzimpo = 1.0e-2 ;
clim1 = BLOQ sbas 'DEPL' ;
clim2 = BLOQ shaut 'UX' 'UY' ;
clim3 = BLOQ shaut 'UZ' ;
depi3 = DEPI clim3 uzimpo ;
chardimp = CHAR 'DIMP' (EVOL MANU L_temps L_depl) depi3 ;

* 1.3.2 Profil spatial nominal de temperature

tetaz0 = 0.0 ; tetaz1 = 300.0 ; dtetadz = (tetaz1-tetaz0)/epai ;
ZZ = COOR 3 cube ;
chteta = dtetadz * ZZ ;
chteta = NOMC 'TETA' chteta ;
chteta = CHAN ATTRIBUT chteta 'NATURE' 'DISCRET' ;
charteta = CHAR 'TETA' chteta (EVOL MANU L_temps L_teta) ;

chT = NOMC 'T   ' chteta ;
chT = CHAN ATTRIBUT chT 'NATURE' 'DISCRET' ;
charT = CHAR 'T   ' chT (EVOL MANU L_temps L_teta) ;

* 1.4 Definition d'un champ de temperature de reference pour la
*     dilatation thermique

chpxtref = MANU CHPO cube 'SCAL' xtref ;
chTref = NOMC 'T   ' chpxtref ;

* 1.5 Resolution des etats successifs

* 1.5.1 Creation et initialisation de la table de resultats

ta1 = TABLE ;

ta1.'MATERIAU' = TABLE ;
ta1.'MATERIAU' . 0 = VARI 'NUAG' mo_elas ma_elas chTref 'RIGIDITE' ;

ta1.'DEPLACEMENTS' = TABLE ;
UX0 = MANU CHPO cube 'UX' 0.0 ;
UY0 = MANU CHPO cube 'UY' 0.0 ;
UZ0 = MANU CHPO cube 'UZ' 0.0 ;
ta1.'DEPLACEMENTS' . 0 = COLI (COLI UX0 1.0 UY0 1.0) 1.0 UZ0 1.0 ;

ta1.'DEFORMATIONS' = TABLE ;
ta1.'DEFORMATIONS' . 0 = ZERO mo_elas 'DEFORMAT' ;

ta1.'DEFORMATIONS_ELASTIQUES' = TABLE ;
ta1.'DEFORMATIONS_ELASTIQUES' . 0 = ZERO mo_elas 'DEFORMAT' ;

ta1.'DEFORMATIONS_THERMIQUES' = TABLE ;
ta1.'DEFORMATIONS_THERMIQUES' . 0 = ZERO mo_elas 'DEFORMAT' ;

ta1.'CONTRAINTES' = TABLE ;
ta1.'CONTRAINTES' . 0 = ZERO mo_elas 'CONTRAIN' ;

* 1.5.2 Resolution quasi-statique

ietat = 0 ;

REPETER BETAT (netat-1) ;

   ietat  = ietat + 1 ;
   ietatm = ietat - 1 ;

   coe_depl = EXTR L_depl (ietat+1) ;
   coe_teta = EXTR L_teta (ietat+1) ;

*  Calcul des chargements imposes a l'instant courant :
*  - Champ de temperature et ecart par rapport a la temperature de
*    reference pour la dilatation thermique ;
*  - Deplacement impose.

   chpoT  = coe_teta * chT ;
   chpoT  = NOMC 'SCAL' chpoT ;
   chpodT = COLI chpoT 1.0 chpxtref -1.0 ;
   chpoT  = NOMC 'T   ' chpoT ;
   chpodT = NOMC 'T   ' chpodT ;

   depietat = coe_depl * depi3 ;

*  Champ de materiau a l'instant courant

   ta1.'MATERIAU'.ietat = VARI 'NUAG' mo_elas ma_elas chpoT 'RIGIDITE' ;

*  Rigidite structurelle a l'instant courant
*  Rigidite totale

   rig_stru = RIGI mo_elas (ta1.'MATERIAU'.ietat) ;
   rig_etat = rig_stru ET clim1 ET clim2 ET clim3 ;

*  Resolution du champ de deplacement a l'instant courant

   ta1.'DEPLACEMENTS'.ietat = RESO rig_etat depietat ;

*  Calcul des deformations totales a l'instant courant

   ta1.'DEFORMATIONS'.ietat = EPSI mo_elas (ta1.'DEPLACEMENTS'.ietat) ;

*  Calcul des deformations thermiques a l'instant courant

   ta1.'DEFORMATIONS_THERMIQUES'.ietat = EPTH mo_elas
                                         (ta1.'MATERIAU'.ietat) chpodT ;

*  Calcul des deformations elastiques a l'instant courant

   ta1.'DEFORMATIONS_ELASTIQUES'.ietat = (ta1.'DEFORMATIONS'.ietat)
                               - (ta1.'DEFORMATIONS_THERMIQUES'.ietat) ;

*  Calcul des contraintes a l'instant courant

   ta1.'CONTRAINTES'.ietat = ELAS mo_elas
                             (ta1.'DEFORMATIONS_ELASTIQUES'.ietat)
                             (ta1.'MATERIAU'.ietat) ;

FIN BETAT ;

*-----------------------------------------------------------------------
* 2 - Calcul avec le modele 'ELASTIQUE' 'ISOTROPE' de CAST3M
*     Resolution par PASAPAS

ta2 = TABLE ;
ta2.'MODELE' = mo_elas ;
ta2.'CARACTERISTIQUES' = ma_elas ;
ta2.'CHARGEMENT' = chardimp ET charT ;
ta2.'TALPHA_REFERENCE' = xtref ;
ta2.'BLOCAGES_MECANIQUES' = clim1 ET clim2 ET clim3 ;
ta2.'TEMPS_CALCULES' = L_temps ;
TMASAU=table;
ta2 . 'MES_SAUVEGARDES'=TMASAU;
TMASAU .'DEFTO'=VRAI;
TMASAU .'DEFIN'=VRAI;
PASAPAS ta2 ;

*-----------------------------------------------------------------------
* 3 - Calcul avec modele utilisateur
*     Temperature 'TETA' definie en tant que parametre externe
*  => Instanciation du materiau et prise en charge de la dilatation
*     thermique dans UMAT

* 3.1 Definition du modele utilisateur

LCMAT11 = MOTS 'YOUN' 'NU  ' 'ALPH' 'TREF' 'DYDT' 'DNDT' ;
LCVAR11 = MOTS 'EEXX' 'EEYY' 'EEZZ' 'EEXY' 'EEXZ' 'EEYZ'
               'ETXX' 'ETYY' 'ETZZ' 'ETXY' 'ETXZ' 'ETYZ' ;
LCPAR11 = MOTS 'TETA' ;
opti epsilon lineaire;
mo_util = MODE cube 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
                    'NON_LINEAIRE' 'UTILISATEUR'
                    'NUME_LOI' 11 'PARA_LOI' LCPAR11
                    'C_MATERIAU' LCMAT11 'C_VARINTER' LCVAR11;

* 3.2 Affectation des proprietes de materiau

ma_util = MATE mo_util 'YOUN' xyoun 'NU' xnu 'ALPH' xalph 'TREF' xtref
                       'DYDT' xdydt 'DNDT' xdndt ;

* 3.3 Resolution par PASAPAS

TABU = TABLE ;
TABU.'MODELE' = mo_util ;
TABU.'CARACTERISTIQUES' = ma_util ;
TABU.'CHARGEMENT' = chardimp ET charteta ;
TABU.'BLOCAGES_MECANIQUES' = clim1 ET clim2 ET clim3 ;
TABU.'TEMPS_CALCULES' = L_temps ;
TMASAU=table;
tabu . 'MES_SAUVEGARDES'=TMASAU;
TMASAU .'DEFTO'=VRAI;
TMASAU .'DEFIN'=VRAI;
tabU.'MOVA'='EEXX';
PASAPAS TABU ;

opti echo 0;
*=======================================================================
* Comparaison des resultats obtenus par les trois modeles
*
* N.B. Comme on simule un essai de traction ZZ
*      - Critere strict (errrel < 1.d-12) sur EPZZ, EEZZ, ETZZ, SMXX,
*                                             SMYY et SMZZ
*      - Pour les autres composantes on note les depassements du critere
*        si impression demandee

uxc1 = TABLE ; uyc1 = TABLE ; uzc1 = TABLE ;
epxxc1 = TABLE ; epyyc1 = TABLE ; epzzc1 = TABLE ;
gaxyc1 = TABLE ; gaxzc1 = TABLE ; gayzc1 = TABLE ;
eexxc1 = TABLE ; eeyyc1 = TABLE ; eezzc1 = TABLE ;
gexyc1 = TABLE ; gexzc1 = TABLE ; geyzc1 = TABLE ;
etxxc1 = TABLE ; etyyc1 = TABLE ; etzzc1 = TABLE ;
gtxyc1 = TABLE ; gtxzc1 = TABLE ; gtyzc1 = TABLE ;
smxxc1 = TABLE ; smyyc1 = TABLE ; smzzc1 = TABLE ;
smxyc1 = TABLE ; smxzc1 = TABLE ; smyzc1 = TABLE ;

uxc2 = TABLE ; uyc2 = TABLE ; uzc2 = TABLE ;
smxxc2 = TABLE ; smyyc2 = TABLE ; smzzc2 = TABLE ;
smxyc2 = TABLE ; smxzc2 = TABLE ; smyzc2 = TABLE ;

uxu = TABLE ; uyu = TABLE ; uzu = TABLE ;
epxxu = TABLE ; epyyu = TABLE ; epzzu = TABLE ;
gaxyu = TABLE ; gaxzu = TABLE ; gayzu = TABLE ;
eexxu = TABLE ; eeyyu = TABLE ; eezzu = TABLE ;
gexyu = TABLE ; gexzu = TABLE ; geyzu = TABLE ;
etxxu = TABLE ; etyyu = TABLE ; etzzu = TABLE ;
gtxyu = TABLE ; gtxzu = TABLE ; gtyzu = TABLE ;
smxxu = TABLE ; smyyu = TABLE ; smzzu = TABLE ;
smxyu = TABLE ; smxzu = TABLE ; smyzu = TABLE ;

LDEPL = MOTS 'UX  ' 'UY  ' 'UZ  ' ;
LDEFO = MOTS 'EPXX' 'EPYY' 'EPZZ' 'GAXY' 'GAXZ' 'GAYZ' ;
LDEFE = MOTS 'EEXX' 'EEYY' 'EEZZ' 'GEXY' 'GEXZ' 'GEYZ' ;
LDEFT = MOTS 'ETXX' 'ETYY' 'ETZZ' 'GTXY' 'GTXZ' 'GTYZ' ;
LCONT = MOTS 'SMXX' 'SMYY' 'SMZZ' 'SMXY' 'SMXZ' 'SMYZ' ;

idefo = 3 ;
idefe = 3 ;
ideft = 3 ;
icon1 = 1 ;
icon2 = 2 ;
icon3 = 3 ;

ierr = 0 ;
critere = 1.d-12 ;
IMESS = 0 ;
***IMESS = 1 ;

nbno  = 8 ;
nbgau = 8 ;

ietat = -1 ;

* DEBUT BOUCLE COMPARAISON DES RESULTATS________________________________

REPETER BECART netat ;

   ietat = ietat + 1 ;

   temps1 = EXTR L_temps (ietat+1) ;
   temps2 = ta2.'TEMPS'.ietat ;
   temps3 = TABU.'TEMPS'.ietat ;
   SI (OU ((ABS (temps1-temps2)) > 1.0E-9)
          ((ABS (temps2-temps3)) > 1.0E-9) ) ;
      ierr = 1 ;
      QUITTER BECART ;
   FINSI ;

*  Extraction des resultats de calcul : Modele interne CAST3M-----------
*  Resultats issus de la resolution quasi-statique

*  Deplacements
   uxc1.1 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p1 ;
   uxc1.2 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p2 ;
   uxc1.3 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p3 ;
   uxc1.4 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p4 ;
   uxc1.5 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p11 ;
   uxc1.6 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p21 ;
   uxc1.7 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p31 ;
   uxc1.8 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UX' p41 ;

   uyc1.1 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p1 ;
   uyc1.2 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p2 ;
   uyc1.3 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p3 ;
   uyc1.4 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p4 ;
   uyc1.5 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p11 ;
   uyc1.6 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p21 ;
   uyc1.7 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p31 ;
   uyc1.8 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UY' p41 ;

   uzc1.1 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p1 ;
   uzc1.2 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p2 ;
   uzc1.3 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p3 ;
   uzc1.4 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p4 ;
   uzc1.5 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p11 ;
   uzc1.6 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p21 ;
   uzc1.7 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p31 ;
   uzc1.8 = EXTR (ta1.'DEPLACEMENTS'.ietat) 'UZ' p41 ;

*  Deformations totales
   igau = 0 ;
   REPETER BEPXXC1 nbgau ;
      igau = igau + 1 ;
      epxxc1.igau = EXTR (ta1.'DEFORMATIONS'.ietat) 'EPXX' 1 1 igau ;
   FIN BEPXXC1 ;

   igau = 0 ;
   REPETER BEPYYC1 nbgau ;
      igau = igau + 1 ;
      epyyc1.igau = EXTR (ta1.'DEFORMATIONS'.ietat) 'EPYY' 1 1 igau ;
   FIN BEPYYC1 ;

   igau = 0 ;
   REPETER BEPZZC1 nbgau ;
      igau = igau + 1 ;
      epzzc1.igau = EXTR (ta1.'DEFORMATIONS'.ietat) 'EPZZ' 1 1 igau ;
   FIN BEPZZC1 ;

   igau = 0 ;
   REPETER BGAXYC1 nbgau ;
      igau = igau + 1 ;
      gaxyc1.igau = EXTR (ta1.'DEFORMATIONS'.ietat) 'GAXY' 1 1 igau ;
   FIN BGAXYC1 ;

   igau = 0 ;
   REPETER BGAXZC1 nbgau ;
      igau = igau + 1 ;
      gaxzc1.igau = EXTR (ta1.'DEFORMATIONS'.ietat) 'GAXZ' 1 1 igau ;
   FIN BGAXZC1 ;

   igau = 0 ;
   REPETER BGAYZC1 nbgau ;
      igau = igau + 1 ;
      gayzc1.igau = EXTR (ta1.'DEFORMATIONS'.ietat) 'GAYZ' 1 1 igau ;
   FIN BGAYZC1 ;

*  Deformations elastiques
   igau = 0 ;
   REPETER BEEXXC1 nbgau ;
      igau = igau + 1 ;
      eexxc1.igau = EXTR (ta1.'DEFORMATIONS_ELASTIQUES'.ietat)
                              'EPXX' 1 1 igau ;
   FIN BEEXXC1 ;

   igau = 0 ;
   REPETER BEEYYC1 nbgau ;
      igau = igau + 1 ;
      eeyyc1.igau = EXTR (ta1.'DEFORMATIONS_ELASTIQUES'.ietat)
                              'EPYY' 1 1 igau ;
   FIN BEEYYC1 ;

   igau = 0 ;
   REPETER BEEZZC1 nbgau ;
      igau = igau + 1 ;
      eezzc1.igau = EXTR (ta1.'DEFORMATIONS_ELASTIQUES'.ietat)
                              'EPZZ' 1 1 igau ;
   FIN BEEZZC1 ;

   igau = 0 ;
   REPETER BGEXYC1 nbgau ;
      igau = igau + 1 ;
      gexyc1.igau = EXTR (ta1.'DEFORMATIONS_ELASTIQUES'.ietat)
                              'GAXY' 1 1 igau ;
   FIN BGEXYC1 ;

   igau = 0 ;
   REPETER BGEXZC1 nbgau ;
      igau = igau + 1 ;
      gexzc1.igau = EXTR (ta1.'DEFORMATIONS_ELASTIQUES'.ietat)
                              'GAXZ' 1 1 igau ;
   FIN BGEXZC1 ;

   igau = 0 ;
   REPETER BGEYZC1 nbgau ;
      igau = igau + 1 ;
      geyzc1.igau = EXTR (ta1.'DEFORMATIONS_ELASTIQUES'.ietat)
                              'GAYZ' 1 1 igau ;
   FIN BGEYZC1 ;

*  Deformations thermiques
   igau = 0 ;
   REPETER BETXXC1 nbgau ;
      igau = igau + 1 ;
      etxxc1.igau = EXTR (ta1.'DEFORMATIONS_THERMIQUES'.ietat)
                              'EPXX' 1 1 igau ;
   FIN BETXXC1 ;

   igau = 0 ;
   REPETER BETYYC1 nbgau ;
      igau = igau + 1 ;
      etyyc1.igau = EXTR (ta1.'DEFORMATIONS_THERMIQUES'.ietat)
                              'EPYY' 1 1 igau ;
   FIN BETYYC1 ;

   igau = 0 ;
   REPETER BETZZC1 nbgau ;
      igau = igau + 1 ;
      etzzc1.igau = EXTR (ta1.'DEFORMATIONS_THERMIQUES'.ietat)
                              'EPZZ' 1 1 igau ;
   FIN BETZZC1 ;

   igau = 0 ;
   REPETER BGTXYC1 nbgau ;
      igau = igau + 1 ;
      gtxyc1.igau = EXTR (ta1.'DEFORMATIONS_THERMIQUES'.ietat)
                              'GAXY' 1 1 igau ;
   FIN BGTXYC1 ;

   igau = 0 ;
   REPETER BGTXZC1 nbgau ;
      igau = igau + 1 ;
      gtxzc1.igau = EXTR (ta1.'DEFORMATIONS_THERMIQUES'.ietat)
                              'GAXZ' 1 1 igau ;
   FIN BGTXZC1 ;

   igau = 0 ;
   REPETER BGTYZC1 nbgau ;
      igau = igau + 1 ;
      gtyzc1.igau = EXTR (ta1.'DEFORMATIONS_THERMIQUES'.ietat)
                              'GAYZ' 1 1 igau ;
   FIN BGTYZC1 ;

*  Contraintes
   igau = 0 ;
   REPETER BSMXXC1 nbgau ;
      igau = igau + 1 ;
      smxxc1.igau = EXTR (ta1.'CONTRAINTES'.ietat) 'SMXX' 1 1 igau ;
   FIN BSMXXC1 ;

   igau = 0 ;
   REPETER BSMYYC1 nbgau ;
      igau = igau + 1 ;
      smyyc1.igau = EXTR (ta1.'CONTRAINTES'.ietat) 'SMYY' 1 1 igau ;
   FIN BSMYYC1 ;

   igau = 0 ;
   REPETER BSMZZC1 nbgau ;
      igau = igau + 1 ;
      smzzc1.igau = EXTR (ta1.'CONTRAINTES'.ietat) 'SMZZ' 1 1 igau ;
   FIN BSMZZC1 ;

   igau = 0 ;
   REPETER BSMXYC1 nbgau ;
      igau = igau + 1 ;
      smxyc1.igau = EXTR (ta1.'CONTRAINTES'.ietat) 'SMXY' 1 1 igau ;
   FIN BSMXYC1 ;

   igau = 0 ;
   REPETER BSMXZC1 nbgau ;
      igau = igau + 1 ;
      smxzc1.igau = EXTR (ta1.'CONTRAINTES'.ietat) 'SMXZ' 1 1 igau ;
   FIN BSMXZC1 ;

   igau = 0 ;
   REPETER BSMYZC1 nbgau ;
      igau = igau + 1 ;
      smyzc1.igau = EXTR (ta1.'CONTRAINTES'.ietat) 'SMYZ' 1 1 igau ;
   FIN BSMYZC1 ;

*  Extraction des resultats de calcul : Modele interne CAST3M-----------
*  Resultats issus de la resolution par PASAPAS

*  Deplacements
   uxc2.1 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UX' p1 ;
   uxc2.2 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UX' p2 ;
   uxc2.3 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UX' p3 ;
   uxc2.4 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UX' p4 ;
   uxc2.5 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UX' p11 ;
   uxc2.6 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UX' p21 ;
   uxc2.7 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UX' p31 ;
   uxc2.8 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UX' p41 ;

   uyc2.1 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UY' p1 ;
   uyc2.2 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UY' p2 ;
   uyc2.3 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UY' p3 ;
   uyc2.4 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UY' p4 ;
   uyc2.5 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UY' p11 ;
   uyc2.6 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UY' p21 ;
   uyc2.7 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UY' p31 ;
   uyc2.8 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UY' p41 ;

   uzc2.1 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UZ' p1 ;
   uzc2.2 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UZ' p2 ;
   uzc2.3 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UZ' p3 ;
   uzc2.4 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UZ' p4 ;
   uzc2.5 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UZ' p11 ;
   uzc2.6 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UZ' p21 ;
   uzc2.7 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UZ' p31 ;
   uzc2.8 = EXTR (ta2.'DEPLACEMENTS'.ietat) 'UZ' p41 ;

*  Contraintes
   igau = 0 ;
   REPETER BSMXXC2 nbgau ;
      igau = igau + 1 ;
      smxxc2.igau = EXTR (ta2.'CONTRAINTES'.ietat) 'SMXX' 1 1 igau ;
   FIN BSMXXC2 ;

   igau = 0 ;
   REPETER BSMYYC2 nbgau ;
      igau = igau + 1 ;
      smyyc2.igau = EXTR (ta2.'CONTRAINTES'.ietat) 'SMYY' 1 1 igau ;
   FIN BSMYYC2 ;

   igau = 0 ;
   REPETER BSMZZC2 nbgau ;
      igau = igau + 1 ;
      smzzc2.igau = EXTR (ta2.'CONTRAINTES'.ietat) 'SMZZ' 1 1 igau ;
   FIN BSMZZC2 ;

   igau = 0 ;
   REPETER BSMXYC2 nbgau ;
      igau = igau + 1 ;
      smxyc2.igau = EXTR (ta2.'CONTRAINTES'.ietat) 'SMXY' 1 1 igau ;
   FIN BSMXYC2 ;

   igau = 0 ;
   REPETER BSMXZC2 nbgau ;
      igau = igau + 1 ;
      smxzc2.igau = EXTR (ta2.'CONTRAINTES'.ietat) 'SMXZ' 1 1 igau ;
   FIN BSMXZC2 ;

   igau = 0 ;
   REPETER BSMYZC2 nbgau ;
      igau = igau + 1 ;
      smyzc2.igau = EXTR (ta2.'CONTRAINTES'.ietat) 'SMYZ' 1 1 igau ;
   FIN BSMYZC2 ;

*  Extraction des resultats de calcul : Modele externe utilisateur------

*  Deplacements
   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 elastiques
   igau = 0 ;
   REPETER BEEXXU nbgau ;
      igau = igau + 1 ;
      eexxu.igau = EXTR (TABU.'VARIABLES_INTERNES'.ietat)
                              'EEXX' 1 1 igau ;
   FIN BEEXXU ;

   igau = 0 ;
   REPETER BEEYYU nbgau ;
      igau = igau + 1 ;
      eeyyu.igau = EXTR (TABU.'VARIABLES_INTERNES'.ietat)
                              'EEYY' 1 1 igau ;
   FIN BEEYYU ;

   igau = 0 ;
   REPETER BEEZZU nbgau ;
      igau = igau + 1 ;
      eezzu.igau = EXTR (TABU.'VARIABLES_INTERNES'.ietat)
                              'EEZZ' 1 1 igau ;
   FIN BEEZZU ;

   igau = 0 ;
   REPETER BGEXYU nbgau ;
      igau = igau + 1 ;
      gexyu.igau = (EXTR (TABU.'VARIABLES_INTERNES'.ietat)
                               'EEXY' 1 1 igau) * 2.d0 ;
   FIN BGEXYU ;

   igau = 0 ;
   REPETER BGEXZU nbgau ;
      igau = igau + 1 ;
      gexzu.igau = (EXTR (TABU.'VARIABLES_INTERNES'.ietat)
                               'EEXZ' 1 1 igau) * 2.d0 ;
   FIN BGEXZU ;

   igau = 0 ;
   REPETER BGEYZU nbgau ;
      igau = igau + 1 ;
      geyzu.igau = (EXTR (TABU.'VARIABLES_INTERNES'.ietat)
                               'EEYZ' 1 1 igau) * 2.d0 ;
   FIN BGEYZU ;

*  Deformations thermiques
   igau = 0 ;
   REPETER BETXXU nbgau ;
      igau = igau + 1 ;
      etxxu.igau = EXTR (TABU.'VARIABLES_INTERNES'.ietat)
                              'ETXX' 1 1 igau ;
   FIN BETXXU ;

   igau = 0 ;
   REPETER BETYYU nbgau ;
      igau = igau + 1 ;
      etyyu.igau = EXTR (TABU.'VARIABLES_INTERNES'.ietat)
                              'ETYY' 1 1 igau ;
   FIN BETYYU ;

   igau = 0 ;
   REPETER BETZZU nbgau ;
      igau = igau + 1 ;
      etzzu.igau = EXTR (TABU.'VARIABLES_INTERNES'.ietat)
                              'ETZZ' 1 1 igau ;
   FIN BETZZU ;

   igau = 0 ;
   REPETER BGTXYU nbgau ;
      igau = igau + 1 ;
      gtxyu.igau = (EXTR (TABU.'VARIABLES_INTERNES'.ietat)
                               'ETXY' 1 1 igau) * 2.d0 ;
   FIN BGTXYU ;

   igau = 0 ;
   REPETER BGTXZU nbgau ;
      igau = igau + 1 ;
      gtxzu.igau = (EXTR (TABU.'VARIABLES_INTERNES'.ietat)
                               'ETXZ' 1 1 igau) * 2.d0 ;
   FIN BGTXZU ;

   igau = 0 ;
   REPETER BGTYZU nbgau ;
      igau = igau + 1 ;
      gtyzu.igau = (EXTR (TABU.'VARIABLES_INTERNES'.ietat)
                               'ETYZ' 1 1 igau) * 2.d0 ;
   FIN BGTYZU ;

*  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 ;

*  Comparaison des deplacements-----------------------------------------

   icomp = 1 ;
   ino = 0 ;
   REPETER BUX1 nbno ;
      ino = ino + 1 ;
      SI (EGA uxc1.ino 0.0) ;
         SI (NON (EGA uxu.ino 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' uxu.ino
                    'par rapport a la resolution quasi-statique' ;
            Message 'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 10 ; errabs = uxu.ino ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dux = ABS (uxc1.ino - uxu.ino) ;
         errrel = ABS (dux / uxc1.ino) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'par rapport a la resolution quasi-statique' ;
            Message 'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message 'uxc1.ino =' uxc1.ino 'uxu.ino =' uxu.ino ;
            Message ;
            FINSI ;
************ierr = 11 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BUX1 ;
   ino = 0 ;
   REPETER BUX2 nbno ;
      ino = ino + 1 ;
      SI (EGA uxc2.ino 0.0) ;
         SI (NON (EGA uxu.ino 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' uxu.ino
                    'par rapport a la resolution par PASAPAS' ;
            Message 'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 12 ; errabs = uxu.ino ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dux = ABS (uxc2.ino - uxu.ino) ;
         errrel = ABS (dux / uxc2.ino) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'par rapport a la resolution par PASAPAS' ;
            Message 'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message 'uxc2.ino =' uxc2.ino 'uxu.ino =' uxu.ino ;
            Message ;
            FINSI ;
************ierr = 13 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BUX2 ;

   icomp = 2 ;
   ino = 0 ;
   REPETER BUY1 nbno ;
      ino = ino + 1 ;
      SI (EGA uyc1.ino 0.0) ;
         SI (NON (EGA uyu.ino 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' uyu.ino
                    'par rapport a la resolution quasi-statique' ;
            Message 'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 10 ; errabs = uyu.ino ; QUITTER BECART ;
         FINSI ;
      SINON ;
         duy = ABS (uyc1.ino - uyu.ino) ;
         errrel = ABS (duy / uyc1.ino) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'par rapport a la resolution quasi-statique' ;
            Message 'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message 'uyc1.ino =' uyc1.ino 'uyu.ino =' uyu.ino ;
            Message ;
            FINSI ;
************ierr = 11 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BUY1 ;
   ino = 0 ;
   REPETER BUY2 nbno ;
      ino = ino + 1 ;
      SI (EGA uyc2.ino 0.0) ;
         SI (NON (EGA uyu.ino 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' uyu.ino
                    'par rapport a la resolution par PASAPAS' ;
            Message 'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 12 ; errabs = uyu.ino ; QUITTER BECART ;
         FINSI ;
      SINON ;
         duy = ABS (uyc2.ino - uyu.ino) ;
         errrel = ABS (duy / uyc2.ino) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'par rapport a la resolution par PASAPAS' ;
            Message 'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message 'uyc2.ino =' uyc2.ino 'uyu.ino =' uyu.ino ;
            Message ;
            FINSI ;
************ierr = 13 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BUY2 ;

   icomp = 3 ;
   ino = 0 ;
   REPETER BUZ1 nbno ;
      ino = ino + 1 ;
      SI (EGA uzc1.ino 0.0) ;
         SI (NON (EGA uzu.ino 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' uzu.ino
                    'par rapport a la resolution quasi-statique' ;
            Message 'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 10 ; errabs = uzu.ino ; QUITTER BECART ;
         FINSI ;
      SINON ;
         duz = ABS (uzc1.ino - uzu.ino) ;
         errrel = ABS (duz / uzc1.ino) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'par rapport a la resolution quasi-statique' ;
            Message 'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message 'uzc1.ino =' uzc1.ino 'uzu.ino =' uzu.ino ;
            Message ;
            FINSI ;
************ierr = 11 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BUZ1 ;
   ino = 0 ;
   REPETER BUZ2 nbno ;
      ino = ino + 1 ;
      SI (EGA uzc2.ino 0.0) ;
         SI (NON (EGA uzu.ino 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' uzu.ino
                    'par rapport a la resolution par PASAPAS' ;
            Message 'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 12 ; errabs = uzu.ino ; QUITTER BECART ;
         FINSI ;
      SINON ;
         duz = ABS (uzc2.ino - uzu.ino) ;
         errrel = ABS (duz / uzc2.ino) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'par rapport a la resolution par PASAPAS' ;
            Message 'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message 'uzc2.ino =' uzc2.ino 'uzu.ino =' uzu.ino ;
            Message ;
            FINSI ;
************ierr = 13 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BUZ2 ;

*  Comparaison des deformations totales---------------------------------

   icomp = 1 ;
   igau = 0 ;
   REPETER BEPXX nbgau ;
      igau = igau + 1 ;
      SI (EGA epxxc1.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 (epxxc1.igau - epxxu.igau) ;
         errrel = ABS (depxx / epxxc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'epxxc1.igau =' epxxc1.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 epyyc1.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 (epyyc1.igau - epyyu.igau) ;
         errrel = ABS (depyy / epyyc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'epyyc1.igau =' epyyc1.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 epzzc1.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 (epzzc1.igau - epzzu.igau) ;
         errrel = ABS (depzz / epzzc1.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'Composante ' (EXTR LDEFO icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'epzzc1.igau =' epzzc1.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 gaxyc1.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 (gaxyc1.igau - gaxyu.igau) ;
         errrel = ABS (dgaxy / gaxyc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'gaxyc1.igau =' gaxyc1.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 gaxzc1.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 (gaxzc1.igau - gaxzu.igau) ;
         errrel = ABS (dgaxz / gaxzc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'gaxzc1.igau =' gaxzc1.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 gayzc1.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 (gayzc1.igau - gayzu.igau) ;
         errrel = ABS (dgayz / gayzc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'gayzc1.igau =' gayzc1.igau 'gayzu.igau ='
                                                 gayzu.igau;
            Message ;
            FINSI ;
************ierr = 21 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BGAYZ ;

*  Comparaison des deformations elastiques------------------------------

   icomp = 1 ;
   igau = 0 ;
   REPETER BEEXX nbgau ;
      igau = igau + 1 ;
      SI (EGA eexxc1.igau 0.0) ;
         SI (NON (EGA eexxu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' eexxu.igau
                    'Composante ' (EXTR LDEFE icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 30 ; errabs = eexxu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         deexx = ABS (eexxc1.igau - eexxu.igau) ;
         errrel = ABS (deexx / eexxc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFE icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'eexxc1.igau =' eexxc1.igau 'eexxu.igau ='
                                                 eexxu.igau;
            Message ;
            FINSI ;
************ierr = 31 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BEEXX ;

   icomp = 2 ;
   igau = 0 ;
   REPETER BEEYY nbgau ;
      igau = igau + 1 ;
      SI (EGA eeyyc1.igau 0.0) ;
         SI (NON (EGA eeyyu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' eeyyu.igau
                    'Composante ' (EXTR LDEFE icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 30 ; errabs = eeyyu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         deeyy = ABS (eeyyc1.igau - eeyyu.igau) ;
         errrel = ABS (deeyy / eeyyc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFE icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'eeyyc1.igau =' eeyyc1.igau 'eeyyu.igau ='
                                                 eeyyu.igau;
            Message ;
            FINSI ;
************ierr = 31 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BEEYY ;

   icomp = 3 ;
   igau = 0 ;
   REPETER BEEZZ nbgau ;
      igau = igau + 1 ;
      SI (EGA eezzc1.igau 0.0) ;
         SI (NON (EGA eezzu.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' eezzu.igau
************        'Composante ' (EXTR LDEFE icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 30 ; errabs = eezzu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         deezz = ABS (eezzc1.igau - eezzu.igau) ;
         errrel = ABS (deezz / eezzc1.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'Composante ' (EXTR LDEFE icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'eezzc1.igau =' eezzc1.igau 'eezzu.igau ='
************                                     eezzu.igau;
************Message ;
************FINSI ;
            ierr = 31 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BEEZZ ;

   icomp = 4 ;
   igau = 0 ;
   REPETER BGEXY nbgau ;
      igau = igau + 1 ;
      SI (EGA gexyc1.igau 0.0) ;
         SI (NON (EGA gexyu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' gexyu.igau
                    'Composante ' (EXTR LDEFE icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 30 ; errabs = gexyu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dgexy = ABS (gexyc1.igau - gexyu.igau) ;
         errrel = ABS (dgexy / gexyc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFE icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'gexyc1.igau =' gexyc1.igau 'gexyu.igau ='
                                                 gexyu.igau;
            Message ;
            FINSI ;
************ierr = 31 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BGEXY ;

   icomp = 5 ;
   igau = 0 ;
   REPETER BGEXZ nbgau ;
      igau = igau + 1 ;
      SI (EGA gexzc1.igau 0.0) ;
         SI (NON (EGA gexzu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' gexzu.igau
                    'Composante ' (EXTR LDEFE icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 30 ; errabs = gexzu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dgexz = ABS (gexzc1.igau - gexzu.igau) ;
         errrel = ABS (dgexz / gexzc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFE icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'gexzc1.igau =' gexzc1.igau 'gexzu.igau ='
                                                 gexzu.igau;
            Message ;
            FINSI ;
************ierr = 31 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BGEXZ ;

   icomp = 6 ;
   igau = 0 ;
   REPETER BGEYZ nbgau ;
      igau = igau + 1 ;
      SI (EGA geyzc1.igau 0.0) ;
         SI (NON (EGA geyzu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' geyzu.igau
                    'Composante ' (EXTR LDEFE icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 30 ; errabs = geyzu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dgeyz = ABS (geyzc1.igau - geyzu.igau) ;
         errrel = ABS (dgeyz / geyzc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFE icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'geyzc1.igau =' geyzc1.igau 'geyzu.igau ='
                                                 geyzu.igau;
            Message ;
            FINSI ;
************ierr = 31 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BGEYZ ;

*  Comparaison des deformations thermiques------------------------------

   icomp = 1 ;
   igau = 0 ;
   REPETER BETXX nbgau ;
      igau = igau + 1 ;
      SI (EGA etxxc1.igau 0.0) ;
         SI (NON (EGA etxxu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' etxxu.igau
                    'Composante ' (EXTR LDEFT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 40 ; errabs = etxxu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         detxx = ABS (etxxc1.igau - etxxu.igau) ;
         errrel = ABS (detxx / etxxc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'etxxc1.igau =' etxxc1.igau 'etxxu.igau ='
                                                 etxxu.igau;
            Message ;
            FINSI ;
************ierr = 41 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BETXX ;

   icomp = 2 ;
   igau = 0 ;
   REPETER BETYY nbgau ;
      igau = igau + 1 ;
      SI (EGA etyyc1.igau 0.0) ;
         SI (NON (EGA etyyu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' etyyu.igau
                    'Composante ' (EXTR LDEFT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 40 ; errabs = etyyu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         detyy = ABS (etyyc1.igau - etyyu.igau) ;
         errrel = ABS (detyy / etyyc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'etyyc1.igau =' etyyc1.igau 'etyyu.igau ='
                                                 etyyu.igau;
            Message ;
            FINSI ;
************ierr = 41 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BETYY ;

   icomp = 3 ;
   igau = 0 ;
   REPETER BETZZ nbgau ;
      igau = igau + 1 ;
      SI (EGA etzzc1.igau 0.0) ;
         SI (NON (EGA etzzu.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' etzzu.igau
************        'Composante ' (EXTR LDEFT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 40 ; errabs = etzzu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         detzz = ABS (etzzc1.igau - etzzu.igau) ;
         errrel = ABS (detzz / etzzc1.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'Composante ' (EXTR LDEFT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'etzzc1.igau =' etzzc1.igau 'etzzu.igau ='
************                                     etzzu.igau;
************Message ;
************FINSI ;
            ierr = 41 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BETZZ ;

   icomp = 4 ;
   igau = 0 ;
   REPETER BGTXY nbgau ;
      igau = igau + 1 ;
      SI (EGA gtxyc1.igau 0.0) ;
         SI (NON (EGA gtxyu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' gtxyu.igau
                    'Composante ' (EXTR LDEFT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 40 ; errabs = gtxyu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dgtxy = ABS (gtxyc1.igau - gtxyu.igau) ;
         errrel = ABS (dgtxy / gtxyc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'gtxyc1.igau =' gtxyc1.igau 'gtxyu.igau ='
                                                 gtxyu.igau;
            Message ;
            FINSI ;
************ierr = 41 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BGTXY ;

   icomp = 5 ;
   igau = 0 ;
   REPETER BGTXZ nbgau ;
      igau = igau + 1 ;
      SI (EGA gtxzc1.igau 0.0) ;
         SI (NON (EGA gtxzu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' gtxzu.igau
                    'Composante ' (EXTR LDEFT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 40 ; errabs = gtxzu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dgtxz = ABS (gtxzc1.igau - gtxzu.igau) ;
         errrel = ABS (dgtxz / gtxzc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'gtxzc1.igau =' gtxzc1.igau 'gtxzu.igau ='
                                                 gtxzu.igau;
            Message ;
            FINSI ;
************ierr = 41 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BGTXZ ;

   icomp = 6 ;
   igau = 0 ;
   REPETER BGTYZ nbgau ;
      igau = igau + 1 ;
      SI (EGA gtyzc1.igau 0.0) ;
         SI (NON (EGA gtyzu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' gtyzu.igau
                    'Composante ' (EXTR LDEFT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 40 ; errabs = gtyzu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dgtyz = ABS (gtyzc1.igau - gtyzu.igau) ;
         errrel = ABS (dgtyz / gtyzc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'gtyzc1.igau =' gtyzc1.igau 'gtyzu.igau ='
                                                 gtyzu.igau;
            Message ;
            FINSI ;
************ierr = 41 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BGTYZ ;

*  Comparaison des contraintes------------------------------------------

   icomp = 1 ;
   igau = 0 ;
   REPETER BSMXX1 nbgau ;
      igau = igau + 1 ;
      SI (EGA smxxc1.igau 0.0) ;
         SI (NON (EGA smxxu.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' smxxu.igau
************        'par rapport a la resolution quasi-statique' ;
************Message 'Composante ' (EXTR LCONT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 50 ; errabs = smxxu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dsmxx = ABS (smxxc1.igau - smxxu.igau) ;
         errrel = ABS (dsmxx / smxxc1.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'par rapport a la resolution quasi-statique' ;
************Message 'Composante ' (EXTR LCONT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'smxxc1.igau =' smxxc1.igau 'smxxu.igau ='
************                                     smxxu.igau;
************Message ;
************FINSI ;
            ierr = 51 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BSMXX1 ;
   igau = 0 ;
   REPETER BSMXX2 nbgau ;
      igau = igau + 1 ;
      SI (EGA smxxc2.igau 0.0) ;
         SI (NON (EGA smxxu.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' smxxu.igau
************        'par rapport a la resolution par PASAPAS' ;
************Message 'Composante ' (EXTR LCONT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 52 ; errabs = smxxu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dsmxx = ABS (smxxc2.igau - smxxu.igau) ;
         errrel = ABS (dsmxx / smxxc2.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'par rapport a la resolution par PASAPAS' ;
************Message 'Composante ' (EXTR LCONT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'smxxc2.igau =' smxxc2.igau 'smxxu.igau ='
************                                     smxxu.igau;
************Message ;
************FINSI ;
            ierr = 53 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BSMXX2 ;


   icomp = 2 ;
   igau = 0 ;
   REPETER BSMYY1 nbgau ;
      igau = igau + 1 ;
      SI (EGA smyyc1.igau 0.0) ;
         SI (NON (EGA smyyu.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' smyyu.igau
************        'par rapport a la resolution quasi-statique' ;
************Message 'Composante ' (EXTR LCONT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 50 ; errabs = smyyu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dsmyy = ABS (smyyc1.igau - smyyu.igau) ;
         errrel = ABS (dsmyy / smyyc1.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'par rapport a la resolution quasi-statique' ;
************Message 'Composante ' (EXTR LCONT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'smyyc1.igau =' smyyc1.igau 'smyyu.igau ='
************                                     smyyu.igau;
************Message ;
************FINSI ;
            ierr = 51 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BSMYY1 ;
   igau = 0 ;
   REPETER BSMYY2 nbgau ;
      igau = igau + 1 ;
      SI (EGA smyyc2.igau 0.0) ;
         SI (NON (EGA smyyu.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' smyyu.igau
************        'par rapport a la resolution par PASAPAS' ;
************Message 'Composante ' (EXTR LCONT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 52 ; errabs = smyyu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dsmyy = ABS (smyyc2.igau - smyyu.igau) ;
         errrel = ABS (dsmyy / smyyc2.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'par rapport a la resolution par PASAPAS' ;
************Message 'Composante ' (EXTR LCONT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'smyyc2.igau =' smyyc2.igau 'smyyu.igau ='
************                                     smyyu.igau;
************Message ;
************FINSI ;
            ierr = 53 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BSMYY2 ;


   icomp = 3 ;
   igau = 0 ;
   REPETER BSMZZ1 nbgau ;
      igau = igau + 1 ;
      SI (EGA smzzc1.igau 0.0) ;
         SI (NON (EGA smzzu.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' smzzu.igau
************        'par rapport a la resolution quasi-statique' ;
************Message 'Composante ' (EXTR LCONT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 50 ; errabs = smzzu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dsmzz = ABS (smzzc1.igau - smzzu.igau) ;
         errrel = ABS (dsmzz / smzzc1.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'par rapport a la resolution quasi-statique' ;
************Message 'Composante ' (EXTR LCONT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'smzzc1.igau =' smzzc1.igau 'smzzu.igau ='
************                                     smzzu.igau;
************Message ;
************FINSI ;
            ierr = 51 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BSMZZ1 ;
   igau = 0 ;
   REPETER BSMZZ2 nbgau ;
      igau = igau + 1 ;
      SI (EGA smzzc2.igau 0.0) ;
         SI (NON (EGA smzzu.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' smzzu.igau
************        'par rapport a la resolution par PASAPAS' ;
************Message 'Composante ' (EXTR LCONT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 52 ; errabs = smzzu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dsmzz = ABS (smzzc2.igau - smzzu.igau) ;
         errrel = ABS (dsmzz / smzzc2.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'par rapport a la resolution par PASAPAS' ;
************Message 'Composante ' (EXTR LCONT icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'smzzc2.igau =' smzzc2.igau 'smzzu.igau ='
************                                     smzzu.igau;
************Message ;
************FINSI ;
            ierr = 53 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BSMZZ2 ;


   icomp = 4 ;
   igau = 0 ;
   REPETER BSMXY1 nbgau ;
      igau = igau + 1 ;
      SI (EGA smxyc1.igau 0.0) ;
         SI (NON (EGA smxyu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' smxyu.igau
                    'par rapport a la resolution quasi-statique' ;
            Message 'Composante ' (EXTR LCONT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 50 ; errabs = smxyu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dsmxy = ABS (smxyc1.igau - smxyu.igau) ;
         errrel = ABS (dsmxy / smxyc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'par rapport a la resolution quasi-statique' ;
            Message 'Composante ' (EXTR LCONT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'smxyc1.igau =' smxyc1.igau 'smxyu.igau ='
                                                 smxyu.igau;
            Message ;
            FINSI ;
************ierr = 51 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BSMXY1 ;
   igau = 0 ;
   REPETER BSMXY2 nbgau ;
      igau = igau + 1 ;
      SI (EGA smxyc2.igau 0.0) ;
         SI (NON (EGA smxyu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' smxyu.igau
                    'par rapport a la resolution par PASAPAS' ;
            Message 'Composante ' (EXTR LCONT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 52 ; errabs = smxyu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dsmxy = ABS (smxyc2.igau - smxyu.igau) ;
         errrel = ABS (dsmxy / smxyc2.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'par rapport a la resolution par PASAPAS' ;
            Message 'Composante ' (EXTR LCONT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'smxyc2.igau =' smxyc2.igau 'smxyu.igau ='
                                                 smxyu.igau;
            Message ;
            FINSI ;
************ierr = 53 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BSMXY2 ;


   icomp = 5 ;
   igau = 0 ;
   REPETER BSMXZ1 nbgau ;
      igau = igau + 1 ;
      SI (EGA smxzc1.igau 0.0) ;
         SI (NON (EGA smxzu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' smxzu.igau
                    'par rapport a la resolution quasi-statique' ;
            Message 'Composante ' (EXTR LCONT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 50 ; errabs = smxzu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dsmxz = ABS (smxzc1.igau - smxzu.igau) ;
         errrel = ABS (dsmxz / smxzc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'par rapport a la resolution quasi-statique' ;
            Message 'Composante ' (EXTR LCONT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'smxzc1.igau =' smxzc1.igau 'smxzu.igau ='
                                                 smxzu.igau;
            Message ;
            FINSI ;
************ierr = 51 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BSMXZ1 ;
   igau = 0 ;
   REPETER BSMXZ2 nbgau ;
      igau = igau + 1 ;
      SI (EGA smxzc2.igau 0.0) ;
         SI (NON (EGA smxzu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' smxzu.igau
                    'par rapport a la resolution par PASAPAS' ;
            Message 'Composante ' (EXTR LCONT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 52 ; errabs = smxzu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dsmxz = ABS (smxzc2.igau - smxzu.igau) ;
         errrel = ABS (dsmxz / smxzc2.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'par rapport a la resolution par PASAPAS' ;
            Message 'Composante ' (EXTR LCONT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'smxzc2.igau =' smxzc2.igau 'smxzu.igau ='
                                                 smxzu.igau;
            Message ;
            FINSI ;
************ierr = 53 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BSMXZ2 ;


   icomp = 6 ;
   igau = 0 ;
   REPETER BSMYZ1 nbgau ;
      igau = igau + 1 ;
      SI (EGA smyzc1.igau 0.0) ;
         SI (NON (EGA smyzu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' smyzu.igau
                    'par rapport a la resolution quasi-statique' ;
            Message 'Composante ' (EXTR LCONT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 50 ; errabs = smyzu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dsmyz = ABS (smyzc1.igau - smyzu.igau) ;
         errrel = ABS (dsmyz / smyzc1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'par rapport a la resolution quasi-statique' ;
            Message 'Composante ' (EXTR LCONT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'smyzc1.igau =' smyzc1.igau 'smyzu.igau ='
                                                 smyzu.igau;
            Message ;
            FINSI ;
************ierr = 51 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BSMYZ1 ;
   igau = 0 ;
   REPETER BSMYZ2 nbgau ;
      igau = igau + 1 ;
      SI (EGA smyzc2.igau 0.0) ;
         SI (NON (EGA smyzu.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' smyzu.igau
                    'par rapport a la resolution par PASAPAS' ;
            Message 'Composante ' (EXTR LCONT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 52 ; errabs = smyzu.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dsmyz = ABS (smyzc2.igau - smyzu.igau) ;
         errrel = ABS (dsmyz / smyzc2.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'par rapport a la resolution par PASAPAS' ;
            Message 'Composante ' (EXTR LCONT icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'smyzc2.igau =' smyzc2.igau 'smyzu.igau ='
                                                 smyzu.igau;
            Message ;
            FINSI ;
************ierr = 53 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BSMYZ2 ;


FIN BECART ;

* FIN   BOUCLE COMPARAISON DES RESULTATS________________________________

* MESSAGES D'ERREUR_____________________________________________________

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 ;
      Message 'Erreur par rapport a la resolution quasi-statique' ;
      ERRE 5 ;
   FINSI ;

   SI (EGA ierr 11) ;
      Message 'Erreur relative' errrel 'Composante ' (EXTR LDEPL icomp)
              ' Noeud' ino 'Etat' ietat ;
      Message 'Erreur par rapport a la resolution quasi-statique' ;
      ERRE 5 ;
   FINSI ;

   SI (EGA ierr 12) ;
      Message 'Erreur absolue' errabs 'Composante ' (EXTR LDEPL icomp)
              ' Noeud' ino 'Etat' ietat ;
      Message 'Erreur par rapport a la resolution par PASAPAS' ;
      ERRE 5 ;
   FINSI ;

   SI (EGA ierr 13) ;
      Message 'Erreur relative' errrel 'Composante ' (EXTR LDEPL icomp)
              ' Noeud' ino 'Etat' ietat ;
      Message 'Erreur par rapport a la resolution par PASAPAS' ;
      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 LDEFE icomp)
              ' Point Gauss' igau 'Etat' ietat ;
      ERRE 5 ;
   FINSI ;

   SI (EGA ierr 31) ;
      Message 'Erreur relative' errrel 'Composante ' (EXTR LDEFE icomp)
              ' Point Gauss' igau 'Etat' ietat ;
      ERRE 5 ;
   FINSI ;

   SI (EGA ierr 40) ;
      Message 'Erreur absolue' errabs 'Composante ' (EXTR LDEFT icomp)
              ' Point Gauss' igau 'Etat' ietat ;
      ERRE 5 ;
   FINSI ;

   SI (EGA ierr 41) ;
      Message 'Erreur relative' errrel 'Composante ' (EXTR LDEFT icomp)
              ' Point Gauss' igau 'Etat' ietat ;
      ERRE 5 ;
   FINSI ;

   SI (EGA ierr 50) ;
      Message 'Erreur absolue' errabs 'Composante ' (EXTR LCONT icomp)
              ' Point Gauss' igau 'Etat' ietat ;
      Message 'Erreur par rapport a la resolution quasi-statique' ;
      ERRE 5 ;
   FINSI ;

   SI (EGA ierr 51) ;
      Message 'Erreur relative' errrel 'Composante ' (EXTR LCONT icomp)
              ' Point Gauss' igau 'Etat' ietat ;
      Message 'Erreur par rapport a la resolution quasi-statique' ;
      ERRE 5 ;
   FINSI ;

   SI (EGA ierr 52) ;
      Message 'Erreur absolue' errabs 'Composante ' (EXTR LCONT icomp)
              ' Point Gauss' igau 'Etat' ietat ;
      Message 'Erreur par rapport a la resolution par PASAPAS' ;
      ERRE 5 ;
   FINSI ;

   SI (EGA ierr 53) ;
      Message 'Erreur relative' errrel 'Composante ' (EXTR LCONT icomp)
              ' Point Gauss' igau 'Etat' ietat ;
      Message 'Erreur par rapport a la resolution par PASAPAS' ;
      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 LDEFE idefe) '  '
           (EXTR LDEFT ideft) '  ' (EXTR LCONT icon1) '  '
           (EXTR LCONT icon2) '  ' (EXTR LCONT icon3) ;
   ERRE 0 ;

FINSI ;

FIN ;

 

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer