Download creep03_cisXY.dgibi

Back to the list

* fichier :  creep03_cisXY.dgibi
*=======================================================================
*
*      CAS TEST DE VALIDATION DE LA PRISE EN COMPTE D'UNE LOI DE
*
*             COMPORTEMENT MECANIQUE NON LINEAIRE EXTERNE
*
*=======================================================================
*
* Modele 'VISCO_EXTERNE' 'GENERAL', integre par CCREEP (schema CCONST)
*
* Test No3 : Modele de FLUAGE POLYNOMIAL
*            CISAILLEMENT XY
*            Modele externalise non instanciable (ILOI=21) compare
*            au modele externalise non instanciable avec variables
*            internes supplementaires (ILOI=23)
*
*=======================================================================


opti echo 0 ;


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




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

*-----------------------------------------------------------------------
* 0 - Maillage
*     PLAQUE CARREE    COTE : 1 m    EPAISSEUR : 1 cm

opti dime 3 elem cub8 mode tridim ;

l1 = 1.0 ; 
l2 = 1.0 ; 
ep0 = 0.01 ; 

p01 = 0.0 0.0 0.0 ; 
p02 = ep0 0.0 0.0 ; 
p03 = ep0 l2  0.0 ; 
p04 = 0.0 l2  0.0 ; 

p10 = 0.0 0.0 l1 ;
p20 = ep0 0.0 l1 ;
p30 = ep0 l2  l1 ;
p40 = 0.0 l2  l1 ; 

li01 = 'DROIT' 1 p01 p02 ; 
li02 = 'DROIT' 1 p02 p03 ;
li03 = 'DROIT' 1 p03 p04 ;
li04 = 'DROIT' 1 p04 p01 ;

li10 = 'DROIT' 1 p10 p20 ;
li20 = 'DROIT' 1 p20 p30 ;
li30 = 'DROIT' 1 p30 p40 ;
li40 = 'DROIT' 1 p40 p10 ;

sur01 = 'DALL' li01 li02 li03 li04 ;
sur10 = 'DALL' li10 li20 li30 li40 ;
mail1 = sur01 'VOLU' 1 sur10 ;

li2  = 'DROIT' 1 p02 p20 ;
li3  = 'DROIT' 1 p20 p10 ;
li4  = 'DROIT' 1 p10 p01 ;
sbloq = 'DALL' li01 li2 li3 li4 ;

li5  = 'DROIT' 1 p04 p03 ;
li6  = 'DROIT' 1 p03 p30 ;
li7  = 'DROIT' 1 p30 p40 ;
li8  = 'DROIT' 1 p40 p04 ;
schar = 'DALL' li5 li6 li7 li8 ;

ELIM (mail1 ET sbloq ET schar) 1.e-5 ;

*-----------------------------------------------------------------------
* 1 - Calcul avec modele 'VISCO_EXTERNE' 'GENERAL' no21
*     Modele 'FLUAGE' 'POLYNOMIAL' externalise dans CREEP
*     Modele non instanciable au niveau des iterations internes

* 1.1 Definition du modele utilisateur externalise dans CREEP

mo_uti1 = MODE mail1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
                     'VISCO_EXTERNE' 'GENERAL' 'NUME_LOI' 21 ;

* 1.2 Affectation des proprietes de materiau

densiu   = 0.95 ;
dgrain   = 8.0E-6 ;
tuo2     = 1500.0 ;
tauxfisk = 1.5E19 ;

xyoun = (2.2693E11 - (1.5399E7*tuo2)) - (9.35973E3 * (tuo2**2.0)) ;
xcis  = (8.583E10 - (5.157E6*tuo2)) - (3.747E3 * (tuo2**2.0)) ;
xnu   = (xyoun/(2.0*xcis)) - 1.0 ;
xrho  = 10950.0 ;
xalph = ( (1.1833E-5 - (5.013E-9*tuo2)) + (3.756E-12 * (tuo2**2.0)) )
        - (6.125E-17 * (tuo2**3.0)) ;

ma_uti1 = MATE mo_uti1 'YOUN' xyoun 'NU  ' xnu   'RHO ' xrho
                       'ALPH' xalph ;

* 1.3 Definition des conditions aux limites et chargements

cl1 = BLOQ mail1 'UY' 'UZ' ;
cl2 = BLOQ sbloq 'UX' ;
cl0 = cl1 ET cl2 ;

depmax = 5.0E8 ;
dep0 = FORCE schar 'FX' depmax 'FY' 0.0 'FZ' 0.0 ;
ev0 = EVOL MANU temps (PROG 0.0 1.E-2 1000.0)
                    y (PROG 0.0 1.0   1.0   ) ;
cha0 = CHAR MECA dep0 ev0 ;

* 1.4 Definition des instants de calcul

pro0 = PROG 0.0 PAS 1.E-6 3.0E-5 ;
pro1 = PROG 0.0 PAS 1.E-6 3.0E-5 ;

* 1.5 Resolution par PASAPAS

tabuti1 = TABLE ;
tabuti1.'MODELE' = mo_uti1 ;
tabuti1.'CARACTERISTIQUES' = ma_uti1 ;
tabuti1.'CHARGEMENT' = cha0 ;
tabuti1.'BLOCAGES_MECANIQUES' = cl0 ;
tabuti1.'TEMPS_CALCULES' = pro0 ;
tabuti1.'TEMPS_SAUVES' = pro1 ;
TMASAU=table;
tabuti1 . 'MES_SAUVEGARDES'=TMASAU;
TMASAU .'DEFTO'=VRAI;
TMASAU .'DEFIN'=VRAI;
TEMPS 'ZERO' ;
PASAPAS tabuti1 ;
CPUuti1 = TEMPS 'NOEC' ;

*-----------------------------------------------------------------------
* 2 - Calcul avec modele 'VISCO_EXTERNE' 'GENERAL' no23
*     Modele 'FLUAGE' 'POLYNOMIAL' externalise dans CREEP
*     Modele non instanciable au niveau des iterations internes,
*     comprenant deux variables internes supplementaires

* 2.1 Definition du modele utilisateur externalise dans CREEP

LCVAR23 = MOTS 'PSUP' 'QSUP' ;

mo_uti2 = MODE mail1 'MECANIQUE' 'ELASTIQUE' 'ISOTROPE'
                     'VISCO_EXTERNE' 'GENERAL'
                     'NUME_LOI' 23 'C_VARINTER' LCVAR23 ;

* 2.2 Affectation des proprietes de materiau

ma_uti2 = MATE mo_uti2 'YOUN' xyoun 'NU  ' xnu   'RHO ' xrho
                       'ALPH' xalph ;

* 2.3 Definition des conditions aux limites et chargements : idem 1.3

* 2.4 Definition des instants de calcul : idem 1.4

* 2.5 Resolution par PASAPAS

tabuti2 = TABLE ;
tabuti2.'MODELE' = mo_uti2 ;
tabuti2.'CARACTERISTIQUES' = ma_uti2 ;
tabuti2.'CHARGEMENT' = cha0 ;
tabuti2.'BLOCAGES_MECANIQUES' = cl0 ;
tabuti2.'TEMPS_CALCULES' = pro0 ;
tabuti2.'TEMPS_SAUVES' = pro1 ;
TMASAU=table;
tabuti2 . 'MES_SAUVEGARDES'=TMASAU;
TMASAU .'DEFTO'=VRAI;
TMASAU .'DEFIN'=VRAI;
TEMPS 'ZERO' ;
PASAPAS tabuti2 ;
CPUuti2 = TEMPS 'NOEC' ;

*-----------------------------------------------------------------------
* 3 - Post-traitement : comparaisons entre les deux modeles
*
*     N.B. Comme on simule un essai de cisaillement XY :
*          - Critere strict (errrel < 1.d-8) :
*            * sur GAXY, GIXY et SMXY,
*            * sur les variables internes EC0, ESW0, P, QTILD,
*            * pour le modele externe no23 : sur les variables internes
*              supplementaires PSUP et QSUP (comparees a P et QTILD).
*          - Pour les autres composantes on note les depassements du
*            critere si impression demandee

uxu1 = TABLE ; uyu1 = TABLE ; uzu1 = TABLE ;
epxxu1 = TABLE ; epyyu1 = TABLE ; epzzu1 = TABLE ;
gaxyu1 = TABLE ; gaxzu1 = TABLE ; gayzu1 = TABLE ;
eixxu1 = TABLE ; eiyyu1 = TABLE ; eizzu1 = TABLE ;
gixyu1 = TABLE ; gixzu1 = TABLE ; giyzu1 = TABLE ;
smxxu1 = TABLE ; smyyu1 = TABLE ; smzzu1 = TABLE ;
smxyu1 = TABLE ; smxzu1 = TABLE ; smyzu1 = TABLE ;
ec0u1  = TABLE ; esw0u1 = TABLE ; pu1    = TABLE ; qtldu1 = TABLE ;

uxu2 = TABLE ; uyu2 = TABLE ; uzu2 = TABLE ;
epxxu2 = TABLE ; epyyu2 = TABLE ; epzzu2 = TABLE ;
gaxyu2 = TABLE ; gaxzu2 = TABLE ; gayzu2 = TABLE ;
eixxu2 = TABLE ; eiyyu2 = TABLE ; eizzu2 = TABLE ;
gixyu2 = TABLE ; gixzu2 = TABLE ; giyzu2 = TABLE ;
smxxu2 = TABLE ; smyyu2 = TABLE ; smzzu2 = TABLE ;
smxyu2 = TABLE ; smxzu2 = TABLE ; smyzu2 = TABLE ;
ec0u2  = TABLE ; esw0u2 = TABLE ; pu2    = TABLE ; qtldu2 = TABLE ;
psupu2 = TABLE ; qsupu2 = TABLE ;

LDEPL = MOTS 'UX  ' 'UY  ' 'UZ  ' ;
LDEFO = MOTS 'EPXX' 'EPYY' 'EPZZ' 'GAXY' 'GAXZ' 'GAYZ' ;
LDEIN = MOTS 'EIXX' 'EIYY' 'EIZZ' 'GIXY' 'GIXZ' 'GIYZ' ;
LCONT = MOTS 'SMXX' 'SMYY' 'SMZZ' 'SMXY' 'SMXZ' 'SMYZ' ;
LVARI = MOTS 'EC0 ' 'ESW0' 'P   ' 'QTLD' ;
LVSUP = MOTS 'PSUP' 'QSUP' ;

idefo = 4 ;
idein = 4 ;
icont = 4 ;
ivar1 = 1 ;
ivar2 = 2 ;
ivar3 = 3 ;
ivar4 = 4 ;
ivas1 = 1 ;
ivas2 = 2 ;

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

nbno  = 8 ;
nbgau = 8 ;

netat = DIME (tabuti1.'TEMPS') ;
ietat = -1 ;


* DEBUT BOUCLE COMPARAISON DES RESULTATS________________________________

REPETER BECART netat ;

   ietat = ietat + 1 ;

   temps1 = tabuti1.'TEMPS'.ietat ;
   temps2 = tabuti2.'TEMPS'.ietat ;
   SI ((ABS (temps1-temps2)) > 1.0E-9) ;
      ierr = 1 ;
      QUITTER BECART ;
   FINSI ;

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

*  Deplacements
   uxu1.1 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UX' p01 ;
   uxu1.2 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UX' p02 ;
   uxu1.3 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UX' p03 ;
   uxu1.4 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UX' p04 ;
   uxu1.5 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UX' p10 ;
   uxu1.6 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UX' p20 ;
   uxu1.7 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UX' p30 ;
   uxu1.8 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UX' p40 ;

   uyu1.1 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UY' p01 ;
   uyu1.2 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UY' p02 ;
   uyu1.3 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UY' p03 ;
   uyu1.4 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UY' p04 ;
   uyu1.5 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UY' p10 ;
   uyu1.6 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UY' p20 ;
   uyu1.7 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UY' p30 ;
   uyu1.8 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UY' p40 ;

   uzu1.1 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UZ' p01 ;
   uzu1.2 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UZ' p02 ;
   uzu1.3 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UZ' p03 ;
   uzu1.4 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UZ' p04 ;
   uzu1.5 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UZ' p10 ;
   uzu1.6 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UZ' p20 ;
   uzu1.7 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UZ' p30 ;
   uzu1.8 = EXTR (tabuti1.'DEPLACEMENTS'.ietat) 'UZ' p40 ;

*  Deformations totales
   igau = 0 ;
   REPETER BEPXXU1 nbgau ;
      igau = igau + 1 ;
      epxxu1.igau = EXTR (tabuti1.'DEFORMATIONS'.ietat) 'EPXX' 1 1 igau;
   FIN BEPXXU1 ;

   igau = 0 ;
   REPETER BEPYYU1 nbgau ;
      igau = igau + 1 ;
      epyyu1.igau = EXTR (tabuti1.'DEFORMATIONS'.ietat) 'EPYY' 1 1 igau;
   FIN BEPYYU1 ;

   igau = 0 ;
   REPETER BEPZZU1 nbgau ;
      igau = igau + 1 ;
      epzzu1.igau = EXTR (tabuti1.'DEFORMATIONS'.ietat) 'EPZZ' 1 1 igau;
   FIN BEPZZU1 ;

   igau = 0 ;
   REPETER BGAXYU1 nbgau ;
      igau = igau + 1 ;
      gaxyu1.igau = EXTR (tabuti1.'DEFORMATIONS'.ietat) 'GAXY' 1 1 igau;
   FIN BGAXYU1 ;

   igau = 0 ;
   REPETER BGAXZU1 nbgau ;
      igau = igau + 1 ;
      gaxzu1.igau = EXTR (tabuti1.'DEFORMATIONS'.ietat) 'GAXZ' 1 1 igau;
   FIN BGAXZU1 ;

   igau = 0 ;
   REPETER BGAYZU1 nbgau ;
      igau = igau + 1 ;
      gayzu1.igau = EXTR (tabuti1.'DEFORMATIONS'.ietat) 'GAYZ' 1 1 igau;
   FIN BGAYZU1 ;

*  Deformations inelastiques
   igau = 0 ;
   REPETER BEIXXU1 nbgau ;
      igau = igau + 1 ;
      eixxu1.igau = EXTR (tabuti1.'DEFORMATIONS_INELASTIQUES'.ietat)
                             'EIXX' 1 1 igau ;
   FIN BEIXXU1 ;

   igau = 0 ;
   REPETER BEIYYU1 nbgau ;
      igau = igau + 1 ;
      eiyyu1.igau = EXTR (tabuti1.'DEFORMATIONS_INELASTIQUES'.ietat)
                             'EIYY' 1 1 igau ;
   FIN BEIYYU1 ;

   igau = 0 ;
   REPETER BEIZZU1 nbgau ;
      igau = igau + 1 ;
      eizzu1.igau = EXTR (tabuti1.'DEFORMATIONS_INELASTIQUES'.ietat)
                             'EIZZ' 1 1 igau ;
   FIN BEIZZU1 ;

   igau = 0 ;
   REPETER BGIXYU1 nbgau ;
      igau = igau + 1 ;
      gixyu1.igau = EXTR (tabuti1.'DEFORMATIONS_INELASTIQUES'.ietat)
                             'GIXY' 1 1 igau ;
   FIN BGIXYU1 ;

   igau = 0 ;
   REPETER BGIXZU1 nbgau ;
      igau = igau + 1 ;
      gixzu1.igau = EXTR (tabuti1.'DEFORMATIONS_INELASTIQUES'.ietat)
                             'GIXZ' 1 1 igau ;
   FIN BGIXZU1 ;

   igau = 0 ;
   REPETER BGIYZU1 nbgau ;
      igau = igau + 1 ;
      giyzu1.igau = EXTR (tabuti1.'DEFORMATIONS_INELASTIQUES'.ietat)
                             'GIYZ' 1 1 igau ;
   FIN BGIYZU1 ;

*  Contraintes
   igau = 0 ;
   REPETER BSMXXU1 nbgau ;
      igau = igau + 1 ;
      smxxu1.igau = EXTR (tabuti1.'CONTRAINTES'.ietat) 'SMXX' 1 1 igau ;
   FIN BSMXXU1 ;

   igau = 0 ;
   REPETER BSMYYU1 nbgau ;
      igau = igau + 1 ;
      smyyu1.igau = EXTR (tabuti1.'CONTRAINTES'.ietat) 'SMYY' 1 1 igau ;
   FIN BSMYYU1 ;

   igau = 0 ;
   REPETER BSMZZU1 nbgau ;
      igau = igau + 1 ;
      smzzu1.igau = EXTR (tabuti1.'CONTRAINTES'.ietat) 'SMZZ' 1 1 igau ;
   FIN BSMZZU1 ;

   igau = 0 ;
   REPETER BSMXYU1 nbgau ;
      igau = igau + 1 ;
      smxyu1.igau = EXTR (tabuti1.'CONTRAINTES'.ietat) 'SMXY' 1 1 igau ;
   FIN BSMXYU1 ;

   igau = 0 ;
   REPETER BSMXZU1 nbgau ;
      igau = igau + 1 ;
      smxzu1.igau = EXTR (tabuti1.'CONTRAINTES'.ietat) 'SMXZ' 1 1 igau ;
   FIN BSMXZU1 ;

   igau = 0 ;
   REPETER BSMYZU1 nbgau ;
      igau = igau + 1 ;
      smyzu1.igau = EXTR (tabuti1.'CONTRAINTES'.ietat) 'SMYZ' 1 1 igau ;
   FIN BSMYZU1 ;

*  Variables internes
   igau = 0 ;
   REPETER BEC0U1 nbgau ;
      igau = igau + 1 ;
      ec0u1.igau =  EXTR (tabuti1.'VARIABLES_INTERNES'.ietat)
                         'EC0 ' 1 1 igau ;
   FIN BEC0U1 ;

   igau = 0 ;
   REPETER BESW0U1 nbgau ;
      igau = igau + 1 ;
      esw0u1.igau = EXTR (tabuti1.'VARIABLES_INTERNES'.ietat)
                         'ESW0' 1 1 igau ;
   FIN BESW0U1 ;

   igau = 0 ;
   REPETER BPU1 nbgau ;
      igau = igau + 1 ;
      pu1.igau =    EXTR (tabuti1.'VARIABLES_INTERNES'.ietat)
                         'P   ' 1 1 igau ;
   FIN BPU1 ;

   igau = 0 ;
   REPETER BQTLDU1 nbgau ;
      igau = igau + 1 ;
      qtldu1.igau = EXTR (tabuti1.'VARIABLES_INTERNES'.ietat)
                         'QTLD' 1 1 igau ;
   FIN BQTLDU1 ;

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

*  Deplacements
   uxu2.1 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UX' p01 ;
   uxu2.2 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UX' p02 ;
   uxu2.3 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UX' p03 ;
   uxu2.4 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UX' p04 ;
   uxu2.5 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UX' p10 ;
   uxu2.6 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UX' p20 ;
   uxu2.7 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UX' p30 ;
   uxu2.8 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UX' p40 ;

   uyu2.1 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UY' p01 ;
   uyu2.2 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UY' p02 ;
   uyu2.3 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UY' p03 ;
   uyu2.4 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UY' p04 ;
   uyu2.5 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UY' p10 ;
   uyu2.6 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UY' p20 ;
   uyu2.7 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UY' p30 ;
   uyu2.8 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UY' p40 ;

   uzu2.1 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UZ' p01 ;
   uzu2.2 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UZ' p02 ;
   uzu2.3 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UZ' p03 ;
   uzu2.4 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UZ' p04 ;
   uzu2.5 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UZ' p10 ;
   uzu2.6 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UZ' p20 ;
   uzu2.7 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UZ' p30 ;
   uzu2.8 = EXTR (tabuti2.'DEPLACEMENTS'.ietat) 'UZ' p40 ;

*  Deformations totales
   igau = 0 ;
   REPETER BEPXXU2 nbgau ;
      igau = igau + 1 ;
      epxxu2.igau = EXTR (tabuti2.'DEFORMATIONS'.ietat) 'EPXX' 1 1 igau;
   FIN BEPXXU2 ;

   igau = 0 ;
   REPETER BEPYYU2 nbgau ;
      igau = igau + 1 ;
      epyyu2.igau = EXTR (tabuti2.'DEFORMATIONS'.ietat) 'EPYY' 1 1 igau;
   FIN BEPYYU2 ;

   igau = 0 ;
   REPETER BEPZZU2 nbgau ;
      igau = igau + 1 ;
      epzzu2.igau = EXTR (tabuti2.'DEFORMATIONS'.ietat) 'EPZZ' 1 1 igau;
   FIN BEPZZU2 ;

   igau = 0 ;
   REPETER BGAXYU2 nbgau ;
      igau = igau + 1 ;
      gaxyu2.igau = EXTR (tabuti2.'DEFORMATIONS'.ietat) 'GAXY' 1 1 igau;
   FIN BGAXYU2 ;

   igau = 0 ;
   REPETER BGAXZU2 nbgau ;
      igau = igau + 1 ;
      gaxzu2.igau = EXTR (tabuti2.'DEFORMATIONS'.ietat) 'GAXZ' 1 1 igau;
   FIN BGAXZU2 ;

   igau = 0 ;
   REPETER BGAYZU2 nbgau ;
      igau = igau + 1 ;
      gayzu2.igau = EXTR (tabuti2.'DEFORMATIONS'.ietat) 'GAYZ' 1 1 igau;
   FIN BGAYZU2 ;

*  Deformations inelastiques
   igau = 0 ;
   REPETER BEIXXU2 nbgau ;
      igau = igau + 1 ;
      eixxu2.igau = EXTR (tabuti2.'DEFORMATIONS_INELASTIQUES'.ietat)
                              'EIXX' 1 1 igau ;
   FIN BEIXXU2 ;

   igau = 0 ;
   REPETER BEIYYU2 nbgau ;
      igau = igau + 1 ;
      eiyyu2.igau = EXTR (tabuti2.'DEFORMATIONS_INELASTIQUES'.ietat)
                              'EIYY' 1 1 igau ;
   FIN BEIYYU2 ;

   igau = 0 ;
   REPETER BEIZZU2 nbgau ;
      igau = igau + 1 ;
      eizzu2.igau = EXTR (tabuti2.'DEFORMATIONS_INELASTIQUES'.ietat)
                              'EIZZ' 1 1 igau ;
   FIN BEIZZU2 ;

   igau = 0 ;
   REPETER BGIXYU2 nbgau ;
      igau = igau + 1 ;
      gixyu2.igau = EXTR (tabuti2.'DEFORMATIONS_INELASTIQUES'.ietat)
                              'GIXY' 1 1 igau ;
   FIN BGIXYU2 ;

   igau = 0 ;
   REPETER BGIXZU2 nbgau ;
      igau = igau + 1 ;
      gixzu2.igau = EXTR (tabuti2.'DEFORMATIONS_INELASTIQUES'.ietat)
                              'GIXZ' 1 1 igau ;
   FIN BGIXZU2 ;

   igau = 0 ;
   REPETER BGIYZU2 nbgau ;
      igau = igau + 1 ;
      giyzu2.igau = EXTR (tabuti2.'DEFORMATIONS_INELASTIQUES'.ietat)
                              'GIYZ' 1 1 igau ;
   FIN BGIYZU2 ;

*  Contraintes
   igau = 0 ;
   REPETER BSMXXU2 nbgau ;
      igau = igau + 1 ;
      smxxu2.igau = EXTR (tabuti2.'CONTRAINTES'.ietat) 'SMXX' 1 1 igau ;
   FIN BSMXXU2 ;

   igau = 0 ;
   REPETER BSMYYU2 nbgau ;
      igau = igau + 1 ;
      smyyu2.igau = EXTR (tabuti2.'CONTRAINTES'.ietat) 'SMYY' 1 1 igau ;
   FIN BSMYYU2 ;

   igau = 0 ;
   REPETER BSMZZU2 nbgau ;
      igau = igau + 1 ;
      smzzu2.igau = EXTR (tabuti2.'CONTRAINTES'.ietat) 'SMZZ' 1 1 igau ;
   FIN BSMZZU2 ;

   igau = 0 ;
   REPETER BSMXYU2 nbgau ;
      igau = igau + 1 ;
      smxyu2.igau = EXTR (tabuti2.'CONTRAINTES'.ietat) 'SMXY' 1 1 igau ;
   FIN BSMXYU2 ;

   igau = 0 ;
   REPETER BSMXZU2 nbgau ;
      igau = igau + 1 ;
      smxzu2.igau = EXTR (tabuti2.'CONTRAINTES'.ietat) 'SMXZ' 1 1 igau ;
   FIN BSMXZU2 ;

   igau = 0 ;
   REPETER BSMYZU2 nbgau ;
      igau = igau + 1 ;
      smyzu2.igau = EXTR (tabuti2.'CONTRAINTES'.ietat) 'SMYZ' 1 1 igau ;
   FIN BSMYZU2 ;

*  Variables internes
   igau = 0 ;
   REPETER BEC0U2 nbgau ;
      igau = igau + 1 ;
      ec0u2.igau =  EXTR (tabuti2.'VARIABLES_INTERNES'.ietat)
                         'EC0 ' 1 1 igau ;
   FIN BEC0U2 ;

   igau = 0 ;
   REPETER BESW0U2 nbgau ;
      igau = igau + 1 ;
      esw0u2.igau = EXTR (tabuti2.'VARIABLES_INTERNES'.ietat)
                         'ESW0' 1 1 igau ;
   FIN BESW0U2 ;

   igau = 0 ;
   REPETER BPU2 nbgau ;
      igau = igau + 1 ;
      pu2.igau =    EXTR (tabuti2.'VARIABLES_INTERNES'.ietat)
                         'P   ' 1 1 igau ;
   FIN BPU2 ;

   igau = 0 ;
   REPETER BQTLDU2 nbgau ;
      igau = igau + 1 ;
      qtldu2.igau = EXTR (tabuti2.'VARIABLES_INTERNES'.ietat)
                         'QTLD' 1 1 igau ;
   FIN BQTLDU2 ;

*  Variables internes supplementaires
   igau = 0 ;
   REPETER BPSUPU2 nbgau ;
      igau = igau + 1 ;
      psupu2.igau = EXTR (tabuti2.'VARIABLES_INTERNES'.ietat)
                         'PSUP' 1 1 igau ;
   FIN BPSUPU2 ;

   igau = 0 ;
   REPETER BQSUPU2 nbgau ;
      igau = igau + 1 ;
      qsupu2.igau = EXTR (tabuti2.'VARIABLES_INTERNES'.ietat)
                         'QSUP' 1 1 igau ;
   FIN BQSUPU2 ;

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

   icomp = 1 ;
   ino = 0 ;
   REPETER BUX nbno ;
      ino = ino + 1 ;
      SI (EGA uxu1.ino 0.0) ;
         SI (NON (EGA uxu2.ino 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' uxu2.ino
                    'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 10 ; errabs = uxu2.ino ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dux = ABS (uxu1.ino - uxu2.ino) ;
         errrel = ABS (dux / uxu1.ino) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message 'uxu1.ino =' uxu1.ino 'uxu2.ino =' uxu2.ino ;
            Message ;
            FINSI ;
************ierr = 11 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BUX ;

   icomp = 2 ;
   ino = 0 ;
   REPETER BUY nbno ;
      ino = ino + 1 ;
      SI (EGA uyu1.ino 0.0) ;
         SI (NON (EGA uyu2.ino 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' uyu2.ino
                    'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 10 ; errabs = uyu2.ino ; QUITTER BECART ;
         FINSI ;
      SINON ;
         duy = ABS (uyu1.ino - uyu2.ino) ;
         errrel = ABS (duy / uyu1.ino) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message 'uyu1.ino =' uyu1.ino 'uyu2.ino =' uyu2.ino ;
            Message ;
            FINSI ;
************ierr = 11 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BUY ;

   icomp = 3 ;
   ino = 0 ;
   REPETER BUZ nbno ;
      ino = ino + 1 ;
      SI (EGA uzu1.ino 0.0) ;
         SI (NON (EGA uzu2.ino 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' uzu2.ino
                    'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 10 ; errabs = uzu2.ino ; QUITTER BECART ;
         FINSI ;
      SINON ;
         duz = ABS (uzu1.ino - uzu2.ino) ;
         errrel = ABS (duz / uzu1.ino) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEPL icomp)
                    ' Noeud' ino 'Etat' ietat ;
            Message 'uzu1.ino =' uzu1.ino 'uzu2.ino =' uzu2.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 epxxu1.igau 0.0) ;
         SI (NON (EGA epxxu2.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' epxxu2.igau
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 20 ; errabs = epxxu2.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         depxx = ABS (epxxu1.igau - epxxu2.igau) ;
         errrel = ABS (depxx / epxxu1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'epxxu1.igau =' epxxu1.igau
                    'epxxu2.igau =' epxxu2.igau;
            Message ;
            FINSI ;
************ierr = 21 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BEPXX ;

   icomp = 2 ;
   igau = 0 ;
   REPETER BEPYY nbgau ;
      igau = igau + 1 ;
      SI (EGA epyyu1.igau 0.0) ;
         SI (NON (EGA epyyu2.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' epyyu2.igau
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 20 ; errabs = epyyu2.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         depyy = ABS (epyyu1.igau - epyyu2.igau) ;
         errrel = ABS (depyy / epyyu1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'epyyu1.igau =' epyyu1.igau
                    'epyyu2.igau =' epyyu2.igau;
            Message ;
            FINSI ;
************ierr = 21 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BEPYY ;

   icomp = 3 ;
   igau = 0 ;
   REPETER BEPZZ nbgau ;
      igau = igau + 1 ;
      SI (EGA epzzu1.igau 0.0) ;
         SI (NON (EGA epzzu2.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' epzzu2.igau
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 20 ; errabs = epzzu2.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         depzz = ABS (epzzu1.igau - epzzu2.igau) ;
         errrel = ABS (depzz / epzzu1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'epzzu1.igau =' epzzu1.igau
                    'epzzu2.igau =' epzzu2.igau;
            Message ;
            FINSI ;
************ierr = 21 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BEPZZ ;

   icomp = 4 ;
   igau = 0 ;
   REPETER BGAXY nbgau ;
      igau = igau + 1 ;
      SI (EGA gaxyu1.igau 0.0) ;
         SI (NON (EGA gaxyu2.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' gaxyu2.igau
************        'Composante ' (EXTR LDEFO icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 20 ; errabs = gaxyu2.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dgaxy = ABS (gaxyu1.igau - gaxyu2.igau) ;
         errrel = ABS (dgaxy / gaxyu1.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'Composante ' (EXTR LDEFO icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'gaxyu1.igau =' gaxyu1.igau
************        'gaxyu2.igau =' gaxyu2.igau;
************Message ;
************FINSI ;
            ierr = 21 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BGAXY ;

   icomp = 5 ;
   igau = 0 ;
   REPETER BGAXZ nbgau ;
      igau = igau + 1 ;
      SI (EGA gaxzu1.igau 0.0) ;
         SI (NON (EGA gaxzu2.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' gaxzu2.igau
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 20 ; errabs = gaxzu2.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dgaxz = ABS (gaxzu1.igau - gaxzu2.igau) ;
         errrel = ABS (dgaxz / gaxzu1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'gaxzu1.igau =' gaxzu1.igau
                    'gaxzu2.igau =' gaxzu2.igau;
            Message ;
            FINSI ;
************ierr = 21 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BGAXZ ;

   icomp = 6 ;
   igau = 0 ;
   REPETER BGAYZ nbgau ;
      igau = igau + 1 ;
      SI (EGA gayzu1.igau 0.0) ;
         SI (NON (EGA gayzu2.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' gayzu2.igau
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 20 ; errabs = gayzu2.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dgayz = ABS (gayzu1.igau - gayzu2.igau) ;
         errrel = ABS (dgayz / gayzu1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEFO icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'gayzu1.igau =' gayzu1.igau
                    'gayzu2.igau =' gayzu2.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 eixxu1.igau 0.0) ;
         SI (NON (EGA eixxu2.igau 0.0)) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur absolue' eixxu2.igau
                    'Composante ' (EXTR LDEIN icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message ;
            FINSI ;
************ierr = 30 ; errabs = eixxu2.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         deixx = ABS (eixxu1.igau - eixxu2.igau) ;
         errrel = ABS (deixx / eixxu1.igau) ;
         SI (errrel > critere) ;
            SI (EGA IMESS 1) ;
            Message 'Erreur relative' errrel
                    'Composante ' (EXTR LDEIN icomp)
                    ' Point Gauss' igau 'Etat' ietat ;
            Message 'eixxu1.igau =' eixxu1.igau
                    'eixxu2.igau =' eixxu2.igau;
            Message ;
            FINSI ;
************ierr = 31 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BEIXX ;

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

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

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

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

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

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

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

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

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

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

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

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

*  Comparaison des variables internes-----------------------------------

   icomp = 1 ;
   igau = 0 ;
   REPETER BEC0 nbgau ;
      igau = igau + 1 ;
      SI (EGA ec0u1.igau 0.0) ;
         SI (NON (EGA ec0u2.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' ec0u2.igau
************        'Composante ' (EXTR LVARI icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 50 ; errabs = ec0u2.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dec0 = ABS (ec0u1.igau - ec0u2.igau) ;
         errrel = ABS (dec0 / ec0u1.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'Composante ' (EXTR LVARI icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'ec0u1.igau =' ec0u1.igau
************        'ec0u2.igau =' ec0u2.igau;
************Message ;
************FINSI ;
            ierr = 51 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BEC0 ;

   icomp = 2 ;
   igau = 0 ;
   REPETER BESW0 nbgau ;
      igau = igau + 1 ;
      SI (EGA esw0u1.igau 0.0) ;
         SI (NON (EGA esw0u2.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' esw0u2.igau
************        'Composante ' (EXTR LVARI icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 50 ; errabs = esw0u2.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         desw0 = ABS (esw0u1.igau - esw0u2.igau) ;
         errrel = ABS (desw0 / esw0u1.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'Composante ' (EXTR LVARI icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'esw0u1.igau =' esw0u1.igau
************        'esw0u2.igau =' esw0u2.igau;
************Message ;
************FINSI ;
            ierr = 51 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BESW0 ;

   icomp = 3 ;
   igau = 0 ;
   REPETER BP nbgau ;
      igau = igau + 1 ;
      SI (EGA pu1.igau 0.0) ;
         SI (NON (EGA pu2.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' pu2.igau
************        'Composante ' (EXTR LVARI icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 50 ; errabs = pu2.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dp = ABS (pu1.igau - pu2.igau) ;
         errrel = ABS (dp / pu1.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'Composante ' (EXTR LVARI icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'pu1.igau =' pu1.igau
************        'pu2.igau =' pu2.igau;
************Message ;
************FINSI ;
            ierr = 51 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BP ;

   icomp = 4 ;
   igau = 0 ;
   REPETER BQTLD nbgau ;
      igau = igau + 1 ;
      SI (EGA qtldu1.igau 0.0) ;
         SI (NON (EGA qtldu2.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' qtldu2.igau
************        'Composante ' (EXTR LVARI icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 50 ; errabs = qtldu2.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dqtld = ABS (qtldu1.igau - qtldu2.igau) ;
         errrel = ABS (dqtld / qtldu1.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'Composante ' (EXTR LVARI icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'qtldu1.igau =' qtldu1.igau
************        'qtldu2.igau =' qtldu2.igau;
************Message ;
************FINSI ;
            ierr = 51 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BQTLD ;

*  Comparaison des variables internes supplementaires (modele no23)-----

   icomp = 1 ;
   igau = 0 ;
   REPETER BPSUP nbgau ;
      igau = igau + 1 ;
      SI (EGA pu2.igau 0.0) ;
         SI (NON (EGA psupu2.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' psupu2.igau
************        'Composante ' (EXTR LVSUP icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 60 ; errabs = psupu2.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dpsup = ABS (pu2.igau - psupu2.igau) ;
         errrel = ABS (dpsup / pu2.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'Composante ' (EXTR LVSUP icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'pu2.igau =' pu2.igau
************        'psupu2.igau =' psupu2.igau;
************Message ;
************FINSI ;
            ierr = 61 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BPSUP ;

   icomp = 2 ;
   igau = 0 ;
   REPETER BQSUP nbgau ;
      igau = igau + 1 ;
      SI (EGA qtldu2.igau 0.0) ;
         SI (NON (EGA qsupu2.igau 0.0)) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur absolue' qsupu2.igau
************        'Composante ' (EXTR LVSUP icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message ;
************FINSI ;
            ierr = 60 ; errabs = qsupu2.igau ; QUITTER BECART ;
         FINSI ;
      SINON ;
         dqsup = ABS (qtldu2.igau - qsupu2.igau) ;
         errrel = ABS (dqsup / qtldu2.igau) ;
         SI (errrel > critere) ;
************SI (EGA IMESS 1) ;
************Message 'Erreur relative' errrel
************        'Composante ' (EXTR LVSUP icomp)
************        ' Point Gauss' igau 'Etat' ietat ;
************Message 'qtldu2.igau =' qtldu2.igau
************        'qsupu2.igau =' qsupu2.igau;
************Message ;
************FINSI ;
            ierr = 61 ; QUITTER BECART ;
         FINSI ;
      FINSI ;
   FIN BQSUP ;

FIN BECART ;

* FIN   BOUCLE COMPARAISON DES RESULTATS________________________________

* MESSAGES D'ERREUR_____________________________________________________

Message ;
Message 'CPU avec modele externe 21 = ' CPUuti1 'centiemes de seconde' ;
Message 'CPU avec modele externe 23 = ' CPUuti2 'centiemes de seconde' ;
Message ;

ifin = netat-1 ;

gaxyu1ma = 0.0 ;
igau = 0 ;
REPETER BGAXYFU1 nbgau ;
   igau = igau + 1 ;
   gaxy = EXTR (tabuti1.'DEFORMATIONS'.ifin)
                    'GAXY' 1 1 igau ;
   SI (gaxy > gaxyu1ma) ; gaxyu1ma = gaxy ; FINSI ;
FIN BGAXYFU1 ;
gaxyu2ma = 0.0 ;
igau = 0 ;
REPETER BGAXYFU2 nbgau ;
   igau = igau + 1 ;
   gaxy = EXTR (tabuti2.'DEFORMATIONS'.ifin)
                    'GAXY' 1 1 igau ;
   SI (gaxy > gaxyu2ma) ; gaxyu2ma = gaxy ; FINSI ;
FIN BGAXYFU2 ;
Message 'Deformation totale finale (maxi sur points de Gauss)' ;
Message 'GAXY max avec modele externe 21 = ' gaxyu1ma ;
Message 'GAXY max avec modele externe 23 = ' gaxyu2ma ;
Message ;

gixyu1ma = 0.0 ;
igau = 0 ;
REPETER BGIXYFU1 nbgau ;
   igau = igau + 1 ;
   gixy = EXTR (tabuti1.'DEFORMATIONS_INELASTIQUES'.ifin)
                    'GIXY' 1 1 igau ;
   SI (gixy > gixyu1ma) ; gixyu1ma = gixy ; FINSI ;
FIN BGIXYFU1 ;
gixyu2ma = 0.0 ;
igau = 0 ;
REPETER BGIXYFU2 nbgau ;
   igau = igau + 1 ;
   gixy = EXTR (tabuti2.'DEFORMATIONS_INELASTIQUES'.ifin)
                    'GIXY' 1 1 igau ;
   SI (gixy > gixyu2ma) ; gixyu2ma = gixy ; FINSI ;
FIN BGIXYFU2 ;
Message 'Deformation de fluage finale (maxi sur points de Gauss)' ;
Message 'GIXY max avec modele externe 21 = ' gixyu1ma ;
Message 'GIXY max avec modele externe 23 = ' gixyu2ma ;
Message ;

smxyu1ma = 0.0 ;
igau = 0 ;
REPETER BSMXYFU1 nbgau ;
   igau = igau + 1 ;
   smxy = EXTR (tabuti1.'CONTRAINTES'.ifin)
                    'SMXY' 1 1 igau ;
   SI (smxy > smxyu1ma) ; smxyu1ma = smxy ; FINSI ;
FIN BSMXYFU1 ;
smxyu2ma = 0.0 ;
igau = 0 ;
REPETER BSMXYFU2 nbgau ;
   igau = igau + 1 ;
   smxy = EXTR (tabuti2.'CONTRAINTES'.ifin)
                    'SMXY' 1 1 igau ;
   SI (smxy > smxyu2ma) ; smxyu2ma = smxy ; FINSI ;
FIN BSMXYFU2 ;
Message 'Contrainte finale (maxi sur points de Gauss)' ;
Message 'SMXY max avec modele externe 21 = ' smxyu1ma ;
Message 'SMXY max avec modele externe 23 = ' smxyu2ma ;
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 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 ;

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

   SI (EGA ierr 61) ;
      Message 'Erreur relative' errrel 'Composante ' (EXTR LVSUP 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) '  '
           (EXTR LVARI ivar1) '  ' (EXTR LVARI ivar2) '  '
           (EXTR LVARI ivar3) '  ' (EXTR LVARI ivar4) ;
   Message ;
   Message 'Modele externe 23 : aucune erreur relative superieure a '
            critere ;
   Message 'entre les composantes  '
           (EXTR LVARI ivar3) '  ' (EXTR LVARI ivar4) '  et  '
           (EXTR LVSUP ivas1) '  ' (EXTR LVSUP ivas2) ;
   ERRE 0 ;

FINSI ;

FIN ;

 

 

© Cast3M 2003 - All rights reserved.
Disclaimer