]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
Mise en coherence avec la 10.1.27
authorPascale Noyret <pascale.noyret@edf.fr>
Thu, 3 Jun 2010 09:02:51 +0000 (09:02 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Thu, 3 Jun 2010 09:02:51 +0000 (09:02 +0000)
Aster/Cata/cataSTA10/cata.py
Aster/Cata/cataSTA10/ops.py

index cba954b2ce76c35b8ae7c6095c71f23849a6cd0a..cb14ecfc2b1fd95523c32345f475394034666a4f 100755 (executable)
@@ -1,4 +1,4 @@
-#& MODIF ENTETE  DATE 16/11/2009   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF ENTETE  DATE 11/05/2010   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -28,16 +28,16 @@ __Id__ = "$Id: cata_aster_v6.py,v 1.12 2001/01/16 15:55:05 iliade Exp $"
 import Accas
 from Accas import *
 from Accas import _F
-import Numeric
-from math import sin,cos,tan,asin,acos,atan2,atan,sinh,cosh,tanh,exp,log,log10
-from math import sqrt,pi
+from math import sin, cos, tan, asin, acos, atan2, atan, sinh, cosh, tanh
+from math import pi ,exp,log, log10, sqrt
 import ops
 
 try:
   import aster
-except:
+except ImportError:
   pass
 
+
 # -----------------------------------------------------------------------------
 JdC = JDC_CATA(code='ASTER',
                execmodul=None,
@@ -97,6 +97,7 @@ from SD.co_char_cine_meca   import char_cine_meca
 from SD.co_char_cine_ther   import char_cine_ther
 from SD.co_char_meca        import char_meca
 from SD.co_char_ther        import char_ther
+from SD.co_contact          import char_contact
 from SD.co_compor           import compor_sdaster
 from SD.co_courbe           import courbe_sdaster
 from SD.co_fiss_xfem        import fiss_xfem
@@ -149,7 +150,7 @@ from SD.co_cham_elem import cham_elem
 # resultat : (evol_sdaster,mode_stat,mode_meca)
 from SD.co_resultat     import resultat_sdaster, resultat_jeveux
 from SD.co_resultat_dyn import resultat_dyn
-from SD.co_mode_meca  import mode_meca
+from SD.co_mode_meca    import mode_meca
 
 # -----------------------------------------------------------------------------
 class acou_harmo    (resultat_dyn):pass
@@ -176,7 +177,6 @@ class evol_noli(evol_sdaster):pass
 class evol_ther(evol_sdaster):pass
 class evol_varc(evol_sdaster):pass
 
-
 # -----------------------------------------------------------------------------
 # resultat_sdaster/mode_meca :
 class mode_meca_c(mode_meca):pass
@@ -221,7 +221,7 @@ from SD.co_vect_elem import vect_elem, \
                             vect_elem_pres_r, vect_elem_pres_c, \
                             vect_elem_temp_r
 
-#& MODIF COMMUN  DATE 22/09/2009   AUTEUR PROIX J-M.PROIX 
+#& MODIF COMMUN  DATE 20/04/2010   AUTEUR JAUBERT A.JAUBERT 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -293,12 +293,14 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
                                        "HOEK_BROWN_TOT",
                                        "MAZARS",
                                        "ENDO_ISOT_BETON",
+                                       "JOINT_BANDIS",
 # THMC
                                        "GAZ",
                                        "LIQU_SATU",
                                        "LIQU_GAZ_ATM",
                                        "LIQU_VAPE_GAZ",
                                        "LIQU_AD_GAZ_VAPE",
+                                       "LIQU_AD_GAZ",
                                        "LIQU_VAPE",
                                        "LIQU_GAZ",
 # HYDR
@@ -317,41 +319,44 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
                                  into=("ACIER","ZIRC"),),
                                  ),
 
-           DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",
-                             into=("PETIT","PETIT_REAC","SIMO_MIEHE","GREEN_GR","GREEN","COROTATIONNEL",
-                                   "REAC_GEOM","EULER_ALMANSI")),
+           DEFORMATION       =SIMP(statut='f',typ='TXM',defaut="PETIT",
+                                   into=("PETIT","PETIT_REAC","GROT_GDEP","SIMO_MIEHE","GDEF_HYPO_ELAS","GREEN_REAC")),
+           ALGO_C_PLAN       =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
+           RESI_DEBO_MAXI    =SIMP(statut='f',typ='R',fr="Critère d'arret absolu pour assurer la condition de contraintes planes",),
 
-           ALGO_C_PLAN     =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
-           RESI_DEBO_MAXI = SIMP(statut='f',typ='R',
-                   fr="Critère d'arret absolu pour assurer la condition de contraintes planes",
-           ),
-           b_resideborst      = BLOC(condition = " RESI_DEBO_MAXI == None ",
-           fr="Critère d'arret relatif pour assurer la condition de contraintes planes",
-                            RESI_DEBO_RELA = SIMP(statut='f',typ='R',defaut= 1.0E-6),
-                            ),
-           ALGO_1D         =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
-           ITER_MAXI_DEBORST  =SIMP(statut='f',typ='I',defaut= 1),
+           b_resideborst     =BLOC(condition = " RESI_DEBO_MAXI == None ",
+                                      fr="Critère d'arret relatif pour assurer la condition de contraintes planes",
+               RESI_DEBO_RELA   =SIMP(statut='f',typ='R',defaut= 1.0E-6),
+                                  ),
 
-           RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
-           ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
-           b_redec_local      = BLOC(condition = "DEFORMATION in ('PETIT','PETIT_REAC','GREEN')",
-                        fr="Nombre de redécoupages internes du pas de temps",
+           ALGO_1D           =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
+           ITER_MAXI_DEBORST =SIMP(statut='f',typ='I',defaut= 1),
+           RESI_INTE_RELA    =SIMP(statut='f',typ='R',defaut= 1.0E-6),
+           ITER_INTE_MAXI    =SIMP(statut='f',typ='I',defaut= 10 ),
+
+           b_redec_local      = BLOC(condition = "DEFORMATION in ('PETIT','PETIT_REAC','GROT_GDEP')",
+                                     fr="Nombre de redécoupages internes du pas de temps",
                ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
-                   ),
-           RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
-                                 into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
-           TYPE_MATR_TANG  =SIMP(statut='f',typ='TXM',into=("PERTURBATION","VERIFICATION","TANGENTE_SECANTE")),
-           b_perturb      = BLOC(condition = " (TYPE_MATR_TANG != None) and (TYPE_MATR_TANG != 'TANGENTE_SECANTE') ",
-                        fr="Calcul de la matrice tangente par perturbation, valeur de la perturbation",
-                 VALE_PERT_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-5),
-                                ),
-           b_tangsec      = BLOC(condition = " TYPE_MATR_TANG == 'TANGENTE_SECANTE' ",
-                        fr="Modification evolutive de la matrice tangente/secante",
+                                     ),
+
+           RESO_INTE         =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
+                                   into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE","IMPLICITE_RELI")),
+           TYPE_MATR_TANG    =SIMP(statut='f',typ='TXM',into=("PERTURBATION","VERIFICATION","TANGENTE_SECANTE")),
+
+           b_perturb         =BLOC(condition = " (TYPE_MATR_TANG != None) and (TYPE_MATR_TANG != 'TANGENTE_SECANTE') ",
+                                   fr="Calcul de la matrice tangente par perturbation, valeur de la perturbation",
+                VALE_PERT_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-5),
+                                  ),
+
+           b_tangsec        = BLOC(condition = " TYPE_MATR_TANG == 'TANGENTE_SECANTE' ",
+                                   fr="Modification evolutive de la matrice tangente/secante",
                  SEUIL        =SIMP(statut='f',typ='R',defaut= 3. ),
                  AMPLITUDE    =SIMP(statut='f',typ='R',defaut= 1.5 ),
                  TAUX_RETOUR  =SIMP(statut='f',typ='R',defaut= 0.05 ),
-                                ),
+                                  ),
+
            PARM_THETA      =SIMP(statut='f',typ='R',defaut= 1. ),
+           PARM_ALPHA      =SIMP(statut='f',typ='R',defaut= 1. ),
 
            regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
@@ -359,329 +364,7 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
 
          ) ;
-#& MODIF COMMUN  DATE 27/10/2009   AUTEUR TARDIEU N.TARDIEU 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2008  EDF R&D                  WWW.CODE-ASTER.ORG
-# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
-# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
-# (AT YOUR OPTION) ANY LATER VERSION.
-#
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
-#
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
-# ======================================================================
-# RESPONSABLE DESOZA T.DESOZA
-def C_CONTACT() : return FACT(statut='f',max='**',
-           fr="Définit les zones soumises à des conditions de contact unilatéral avec ou sans frottement",
-
-
-           METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",
-                                 into  =("VERIF","CONTRAINTE","LAGRANGIEN","PENALISATION","CONTINUE","GCP","XFEM") ),
-#
-# OPTIONS D'APPARIEMENT
-#
-
-           b_notxfem         =BLOC(condition = "METHODE != 'XFEM' ",
-                                   regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),
-                                           UN_PARMI('GROUP_MA_MAIT','MAILLE_MAIT'),),
-
-             GROUP_MA_MAIT   =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1),
-             MAILLE_MAIT     =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
-             GROUP_MA_ESCL   =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1),
-             MAILLE_ESCL     =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
-
-             APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
-                                   into  =("NODAL","MAIT_ESCL")),
-
-             LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",
-                                   into  =("OUI","NON")),
-
-             NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",
-                                   into  =("MAIT","MAIT_ESCL","ESCL"),),
-
-             VECT_MAIT       =SIMP(statut='f',typ='TXM',defaut="AUTO",
-                                   into  =("AUTO","FIXE","VECT_Y")),
-
-             b_nmait_fixe    =BLOC(condition = "VECT_MAIT == 'FIXE'",
-               MAIT_FIXE     =SIMP(statut='o',typ='R',min=3,max=3),
-             ),
-
-             b_nmait_vecty   =BLOC(condition = "VECT_MAIT == 'VECT_Y'",
-               MAIT_VECT_Y   =SIMP(statut='o',typ='R',min=3,max=3),
-             ),
-
-             VECT_ESCL       =SIMP(statut='f',typ='TXM',defaut="AUTO",
-                                   into  =("AUTO","FIXE","VECT_Y")),
-
-             b_nescl_fixe    =BLOC(condition = "VECT_ESCL == 'FIXE'",
-               ESCL_FIXE     =SIMP(statut='o',typ='R',min=3,max=3),
-             ),
-
-             b_nescl_vecty   =BLOC(condition = "VECT_ESCL == 'VECT_Y'",
-               ESCL_VECT_Y   =SIMP(statut='o',typ='R',min=3,max=3),
-             ),
-
-
-             TYPE_APPA       =SIMP(statut='f',typ='TXM',defaut="PROCHE",
-                                   into  =("PROCHE","FIXE")),
-
-             b_appa_fixe     =BLOC(condition = "TYPE_APPA == 'FIXE'",
-               DIRE_APPA     =SIMP(statut='f',typ='R',min=3,max=3),
-             ),
-
-             DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-
-             TOLE_APPA       =SIMP(statut='f',typ='R'  ,defaut=-1.0),
-
-           ),
-
-
-           b_dist_struct   =BLOC(condition = "METHODE != 'CONTINUE' and METHODE != 'XFEM'",
-             DIST_POUTRE   =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
-             DIST_COQUE    =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
-             b_cara        =BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'",
-               CARA_ELEM     =SIMP(statut='o',typ=(cara_elem) ),
-             ),
-           ),
-
-           TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
-
-#
-# FIN OPTIONS D'APPARIEMENT
-#
-
-           b_xfem         =BLOC(condition = "METHODE == 'XFEM' ",
-             FISS_MAIT      = SIMP(statut='o',typ=fiss_xfem,max=1),
-             INTEGRATION    = SIMP(statut='f',typ='TXM',defaut="FPG4",into=("GAUSS","FPG2","FPG3","FPG4","FPG6",
-                                               "FPG7","NOEUD","SIMPSON","SIMPSON1","NCOTES","NCOTES1","NCOTES2") ),
-             COEF_REGU_CONT = SIMP(statut='f',typ='R',defaut=100.E+0),
-             COEF_STAB_CONT = SIMP(statut='f',typ='R',defaut=0.E+0),
-             COEF_PENA_CONT = SIMP(statut='f',typ='R',defaut=0.E+0),
-             ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut=30),
-             ITER_GEOM_MAXI  =SIMP(statut='f',typ='I',defaut=0),
-
-             CONTACT_INIT   = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
-             ALGO_LAGR      = SIMP(statut='f',typ='TXM',defaut="VERSION1",into=("NON","VERSION1","VERSION2" , ) ),
-             COEF_ECHELLE   = SIMP(statut='f',typ='R',defaut=1.E+6),
-             FROTTEMENT     = SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
-             GLISSIERE      = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
-             b_frotxfem    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
-               COULOMB        = SIMP(statut='o',typ='R',),
-               ITER_FROT_MAXI = SIMP(statut='f',typ='I',defaut=2),
-               COEF_REGU_FROT = SIMP(statut='f',typ='R',defaut=100.E+0),
-               COEF_STAB_FROT = SIMP(statut='f',typ='R',defaut=0.E+0),
-               COEF_PENA_FROT = SIMP(statut='f',typ='R',defaut=0.E+0),
-               SEUIL_INIT     = SIMP(statut='f',typ='R',defaut=0.E+0),
-               ),
-           ),
-
-
-
-           b_verif         =BLOC(condition = "METHODE == 'VERIF' ",
-                                 fr="Paramètres de la méthode sans calcul de contact",
-                STOP_INTERP     =SIMP(statut='f',typ='TXM',defaut="NON",
-                                      into=("OUI","NON")),
-                TOLE_INTERP     =SIMP(statut='f',typ='R',defaut = 0.),
-
-                GROUP_MA_FOND   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           ),
-
-           b_active        =BLOC(condition = "METHODE == 'CONTRAINTE' ",
-                                 fr="Paramètres de la méthode des contraintes actives (contact uniquement)",
-                GLISSIERE       =SIMP(statut='f',typ='TXM',defaut="NON",
-                                      into=("OUI","NON")),
-                b_glissiere     =BLOC(condition = "GLISSIERE == 'OUI' ",
-                      ALARME_JEU  =SIMP(statut='f',typ='R',defaut=0.),
-                                 ),
-
-                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
-                                      into=("OUI","NON")),
-                NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
-                REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
-                        into=("AUTOMATIQUE","CONTROLE","SANS")),
-
-                b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
-                                 fr="Paramètre de la réactualisation géométrique",
-                      NB_REAC_GEOM   =SIMP(statut='o',typ='I'),
-                                 ),
-
-                SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-
-           ),
-           b_lagrangien    =BLOC(condition = "METHODE == 'LAGRANGIEN' ",
-                                 fr="Paramètres de la méthode Lagrangienne (contact avec ou sans frottement)",
-                FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
-                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
-                                      into=("OUI","NON")),
-                NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
-                ITER_MULT_MAXI  =SIMP(statut='f',typ='I'  ,defaut=4),
-
-                REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
-                                      into=("AUTOMATIQUE","CONTROLE","SANS")),
-
-                b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Paramètre de la réactualisation géométrique",
-                      NB_REAC_GEOM   =SIMP(statut='o',typ='I'),
-
-                                 ),
-
-
-                SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-
-                b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
-                     COULOMB         =SIMP(statut='o',typ='R',),
-                     COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),
-                     ),),
-
-           b_penalisation       =BLOC(condition = "METHODE == 'PENALISATION' ",
-                                      fr="Paramètres de la méthode pénalisée (contact avec ou sans frottement)",
-                E_N             =SIMP(statut='f',typ='R'),
-                FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
-                b_dualisation   =BLOC(condition = "E_N == None",
-                  STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
-                                        into=("OUI","NON")),
-                  NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
-                  ITER_MULT_MAXI  =SIMP(statut='f',typ='I',defaut=4),
-                ),
-
-                REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
-                                      into=("AUTOMATIQUE","CONTROLE","SANS")),
-
-                b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Paramètre de la réactualisation géométrique",
-                      NB_REAC_GEOM   =SIMP(statut='o',typ='I'),
-                                 ),
-
-                SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-
-
-
-                b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
-                     COULOMB         =SIMP(statut='o',typ='R',),
-                     E_T             =SIMP(statut='o',typ='R',
-                                           fr="Active la pénalisation sur le frottement et définit le coefficient de pénalisation"),
-                     COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),
-                     ),),
-
-           b_continue      =BLOC(condition = "METHODE == 'CONTINUE' ",
-                                 fr="Paramètres de la méthode continue (contact avec ou sans frottement)",
-#                regles=(UN_PARMI('GLISSIERE','FROTTEMENT'),),
-
-# -------------------------------- CHOIX DE LA FORMULATION DE LA METHODE CONTINUE
-                ALGO_CONT   =SIMP(statut='f',typ='TXM',defaut="LAGRANGIEN",into=("LAGRANGIEN","AUGMENTE","STABILISE"),),
-                b_CONT_LAGR =BLOC(condition = "ALGO_CONT == 'LAGRANGIEN' ",fr="Parametres de la formulation Lagrangienne",
-                                  COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),),
-                b_CONT_STAB =BLOC(condition = "ALGO_CONT == 'STABILISE' ",fr="Parametres du Lagrangien stabilisé",
-                                  COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
-                                  COEF_STAB_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),),
-                b_CONT_AUGM =BLOC(condition = "ALGO_CONT == 'AUGMENTE' ",fr="Parametres du Lagrangien augmenté",
-                                  COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
-                                  COEF_STAB_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
-                                  COEF_PENA_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),),
-# --------------------------------
-                GLISSIERE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),
-# --------------------------------
-                COMPLIANCE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
-                b_compliance    =BLOC(condition = "COMPLIANCE == 'OUI' ",fr="Parametres de la compliance",
-                                      ASPERITE =SIMP(statut='o',typ='R',),
-                                      E_N      =SIMP(statut='o',typ='R',),
-                                      E_V      =SIMP(statut='f',typ='R',defaut=0.E+0),),
-# --------------------------------
-                FOND_FISSURE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
-                b_FOND_FISSURE  =BLOC(condition = "FOND_FISSURE == 'OUI' ",fr="TRAITEMENT EN FOND DE FISSURE",
-                                      regles=(UN_PARMI('NOEUD_FOND','GROUP_NO_FOND','MAILLE_FOND','GROUP_MA_FOND'),),
-                                      NOEUD_FOND    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                                      GROUP_NO_FOND =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                                      MAILLE_FOND   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                                      GROUP_MA_FOND =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),),
-# --------------------------------
-                RACCORD_LINE_QUAD=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
-                b_RACCORD_SURF   =BLOC(condition = "RACCORD_LINE_QUAD == 'OUI' ",fr="TRAITEMENT DU RACCORD SURFACIQUE",
-                                       regles=(UN_PARMI('NOEUD_RACC','GROUP_NO_RACC'),),
-                                       NOEUD_RACC    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                                       GROUP_NO_RACC =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),),
-# -------------------------------- MOTS-CLEF CONTACT
-                INTEGRATION      =SIMP(statut='f',typ='TXM',defaut="NOEUD",
-                                       into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2",
-                                             "NCOTES","NCOTES1","NCOTES2"),),
-                FORMULATION      =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE"),),
-
-                ITER_GEOM_MAXI   =SIMP(statut='f',typ='I',defaut=2),
-                ITER_CONT_MAXI   =SIMP(statut='f',typ='I',defaut=30),
-                CONTACT_INIT     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",),),
-# -------------------------------- détection automatique et exclusion des noeuds impliqués dans le pivot nul
-                EXCLUSION_PIV_NUL=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",),),
-# -------------------------------- exclusion manuelle des noeuds impliqués dans le pivot nul;
-#                                  prévaut sur la fonctionnalité précédente sans pour autant interférer avec elle
-                SANS_NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                SANS_GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                regles        =(EXCLUS('SANS_NOEUD','SANS_GROUP_NO'),),
-# -------------------------------- MOTS-CLEF FROTTEMENT
-                FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
-                b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
-                     ALGO_FROT       =SIMP(statut='f',typ='TXM',defaut="LAGRANGIEN",
-                                      into=("LAGRANGIEN","AUGMENTE","STABILISE") ),
-                     b_FROT_LAGR =BLOC(condition = "ALGO_FROT == 'LAGRANGIEN' ",fr="Parametres de la formulation Lagrangienne",
-                                       COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),),
-                     b_FROT_STAB =BLOC(condition = "ALGO_FROT == 'STABILISE' ",fr="Parametres du Lagrangien stabilisé",
-                                       COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
-                                       COEF_STAB_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),),
-                     b_FROT_AUGM =BLOC(condition = "ALGO_FROT == 'AUGMENTE' ",fr="Parametres du Lagrangien augmenté",
-                                       COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
-                                       COEF_STAB_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
-                                       COEF_PENA_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),),
-                     COULOMB            =SIMP(statut='o',typ='R',),
-                     SANS_NOEUD_FR    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                     SANS_GROUP_NO_FR =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                     regles             =(EXCLUS('SANS_NOEUD_FR','SANS_GROUP_NO_FR'),),
-                     b_sans_group_no_frot =BLOC(condition = "SANS_GROUP_NO_FR != None or SANS_NO_FR != None",
-                                                fr="Direction(s) de frottement à exclure",
-                                                EXCL_FROT_1 =SIMP(statut='f',typ='R',min=3,max=3),
-                                                EXCL_FROT_2 =SIMP(statut='f',typ='R',min=3,max=3),),
-                     ITER_FROT_MAXI =SIMP(statut='f',typ='I',defaut=2),
-                     SEUIL_INIT     =SIMP(statut='f',typ='R',defaut=0.E+0),
-                     USURE          =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","ARCHARD",),),
-                     b_usure        =BLOC(condition = "USURE == 'ARCHARD' ",fr="Parametres de la loi d'usure d'Archard",
-                                          K =SIMP(statut='o',typ='R',),
-                                          H =SIMP(statut='o',typ='R',),),),),
-
-           b_gcp        =BLOC(condition = "METHODE == 'GCP' ",
-                                 fr="Paramètres de la méthode du gradient conjugué projeté (contact uniquement)",
-                RESI_ABSO       =SIMP(statut='o',typ='R',
-                                      fr="Critère de convergence (niveau d'interpénétration autorisé)"),
-                REAC_ITER       =SIMP(statut='f',typ='I',defaut=20, fr="Fréquence de réinitialisation de la conjugaison"),
-                ITER_GCP_MAXI   =SIMP(statut='f',typ='I',defaut=0, fr="Nombre d'itérations maximal pour le GCP"),
-                REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
-                                      into=("AUTOMATIQUE","CONTROLE","SANS")),
-
-                b_reac_geom     =BLOC(condition = "REAC_GEOM == 'CONTROLE' ",fr="Paramètre de la réactualisation géométrique",
-                      NB_REAC_GEOM   =SIMP(statut='o',typ='I'),
-
-                                 ),
-                PRE_COND         =SIMP(statut='f',typ='TXM',defaut="SANS",
-                      into=("DIRICHLET","SANS"),fr="Choix d'un préconditionneur (accélère la convergence)"),
-                ITER_PRE_MAXI   =SIMP(statut='f',typ='I',defaut=0, fr="Nombre d'itérations maximal pour le préconditionneur"),
-                COEF_RESI       =SIMP(statut='f',typ='R',defaut = 1.,
-                                        fr="Critère_Convergence_Préconditionneur = COEF_RESI*Critère_Convergence_GCP",),
-                RECH_LINEAIRE=SIMP(statut='f',typ='TXM',defaut="ADMISSIBLE",into=("ADMISSIBLE","NON_ADMISSIBLE"),
-                                        fr="Autorise-t-on de sortir du domaine admissible lors de la recherche linéaire",),
-                SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-           ),
-         );
-
-
-
-#& MODIF COMMUN  DATE 07/07/2009   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMUN  DATE 12/04/2010   AUTEUR MICHEL S.MICHEL 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2009  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -701,10 +384,10 @@ def C_CONTACT() : return FACT(statut='f',max='**',
 # ======================================================================
 # RESPONSABLE REZETTE C.REZETTE
 def C_CONVERGENCE() : return FACT(statut='d',
-           regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
+           regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA','RESI_COMP_RELA'),),
            b_refe_rela    =BLOC(condition = "RESI_REFE_RELA != None",
              regles=(AU_MOINS_UN('SIGM_REFE','EPSI_REFE','FLUX_THER_REFE','FORC_REFE',
-                                  'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE','DEPL_REFE'),),
+                                  'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE','DEPL_REFE','LAGR_REFE'),),
              FORC_REFE       =SIMP(statut='f',typ='R',min=2,max=2,
                 fr="Force et Moment de référence pour les éléments de structure."),
              SIGM_REFE       =SIMP(statut='f',typ='R'),
@@ -714,10 +397,12 @@ def C_CONVERGENCE() : return FACT(statut='d',
              FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
              FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),
              VARI_REFE       =SIMP(statut='f',typ='R'),
+             LAGR_REFE       =SIMP(statut='f',typ='R'),
            ),
            RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
+           RESI_COMP_RELA  =SIMP(statut='f',typ='R'),
            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
            TYPE            =SIMP(statut='f',typ='TXM',defaut="PIC",into=("PIC","PLATEAU")),
@@ -814,7 +499,7 @@ def C_NEWTON() : return FACT(statut='d',
            REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0,val_min=0),
            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
          );
-#& MODIF COMMUN  DATE 29/09/2009   AUTEUR GNICOLAS G.NICOLA
+#& MODIF COMMUN  DATE 27/04/2010   AUTEUR DESROCHES X.DESROCHE
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -839,8 +524,6 @@ def C_NOM_CHAM_INTO() : return  ("ACCE",    #COMMUN#
                         "ACCE_ABSOLU",
                         "ALPH0_ELGA_EPSP",
                         "ALPHP_ELGA_ALPH0",
-                        "ARCO_ELNO_SIGM",
-                        "ARCO_NOEU_SIGM",
                         "COMPORTEMENT",
                         "COMPORTHER",
                         "CRIT_ELNO_RUPT",
@@ -899,9 +582,7 @@ def C_NOM_CHAM_INTO() : return  ("ACCE",    #COMMUN#
                         "EPSI_NOEU_DEPL",
                         "EPSP_ELGA",
                         "EPSP_ELNO",
-                        "EPSP_ELNO_ZAC",
                         "EPSP_NOEU",
-                        "EPSP_NOEU_ZAC",
                         "EQUI_ELGA_EPME",
                         "EQUI_ELGA_EPSI",
                         "EQUI_ELGA_SIGM",
@@ -930,6 +611,7 @@ def C_NOM_CHAM_INTO() : return  ("ACCE",    #COMMUN#
                         "EXTR_ELGA_VARI",
                         "EXTR_ELNO_VARI",
                         "EXTR_NOEU_VARI",
+                        "FLHN_ELGA",
                         "FLUX_ELGA_TEMP",
                         "FLUX_ELNO_TEMP",
                         "FLUX_NOEU_TEMP",
@@ -963,6 +645,10 @@ def C_NOM_CHAM_INTO() : return  ("ACCE",    #COMMUN#
                         "PRES_NOEU_DBEL",
                         "PRES_NOEU_IMAG",
                         "PRES_NOEU_REEL",
+                        "PROJ_ELEM_SIGN",
+                        "PROJ_ELEM_SIGT",
+                        "PROJ_ELEM_SIT1",
+                        "PROJ_ELEM_SIT2",
                         "RADI_ELGA_SIGM",
                         "RADI_ELNO_SIGM",
                         "RADI_NOEU_SIGM",
@@ -980,12 +666,10 @@ def C_NOM_CHAM_INTO() : return  ("ACCE",    #COMMUN#
                         "SIGM_ELNO_DEPL",
                         "SIGM_ELNO_SIEF",
                         "SIGM_ELNO_TUYO",
-                        "SIGM_ELNO_ZAC",
                         "SIGM_NOEU_CART",
                         "SIGM_NOEU_COQU",
                         "SIGM_NOEU_DEPL",
                         "SIGM_NOEU_SIEF",
-                        "SIGM_NOEU_ZAC",
                         "SIGM_NOZ1_ELGA",
                         "SIGM_NOZ2_ELGA",
                         "SIPO_ELNO_DEPL",
@@ -1000,7 +684,6 @@ def C_NOM_CHAM_INTO() : return  ("ACCE",    #COMMUN#
                         "VALE_CONT",
                         "VALE_NCOU_MAXI",
                         "VARI_ELGA",
-                        "VARI_ELGA_ZAC",
                         "VARI_ELNO",
                         "VARI_ELNO_COQU",
                         "VARI_ELNO_ELGA",
@@ -1011,7 +694,7 @@ def C_NOM_CHAM_INTO() : return  ("ACCE",    #COMMUN#
                         "VITE_ABSOLU",
                         "VITE_VENT",
                         )
-#& MODIF COMMUN  DATE 05/05/2009   AUTEUR DESROCHES X.DESROCHES 
+#& MODIF COMMUN  DATE 14/12/2009   AUTEUR ANDRIAM H.ANDRIAMBOLOLONA 
 # RESPONSABLE DESROCHES X.DESROCHES
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -1072,6 +755,7 @@ def C_NOM_GRANDEUR() : return  ( #COMMUN#
 "DOMMAG",
 "DURT_R",
 "ENER_R",
+"EPSI_C",
 "EPSI_F",
 "EPSI_R",
 "ERRE_R",
@@ -1213,7 +897,7 @@ def C_RECH_LINEAIRE() : return FACT(statut='f',
            RHO_MAX         =SIMP(statut='f',typ='R',defaut=1.0E+1),
            RHO_EXCL        =SIMP(statut='f',typ='R',defaut=0.9E-2,val_min=0.),
          );
-#& MODIF COMMUN  DATE 22/09/2009   AUTEUR PROIX J-M.PROIX 
+#& MODIF COMMUN  DATE 20/04/2010   AUTEUR JAUBERT A.JAUBERT 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2009  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -1237,6 +921,7 @@ def C_RELATION() : return (             "ELAS",            # RESP. : PROIX J.M.P
                                         "ASSE_CORN",       # RESP. : PEYRARD C.PEYRARD
                                         "BARCELONE",       # RESP. : ELGHARIB J.ELGHARIB
                                         "BETON_DOUBLE_DP", # RESP. : ELGHARIB J.ELGHARIB
+                                        "BETON_RAG",       # RESP. : DEBONNIERES P.DEBONNIERES
                                         "BETON_REGLE_PR",  # RESP. : NECS
                                         "BETON_UMLV_FP",   # RESP. : LEPAPE Y.LEPAPE
                                         "CAM_CLAY",        # RESP. : ELGHARIB J.ELGHARIB
@@ -1261,6 +946,7 @@ def C_RELATION() : return (             "ELAS",            # RESP. : PROIX J.M.P
                                         "ELAS_GONF",       # RESP. : GRANET S.GRANET
                                         "ELAS_HYPER",      # RESP. : ABBAS M.ABBAS
                                         "ENDO_FRAGILE",    # RESP. : MICHEL S.MICHEL
+                                        "ENDO_SCALAIRE",   # RESP. : MICHEL S.MICHEL
                                         "ENDO_ISOT_BETON", # RESP. : MICHEL S.MICHEL
                                         "ENDO_ORTH_BETON", # RESP. : MICHEL S.MICHEL
                                         "GATT_MONERIE",    # RESP. : DEBONNIERES P.DEBONNIERES
@@ -1279,6 +965,8 @@ def C_RELATION() : return (             "ELAS",            # RESP. : PROIX J.M.P
                                         "HUJEUX",          # RESP. : FOUCAULT A.FOUCAULT
                                         "IRRAD3M",         # RESP. : FLEJOU J.L.FLEJOU
                                         "JOINT_BA",        # RESP. : MICHEL S.MICHEL
+                                        "JOINT_BANDIS",
+                                        "JOINT_MECA_RUPT", # RESP. : KAZYMYRENKO C.KAZYMYRENKO 
                                         "KIT_DDI",         # RESP. : CHAVANT C.CHAVANT
                                         "KIT_HHM",         # RESP. : GRANET S.GRANET
                                         "KIT_HH",          # RESP. : GRANET S.GRANET
@@ -1357,7 +1045,7 @@ def C_RELATION() : return (             "ELAS",            # RESP. : PROIX J.M.P
                                         "IMPLEX_ISOT_BETO",# RESP. : BARGELLINI R.BARGELLINI
                                         "IMPLEX_ISOT_LINE",# RESP. : BARGELLINI R.BARGELLINI
                                      ) 
-#& MODIF COMMUN  DATE 20/10/2009   AUTEUR BOITEAU O.BOITEA
+#& MODIF COMMUN  DATE 18/01/2010   AUTEUR TARDIEU N.TARDIE
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2009  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -1390,9 +1078,14 @@ def C_SOLVEUR() : return FACT(statut='d',
              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
            ),
            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
-             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
-             NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","LDLT_SP",),defaut="LDLT_INC" ),
+             b_ldltinc       =BLOC(condition = "PRE_COND == 'LDLT_INC' ", fr="Paramètres de la factorisation incomplète",
+               NIVE_REMPLISSAGE    =SIMP(statut='f',typ='I',defaut= 0 ),
+               RENUM               =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+               ),
+             b_simple        =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision",
+               REAC_PRECOND        =SIMP(statut='f',typ='I',defaut=5, ),
+               ),
              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
            ),
@@ -2117,7 +1810,7 @@ AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op=  68,sd_prod=char_acou,
            DDL             =SIMP(statut='o',typ='TXM',max='**'),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#& MODIF COMMANDE  DATE 20/04/2010   AUTEUR JAUBERT A.JAUBERT 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -2165,11 +1858,11 @@ AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
                                'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
                                'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
                                'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
-                               'VO6','WI6','WO6','WO','WI1','WO1','GONF','DCX','DCY','DCZ',
+                               'VO6','WI6','WO6','WO','WI1','WO1','GONF',
                                'H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
                                'E3X','E3Y','E3Z','E4X','E4Y','E4Z','V11','V12','V13','V21','V22',
                                'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21',
-                               'PRES22','PRES23','PRES31','PRES32','PRES33'),),
+                               'PRES22','PRES23','PRES31','PRES32','PRES33','LH1'),),
              TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
@@ -2221,9 +1914,6 @@ AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
              WI1             =SIMP(statut='f',typ='R' ),
              WO1             =SIMP(statut='f',typ='R' ),
              GONF            =SIMP(statut='f',typ='R' ),
-             DCX             =SIMP(statut='f',typ='R' ),
-             DCY             =SIMP(statut='f',typ='R' ),
-             DCZ             =SIMP(statut='f',typ='R' ),
              H1X             =SIMP(statut='f',typ='R' ),
              H1Y             =SIMP(statut='f',typ='R' ),
              H1Z             =SIMP(statut='f',typ='R' ),
@@ -2257,6 +1947,7 @@ AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
              PRES31          =SIMP(statut='f',typ='R' ),
              PRES32          =SIMP(statut='f',typ='R' ),
              PRES33          =SIMP(statut='f',typ='R' ),
+             LH1             =SIMP(statut='f',typ='R' ),
          ),
          THER_IMPO       =FACT(statut='f',max='**',
            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
@@ -2345,7 +2036,7 @@ AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 101,sd_prod=affe_char_cine_f_pr
          ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 13/10/2009   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 13/04/2010   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -2372,19 +2063,23 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
                              'FORCE_FACE','FORCE_ARETE','FORCE_CONTOUR','FORCE_INTERNE',
                              'PRES_REP','FORCE_POUTRE','FORCE_COQUE','LIAISON_OBLIQUE',
                              'FORCE_ELEC','INTE_ELEC','PESANTEUR','ROTATION','IMPE_FACE',
-                             'VITE_FACE','RELA_CINE_BP','EPSI_INIT','CONTACT',
+                             'VITE_FACE','RELA_CINE_BP','EPSI_INIT',
                              'LIAISON_GROUP','LIAISON_UNIF','FLUX_THM_REP','LIAISON_SOLIDE',
                              'LIAISON_ELEM','ONDE_FLUI','LIAISON_CHAMNO','VECT_ASSE','LIAISON_COQUE',
                              'LIAISON_MAIL','LIAISON_CYCL','FORCE_TUYAU',
-                             'EFFE_FOND','EVOL_CHAR','ARLEQUIN','DDL_POUTRE',
-                             'LIAISON_UNILATER'),
+                             'EFFE_FOND','EVOL_CHAR','ARLEQUIN','DDL_POUTRE',),
                          ),
          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
          EVOL_CHAR       =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul",
                                typ=evol_char ),
 
-         PESANTEUR       =SIMP(statut='f',typ='R',fr="Champ de pesanteur",min=4,max=4),
+         PESANTEUR       =FACT(statut='f',max='**',fr="Champ de pesanteur",
+            GROUP_MA         =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+            MAILLE           =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+            GRAVITE          =SIMP(statut='o',typ='R',min=1,max=1),
+            DIRECTION        =SIMP(statut='o',typ='R',min=3,max=3),),
+
          METHODE         =SIMP(statut='c',typ='TXM',fr="Stratégie de résolution pour les déplacements imposés",
                                into=('DUALISATION',),defaut='DUALISATION',),
                                # METHODE='ELIMINATION' est traité dans le fortran mais dangereux actuellement
@@ -2399,8 +2094,8 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
                                  'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
                                  'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
                                  'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
-                                 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX',
-                                 'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
+                                 'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON',
+                                 'H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
                                  'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22',
                                  'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23',
                                  'PRES31','PRES32','PRES33',),),
@@ -2456,9 +2151,6 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
              WI1             =SIMP(statut='f',typ='R' ),
              WO1             =SIMP(statut='f',typ='R' ),
              GONF            =SIMP(statut='f',typ='R' ),
-             DCX             =SIMP(statut='f',typ='R' ),
-             DCY             =SIMP(statut='f',typ='R' ),
-             DCZ             =SIMP(statut='f',typ='R' ),
              H1X             =SIMP(statut='f',typ='R' ),
              H1Y             =SIMP(statut='f',typ='R' ),
              H1Z             =SIMP(statut='f',typ='R' ),
@@ -2634,19 +2326,28 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
            LIAISON_MAIL    =FACT(statut='f',max='**',
              fr="Définit des relations linéaires permettant de recoller deux bords d'une structure",
              regles=(AU_MOINS_UN('GROUP_MA_MAIT','MAILLE_MAIT'),
-                     AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL'),
-                     PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),),
+                     AU_MOINS_UN('GROUP_MA_ESCL','MAILLE_ESCL','GROUP_NO_ESCL','NOEUD_ESCL')),
               GROUP_MA_MAIT   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
               MAILLE_MAIT     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
               GROUP_MA_ESCL   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
               MAILLE_ESCL     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
               GROUP_NO_ESCL   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
               NOEUD_ESCL      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+
+              TYPE_RACCORD    =SIMP(statut='o',typ='TXM',defaut="MASSIF",into=("MASSIF","COQUE","COQUE_MASSIF","MASSIF_COQUE",)),
+
+              b_MASSIF     =BLOC ( condition = "TYPE_RACCORD == 'MASSIF'",
+                 regles=( PRESENT_PRESENT('DDL_MAIT','DDL_ESCL'),),
               TRAN            =SIMP(statut='f',typ='R',max=3 ),
               ANGL_NAUT       =SIMP(statut='f',typ='R',max=3 ),
               CENTRE          =SIMP(statut='f',typ='R',max=3 ),
               DDL_MAIT        =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
               DDL_ESCL        =SIMP(statut='f',typ='TXM',into=("DNOR",) ),
+              ),
+              b_COQUE_MASSIF =BLOC ( condition = "TYPE_RACCORD == 'COQUE_MASSIF'",
+                 EPAIS           =SIMP(statut='o',typ='R'),
+                 CHAM_NORMALE    =SIMP(statut='o',typ=cham_no_sdaster),
+              ),
               ELIM_MULT       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
          ),
 
@@ -2727,44 +2428,13 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
 
          LIAISON_XFEM      =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
 
-         CONTACT_XFEM      =SIMP(statut='f',typ=char_meca,min=1,max=1,),
+         CONTACT_XFEM      =SIMP(statut='f',typ=char_contact,min=1,max=1,),
 
 
 #         SIMP(statut='f',typ='TXM',defaut="NON" ),
 
          VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster ),
 #
-# LIAISON UNILATERALE
-#
-         LIAISON_UNILATER=FACT(statut='f',max='**',
-           fr="Définit les zones soumises à des conditions de liaison unilaterale (inegalite sur un DDL)",
-           regles=(UN_PARMI('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
-
-           GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
-           MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
-           NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
-
-           SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-           SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-
-           NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
-
-           NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
-
-           COEF_IMPO       =SIMP(statut='f',typ='R'),
-           COEF_MULT       =SIMP(statut='f',typ='R',max='**'),
-
-           METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",
-                                 into=("CONTRAINTE",) ),
-
-
-        ),
-#
-# CONTACT
-#
-         CONTACT         = C_CONTACT(),
-#
 # FORCES
 #
          FORCE_NODALE    =FACT(statut='f',fr="Applique à des noeuds des forces nodales",max='**',
@@ -2977,8 +2647,6 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
              PLAN            =SIMP(statut='f',typ='TXM',defaut="MAIL",into=("SUP","INF","MOY","MAIL",) ),
            ),
 
-
-
            LIAISON_COQUE   =FACT(statut='f',max='**',
              fr="Permet de représenter le raccord entre des éléments de coques au moyen des relations linéaires",
              GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
@@ -3176,7 +2844,7 @@ AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op=   7,sd_prod=char_meca,
          ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 05/05/2009   AUTEUR DESOZA T.DESOZA 
+#& MODIF COMMANDE  DATE 13/04/2010   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -3204,7 +2872,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
                             'PRES_REP','FORCE_POUTRE','VITE_FACE','IMPE_FACE','ONDE_PLANE',
                             'LIAISON_OBLIQUE','EPSI_INIT','LIAISON_GROUP','LIAISON_UNIF',
                             'LIAISON_SOLIDE','FORCE_COQUE','LIAISON_COQUE','FORCE_TUYAU',
-                            'EFFE_FOND','FLUX_THM_REP','LIAISON_UNILATER'),),
+                            'EFFE_FOND','FLUX_THM_REP',),),
          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
          MODELE          =SIMP(statut='o',typ=modele_sdaster),
@@ -3217,7 +2885,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
                +" par l'intermédiaire d'un concept fonction ",
            regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
                    AU_MOINS_UN('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
-                               'TEMP','PRE1','PRE2','LIAISON','DCX','DCY','DCZ','H1X',
+                               'TEMP','PRE1','PRE2','LIAISON','H1X',
                                'H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
                                'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C'),),
            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
@@ -3238,9 +2906,6 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            TEMP            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            PRE1            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            PRE2            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-           DCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-           DCY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-           DCZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            H1X             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            H1Y             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            H1Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
@@ -3361,33 +3026,6 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
            CENTRE          =SIMP(statut='f',typ='R',max=3),
          ),
-#
-# LIAISON UNILATERALE
-#
-         LIAISON_UNILATER=FACT(statut='f',max='**',
-           fr="Définit les zones soumises à des conditions de liaison unilaterale (inegalite sur un DDL)",
-           regles=(UN_PARMI('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
-
-           GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
-           MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
-           NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
-
-           SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-           SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-
-           NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
-
-           NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
-
-           COEF_IMPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-           COEF_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
-
-           METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",
-                                 into=("CONTRAINTE",) ),
-
-
-        ),
 
           LIAISON_UNIF    =FACT(statut='f',max='**',
            fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds",
@@ -4268,7 +3906,7 @@ AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
 )  ;
 
 
-#& MODIF COMMANDE  DATE 16/06/2009   AUTEUR PELLET J.PELLE
+#& MODIF COMMANDE  DATE 20/04/2010   AUTEUR JAUBERT A.JAUBER
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4489,7 +4127,14 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster,
                                   "3D_HH2D",         # RESP. : GRANET S.GRANET
                                   "3D_HH2S",         # RESP. : GRANET S.GRANET
                                   "VF1",             # RESP. : GRANET S.GRANET
-                                                                     )  )  ),
+                                  "3D_HH2SUDM",      # RESP. : GRANET S.GRANET
+                                  "3D_HH2SUDA",      # RESP. : GRANET S.GRANET
+                                  "3D_HH2SUC",       # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HH2SUDM",  # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HH2SUC",   # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HH2SUDA",  # RESP. : GRANET S.GRANET
+                                  "2D_JOINT_HMS",
+                                                                      )  )  ),
 
                 b_thermique     =BLOC( condition = "PHENOMENE=='THERMIQUE'",
                                         fr="modélisations thermiques",
@@ -4726,7 +4371,7 @@ ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene,
            ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#& MODIF COMMANDE  DATE 14/12/2009   AUTEUR DEVESA G.DEVESA 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4749,7 +4394,18 @@ CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster,
                      fr="Création d'une liste d'amortissements modaux calculés selon la règle du RCC-G",
                      reentrant='n',
             UIinfo={"groupes":("Résolution",)},
-         ENER_SOL        =FACT(statut='o',
+       regles=(EXCLUS('AMOR_RAYLEIGH','ENER_SOL',),
+               EXCLUS('AMOR_RAYLEIGH','AMOR_INTERNE',),
+               EXCLUS('AMOR_RAYLEIGH','AMOR_SOL',),
+               PRESENT_PRESENT('ENER_SOL','AMOR_INTERNE'),
+               PRESENT_PRESENT('ENER_SOL','AMOR_SOL'),
+               ),
+         AMOR_RAYLEIGH   =FACT(statut='f',
+           AMOR_ALPHA      =SIMP(statut='o',typ='R'),
+           AMOR_BETA       =SIMP(statut='o',typ='R'),
+           MODE_MECA       =SIMP(statut='o',typ=mode_meca ),
+         ),
+         ENER_SOL        =FACT(statut='f',
            regles=(UN_PARMI('GROUP_NO_RADIER','GROUP_MA_RADIER'),
                    PRESENT_ABSENT('COEF_GROUP','FONC_GROUP'),
 #  Peut-on remplacer les deux règles suivantes par un ENSEMBLE_('KRX','KRY','KRZ')
@@ -4774,12 +4430,12 @@ CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster,
            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
            COOR_CENTRE     =SIMP(statut='f',typ='R',max=3),
          ),
-         AMOR_INTERNE    =FACT(statut='o',
+         AMOR_INTERNE    =FACT(statut='f',
            ENER_POT        =SIMP(statut='o',typ=table_sdaster ),
            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
            AMOR_REDUIT     =SIMP(statut='o',typ='R',max='**'),
          ),
-         AMOR_SOL        =FACT(statut='o',
+         AMOR_SOL        =FACT(statut='f',
            AMOR_REDUIT     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
            FONC_AMOR_GEO   =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
            HOMOGENE        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
@@ -4919,31 +4575,31 @@ CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op=  92,sd_prod=calc_char_seisme_pr
          ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 02/11/2009   AUTEUR ASSIRE A.ASSIRE 
+#& MODIF COMMANDE  DATE 21/04/2010   AUTEUR BOTTONI M.BOTTONI 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2009  EDF R&D                  WWW.CODE-ASTER.ORG
-# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
-# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
-# (AT YOUR OPTION) ANY LATER VERSION.                                                  
-#                                                                       
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
-#                                                                       
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE MICHEL S.MICHEL
+# RESPONSABLE BOTTONI M.BOTTONI
 
 from Macro.calc_ecrevisse_ops import calc_ecrevisse_ops
 
 def calc_ecrevisse_prod(self,CHARGE_MECA,CHARGE_THER1,CHARGE_THER2,TABLE,DEBIT,**args):
 
-  self.type_sdprod(CHARGE_MECA,char_meca)   
+  self.type_sdprod(CHARGE_MECA,char_meca)
   self.type_sdprod(CHARGE_THER1,char_ther)
   self.type_sdprod(CHARGE_THER2,char_ther)
   self.type_sdprod(TABLE,table_sdaster)
@@ -4955,6 +4611,7 @@ def calc_ecrevisse_prod(self,CHARGE_MECA,CHARGE_THER1,CHARGE_THER2,TABLE,DEBIT,*
 CALC_ECREVISSE=MACRO(nom="CALC_ECREVISSE",op=calc_ecrevisse_ops,sd_prod=calc_ecrevisse_prod,reentrant='n',
                      UIinfo={"groupes":("Outils metier",)},fr="Procedure de couplage avec Ecrevisse",
 
+        regles             = (UN_PARMI('LOGICIEL','VERSION'),),
 
 #      CONCEPTS SORTANTS : 2 CHARGEMENTS THERMIQUE + 1 MECANIQUE + 2 TABLES POUR LE POST-TRAITEMENT
 #      ********************************************
@@ -4963,9 +4620,9 @@ CALC_ECREVISSE=MACRO(nom="CALC_ECREVISSE",op=calc_ecrevisse_ops,sd_prod=calc_ecr
          CHARGE_THER2       =SIMP(statut='o',typ=CO),
          TABLE              =SIMP(statut='o',typ=CO),
          DEBIT              =SIMP(statut='o',typ=CO),
-         
 
-#      MODELES MECANIQUES 
+
+#      MODELES MECANIQUES
 #      ********************************************
          MODELE_MECA        =SIMP(statut='o',typ=modele_sdaster),
          MODELE_THER        =SIMP(statut='o',typ=modele_sdaster),
@@ -4985,14 +4642,14 @@ CALC_ECREVISSE=MACRO(nom="CALC_ECREVISSE",op=calc_ecrevisse_ops,sd_prod=calc_ecr
 #      *******************************************
 
          FISSURE            =FACT(statut='o',min=1,max='**',
-           PREFIXE_FICHIER     =SIMP(statut='f',typ='TXM',validators=LongStr(1,8), defaut="FISSURE1"),
-           GROUP_MA            =SIMP(statut='o',typ=grma,validators=NoRepeat(),max=2,
+           PREFIXE_FICHIER     =SIMP(statut='f',typ='TXM',validators=LongStr(1,8),),
+           GROUP_MA            =SIMP(statut='o',typ=grma,validators=NoRepeat(),min=2,max=2,
                                      fr="Groupe(s) des noeuds definissant les levres de la fissure"),
-           GROUP_NO_ORIG       =SIMP(statut='o',typ=grno,validators=NoRepeat(),max=2),
-           GROUP_NO_EXTR       =SIMP(statut='o',typ=grno,validators=NoRepeat(),max=2),
+           GROUP_NO_ORIG       =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2),
+           GROUP_NO_EXTR       =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2),
            ZETA                =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]" ),
            RUGOSITE            =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]" ),
-           OUVERT_REMANENTE    =SIMP(statut='o',typ='R',val_min=0.,defaut=10.E-6,fr="Ouverture remanente"),
+           OUVERT_REMANENTE    =SIMP(statut='o',typ='R',val_min=0.,fr="Ouverture remanente"),
            TORTUOSITE          =SIMP(statut='f',typ='R',defaut=1.0, val_min=0., val_max=1.0,
                                        fr="Coefficient de tortuosite de la fissure" ),
            SECTION             =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]" ),
@@ -5064,7 +4721,7 @@ CALC_ECREVISSE=MACRO(nom="CALC_ECREVISSE",op=calc_ecrevisse_ops,sd_prod=calc_ecr
            b_transchal         =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique",
              XMINCH              =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"),
              XMAXCH              =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"),
-           ),  
+           ),
          ),
 
 
@@ -5085,14 +4742,14 @@ CALC_ECREVISSE=MACRO(nom="CALC_ECREVISSE",op=calc_ecrevisse_ops,sd_prod=calc_ecr
 
          COURBES            =SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE",
                                   fr="Generation eventuelle des courbes" ),
-         LOGICIEL           =SIMP(statut='f',typ='TXM',validators=LongStr(1,255) ),
-         VERSION            =SIMP(statut='f',typ='TXM',defaut="3.1.1",into = ("3.1.1",)),
+         LOGICIEL           =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),),
+         VERSION            =SIMP(statut='f',typ='TXM',defaut="3.1.2",into = ("3.1.1","3.1.2")),
          ENTETE             =SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ),
          IMPRESSION         =SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ),
-         INFO               =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3) ),
+         INFO               =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 
 )  ;
-#& MODIF COMMANDE  DATE 02/11/2009   AUTEUR LEBOUVIER F.LEBOUVIER 
+#& MODIF COMMANDE  DATE 27/04/2010   AUTEUR DESROCHES X.DESROCHES 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5190,7 +4847,7 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
                               #  contraintes
                            into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
                                   "SIPO_ELNO_DEPL","EFGE_ELNO_DEPL","EFGE_ELNO_CART","SIGM_ELNO_CART",
-                                  "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF","SIGM_ELNO_TUYO","ARCO_ELNO_SIGM",
+                                  "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF","SIGM_ELNO_TUYO","PROJ_ELEM_SIGM",
                               # déformations
                                  "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELGA_DEPL","EPSG_ELNO_DEPL",
                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",
@@ -5381,14 +5038,15 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
 #    statique ou dynamique non lineaire : evol_noli
      b_noli          =BLOC( condition = "AsType(RESULTAT) == evol_noli",fr="options mecaniques non lineaires",
           TYPE_OPTION =SIMP(statut='f',typ='TXM',defaut='TOUTES',fr="type d'options mecaniques non lineaires",
-                           into=("SIGM_MASSIF","SIGM_STRUCT","EPSI","ENER","CRIT",
+                           into=("SIGM_MASSIF","SIGM_STRUCT","EPSI","ENER","CRIT","FLUX",
                                  "VARI","INDI_ERREUR","TOUTES","AUTRES"),
                           ),
-          b_toutes =BLOC( condition = "TYPE_OPTION == 'TOUTES'",fr="toutes les options evol elas",
+          b_toutes =BLOC( condition = "TYPE_OPTION == 'TOUTES'",fr="toutes les options evol noli",
                OPTION      =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
-                           into=( "SIEF_ELNO_ELGA",
-                                  "SIGM_ELNO_TUYO","SIGM_ELNO_COQU","ARCO_ELNO_SIGM",
+                           into=( "SIEF_ELNO_ELGA","PROJ_ELEM_SIGM",
+                                  "SIGM_ELNO_TUYO","SIGM_ELNO_COQU","PROJ_ELNO_SIGM",
                                   "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF","EFGE_ELNO_CART",
+                                  "FLHN_ELGA",
                                   # EPSI
                                   "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL",
                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","EPMG_ELNO_DEPL","EPMG_ELGA_DEPL",
@@ -5451,6 +5109,13 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
                          ),
 
+          b_flux =BLOC( condition = "TYPE_OPTION == 'FLUX'",
+                                      fr="option de calcul de flux hydraulique 2D et 3D",
+               OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
+                              #  flux hydraulique
+                           into=( "FLHN_ELGA",),),
+                            ),
+
           b_sigm_massif =BLOC( condition = "TYPE_OPTION == 'SIGM_MASSIF'",
                                       fr="options de contraintes non lin 2D et 3D",
                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
@@ -5634,7 +5299,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
      INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
      TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 ) ;
-#& MODIF COMMANDE  DATE 11/05/2009   AUTEUR NISTOR I.NISTOR 
+#& MODIF COMMANDE  DATE 28/01/2010   AUTEUR BODEL C.BODEL 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2008  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5657,18 +5322,13 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
 
 from Macro.calc_essai_ops import calc_essai_ops
 
-def calc_essai_prod(self,RESU_FLUDELA,RESU_IDENTIFICATION,RESU_TURBULENT, RESU_MODIFSTRU,**args):
+def calc_essai_prod(self,RESU_IDENTIFICATION,
+                    RESU_MODIFSTRU,
+                    **args):
 
-    if RESU_FLUDELA != None:
-        for res in RESU_FLUDELA:
-            self.type_sdprod(res['TABLE'],table_sdaster)
     if RESU_IDENTIFICATION != None:
         for res in RESU_IDENTIFICATION:
             self.type_sdprod(res['TABLE'],table_fonction)
-    if RESU_TURBULENT != None:
-        for res in RESU_TURBULENT:
-            self.type_sdprod(res['FONCTION'],fonction_sdaster)
-
 
     MTYPES = {
         'MODELE'    : modele_sdaster,
@@ -5698,14 +5358,7 @@ CALC_ESSAI = MACRO(nom       = 'CALC_ESSAI',
                    reentrant = 'n',
                    UIinfo    = {"groupes":("Outils métier",)},
                    fr        = "Outil de post-traitement interactif pour Meidee ",
-                   UNITE_FIMEN = SIMP( statut='f',typ='I',max='**' ),
                    INTERACTIF  = SIMP( statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI' ),
-                   RESU_FLUDELA        = FACT( statut='f',max='**',
-                                               TABLE = SIMP(statut='f', typ=CO),
-                                             ),
-                   RESU_TURBULENT      = FACT( statut='f',max=1,
-                                               FONCTION = SIMP(statut='f', typ=CO),
-                                             ),
                    RESU_IDENTIFICATION = FACT( statut='f',max='**',
                                                TABLE = SIMP(statut='f', typ=CO),
                                              ),
@@ -5723,7 +5376,6 @@ CALC_ESSAI = MACRO(nom       = 'CALC_ESSAI',
                                           BASE_LMME=SIMP(statut='f',typ=CO,defaut=None),
                                           MODE_STA=SIMP(statut='f',typ=CO,defaut=None),
                                          ),
-                   UNITE_RESU = SIMP( statut='f',typ='I'),
 
                    b_inter    = BLOC( condition="INTERACTIF=='NON'",
 
@@ -5739,21 +5391,6 @@ CALC_ESSAI = MACRO(nom       = 'CALC_ESSAI',
                                                                               EPS = SIMP(statut='f',typ='R', defaut = 0.)
                                                                        )
                                                     ),
-                             MEIDEE_FLUDELA   = FACT( statut='f', max='**',
-                                                      MESURE1 = SIMP(statut='o',typ=mode_meca),
-                                                      MESURE2 = SIMP(statut='o',typ=mode_meca),
-                                                      MESURE3 = SIMP(statut='o',typ=mode_meca),
-                                                      BASE    = SIMP(statut='o',typ=mode_meca),
-                                                    ),
-                             MEIDEE_TURBULENT = FACT( statut='f', max='**',
-                                                      INTE_SPEC      = SIMP(statut='o',typ=table_sdaster),
-                                                      NUME_MODE_DECONV = SIMP(statut='f',typ='I',validators=NoRepeat(),
-                                                                              max=1,defaut=0),
-                                                      NUME_MODE_LOCAL  = SIMP(statut='f',typ='I',validators=NoRepeat(),
-                                                                              max='**',defaut=0),
-                                                      BASE = SIMP(statut='o',typ=mode_meca),
-                                                      MESURE = SIMP(statut='o',typ=mode_meca),
-                                                    ),
                              IDENTIFICATION   = FACT( statut='f',max='**',   
                                                       ALPHA   = SIMP(statut='f',typ='R', defaut = 0.),
                                                       EPS     = SIMP(statut='f',typ='R', defaut = 0.),
@@ -5776,7 +5413,6 @@ CALC_ESSAI = MACRO(nom       = 'CALC_ESSAI',
                                                  NUME_MODE_CALCUL = SIMP(statut='o', typ='I',max='**'),
                                                  MODELE_MODIF = SIMP(statut='o', typ=modele_sdaster),
                                                ),
-
                              # Si on realise une modification structurale, on donne les DDL capteurs et interface
                              b_modif   = BLOC( condition="MODIFSTRUCT!=None",
                                    GROUP_NO_CAPTEURS  = FACT( statut='f', max='**',
@@ -6326,7 +5962,7 @@ CALC_FONCTION=MACRO(nom="CALC_FONCTION",op=calc_fonction_ops,sd_prod=calc_foncti
          PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )
-#& MODIF COMMANDE  DATE 13/10/2009   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 18/01/2010   AUTEUR TARDIEU N.TARDIEU 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6389,10 +6025,15 @@ CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene,
              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
            ),
-           b_gcpc          =BLOC (condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
-             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
-             NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+           b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","LDLT_SP",),defaut="LDLT_INC" ),
+             b_ldltinc       =BLOC(condition = "PRE_COND == 'LDLT_INC' ", fr="Paramètres de la factorisation incomplète",
+               NIVE_REMPLISSAGE    =SIMP(statut='f',typ='I',defaut= 0 ),
+               RENUM               =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+               ),
+             b_simple        =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision",
+               REAC_PRECOND        =SIMP(statut='f',typ='I',defaut=5, ),
+               ),
              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
            ),
@@ -6421,7 +6062,7 @@ CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene,
                            ),
 
            ) ;
-#& MODIF COMMANDE  DATE 20/10/2008   AUTEUR GALENNE E.GALENNE 
+#& MODIF COMMANDE  DATE 08/12/2009   AUTEUR PROIX J-M.PROIX 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6519,7 +6160,7 @@ CALC_G=OPER(nom="CALC_G",op=100,sd_prod=table_sdaster,
                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
                                      into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC","ELAS_VMIS_PUIS") ),
                CALCUL_CONTRAINTE =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-               DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ),
+               DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GROT_GDEP",) ),
       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
                TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
                GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
@@ -6603,7 +6244,7 @@ CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=table_fonction,
          TITRE           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 13/10/2009   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 18/01/2010   AUTEUR TARDIEU N.TARDIEU 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6658,10 +6299,15 @@ CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r,
              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
            ),
-           b_gcpc          =BLOC (condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
-             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
-             NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+           b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","LDLT_SP",),defaut="LDLT_INC" ),
+             b_ldltinc       =BLOC(condition = "PRE_COND == 'LDLT_INC' ", fr="Paramètres de la factorisation incomplète",
+               NIVE_REMPLISSAGE    =SIMP(statut='f',typ='I',defaut= 0 ),
+               RENUM               =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+               ),
+             b_simple        =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision",
+               REAC_PRECOND        =SIMP(statut='f',typ='I',defaut=5, ),
+               ),
              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
            ),
@@ -6898,6 +6544,84 @@ CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o',
          OPTION          =SIMP(statut='f',typ='TXM'     
                              ,into=("META_ELNO_TEMP",) ),
 )  ;
+#& MODIF COMMANDE  DATE 16/02/2010   AUTEUR COURTOIS M.COURTOIS 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2010  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
+# (AT YOUR OPTION) ANY LATER VERSION.                                                  
+#                                                                       
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
+#                                                                       
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
+# ======================================================================
+# RESPONSABLE COURTOIS M.COURTOIS
+
+from Miss.calc_miss_ops import calc_miss_ops
+
+CALC_MISS = MACRO(nom="CALC_MISS",op=calc_miss_ops,
+                  fr="Préparation des données puis exécution du logiciel MISS3D",
+                  UIinfo={"groupes":("Résolution",)},
+
+   OPTION      = FACT(statut='o',
+                      regles=(UN_PARMI('TOUT','MODULE'),),
+      TOUT        = SIMP(statut='f',typ='TXM',into=("OUI",)),
+      MODULE      = SIMP(statut='f',typ='TXM',into=("MISS_IMPE",)),     # "PRE_MISS","MISS_EVOL",
+   ),
+   TABLE_SOL   = SIMP(statut='f', typ=table_sdaster),
+
+   PROJET      = SIMP(statut='o', typ='TXM'),  
+   REPERTOIRE  = SIMP(statut='f', typ='TXM'),
+   VERSION     = SIMP(statut='f', typ='TXM', into=("V1_4",), defaut="V1_4"),
+
+   UNITE_IMPR_ASTER = SIMP(statut='f',typ='I',defaut=25),  
+#   UNITE_OPTI_MISS  = SIMP(statut='f',typ='I',defaut=26),  
+#   UNITE_MODELE_SOL = SIMP(statut='f',typ='I',defaut=27),  
+   UNITE_RESU_IMPE  = SIMP(statut='f',typ='I',defaut=30),
+   UNITE_RESU_FORC  = SIMP(statut='f',typ='I',defaut=0),
+   PARAMETRE   = FACT(statut='f',
+                      regles=(PRESENT_PRESENT('OFFSET_MAX','OFFSET_NB'),
+                              PRESENT_PRESENT('FREQ_MIN','FREQ_MAX','FREQ_PAS'),
+                              PRESENT_PRESENT('LFREQ_NB','LFREQ_LISTE'),
+                              UN_PARMI('FREQ_MIN', 'LFREQ_NB'),
+                              PRESENT_PRESENT('CONTR_NB','CONTR_LISTE'),
+                              PRESENT_PRESENT('SPEC_MAX','SPEC_NB'),),
+      FREQ_MIN       = SIMP(statut='f',typ='R'), 
+      FREQ_MAX       = SIMP(statut='f',typ='R'),
+      FREQ_PAS       = SIMP(statut='f',typ='R'),
+      LFREQ_NB       = SIMP(statut='f',typ='I'),
+      LFREQ_LISTE    = SIMP(statut='f',typ='R',max='**'),
+      Z0             = SIMP(statut='f',typ='R',defaut=0.), 
+      SURF           = SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"),
+      ISSF           = SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"),
+      TYPE           = SIMP(statut='f',typ='TXM',into=("BINAIRE","ASCII",),defaut="ASCII"),
+      RFIC           = SIMP(statut='f',typ='R',defaut=0.),
+      DIRE_ONDE      = SIMP(statut='f',typ='R',max='**'),
+
+      FICH_RESU_IMPE = SIMP(statut='f',typ='TXM'),
+      FICH_RESU_FORC = SIMP(statut='f',typ='TXM'),
+
+      ALGO           = SIMP(statut='f',typ='TXM',into=("DEPL","REGU")),
+      DREF           = SIMP(statut='f',typ='R'),
+      SPEC_MAX       = SIMP(statut='f',typ='R'),
+      SPEC_NB        = SIMP(statut='f',typ='I'),
+      OFFSET_MAX     = SIMP(statut='f',typ='R'),
+      OFFSET_NB      = SIMP(statut='f',typ='I'),
+
+      FICH_POST_TRAI = SIMP(statut='f',typ='TXM'),
+      CONTR_NB       = SIMP(statut='f',typ='I'),
+      CONTR_LISTE    = SIMP(statut='f',typ='R',max='**'),
+   ),
+   INFO        = SIMP(statut='f', typ='I', defaut=1, into=(1,2)),
+)
+
 #& MODIF COMMANDE  DATE 27/04/2009   AUTEUR NISTOR I.NISTOR 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -7066,7 +6790,7 @@ CALC_MODE_ROTATION=MACRO(nom="CALC_MODE_ROTATION",op=calc_mode_rotation_ops,sd_p
                   PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3 ),
                   STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),),
 );      
-#& MODIF COMMANDE  DATE 02/11/2009   AUTEUR LEBOUVIER F.LEBOUVIER 
+#& MODIF COMMANDE  DATE 27/04/2010   AUTEUR DESROCHES X.DESROCHES 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7132,7 +6856,7 @@ CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='f',
                                      "EPSA_NOEU",
                                      "EPSG_NOEU_DEPL",
                                      "EPSI_NOEU_DEPL",
-                                     "EPSP_NOEU"     ,"EPSP_NOEU_ZAC",
+                                     "EPSP_NOEU"     ,
                                      "EPVC_NOEU","EPFD_NOEU","EPFP_NOEU","EPFP_NOEU",
                                      "EQUI_NOEU_EPME","EQUI_NOEU_EPSI","EQUI_NOEU_SIGM",
                                      "ERRE_NOEU_ELEM","QIRE_NOEU_ELEM",
@@ -7143,13 +6867,12 @@ CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='f',
                                      "PMPB_NOEU_SIEF",
                                      "PRES_NOEU_DBEL","PRES_NOEU_IMAG","PRES_NOEU_REEL",
                                      "RADI_NOEU_SIGM",
-                                     "SIEF_NOEU"     ,"SIEF_NOEU_ELGA",
+                                     "SIEF_NOEU_ELGA",
                                      "SIGM_NOEU_CART","SIGM_NOEU_COQU","SIGM_NOEU_DEPL",
-                                     "SIGM_NOEU_SIEF","SIGM_NOEU_ZAC",
+                                     "SIGM_NOEU_SIEF",
                                      "SIPO_NOEU_DEPL","SIPO_NOEU_SIEF",
                                      "SIRE_NOEU_DEPL",
-                                     "VARI_NOEU","EXTR_NOEU_VARI","VARI_NOEU_ELGA",
-                                     "ARCO_NOEU_SIGM",) ),
+                                     "VARI_NOEU","EXTR_NOEU_VARI","VARI_NOEU_ELGA",) ),
 
          b_forc_reac     =BLOC(condition = """(OPTION == 'FORC_NODA') or (type(OPTION) == type(()) and 'FORC_NODA' in OPTION) or\
  (OPTION == 'REAC_NODA') or (type(OPTION) == type(()) and 'REAC_NODA' in OPTION)""",
@@ -7176,12 +6899,94 @@ CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='f',
          GROUP_NO_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
          NOEUD_RESU      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 07/07/2009   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 03/05/2010   AUTEUR PROIX J-M.PROIX 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
-# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
-# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# COPYRIGHT (C) 1991 - 2010  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
+# (AT YOUR OPTION) ANY LATER VERSION.                                                  
+#                                                                       
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
+#                                                                       
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
+# ======================================================================
+# RESPONSABLE PROIX J-M.PROIX
+CALC_POINT_MAT=OPER(nom="CALC_POINT_MAT",op=33,sd_prod=table_sdaster,reentrant='f',
+            UIinfo={"groupes":("Résolution",)},
+            fr="intégrer une loi de comportement",
+     MATER           =SIMP(statut='o',typ=mater_sdaster,max=1),
+     COMP_INCR       =C_COMP_INCR(),
+     COMP_ELAS       =FACT(statut='f',max='**',
+           RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
+           ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
+           RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
+                                 into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC","ELAS_VMIS_PUIS","ELAS_HYPER")),
+           DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT",) ),
+         ),
+     INCREMENT       =C_INCREMENT(),
+     NEWTON          =C_NEWTON(),
+     CONVERGENCE     =C_CONVERGENCE(),
+
+    # --MASSIF : orientation du materiau (monocristal, orthotropie)
+     MASSIF          =FACT(statut='f',max='**',
+                    regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),),
+         ANGL_REP        =SIMP(statut='f',typ='R',min=1,max=3),
+         ANGL_EULER      =SIMP(statut='f',typ='R',min=1,max=3),
+      ),
+    ## ANGLE : rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées.
+     ANGLE      =SIMP(statut='f',typ='R',max=1, defaut=0.),
+     INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2)),
+     
+     regles=(UN_PARMI('SIXX','EPXX'),UN_PARMI('SIYY','EPYY'),UN_PARMI('SIZZ','EPZZ'),
+             UN_PARMI('SIXY','EPXY'),UN_PARMI('SIXZ','EPXZ'),UN_PARMI('SIYZ','EPYZ'),),     
+     SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+     SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+     SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+     SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+     SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+     SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+     EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+     EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+     EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+     EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+     EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+     EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+
+     SIGM_INIT=FACT(statut='f',
+            SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
+            SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
+            SIZZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
+            SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
+            SIXZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
+            SIYZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
+                       ),
+     EPSI_INIT=FACT(statut='f',
+            EPXX = SIMP(statut='o',typ='R',max=1),
+            EPYY = SIMP(statut='o',typ='R',max=1),
+            EPZZ = SIMP(statut='o',typ='R',max=1),
+            EPXY = SIMP(statut='o',typ='R',max=1),
+            EPXZ = SIMP(statut='o',typ='R',max=1),
+            EPYZ = SIMP(statut='o',typ='R',max=1),
+                       ),
+     VARI_INIT=FACT(statut='f',
+            VALE = SIMP(statut='o',typ='R',max='**'),
+                       ),
+      NB_VARI_TABLE  =SIMP(statut='f',typ='I',max=1,),
+     );
+
+#& MODIF COMMANDE  DATE 07/07/2009   AUTEUR REZETTE C.REZETTE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
 # THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
 # (AT YOUR OPTION) ANY LATER VERSION.
 #
@@ -7250,7 +7055,7 @@ CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
 
          COMP_INCR       =C_COMP_INCR(),
   )  ;
-#& MODIF COMMANDE  DATE 21/10/2008   AUTEUR CORUS M.CORUS 
+#& MODIF COMMANDE  DATE 28/01/2010   AUTEUR BODEL C.BODEL 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2008  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7299,7 +7104,7 @@ CALC_SPEC=MACRO(nom="CALC_SPEC",op= calc_spec_ops,sd_prod=table_fonction,
          INTERSPE        =FACT(statut='f',
            FENETRE         =SIMP(statut='f',typ='TXM',defaut="RECT",into=("RECT","HAMM","HANN","EXPO","PART",)),
            BLOC_DEFI_FENE  =BLOC(condition = "FENETRE == 'EXPO' or FENETRE == 'PART' ", 
-#             DEFI_FENE       =SIMP(statut='f',typ='R',max='**'),
+             DEFI_FENE       =SIMP(statut='f',typ='R',max='**'),
                                  ),
                               ),
 #-- Cas des transferts - estimateurs H1 / H2 / Hv + Coherence --#
@@ -7307,13 +7112,15 @@ CALC_SPEC=MACRO(nom="CALC_SPEC",op= calc_spec_ops,sd_prod=table_fonction,
            ESTIM           =SIMP(statut='f',typ='TXM',defaut="H1",into=("H1","H2","CO",)),
            REFER           =SIMP(statut='o',typ='I',max='**'),
            FENETRE         =SIMP(statut='f',typ='TXM',defaut="RECT",into=("RECT","HAMM","HANN","EXPO","PART",)),
-           DEFI_FENE       =SIMP(statut='f',typ='R',max='**'),
-
+#           DEFI_FENE       =SIMP(statut='f',typ='R',max='**'),
+           BLOC_DEFI_FENE  =BLOC(condition = "FENETRE == 'EXPO' or FENETRE == 'PART' ", 
+             DEFI_FENE       =SIMP(statut='f',typ='R',max='**'),
+                                 ),
                               ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 );
-#& MODIF COMMANDE  DATE 13/10/2009   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 15/03/2010   AUTEUR COURTOIS M.COURTOIS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7359,7 +7166,7 @@ CALC_TABLE=MACRO(nom="CALC_TABLE",op=calc_table_ops, sd_prod=calc_table_prod,
    ACTION = FACT(statut='o', max='**',
                     fr = "Suite des opérations à effectuer sur la table",
       OPERATION = SIMP(statut='o', typ='TXM',
-                  into=('FILTRE', 'EXTR', 'RENOMME', 'TRI', 'COMB', 'AJOUT', 'OPER',)),
+                  into=('FILTRE', 'EXTR', 'RENOMME', 'TRI', 'COMB', 'AJOUT', 'OPER', 'SUPPRIME')),
       
       b_filtre = BLOC(condition="OPERATION == 'FILTRE'",
                       fr="Sélectionne les lignes de la table vérifiant un critère",
@@ -7389,6 +7196,12 @@ CALC_TABLE=MACRO(nom="CALC_TABLE",op=calc_table_ops, sd_prod=calc_table_prod,
                          fr="Noms des colonnes à extraire"),
       ),
    
+      b_suppr = BLOC(condition="OPERATION ==  'SUPPRIME'",
+                    fr="Supprime une ou plusieurs colonnes de la table",
+         NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
+                         fr="Noms des colonnes à supprimer"),
+      ),
+   
       b_renomme = BLOC(condition="OPERATION == 'RENOMME'",
                        fr="Renomme un ou plusieurs paramètres de la table",
          NOM_PARA = SIMP(statut='o', typ='TXM', validators=NoRepeat(), min=2, max=2,
@@ -7502,7 +7315,7 @@ CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n',
            FORMAT          =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 07/04/2009   AUTEUR ABBAS M.ABBAS 
+#& MODIF COMMANDE  DATE 08/12/2009   AUTEUR PROIX J-M.PROIX 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7550,12 +7363,12 @@ CALCUL=OPER(nom="CALCUL",op=26,sd_prod=table_container,reentrant='f',
           RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
           ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
           ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
-          RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
-                                into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
+          RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",into=("IMPLICITE",)),
           RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
                                 into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
                                      "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")),
-          DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),),
+          DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GROT_GDEP",) ),
+          ),
      INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 ) ;
 
@@ -8201,7 +8014,7 @@ CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster,
 #
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 20/10/2008   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 25/05/2010   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -8226,6 +8039,8 @@ def crea_resu_prod(TYPE_RESU,**args):
   if TYPE_RESU == "EVOL_THER"    : return evol_ther
   if TYPE_RESU == "MULT_ELAS"    : return mult_elas
   if TYPE_RESU == "MODE_MECA"    : return mode_meca
+  if TYPE_RESU == "DYNA_TRANS"   : return dyna_trans
+  if TYPE_RESU == "DYNA_HARMO"   : return dyna_harmo
   if TYPE_RESU == "FOURIER_ELAS" : return fourier_elas
   if TYPE_RESU == "FOURIER_THER" : return fourier_ther
   if TYPE_RESU == "EVOL_VARC"    : return evol_varc
@@ -8245,8 +8060,14 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
          b_affe       =BLOC(condition = "OPERATION == 'AFFE'",
 
            TYPE_RESU    =SIMP(statut='o',position='global',typ='TXM',into=("MODE_MECA","MULT_ELAS","EVOL_ELAS","EVOL_NOLI",
-                                                        "FOURIER_ELAS","EVOL_THER","EVOL_VARC","EVOL_CHAR","FOURIER_THER") ),
-           NOM_CHAM     =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
+                              "DYNA_HARMO","DYNA_TRANS","FOURIER_ELAS","EVOL_THER","EVOL_VARC","EVOL_CHAR","FOURIER_THER") ),
+           b_type_resu    =BLOC(condition = "TYPE_RESU == 'EVOL_CHAR'",
+             NOM_CHAM     =SIMP(statut='o',typ='TXM',into=("PRES","FSUR_2D","FSUR_3D","FVOL_2D","FVOL_3D","VITE_VENT")),
+           ),
+
+           b_evol_char    =BLOC(condition = "TYPE_RESU != 'EVOL_CHAR'",
+             NOM_CHAM     =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
+           ),
 
            b_mode       =BLOC(condition = "TYPE_RESU == 'MODE_MECA'",
              MATR_A         =SIMP(statut='f',typ=matr_asse_depl_r,),
@@ -8261,9 +8082,10 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
 
              b_mult_elas     =BLOC(condition = "TYPE_RESU == 'MULT_ELAS' ",
                 NOM_CAS         =SIMP(statut='f',typ='TXM' ),
+                CHARGE          =SIMP(statut='f',typ=(char_meca),max='**'),
              ),
              b_evol          =BLOC(condition = "((TYPE_RESU=='EVOL_ELAS') or (TYPE_RESU=='EVOL_NOLI') or (TYPE_RESU=='EVOL_THER')\
-                                                                          or (TYPE_RESU=='EVOL_VARC') or (TYPE_RESU=='EVOL_CHAR'))",
+                                         or (TYPE_RESU=='EVOL_VARC') or (TYPE_RESU=='EVOL_CHAR') or (TYPE_RESU=='DYNA_TRANS'))",
                 regles=(UN_PARMI('INST','LIST_INST'),),
                 INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
                 LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
@@ -8272,7 +8094,12 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
                 PRECISION       =SIMP(statut='f',typ='R',defaut= 0.0 ),
                 CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
              ),
-             b_fourier       =BLOC(condition = "((TYPE_RESU == 'FOURIER_ELAS') or (TYPE_RESU == 'FOURIER_THER')) ",
+             b_fourier_elas  =BLOC(condition = "(TYPE_RESU == 'FOURIER_ELAS') ",
+                NUME_MODE       =SIMP(statut='f',typ='I'),
+                TYPE_MODE       =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
+                CHARGE          =SIMP(statut='f',typ=(char_meca),max='**'),
+             ),
+             b_fourier_ther  =BLOC(condition = "(TYPE_RESU == 'FOURIER_THER') ",
                 NUME_MODE       =SIMP(statut='f',typ='I'),
                 TYPE_MODE       =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
              ),
@@ -8280,6 +8107,13 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
                 NUME_MODE       =SIMP(statut='f',typ='I'),
                 FREQ            =SIMP(statut='f',typ='R'),
              ),
+             b_dyna_harmo       =BLOC(condition = "TYPE_RESU == 'DYNA_HARMO'",
+                regles=(UN_PARMI('FREQ','LIST_FREQ',),),
+                FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
+                CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+                PRECISION       =SIMP(statut='f',typ='R',defaut=0.0),
+             ),
            ),
          ),
 
@@ -8602,7 +8436,7 @@ DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,repetable='n',
          IGNORE_ALARM = SIMP(statut='f', typ='TXM', max='**', fr="Alarmes que l'utilisateur souhaite délibérément ignorer"),
 
 );
-#& MODIF COMMANDE  DATE 13/10/2009   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 01/03/2010   AUTEUR NISTOR I.NISTOR 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -8634,13 +8468,13 @@ DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op=  99,sd_prod=mode_meca,
          RITZ            =FACT(statut='f',max='**',
            regles=(UN_PARMI('MODE_MECA','BASE_MODALE','MODE_INTF'),),
            MODE_MECA       =SIMP(statut='f',typ=mode_meca,max='**'  ),
-           NMAX_MODE       =SIMP(statut='f',typ='I'),
+           NMAX_MODE       =SIMP(statut='f',typ='I',max='**'),
            BASE_MODALE     =SIMP(statut='f',typ=mode_meca ),
            MODE_INTF       =SIMP(statut='f',typ=(mode_meca,mult_elas), ),
          ),
          b_ritz          =BLOC(condition = "RITZ != None",
            INTERF_DYNA     =SIMP(statut='f',typ=interf_dyna_clas ),
-           NUME_REF        =SIMP(statut='o',typ=nume_ddl_sdaster ),
+           NUME_REF        =SIMP(statut='f',typ=nume_ddl_sdaster ),
            ORTHO           =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
                                fr="Reorthonormalisation de la base de Ritz" ),
            LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
@@ -8817,7 +8651,7 @@ DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,reentrant='n
            PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 22/09/2009   AUTEUR PROIX J-M.PROIX 
+#& MODIF COMMANDE  DATE 08/12/2009   AUTEUR PROIX J-M.PROIX 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -8859,6 +8693,8 @@ DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
                                 'PYRAMIDAL2', 'CUBIQUE1', 'CUBIQUE2', 'MACLAGE', 'JOINT_GRAIN', 'RL', 'UNIAXIAL','BCC24'),),
                                 ),
 
+          ROTA_RESEAU =SIMP(statut='f', typ='TXM', max=1,into=('NON','POST','CALC'),defaut='NON',
+                   fr="rotation de reseau : NON, POST, CALC"),
 
           POLYCRISTAL    =FACT(statut='f', max='**',
            regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),),
@@ -8890,7 +8726,7 @@ DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
                                    fr="Donner le nom du materiau pour le groupe de fibres"),
              ALGO_1D         =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
              DEFORMATION      =SIMP(statut='f',typ='TXM',defaut="PETIT",
-                                     into=("PETIT","PETIT_REAC","REAC_GEOM")),
+                                     into=("PETIT","PETIT_REAC","GROT_GDEP")),
              RELATION        =SIMP(statut='f', typ='TXM', max=1,defaut="ELAS",into=C_RELATION(),
                                   fr="Donner le nom de la relation incrementale pour le groupe de fibres",
                                   ),
@@ -8940,6 +8776,551 @@ DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op=   2,sd_prod=fonction_sdaster,
          VALE            =SIMP(statut='o',typ='R',),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
+#& MODIF COMMANDE  DATE 27/04/2010   AUTEUR DESOZA T.DESOZA 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2009  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
+# ======================================================================
+# RESPONSABLE ABBAS M.ABBAS
+#
+DEFI_CONTACT=OPER(nom       = "DEFI_CONTACT",
+                  op        = 30,
+                  sd_prod   = char_contact,
+                  fr        = "Définit les zones soumises à des conditions de contact unilatéral avec ou sans frottement",
+                  reentrant = 'n',
+                  UIinfo    = {"groupes":("Modélisation",)},
+
+# MODELE
+
+         MODELE          =SIMP(statut='o',typ=modele_sdaster,),
+         INFO            =SIMP(statut='f',typ='I',into=(1,2),),
+
+# FORMULATION (UNIQUE PAR OCCURRENCE DE DEFI_CONTACT)
+
+         FORMULATION     =SIMP(statut='o',
+                               typ='TXM',
+                               position='global',
+                               defaut="DISCRETE",
+                               into=("DISCRETE","CONTINUE","XFEM","LIAISON_UNIL",),),
+
+# PARAMETRE GENERAL: FROTTEMENT (A TERME DEVRA ETRE AU NIVEAU ZONE)
+
+           FROTTEMENT      =SIMP(statut='f',
+                                 typ='TXM',
+                                 position='global',
+                                 defaut="SANS",
+                                 into=("COULOMB","SANS",)),
+
+### PARAMETRES GENERAUX (UNIQUEMENT POUR LE CONTACT, NE DEPENDENT PAS DE LA ZONE DE CONTACT)
+
+         b_contact=BLOC(condition = "FORMULATION != 'LIAISON_UNIL' ",
+
+# PARAMETRE GENERAL: APPARIEMENT
+
+           LISSAGE         =SIMP(statut='f',
+                                 typ='TXM',
+                                 defaut="NON",
+                                 into=("OUI","NON"),),
+
+# PARAMETRE GENERAL: VERIFICATION DE L'ORIENTATION ET DE LA COHERENCE DES NORMALES
+
+           VERI_NORM       =SIMP(statut='f',
+                                 typ='TXM',
+                                 defaut="OUI",
+                                 into=("OUI","NON"),),
+
+# PARAMETRE GENERAL: BOUCLE SUR GEOMETRIE
+
+           b_bouc_geom_disc=BLOC(condition = "FORMULATION == 'DISCRETE' ",
+                                 REAC_GEOM =SIMP(statut='f',
+                                                 typ='TXM',
+                                                 into=("AUTOMATIQUE","CONTROLE","SANS",),
+                                                 defaut="AUTOMATIQUE",
+                                                 ),
+                                 b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ",
+                                   ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=5),
+                                   RESI_GEOM      = SIMP(statut='f',typ='R',defaut=0.05),
+                                   ),
+                                 b_controle    = BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
+                                   NB_ITER_GEOM   = SIMP(statut='f',typ='I',defaut = 2),
+                                   ),
+                                 ),
+
+           b_bouc_geom_cont=BLOC(condition = "FORMULATION == 'CONTINUE' ",
+                                 REAC_GEOM =SIMP(statut='f',
+                                                 typ='TXM',
+                                                 into=("AUTOMATIQUE","CONTROLE","SANS",),
+                                                 defaut="AUTOMATIQUE",
+                                                 ),
+                                 b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ",
+                                   ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=5),
+                                   RESI_GEOM      = SIMP(statut='f',typ='R',defaut=0.0001),
+                                   ),
+                                 b_controle    = BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
+                                   NB_ITER_GEOM   = SIMP(statut='f',typ='I',defaut = 2),
+                                   ),
+                                 ),
+
+           b_bouc_geom_xfem=BLOC(condition = "FORMULATION == 'XFEM' ",
+                                 REAC_GEOM =SIMP(statut='f',
+                                                 typ='TXM',
+                                                 into=("AUTOMATIQUE","CONTROLE","SANS",),
+                                                 defaut="SANS",
+                                                 ),
+                                 b_automatique = BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ",
+                                   ITER_GEOM_MAXI = SIMP(statut='f',typ='I',defaut=5),
+                                   RESI_GEOM      = SIMP(statut='f',typ='R',defaut=0.0001),
+                                   ),
+                                 b_controle    = BLOC(condition = "REAC_GEOM == 'CONTROLE' ",
+                                   NB_ITER_GEOM   = SIMP(statut='f',typ='I',defaut = 2),
+                                   ),
+                                 ),
+
+
+# PARAMETRE GENERAL: BOUCLE SUR CONTACT
+
+           b_bouc_cont_disc=BLOC(condition = "FORMULATION == 'DISCRETE' ",
+                                 ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4),
+                                 ),
+
+           b_bouc_cont_cont=BLOC(condition = "FORMULATION == 'CONTINUE' ",
+                                 ITER_CONT_TYPE= SIMP(statut='f',typ='TXM',defaut="MAXI",
+                                                      into=("MULT","MAXI")),
+                                 b_bouc_cont_mult = BLOC(condition = "ITER_CONT_TYPE=='MULT'",
+                                   ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4),
+                                   ),
+                                 b_bouc_cont_maxi = BLOC(condition = "ITER_CONT_TYPE=='MAXI'",
+                                   ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut = 30),
+                                   ),
+                                 ),
+
+           b_bouc_cont_xfem=BLOC(condition = "FORMULATION == 'XFEM' ",
+                                 ITER_CONT_TYPE= SIMP(statut='f',typ='TXM',defaut="MAXI",
+                                                      into=("MULT","MAXI")),
+                                 b_bouc_cont_mult = BLOC(condition = "ITER_CONT_TYPE=='MULT'",
+                                   ITER_CONT_MULT = SIMP(statut='f',typ='I',defaut = 4),
+                                   ),
+                                 b_bouc_cont_maxi = BLOC(condition = "ITER_CONT_TYPE=='MAXI'",
+                                   ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut = 30),
+                                   ),
+                                 ),
+
+# PARAMETRE GENERAL: BOUCLE SUR FROTTEMENT
+
+           b_bouc_frot     = BLOC(condition = "FROTTEMENT=='COULOMB' and ((FORMULATION == 'CONTINUE') or (FORMULATION == 'XFEM')) ",
+                                  REAC_FROT =SIMP(statut='f',
+                                                  typ='TXM',
+                                                  into=("AUTOMATIQUE","CONTROLE",),
+                                                  defaut="AUTOMATIQUE",),
+                                  b_automatique = BLOC(condition = "REAC_FROT == 'AUTOMATIQUE' ",
+                                    ITER_FROT_MAXI = SIMP(statut='f',typ='I',defaut=2),
+                                    RESI_FROT      = SIMP(statut='f',typ='R',defaut=0.0001),
+                                    ),
+                                  b_controle    = BLOC(condition = "REAC_FROT == 'CONTROLE' ",
+                                    NB_ITER_FROT   = SIMP(statut='f',typ='I',defaut = 2),
+                                    ),
+                                 ),
+
+# PARAMETRE GENERAL: METHODES DISCRETES
+
+           b_para_discret  = BLOC(condition = "FORMULATION == 'DISCRETE' ",
+                                  STOP_SINGULIER= SIMP(statut='f',typ='TXM',defaut="OUI",
+                                                       into=("OUI","NON")),
+                                  NB_RESOL      = SIMP(statut='f',typ='I', defaut=10 ),
+                                  STOP_INTERP   = SIMP(statut='f',typ='TXM',defaut="NON",
+                                                       into=("OUI","NON")),
+                                  TOLE_INTERP   = SIMP(statut='f',typ='R',defaut = 0.),
+                                  RESI_ABSO     = SIMP(statut='f',typ='R',
+                                  fr="Critere de convergence (niveau d'interpenetration autorise)"),
+                                  REAC_ITER     = SIMP(statut='f',typ='I',defaut=3,
+                                   fr="Frequence de reinitialisation de la conjugaison"),
+                                  ITER_GCP_MAXI = SIMP(statut='f',typ='I',defaut=0,
+                                  fr="Nombre d'iterations maximal pour le GCP"),
+
+                                  PRE_COND      = SIMP(statut='f',typ='TXM',defaut="SANS",into=("DIRICHLET","SANS"),
+                                  fr="Choix d'un preconditionneur (accelere la convergence)"),
+                                  ITER_PRE_MAXI = SIMP(statut='f',typ='I',defaut=0,
+                                  fr="Nombre d'iterations maximal pour le preconditionneur"),
+                                  COEF_RESI     = SIMP(statut='f',typ='R',defaut = 1.,
+                                  fr="Critere_Convergence_Preconditionneur = COEF_RESI*Critere_Convergence_GCP",),
+                                  RECH_LINEAIRE = SIMP(statut='f',typ='TXM',defaut="ADMISSIBLE",
+                                                       into=("ADMISSIBLE","NON_ADMISSIBLE"),
+                                                 fr="Autorise-t-on de sortir du domaine admissible lors de la recherche lineaire",),
+                                  ),
+           ), #fin bloc b_contact
+
+## AFFECTATIONS (ZONES PAR ZONES)
+
+# AFFECTATION - CAS LIAISON_UNILATERALE
+
+           b_affe_unil     = BLOC(condition = "FORMULATION == 'LIAISON_UNIL'",
+                                  ZONE=FACT(statut='o',
+                                            max='**',
+
+# -- Liaison unilatérale
+                                            regles=(UN_PARMI('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
+                                            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
+                                            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
+                                            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
+                                            NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
+
+                                            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
+                                            COEF_IMPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),),
+                                            COEF_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
+
+# -- Incompatibilité avec CL
+                                            SANS_NOEUD      =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
+                                            SANS_GROUP_NO   =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
+
+                                            ),
+                                  ), #fin bloc b_affe_unil
+
+# AFFECTATION - CAS DISCRET
+
+           b_affe_discret  = BLOC(condition = "FORMULATION == 'DISCRETE'",
+                                  ZONE=FACT(statut='o',
+                                            max='**',
+
+# -- Appariement
+                                            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
+                                                                  into=("NODAL","MAIT_ESCL"),),
+
+                                            regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),
+                                                    UN_PARMI('GROUP_MA_MAIT','MAILLE_MAIT'),),
+                                            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1),
+                                            MAILLE_MAIT     =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
+                                            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1),
+                                            MAILLE_ESCL     =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
+
+                                            NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",
+                                                                  into=("MAIT","MAIT_ESCL","ESCL"),),
+
+                                            VECT_MAIT       =SIMP(statut='f',typ='TXM',defaut="AUTO",
+                                                                  into=("AUTO","FIXE","VECT_Y")),
+
+                                            b_nmait_fixe=BLOC(condition = "VECT_MAIT == 'FIXE'",
+                                              MAIT_FIXE     =SIMP(statut='o',typ='R',min=3,max=3),
+                                              ),
+
+                                            b_nmait_vecty=BLOC(condition = "VECT_MAIT == 'VECT_Y'",
+                                              MAIT_VECT_Y   =SIMP(statut='o',typ='R',min=3,max=3),
+                                              ),
+
+                                            VECT_ESCL       =SIMP(statut='f',typ='TXM',defaut="AUTO",
+                                                                  into=("AUTO","FIXE","VECT_Y")),
+
+                                            b_nescl_fixe=BLOC(condition = "VECT_ESCL == 'FIXE'",
+                                              ESCL_FIXE     =SIMP(statut='o',typ='R',min=3,max=3),
+                                              ),
+
+                                            b_nescl_vecty=BLOC(condition = "VECT_ESCL == 'VECT_Y'",
+                                              ESCL_VECT_Y   =SIMP(statut='o',typ='R',min=3,max=3),
+                                              ),
+
+                                            TYPE_APPA       =SIMP(statut='f',typ='TXM',defaut="PROCHE",
+                                                             into  =("PROCHE","FIXE")),
+
+                                            b_appa_fixe     =BLOC(condition = "TYPE_APPA == 'FIXE'",
+                                              DIRE_APPA     =SIMP(statut='f',typ='R',min=3,max=3),
+                                              ),
+
+                                            DIST_POUTRE     =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
+                                            DIST_COQUE      =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
+                                            b_cara=BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'",
+                                              CARA_ELEM     =SIMP(statut='o',typ=(cara_elem) ),
+                                              ),
+
+                                            DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                            DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+
+                                            TOLE_APPA       =SIMP(statut='f',typ='R'  ,defaut=-1.0),
+                                            TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
+
+# -- Incompatibilité avec CL
+                                            SANS_NOEUD      =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
+                                            SANS_GROUP_NO   =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
+
+# -- Résolution
+                                            ALGO_CONT       =SIMP(statut='o',typ='TXM',defaut="CONTRAINTE",
+                                                                  into=("CONTRAINTE","LAGRANGIEN","PENALISATION","VERIF","GCP"),),
+
+                                            b_active=BLOC(condition = "ALGO_CONT == 'CONTRAINTE' ",
+                                                         fr="Paramètres de la méthode des contraintes actives (contact uniquement)",
+                                              GLISSIERE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
+                                              b_glissiere=BLOC(condition = "GLISSIERE == 'OUI' ",
+                                                ALARME_JEU  =SIMP(statut='f',typ='R',defaut=0.),
+                                                ),
+                                              ),
+
+                                            b_verif=BLOC(condition = "ALGO_CONT == 'VERIF' ",
+                                                         fr="Paramètres de la méthode sans calcul de contact",
+                                              GROUP_MA_FOND =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                                              ),
+
+                                            b_penal_contact=BLOC(condition = "ALGO_CONT == 'PENALISATION' ",
+                                                                 fr="Paramètres de la méthode pénalisée (contact)",
+                                              E_N           =SIMP(statut='o',typ='R'),
+                                              ),
+
+                                            b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' ",
+                                                              fr="Paramètres du frottement",
+                                              COULOMB       =SIMP(statut='o',typ='R',),
+                                              COEF_MATR_FROT=SIMP(statut='f',typ='R',defaut=0.E+0),
+                                              ALGO_FROT     =SIMP(statut='o',typ='TXM',defaut="PENALISATION",
+                                                                  into=("PENALISATION","LAGRANGIEN"),),
+
+                                              b_penal_frot=BLOC(condition = "ALGO_FROT == 'PENALISATION' ",
+                                                                fr="Paramètres de la méthode pénalisée (frottement)",
+                                                E_T         =SIMP(statut='o',typ='R'),
+                                                ),
+                                              ),
+                                            ), #fin mot-clé facteur ZONE
+                                  ), #fin bloc b_affe_discret
+
+
+# AFFECTATION - CAS CONTINUE
+
+           b_affe_continue = BLOC(condition = "FORMULATION == 'CONTINUE'",
+                                  ZONE=FACT(statut='o',
+                                            max='**',
+
+# -- Appariement
+                                            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
+                                                                  into=("MAIT_ESCL",)),
+
+                                            regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),
+                                                    UN_PARMI('GROUP_MA_MAIT','MAILLE_MAIT'),),
+                                            GROUP_MA_MAIT   =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1),
+                                            MAILLE_MAIT     =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
+                                            GROUP_MA_ESCL   =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max=1),
+                                            MAILLE_ESCL     =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
+
+                                            NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",
+                                                                  into=("MAIT","MAIT_ESCL","ESCL"),),
+
+                                            VECT_MAIT       =SIMP(statut='f',typ='TXM',defaut="AUTO",
+                                                                  into=("AUTO","FIXE","VECT_Y")),
+
+                                            b_nmait_fixe=BLOC(condition = "VECT_MAIT == 'FIXE'",
+                                              MAIT_FIXE     =SIMP(statut='o',typ='R',min=3,max=3),
+                                              ),
+
+                                            b_nmait_vecty=BLOC(condition = "VECT_MAIT == 'VECT_Y'",
+                                              MAIT_VECT_Y   =SIMP(statut='o',typ='R',min=3,max=3),
+                                              ),
+
+                                            VECT_ESCL       =SIMP(statut='f',typ='TXM',defaut="AUTO",
+                                                                  into=("AUTO","FIXE","VECT_Y")),
+
+                                            b_nescl_fixe=BLOC(condition = "VECT_ESCL == 'FIXE'",
+                                              ESCL_FIXE     =SIMP(statut='o',typ='R',min=3,max=3),
+                                              ),
+
+                                            b_nescl_vecty=BLOC(condition = "VECT_ESCL == 'VECT_Y'",
+                                              ESCL_VECT_Y   =SIMP(statut='o',typ='R',min=3,max=3),
+                                              ),
+
+                                            TYPE_APPA       =SIMP(statut='f',typ='TXM',defaut="PROCHE",
+                                                             into  =("PROCHE","FIXE")),
+
+                                            b_appa_fixe=BLOC(condition = "TYPE_APPA == 'FIXE'",
+                                              DIRE_APPA     =SIMP(statut='f',typ='R',min=3,max=3),
+                                              ),
+
+                                            DIST_POUTRE     =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
+                                            DIST_COQUE      =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
+                                            b_cara=BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'",
+                                              CARA_ELEM     =SIMP(statut='o',typ=(cara_elem) ),
+                                              ),
+
+                                            DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                            DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+
+                                            TOLE_APPA       =SIMP(statut='f',typ='R'  ,defaut=-1.0),
+                                            TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
+
+# -- Incompatibilité avec CL
+
+                                            SANS_NOEUD      =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
+                                            SANS_GROUP_NO   =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
+
+                                            FOND_FISSURE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),
+                                            b_fond_fissure =BLOC(condition = "FOND_FISSURE == 'OUI' ",
+                                                                 fr="Traitement en fond de fissure",
+                                              regles=(UN_PARMI('NOEUD_FOND','GROUP_NO_FOND','MAILLE_FOND','GROUP_MA_FOND'),),
+                                              NOEUD_FOND    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                                              GROUP_NO_FOND =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                                              MAILLE_FOND   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                                              GROUP_MA_FOND =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                                              ),
+
+                                            RACCORD_LINE_QUAD=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),
+                                            b_raccord_surf =BLOC(condition = "RACCORD_LINE_QUAD == 'OUI' ",
+                                                                 fr="Traitement du raccord surfacique",
+                                              regles=(UN_PARMI('NOEUD_RACC','GROUP_NO_RACC'),),
+                                              NOEUD_RACC    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                                              GROUP_NO_RACC =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                                              ),
+
+                                            EXCLUSION_PIV_NUL=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",),),
+
+# -- Fonctionnalités spécifiques 'CONTINUE'
+                                            INTEGRATION     =SIMP(statut='f',typ='TXM',defaut="NOEUD",
+                                                                   into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2",
+                                                                                         "NCOTES" ,"NCOTES1" ,"NCOTES2"),),
+
+                                            CONTACT_INIT    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),
+
+                                            GLISSIERE       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),
+
+                                            ALGO_CONT       =SIMP(statut='f',typ='TXM',defaut="STANDARD",
+                                                                  into=("STANDARD","AVANCE","PENALISATION"),),
+
+                                            b_cont_std=BLOC(condition = "ALGO_CONT == 'STANDARD' ",
+                                                            fr="Parametres de la formulation Lagrangienne",
+                                              COEF_CONT     =SIMP(statut='f',typ='R',defaut=100.E+0),
+                                              ),
+                                            b_cont_avc=BLOC(condition = "ALGO_CONT == 'AVANCE' ",
+                                                            fr="Parametres du Lagrangien augmenté",
+                                              COEF_REGU_CONT=SIMP(statut='f',typ='R',defaut=100.E+0),
+                                              COEF_STAB_CONT=SIMP(statut='f',typ='R',defaut=100.E+0),
+                                              COEF_PENA_CONT=SIMP(statut='f',typ='R',defaut=100.E+0),
+                                              ),
+                                            b_cont_pena =BLOC(condition = "ALGO_CONT == 'PENALISATION' ",
+                                                            fr="Paramètres de la méthode pénalisée",
+                                              COEF_PENA_CONT  =SIMP(statut='o',typ='R'),),
+
+                                            COMPLIANCE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
+                                            b_compliance=BLOC(condition = "COMPLIANCE == 'OUI' ",fr="Parametres de la compliance",
+                                              ASPERITE      =SIMP(statut='o',typ='R',),
+                                              E_N           =SIMP(statut='o',typ='R',),
+                                              E_V           =SIMP(statut='f',typ='R',defaut=0.E+0),
+                                              ),
+
+                                            b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement",
+                                              COULOMB          =SIMP(statut='o',typ='R',),
+                                              SEUIL_INIT     =SIMP(statut='f',typ='R',defaut=0.E+0),
+
+                                              regles=(EXCLUS('SANS_NOEUD_FR','SANS_GROUP_NO_FR'),),
+                                              SANS_NOEUD_FR    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                                              SANS_GROUP_NO_FR =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                                              b_sans_group_no_frot=BLOC(condition="SANS_GROUP_NO_FR != None or SANS_NO_FR != None",
+                                                                        fr="Direction(s) de frottement à exclure",
+                                                                        EXCL_FROT_1 =SIMP(statut='f',typ='R',min=3,max=3),
+                                                                        EXCL_FROT_2 =SIMP(statut='f',typ='R',min=3,max=3),
+                                                ),
+
+                                              ALGO_FROT       =SIMP(statut='f',typ='TXM',defaut="STANDARD",
+                                                                    into=("STANDARD","AVANCE","PENALISATION"),),
+                                              b_frot_std      =BLOC(condition = "ALGO_FROT == 'STANDARD' ",
+                                                                    fr="Parametres de la formulation Lagrangienne",
+                                                                   COEF_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
+                                                ),
+                                              b_frot_avc      =BLOC(condition = "ALGO_FROT == 'AVANCE' ",
+                                                                    fr="Parametres du Lagrangien augmenté",
+                                                                   COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
+                                                                   COEF_STAB_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
+                                                                   COEF_PENA_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
+                                                ),
+                                              b_frot_pena =BLOC(condition = "ALGO_FROT == 'PENALISATION' ",
+                                                                    fr="Paramètres de la méthode pénalisée",
+                                                                   COEF_PENA_FROT  =SIMP(statut='o',typ='R'),
+                                                ),
+
+                                              USURE          =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","ARCHARD",),),
+                                              b_usure        =BLOC(condition = "USURE == 'ARCHARD' ",
+                                                                   fr="Parametres de la loi d'usure d'Archard",
+                                                                   K =SIMP(statut='o',typ='R',),
+                                                                   H =SIMP(statut='o',typ='R',val_min=1E-8),
+                                                ),
+
+                                              ), #fin bloc b_frottement
+                                            ), #fin mot-clé facteur ZONE
+                                  ), #fin bloc b_affe_continue
+
+
+# AFFECTATION - CAS XFEM
+
+           b_affe_xfem =BLOC(condition = "FORMULATION == 'XFEM'",
+                             ZONE=FACT(statut='o',
+                                       max='**',
+# -- Fissure
+                                       FISS_MAIT      = SIMP(statut='o',typ=fiss_xfem,max=1),
+                                       TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
+
+# -- Fonctionnalités spécifiques 'XFEM'
+                                       INTEGRATION    = SIMP(statut='f',
+                                                             typ='TXM',
+                                                             defaut="FPG4",
+                                                             into=("GAUSS","FPG2","FPG3","FPG4","FPG6","FPG7",
+                                                                   "NOEUD","SIMPSON","SIMPSON1","NCOTES","NCOTES1","NCOTES2"),),
+
+                                       CONTACT_INIT   = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),
+
+                                       GLISSIERE      = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),
+                                       RELATION         = SIMP(statut='f',typ='TXM',defaut="NON",into=("CZM_XFEM","NON"),),
+
+                                       ALGO_LAGR      = SIMP(statut='f',typ='TXM',defaut="VERSION1",
+                                                             into=("NON","VERSION1","VERSION2"),),
+                                       COEF_ECHELLE   = SIMP(statut='f',typ='R',defaut=1.E+6),
+
+                                       ALGO_CONT      =SIMP(statut='f',typ='TXM',defaut="STANDARD",
+                                                                  into=("STANDARD","AVANCE","PENALISATION"),),
+
+                                       b_cont_std=BLOC(condition = "ALGO_CONT == 'STANDARD' ",
+                                                       fr="Parametres de la formulation Lagrangienne",
+                                         COEF_CONT    =SIMP(statut='f',typ='R',defaut=100.E+0),
+                                         ),
+                                       b_cont_avc=BLOC(condition = "ALGO_CONT == 'AVANCE' ",fr="Parametres du Lagrangien augmenté",
+                                         COEF_REGU_CONT =SIMP(statut='f',typ='R',defaut=100.E+0),
+                                         COEF_STAB_CONT =SIMP(statut='f',typ='R',defaut=0.E+0),
+                                         COEF_PENA_CONT =SIMP(statut='f',typ='R',defaut=0.E+0),
+                                         ),
+
+                                       b_cont_pen=BLOC(condition = "ALGO_CONT == 'PENALISATION' ",
+                                         fr="Paramètre de la méthode pénalisée",
+                                         COEF_PENA_CONT =SIMP(statut='o',typ='R'),
+                                         ),
+
+                                       b_frottement=BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement",
+                                         COULOMB      =SIMP(statut='o',typ='R',),
+                                         SEUIL_INIT   =SIMP(statut='f',typ='R',defaut=0.E+0),
+
+                                         ALGO_FROT    =SIMP(statut='f',typ='TXM',defaut="STANDARD",
+                                                                  into=("STANDARD","AVANCE","PENALISATION"),),
+
+                                         b_frot_std=BLOC(condition = "ALGO_FROT == 'STANDARD' ",
+                                                         fr="Parametres de la formulation Lagrangienne",
+                                           COEF_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
+                                           ),
+                                         b_frot_avc=BLOC(condition = "ALGO_FROT == 'AVANCE' ",
+                                                         fr="Parametres du Lagrangien augmenté",
+                                           COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
+                                           COEF_STAB_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),
+                                           COEF_PENA_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),
+                                           ),
+                                         b_frot_pen=BLOC(condition = "ALGO_FROT == 'PENALISATION' ",
+                                                         fr="Paramètre de la méthode pénalisée",
+                                           COEF_PENA_FROT  =SIMP(statut='o',typ='R'),
+                                           ),
+                                         ), #fin bloc b_frottement
+                                       ), #fin mot-clé facteur ZONE
+                             ), #fin bloc b_affe_xfem
+
+                  ) #fin OPER
 #& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -9299,7 +9680,7 @@ DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru,
          ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#& MODIF COMMANDE  DATE 11/01/2010   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -9317,8 +9698,11 @@ DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE COURTOIS M.COURTOIS
-DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction_sdaster,reentrant='n',
+# RESPONSABLE PEYRARD C.PEYRARD
+
+from Macro.defi_fonc_elec_ops import defi_fonc_elec_ops
+
+DEFI_FONC_ELEC=MACRO(nom="DEFI_FONC_ELEC",op=defi_fonc_elec_ops,sd_prod=fonction_sdaster,reentrant='n',
             UIinfo={"groupes":("Outils métier",)},
                     fr="Définir une fonction du temps intervenant dans le calcul des forces de LAPLACE",
       regles=(UN_PARMI('COUR_PRIN','COUR'),
@@ -9368,7 +9752,7 @@ DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction_sdaster,reentran
            DIST            =SIMP(statut='f',typ='R',defaut=1.0E+0),
          ),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
-)  ;
+)
 #& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -9704,7 +10088,7 @@ DEFI_GLRC=OPER(nom="DEFI_GLRC",op=57,sd_prod=mater_sdaster,reentrant='f',
            UNITE           =SIMP(statut='f',typ='I',defaut=8),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 09/06/2009   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 02/02/2010   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -9738,77 +10122,80 @@ DEFI_GROUP=OPER(nom="DEFI_GROUP",op= 104,sd_prod=defi_group_prod,
            NOM             =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),),
          DETR_GROUP_NO   =FACT(statut='f',max='**',
            NOM             =SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**'),),
-         CREA_GROUP_MA   =FACT(statut='f',max='**',
 
-regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),),
-#  quel est le concept attendu deriere NOM
-           NOM             =SIMP(statut='o',typ=grma),
-           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-           GROUP_MA        =SIMP(statut='f',typ=grma),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           INTERSEC        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           UNION           =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           DIFFE           =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           TYPE_MAILLE     =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","1D","2D","3D"),max=1 ),
-
-         OPTION         =SIMP(statut='f',typ='TXM',into=("FACE_NORMALE","SPHERE","CYLINDRE","BANDE","APPUI_LACHE","APPUI") ),
-           b_group_ma      =BLOC(condition = "GROUP_MA != None",
-             regles=(EXCLUS('POSITION','NUME_INIT'),),
-             NUME_INIT       =SIMP(statut='f',typ='I'),
-             POSITION        =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ),
-             b_nume_init   =BLOC(condition = "NUME_INIT != None",
-               NUME_FIN        =SIMP(statut='f',typ='I' ),
-             ),
-           ),
-           b_face_normale  =BLOC(condition = "OPTION == 'FACE_NORMALE'",
-             regles=(UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
-             ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
-             VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
-             ANGL_PREC       =SIMP(statut='f',typ='R',defaut= 0.5 ),
-             VERI_SIGNE      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-           ),
-           b_sphere        =BLOC(condition = "OPTION == 'SPHERE'",
-             regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
-             POINT           =SIMP(statut='f',typ='R',max=3),
-             NOEUD_CENTRE    =SIMP(statut='f',typ=no),
-             GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
-             RAYON           =SIMP(statut='o',typ='R' ),
-           ),
-           b_cylindre      =BLOC(condition = "OPTION == 'CYLINDRE'",
-             regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
-                     UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
-             POINT           =SIMP(statut='f',typ='R',max=3),
-             NOEUD_CENTRE    =SIMP(statut='f',typ=no),
-             GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
-             RAYON           =SIMP(statut='o',typ='R' ),
-             ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
-             VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
-           ),
-           b_bande         =BLOC(condition = "OPTION == 'BANDE'",
-             regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
-                     UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
-             POINT           =SIMP(statut='f',typ='R' ,max=3),
-             NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
-             GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
-             DIST            =SIMP(statut='o',typ='R' ),
-             ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
-             VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
-           ),
-           b_app_lache         =BLOC(condition = "OPTION == 'APPUI_LACHE'",
-             regles=(UN_PARMI('NOEUD','GROUP_NO'),),
-             NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-             GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-           ),
-           b_appui            =BLOC(condition = "OPTION == 'APPUI'",
-             regles=(UN_PARMI('NOEUD','GROUP_NO'),),
-             NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-             GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-             TYPE_APPUI      =SIMP(statut='o',typ='TXM',max=1, into=('AU_MOINS_UN','TOUT','SOMMET')),
-           ),
+
+         CREA_GROUP_MA   =FACT(statut='f',max='**',
+              regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION'),),
+            NOM             =SIMP(statut='o',typ=grma),
+            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+            GROUP_MA        =SIMP(statut='f',typ=grma),
+            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+            INTERSEC        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+            UNION           =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+            DIFFE           =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+            TYPE_MAILLE     =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","1D","2D","3D"),max=1 ),
+
+            OPTION         =SIMP(statut='f',typ='TXM',into=("FACE_NORMALE","SPHERE","CYLINDRE",
+                                                              "BANDE","APPUI_LACHE","APPUI") ),
+                b_group_ma      =BLOC(condition = "GROUP_MA != None",
+                  regles=(EXCLUS('POSITION','NUME_INIT'),),
+                  NUME_INIT       =SIMP(statut='f',typ='I'),
+                  POSITION        =SIMP(statut='f',typ='TXM',into=("INIT","FIN","MILIEU") ),
+                  b_nume_init   =BLOC(condition = "NUME_INIT != None",
+                    NUME_FIN        =SIMP(statut='f',typ='I' ),
+                  ),
+                ),
+                b_face_normale  =BLOC(condition = "OPTION == 'FACE_NORMALE'",
+                  regles=(UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
+                  ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
+                  VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
+                  ANGL_PREC       =SIMP(statut='f',typ='R',defaut= 0.5 ),
+                  VERI_SIGNE      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+                ),
+                b_sphere        =BLOC(condition = "OPTION == 'SPHERE'",
+                  regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
+                  POINT           =SIMP(statut='f',typ='R',max=3),
+                  NOEUD_CENTRE    =SIMP(statut='f',typ=no),
+                  GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
+                  RAYON           =SIMP(statut='o',typ='R' ),
+                ),
+                b_cylindre      =BLOC(condition = "OPTION == 'CYLINDRE'",
+                  regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
+                          UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
+                  POINT           =SIMP(statut='f',typ='R',max=3),
+                  NOEUD_CENTRE    =SIMP(statut='f',typ=no),
+                  GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
+                  RAYON           =SIMP(statut='o',typ='R' ),
+                  ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
+                  VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
+                ),
+                b_bande         =BLOC(condition = "OPTION == 'BANDE'",
+                  regles=(UN_PARMI('POINT','NOEUD_CENTRE','GROUP_NO_CENTRE'),
+                          UN_PARMI('ANGL_NAUT','VECT_NORMALE'),),
+                  POINT           =SIMP(statut='f',typ='R' ,max=3),
+                  NOEUD_CENTRE    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
+                  GROUP_NO_CENTRE =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
+                  DIST            =SIMP(statut='o',typ='R' ),
+                  ANGL_NAUT       =SIMP(statut='f',typ='R',max=2),
+                  VECT_NORMALE    =SIMP(statut='f',typ='R',max=3),
+                ),
+                b_app_lache         =BLOC(condition = "OPTION == 'APPUI_LACHE'",
+                  regles=(UN_PARMI('NOEUD','GROUP_NO'),),
+                  NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                  GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                ),
+                b_appui            =BLOC(condition = "OPTION == 'APPUI'",
+                  regles=(UN_PARMI('NOEUD','GROUP_NO'),),
+                  NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                  GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                  TYPE_APPUI      =SIMP(statut='o',typ='TXM',max=1, into=('AU_MOINS_UN','TOUT','SOMMET','MAJORITE')),
+                ),
          ),
+
+
          CREA_GROUP_NO   =FACT(statut='f',max='**',
            OPTION          =SIMP(statut='f',typ='TXM',into=("ENV_SPHERE","ENV_CYLINDRE","PLAN",
-                                               "SEGM_DROI_ORDO","NOEUD_ORDO","TUNNEL") ),
+                                               "SEGM_DROI_ORDO","NOEUD_ORDO","TUNNEL","INCLUSION") ),
 
            b_option =BLOC(condition = "OPTION == None" ,
                           regles=(UN_PARMI('TOUT_GROUP_MA','GROUP_MA','GROUP_NO','NOEUD',
@@ -9910,6 +10297,16 @@ regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION')
              RAYON           =SIMP(statut='o',typ='R'),
              LONGUEUR        =SIMP(statut='f',typ='R'),
            ),
+           b_inclusion         =BLOC(condition = "OPTION == 'INCLUSION'",
+             fr="""crée le groupe des noeuds des mailles de GROUP_MA inclus géométriquement
+                   dans les mailles de GROUP_MA_INCL""",
+             NOM             =SIMP(statut='o',typ=geom),
+             CAS_FIGURE      =SIMP(statut='o',typ='TXM',into=("2D","3D","2.5D",)),
+             DISTANCE_MAX    =SIMP(statut='f',typ='R',),
+             GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
+             GROUP_MA_INCL   =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
+             MAILLAGE_INCL   =SIMP(statut='f',typ=maillage_sdaster),
+           ),
          ),
          ALARME          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
          INFO            =SIMP(statut='f',typ='I',into=( 1 , 2 ) ),
@@ -10386,7 +10783,7 @@ DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op=  88,sd_prod=maillage_sdaster,
            GROUP_NO_FIN    =SIMP(statut='f',typ=grno),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 22/09/2009   AUTEUR SELLENET N.SELLENE
+#& MODIF COMMANDE  DATE 20/04/2010   AUTEUR JAUBERT A.JAUBER
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -11168,6 +11565,12 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              DIST_2          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
              JEU             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
            ),
+           ENDO_SCALAIRE   =FACT(statut='f',
+             GAMMA           =SIMP(statut='o',typ='R',),
+             SY              =SIMP(statut='o',typ='R',),
+             COEF_RIGI_MINI  =SIMP(statut='f',typ='R',defaut=1.E-5),
+             DD_MAXI         =SIMP(statut='f',typ='R',defaut= 1.),
+           ),
            DIS_GRICRA    =FACT(statut='f',
              KN_AX       =SIMP(statut='o',typ='R' ),
              KT_AX       =SIMP(statut='o',typ='R' ),
@@ -11431,6 +11834,41 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              ETA_ID          =SIMP(statut='o',typ='R'),
              ETA_FD          =SIMP(statut='f',typ='R'),
            ),
+           BETON_RAG    =FACT(statut='f',
+             ACTIV_FL        =SIMP(statut='f',typ='R',defaut=1.0 ),
+             K_RS            =SIMP(statut='o',typ='R'),
+             K_IS            =SIMP(statut='o',typ='R'),
+             ETA_RS          =SIMP(statut='o',typ='R'),
+             ETA_IS          =SIMP(statut='o',typ='R'),
+             K_RD            =SIMP(statut='o',typ='R'),
+             K_ID            =SIMP(statut='o',typ='R'),
+             ETA_RD          =SIMP(statut='o',typ='R'),
+             ETA_ID          =SIMP(statut='o',typ='R'),
+             EPS_0           =SIMP(statut='o',typ='R'),
+             TAU_0           =SIMP(statut='o',typ='R'),
+             EPS_FL_L        =SIMP(statut='f',typ='R',defaut=3.0e-2 ),
+             ACTIV_LO        =SIMP(statut='f',typ='R',defaut=1.0 ),
+             F_C             =SIMP(statut='o',typ='R'),
+             F_T             =SIMP(statut='o',typ='R'),
+             ANG_CRIT        =SIMP(statut='f',typ='R',defaut=8.594367 ),
+             EPS_COMP        =SIMP(statut='o',typ='R'),
+             EPS_TRAC        =SIMP(statut='o',typ='R'),
+             LC_COMP         =SIMP(statut='o',typ='R',defaut=1.0  ),
+             LC_TRAC         =SIMP(statut='o',typ='R',defaut=1.0  ),
+             HYD_PRES        =SIMP(statut='f',typ='R',defaut=0.   ),
+             A_VAN_GE        =SIMP(statut='f',typ='R',defaut=0.0  ),
+             B_VAN_GE        =SIMP(statut='f',typ='R',defaut=1.9  ),
+             BIOT_EAU        =SIMP(statut='o',typ='R',defaut=0.3  ),
+             MODU_EAU        =SIMP(statut='o',typ='R',defaut=0.0  ),
+             W_EAU_0         =SIMP(statut='o',typ='R'),
+             BIOT_GEL        =SIMP(statut='o',typ='R'),
+             MODU_GEL        =SIMP(statut='o',typ='R'),
+             VOL_GEL         =SIMP(statut='o',typ='R'),
+             AVANC_LI        =SIMP(statut='o',typ='R'),
+             SEUIL_SR        =SIMP(statut='o',typ='R'),
+             PARA_CIN        =SIMP(statut='o',typ='R'),
+             ENR_AC_G        =SIMP(statut='o',typ='R'),
+           ),
            GLRC_DM         =FACT(statut='f',min=0,max=1,
              regles=(EXCLUS('GAMMA_C','SYC'),),
              GAMMA_T         =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0),
@@ -11585,7 +12023,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              BETA            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
              AFFINITE        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
              CHALHYDR        =SIMP(statut='o',typ='R'),
-             QSR_K           =SIMP(statut='o',typ='R'),
            ),
            THER            =FACT(statut='f',
              LAMBDA          =SIMP(statut='o',typ='R'),
@@ -11821,6 +12258,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
 # 5 -->  LIQU_GAZ
 # 6 -->  LIQU_GAZ_ATM
 # 9 -->  LIQU_AD_GAZ_VAPE
+# 10 -->  LIQU_AD_GAZ
 # =================================================================================
            COMP_THM        = SIMP(statut='f', typ='TXM',
                                   into = ( "LIQU_SATU"     ,
@@ -11830,6 +12268,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            "LIQU_VAPE_GAZ" ,
                                            "LIQU_VAPE"     ,
                                            "LIQU_AD_GAZ_VAPE" ,
+                                           "LIQU_AD_GAZ" ,
                                           ) ),
 # =================================================================================
 # --- LOI DE COUPLAGE DE TYPE LIQU_SATU -------------------------------------------
@@ -11877,6 +12316,10 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            PESA_Y        = SIMP(statut='o',typ='R'),
                                            PESA_Z        = SIMP(statut='o',typ='R'),
 # ---------------------------------------------------------------------------------
+# -------------------   DONNEES FACULTATIVES   ------------------------------------
+# ---------------------------------------------------------------------------------
+                                           PESA_MULT     = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---------------------------------------------------------------------------------
 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
 # ---------------------------------------------------------------------------------
                                            CP            = SIMP(statut='f',typ='R'),
@@ -11887,6 +12330,9 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINXY      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINYZ      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINZX      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -12018,6 +12464,10 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            VG_PR   = SIMP(statut='f',typ='R'),
                                            VG_SMAX = SIMP(statut='f',typ='R'),
                                            VG_SATUR = SIMP(statut='f',typ='R'),
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES FACULTATIVES   ------------------------------------
+# ---------------------------------------------------------------------------------
+                                           PESA_MULT     = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
 #
 # ---------------------------------------------------------------------------------
 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
@@ -12028,6 +12478,9 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINXY      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINYZ      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINZX      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -12150,6 +12603,10 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            PESA_Y           = SIMP(statut='o',typ='R'),
                                            PESA_Z           = SIMP(statut='o',typ='R'),
 # ---------------------------------------------------------------------------------
+# -------------------   DONNEES FACULTATIVES   ------------------------------------
+# ---------------------------------------------------------------------------------
+                                           PESA_MULT     = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---------------------------------------------------------------------------------
 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
 # ---------------------------------------------------------------------------------
                                            CP               = SIMP(statut='f',typ='R'),
@@ -12281,6 +12738,10 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
 # ---------------------------------------------------------------------------------
+# -------------------   DONNEES FACULTATIVES   ------------------------------------
+# ---------------------------------------------------------------------------------
+                                           PESA_MULT     = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---------------------------------------------------------------------------------
 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
 # ---------------------------------------------------------------------------------
                                            CP               = SIMP(statut='f',typ='R'),
@@ -12358,6 +12819,192 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              D_VISC_TEMP     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
            ),
                                  ),
+
+# =================================================================================
+# --- LOI DE COUPLAGE DE TYPE LIQU_AD_GAZ -------------------------------------
+# =================================================================================
+# --- PRESENCE OBLIGATOIRE DES MOT-CLES SUIVANT : ---------------------------------
+# --- THM_INIT, THM_DIFFU, THM_LIQU, THM_GAZ,  THM_AIR_DISSOUS---------
+# =================================================================================
+           b_liquadgaz  = BLOC(condition = "COMP_THM == 'LIQU_AD_GAZ' ",
+                                 fr="Paramètres nécessaires pour une loi de couplage de type LIQU_AD_GAZ",
+# =================================================================================
+# --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
+# =================================================================================
+                             THM_INIT   = FACT(statut='o',
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES OBLIGATOIRE   -------------------------------------
+# ---------------------------------------------------------------------------------
+                                           PRE1             = SIMP(statut='o',typ='R'),
+                                           PRE2             = SIMP(statut='o',typ='R'),
+                                           PORO             = SIMP(statut='o',typ='R'),
+                                           PRES_VAPE        = SIMP(statut='f',typ='R'),
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
+# ---------------------------------------------------------------------------------
+                                           TEMP             = SIMP(statut='f',typ='R'),
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES INUTILES   ----------------------------------------
+# ---------------------------------------------------------------------------------
+                                           DEGR_SATU        = SIMP(statut='f',typ='R'),
+                                           PRES_ATMO        = SIMP(statut='f',typ='R'),
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEE CACHEE ---------------------------------------------
+# ---------------------------------------------------------------------------------
+                                           COMP_THM         = SIMP(statut='c',typ='R',defaut= 10.0,),
+                                             ),
+# =================================================================================
+# --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
+# =================================================================================
+                             THM_DIFFU  = FACT(statut='o',
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES OBLIGATOIRE   -------------------------------------
+# ---------------------------------------------------------------------------------
+                                           R_GAZ            = SIMP(statut='o',typ='R'),
+                                           RHO              = SIMP(statut='o',typ='R'),
+                                           BIOT_COEF        = SIMP(statut='o',typ='R'),
+                                           PESA_X           = SIMP(statut='o',typ='R'),
+                                           PESA_Y           = SIMP(statut='o',typ='R'),
+                                           PESA_Z           = SIMP(statut='o',typ='R'),
+                                           SATU_PRES        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_SATU_PRES      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERM_LIQU        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERM_GAZ         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_SATU_GAZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_PRES_GAZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---Van Genhuchten et Muallen-----------------------------------------------------------------------------
+                                           VG_N     = SIMP(statut='f',typ='R'),
+                                           VG_SR    = SIMP(statut='f',typ='R'),
+                                           VG_PR    = SIMP(statut='f',typ='R'),
+                                           VG_SMAX  = SIMP(statut='f',typ='R'),
+                                           VG_SATUR = SIMP(statut='f',typ='R'),
+#
+                                           FICKV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           FICKA_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES FACULTATIVES   ------------------------------------
+# ---------------------------------------------------------------------------------
+                                           PESA_MULT     = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
+# ---------------------------------------------------------------------------------
+                                           CP               = SIMP(statut='f',typ='R'),
+                                           PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINXY      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINYZ      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINZX      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_LB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           LAMB_CT   = SIMP(statut='f',typ='R'),
+#
+                                  regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
+                                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',),
+                                            ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU',
+                                                            'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',),
+                                            ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',),
+                                            UN_PARMI('VG_N','SATU_PRES'),
+                                           ),
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES FACULTATIVES   ------------------------------------
+# ---------------------------------------------------------------------------------
+                                           EMMAG            = SIMP(statut='f',typ='R'),
+                                           SIGMA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_SIGMA_T        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERM_G_INTR      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           CHAL_VAPO        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           FICKV_PV         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           FICKV_PG         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           FICKV_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_FV_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_FV_PG          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+#
+                                           FICKA_PA         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           FICKA_PL         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           FICKA_S          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_FA_T          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES CACHEES -------------------------------------------
+# ---------------------------------------------------------------------------------
+                                             ) ,
+# =================================================================================
+# --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
+# =================================================================================
+                             THM_LIQU   = FACT(statut='o',
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES OBLIGATOIRE   -------------------------------------
+# ---------------------------------------------------------------------------------
+                                           RHO              = SIMP(statut='o',typ='R'),
+                                           UN_SUR_K         = SIMP(statut='o',typ='R'),
+                                           VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
+# ---------------------------------------------------------------------------------
+                                           ALPHA            = SIMP(statut='f',typ='R'),
+                                           CP               = SIMP(statut='f',typ='R'),
+                                           LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           LAMB_T    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           LAMB_CT        = SIMP(statut='f',typ='R'),
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES CACHEES -------------------------------------------
+# ---------------------------------------------------------------------------------
+                                             ),
+# =================================================================================
+# --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
+# =================================================================================
+                             THM_GAZ    = FACT(statut='o',
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES OBLIGATOIRE   -------------------------------------
+# ---------------------------------------------------------------------------------
+                                           MASS_MOL         = SIMP(statut='o',typ='R'),
+                                           VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
+# ---------------------------------------------------------------------------------
+                                           CP               = SIMP(statut='f',typ='R'),
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES CACHEES -------------------------------------------
+# ---------------------------------------------------------------------------------
+                                             ),
+# =================================================================================
+# --- MOT-CLE FACULTATIF ---------------------------------------------------------
+# =================================================================================
+                             THM_VAPE_GAZ = FACT(statut='f',
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES OBLIGATOIRE   -------------------------------------
+# ---------------------------------------------------------------------------------
+                                           MASS_MOL         = SIMP(statut='o',typ='R'),
+                                           CP               = SIMP(statut='o',typ='R'),
+                                           VISC             = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_VISC_TEMP      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES CACHEES -------------------------------------------
+# ---------------------------------------------------------------------------------
+                                             ),
+# =================================================================================
+# --- MOT-CLE OBLIGATOIRE ---------------------------------------------------------
+# =================================================================================
+                             THM_AIR_DISS = FACT(statut='o',
+# ---------------------------------------------------------------------------------
+# -------------------   DONNEES OBLIGATOIRE   -------------------------------------
+# ---------------------------------------------------------------------------------
+                                           CP               = SIMP(statut='o',typ='R'),
+                                           COEF_HENRY       = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                             ),
+                                 ),
+
 # =================================================================================
 # --- LOI DE COUPLAGE DE TYPE LIQU_VAPE_GAZ ---------------------------------------
 # =================================================================================
@@ -12421,6 +13068,10 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
 #
                                            FICKV_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
 # ---------------------------------------------------------------------------------
+# -------------------   DONNEES FACULTATIVES   ------------------------------------
+# ---------------------------------------------------------------------------------
+                                           PESA_MULT     = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---------------------------------------------------------------------------------
 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
 # ---------------------------------------------------------------------------------
                                            CP               = SIMP(statut='f',typ='R'),
@@ -12429,6 +13080,9 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINXY      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINYZ      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINZX      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -12574,6 +13228,10 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            FICKV_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            FICKA_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
 # ---------------------------------------------------------------------------------
+# -------------------   DONNEES FACULTATIVES   ------------------------------------
+# ---------------------------------------------------------------------------------
+                                           PESA_MULT     = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---------------------------------------------------------------------------------
 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
 # ---------------------------------------------------------------------------------
                                            CP               = SIMP(statut='f',typ='R'),
@@ -12582,6 +13240,9 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINXY      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINYZ      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINZX      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -12632,7 +13293,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
 # ---------------------------------------------------------------------------------
                                            ALPHA            = SIMP(statut='f',typ='R'),
                                            CP               = SIMP(statut='f',typ='R'),
-                                           LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           LAMB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_PHI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_T    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_T = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -12737,6 +13398,10 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            VG_SMAX = SIMP(statut='f',typ='R'),
                                            VG_SATUR = SIMP(statut='f',typ='R'),
 # ---------------------------------------------------------------------------------
+# -------------------   DONNEES FACULTATIVES   ------------------------------------
+# ---------------------------------------------------------------------------------
+                                           PESA_MULT     = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---------------------------------------------------------------------------------
 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
 # ---------------------------------------------------------------------------------
                                            CP               = SIMP(statut='f',typ='R'),
@@ -12745,6 +13410,9 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINXY      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINYZ      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERMINZX      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -12892,8 +13560,9 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              SEUIL_EPSP_CUMU =SIMP(statut='f',typ='R',defaut= 1.0E-6),
            ),
            NON_LOCAL       =FACT(statut='f',
-             regles=(AU_MOINS_UN('LONG_CARA','C_GONF','PENA_LAGR',),),
+             regles=(AU_MOINS_UN('LONG_CARA','C_GONF','C_GRAD_VARI','PENA_LAGR',),),
              LONG_CARA       =SIMP(statut='f',typ='R'),
+             C_GRAD_VARI     =SIMP(statut='f',typ='R'),             
              PENA_LAGR       =SIMP(statut='f',typ='R',defaut= 1.0E3),
              C_GONF          =SIMP(statut='f',typ='R'),
              COEF_RIGI_MINI  =SIMP(statut='f',typ='R'),
@@ -12912,6 +13581,17 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              PENA_ADHERENCE  =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
              PENA_CONTACT    =SIMP(statut='f',typ='R',defaut=1.),
            ),
+           JOINT_MECA_RUPT  =FACT(statut='f',
+             regles=(EXCLUS('PRES_FLUIDE','PRES_CLAVAGE'),),
+             K_N             =SIMP(statut='o',typ='R',val_min=1.E-12),
+             K_T             =SIMP(statut='f',typ='R',val_min=1.E-12),
+             SIGM_MAX        =SIMP(statut='o',typ='R',val_min=0.),
+             ALPHA           =SIMP(statut='f',typ='R',defaut=1., val_min=0., val_max=2.),
+             PENA_RUPTURE    =SIMP(statut='f',typ='R',val_min=1.E-12,val_max=10.E+0),
+             PENA_CONTACT    =SIMP(statut='f',typ='R',defaut=1.,val_min=1.E-12),
+             PRES_FLUIDE     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             PRES_CLAVAGE    =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           ),
            RCCM            =FACT(statut='f',
              regles=(ENSEMBLE('A_AMORC','B_AMORC','D_AMORC','R_AMORC'),),
              SY_02           =SIMP(statut='f',typ='R'),
@@ -13034,6 +13714,12 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              BETAM           =SIMP(statut='o',typ='R'),
              PREF            =SIMP(statut='o',typ='R'),
            ),
+             JOINT_BANDIS         =FACT(statut='f',
+             K                =SIMP(statut='o',typ='R'),
+             DMAX             =SIMP(statut='o',typ='R'),
+             GAMMA            =SIMP(statut='o',typ='R'),
+             KT               =SIMP(statut='f',typ='R',defaut = 1.E12),
+           ),
 ####  MONOCRISTAL
 
            ECOU_VISC1      =FACT(statut='f',
@@ -13153,6 +13839,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
 
            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )  ;
+
 #& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -13492,6 +14179,52 @@ DEFI_PART_PA_OPS=PROC(nom="DEFI_PART_PA_OPS",op=29,
          INFO            =SIMP(statut='f',typ='I',into=(1, 2), defaut=1),
 
 );
+#& MODIF COMMANDE  DATE 28/12/2009   AUTEUR COURTOIS M.COURTOIS 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2009  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
+# (AT YOUR OPTION) ANY LATER VERSION.                                                  
+#                                                                       
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
+#                                                                       
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
+# ======================================================================
+# RESPONSABLE COURTOIS M.COURTOIS
+
+from Miss.defi_sol_miss_ops import defi_sol_miss_ops
+
+DEFI_SOL_MISS = MACRO(nom="DEFI_SOL_MISS",op=defi_sol_miss_ops, sd_prod=table_sdaster,
+                      fr="Définition des données de sol pour Miss", reentrant='n',
+                      UIinfo={"groupes":("Modélisation",)},
+   MATERIAU = FACT(statut='o', max='**',
+            fr="Définition des matériaux",
+      E         = SIMP(statut='o', typ='R', fr="Module d'Young"),
+      NU        = SIMP(statut='o', typ='R', fr="Coefficient de Poisson"),
+      RHO       = SIMP(statut='o', typ='R', fr="Masse volumique"),
+      AMOR_HYST = SIMP(statut='o', typ='R', fr="Coefficient d'amortissement"),
+   ),
+   COUCHE = FACT(statut='o', max='**',
+                 fr="Définition des couches",
+      regles=(AU_MOINS_UN('EPAIS','SUBSTRATUM'),),
+      SUBSTRATUM= SIMP(statut='f', typ='TXM', into=("OUI","NON"),),
+      EPAIS     = SIMP(statut='f', typ='R', fr="Epaisseur de la couche"),
+      RECEPTEUR = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON"),),
+      SOURCE    = SIMP(statut='f', typ='TXM', defaut="NON", into=("OUI", "NON"),),
+      NUME_MATE = SIMP(statut='o', typ='I', fr="Numéro du matériau"),
+   ),
+   TITRE = SIMP(statut='f', typ='TXM', max='**',
+                fr="Titre de la table produite"),
+   INFO  = SIMP(statut='f', typ='I', defaut=1, into=(1,2)),
+)
+
 #& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -14086,7 +14819,7 @@ DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
 # Rajouter test icompatibilite vect_asse et sensibilite
 # Peut-on aussi rajouter ici le test d incompatibilite charge complexe - derivation
 #  presents dans le Fortran
-#& MODIF COMMANDE  DATE 13/10/2009   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 18/01/2010   AUTEUR TARDIEU N.TARDIEU 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14200,10 +14933,15 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op=  48,sd_prod=dyna_trans,
            ),
 
            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
-             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
-             NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
-             RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6),
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","LDLT_SP",),defaut="LDLT_INC" ),
+             b_ldltinc       =BLOC(condition = "PRE_COND == 'LDLT_INC' ", fr="Paramètres de la factorisation incomplète",
+               NIVE_REMPLISSAGE    =SIMP(statut='f',typ='I',defaut= 0 ),
+               RENUM               =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+               ),
+             b_simple        =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision",
+               REAC_PRECOND        =SIMP(statut='f',typ='I',defaut=5, ),
+               ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
            ),
            b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
@@ -14266,7 +15004,7 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op=  48,sd_prod=dyna_trans,
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 13/10/2009   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 12/04/2010   AUTEUR MICHEL S.MICHEL 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14317,6 +15055,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            FONC_MULT       =SIMP(statut='f',typ=fonction_sdaster,max='**' ),
            VECT_GENE       =SIMP(statut='f',typ=vect_asse_gene,max='**' ),
          ),
+         CONTACT         =SIMP(statut='f',typ=char_contact),
          SOUS_STRUC      =FACT(statut='f',min=01,max='**',
                 regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
@@ -14346,7 +15085,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC","ELAS_VMIS_PUIS",
                                       "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")),
-           DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
+           DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GROT_GDEP",) ),
       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
@@ -14355,7 +15094,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
-                                 into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
+                                 into=("IMPLICITE",)),
          ),
 #-------------------------------------------------------------------
          b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
@@ -14409,7 +15148,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
          ),),
 #-------------------------------------------------------------------
-         INCREMENT       =FACT(statut='f',
+         INCREMENT       =FACT(statut='o',
            regles=(EXCLUS('NUME_INST_FIN','INST_FIN'),),
            LIST_INST       =SIMP(statut='o',typ=(listr8_sdaster,list_inst)),
            INST_INIT       =SIMP(statut='f',typ='R'),
@@ -14424,29 +15163,29 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
 #-------------------------------------------------------------------
          SCHEMA_TEMPS     =FACT(statut='o',
             SCHEMA          =SIMP(statut='o',min=1,max=1,typ='TXM',
-                                  into=("DIFF_CENT","TCHAMWA","NEWMARK","HHT","THETA_METHODE","KRENK"),),
+            into=("DIFF_CENT","TCHAMWA","NEWMARK","HHT","THETA_METHODE","KRENK"),),
             COEF_MASS_SHIFT =SIMP(statut='f',typ='R',defaut= 0.0E+0 ),
             b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'",
                PHI          =SIMP(statut='f',typ='R',defaut= 1.05),),
-
+               
             b_newmark = BLOC(condition="SCHEMA=='NEWMARK'",
                BETA         =SIMP(statut='f',typ='R',defaut= 0.25),
                GAMMA        =SIMP(statut='f',typ='R',defaut= 0.5),),
-
+               
             b_hht     = BLOC(condition="SCHEMA=='HHT'",
                ALPHA        =SIMP(statut='f',typ='R',defaut= -0.3 ),
                MODI_EQUI    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),),
-
+               
             b_theta   = BLOC(condition="SCHEMA=='THETA_METHODE'",
                THETA         =SIMP(statut='f',typ='R',defaut= 1.,val_min=0.5,val_max=100. ),),
 
             b_krenk   = BLOC(condition="SCHEMA=='KRENK'",
-               KAPPA         =SIMP(statut='f',typ='R',defaut= 1.0,val_min=1.0,val_max=100. ),),
-
+               KAPPA         =SIMP(statut='f',typ='R',defaut= 1.0,val_min=1.0,val_max=100. ),), 
+               
             b_explicit= BLOC(condition="SCHEMA=='TCHAMWA'or SCHEMA=='DIFF_CENT'",
                STOP_CFL     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),),
                FORMULATION  =SIMP(statut='o',typ='TXM',into=("ACCELERATION",),),),
-
+               
             b_implicit= BLOC(condition="SCHEMA!='TCHAMWA'and SCHEMA!='DIFF_CENT'",
                FORMULATION  =SIMP(statut='o',max=1,typ='TXM',into=("DEPLACEMENT","VITESSE","ACCELERATION"),),),
          ),
@@ -14474,7 +15213,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
              TYPE_RESOL      =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("NONSYM","SYMGEN","SYMDEF","AUTO")),
              PRETRAITEMENTS  =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
-             POSTTRAITEMENTS =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO","FORCE")),             
+             POSTTRAITEMENTS =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO","FORCE")),
              RENUM           =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
              ELIM_LAGR2      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
              PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=10,),
@@ -14483,10 +15222,15 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
              FILTRAGE_MATRICE=SIMP(statut='f',typ='R',defaut=-1.0,),
              MIXER_PRECISION =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
-           b_gcpc          =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué",
-             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
-             NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut=0),
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+           b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","LDLT_SP",),defaut="LDLT_INC" ),
+             b_ldltinc       =BLOC(condition = "PRE_COND == 'LDLT_INC' ", fr="Paramètres de la factorisation incomplète",
+               NIVE_REMPLISSAGE    =SIMP(statut='f',typ='I',defaut= 0 ),
+               RENUM               =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+               ),
+             b_simple        =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision",
+               REAC_PRECOND        =SIMP(statut='f',typ='I',defaut=5, ),
+               ),
              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
            ),
@@ -14496,16 +15240,16 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
              b_petsc_ilu     =BLOC(condition = "PRE_COND == 'LDLT_INC' ",
               NIVE_REMPLISSAGE = SIMP(statut='f',typ='I',defaut= 0 ),
               REMPLISSAGE      = SIMP(statut='f',typ='R',defaut= 1.0),
-             ),
+             ),            
              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= -1 ),
-           ),
+           ),           
            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
          ),
 #-------------------------------------------------------------------
          CONVERGENCE     =FACT(statut='d',
-           regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
+           regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA','RESI_COMP_RELA'),),
            b_refe_rela    =BLOC(condition = "RESI_REFE_RELA != None",
              regles=(AU_MOINS_UN('SIGM_REFE','EPSI_REFE','FLUX_THER_REFE',
                                   'FLUX_HYD1_REFE','FLUX_HYD2_REFE','VARI_REFE'),),
@@ -14519,20 +15263,21 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
            RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
+           RESI_COMP_RELA  =SIMP(statut='f',typ='R'),
            ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
            TYPE            =SIMP(statut='f',typ='TXM',defaut="PIC",into=("PIC","PLATEAU")),
            b_plateau    =BLOC(condition = "TYPE == 'PLATEAU' ",
-
+             
              PLATEAU_ITER    =SIMP(statut='f',typ='I',defaut=3, val_min =2),
-             PLATEAU_RELA    =SIMP(statut='f',typ='R',defaut=1E-3),
+             PLATEAU_RELA    =SIMP(statut='f',typ='R',defaut=1E-3),                   
            ),
            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
-
+           
          ),
 #-------------------------------------------------------------------
          OBSERVATION     =FACT(statut='f',max='**',
-           NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
+           NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
            SUIVI_DDL       =SIMP(statut='f',typ='TXM',defaut="NON",max=1,into=("OUI","NON")),
          b_suivi          =BLOC(condition = "SUIVI_DDL == 'OUI' ",
                                 regles=(UN_PARMI('NOEUD','MAILLE','GROUP_NO','GROUP_MA','VALE_MIN','VALE_MAX'),
@@ -14619,6 +15364,18 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            NB_FREQ         =SIMP(statut='f',typ='I',max=1,defaut=3),
            CHAR_CRIT       =SIMP(statut='f',typ='R',min=2,max=2,defaut=(-10.0,10.),
                             fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),
+           RIGI_GEOM     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
+           bloc_ddl_exclus=BLOC(condition="(RIGI_GEOM=='NON')",
+              DDL_EXCLUS      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40,
+                                    into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
+                                          'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
+                                          'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
+                                          'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
+                                          'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX',
+                                          'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
+                                          'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22',
+                                          'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23',
+                                          'PRES31','PRES32','PRES33','VARI','LAG_GV')),),
            INST_CALCUL       =SIMP(statut='f',typ='TXM',defaut="LISTE_ARCHIVAGE",into=("LISTE_ARCHIVAGE","TOUT_PAS",) ),
          ),
          MODE_VIBR     =FACT(statut='f',min=1,max=1,
@@ -14636,7 +15393,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
 #-------------------------------------------------------------------
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-)  ;
+)
 #& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -14667,7 +15424,7 @@ DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=table_fonction,
          OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 13/10/2009   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 19/04/2010   AUTEUR GREFFET N.GREFFET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14703,6 +15460,12 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
          MODE_STAT       =SIMP(statut='f',typ=mode_meca ),
          MODE_CORR       =SIMP(statut='f',typ=(mult_elas,mode_meca),),
 
+         COUPLAGE_EDYOS     =FACT(statut='f',max=1,         
+                             VITE_ROTA          = SIMP(statut='o',typ='R' ),
+                             PAS_TPS_EDYOS      = SIMP(statut='o',typ='R' ),
+                             UNITE              = SIMP(statut='f',typ='I',defaut=45),
+         ),
+
          ETAT_INIT       =FACT(statut='f',
            regles=(EXCLUS('RESU_GENE','DEPL_INIT_GENE'),
                    EXCLUS('RESU_GENE','VITE_INIT_GENE'),),
@@ -14729,6 +15492,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
            PAS_LIMI_RELA   =SIMP(statut='f',typ='R',defaut= 1.0E-6 ),
            NB_POIN_PERIODE =SIMP(statut='f',typ='I',defaut= 50 ),
            NMAX_ITER_PAS   =SIMP(statut='f',typ='I',defaut= 16 ),
+           PAS_MAXI         =SIMP(statut='f',typ='R' ),
          ),
          ARCHIVAGE       =FACT(statut='f',
            regles=(UN_PARMI('LIST_ARCH','PAS_ARCH'),),
@@ -14793,8 +15557,12 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
            AMOR_NOR        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
            RIGI_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
            AMOR_TAN        =SIMP(statut='f',typ='R' ),
-           COULOMB         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
-
+           FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","COULOMB","COULOMB_STAT_DYNA") ),
+           b_coulomb       =BLOC(condition="FROTTEMENT=='COULOMB'",
+               COULOMB         =SIMP(statut='o',typ='R' ),),
+           b_coulomb_stat_dyna  =BLOC(condition="FROTTEMENT=='COULOMB_STAT_DYNA'",
+               COULOMB_STAT    =SIMP(statut='o',typ='R' ),
+               COULOMB_DYNA    =SIMP(statut='o',typ='R' ),),
            LAME_FLUIDE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
            b_lame          =BLOC(condition="LAME_FLUIDE=='OUI'",
                ALPHA           =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
@@ -15059,7 +15827,7 @@ EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod,
            CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",into=("MASS_EFFE_UN","MASS_GENE") ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 11/05/2009   AUTEUR NISTOR I.NISTO
+#& MODIF COMMANDE  DATE 18/05/2010   AUTEUR MEUNIER S.MEUNIE
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15083,6 +15851,7 @@ def extr_resu_prod(RESULTAT,**args):
   if AsType(RESULTAT) == evol_elas    : return evol_elas
   if AsType(RESULTAT) == evol_noli    : return evol_noli
   if AsType(RESULTAT) == evol_ther    : return evol_ther
+  if AsType(RESULTAT) == evol_varc    : return evol_varc
   if AsType(RESULTAT) == dyna_trans   : return dyna_trans
   if AsType(RESULTAT) == dyna_harmo   : return dyna_harmo
   if AsType(RESULTAT) == acou_harmo   : return acou_harmo
@@ -15090,16 +15859,17 @@ def extr_resu_prod(RESULTAT,**args):
   if AsType(RESULTAT) == mode_acou    : return mode_acou
   if AsType(RESULTAT) == mult_elas    : return mult_elas
   if AsType(RESULTAT) == fourier_elas : return fourier_elas
+
   raise AsException("type de concept resultat non prevu")
 
 EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f',
             UIinfo={"groupes":("Résultats et champs",)},
             fr="Extraire des champs au sein d'une SD Résultat",
-         regles=(CONCEPT_SENSIBLE('SEPARE'), 
+         regles=(CONCEPT_SENSIBLE('SEPARE'),
                  #REUSE_SENSIBLE(),
                  DERIVABLE('RESULTAT'),),
          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca,
-                                               mode_acou,evol_ther,evol_noli,
+                                               mode_acou,evol_ther,evol_noli,evol_varc,
                                                mult_elas,fourier_elas,fourier_ther ) ),
 
          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
@@ -15187,7 +15957,7 @@ EXTR_TABLE=OPER(nom="EXTR_TABLE",op=173,sd_prod=extr_table_prod,reentrant='n',
 
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
 )  ;
-#& MODIF COMMANDE  DATE 13/10/2009   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 18/01/2010   AUTEUR TARDIEU N.TARDIEU 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15243,11 +16013,14 @@ FACTORISER=OPER(nom="FACTORISER",op=14,sd_prod=factoriser_prod,
          OUT_OF_CORE  =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
          
          # mots clés pour solveur GCPC et PETSc :
-         PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","JACOBI","SOR"),defaut="LDLT_INC" ),
-         b_petsc_ilu     =BLOC(condition = "PRE_COND == 'LDLT_INC' ",
+         PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","JACOBI","SOR","LDLT_SP"),defaut="LDLT_INC" ),
+         b_petsc_ilu     =BLOC(condition = "PRE_COND == 'LDLT_INC' ",fr="Paramètres de la factorisation incomplete",
            NIVE_REMPLISSAGE = SIMP(statut='f',typ='I',defaut= 0 ),
            REMPLISSAGE      = SIMP(statut='f',typ='R',defaut= 1.0),
          ),
+         b_simple        =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision",
+           REAC_PRECOND        =SIMP(statut='f',typ='I',defaut=5, ),
+         ),
 
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
@@ -15526,7 +16299,7 @@ IMPR_CO=PROC(nom="IMPR_CO",op=17,
          POSITION        =SIMP(statut='f',typ='I',defaut=1),
          TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
 )  ;
-#& MODIF COMMANDE  DATE 28/07/2009   AUTEUR TORKHANI M.TORKHANI 
+#& MODIF COMMANDE  DATE 22/12/2009   AUTEUR TORKHANI M.TORKHANI 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2009  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15551,8 +16324,7 @@ from Macro.impr_diag_campbell_ops import impr_diag_campbell_ops
 IMPR_DIAG_CAMPBELL=MACRO(nom="IMPR_DIAG_CAMPBELL",op=impr_diag_campbell_ops, fr="Tracer du Diagramme de Campbell",
             UIinfo={"groupes":("Post-traitements",)},
             MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
-            MODES           =SIMP(statut='o',max='**',typ=mode_meca),
-            VITE_ROTA        =SIMP(statut='o',typ='R',max='**'),
+            MODES           =SIMP(statut='o',typ=table_container),
             NFREQ_camp      =SIMP(statut='o',typ='I' ),
             TYP_PREC        =SIMP(statut='f',typ='I',defaut= 1, into=(1,2) ),
             TYP_TRI         =SIMP(statut='f',typ='I',defaut= 2, into=(0,1,2) ),
@@ -16017,7 +16789,7 @@ IMPR_OAR =MACRO(nom="IMPR_OAR",op= impr_oar_ops, sd_prod=None,
    UNITE = SIMP(statut='f',typ='I',defaut=38),
    AJOUT = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')),
    );
-#& MODIF COMMANDE  DATE 12/10/2009   AUTEUR SELLENET N.SELLENET 
+#& MODIF COMMANDE  DATE 12/04/2010   AUTEUR SELLENET N.SELLENET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -16141,7 +16913,6 @@ IMPR_RESU=PROC(nom="IMPR_RESU",op=39,
 ###
            b_parametres    =BLOC(condition="""(RESULTAT != None)and(FORMAT == 'RESULTAT')""",
              regles=(EXCLUS('TOUT_PARA','NOM_PARA'),),
-             INFO_RESU       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
              TOUT_PARA       =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ),
              NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
              FORM_TABL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON","EXCEL") ),
@@ -16562,6 +17333,54 @@ INFO_FONCTION=MACRO(nom="INFO_FONCTION",op=info_fonction_ops,sd_prod=info_foncti
          ),     
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )
+#& MODIF COMMANDE  DATE 12/04/2010   AUTEUR SELLENET N.SELLENET 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2010  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
+# (AT YOUR OPTION) ANY LATER VERSION.                                                  
+#                                                                       
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
+#                                                                       
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
+# ======================================================================
+# RESPONSABLE SELLENET N.SELLENET
+INFO_RESU=PROC(nom="INFO_RESU",op=40,
+               UIinfo={"groupes":("Impression",)},
+               fr="Imprimer tous les champs présents dans une structure de données résultat",
+               RESULTAT=SIMP(statut='f',typ=resultat_sdaster),
+               UNITE=SIMP(statut='f',typ='I',defaut=6),
+);
+#& MODIF COMMANDE  DATE 16/02/2010   AUTEUR GREFFET N.GREFFET 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2010  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
+# (AT YOUR OPTION) ANY LATER VERSION.                                                  
+#                                                                       
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
+#                                                                       
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
+# ======================================================================
+# RESPONSABLE GREFFET
+INIT_COMPO=PROC(nom="INIT_COMPO",op=  117,
+                    fr="Initialiser adresse component YACS",
+           COMPO           =SIMP(statut='o',typ='I',),
+)  ;
 #& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -16919,7 +17738,7 @@ LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",op=lire_inte_spec_ops,sd_prod=table_fo
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
+#& MODIF COMMANDE  DATE 07/12/2009   AUTEUR REZETTE C.REZETT
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -16968,7 +17787,7 @@ LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op=   1,sd_prod=maillage_sdaster,
             NOM_MED    = SIMP(statut='f',typ='TXM',
                               fr="Nom du maillage dans le fichier MED.",
                               ang="Name of the mesh into the MED file.",),
-            INFO_MED   = SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
+            INFO_MED   = SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3) ),
 #
             RENOMME = FACT(statut='f', max='**',
                                  fr="Renommer un nom de groupe MED",
@@ -17059,7 +17878,7 @@ LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char,
                    PRECISION       =SIMP(statut='o',typ='R',),),),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 15/03/2010   AUTEUR SELLENET N.SELLENET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17102,7 +17921,7 @@ def l_nom_cham_pas_elga(): return (
      "ENEL_ELNO_ELGA", "ENEL_NOEU_ELGA", "EPEQ_ELNO_TUYO", "EPGR_ELNO", "EPME_ELNO_DEPL",
      "EPMG_ELNO_DEPL", "EPMG_NOEU_DEPL", "EPOT_ELEM_DEPL", "EPSA_ELNO", "EPSA_NOEU",
      "EPSG_ELNO_DEPL", "EPSG_NOEU_DEPL", "EPSI_ELNO_DEPL", "EPSI_ELNO_TUYO", "EPSI_NOEU_DEPL",
-     "EPSP_ELNO", "EPSP_ELNO_ZAC", "EPSP_NOEU", "EPSP_NOEU_ZAC", "EQUI_ELNO_EPME", "EQUI_ELNO_EPSI",
+     "EPSP_ELNO", "EPSP_NOEU", "EQUI_ELNO_EPME", "EQUI_ELNO_EPSI",
      "EQUI_ELNO_SIGM", "EQUI_NOEU_EPME", "EQUI_NOEU_EPSI", "EQUI_NOEU_SIGM", "ERRE_ELEM_NOZ1",
      "ERRE_ELEM_NOZ2", "ERRE_ELNO_ELGA", "ERRE_NOEU_ELGA", "ERTH_ELEM_TEMP", "ERTH_ELNO_ELEM",
      "ETOT_ELEM", "ETOT_ELNO_ELGA", "FLUX_ELNO_TEMP", "FLUX_NOEU_TEMP", "FORC_NODA", "FSUR_2D",
@@ -17114,8 +17933,8 @@ def l_nom_cham_pas_elga(): return (
      "RADI_ELNO_SIGM", "RADI_NOEU_SIGM", "REAC_NODA",
      "SIEF_ELNO", "SIEF_ELNO_ELGA", "SIEF_NOEU", "SIEF_NOEU_ELGA", "SIEQ_ELNO_TUYO",
      "SIGM_ELNO_CART", "SIGM_ELNO_COQU", "SIGM_ELNO_DEPL", "SIGM_ELNO_SIEF",
-     "SIGM_ELNO_TUYO", "SIGM_ELNO_ZAC", "SIGM_NOEU_CART", "SIGM_NOEU_COQU",
-     "SIGM_NOEU_DEPL", "SIGM_NOEU_SIEF", "SIGM_NOEU_ZAC", "SIGM_NOZ1_ELGA",
+     "SIGM_ELNO_TUYO", "SIGM_NOEU_CART", "SIGM_NOEU_COQU",
+     "SIGM_NOEU_DEPL", "SIGM_NOEU_SIEF", "SIGM_NOZ1_ELGA",
      "SIGM_NOZ2_ELGA", "SIPO_ELNO_DEPL", "SIPO_ELNO_SIEF", "SIPO_NOEU_DEPL",
      "SIPO_NOEU_SIEF", "SIRE_ELNO_DEPL", "SIRE_NOEU_DEPL", "TEMP", "THETA",
      "VALE_CONT", "VALE_NCOU_MAXI", "VARI_ELNO", "VARI_ELNO_COQU",
@@ -17189,7 +18008,6 @@ LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n',
          ),
          b_dataset_58_b = BLOC(condition="(FORMAT=='IDEAS_DS58') and ((TYPE_RESU=='DYNA_TRANS') or\
                                         (TYPE_RESU=='DYNA_HARMO') or (TYPE_RESU=='HARM_GENE'))",
-           UNITE           =SIMP(statut='f',typ='I',defaut= 19 ),
            NOM_CHAM=SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE","EPSI_NOEU_DEPL","SIEF_NOEU",) ),
            REDEFI_ORIENT=FACT(statut='f',max='**',
                               regles=(PRESENT_PRESENT('CODE_DIR','DIRECTION','NOEUD',),),
@@ -17238,10 +18056,11 @@ LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n',
 # ---------
          b_med           =BLOC(condition = "FORMAT == 'MED'",fr="Nom du champ dans le fichier MED",
            UNITE           =SIMP(statut='f',typ='I',defaut= 81, fr="Le fichier est : fort.n.",),
-           FORMAT_MED      =FACT(statut='f',max='**',
-             regles=(ENSEMBLE('NOM_CMP','NOM_CMP_MED'),),
+           FORMAT_MED      =FACT(statut='o',max='**',
+             regles=(ENSEMBLE('NOM_CMP','NOM_CMP_MED'),UN_PARMI('NOM_CHAM_MED','NOM_RESU'),),
              NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO(),),
-             NOM_CHAM_MED    =SIMP(statut='o',typ='TXM',               fr="Nom du champ dans le fichier MED.",  ),
+             NOM_CHAM_MED    =SIMP(statut='f',typ='TXM',               fr="Nom du champ dans le fichier MED.",  ),
+             NOM_RESU        =SIMP(statut='f',typ='TXM',               fr="Prefixe du nom de champ dans le fichier MED.",  ),
              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**',      fr="Nom des composantes dans ASTER.", ),
              NOM_CMP_MED     =SIMP(statut='f',typ='TXM',max='**',      fr="Nom des composantes dans MED.", ),
            ),
@@ -17343,7 +18162,7 @@ MAC_MODES=OPER(nom="MAC_MODES",op=  141,sd_prod=table_sdaster,
          TITRE      =SIMP(statut='f',typ='TXM',max='**'),
          INFO       =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 20/10/2008   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 15/03/2010   AUTEUR GNICOLAS G.NICOLAS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17388,7 +18207,7 @@ def macr_adap_mail_prod(self,MAJ_CHAM,ADAPTATION,**args):
 
 MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_adap_mail_prod,
                      fr="Adapter un maillage avec le logiciel HOMARD.",
-                     ang="Mesh adaptation with HOMARD software.",
+                     ang="Mesh adaptation with the HOMARD software.",
                      docu="U7.03.01-b",UIinfo={"groupe":("Maillage",)},
 #
 # 1. Le niveau d'information
@@ -17397,8 +18216,8 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
 # 2. Version de HOMARD
 #
-  VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V9_5",
-                        into=("V9_5", "V9_N", "V9_N_PERSO"),
+  VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V9_6",
+                        into=("V9_6", "V9_N", "V9_N_PERSO"),
                         fr="Version de HOMARD",
                         ang="HOMARD release"),
 #
@@ -17407,7 +18226,7 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
   LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
                 into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
                 fr="Langue des messages produits par HOMARD.",
-                ang="Language for HOMARD messages." ),
+                ang="Language for the HOMARD messages." ),
 #
 # 4. Les maillages
 # 4.1. Quel que soit le type de traitement, il faut donner  :
@@ -17436,13 +18255,15 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #  . Raffinement seul, selon des zones geometriques
 #  . Raffinement uniforme : toutes les mailles sont divisées
 #  . Deraffinement uniforme : toutes les mailles sont regroupées
+#  . Modification : le maillage subit des transformations specifiques
 #  . Rien : le maillage est le meme a la sortie et a l'entree
 #
   ADAPTATION = SIMP(statut='o',typ='TXM',
                     into=("RAFF_DERA","RAFFINEMENT","DERAFFINEMENT","RAFFINEMENT_ZONE", \
-                          "RAFFINEMENT_UNIFORME","DERAFFINEMENT_UNIFORME","RIEN"),    
+                          "RAFFINEMENT_UNIFORME","DERAFFINEMENT_UNIFORME", \
+                          "MODIFICATION","RIEN"),
                     fr="Pilotage de l'adaptation : selon un indicateur d'erreur ou uniforme.",
-                    ang="Adaptation control : among an error indicator or uniform" ),
+                    ang="Adaptation control : either among an error indicator or uniform" ),
 #
 # 6. Pour de l'adaptation libre, il faut un indicateur d'erreur
 #
@@ -17450,7 +18271,7 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
                                               (ADAPTATION == 'RAFFINEMENT') or \
                                               (ADAPTATION == 'DERAFFINEMENT') " ,
                                 fr="Pour une adaptation libre, choix de l'indicateur d'erreur ou d'une zone à raffiner",
-                                ang="For free adaptation, selection of error indicator or zone",
+                                ang="For a free adaptation, selection of the error indicator or of a zone",
 #
     regles=(UN_PARMI('CHAM_GD','RESULTAT_N')),
 #
@@ -17466,12 +18287,12 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
     RESULTAT_N = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) ,
                       fr="Concept resultat Code_Aster contenant l'indicateur d'erreur",
-                      ang="Code_Aster result with error indicator" ),
+                      ang="The Code_Aster result with error indicator" ),
 #
     b_champ_indicateur = BLOC(condition="(RESULTAT_N != None)",
-      INDICATEUR = SIMP(statut='o',typ='TXM',     
+      INDICATEUR = SIMP(statut='o',typ='TXM',
                         fr="Champ de l'indicateur d'erreur dans le résultat",
-                        ang="Error indicator field in the result structure" ),
+                        ang="The error indicator field in the result structure" ),
     ),
 #
 # 6.1.3. Est-ce un champ dérivé
@@ -17486,15 +18307,15 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
     ),
 #
-# 6.1.4. La composante retenue
+# 6.1.4. La ou les composantes retenues
 #
     b_composante = BLOC(condition=" (RESULTAT_N != None) or (CHAM_GD != None) ",
-                        fr="Choix de la composante pour l'indicateur",
-                        ang="Component selection for error indicator",
+                        fr="Choix de la composante ou des composantes pour l'indicateur",
+                        ang="Selection of the component(s) for the error indicator",
 #
-      NOM_CMP_INDICA = SIMP(statut='o',typ='TXM',
-                            fr="Composante retenue pour l'indicateur d'erreur",
-                            ang="Selected component for error indicator" ),
+      NOM_CMP_INDICA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
+                            fr="Liste des composante(s) retenue(s) pour l'indicateur d'erreur.",
+                            ang="List of the selected component(s) for the error indicator." ),
 #
     ),
 #
@@ -17502,7 +18323,7 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
     b_parametre_temporel = BLOC(condition="(RESULTAT_N != None)",
                                 fr="Choix éventuel du paramètre temporel pour l'indicateur",
-                                ang="Time selection for error indicator (option)",
+                                ang="Time selection for the error indicator (option)",
 #
       regles=(EXCLUS('NUME_ORDRE','INST'),),
 #
@@ -17510,7 +18331,7 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
       NUME_ORDRE = SIMP(statut='f',typ='I',
                         fr="Numero d ordre",
-                        ang="Rank" ),  
+                        ang="Rank" ),
 #
 # 6.1.5.2. Soit l'instant
 # 6.1.5.2.1. Sa valeur
@@ -17523,31 +18344,32 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
       b_precision = BLOC(condition="(INST != None)",
                          fr="Choix de la précision du choix de l'instant",
-                         ang="Selection for instant choice",
+                         ang="Precision for the choice of the instant",
         CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),
                          fr="Critère de précision sur le choix de l'instant associé",
-                         ang="Accuracy criterium over instant choice"),
+                         ang="Accuracy criterium over the choice of the instant"),
         b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-6,
                              fr="Précision relative sur le choix de l'instant associé",
-                             ang="Relative accuracy over instant choice"),),
+                             ang="Relative accuracy over the choice of the instant"),),
         b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
             PRECISION       =SIMP(statut='o',typ='R',
                              fr="Précision absolue sur le choix de l'instant associé",
-                             ang="Absolute accuracy over instant choice"),),
+                             ang="Absolute accuracy over the choice of the instant"),),
       ),
 #
     ),
 #
-# 6.1.6. Type de valeur de l'indicateur : absolue ou relative
+# 6.1.6. Type de valeur de l'indicateur : absolue (norme L2), norme infinie, ou relative
 #
     b_valeur_indicateur = BLOC(condition=" (RESULTAT_N != None) or (CHAM_GD != None) ",
                                fr="Type de valeur pour l'indicateur",
-                               ang="Value type for error indicator",
+                               ang="Type of the value type for the error indicator",
 #
-      TYPE_VALEUR_INDICA = SIMP(statut='f',typ='TXM',defaut="V_ABSOLUE",into=("V_ABSOLUE","V_RELATIVE"),
-                                fr="Valeur absolue ou relative pour l'indicateur",
-                                ang="Absolute or relative value for error indicator" ),
+      TYPE_VALEUR_INDICA = SIMP(statut='f',typ='TXM',defaut="V_ABSOLUE",
+                                into=("V_ABSOLUE", "NORME_L2", "NORME_INFINIE", "V_RELATIVE"),
+                                fr="Valeur absolue, norme des composantes ou valeur relative pour l'indicateur",
+                                ang="Absolute value, norm or relative value for the error indicator" ),
 #
     ),
 #
@@ -17555,11 +18377,11 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
     b_usage_indicateur = BLOC(condition=" (RESULTAT_N != None) or (CHAM_GD != None) ",
                               fr="Usage de l'indicateur : direct ou saut",
-                              ang="Use type for error indicator : direct or jump",
+                              ang="Use type for the error indicator : direct or jump",
 #
       TYPE_OPER_INDICA = SIMP(statut='f',typ='TXM',defaut="MAILLE",into=("MAILLE","SAUT"),
                               fr="Usage de l'indicateur : la valeur par maille ou le saut entre mailles voisines",
-                              ang="Use of indicator : value over every mesh or jump between neighbour" ),
+                              ang="Use of the indicator : value over every mesh or jump between neighbour" ),
 #
     ),
 #
@@ -17578,13 +18400,13 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
     CRIT_RAFF_ABS = SIMP(statut='f',typ='R',
                          fr="Critère absolu",
-                         ang="Absolute threshold" ),  
+                         ang="Absolute threshold" ),
     CRIT_RAFF_REL = SIMP(statut='f',typ='R',
                          fr="Critère relatif : fraction réelle entre 0. et 1.",
-                         ang="Relative threshold : ratio between 0. and 1." ),  
+                         ang="Relative threshold : ratio between 0. and 1." ),
     CRIT_RAFF_PE  = SIMP(statut='f',typ='R',
-                         fr="Pourcentage d'éléments : fraction réelle entre 0. et 1.",
-                         ang="Percentage of elements : ratio between 0. and 1." ),  
+                         fr="Pourcentage de mailles : fraction réelle entre 0. et 1.",
+                         ang="Percentage of meshes : ratio between 0. and 1." ),
   ) ,
 #
 # 7.2. Pour le deraffinement :
@@ -17598,70 +18420,153 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
     CRIT_DERA_ABS = SIMP(statut='f',typ='R' ,
                          fr="Critère absolu",
-                         ang="Absolute threshold" ),  
+                         ang="Absolute threshold" ),
     CRIT_DERA_REL = SIMP(statut='f',typ='R',
                          fr="Critère relatif : fraction réelle entre 0. et 1.",
-                         ang="Relative threshold : ratio between 0. and 1." ),  
+                         ang="Relative threshold : ratio between 0. and 1." ),
     CRIT_DERA_PE  = SIMP(statut='f',typ='R',
-                         fr="Pourcentage d'éléments : fraction réelle entre 0. et 1.",
-                         ang="Percentage of elements : ratio between 0. and 1." ),  
+                         fr="Pourcentage de mailles : fraction réelle entre 0. et 1.",
+                         ang="Percentage of meshes : ratio between 0. and 1." ),
   ) ,
 #
 # 8. Pour de l'adaptation par zone, définitions des zones
 #
   b_zone = BLOC( condition = " (ADAPTATION == 'RAFFINEMENT_ZONE') " ,
-                                fr="Pour une adaptation selon une zone à raffiner",
-                                ang="For adaptation among zone",
-    ZONE = FACT(statut='f',max='**',
-                  fr="Définition de zones à raffiner.",
-                  ang="Refined zone definition.",
-#
-      regles=(AU_MOINS_UN('X_MINI','X_CENTRE'),
-              EXCLUS('X_MINI','X_CENTRE',),
-              EXCLUS('Z_MINI','X_CENTRE',),
-              EXCLUS('X_MINI','Z_CENTRE',),
-              EXCLUS('Z_MINI','Z_CENTRE',),
-              PRESENT_PRESENT('X_MINI','X_MAXI','Y_MINI','Y_MAXI'),
-              PRESENT_PRESENT('Z_MINI','Z_MAXI'),
-              PRESENT_PRESENT('X_CENTRE','Y_CENTRE','RAYON'),),
-#
-# 6.2.1. Une boite parallelepipedique
+                 fr="Pour une adaptation selon une zone à raffiner",
+                 ang="For adaptation among a zone",
 #
+    ZONE = FACT(statut='f',max='**',
+                fr="Définition de zones à raffiner.",
+                ang="Refined zone definition.",
+#
+# 8.1. Type de la zone
+#
+      TYPE = SIMP(statut='o',typ='TXM',into=("RECTANGLE", "BOITE", "DISQUE", "SPHERE", "CYLINDRE", "DISQUE_PERCE", "TUYAU"),
+                  fr="Type de la zone",
+                  ang="Type of the zone" ),
+#
+# Ne sachant pas exploiter les blocs, je mets des regles
+#
+      regles=(AU_MOINS_UN('X_MINI','X_CENTRE','HAUTEUR'),
+              EXCLUS('X_MINI','X_CENTRE','HAUTEUR',),
+              EXCLUS('Z_MINI','X_CENTRE','HAUTEUR',),
+              EXCLUS('X_MINI','Z_CENTRE','HAUTEUR',),
+              EXCLUS('Z_MINI','Z_CENTRE','HAUTEUR',),
+              EXCLUS('X_MINI','RAYON',),
+              EXCLUS('Z_MINI','RAYON',),
+              EXCLUS('X_MINI','X_CENTRE','RAYON_INT',),
+              EXCLUS('Z_MINI','X_CENTRE','RAYON_INT',),
+              EXCLUS('X_MINI','X_CENTRE','RAYON_EXT',),
+              EXCLUS('Z_MINI','X_CENTRE','RAYON_EXT',),
+              EXCLUS('RAYON','RAYON_INT',),),
+#
+# 8.2. Une boite rectangulaire ou parallelepipedique
+# 8.2.1. Incontournables
+#
+##gn      b_z_boiteXY = BLOC( condition = " (TYPE == 'RECTANGLE') or (TYPE == 'BOITE') " ,
+##gn                          fr="X et Y mini/maxi pour un rectangle ou un parallelepipede.",
+##gn                          ang="X and Y min/max for a rectangle or a parallelepipedic box",
       X_MINI = SIMP(statut='f',typ='R',
                     fr="Abscisse minimum de la boite",
                     ang="Minimum X for the box"),
       X_MAXI = SIMP(statut='f',typ='R',
                     fr="Abscisse maximum de la boite",
                     ang="Maximum X for the box"),
-#
       Y_MINI = SIMP(statut='f',typ='R',
-                    fr="Orodnnée minimum de la boite",
+                    fr="Ordonnée minimum de la boite",
                     ang="Minimum Y for the box"),
       Y_MAXI = SIMP(statut='f',typ='R',
-                    fr="Abscisse maximum de la boite",
-                    ang="Maximum Y for the box"),
+                      fr="Abscisse maximum de la boite",
+                      ang="Maximum Y for the box"),
+##gn      ) ,
 #
+# 8.2.2. Complement pour une boite parallelepipedique
+#
+##gn      b_z_boiteZ = BLOC( condition = " (TYPE == 'BOITE') " ,
+##gn                         fr="Z mini/maxi pour un parallelepipede.",
+##gn                         ang="Z min/max for a parallelepipedic box",
       Z_MINI = SIMP(statut='f',typ='R',
                     fr="Cote minimum de la boite",
                     ang="Minimum Z for the box"),
       Z_MAXI = SIMP(statut='f',typ='R',
                     fr="Cote maximum de la boite",
                     ang="Maximum Z for the box"),
+##gn      ) ,
+#
+# 8.3. Rayon pour un disque, une sphere ou un cylindre
 #
-# 6.2.2. Une sphere
+##gn      b_z_rayon = BLOC( condition = " (TYPE == 'DISQUE') or (TYPE == 'SPHERE') or (TYPE == 'CYLINDRE') " ,
+##gn                        fr="Le rayon d'un disque, d'une sphere ou d'un cylindre.",
+##gn                        ang="The radius of a disk or of a sphere or of a cylinder.",
+      RAYON = SIMP(statut='f',typ='R',
+                   fr="Rayon",
+                   ang="Radius"),
+##gn      ) ,
+#
+# 8.4. Pour un disque plein ou perce, une sphere
+# 8.4.1. Incontournables
 #
+##gn      b_z_di_sp_XY = BLOC( condition = " (TYPE == 'DISQUE') or (TYPE == 'SPHERE') or (TYPE == 'DISQUE_PERCE') " ,
+##gn                           fr="X et Y du centre d'un disque plein ou perce, d'une sphere.",
+##gn                           ang="X and Y of the centre of a disk or of a sphere.",
       X_CENTRE = SIMP(statut='f',typ='R',
-                      fr="Abscisse du centre de la sphere",
-                      ang="X for the center of the sphere"),
+                      fr="Abscisse du centre du disque ou de la sphere",
+                      ang="X for the center of the disk or of the sphere"),
       Y_CENTRE = SIMP(statut='f',typ='R',
-                      fr="Ordonnee du centre de la sphere",
-                      ang="Y for the center of the sphere"),
-      Z_CENTRE = SIMP(statut='f',typ='R',
-                      fr="Cote du centre de la sphere",
-                      ang="Z for the center of the sphere"),
-      RAYON = SIMP(statut='f',typ='R',
-                   fr="Rayon de la sphere",
-                   ang="Radius of the sphere"),
+                      fr="Ordonnee du centre du disque ou de la sphere",
+                      ang="Y for the center of the disk or of the sphere"),
+##gn      ) ,
+#
+# 8.4.2. Complement pour une sphere
+#
+##gn      b_z_sp_Z = BLOC( condition = " (TYPE == 'SPHERE') " ,
+##gn                       fr="Cote du centre de la sphere.",
+##gn                       ang="Z for the center of the sphere.",
+       Z_CENTRE = SIMP(statut='f',typ='R',
+                       fr="Cote du centre de la sphere",
+                       ang="Z for the center of the sphere"),
+##gn      ) ,
+#
+# 8.5. Rayons interieur et exterieur pour un disque perce ou un tuyau
+#
+##gn      b_z_rayon_int_ext = BLOC( condition = " (TYPE == 'DISQUE_PERCE') or (TYPE == 'TUYAU') " ,
+##gn                                fr="Le rayon d'un disque perce ou d'un tuyau.",
+##gn                                ang="The radius of a holed disk or of a pipe.",
+      RAYON_INT = SIMP(statut='f',typ='R',
+                       fr="Rayon interieur",
+                       ang="Internal radius"),
+      RAYON_EXT = SIMP(statut='f',typ='R',
+                       fr="Rayon exterieur",
+                       ang="External radius"),
+##gn      ) ,
+#
+# 8.6. Un cylindre ou un tuyau
+#
+##gn      b_z_cylindre_tuyau = BLOC( condition = " (TYPE == 'CYLINDRE') or (TYPE == 'TUYAU') " ,
+##gn                                 fr="Pour un cylindre ou un tuyau.",
+##gn                                 ang="For a cylinder or a pipe.",
+      X_AXE = SIMP(statut='f',typ='R',
+                   fr="Abscisse du vecteur directeur de l'axe",
+                   ang="X for the axial vector"),
+      Y_AXE = SIMP(statut='f',typ='R',
+                   fr="Ordonnee du vecteur directeur de l'axe",
+                   ang="Y for the axial vector"),
+      Z_AXE = SIMP(statut='f',typ='R',
+                   fr="Cote du vecteur directeur de l'axe",
+                   ang="Z for the axial vector"),
+      X_BASE = SIMP(statut='f',typ='R',
+                    fr="Abscisse d'un point de la base, sur l'axe",
+                    ang="X for the basis, on the axis"),
+      Y_BASE = SIMP(statut='f',typ='R',
+                    fr="Ordonnee d'un point de la base, sur l'axe",
+                    ang="Y for the basis, on the axis"),
+      Z_BASE = SIMP(statut='f',typ='R',
+                    fr="Cote d'un point de la base, sur l'axe",
+                    ang="Z for the basis, on the axis"),
+      HAUTEUR = SIMP(statut='f',typ='R',
+                     fr="Hauteur",
+                     ang="Height"),
+##gn     ) ,
 #
     ) ,
 #
@@ -17675,10 +18580,10 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
                                          (ADAPTATION == 'RAFFINEMENT_UNIFORME') or \
                                          (ADAPTATION == 'RAFFINEMENT_ZONE') " ,
                            fr="Niveau maximum de profondeur de raffinement",
-                           ang="Maximum level for refinement",
+                           ang="Maximum level for the refinement",
     NIVE_MAX = SIMP(statut='f',typ='I',
                     fr="Niveau maximum de profondeur de raffinement",
-                    ang="Maximum level for refinement"),
+                    ang="Maximum level for the refinement"),
   ) ,
 #
 # 9.2. Pour le deraffinement :
@@ -17687,10 +18592,10 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
                                          (ADAPTATION == 'DERAFFINEMENT') or \
                                          (ADAPTATION == 'DERAFFINEMENT_UNIFORME') " ,
                            fr="Niveau minimum de profondeur de déraffinement",
-                           ang="Minimum level for unrefinement",
+                           ang="Minimum level for the unrefinement",
     NIVE_MIN = SIMP(statut='f',typ='I',
                     fr="Niveau minimum de profondeur de déraffinement",
-                    ang="Minimum level for unrefinement"),
+                    ang="Minimum level for the unrefinement"),
   ) ,
 #
 # 10. Filtrage de l'adaptation par des groupes
@@ -17702,18 +18607,20 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
                                                    (ADAPTATION == 'DERAFFINEMENT') or \
                                                    (ADAPTATION == 'DERAFFINEMENT_UNIFORME') " ,
                                 fr="Filtrage de l'adaptation par des groupes.",
-                                ang="Filtering of adaptation by groups.",
+                                ang="Filtering of adaptation by the groups.",
 #
     GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
                     fr="Liste des groupes de mailles pour le filtrage de l'adaptation.",
-                    ang="List of groups of meshes for filtering of adaptation." ),  
+                    ang="List of the groups of meshes for filtering of the adaptation." ),
 #
     GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**',
                     fr="Liste des groupes de noeuds pour le filtrage de l'adaptation.",
-                    ang="List of groups of nodes for filtering of adaptation." ),  
+                    ang="List of the groups of nodes for filtering of the adaptation." ),
   ) ,
 #
 # 11. Suivi d'une frontiere
+#
+# 11.1. Definition d'une frontiere par un maillage (valable seulement pour des frontieres 1D)
 #
   MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
                            fr="Maillage de la frontiere à suivre",
@@ -17729,11 +18636,66 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
   ) ,
 #
+# 11.2. Definition analytique d'une frontiere
+#
+  FRONTIERE_ANALYTIQUE = FACT(statut='f',max='**',
+                              fr="Definition analytique de frontieres a suivre.",
+                              ang="Analytical definition of a boundary.",
+#
+# 11.2.1. Type de la frontiere
+#
+    TYPE = SIMP(statut='o',typ='TXM',into=("SPHERE", "CYLINDRE"),
+                fr="Type de la frontiere",
+                ang="Type of the boundary" ),
+#
+# 11.2.2. Groupe lie a la frontiere
+#
+    GROUP_MA = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**',
+                    fr="Liste des groupes de mailles definissant la frontiere",
+                    ang="Groups of meshes which define the boundary" ),
+#
+# 11.2.3. Pour une sphere ou un cylindre : rayon et centre
+#
+    b_fr_rayon = BLOC( condition = " (TYPE == 'SPHERE') or (TYPE == 'CYLINDRE') " ,
+                       fr="Le rayon et le centre d'une sphere ou d'un cylindre.",
+                       ang="The radius and the centre of a sphere or of a cylinder.",
+      RAYON = SIMP(statut='o',typ='R',
+                   fr="Rayon",
+                   ang="Radius"),
+      X_CENTRE = SIMP(statut='o',typ='R',
+                      fr="Abscisse du centre",
+                      ang="X for the center"),
+      Y_CENTRE = SIMP(statut='o',typ='R',
+                      fr="Ordonnee du centre",
+                      ang="Y for the center"),
+      Z_CENTRE = SIMP(statut='o',typ='R',
+                      fr="Cote du centre",
+                      ang="Z for the center"),
+    ) ,
+#
+# 11.2.4. Complement pour un cylindre
+#
+    b_fr_cylindre = BLOC( condition = " (TYPE == 'CYLINDRE') " ,
+                          fr="Pour un cylindre.",
+                          ang="For a cylinder.",
+      X_AXE = SIMP(statut='o',typ='R',
+                   fr="Abscisse du vecteur directeur de l'axe",
+                   ang="X for the axial vector"),
+      Y_AXE = SIMP(statut='o',typ='R',
+                   fr="Ordonnee du vecteur directeur de l'axe",
+                   ang="Y for the axial vector"),
+      Z_AXE = SIMP(statut='o',typ='R',
+                   fr="Cote du vecteur directeur de l'axe",
+                   ang="Z for the axial vector"),
+    ) ,
+#
+  ) ,
+#
 # 12. Mise à jour de champs sur le nouveau maillage
 #
   MAJ_CHAM = FACT(statut='f',max='**',
                   fr="Mise à jour de champs sur le nouveau maillage.",
-                  ang="Updating of fields over the new mesh.",
+                  ang="Updating of the fields over the new mesh.",
 #
 # 12.1. Le nom du champ de grandeur qui contiendra le resultat de la mise a jour
 #
@@ -17755,13 +18717,13 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
     CHAM_GD = SIMP(statut='f',typ=cham_gd_sdaster,
                    fr="Champ de grandeur Code_Aster contenant le champ à mettre à jour",
-                   ang="Champ de grandeur with field to be updated" ),
+                   ang="Champ de grandeur with the field to be updated" ),
 #
 # 12.3.2. Sous forme de champ dans un resultat
 #
     RESULTAT = SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther),
                     fr="Resultat contenant le champ à mettre à jour",
-                    ang="Result with field to be updated" ),
+                    ang="Result with the field to be updated" ),
 #
     b_nom_du_champ = BLOC(condition="(RESULTAT != None)",
                           fr="Choix éventuel du nom du champ à interpoler",
@@ -17804,63 +18766,104 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
       b_precision = BLOC(condition="(INST != None)",
                          fr="Choix de la précision du choix de l'instant",
-                         ang="Selection for instant choice",
+                         ang="Selection for the choice of the instant",
 #
         CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),
                          fr="Critère de précision sur le choix de l'instant associé",
-                         ang="Accuracy criterium over instant choice"),
+                         ang="Accuracy criterium over the choice of the instant"),
         b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-6,
                              fr="Précision relative sur le choix de l'instant associé",
-                             ang="Relative accuracy over instant choice"),),
+                             ang="Relative accuracy over the choice of the instant"),),
         b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
             PRECISION       =SIMP(statut='o',typ='R',
                              fr="Précision absolue sur le choix de l'instant associé",
-                             ang="Absolute accuracy over instant choice"),),
+                             ang="Absolute accuracy over the choice of the instant"),),
 #
       ),
 #
     ),
   ),
 #
-# 13. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres
-# 13.1. Nombre de noeuds et éléments
+# 13. Les Modifications
+#
+  b_modifications = BLOC( condition = " (ADAPTATION == 'MODIFICATION') " ,
+                          fr="Modification de maillage.",
+                          ang="Modification of the mesh.",
+#
+      #regles=(AU_MOINS_UN('DEGRE','JOINT'),),
+#
+# 13.1. Changement de degre
+#
+      DEGRE         = SIMP(statut='o',typ='TXM',defaut="NON",into=("OUI","NON"),
+                          fr="Changement de degre du maillage",
+                          ang="Modification of the degree of the mesh" ),
+#
+# 13.2. Création des joints
+#
+      #JOINT         = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
+                          #fr="Creations des joints",
+                          #ang="Creation of the junctions" ),
+#
+  ) ,
+#
+# 14. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres
+# 14.1. Nombre de noeuds et mailles
 #
   NOMBRE         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
-                          fr="Nombre de noeuds et éléments du maillage",
-                          ang="Number of nodes and éléments in the mesh" ),
+                        fr="Nombre de noeuds et de mailles du maillage",
+                        ang="Number of nodes and meshes in the mesh" ),
 #
-# 13.2. Determination de la qualité des éléments du maillage
+# 14.2. Determination de la qualité des éléments du maillage
 #
   QUALITE        = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
-                          fr="Qualité du maillage",
-                          ang="Mesh quality" ),
+                        fr="Qualité du maillage",
+                        ang="Quality of the mesh" ),
 #
-# 13.3. Connexite du maillage
+# 14.3. Connexite du maillage
 #
   CONNEXITE      = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
-                          fr="Connexité du maillage.",
-                          ang="Mesh connexity." ),
+                        fr="Connexité du maillage.",
+                        ang="Connexity of the mesh." ),
 #
-# 13.4. Taille des sous-domaines du maillage
+# 14.4. Taille des sous-domaines du maillage
 #
   TAILLE         = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
-                          fr="Tailles des sous-domaines du maillage.",
-                          ang="Sizes of mesh sub-domains." ),
+                        fr="Tailles des sous-domaines du maillage.",
+                        ang="Sizes of mesh sub-domains." ),
+#
+# 14.5. Controle de la non-interpenetration des mailles
 #
-# 13.5. Controle de la non-interpenetration des éléments
+  INTERPENETRATION=SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
+                        fr="Controle de la non interpénétration des mailles.",
+                        ang="Overlapping checking." ),
+#
+# 14.6. Propriétés du maillage de calcul
+#
+  PROP_CALCUL    = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
+                        fr="Propriétés du maillage de calcul.",
+                        ang="Properties of the calculation mesh." ),
 #
-  INTERPENETRATION= SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
-                          fr="Controle de la non interpénétration des éléments.",
-                          ang="Overlapping checking." ),
+# 15. Unite logique d'un fichier a ajouter a HOMARD.Configuration
+#
+  b_unite = BLOC( condition = " (VERSION_HOMARD == 'V9_N') or \
+                                (VERSION_HOMARD == 'V9_N_PERSO') " ,
+                                fr="Fichier supplementaire.",
+                                ang="Additional file.",
+#
+  UNITE = SIMP(statut='f',typ='I',
+               fr="Unite logique a ajouter a HOMARD.Configuration",
+               ang="Additional file to HOMARD.Configuration" ),
+#
+  ) ,
 #
-# 14. Gestion des éléments autres que ceux compatibles avec HOMARD
-#       "REFUSER" : ils sont refuses (defaut)
-#       "IGNORER" : ils sont ignorés
+# 16. Gestion des mailles autres que celles compatibles avec HOMARD
+#       "REFUSER" : elles sont refusées (defaut)
+#       "IGNORER" : elles sont ignorées
 #
   ELEMENTS_NON_HOMARD = SIMP(statut='f',typ='TXM',defaut="REFUSER",into=("REFUSER","IGNORER"),
-                             fr="Acceptation d'éléments incompatibles avec HOMARD",
-                             ang="Incompatible elements for HOMARD" ),
+                             fr="Acceptation de mailles incompatibles avec HOMARD",
+                             ang="Incompatible meshes for HOMARD" ),
 #
 ) ;
 #& MODIF COMMANDE  DATE 07/07/2009   AUTEUR REZETTE C.REZETTE 
@@ -18576,25 +19579,25 @@ MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG",op=macr_ecla_pg_ops,sd_prod=macr_ecla_pg_p
              b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
                  PRECISION       =SIMP(statut='o',typ='R',),),
             )
-#& MODIF COMMANDE  DATE 02/11/2009   AUTEUR ASSIRE A.ASSIRE 
+#& MODIF COMMANDE  DATE 21/04/2010   AUTEUR BOTTONI M.BOTTONI 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2009  EDF R&D                  WWW.CODE-ASTER.ORG
-# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
-# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
-# (AT YOUR OPTION) ANY LATER VERSION.                                                  
-#                                                                       
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
-#                                                                       
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE MICHEL S.MICHEL
+# RESPONSABLE BOTTONI M.BOTTONI
 
 from Macro.macr_ecre_calc_ops import macr_ecre_calc_ops
 
@@ -18607,7 +19610,9 @@ def macr_ecre_calc_prod(self,TABLE,DEBIT,**args):
 MACR_ECRE_CALC=MACRO(nom="MACR_ECRE_CALC",op=macr_ecre_calc_ops,sd_prod=macr_ecre_calc_prod,reentrant='n',
                      UIinfo={"groupes":("Outils metier",)},fr="Procedure de couplage avec Ecrevisse",
 
-#      CONCEPTS SORTANT : 2 TABLES POUR LE POST-TRAITEMENT 
+         regles             = (UN_PARMI('LOGICIEL','VERSION'),),
+
+#      CONCEPTS SORTANT : 2 TABLES POUR LE POST-TRAITEMENT
 #      ********************************************
          TABLE              =SIMP(statut='o',typ=CO),
          DEBIT              =SIMP(statut='o',typ=CO),
@@ -18618,7 +19623,7 @@ MACR_ECRE_CALC=MACRO(nom="MACR_ECRE_CALC",op=macr_ecre_calc_ops,sd_prod=macr_ecr
          FISSURE            =FACT(statut='o',min=1,max=1,
            LONGUEUR            =SIMP(statut='o',typ='R',val_min=0.E+0,fr="Longueur de la fissure [zl]"),
            RUGOSITE            =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]"),
-           ANGLE               =SIMP(statut='o',typ='R',fr="Angle par rapport à l'ascendante verticale (degres)"),
+           ANGLE               =SIMP(statut='o',typ='R',fr="Angle par rapport a l'ascendante verticale (degres)"),
            ZETA                =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]"),
            SECTION             =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]"),
            b_section_ellipse   =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique",
@@ -18670,7 +19675,7 @@ MACR_ECRE_CALC=MACRO(nom="MACR_ECRE_CALC",op=macr_ecre_calc_ops,sd_prod=macr_ecr
            ),
            b_condition_5       =BLOC(condition="FLUIDE_ENTREE==5",fr="Air + vapeur saturee",
              TITR_MASS           =SIMP(statut='o',typ='R',fr="Titre massique eau vap/eau tot a l'entree [xe]" ),
-             PRES_PART           =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ),  
+             PRES_PART           =SIMP(statut='o',typ='R',fr="Pression partielle air en entree (Pa) [pae]" ),
            ),
            b_condition_6       =BLOC(condition="FLUIDE_ENTREE==6",fr="Air seul",
              TEMP_ENTREE         =SIMP(statut='o',typ='R',fr="Temperature a l'entree (degres C) [te]" ),
@@ -18727,7 +19732,7 @@ MACR_ECRE_CALC=MACRO(nom="MACR_ECRE_CALC",op=macr_ecre_calc_ops,sd_prod=macr_ecr
            b_transchal         =BLOC(condition="TRANSFERT_CHAL<0", fr="Cas diphasique",
              XMINCH              =SIMP(statut='o',typ='R',fr="Titre massique gazeux min [xminch]"),
              XMAXCH              =SIMP(statut='o',typ='R',fr="Titre massique gazeux max [xmaxch]"),
-           ),  
+           ),
          ),
 
 
@@ -18749,14 +19754,14 @@ MACR_ECRE_CALC=MACRO(nom="MACR_ECRE_CALC",op=macr_ecre_calc_ops,sd_prod=macr_ecr
 
          COURBES            =SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE",
                                   fr="Generation eventuelle des courbes" ),
-         LOGICIEL           =SIMP(statut='f',typ='TXM',validators=LongStr(1,255) ),
-         VERSION            =SIMP(statut='f',typ='TXM',defaut="3.1.1",into = ("3.1.1",)),
+         LOGICIEL           =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),),
+         VERSION            =SIMP(statut='f',typ='TXM',defaut="3.1.2",into = ("3.1.1","3.1.2")),
          ENTETE             =SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ),
          IMPRESSION         =SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ),
-         INFO               =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3) ),
+         INFO               =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 
 )  ;
-#& MODIF COMMANDE  DATE 02/11/2009   AUTEUR ASSIRE A.ASSIRE 
+#& MODIF COMMANDE  DATE 21/04/2010   AUTEUR BOTTONI M.BOTTONI 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2009  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18774,7 +19779,7 @@ MACR_ECRE_CALC=MACRO(nom="MACR_ECRE_CALC",op=macr_ecre_calc_ops,sd_prod=macr_ecr
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
-# RESPONSABLE MICHEL S.MICHEL
+# RESPONSABLE BOTTONI M.BOTTONI
 
 from Macro.macr_ecrevisse_ops import macr_ecrevisse_ops
 
@@ -18790,15 +19795,18 @@ def macr_ecrevisse_prod(self,TABLE,TEMPER,DEBIT,**args):
 
 MACR_ECREVISSE=MACRO(nom="MACR_ECREVISSE",op=macr_ecrevisse_ops,sd_prod=macr_ecrevisse_prod,reentrant='f',
                        UIinfo={"groupes":("Outils metier",)},fr="Procedure de couplage avec Ecrevisse",
+
        reuse =SIMP(statut='f',typ='evol_noli'),
-         
+       regles = (EXCLUS('TEMPER','ETAT_INIT'),
+                 UN_PARMI('LOGICIEL','VERSION'),),
+
 #      CONCEPT SORTANT
 #      ********************************************
          TABLE              =SIMP(statut='f',typ=CO),
          DEBIT              =SIMP(statut='f',typ=CO),
          TEMPER             =SIMP(statut='f',typ=CO),
-           regles = (EXCLUS('TEMPER','ETAT_INIT'),),
-#      ETAT_INITIAL         
+
+#      ETAT_INITIAL
 #      ********************************************
          ETAT_INIT       =FACT(statut='f',
              EVOL_NOLI       =SIMP(statut='o',typ=evol_noli),
@@ -18816,14 +19824,16 @@ MACR_ECREVISSE=MACRO(nom="MACR_ECREVISSE",op=macr_ecrevisse_ops,sd_prod=macr_ecr
 #      DONNEES GEOMETRIQUES RELATIVES A LA FISSURE
 #      *******************************************
          FISSURE            =FACT(statut='o',min=1,max='**',
-           PREFIXE_FICHIER     =SIMP(statut='f',typ='TXM',validators=LongStr(1,8),defaut="FISSURE1"),
-           GROUP_MA            =SIMP(statut='o',typ=grma,validators=NoRepeat(),max=2,
+           PREFIXE_FICHIER     =SIMP(statut='f',typ='TXM',validators=LongStr(1,8)),
+           GROUP_MA            =SIMP(statut='o',typ=grma,validators=NoRepeat(),min=2,max=2,
                                      fr="Groupe(s) des noeuds definissant les levres de la fissure"),
-           GROUP_NO_ORIG       =SIMP(statut='o',typ=grno,validators=NoRepeat(),max=2),
-           GROUP_NO_EXTR       =SIMP(statut='o',typ=grno,validators=NoRepeat(),max=2),
+           GROUP_NO_ORIG       =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2),
+           GROUP_NO_EXTR       =SIMP(statut='o',typ=grno,validators=NoRepeat(),min=2,max=2),
            ZETA                =SIMP(statut='o',typ='R',fr="Coefficient de la perte de charge singuliere a l'entree [zeta]" ),
            RUGOSITE            =SIMP(statut='o',typ='R',fr="Rugosite absolu (metres) [eps]" ),
-           OUVERT_REMANENTE    =SIMP(statut='o',typ='R',val_min=0.,defaut=10.E-6,fr="Ouverture remanente"),
+           TORTUOSITE          =SIMP(statut='f',typ='R',defaut=1.0, val_min=0., val_max=1.0,
+                                       fr="Coefficient de tortuosite de la fissure" ),
+           OUVERT_REMANENTE    =SIMP(statut='o',typ='R',val_min=0.,fr="Ouverture remanente"),
            SECTION             =SIMP(statut='o',typ='TXM',into=("ELLIPSE","RECTANGLE"),fr="Type de section [is]" ),
            b_section_ellipse   =BLOC(condition="SECTION=='ELLIPSE'",fr="Fissure a section elliptique",
              LISTE_COTES_BL      =SIMP(statut='f',typ='R',max='**',
@@ -18935,7 +19945,7 @@ MACR_ECREVISSE=MACRO(nom="MACR_ECREVISSE",op=macr_ecrevisse_ops,sd_prod=macr_ecr
 
 #      CRITERE DE CONVERGENCE
 #      **********************
-       
+
          CONV_CRITERE       =FACT(statut='o',min=1,max=1,
            TEMP_REF            =SIMP(statut='o',typ='R',val_min=1.0E-5,fr="Temperature de reference pour le calcul du critere"),
            PRES_REF            =SIMP(statut='o',typ='R',val_min=1.0E-5,fr="Pression de reference pour le calcul du critere"),
@@ -18964,32 +19974,31 @@ MACR_ECREVISSE=MACRO(nom="MACR_ECREVISSE",op=macr_ecrevisse_ops,sd_prod=macr_ecr
                                         fr="Nombre maximum d'iterations de la methode de Newton [itnmax]" ),
            CRIT_CONV_DEBI         =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=1.E+0,defaut= 1.E-5,
                                         fr="Critere de convergence en debit [precdb]" ),
-
          ),
 
 
 #      GENERAL
 #      *******
 
-         COURBES            =SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE",
+         COURBES            = SIMP(statut='f',typ='TXM',into=("INTERACTIF","POSTSCRIPT","AUCUNE"),defaut="AUCUNE",
                                   fr="Generation eventuelle des courbes" ),
-         LOGICIEL           =SIMP(statut='f',typ='TXM',validators=LongStr(1,255) ),
-         VERSION            =SIMP(statut='f',typ='TXM',defaut="3.1.1",into = ("3.1.1",) ),
-         ENTETE             =SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ),
-         IMPRESSION         =SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ),
-         INFO               =SIMP(statut='f',typ='I',defaut="1",into=(1,2,3) ),
+         LOGICIEL           = SIMP(statut='f',typ='TXM',validators=LongStr(1,255),),
+         VERSION            = SIMP(statut='f',typ='TXM',defaut="3.1.2",into = ("3.1.1","3.1.2") ),
+         ENTETE             = SIMP(statut='f',typ='TXM',max='**',defaut="Titre du calcul Ecrevisse" ),
+         IMPRESSION         = SIMP(statut='f',typ='TXM',defaut='NON',into=( 'OUI','NON') ),
+         INFO               = SIMP(statut='f',typ='I',defaut="1",into=(1,2) ),
 
 #      DONNEES POUR STAT_NON_LINE ET THER_NON_LINE
 #      *******************************************
 
          # copie de stat_non_line.capy des options des mots cles qui nous interessent
-         
+
          # donnees communes
-         
+
          CHAM_MATER         =SIMP(statut='o',typ=cham_mater),
          CARA_ELEM          =SIMP(statut='f',typ=cara_elem),
 
-         # donnees specifiques a stat_non_line         
+         # donnees specifiques a stat_non_line
 
          EXCIT_MECA         =FACT(statut='o',max='**',
            CHARGE              =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
@@ -18997,6 +20006,9 @@ MACR_ECREVISSE=MACRO(nom="MACR_ECREVISSE",op=macr_ecrevisse_ops,sd_prod=macr_ecr
            TYPE_CHARGE         =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
                                      into=("FIXE_CSTE","SUIV","DIDI")),
          ),
+
+         CONTACT            = SIMP(statut='o',typ=char_contact),
+
          COMP_INCR          =C_COMP_INCR(),
          NEWTON             =FACT(statut='d',
            REAC_INCR           =SIMP(statut='f',typ='I',defaut= 1 ),
@@ -19026,15 +20038,15 @@ MACR_ECREVISSE=MACRO(nom="MACR_ECREVISSE",op=macr_ecrevisse_ops,sd_prod=macr_ecr
            ITER_GLOB_ELAS   =SIMP(statut='f',typ='I',defaut=25),
            ARRET            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
          ),
-         
+
          # donnees specifiques a ther_lineaire
-         
+
          EXCIT_THER         =FACT(statut='o',max='**',
            CHARGE              =SIMP(statut='o',typ=(char_ther,char_cine_ther)),
            FONC_MULT           =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
          ),
          PARM_THETA         =SIMP(statut='f',typ='R',defaut= 0.57),
-         
+
 )
 #& MODIF COMMANDE  DATE 11/05/2009   AUTEUR NISTOR I.NISTOR 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
@@ -19583,7 +20595,7 @@ MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops,
          ),
 #
 );
-#& MODIF COMMANDE  DATE 20/10/2008   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 15/03/2010   AUTEUR GNICOLAS G.NICOLAS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19616,8 +20628,8 @@ MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops,
 #
 # 2. Version de HOMARD
 #
-  VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V9_5",
-                        into=("V9_5", "V9_N", "V9_N_PERSO"),
+  VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V9_6",
+                        into=("V9_6", "V9_N", "V9_N_PERSO"),
                         fr="Version de HOMARD",
                         ang="HOMARD release"),
 #
@@ -19651,23 +20663,23 @@ MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops,
                     ) ,
 #
 # 6. Les options ; par defaut, on controle tout
-# 6.1. Nombre de noeuds et elements
+# 6.1. Nombre de noeuds et mailles
 #
   NOMBRE         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
-                        fr="Nombre de noeuds et éléments du maillage",
-                        ang="Number of nodes and elements in the mesh" ),
+                        fr="Nombre de noeuds et de mailles du maillage",
+                        ang="Number of nodes and meshes in the mesh" ),
 #
-# 6.2. Determination de la qualite des elements du maillage
+# 6.2. Determination de la qualite des mailles du maillage
 #
   QUALITE        = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
                         fr="Qualité du maillage",
-                        ang="Mesh quality" ),
+                        ang="Quality of the mesh" ),
 #
 # 6.3. Connexite du maillage
 #
   CONNEXITE      = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
                         fr="Connexité du maillage.",
-                        ang="Mesh connexity." ),
+                        ang="Connexity of the mesh." ),
 #
 # 6.4. Taille des sous-domaines du maillage
 #
@@ -19681,13 +20693,32 @@ MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops,
                         fr="Controle de la non interpénétration des éléments.",
                         ang="Overlapping checking." ),
 #
-# 7. Gestion des éléments autres que ceux compatibles avec HOMARD
-#       "REFUSER" : ils sont refuses (defaut)
-#       "IGNORER" : ils sont ignorés
+# 6.6. Propriétés du maillage de calcul
+#
+  PROP_CALCUL    = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
+                        fr="Propriétés du maillage de calcul.",
+                        ang="Properties of the calculation mesh." ),
+#
+# 7. Unite logique d'un fichier a ajouter a HOMARD.Configuration
+#
+  b_unite = BLOC( condition = " (VERSION_HOMARD == 'V9_N') or \
+                                (VERSION_HOMARD == 'V9_N_PERSO') " ,
+                                fr="Fichier supplementaire.",
+                                ang="Additional file.",
+#
+  UNITE = SIMP(statut='f',typ='I',
+               fr="Unite logique a ajouter a HOMARD.Configuration",
+               ang="Additional file to HOMARD.Configuration" ),
+#
+  ) ,
+#
+# 8. Gestion des mailles autres que celles compatibles avec HOMARD
+#       "REFUSER" : elles sont refusées (defaut)
+#       "IGNORER" : elles sont ignorées
 #
   ELEMENTS_NON_HOMARD = SIMP(statut='f',typ='TXM',defaut="REFUSER",into=("REFUSER","IGNORER"),
-                             fr="Acceptation d'éléments incompatibles avec HOMARD",
-                             ang="Incompatible elements for HOMARD" ),
+                             fr="Acceptation de mailles incompatibles avec HOMARD",
+                             ang="Incompatible meshes for HOMARD" ),
 )  ;
 #& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
@@ -19812,23 +20843,23 @@ MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",op=macr_lign_coupe_ops,sd_prod=table
 )  ;
 
 
-#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#& MODIF COMMANDE  DATE 19/01/2010   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
-# (AT YOUR OPTION) ANY LATER VERSION.                                 
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
 #
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
 #
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
 # RESPONSABLE DESROCHES X.DESROCHES
 
@@ -19846,22 +20877,20 @@ def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ):
 MACRO_ELAS_MULT=MACRO(nom="MACRO_ELAS_MULT",op=macro_elas_mult_ops,sd_prod=macro_elas_mult_prod,reentrant='f',
             UIinfo={"groupes":("Résolution",)},
          fr="Calculer les réponses statiques linéaires pour différents cas de charges ou modes de Fourier",
-         regles=(UN_PARMI('CHAR_MECA_GLOBAL','CHAR_CINE_GLOBAL','LIAISON_DISCRET', ),),
+         regles=(UN_PARMI('CHAR_MECA_GLOBAL','LIAISON_DISCRET', ),),
          MODELE          =SIMP(statut='o',typ=modele_sdaster),
          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
          NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster,CO)),
-         CHAR_MECA_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
-         CHAR_CINE_GLOBAL=SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
+         CHAR_MECA_GLOBAL=SIMP(statut='f',typ=(char_meca),validators=NoRepeat(),max='**'),
          LIAISON_DISCRET =SIMP(statut='f',typ='TXM',into=("OUI",)),
          CAS_CHARGE      =FACT(statut='o',max='**',
            regles=(UN_PARMI('NOM_CAS','MODE_FOURIER'),
-                   UN_PARMI('CHAR_MECA','CHAR_CINE','VECT_ASSE'),),
+                   UN_PARMI('CHAR_MECA','VECT_ASSE'),),
            NOM_CAS         =SIMP(statut='f',typ='TXM' ),
            MODE_FOURIER    =SIMP(statut='f',typ='I' ),
            TYPE_MODE       =SIMP(statut='f',typ='TXM',defaut="SYME",into=("SYME","ANTI","TOUS") ),
-           CHAR_MECA       =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
-           CHAR_CINE       =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
+           CHAR_MECA       =SIMP(statut='f',typ=(char_meca),validators=NoRepeat(),max='**'),
            OPTION          =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
                                  into=("EFGE_ELNO_DEPL","EPOT_ELEM_DEPL","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",
                                        "SIGM_ELNO_CART","EFGE_ELNO_CART","DEGE_ELNO_DEPL","EPSI_ELNO_DEPL",
@@ -19972,7 +21001,7 @@ MACRO_EXPANS=MACRO(nom="MACRO_EXPANS",
                                         ),
                                              ),
                    )
-#& MODIF COMMANDE  DATE 13/10/2009   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 18/01/2010   AUTEUR TARDIEU N.TARDIEU 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20065,12 +21094,17 @@ MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=macro_matr_ajou_ops,sd_prod=macro
            b_ldlt_mult_mumps =BLOC( condition = "METHODE=='LDLT' or METHODE=='MULT_FRONT' or METHODE=='MUMPS' ",
                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factoriser",
              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
-             STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-           ),
-           b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
-             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
-             NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+             STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           ),
+           b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","LDLT_SP",),defaut="LDLT_INC" ),
+             b_ldltinc       =BLOC(condition = "PRE_COND == 'LDLT_INC' ", fr="Paramètres de la factorisation incomplète",
+               NIVE_REMPLISSAGE    =SIMP(statut='f',typ='I',defaut= 0 ),
+               RENUM               =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+               ),
+             b_simple        =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision",
+               REAC_PRECOND        =SIMP(statut='f',typ='I',defaut=5, ),
+               ),
              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
            ),
@@ -20213,7 +21247,7 @@ MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops,
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
 )  ;
-#& MODIF COMMANDE  DATE 02/06/2008   AUTEUR GREFFET N.GREFFET 
+#& MODIF COMMANDE  DATE 16/02/2010   AUTEUR GREFFET N.GREFFET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20245,10 +21279,11 @@ MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=macro_miss_3d_ops,
          ),
          PROJET          =SIMP(statut='o',typ='TXM'),  
          REPERTOIRE      =SIMP(statut='f',typ='TXM'),
-         VERSION         =SIMP(statut='f',typ='TXM',into=("V1_3","V1_4",),defaut="V1_4"),
+         VERSION         =SIMP(statut='f',typ='TXM',into=("V1_3","V1_4","V1_5",),defaut="V1_4"),
          UNITE_IMPR_ASTER=SIMP(statut='f',typ='I',defaut=25),  
          UNITE_OPTI_MISS =SIMP(statut='f',typ='I',defaut=26),  
          UNITE_MODELE_SOL=SIMP(statut='f',typ='I',defaut=27),  
+         TABLE_SOL       =SIMP(statut='f',typ=table_sdaster, fr="Caractéristiques du sol"),  
          UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),
          UNITE_RESU_FORC =SIMP(statut='f',typ='I',defaut=0),
          PARAMETRE       =FACT(statut='f',         
@@ -20426,7 +21461,7 @@ MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=macro_proj_base_ops,
          ),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
 )  ;
-#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#& MODIF COMMANDE  DATE 22/04/2010   AUTEUR ASSIRE A.ASSIRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20456,45 +21491,85 @@ MACR_RECAL = MACRO(nom="MACR_RECAL",op=macr_recal_ops,
                       sd_prod=macr_recal_prod,
                       fr="Réalise le recalage des calculs Aster sur des résultats expérimentaux"
                         +" ou sur d'autres résultats de calculs",
+
          UNITE_ESCL      =SIMP(statut='o',typ='I'),
          RESU_EXP        =SIMP(statut='o',typ=assd,max='**'),
          POIDS           =SIMP(statut='f',typ=assd,max='**'),
          RESU_CALC       =SIMP(statut='o',typ=assd,max='**'),
          LIST_PARA       =SIMP(statut='o',typ=assd,max='**'),
-         LIST_DERIV      =SIMP(statut='f',typ=assd,max='**'),
-         ITER_MAXI       =SIMP(statut='f',typ='I',defaut=10),
-         ITER_FONC_MAXI  =SIMP(statut='f',typ='I',defaut=100),
-         RESI_GLOB_RELA  =SIMP(statut='f',typ='R',defaut=1.E-3),
+
          UNITE_RESU      =SIMP(statut='f',typ='I',defaut=91),
          PARA_DIFF_FINI  =SIMP(statut='f',typ='R',defaut=0.001),
+
          GRAPHIQUE       =FACT(statut='f',
-           FORMAT          =SIMP(statut='f',typ='TXM',defaut='XMGRACE',into=("XMGRACE","GNUPLOT")),
-           b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'",
-                          fr="Mots-clés propres à XMGRACE",
-             PILOTE          =SIMP(statut='f',typ='TXM',defaut='',
-                                 into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
+             FORMAT          =SIMP(statut='f',typ='TXM',defaut='XMGRACE',into=("XMGRACE","GNUPLOT"),),
+             AFFICHAGE       =SIMP(statut='f',typ='TXM',defaut='TOUTE_ITERATION',into=("TOUTE_ITERATION","ITERATION_FINALE"),),
+             b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'", fr="Mots-clés propres à XMGRACE",
+                 PILOTE          =SIMP(statut='f',typ='TXM',defaut='', 
+                                       into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),
                             fr="Pilote de sortie, PNG/JPEG/PDF ne sont pas disponibles sur toutes les installations de xmgrace"),
-             UNITE           =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
-                                 fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
+                 UNITE           =SIMP(statut='f',typ='I',val_min=10,val_max=90,defaut=29,
+                            fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
+             ),
+         ),
+
+
+         # Methodes d'optimisation
+         # -----------------------
+         METHODE         =SIMP(statut='f',typ='TXM',defaut='LEVENBERG',into=("LEVENBERG", "FMIN", "FMINBFGS", "FMINNCG",
+                                                                             "GENETIQUE","HYBRIDE")),
+
+         b_genetique_options=BLOC(condition = "METHODE == 'GENETIQUE' or METHODE == 'HYBRIDE'" ,
+             NB_PARENTS       =SIMP(statut='f',typ='I',defaut=10),
+             NB_FILS          =SIMP(statut='f',typ='I',defaut=5),
+             ECART_TYPE       =SIMP(statut='f',typ='R',defaut=1.),
+             GRAINE           =SIMP(statut='f',typ='I'),
+             ITER_ALGO_GENE   =SIMP(statut='f',typ='I',defaut=10),
+             RESI_ALGO_GENE   =SIMP(statut='f',typ='R',defaut=1.E-3),
          ),
+         
 
-         AFFICHAGE       =SIMP(statut='f',typ='TXM',defaut='TOUTE_ITERATION',into=("TOUTE_ITERATION","ITERATION_FINALE")),),
-         SUIVI_ESCLAVE   =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON"),),
+         # Criteres d'arret globaux
+         # -------------------------
+         ITER_MAXI       =SIMP(statut='f',typ='I',defaut=10,    fr="Nombre maximum d'iterations d'optimisation"),
+         ITER_FONC_MAXI  =SIMP(statut='f',typ='I',defaut=1000,  fr="Nombre maximum d'evaluations de la focntionnelle"),
+         RESI_GLOB_RELA  =SIMP(statut='f',typ='R',defaut=1.E-3, fr="Critere d'arret sur la valeur du residu"),
+         TOLE_PARA       =SIMP(statut='f',typ='R',defaut=1.E-8, fr="Critere d'arret sur la valeur des parametres"),
+         TOLE_FONC       =SIMP(statut='f',typ='R',defaut=1.E-8, fr="Critere d'arret sur la valeur de la fonctionnelle"),
 
-         METHODE         =SIMP(statut='f',typ='TXM',defaut='LEVENBERG',into=("LEVENBERG","FMIN","FMINBFGS","FMINNCG","EXTERNE")),
 
+         # Calculs des gradients
+         # ---------------------
          b_gradient =BLOC(condition = "METHODE == 'FMINBFGS' or METHODE == 'FMINNCG'" ,
-            GRADIENT        =SIMP(statut='f',typ='TXM',defaut='NON_CALCULE', into=("NON_CALCULE", "NORMAL", "ADIMENSIONNE" )),
+             GRADIENT        =SIMP(statut='f',typ='TXM',defaut='NON_CALCULE', into=("NON_CALCULE", "NORMAL", "ADIMENSIONNE" )),
          ),
 
-         b_gradient_externe =BLOC(condition = "METHODE == 'EXTERNE'" ,
-            GRADIENT        =SIMP(statut='f',typ='TXM',defaut='NON_CALCULE', into=("NON_CALCULE", "NORMAL", "ADIMENSIONNE" )),
+         b_gradient_levenberg =BLOC(condition = "METHODE == 'LEVENBERG'" ,
+             GRADIENT        =SIMP(statut='f',typ='TXM',defaut='NORMAL', into=( "NORMAL", "ADIMENSIONNE" )),
          ),
 
-         b_type_fonctionnelle =BLOC(condition = "METHODE == 'EXTERNE'" ,
-            FONCTIONNELLE   =SIMP(statut='f',typ='TXM',defaut='SCALAIRE',into=("SCALAIRE","VECTORIELLE")),
+
+         # Mode d'evaluation de l'esclave
+         # ------------------------------
+         CALCUL_ESCLAVE       =FACT(statut='d',
+            LANCEMENT         =SIMP(statut='f', typ='TXM', defaut='INCLUSION',into=("DISTRIBUTION","INCLUSION"),),
+
+            b_eval_distrib =BLOC(condition = "LANCEMENT == 'DISTRIBUTION'",
+                MODE          =SIMP(statut='f', typ='TXM',      into=("INTERACTIF","BATCH"),),
+                MEMOIRE       =SIMP(statut='f', typ='I',        fr="Memoire demandee pour les calculs esclaves (Mo)"),
+                TEMPS         =SIMP(statut='f', typ='I',        fr="Temps demandee pour les calculs esclaves (secondes)"),
+                CLASSE        =SIMP(statut='f', typ='TXM',      fr="Classe demandee pour les calculs en batch"),
+                NMAX_SIMULT   =SIMP(statut='f', typ='I',
+                               fr="Nombre de calculs esclaves lances en paralle en mode distribution (non precise = automatique)"),
+            ),
          ),
 
+         DYNAMIQUE       =FACT(statut='f',
+               MODE_EXP           =SIMP(statut='o',typ='TXM'),
+               MODE_CALC          =SIMP(statut='o',typ='TXM'),
+               APPARIEMENT_MANUEL =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON")),           
+                               ),
+
          INFO            =SIMP(statut='f',typ='I',defaut=2,into=( 1, 2 ) ),
 );
 #& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
@@ -20594,7 +21669,7 @@ MAJ_CATA=PROC(nom="MAJ_CATA",op=20,
          ELEMENT         =FACT(statut='f',),
 
 )  ;
-#& MODIF COMMANDE  DATE 20/10/2009   AUTEUR BOITEAU O.BOITEA
+#& MODIF COMMANDE  DATE 18/01/2010   AUTEUR TARDIEU N.TARDIE
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20679,10 +21754,15 @@ MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas,
            ),
 
            b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
-             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
-             NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
-             RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6),
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","LDLT_SP",),defaut="LDLT_INC" ),
+             b_ldltinc       =BLOC(condition = "PRE_COND == 'LDLT_INC' ", fr="Paramètres de la factorisation incomplète",
+               NIVE_REMPLISSAGE    =SIMP(statut='f',typ='I',defaut= 0 ),
+               RENUM               =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+               ),
+             b_simple        =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision",
+               REAC_PRECOND        =SIMP(statut='f',typ='I',defaut=5, ),
+               ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
            ),
 
@@ -21432,7 +22512,7 @@ MODI_OBSTACLE=OPER(nom="MODI_OBSTACLE",op=182,sd_prod=table_fonction,
          V_USUR_OBST     =SIMP(statut='f',typ='R',max='**'),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
 )  ;
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 02/03/2010   AUTEUR MACOCCO K.MACOCCO 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -21498,12 +22578,15 @@ MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='n'
               NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
          ),
          DEFI_REPERE     =FACT(statut='o',
-         regles=(UN_PARMI('ANGL_NAUT','ORIGINE'),),
+         regles=(UN_PARMI('ANGL_NAUT','ORIGINE','VECT_X'),),
            REPERE          =SIMP(statut='f',typ='TXM',defaut="UTILISATEUR",
                                  into=("UTILISATEUR","CYLINDRIQUE"),),
            ANGL_NAUT       =SIMP(statut='f',typ='R',max=3),
            ORIGINE         =SIMP(statut='f',typ='R',min=2,max=3),
            AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),
+           VECT_X          =SIMP(statut='f',typ='R',min=3,max=3 ),
+           b_vecteurs      =BLOC(condition = "VECT_X != None",             
+              VECT_Y         =SIMP(statut='o',typ='R',min=3,max=3 ),),
          ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
@@ -21650,7 +22733,7 @@ NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene,
                NB_VECT     =SIMP(statut='f',typ='I',defaut= 9999 ),
                              ),
 )  ;
-#& MODIF COMMANDE  DATE 11/05/2009   AUTEUR NISTOR I.NISTOR 
+#& MODIF COMMANDE  DATE 14/12/2009   AUTEUR ANDRIAM H.ANDRIAMBOLOLONA 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -21680,6 +22763,8 @@ def observation_prod(self, RESULTAT, **args):
         return evol_elas
     elif AsType(RESULTAT) == dyna_harmo :
         return dyna_harmo
+    elif AsType(RESULTAT) == dyna_trans :
+        return dyna_trans
     else :
         return None
 
@@ -21690,12 +22775,12 @@ OBSERVATION=MACRO(nom="OBSERVATION",op=observation_ops,
 #
          MODELE_1        =SIMP(statut='o',typ=modele_sdaster),
          MODELE_2        =SIMP(statut='o',typ=modele_sdaster),
-         RESULTAT        =SIMP(statut='o',typ=mode_meca ),
+         RESULTAT        =SIMP(statut='o',typ=(mode_meca,evol_elas,dyna_harmo,dyna_trans,) ),
          NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1),
 
 #        ------------------------------------------------------------------
 
-         regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','FREQ','LIST_FREQ','NUME_MODE' ),),
+         regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','FREQ','LIST_FREQ','NUME_MODE','INST','LIST_INST' ),),
          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
@@ -21709,7 +22794,7 @@ OBSERVATION=MACRO(nom="OBSERVATION",op=observation_ops,
 #        ------------------------------------------------------------------
 #        OPTIONS DE PROJ_CHAMP (SANS MC FACTEUR PARTICULIER)
 #        ------------------------------------------------------------------
-         PROJECTION     =SIMP(statut='f',max=1,typ='TXM',into=("OUI","NON"),defaut="NON"),
+         PROJECTION     =SIMP(statut='f',max=1,typ='TXM',into=("OUI","NON"),defaut="OUI"),
          CAS_FIGURE      =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ),
          DISTANCE_MAX    =SIMP(statut='f',typ='R',
                 fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."),
@@ -21761,12 +22846,12 @@ OBSERVATION=MACRO(nom="OBSERVATION",op=observation_ops,
            b_tors_3d       =BLOC(condition = "TYPE_CHAM=='TORS_3D'",
               NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
            b_tens_2d       =BLOC(condition = "TYPE_CHAM=='TENS_2D'",
-              NOM_CMP         =SIMP(statut='o',typ='TXM',min=4,max=4 ),),
+              NOM_CMP         =SIMP(statut='f',typ='TXM',min=4,max=4,defaut=('EPXX','EPYY','EPZZ','EPXY',) ),),
            b_tens_3d       =BLOC(condition = "TYPE_CHAM=='TENS_3D'",
-              NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
+              NOM_CMP         =SIMP(statut='f',typ='TXM',min=6,max=6,defaut=('EPXX','EPYY','EPZZ','EPXY','EPXZ','EPYZ',),),),
 
            REPERE          =SIMP(statut='o',typ='TXM',
-                                 into=("UTILISATEUR","CYLINDRIQUE","NORMALE"),),
+                                 into=("UTILISATEUR","CYLINDRIQUE","NORMALE","DIR_JAUGE"),),
            b_normale       =BLOC(condition = "REPERE=='NORMALE'",
              regles=(UN_PARMI('VECT_X','VECT_Y')),
              VECT_X          =SIMP(statut='f',typ='R',min=3,max=3),
@@ -21776,6 +22861,22 @@ OBSERVATION=MACRO(nom="OBSERVATION",op=observation_ops,
            b_cylindrique   =BLOC(condition = "REPERE=='CYLINDRIQUE'",
              ORIGINE         =SIMP(statut='o',typ='R',min=2,max=3),
              AXE_Z           =SIMP(statut='o',typ='R',min=3,max=3)),
+           b_dir_jauge       =BLOC(condition = "REPERE=='DIR_JAUGE'",
+             VECT_X          =SIMP(statut='f',typ='R',min=3,max=3),
+             VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3), ),
+         ),
+
+#        ------------------------------------------------------------------
+#        EPSI_MOYENNE
+#        ------------------------------------------------------------------
+         EPSI_MOYENNE     =FACT(statut='f',max='**',
+                       regles=(AU_MOINS_UN('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
+           NOEUD       = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+           GROUP_NO     = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           SEUIL_VARI      =SIMP(statut='f',typ='R',validators=NoRepeat(),defaut=0.1,),
+           MASQUE          =SIMP(statut='f',typ='TXM',max=6),
          ),
 
 #        ------------------------------------------------------------------
@@ -21841,6 +22942,44 @@ POST_CHAM_XFEM=OPER(nom="POST_CHAM_XFEM",op= 196,sd_prod=post_cham_xfem_prod,
                          ),
     INFO           =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
 );                     
+#& MODIF COMMANDE  DATE 08/02/2010   AUTEUR DESROCHES X.DESROCHES 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2009  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
+# (AT YOUR OPTION) ANY LATER VERSION.                                                  
+#                                                                       
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
+#                                                                       
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
+# ======================================================================
+# RESPONSABLE DESROCHES X.DESROCHES
+
+from Macro.post_coque_ops import post_coque_ops
+POST_COQUE=MACRO(nom="POST_COQUE",op=post_coque_ops,sd_prod=table_sdaster, reentrant='n',
+             UIinfo={"groupes":("Post traitements",)},
+             fr="Calcul des efforts et déformations en un point et une cote quelconque de la coque",
+
+             regles=(EXCLUS('INST','NUME_ORDRE'),),
+
+             # SD résultat et champ à posttraiter :
+             RESULTAT        =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à posttraiter",),
+             CHAM            =SIMP(statut='o',typ='TXM',into=("EFFORT","DEFORMATION",)),
+             NUME_ORDRE      =SIMP(statut='f',typ='I'),
+             INST            =SIMP(statut='f',typ='R',defaut=0.E+0),
+
+             # points de post-traitement :
+             COOR_POINT      =FACT(statut='o',max='**',fr="coordonnées et position dans l épaisseur",
+                                   COOR=SIMP(statut='o',typ='R',min=3,max=4),),
+
+            )
 #& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -22460,6 +23599,85 @@ POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=table_sdaster,reentrant='n',
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
 
  )  ;
+#& MODIF COMMANDE  DATE 21/04/2010   AUTEUR BOTTONI M.BOTTONI 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2010  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
+# (AT YOUR OPTION) ANY LATER VERSION.                                                  
+#                                                                       
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
+#                                                                       
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
+# ======================================================================
+# RESPONSABLE BOTTONI M.BOTTONI
+
+# ---------------------------------------------------------------------------
+#                  POST_ENDO_FISS
+# RECHERCHE DU TRAJET DE FISSURATION SUR UN
+#  CHAMP SCALAIRE 2D
+
+
+from Macro.post_endo_fiss_ops import post_endo_fiss_ops
+
+
+def post_endo_fiss_prod(self,TABLE,**args) :
+    self.type_sdprod(TABLE,table_sdaster)
+    return maillage_sdaster
+
+POST_ENDO_FISS=MACRO(nom       = "POST_ENDO_FISS",
+                     op        = post_endo_fiss_ops,
+                     sd_prod  = post_endo_fiss_prod,
+                     reentrant = 'n',
+                     UIinfo = {"groupes":("Outils metier",)},
+                     fr = "Individuation du trace d'une fissure a partir d'un champ scalaire pertinant",
+
+            TABLE  = SIMP(statut = 'o', typ = CO,),
+
+            regles = (UN_PARMI("RESULTAT","CHAM_GD"),
+                      ),
+
+            b_resultat = BLOC(condition  = "RESULTAT != None",
+                              regles     = (UN_PARMI('NUME_ORDRE','INST'),),
+                              NUME_ORDRE = SIMP(statut = 'f', typ = 'I', validators = NoRepeat(), max='**'),
+                              INST       = SIMP(statut = 'f', typ = 'R', validators = NoRepeat(), max='**'),
+                              MODELE     = SIMP(statut = 'f', typ = modele_sdaster,
+                                                fr = "nom du modele a associer au champ",),),
+
+            b_champ    = BLOC(condition = "CHAM_GD != None",
+                              MODELE    = SIMP(statut = 'o', typ = modele_sdaster,
+                                               fr = "nom du modele a associer au champ",),),
+
+            CHAM_GD         = SIMP(statut = 'f',typ = (cham_gd_sdaster)),
+            RESULTAT        = SIMP(statut = 'f',typ = (evol_noli)),
+            NOM_CMP         = SIMP(statut = 'o',typ='TXM',),
+            NOM_CHAM        = SIMP(statut = 'o', typ = 'TXM',
+                                   fr = "nom du champ a post-traiter",),
+
+            RECHERCHE = FACT(statut = 'o',min=1,max='**',
+                           regles = (
+                                       PRESENT_ABSENT('TOUT','GROUP_MA',),
+                                    ),
+                              LONG_ORTH  = SIMP(statut='o', typ='R'),
+                              NB_POINT   = SIMP(statut='f', typ='I', defaut = 500),
+                              PAS        = SIMP(statut='o', typ='R', max='**'),
+                              LONG_REG   = SIMP(statut='o', typ='R'),
+                              SEUIL      = SIMP(statut='o', typ='R'),
+                              ANGL_MAX   = SIMP(statut='f', typ='R', defaut=180.),
+                              TOUT       = SIMP(statut='f', typ='TXM', into=("OUI",) ),
+                              GROUP_MA   = SIMP(statut='f', typ=grma,  validators=NoRepeat(),max='**'),
+                              ),
+                   )
+
+
+
 #& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -22575,7 +23793,7 @@ POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=table_sdaster,reentrant='n',
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#& MODIF COMMANDE  DATE 08/12/2009   AUTEUR PROIX J-M.PROIX 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -22621,7 +23839,7 @@ POST_GP=MACRO(nom="POST_GP", op=post_gp_ops, sd_prod=post_gp_prod,
       COMP_ELAS    = FACT(statut='o',
             RELATION    = SIMP(statut='f',typ='TXM',defaut="ELAS",
                             into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC"),),
-            DEFORMATION = SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN"),),
+           DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GROT_GDEP",) ),
       ),
       
       EXCIT        = FACT(statut='f', max='**',
@@ -23491,7 +24709,7 @@ POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=table_sdaster,reentrant='f',
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
 )  ;
-#& MODIF COMMANDE  DATE 07/09/2009   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 16/02/2010   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -23561,7 +24779,7 @@ POURSUITE=MACRO(nom="POURSUITE",op=ops.build_poursuite,repetable='n',
          ),
 
          MESURE_TEMPS     =FACT(fr="Pour choisir les mesures de temps consommé dans les commandes",
-                               statut='f',min=1,max=1,
+                               statut='d',min=1,max=1,
            NIVE_DETAIL      =SIMP(fr="niveau de détail des impressions",
                                  statut='f',typ='I',into=(0,1,2,3),defaut=1),
                                  # 0 : rien
@@ -23703,7 +24921,7 @@ PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=cham_no_sdaster,
          CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 12/05/2009   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 19/04/2010   AUTEUR BERARD A.BERARD 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -23722,46 +24940,79 @@ PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=cham_no_sdaster,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
 # RESPONSABLE PELLET J.PELLET
-def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ):
+def proj_champ_prod(RESULTAT=None,CHAM_GD=None,**args ):
     if AsType(RESULTAT) != None : return AsType(RESULTAT)
-    if CHAM_NO_REFE     != None : return cham_no_sdaster
+    if AsType(CHAM_GD)  != None : return AsType(CHAM_GD)
     raise AsException("type de concept resultat non prevu")
 
 
+
+
 PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
             UIinfo={"groupes":("Résultats et champs",)},
-                fr="Projeter les champs aux noeuds d'une SD résultat de type evol_xxx sur un autre maillage",
+                fr="Projeter des champs d'un maillage sur un autre",
 
 
          METHODE         =SIMP(statut='f',typ='TXM',defaut="ELEM",
                                into=("NUAGE_DEG_0","NUAGE_DEG_1","ELEM",) ),
 
+         regles=(UN_PARMI('RESULTAT','CHAM_GD'),
+                 UN_PARMI('MODELE_1','MAILLAGE_1'),
+                 UN_PARMI('MODELE_2','MAILLAGE_2'),
+                 ),
+         RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
+         CHAM_GD         =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem)),
+
+         MODELE_1        =SIMP(statut='f',typ=modele_sdaster),
+         MAILLAGE_1      =SIMP(statut='f',typ=maillage_sdaster),
+
+         MODELE_2        =SIMP(statut='f',typ=modele_sdaster),
+         MAILLAGE_2      =SIMP(statut='f',typ=maillage_sdaster),
+
+         # Cas de la projection NUAGE_DEG_0/1 :
+         #--------------------------------------------
+         b_nuage         =BLOC(condition="METHODE in ('NUAGE_DEG_0','NUAGE_DEG_1')",
+             CHAM_NO_REFE    =SIMP(statut='o',typ=cham_no_sdaster),
+         ),
+
+
+         # Cas de la projection ELEM :
+         #--------------------------------------------
+         b_elem          =BLOC(condition="METHODE == 'ELEM'",
+             CAS_FIGURE      =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",),
+                  fr="Pour indiquer au programme le type de projection souhaité"),
+             DISTANCE_MAX    =SIMP(statut='f',typ='R',
+                  fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."),
+
+             TRANSF_GEOM_1   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
+                  fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
+                     " aux noeuds du MODELE_1 avant la projection."),
+             TRANSF_GEOM_2   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
+                  fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
+                     " aux noeuds du MODELE_2 avant la projection."),
 
-         # Méthode NUAGE_xxx :
-         #--------------------
-         b_nuage         =BLOC(condition="(METHODE=='NUAGE_DEG_1') or (METHODE=='NUAGE_DEG_0')",
-                               fr="Lissage d'un nuage de points",
-           CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),
-           CHAM_NO_REFE    =SIMP(statut='o',typ=cham_no_sdaster),
+             ALARME          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+
+             TYPE_CHAM       =SIMP(statut='f',typ='TXM',into=("NOEU",),
+                  fr="Pour forcer le type des champs projetés. NOEU -> cham_no"),
+
+             PROL_ZERO       =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
+                  fr="Pour prolonger les champs par zéro là ou la projection ne donne pas de valeurs."),
          ),
 
 
 
-         # Méthode ELEM :
-         #--------------------
-         b_elem          =BLOC(condition="METHODE=='ELEM'",
-                              fr="Utilisation des fonctions de forme du maillage initial",
+         # Cas de la projection d'une sd_resultat :
+         #--------------------------------------------
+         b_resultat      =BLOC(condition="RESULTAT != None",
            regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','LIST_INST','LIST_FREQ','LIST_ORDRE'),
                    EXCLUS('TOUT_CHAM','NOM_CHAM',),
                    CONCEPT_SENSIBLE('SEPARE'),
                    REUSE_SENSIBLE(),
                    DERIVABLE('RESULTAT'),),
-           RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),
            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
                                fr="Liste des paramètres de sensibilité.",
                                ang="List of sensitivity parameters",),
-           MODELE_1        =SIMP(statut='o',typ=modele_sdaster),
-           MODELE_2        =SIMP(statut='o',typ=modele_sdaster),
 
            NOM_PARA        =SIMP(statut='f',typ='TXM', max='**'),
            TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
@@ -23789,32 +25040,11 @@ PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
                    PRECISION       =SIMP(statut='o',typ='R',),),
            ),
 
-
-           CAS_FIGURE      =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",),
-                fr="Pour indiquer au programme le type de projection souhaité"),
-           DISTANCE_MAX    =SIMP(statut='f',typ='R',
-                fr="Distance maximale entre le noeud et l'élément le plus proche, lorsque le noeud n'est dans aucun élément."),
-
-           TRANSF_GEOM_1   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
-                fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
-                   " aux noeuds du MODELE_1 avant la projection."),
-           TRANSF_GEOM_2   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
-                fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
-                   " aux noeuds du MODELE_2 avant la projection."),
-
-           ALARME          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-
-           TYPE_CHAM       =SIMP(statut='f',typ='TXM',into=("NOEU",),
-                fr="Pour forcer le type des champs projetés. NOEU -> cham_no"),
-
-           PROL_ZERO       =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
-                fr="Pour prolonger les champs par zéro là ou la projection ne donne pas de valeurs."),
-
          ),
 
 
 
-         # Mots clés utilisables avec les 2 méthodes :
+         # Mots clés utilisables dans tous les cas :
          #---------------------------------------------
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
@@ -23832,13 +25062,15 @@ PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
            MAILLE_2        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-           CAS_FIGURE      =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ),
-           TRANSF_GEOM_1   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
-                fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
-                   " aux noeuds du MODELE_1 avant la projection."),
-           TRANSF_GEOM_2   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
-                fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
-                   " aux noeuds du MODELE_2 avant la projection."),
+
+           # les mots clés suivants ne sont actifs que si METHODE='ELEM' mais on ne peut pas le vérifier:
+               CAS_FIGURE      =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ),
+               TRANSF_GEOM_1   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
+                    fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
+                       " aux noeuds du MODELE_1 avant la projection."),
+               TRANSF_GEOM_2   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),min=2,max=3,
+                    fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
+                       " aux noeuds du MODELE_2 avant la projection."),
          ),
 )  ;
 #& MODIF COMMANDE  DATE 11/05/2009   AUTEUR NISTOR I.NISTOR 
@@ -24014,7 +25246,7 @@ PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op=  72,sd_prod=vect_asse_gene,
          VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster),
          VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
 )  ;
-#& MODIF COMMANDE  DATE 24/08/2009   AUTEUR GENIAUT S.GENIAUT 
+#& MODIF COMMANDE  DATE 03/05/2010   AUTEUR GENIAUT S.GENIAUT 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2008  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -24038,15 +25270,18 @@ PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op=  72,sd_prod=vect_asse_gene,
 from Macro.propa_fiss_ops import propa_fiss_ops
 
 def propa_fiss_prod(self,**args):
-  if  args.has_key('MA_TOT2')  : 
-      MA_TOT2 = args['MA_TOT2']
-      self.type_sdprod(MA_TOT2,maillage_sdaster)
-  if args.has_key('MA_XFEM2')  :
-      MA_XFEM2 = args['MA_XFEM2']
-      self.type_sdprod(MA_XFEM2,maillage_sdaster)
+  if  args.has_key('MAIL_TOTAL')  : 
+      MAIL_TOTAL = args['MAIL_TOTAL']
+      self.type_sdprod(MAIL_TOTAL,maillage_sdaster)
+  if  args.has_key('MAIL_FISS')  : 
+      MAIL_FISS = args['MAIL_FISS']
+      self.type_sdprod(MAIL_FISS,maillage_sdaster)
   if args.has_key('FISSURE') :
       FISSURE = args['FISSURE']
       for numfis in FISSURE :
+        if (args['METHODE_PROPA']=='MAILLAGE') :
+          self.type_sdprod(numfis['MAIL_PROPAGE'],maillage_sdaster)
+        else :
           self.type_sdprod(numfis['FISS_PROPAGEE'],fiss_xfem)
   return None
 
@@ -24059,9 +25294,13 @@ PROPA_FISS=MACRO(nom="PROPA_FISS",op=propa_fiss_ops,sd_prod=propa_fiss_prod,
             
         b_hamilton = BLOC(condition="(METHODE_PROPA=='SIMPLEXE') or (METHODE_PROPA=='UPWIND') ",
               MODELE        = SIMP(statut='o',typ=modele_sdaster),
-              TEST_MAIL     = SIMP(statut='f',typ='TXM',into=("NON","CONSTANT","LINEAIRE",),defaut="NON"),
+              TEST_MAIL     = SIMP(statut='f',typ='TXM',into=("NON","OUI",),defaut="NON"),
               DA_MAX        = SIMP(statut='o',typ='R',max=1),
               RAYON         = SIMP(statut='o',typ='R',),
+              ZONE_MAJ      = SIMP(statut='f',typ='TXM',into=("TOUT","TORE"),defaut="TORE"),
+              b_tore        = BLOC(condition = "ZONE_MAJ == 'TORE' ",
+                                   RAYON_TORE    = SIMP(statut='f',typ='R',max=1,val_min=0.0),
+                                  ),
               b_propagation = BLOC(condition = "TEST_MAIL == 'NON' ",
                                    FISSURE   = FACT(statut='o',min=1,max='**',
                                                     FISS_ACTUELLE  = SIMP(statut='o',typ=fiss_xfem,max=1),
@@ -24084,7 +25323,8 @@ PROPA_FISS=MACRO(nom="PROPA_FISS",op=propa_fiss_ops,sd_prod=propa_fiss_prod,
                                                     COEF_MULT_MAXI = SIMP(statut='o',typ='R',),
                                                    ),
                                    ),
-              b_test_const  = BLOC(condition = "TEST_MAIL == 'CONSTANT' ",
+
+              b_test_const  = BLOC(condition = "TEST_MAIL == 'OUI' ",
                                    FISSURE   = FACT(statut='o',min=1,max='**',
                                                     FISS_ACTUELLE  = SIMP(statut='o',typ=fiss_xfem,max=1),
                                                     FISS_PROPAGEE  = SIMP(statut='o',typ=CO,max=1),
@@ -24097,49 +25337,76 @@ PROPA_FISS=MACRO(nom="PROPA_FISS",op=propa_fiss_ops,sd_prod=propa_fiss_prod,
                          ),
 
         b_maillage    =BLOC(condition="(METHODE_PROPA=='MAILLAGE')",
-               MA_STRUC       = SIMP(statut='o',typ=maillage_sdaster), 
-               MA_XFEM1       = SIMP(statut='o',typ=maillage_sdaster), 
-               FISSURE1       = SIMP(statut='o',typ=fiss_xfem),
-               DTAN_ORIG      = SIMP(statut='f',typ='R',max=3),
-               DTAN_EXTR      = SIMP(statut='f',typ='R',max=3),
-               METHODE_POSTK  = SIMP(statut='f',typ='I',into=(1,2,3),max=1),
+               MAIL_STRUC       = SIMP(statut='o',typ=maillage_sdaster), 
                ITERATION      = SIMP(statut='o',typ='I',max=1),
-               HYPOTHESE      = SIMP(statut='f',typ='TXM',into=("PLAN","NON_PLAN"),defaut="NON_PLAN"),
-               MA_XFEM2       = SIMP(statut='f',typ=CO), 
-               MA_TOT2        = SIMP(statut='o',typ=CO), 
-               TABLE          = SIMP(statut='o',typ=table_sdaster,max=1),
+               DA_MAX        = SIMP(statut='o',typ='R',max=1),
+               
+               FISSURE   = FACT(statut='o',min=1,max='**',
+                                MAIL_ACTUEL    = SIMP(statut='o',typ=maillage_sdaster,max=1),
+                                GROUP_MA_FOND    = SIMP(statut='f',typ='TXM',defaut="FOND"), 
+                                GROUP_MA_FISS    = SIMP(statut='f',typ='TXM',defaut="FISS"), 
+                                FISS_ACTUELLE  = SIMP(statut='o',typ=fiss_xfem,max=1),
+                                MAIL_PROPAGE  = SIMP(statut='f',typ=CO,max=1),
+                                TABLE          = SIMP(statut='o',typ=table_sdaster,max=1),
+                                METHODE_POSTK  = SIMP(statut='f',typ='I',into=(1,2,3),max=1),
+                                DTAN_ORIG      = SIMP(statut='f',typ='R',max=3),
+                                DTAN_EXTR      = SIMP(statut='f',typ='R',max=3),
+                                                    ),
+               MAIL_TOTAL        = SIMP(statut='o',typ=CO), 
+               COMP_LINE = FACT(statut='f',max=1, 
+                                COEF_MULT_MINI = SIMP(statut='o',typ='R',),
+                                COEF_MULT_MAXI = SIMP(statut='o',typ='R',),
+                                                   ),
                                 ),      
                                     
         b_init    =BLOC(condition="(METHODE_PROPA=='INITIALISATION')",
-               MA_STRUC    = SIMP(statut='o',typ=maillage_sdaster), 
-               FORM_FISS   = SIMP(statut='o',typ='TXM', into=("DEMI_DROITE","DEMI_PLAN"), ),
-               PFON        = SIMP(statut='f',typ='R',max=3),
-               DTAN        = SIMP(statut='o',typ='R',min=3,max=3),
-               POINT_ORIG        = SIMP(statut='f',typ='R',min=3,max=3),
-               POINT_EXTR        = SIMP(statut='f',typ='R',min=3,max=3),
-               NB_POINT_FOND   = SIMP(statut='f',typ='I',),
-               regles=(PRESENT_PRESENT('POINT_ORIG','POINT_EXTR',),
-                       UN_PARMI('PFON','POINT_ORIG'),),
-               MA_TOT2     = SIMP(statut='o',typ=CO), 
-               MA_XFEM2       = SIMP(statut='f',typ=CO), 
-                                ),          
-
-        b_loi_et_comp_line=BLOC(condition="(METHODE_PROPA=='MAILLAGE') or (METHODE_PROPA=='INITIALISATION') ",
-                              LOI_PROPA = FACT(statut='f',max=1,
-                                          LOI = SIMP(statut='o',typ='TXM',into=("PARIS",),defaut="PARIS"),
-                                          b_paris  =BLOC( condition = "LOI=='PARIS'",
-                                                       C        = SIMP(statut='f',typ='R',),
-                                                       M        = SIMP(statut='o',typ='R',),
-                                                       DA_MAX   = SIMP(statut='f',typ='R',max=1),
-                                                       regles=(UN_PARMI('C','DA_MAX'),),
-                                                          ),
-                                               ),
+               MAIL_STRUC    = SIMP(statut='o',typ=maillage_sdaster), 
+               FORM_FISS   = SIMP(statut='o',typ='TXM', into=("DEMI_DROITE","DEMI_PLAN","ELLIPSE"), ),
+               GROUP_MA_FOND    = SIMP(statut='f',typ='TXM',defaut="FOND"), 
+               GROUP_MA_FISS    = SIMP(statut='f',typ='TXM',defaut="FISS"), 
+               MAIL_TOTAL     = SIMP(statut='o',typ=CO), 
+               MAIL_FISS       = SIMP(statut='f',typ=CO), 
+             
+               b_droite = BLOC(condition = "FORM_FISS == 'DEMI_DROITE' ",
+                  PFON        = SIMP(statut='o',typ='R',max=3),
+                  DTAN        = SIMP(statut='o',typ='R',min=3,max=3),
+               ),
+               
+               b_plan = BLOC(condition = "FORM_FISS == 'DEMI_PLAN' ",
+                  DTAN        = SIMP(statut='o',typ='R',min=3,max=3),
+                  POINT_ORIG        = SIMP(statut='o',typ='R',min=3,max=3),
+                  POINT_EXTR        = SIMP(statut='o',typ='R',min=3,max=3),
+                  NB_POINT_FOND     = SIMP(statut='o',typ='I',val_max=26),
+               ),
+                
+               b_ellipse = BLOC(condition = "FORM_FISS == 'ELLIPSE' ",
+                  CENTRE         =SIMP(statut='o',typ='R',min=3,max=3),
+                  DEMI_GRAND_AXE =SIMP(statut='o',typ='R',val_min=0.E+0),
+                  DEMI_PETIT_AXE =SIMP(statut='o',typ='R',val_min=0.E+0),
+                  VECT_X         =SIMP(statut='o',typ='R',min=3,max=3),
+                  VECT_Y         =SIMP(statut='o',typ='R',min=3,max=3),
+                  ANGLE_ORIG        = SIMP(statut='o',typ='R',),
+                  ANGLE_EXTR        = SIMP(statut='o',typ='R',),
+                  NB_POINT_FOND     = SIMP(statut='o',typ='I',val_max=52,),
+               ),   
+             ),       
+
+        b_loi_et_comp_line=BLOC(condition="(METHODE_PROPA=='MAILLAGE')  ",
+                             LOI_PROPA = FACT(statut='o',max=1,
+                                                    LOI     = SIMP(statut='o',typ='TXM',into=("PARIS",),defaut="PARIS"),
+                                                    b_paris = BLOC(condition = "LOI=='PARIS'",
+                                                                   C = SIMP(statut='o',typ='R',),
+                                                                   N = SIMP(statut='o',typ='R',),
+                                                                   M = SIMP(statut='o',typ='R',),
+                                                                  ),
+                                                    MATER = SIMP(statut='o',typ=mater_sdaster,),
+                                                   ),
                               ),
 
         INFO = SIMP(statut='f',typ='I',defaut=1,into=(0,1,2)),
 )
 
-#& MODIF COMMANDE  DATE 24/08/2009   AUTEUR GENIAUT S.GENIAUT 
+#& MODIF COMMANDE  DATE 15/12/2009   AUTEUR COLOMBO D.COLOMBO 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -24160,19 +25427,23 @@ PROPA_FISS=MACRO(nom="PROPA_FISS",op=propa_fiss_ops,sd_prod=propa_fiss_prod,
 # RESPONSABLE GENIAUT S.GENIAUT
 
 PROPA_XFEM=OPER(nom="PROPA_XFEM",op=10,sd_prod=fiss_xfem,reentrant='n',
-                UIinfo={"groupes":("Modélisation",)},
+                UIinfo={"groupes":("Modelisation",)},
                 fr="Propagation de fissure avec X-FEM",
     
     MODELE        =SIMP(statut='o',typ=modele_sdaster),
 
     GRILLE_AUX    =SIMP(statut='f',typ=modele_sdaster),
 
-    TEST_MAIL     =SIMP(statut='f',typ='TXM',into=("NON","CONSTANT","LINEAIRE",),defaut="NON"),
+    TEST_MAIL     =SIMP(statut='f',typ='TXM',into=("NON","OUI",),defaut="NON"),
 
     DA_MAX        =SIMP(statut='o',typ='R'),
 
     FISS_PROP     =SIMP(statut='o',typ=fiss_xfem),
 
+    ZONE_MAJ      =SIMP(statut='f',typ='TXM',into=("TOUT","TORE"),defaut="TORE"),
+
+    RAYON_TORE    =SIMP(statut='f',typ='R'),
+
     LISTE_FISS    =SIMP(statut='o',typ=fiss_xfem,min=1,max='**'),
         
     b_propa =BLOC( condition = "TEST_MAIL == 'NON' ",
@@ -24194,7 +25465,7 @@ PROPA_XFEM=OPER(nom="PROPA_XFEM",op=10,sd_prod=fiss_xfem,reentrant='n',
                        ),
          ),
 
-    b_test_mail_const =BLOC( condition = "TEST_MAIL == 'CONSTANT' ",
+    b_test_mail_const =BLOC( condition = "TEST_MAIL == 'OUI' ",
                              FISS_INITIALE =SIMP(statut='o',typ=fiss_xfem,max=1),
                              DISTANCE      =SIMP(statut='o',typ='R',max=1),
                              TOLERANCE     =SIMP(statut='o',typ='R',max=1),
@@ -24281,7 +25552,7 @@ RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=table_sdaster,
          ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
                        )  ;
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 23/03/2010   AUTEUR BOYERE E.BOYER
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -24425,9 +25696,11 @@ RECU_FONCTION=OPER(nom="RECU_FONCTION",op=90,sd_prod=recu_fonction_prod,
              NOEUD_CHOC      =SIMP(statut='f',typ=no),
              GROUP_NO_CHOC   =SIMP(statut='f',typ=grno),
            b_cham = BLOC ( condition = "(NOM_CHAM=='DEPL') or (NOM_CHAM=='VITE') or (NOM_CHAM=='ACCE')",
-                           regles=(UN_PARMI('GROUP_NO','NOEUD'),
+                           regles=(UN_PARMI('GROUP_NO','NOEUD','NUME_CMP_GENE',),
+                                   UN_PARMI('NOM_CMP','NUME_CMP_GENE',),
                                    EXCLUS('MULT_APPUI','CORR_STAT'),),
-             NOM_CMP         =SIMP(statut='o',typ='TXM' ),
+             NOM_CMP         =SIMP(statut='f',typ='TXM' ),
+             NUME_CMP_GENE   =SIMP(statut='f',typ='I' ),
              NOEUD           =SIMP(statut='f',typ=no),
              GROUP_NO        =SIMP(statut='f',typ=grno),
              MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
@@ -24923,7 +26196,7 @@ REST_SPEC_TEMP=OPER(nom="REST_SPEC_TEMP",op=181,sd_prod=rest_spec_temp_prod,
          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",)),
          NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ),
 );
-#& MODIF COMMANDE  DATE 07/07/2009   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 03/05/2010   AUTEUR PROIX J-M.PROIX 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -24955,119 +26228,102 @@ SIMU_POINT_MAT=MACRO(nom="SIMU_POINT_MAT", op=simu_point_mat_ops,sd_prod=table_s
            RESI_INTE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
-                                 into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
-                                      "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")),
-           DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
+                                 into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC","ELAS_VMIS_PUIS","ELAS_HYPER")),
+           DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GROT_GDEP",) ),
          ),
    MATER           =SIMP(statut='o',typ=mater_sdaster,max=30),
+   
 ## ANGLE : rotation de ANGLE autour de Z uniquement, et seulement pour les déformations imposées.
    ANGLE      =SIMP(statut='f',typ='R',max=1, defaut=0.),
 # --MASSIF : orientation du materiau (monocristal, orthotropie)
    MASSIF          =FACT(statut='f',max='**',
      regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),),
-     ANGL_REP        =SIMP(statut='f',typ='R',max=3),
-     ANGL_EULER      =SIMP(statut='f',typ='R',min=3,max=3),
+     ANGL_REP        =SIMP(statut='f',typ='R',min=1,max=3),
+     ANGL_EULER      =SIMP(statut='f',typ='R',min=1,max=3),
    ),
    INCREMENT       =C_INCREMENT(),
    NEWTON          =C_NEWTON(),
-   RECH_LINEAIRE   =C_RECH_LINEAIRE(),                                      
    CONVERGENCE     =C_CONVERGENCE(),
-   SUIVI_DDL      = FACT(statut='f',max=4,                                                                   
-       NUME_SUIVI      =SIMP(statut='o',typ='I' ,min=1,max=4),                                               
-       NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,                               
-                             into=("DEPL","SIEF_ELGA","VARI_ELGA",)),                                        
-       NOM_CMP         =SIMP(statut='o',typ='TXM',max=1 ),                                                   
-   ),                                                                                                        
-   ARCHIVAGE       =FACT(statut='f',
-     regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
-            EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),  
-     LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),                                                 
-     INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
-     PAS_ARCH        =SIMP(statut='f',typ='I' ),
-     PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-6),
-     ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",)),
-     NUME_INIT       =SIMP(statut='f',typ='I'),
-     DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
-     CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
-            into=("DEPL","SIEF_ELGA","VARI_ELGA","LANL_ELGA")),
-            ),       
-   MODELISATION  =SIMP(statut='f',typ='TXM',defaut="3D",validators=NoRepeat(),max=1,
-                       into=("3D","C_PLAN","D_PLAN",)),                                                       
-   b_3D = BLOC(condition="MODELISATION ==  '3D'",
-                       fr="Trajets de chargement en 3D",                    
-          SIGM_IMPOSE=FACT(statut='f',
-                 SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                 SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                 SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                 SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                 SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                 SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                            ),
-          EPSI_IMPOSE=FACT(statut='f',
-                 EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                 EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                 EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                 EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                 EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                 EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                            ),
-            ),
-            
-   b_2D = BLOC(condition="MODELISATION !=  '3D'",
-                    fr="Trajets de chargement en 2D",
-                    
-         SIGM_IMPOSE=FACT(statut='f',
-                SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                           ),
-         EPSI_IMPOSE=FACT(statut='f',
-                EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-                           ),
-             ),
-
-   b_3Dini = BLOC(condition="MODELISATION ==  '3D'",
-                      fr="Etat initial en 3D",                    
-          SIGM_INIT=FACT(statut='f',
-                 SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
-                 SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
-                 SIZZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
-                 SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
-                 SIXZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
-                 SIYZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
-                            ),
-          EPSI_INIT=FACT(statut='f',
-                 EPXX = SIMP(statut='o',typ='R',max=1),
-                 EPYY = SIMP(statut='o',typ='R',max=1),
-                 EPZZ = SIMP(statut='o',typ='R',max=1),
-                 EPXY = SIMP(statut='o',typ='R',max=1),
-                 EPXZ = SIMP(statut='o',typ='R',max=1),
-                 EPYZ = SIMP(statut='o',typ='R',max=1),
-                            ),
-          VARI_INIT=FACT(statut='f',
-                 VALE = SIMP(statut='o',typ='R',max='**'),
-                            ),
-            ),
-            
-   b_2Dini = BLOC(condition="MODELISATION !=  '3D'",
-                    fr="Etat initial en 2D",
-                    
-         SIGM_INIT=FACT(statut='f',
-                SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
-                SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
-                SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
+      
+   SUPPORT= SIMP(statut='f',typ='TXM',max=1,into=("POINT","ELEMENT",)),
+   
+   b_PM = BLOC(condition="SUPPORT !=  'ELEMENT'",fr="Simulation sans élément fini",
+      NB_VARI_TABLE  =SIMP(statut='f',typ='I',max=1,),
+      ARCHIVAGE       =FACT(statut='f',
+       LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
+       PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-6),
                            ),
-         EPSI_INIT=FACT(statut='f',
-                EPXX = SIMP(statut='o',typ='R',max=1),
-                EPYY = SIMP(statut='o',typ='R',max=1),
-                EPXY = SIMP(statut='o',typ='R',max=1),
+               ),        
+   b_EF = BLOC(condition="SUPPORT ==  'ELEMENT'",fr="Simulation sur un élément fini",                    
+      MODELISATION  =SIMP(statut='f',typ='TXM',max=1,into=("3D","C_PLAN","D_PLAN",)),
+      RECH_LINEAIRE   =C_RECH_LINEAIRE(),                                      
+      ARCHIVAGE       =FACT(statut='f',
+       LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
+       INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
+       PAS_ARCH        =SIMP(statut='f',typ='I' ),
+       PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-6),
+       ARCH_ETAT_INIT  =SIMP(statut='f',typ='TXM',into=("OUI",),defaut="OUI"),
+       NUME_INIT       =SIMP(statut='f',typ='I'),
+       DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
+       CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
+                                    into=("DEPL","SIEF_ELGA","VARI_ELGA",)),
+        ),
+                 ),                                            
+   # on permet certaines variables de commandes scalaires, définies par une fonction du temps
+   b_EFV = BLOC(condition="SUPPORT ==  'ELEMENT'",fr="variables de commande sur un élément fini",                    
+         # un mot clé caché qui ne sert qu'à boucler sur les VARC possibles :
+         LIST_NOM_VARC =SIMP(statut='c',typ='TXM', defaut=("TEMP",)),
+         AFFE_VARC    = FACT(statut='f',max='**',
+          NOM_VARC    = SIMP(statut='o',typ='TXM', into=("TEMP",)),
+          VALE_FONC   = SIMP(statut='o',typ=(fonction_sdaster,formule) ),
+          VALE_REF    = SIMP(statut='f',typ='R'),
+         ),
+         #  mots clés cachés pour variable de commande TEMP :
+         #  --------------------------------------------------
+         VARC_TEMP    =FACT(statut='d',
+           NOM_VARC        =SIMP(statut='c',typ='TXM',defaut="TEMP"),
+           GRANDEUR        =SIMP(statut='c',typ='TXM',defaut="TEMP_R"),
+           CMP_GD          =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("TEMP",)),
+           CMP_VARC        =SIMP(statut='c',typ='TXM',max=1,min=1,defaut=("TEMP",)),
+           VALE_DEF        =SIMP(statut='c',typ='R',max=1,min=1,defaut=(0.,)),
                            ),
-          VARI_INIT=FACT(statut='f',
-                 VALE    = SIMP(statut='o',typ='R',max='**'),
-                            ),
-             ),
+               ),
+               
+   SIGM_IMPOSE=FACT(statut='f',
+         SIXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         SIYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         SIZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         SIXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         SIXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         SIYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+                    ),
+   EPSI_IMPOSE=FACT(statut='f',
+         EPXX = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         EPYY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         EPZZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         EPXY = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         EPXZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         EPYZ = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+                    ),            
+   SIGM_INIT=FACT(statut='f',
+          SIXX = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
+          SIYY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
+          SIZZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
+          SIXY = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
+          SIXZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
+          SIYZ = SIMP(statut='f',typ='R',max=1,defaut=0.0E+0),
+                     ),
+   EPSI_INIT=FACT(statut='f',
+          EPXX = SIMP(statut='o',typ='R',max=1),
+          EPYY = SIMP(statut='o',typ='R',max=1),
+          EPZZ = SIMP(statut='o',typ='R',max=1),
+          EPXY = SIMP(statut='o',typ='R',max=1),
+          EPXZ = SIMP(statut='o',typ='R',max=1),
+          EPYZ = SIMP(statut='o',typ='R',max=1),
+                     ),
+   VARI_INIT=FACT(statut='f',
+          VALE = SIMP(statut='o',typ='R',max='**'),
+                     ),
    INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )
 
@@ -25106,7 +26362,7 @@ STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None,
                                fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit les md5"),
 
 )  ;
-#& MODIF COMMANDE  DATE 08/09/2009   AUTEUR SFAYOLLE S.FAYOLLE 
+#& MODIF COMMANDE  DATE 12/04/2010   AUTEUR MICHEL S.MICHEL 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -25132,10 +26388,7 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
                    reentrant='f',
             UIinfo={"groupes":("Résolution",)},
          regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS'),
-                 CONCEPT_SENSIBLE('ENSEMBLE'),
-#                 AU_MOINS_UN('NEWTON','IMPL_EX'),
-#                 EXCLUS('NEWTON','IMPL_EX'),
-                ),
+                 CONCEPT_SENSIBLE('ENSEMBLE'),),
          MODELE          =SIMP(statut='o',typ=modele_sdaster),
          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
@@ -25145,6 +26398,7 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
                                  into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
          ),
+         CONTACT         =SIMP(statut='f',typ=char_contact),
          SOUS_STRUC      =FACT(statut='f',min=01,max='**',
                 regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
@@ -25158,12 +26412,12 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
            ITER_INTE_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
            ITER_INTE_PAS   =SIMP(statut='f',typ='I',defaut= 0 ),
            RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
-                                 into=("RUNGE_KUTTA_2","RUNGE_KUTTA_4","IMPLICITE")),
+                                 into=("IMPLICITE",)),
            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC","ELAS_VMIS_PUIS",
                                       "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")),
-
-           DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
+          
+           DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GROT_GDEP",) ),
       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
@@ -25211,15 +26465,26 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
              NUME_DIDI       =SIMP(statut='f',typ='I'),
              INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
          ),),
-
          INCREMENT       =C_INCREMENT(),
-
+#         **C_ALGO_RESOLUTION()
+         METHODE = SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","IMPL_EX")),
+         b_meth_newton = BLOC(condition = "METHODE == 'NEWTON'",
+                           NEWTON = C_NEWTON(),
+                        ),
+         b_meth_impl_ex = BLOC(condition = "METHODE == 'IMPL_EX'",
+                           IMPL_EX = C_IMPL_EX(),
+                        ),
          RECH_LINEAIRE   =C_RECH_LINEAIRE(),
-
+         
          PILOTAGE        =FACT(statut='f',
            regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
            TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","DEFORMATION","ANA_LIM") ),
            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
+           EVOL_PARA       =SIMP(statut='f',typ='TXM',defaut="SANS", into=("SANS","CROISSANT","DECROISSANT") ),
+           
+           
            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),
            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),
            ETA_PILO_R_MAX  =SIMP(statut='f',typ='R'),
@@ -25233,11 +26498,11 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
            NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
                          ),
-
+                         
          CONVERGENCE     =C_CONVERGENCE(),
-
          SOLVEUR         =C_SOLVEUR(),
-
+          
          ARCHIVAGE       =FACT(statut='f',
            regles=(EXCLUS('PAS_ARCH','LIST_INST','INST'),
                    EXCLUS('ARCH_ETAT_INIT','NUME_INIT'), ),
@@ -25249,10 +26514,10 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
            NUME_INIT       =SIMP(statut='f',typ='I'),
            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
-                                 into=("DEPL","SIEF_ELGA","VARI_ELGA")),
+                                 into=("DEPL","SIEF_ELGA","VARI_ELGA",)),
          ),
          OBSERVATION     =FACT(statut='f',max='**',
-           NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
+           NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
            SUIVI_DDL       =SIMP(statut='f',typ='TXM',defaut="NON",max=1,into=("OUI","NON")),
          b_suivi          =BLOC(condition = "SUIVI_DDL == 'OUI' ",
                                 regles=(UN_PARMI('NOEUD','MAILLE','GROUP_NO','GROUP_MA','VALE_MIN','VALE_MAX'),
@@ -25303,6 +26568,7 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
                                       "RESI_MAXI","MAXI_NOEU",
                                       "RESI_REFE","REFE_NOEU",
                                       "RELI_ITER","RELI_COEF",
+                                      "RESI_COMP","COMP_NOEU",
                                       "PILO_PARA",
                                       "MATR_ASSE",
                                       "ITER_DEBO",
@@ -25326,25 +26592,25 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
            NB_FREQ         =SIMP(statut='f',typ='I',max=1,defaut=3),
            CHAR_CRIT       =SIMP(statut='f',typ='R',min=2,max=2,defaut=(-10.0,10),
                             fr="Valeur des deux charges critiques délimitant la bande de recherche en HPP"),
+           RIGI_GEOM   =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
+           b_ddl_exclus=BLOC(condition="(RIGI_GEOM=='NON')",
+              DDL_EXCLUS      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=40,
+                                    into=('DX','DY','DZ','DRX','DRY','DRZ','GRX','PRES','PHI',
+                                          'TEMP','PRE1','PRE2','UI2','UI3','VI2','VI3','WI2','WI3','UO2',
+                                          'UO3','VO2','VO3','WO2','WO3','UI4','UI5','VI4','VI5','WI4',
+                                          'WI5','UO4','UO5','VO4','VO5','WO4','WO5','UI6','UO6','VI6',
+                                          'VO6','WI6','WO6','WO','WI1','WO1','GONF','LIAISON','DCX',
+                                          'DCY','DCZ','H1X','H1Y','H1Z','E1X','E1Y','E1Z','E2X','E2Y','E2Z',
+                                          'E3X','E3Y','E3Z','E4X','E4Y','E4Z','LAGS_C','V11','V12','V13','V21','V22',
+                                          'V23','V31','V32','V33','PRES11','PRES12','PRES13','PRES21','PRES22','PRES23',
+                                          'PRES31','PRES32','PRES33','VARI','LAG_GV')),),
            INST_CALCUL       =SIMP(statut='f',typ='TXM',defaut="LISTE_ARCHIVAGE",into=("LISTE_ARCHIVAGE","TOUT_PAS",) ),
          ),
            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
-                               fr="Liste des paramétres de sensibilité",
+                               fr="Liste des paramètres de sensibilité",
                                ang="List of sensitivity parameters"),
          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
-
-#         NEWTON  = C_NEWTON(),
-#         IMPL_EX = C_IMPL_EX(),
-
-#         **C_ALGO_RESOLUTION()
-         METHODE = SIMP(statut='d',typ='TXM',defaut="NEWTON",into=("NEWTON","IMPL_EX")),
-         b_meth_newton = BLOC(condition = "METHODE == 'NEWTON'",
-                           NEWTON = C_NEWTON(),
-                        ),
-         b_meth_impl_ex = BLOC(condition = "METHODE == 'IMPL_EX'",
-                           IMPL_EX = C_IMPL_EX(),
-                        ),
  )
 
 #& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
@@ -25393,7 +26659,7 @@ TEST_FICHIER=MACRO(nom="TEST_FICHIER", op=test_fichier_ops,
 
    INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )
-#& MODIF COMMANDE  DATE 22/09/2009   AUTEUR SELLENET N.SELLENET 
+#& MODIF COMMANDE  DATE 01/02/2010   AUTEUR REZETTE C.REZETTE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -25434,6 +26700,7 @@ TEST_FONCTION=MACRO(nom="TEST_FONCTION",op=test_fonction_ops,sd_prod=None,
            VALE_REFE       =SIMP(statut='f',typ='R',max='**' ),
            VALE_REFE_C     =SIMP(statut='f',typ='C',max='**' ),
            VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+           LEGENDE         =SIMP(statut='f',typ='TXM'),
            CRITERE         =SIMP(statut='f',typ='TXM',fr="Critère de comparaison avec la solution de référence",
                                  defaut="RELATIF",into=("RELATIF","ABSOLU") ),
            PRECISION       =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence",
@@ -25481,6 +26748,7 @@ TEST_FONCTION=MACRO(nom="TEST_FONCTION",op=test_fonction_ops,sd_prod=None,
                                  defaut="RELATIF",into=("RELATIF","ABSOLU") ),
            PRECISION       =SIMP(statut='f',typ='R',fr="Ecart maximal autorisé avec la solution de référence",
                                  defaut= 1.E-3 ),
+           LEGENDE         =SIMP(statut='f',typ='TXM'),
            REFERENCE       =SIMP(statut='f',typ='TXM',
                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
            b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
@@ -25488,7 +26756,7 @@ TEST_FONCTION=MACRO(nom="TEST_FONCTION",op=test_fonction_ops,sd_prod=None,
            ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
+#& MODIF COMMANDE  DATE 01/02/2010   AUTEUR REZETTE C.REZETT
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -25512,7 +26780,7 @@ TEST_FONCTION=MACRO(nom="TEST_FONCTION",op=test_fonction_ops,sd_prod=None,
 TEST_RESU=PROC(nom="TEST_RESU",op=23,
             UIinfo={"groupes":("Impression",)},
          fr="Extraction d'une valeur d'une structure de donnée et comparaison à une valeur de référence",
-         regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','RESU','GENE','OBJET')),
+         regles=(AU_MOINS_UN('CHAM_NO','CHAM_ELEM','RESU','GENE','OBJET','TEST_NAN',)),
 
          CHAM_NO         =FACT(statut='f',max='**',
            regles=(UN_PARMI('NOEUD','GROUP_NO','TYPE_TEST'),
@@ -25534,6 +26802,7 @@ TEST_RESU=PROC(nom="TEST_RESU",op=23,
            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
                                                             "NON_REGRESSION","AUTRE_ASTER")),
            VERSION         =SIMP(statut='f',typ='TXM'),
+           LEGENDE         =SIMP(statut='f',typ='TXM'),
          ),
 
          CHAM_ELEM       =FACT(statut='f',max='**',
@@ -25560,6 +26829,7 @@ TEST_RESU=PROC(nom="TEST_RESU",op=23,
            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
                                                             "NON_REGRESSION","AUTRE_ASTER") ),
            VERSION         =SIMP(statut='f',typ='TXM' ),
+           LEGENDE         =SIMP(statut='f',typ='TXM'),
          ),
 
          RESU            =FACT(statut='f',max='**',
@@ -25602,6 +26872,7 @@ TEST_RESU=PROC(nom="TEST_RESU",op=23,
            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
            VERSION         =SIMP(statut='f',typ='TXM' ),
+           LEGENDE         =SIMP(statut='f',typ='TXM'),
          ),
 
          GENE            =FACT(statut='f',max='**',
@@ -25637,6 +26908,7 @@ TEST_RESU=PROC(nom="TEST_RESU",op=23,
            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
            VERSION         =SIMP(statut='f',typ='TXM' ),
+           LEGENDE         =SIMP(statut='f',typ='TXM'),
          ),
 
          OBJET           =FACT(statut='f',max='**',
@@ -25654,9 +26926,12 @@ TEST_RESU=PROC(nom="TEST_RESU",op=23,
            REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
                                                             "NON_REGRESSION","AUTRE_ASTER",) ),
            VERSION         =SIMP(statut='f',typ='TXM' ),
+           LEGENDE         =SIMP(statut='f',typ='TXM'),
          ),
+
+         TEST_NAN        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
 )  ;
-#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
+#& MODIF COMMANDE  DATE 01/02/2010   AUTEUR REZETTE C.REZETT
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -25709,6 +26984,7 @@ TEST_TABLE=PROC(nom="TEST_TABLE",op= 177,
          VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
          PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
+         LEGENDE         =SIMP(statut='f',typ='TXM'),
          REFERENCE       =SIMP(statut='f',typ='TXM',
                                into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
          b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
@@ -25764,7 +27040,7 @@ TEST_TEMPS=MACRO(nom="TEST_TEMPS",op=test_temps_ops, sd_prod=None,
    INFO  = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )
 
-#& MODIF COMMANDE  DATE 16/11/2009   AUTEUR DURAND C.DURAND 
+#& MODIF COMMANDE  DATE 18/01/2010   AUTEUR TARDIEU N.TARDIEU 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -25842,10 +27118,15 @@ THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f',
              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
            ),
-           b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
-             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
-             NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+           b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","LDLT_SP",),defaut="LDLT_INC" ),
+             b_ldltinc       =BLOC(condition = "PRE_COND == 'LDLT_INC' ", fr="Paramètres de la factorisation incomplète",
+               NIVE_REMPLISSAGE    =SIMP(statut='f',typ='I',defaut= 0 ),
+               RENUM               =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+               ),
+             b_simple        =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision",
+               REAC_PRECOND        =SIMP(statut='f',typ='I',defaut=5, ),
+               ),
              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
            ),
@@ -25887,7 +27168,7 @@ THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f',
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',into=(1,2)),
 )  ;
-#& MODIF COMMANDE  DATE 16/11/2009   AUTEUR DURAND C.DURAND 
+#& MODIF COMMANDE  DATE 18/01/2010   AUTEUR TARDIEU N.TARDIEU 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -25985,12 +27266,17 @@ THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f',
              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
            ),
-           b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Parametres de la méthode du gradient conjugué",
-             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
-             NIVE_REMPLISSAGE=SIMP(statut='f',typ='I'  ,defaut= 0 ),
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
-             RESI_RELA       =SIMP(statut='f',typ='R'  ,defaut= 1.E-6 ),
-             NMAX_ITER       =SIMP(statut='f',typ='I'  ,defaut= 0 ),
+           b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","LDLT_SP",),defaut="LDLT_INC" ),
+             b_ldltinc       =BLOC(condition = "PRE_COND == 'LDLT_INC' ", fr="Paramètres de la factorisation incomplète",
+               NIVE_REMPLISSAGE    =SIMP(statut='f',typ='I',defaut= 0 ),
+               RENUM               =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+               ),
+             b_simple        =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision",
+               REAC_PRECOND        =SIMP(statut='f',typ='I',defaut=5, ),
+               ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
+             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
            ),
            b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
              TYPE_RESOL      =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("NONSYM","SYMGEN","SYMDEF","AUTO")),
@@ -26054,7 +27340,7 @@ THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f',
          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
 
 )  ;
-#& MODIF COMMANDE  DATE 13/10/2009   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 18/01/2010   AUTEUR TARDIEU N.TARDIEU 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -26108,10 +27394,15 @@ THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther,
              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
              STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
            ),
-           b_gcpc          =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
-             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC",),defaut="LDLT_INC" ),
-             NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+           b_gcpc         =BLOC(condition = "METHODE == 'GCPC' ", fr="Paramètres de la méthode du gradient conjugué",
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("LDLT_INC","LDLT_SP",),defaut="LDLT_INC" ),
+             b_ldltinc       =BLOC(condition = "PRE_COND == 'LDLT_INC' ", fr="Paramètres de la factorisation incomplète",
+               NIVE_REMPLISSAGE    =SIMP(statut='f',typ='I',defaut= 0 ),
+               RENUM               =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+               ),
+             b_simple        =BLOC(condition = "PRE_COND == 'LDLT_SP' ", fr="Paramètres de la factorisation simple précision",
+               REAC_PRECOND        =SIMP(statut='f',typ='I',defaut=5, ),
+               ),
              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
            ),
index e0098c8d4e9197494ef44b1cc330fb102e4eee6d..258662733de4cfce1b1bbecb0a3402cc13e9f145 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF ops Cata  DATE 16/11/2009   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF ops Cata  DATE 23/03/2010   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -351,6 +351,8 @@ def detruire(self,d):
          del self.jdc.sds_dict[nom]
       # On signale au parent que le concept s n'existe plus apres l'étape self 
       self.parent.delete_concept_after_etape(self, co)
+      # marque comme détruit == non executé
+      co.executed = 0
 
 
 def subst_materiau(text,NOM_MATER,EXTRACTION,UNITE_LONGUEUR):