]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
CCAR: mise a jour catalogue STA9
authorChristian Caremoli <>
Fri, 13 Jun 2008 14:26:12 +0000 (14:26 +0000)
committerChristian Caremoli <>
Fri, 13 Jun 2008 14:26:12 +0000 (14:26 +0000)
      suppression du repertoire Editeur dans sys.path (package)
      ajustement de quelques tests elementaires

149 files changed:
Aster/Cata/cataSTA9/Macro/calc_precont_ops.py
Aster/Cata/cataSTA9/Macro/calc_table_ops.py
Aster/Cata/cataSTA9/Macro/creation_donnees_homard.py
Aster/Cata/cataSTA9/Macro/exec_logiciel_ops.py
Aster/Cata/cataSTA9/Macro/impr_fonction_ops.py
Aster/Cata/cataSTA9/Macro/impr_table_ops.py
Aster/Cata/cataSTA9/Macro/lire_inte_spec_ops.py
Aster/Cata/cataSTA9/Macro/macr_adap_mail_ops.py
Aster/Cata/cataSTA9/Macro/macr_ascouf_calc_ops.py
Aster/Cata/cataSTA9/Macro/macr_aspic_calc_ops.py
Aster/Cata/cataSTA9/Macro/macr_aspic_mail_ops.py
Aster/Cata/cataSTA9/Macro/macr_lign_coupe_ops.py
Aster/Cata/cataSTA9/Macro/macro_expans_ops.py
Aster/Cata/cataSTA9/Macro/macro_matr_asse_ops.py
Aster/Cata/cataSTA9/Macro/macro_miss_3d_ops.py
Aster/Cata/cataSTA9/Macro/macro_visu_meidee_ops.py
Aster/Cata/cataSTA9/Macro/observation_ops.py
Aster/Cata/cataSTA9/Macro/post_dyna_alea_ops.py
Aster/Cata/cataSTA9/Macro/post_gp_ops.py
Aster/Cata/cataSTA9/Macro/post_k1_k2_k3_ops.py
Aster/Cata/cataSTA9/Macro/post_k_trans_ops.py
Aster/Cata/cataSTA9/Messages/algeline.py
Aster/Cata/cataSTA9/Messages/algeline2.py
Aster/Cata/cataSTA9/Messages/algeline3.py
Aster/Cata/cataSTA9/Messages/algeline4.py
Aster/Cata/cataSTA9/Messages/algeline5.py
Aster/Cata/cataSTA9/Messages/algorith.py
Aster/Cata/cataSTA9/Messages/algorith10.py
Aster/Cata/cataSTA9/Messages/algorith11.py
Aster/Cata/cataSTA9/Messages/algorith12.py
Aster/Cata/cataSTA9/Messages/algorith13.py
Aster/Cata/cataSTA9/Messages/algorith14.py
Aster/Cata/cataSTA9/Messages/algorith15.py
Aster/Cata/cataSTA9/Messages/algorith16.py
Aster/Cata/cataSTA9/Messages/algorith2.py
Aster/Cata/cataSTA9/Messages/algorith3.py
Aster/Cata/cataSTA9/Messages/algorith4.py
Aster/Cata/cataSTA9/Messages/algorith6.py
Aster/Cata/cataSTA9/Messages/algorith7.py
Aster/Cata/cataSTA9/Messages/algorith8.py
Aster/Cata/cataSTA9/Messages/algorith9.py
Aster/Cata/cataSTA9/Messages/appelmpi.py
Aster/Cata/cataSTA9/Messages/arlequin.py
Aster/Cata/cataSTA9/Messages/ascouf0.py
Aster/Cata/cataSTA9/Messages/aspic0.py
Aster/Cata/cataSTA9/Messages/assembla.py
Aster/Cata/cataSTA9/Messages/calculel.py
Aster/Cata/cataSTA9/Messages/calculel2.py
Aster/Cata/cataSTA9/Messages/calculel3.py
Aster/Cata/cataSTA9/Messages/calculel4.py
Aster/Cata/cataSTA9/Messages/calculel5.py
Aster/Cata/cataSTA9/Messages/calculel6.py
Aster/Cata/cataSTA9/Messages/compor1.py
Aster/Cata/cataSTA9/Messages/contact.py
Aster/Cata/cataSTA9/Messages/contact2.py
Aster/Cata/cataSTA9/Messages/contact3.py
Aster/Cata/cataSTA9/Messages/contactdebg.py
Aster/Cata/cataSTA9/Messages/dvp.py
Aster/Cata/cataSTA9/Messages/dynamique.py
Aster/Cata/cataSTA9/Messages/elements.py
Aster/Cata/cataSTA9/Messages/elements2.py
Aster/Cata/cataSTA9/Messages/elements3.py
Aster/Cata/cataSTA9/Messages/elements4.py
Aster/Cata/cataSTA9/Messages/elements5.py
Aster/Cata/cataSTA9/Messages/execlogiciel0.py
Aster/Cata/cataSTA9/Messages/factor.py
Aster/Cata/cataSTA9/Messages/fatigue1.py
Aster/Cata/cataSTA9/Messages/fermetur.py
Aster/Cata/cataSTA9/Messages/fonct0.py
Aster/Cata/cataSTA9/Messages/grappefluide.py
Aster/Cata/cataSTA9/Messages/indicateur.py
Aster/Cata/cataSTA9/Messages/irrad3m.py
Aster/Cata/cataSTA9/Messages/jeveux.py
Aster/Cata/cataSTA9/Messages/maillage.py
Aster/Cata/cataSTA9/Messages/matrice0.py
Aster/Cata/cataSTA9/Messages/mecanonline.py
Aster/Cata/cataSTA9/Messages/mecanonline2.py
Aster/Cata/cataSTA9/Messages/med.py
Aster/Cata/cataSTA9/Messages/meidee0.py
Aster/Cata/cataSTA9/Messages/modelisa.py
Aster/Cata/cataSTA9/Messages/modelisa2.py
Aster/Cata/cataSTA9/Messages/modelisa3.py
Aster/Cata/cataSTA9/Messages/modelisa4.py
Aster/Cata/cataSTA9/Messages/modelisa5.py
Aster/Cata/cataSTA9/Messages/modelisa6.py
Aster/Cata/cataSTA9/Messages/modelisa7.py
Aster/Cata/cataSTA9/Messages/modelisa8.py
Aster/Cata/cataSTA9/Messages/modelisa9.py
Aster/Cata/cataSTA9/Messages/postrccm.py
Aster/Cata/cataSTA9/Messages/postrele.py
Aster/Cata/cataSTA9/Messages/prepost.py
Aster/Cata/cataSTA9/Messages/prepost2.py
Aster/Cata/cataSTA9/Messages/prepost3.py
Aster/Cata/cataSTA9/Messages/prepost5.py
Aster/Cata/cataSTA9/Messages/prepost6.py
Aster/Cata/cataSTA9/Messages/proba0.py
Aster/Cata/cataSTA9/Messages/rupture0.py
Aster/Cata/cataSTA9/Messages/sdveri.py
Aster/Cata/cataSTA9/Messages/sensibilite.py
Aster/Cata/cataSTA9/Messages/soustruc.py
Aster/Cata/cataSTA9/Messages/spectral0.py
Aster/Cata/cataSTA9/Messages/stanley.py
Aster/Cata/cataSTA9/Messages/subdivise.py
Aster/Cata/cataSTA9/Messages/supervis.py
Aster/Cata/cataSTA9/Messages/table0.py
Aster/Cata/cataSTA9/Messages/test0.py
Aster/Cata/cataSTA9/Messages/utilitai.py
Aster/Cata/cataSTA9/Messages/utilitai2.py
Aster/Cata/cataSTA9/Messages/utilitai3.py
Aster/Cata/cataSTA9/Messages/utilitai4.py
Aster/Cata/cataSTA9/Messages/utilitai5.py
Aster/Cata/cataSTA9/Messages/utilitai6.py
Aster/Cata/cataSTA9/Messages/utilitai8.py
Aster/Cata/cataSTA9/Messages/xfem.py
Aster/Cata/cataSTA9/Messages/xfem2.py
Aster/Cata/cataSTA9/SD/co_fonction.py
Aster/Cata/cataSTA9/SD/co_macr_elem_dyna.py
Aster/Cata/cataSTA9/SD/co_matr_asse_gene.py
Aster/Cata/cataSTA9/SD/co_vect_asse_gene.py
Aster/Cata/cataSTA9/SD/sd_cham_elem.py
Aster/Cata/cataSTA9/SD/sd_cham_mater.py
Aster/Cata/cataSTA9/SD/sd_char_contact.py
Aster/Cata/cataSTA9/SD/sd_char_meca.py
Aster/Cata/cataSTA9/SD/sd_fonction.py
Aster/Cata/cataSTA9/SD/sd_fond_fiss.py
Aster/Cata/cataSTA9/SD/sd_maillage.py
Aster/Cata/cataSTA9/SD/sd_mater.py
Aster/Cata/cataSTA9/SD/sd_matr_asse_com.py
Aster/Cata/cataSTA9/SD/sd_matr_cine.py
Aster/Cata/cataSTA9/SD/sd_matr_elem.py
Aster/Cata/cataSTA9/SD/sd_melasflu.py
Aster/Cata/cataSTA9/SD/sd_modele.py
Aster/Cata/cataSTA9/SD/sd_nume_eqge.py
Aster/Cata/cataSTA9/SD/sd_nume_equa.py
Aster/Cata/cataSTA9/SD/sd_prof_vgen.py
Aster/Cata/cataSTA9/SD/sd_proj_mesu.py
Aster/Cata/cataSTA9/SD/sd_resuelem.py
Aster/Cata/cataSTA9/SD/sd_resultat_dyn.py
Aster/Cata/cataSTA9/SD/sd_vect_elem.py
Aster/Cata/cataSTA9/SD/sd_xfem.py
Aster/Cata/cataSTA9/cata.py
Aster/Cata/cataSTA9/ops.py
Aster/prefs.py
Exemples/ex21/check.py
InterfaceTK/bureau.py
InterfaceTK/readercata.py
Openturns/prefs.py
Tests/testelem/testsimp4.py
Tests/testelem/testvalidator2.py

index a678f59c4807c621f41340a9d7ec6880cae27bdd..1b1786336710ea709a13059954fd7b4699c7ca19 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF calc_precont_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETT
+#@ MODIF calc_precont_ops Macro  DATE 31/03/2008   AUTEUR ASSIRE A.ASSIR
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -400,6 +400,11 @@ def calc_precont_ops(self,reuse,MODELE,CHAM_MATER,CARA_ELEM,EXCIT,
   dExcit1.append(_F(CHARGE = _F_CA,
                     FONC_MULT=__FCT ),)
 
+  motscle4={}
+  if dReuse: motscle4['reuse']=[]
+  else:      motscle4['reuse']=dReuse
+
+
   RES=STAT_NON_LINE(
                      MODELE      =MODELE,
                      CARA_ELEM   =CARA_ELEM,
@@ -415,7 +420,7 @@ def calc_precont_ops(self,reuse,MODELE,CHAM_MATER,CARA_ELEM,EXCIT,
                      INFO     =INFO,
                      TITRE = TITRE,
                      EXCIT = dExcit1,
-                     )
+                     **motscle4)
 
   # Recuperation du dernier numero d'ordre pour pouvoir  l'écraser dans RES
   __dico2 = RES.LIST_VARI_ACCES()
index 956e2e39afa705cadb0fa10e7a6733ef83672e9f..2f1353bb917456ab85e20333b3db562bbcbc037e 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF calc_table_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF calc_table_ops Macro  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -73,14 +73,16 @@ def calc_table_ops(self, TABLE, ACTION, INFO, **args):
       # format pour l'impression des filtres
       form_filtre = '\nFILTRE -> NOM_PARA: %-16s CRIT_COMP: %-4s VALE: %s'
       if occ['OPERATION'] == 'FILTRE':
-         col = getattr(tab, occ['NOM_PARA'])
          # peu importe le type, c'est la meme méthode d'appel
          opts = [occ[k] for k in ('VALE','VALE_I','VALE_C','VALE_K') if occ.has_key(k)]
          kargs = {}
          for k in ('CRITERE','PRECISION'):
             if occ.has_key(k):
                kargs[k] = occ[k]
-         tab = tab & ( getattr(col, occ['CRIT_COMP'])(*opts,**kargs) )
+
+         col = getattr(tab, occ['NOM_PARA'])
+         tab = getattr(col, occ['CRIT_COMP'])(*opts,**kargs)
+
          # trace l'operation dans le titre
          #if FORMAT in ('TABLEAU','ASTER'):
          tab.titr += form_filtre % (occ['NOM_PARA'], occ['CRIT_COMP'], \
@@ -136,6 +138,15 @@ def calc_table_ops(self, TABLE, ACTION, INFO, **args):
             vectval = getattr(tab, occ['NOM_PARA']).values()
             aster.affiche('MESSAGE', 'Ajout de la colonne %s : %s' % (occ['NOM_PARA']+repr(vectval))+'\n')
 
+      #----------------------------------------------
+      # 6. Traitement de AJOUT
+      if occ['OPERATION'] == 'AJOUT':
+         if len(occ['NOM_PARA']) != len(occ['VALE']):
+            UTMESS('F', 'TABLE0_14')
+         dnew = dict(zip(occ['NOM_PARA'], occ['VALE']))
+         # ajout de la ligne avec vérification des types
+         tab.append(dnew)
+   
    #----------------------------------------------
    # 99. Création de la table_sdaster résultat
    # cas réentrant : il faut détruire l'ancienne table_sdaster
@@ -164,3 +175,4 @@ def calc_table_ops(self, TABLE, ACTION, INFO, **args):
                        **dprod)
    
    return ier
+
index d526af814c918bac4977bec0b60b19459476192b..115448c87342a2fb0fa052269cd2250df4b10aa0 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF creation_donnees_homard Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF creation_donnees_homard Macro  DATE 11/12/2007   AUTEUR GNICOLAS G.NICOLAS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # 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
+# RESPONSABLE GNICOLAS G.NICOLAS
 """
 Cette classe crée le fichier de configuration permettant de lancer HOMARD depuis Code_Aster.
 """
-__revision__ = "V1.2"
+__revision__ = "V1.3"
 __all__ = [ ]
  
 import os
@@ -443,6 +443,23 @@ class creation_donnees_homard:
         for aux in self.niveau :
           self.ecrire_ligne_configuration_2(aux[0], aux[1])
 #
+#     5.5. L'usage de l'indicateur
+#
+        if self.mots_cles.has_key("TYPE_OPER_INDICA") :
+          if self.mots_cles["TYPE_OPER_INDICA"] is not None :
+            self.ecrire_ligne_configuration_2("CCModeFI", self.mots_cles["TYPE_OPER_INDICA"])
+#
+#     5.6. Les éventuels groupes de filtrage du raffinement/deraffinement
+#
+        for cle in ( "GROUP_MA", "GROUP_NO" ) :
+          if self.mots_cles.has_key(cle) :
+            if self.mots_cles[cle] is not None :
+              if not type(self.mots_cles[cle]) in EnumTypes :
+                self.ecrire_ligne_configuration_2("CCGroAda", self.mots_cles[cle])
+              else :
+                for group in self.mots_cles[cle] :
+                  self.ecrire_ligne_configuration_2("CCGroAda", group)
+#
 #     6. Les éventuels champs à mettre à jour
 #
       if self.dico_configuration.has_key("Champs") :
@@ -467,12 +484,12 @@ class creation_donnees_homard:
         self.ecrire_ligne_configuration_2("SuivFron", "oui")
         self.ecrire_ligne_configuration_2("CCFronti", self.dico_configuration["Fichier_ASTER_vers_HOMARD"])
         self.ecrire_ligne_configuration_2("CCNoMFro", self.dico_configuration["NOM_MED_MAILLAGE_FRONTIERE"])
-        if self.mots_cles.has_key("GROUP_MA") :
-          if self.mots_cles["GROUP_MA"] is not None :
-            if not type(self.mots_cles["GROUP_MA"]) in EnumTypes :
-              self.ecrire_ligne_configuration_2("CCGroFro", self.mots_cles["GROUP_MA"])
+        if self.mots_cles.has_key("GROUP_MA_FRONT") :
+          if self.mots_cles["GROUP_MA_FRONT"] is not None :
+            if not type(self.mots_cles["GROUP_MA_FRONT"]) in EnumTypes :
+              self.ecrire_ligne_configuration_2("CCGroFro", self.mots_cles["GROUP_MA_FRONT"])
             else :
-              for group_ma in self.mots_cles["GROUP_MA"] :
+              for group_ma in self.mots_cles["GROUP_MA_FRONT"] :
                 self.ecrire_ligne_configuration_2("CCGroFro", group_ma)
 #
 #     8. L'éventuel maillage annexe
index b4833b9c44cac94c1349a6f7b0332c4f6896dfdf..ad19d219bbc54c3c72427fd2b4b900d5a29f3345 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF exec_logiciel_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF exec_logiciel_ops Macro  DATE 19/05/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -89,13 +89,12 @@ def exec_logiciel_ops(self, LOGICIEL, ARGUMENT, MAILLAGE, CODE_RETOUR_MAXI, INFO
       elif dMCF['FORMAT'] == 'SALOME':
          mode_lancement = EXECFILE
          if len(l_args) < 1:
-#                               "LE NOM DU FICHIER MED PRODUIT PAR LE SCRIPT PYTHON.")
             UTMESS('F','EXECLOGICIEL0_1')
          else:
             d_para['fichMED'] = l_args[0]
       
       else:
-         UTMESS('F','EXECLOGICIEL0_2',valk=dMCF['FORMAT'])
+         UTMESS('F', 'EXECLOGICIEL0_2', valk=dMCF['FORMAT'])
 
    
    #----------------------------------------------
@@ -120,28 +119,23 @@ def exec_logiciel_ops(self, LOGICIEL, ARGUMENT, MAILLAGE, CODE_RETOUR_MAXI, INFO
          aster.affiche('MESSAGE', output)
       
       if CODE_RETOUR_MAXI >= 0 and iret > CODE_RETOUR_MAXI:
-#                % (CODE_RETOUR_MAXI, iret))
-         UTMESS('F','EXECLOGICIEL0_3',vali=[CODE_RETOUR_MAXI,iret])
+         UTMESS('F', 'EXECLOGICIEL0_3', vali=[CODE_RETOUR_MAXI,iret])
    
    #----------------------------------------------
    # 3b. Exécution d'un fichier Python
    elif mode_lancement == EXECFILE:
       if d_para['prog'] != '':
-         UTMESS('A','EXECLOGICIEL0_4')
+         UTMESS('A', 'EXECLOGICIEL0_4')
       context={}
       try:
          execfile(d_para['fichIN'], context)
       except:
          traceback.print_exc()
          txt = open(d_para['fichIN'], 'r').read()
-#<<<<<<<<<<<<<<< DEBUT DU FICHIER >>>>>>>>>>>>>>>
-#%s
-#<<<<<<<<<<<<<<<  FIN  DU FICHIER >>>>>>>>>>>>>>>
-#""" % txt)
-         UTMESS('F','EXECLOGICIEL0_5',valk=txt)
+         UTMESS('F', 'EXECLOGICIEL0_5', valk=txt)
       
       if not os.path.exists(d_para['fichMED']):
-         UTMESS('F','EXECLOGICIEL0_6',valk=d_para['fichMED'])
+         UTMESS('F', 'EXECLOGICIEL0_6', valk=d_para['fichMED'])
       else:
          # copie fichMED vers fichOUT pour pouvoir le récupérer
          shutil.copyfile(d_para['fichMED'], d_para['fichOUT'])
index 3424aed237deeab66659948e37973b29f195af7a..7925a50e311cea012e701041ddc709ecb979983b 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF impr_fonction_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF impr_fonction_ops Macro  DATE 06/05/2008   AUTEUR CNGUYEN C.NGUYEN 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -33,10 +33,11 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
    import pprint
    import aster
    from Accas               import _F
-   from Cata.cata           import nappe_sdaster, fonction_c
+   from Cata.cata           import nappe_sdaster, fonction_c, formule, formule_c
    from Utilitai            import Graph
    from Utilitai.Utmess     import UTMESS
    from Utilitai.UniteAster import UniteAster
+   
    ier=0
    # La macro compte pour 1 dans la numerotation des commandes
    self.set_icmd(1)
@@ -141,6 +142,12 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
 
       # 1.2.1. Mot-clé FONCTION
       if   typi=='FONCTION':
+         # formule à un paramètre seulement
+         if isinstance(obj, formule):
+            dpar = obj.Parametres()
+            if len(dpar['NOM_PARA']) != 1:
+               UTMESS('S', 'FONCT0_50', valk=obj.nom, vali=len(dpar['NOM_PARA']))
+         
          if isinstance(obj, nappe_sdaster):
             lpar,lval=obj.Valeurs()
             dico,ldicf=obj.Parametres()
@@ -185,6 +192,9 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
          else:
             ftmp__=obj
             dpar=ftmp__.Parametres()
+            # pour les formules à un paramètre (test plus haut)
+            if type(dpar['NOM_PARA']) in (list, tuple):
+               dpar['NOM_PARA'] = dpar['NOM_PARA'][0]
             if interp:
                ftmp__=CALC_FONC_INTERP(
                   FONCTION=obj,
@@ -200,10 +210,10 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
             lval=list(ftmp__.Valeurs())
             lx=lval[0]
             lr=lval[1]
-            if isinstance(obj, fonction_c) and dCi.get('PARTIE') == 'IMAG':
+            if isinstance(obj, (fonction_c, formule_c)) and dCi.get('PARTIE') == 'IMAG':
                lr=lval[2]
             # on stocke les données dans le Graph
-            if isinstance(obj, fonction_c) and not dCi.has_key('PARTIE'):
+            if isinstance(obj, (fonction_c, formule_c)) and not dCi.has_key('PARTIE'):
                nomresu=dpar['NOM_RESU'].strip()+'_'+str(len(graph.Legendes))
                dicC={
                   'Val' : lval,
@@ -357,10 +367,11 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
    if FORMAT=='TABLEAU':
       # surcharge par les formats de l'utilisateur
       kargs['dform']={
-         'csep'  : args['SEPARATEUR'],
-         'ccom'  : args['COMMENTAIRE'],
-         'cdeb'  : args['DEBUT_LIGNE'],
-         'cfin'  : args['FIN_LIGNE']
+         'csep'   : args['SEPARATEUR'],
+         'ccom'   : args['COMMENTAIRE'],
+         'ccpara' : args['COMM_PARA'],
+         'cdeb'   : args['DEBUT_LIGNE'],
+         'cfin'   : args['FIN_LIGNE'],
       }
 
    # 2.2. au format AGRAF
index b67fa6247485e332c142af844eebaa7bec254355..70cecd7b49cfa98fe33b40fdf01a9f91706cf8ae 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF impr_table_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF impr_table_ops Macro  DATE 06/05/2008   AUTEUR CNGUYEN C.NGUYEN 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -24,9 +24,6 @@ import os.path
 import re
 from sets import Set
 
-from types import ListType, TupleType, StringTypes
-EnumTypes=(ListType, TupleType)
-
 
 # ------------------------------------------------------------------------------
 def impr_table_ops(self, FORMAT, TABLE, INFO, **args):
@@ -79,7 +76,7 @@ def impr_table_ops(self, FORMAT, TABLE, INFO, **args):
    ltab=[]
    if args['SENSIBILITE']:
       lps=args['SENSIBILITE']
-      if not type(lps) in EnumTypes:
+      if not type(lps) in (list, tuple):
          lps=[lps,]
       for ps in lps:
          ncomp = self.jdc.memo_sensi.get_nocomp(TABLE.nom, ps.nom)
@@ -98,7 +95,7 @@ def impr_table_ops(self, FORMAT, TABLE, INFO, **args):
    nom_para=ltab[0][0].para
    if args['NOM_PARA']:
       nom_para=args['NOM_PARA']
-   if not type(nom_para) in EnumTypes:
+   if not type(nom_para) in (list, tuple):
       nom_para=[nom_para,]
 
    # 0.4.2. Traiter le cas des UL réservées
@@ -161,25 +158,36 @@ def impr_table_ops(self, FORMAT, TABLE, INFO, **args):
          'FICHIER'   : nomfich,
       }
 
-      # 4.1. au format AGRAF
-      if FORMAT=='AGRAF':
+      # 4.1. au format TABLEAU
+      if FORMAT=='TABLEAU':
+         # surcharge par les formats de l'utilisateur
+         kargs['dform']={
+            'csep'   : args['SEPARATEUR'],
+            'ccom'   : args['COMMENTAIRE'],
+            'ccpara' : args['COMM_PARA'],
+            'cdeb'   : args['DEBUT_LIGNE'],
+            'cfin'   : args['FIN_LIGNE'],
+         }
+      
+      # 4.2. au format AGRAF
+      elif FORMAT=='AGRAF':
          kargs['dform']={ 'formR' : '%12.5E' }
          kfonc['FORMAT']='TABLEAU'
       
-      # 4.2. au format XMGRACE et dérivés
+      # 4.3. au format XMGRACE et dérivés
       elif FORMAT=='XMGRACE':
          kargs['dform']={ 'formR' : '%.8g' }
          kargs['PILOTE']=args['PILOTE']
          kfonc['PILOTE']=args['PILOTE']
 
-      # 4.3. format spécifié dans les arguments
+      # 4.4. format spécifié dans les arguments
       if args['FORMAT_R']:
          kargs['dform'].update({ 'formR' : fmtF2PY(args['FORMAT_R']) })
 
-      # 4.4. regroupement par paramètre : PAGINATION
+      # 4.5. regroupement par paramètre : PAGINATION
       if args['PAGINATION']:
          l_ppag=args['PAGINATION']
-         if not type(l_ppag) in EnumTypes:
+         if not type(l_ppag) in (list, tuple):
             l_ppag=[l_ppag,]
          kargs['PAGINATION'] = [p for p in l_ppag if p in nom_para]
          l_para_err          = [p for p in l_ppag if not p in nom_para]
@@ -189,9 +197,9 @@ def impr_table_ops(self, FORMAT, TABLE, INFO, **args):
       timp.Impr(**kargs)
 
       # ----- 5. IMPR_FONCTION='OUI'
-      if args['IMPR_FONCTION'] and args['IMPR_FONCTION']=='OUI':
+      if args['IMPR_FONCTION'] == 'OUI':
          # cherche parmi les cellules celles qui contiennent un nom de fonction
-         dfon={}
+         dfon = []
          p_extr = Set(['FONCTION', 'FONCTION_C'])
          p_extr.intersection_update(timp.para)
          if len(p_extr) > 0:
@@ -199,12 +207,12 @@ def impr_table_ops(self, FORMAT, TABLE, INFO, **args):
             textr = timp.__getitem__(list(p_extr))
             for row in textr:
                for par,cell in row.items():
-                  if type(cell) in StringTypes:
+                  if type(cell) in (str, unicode):
                      cell = cell.strip()
                      if aster.getvectjev('%-19s.PROL' % cell) != None:
-                        dfon['%-19s' % cell] = par
+                        dfon.append(['%-19s' % cell, par])
             # impression des fonctions trouvées
-            for f,par in dfon.items():
+            for f,par in dfon:
                __fonc=RECU_FONCTION(
                   TABLE=sdtab,
                   FILTRE=_F(
@@ -212,6 +220,7 @@ def impr_table_ops(self, FORMAT, TABLE, INFO, **args):
                      VALE_K=f,
                   ),
                   NOM_PARA_TABL=par,
+                  TITRE = 'Fonction %s' % f,
                )
                __fonc.Trace(**kfonc)
                DETRUIRE(CONCEPT=_F(NOM=('__fonc',),), ALARME='NON', INFO=1,)
index 1ab502f4ea99aee184fce408ee36458974c15220..708dfef42492ba6fb74d1311ad073e1cd4283be9 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF lire_inte_spec_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF lire_inte_spec_ops Macro  DATE 26/03/2008   AUTEUR BODEL C.BODEL 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
-def lire_inte_spec_ops(self,UNITE,FORMAT,NOM_PARA,NOM_RESU,INTERPOL,
-                            PROL_DROITE,PROL_GAUCHE,TITRE,INFO,**args):
-  ier=0
-
-  from Accas import _F
-  import os
-  from math import cos,sin
-  from Utilitai.Utmess     import  UTMESS
-  from Utilitai.UniteAster import UniteAster
-  # On importe les definitions des commandes a utiliser dans la macro
-  DEFI_FONCTION  =self.get_cmd('DEFI_FONCTION')
-  CREA_TABLE     =self.get_cmd('CREA_TABLE')
-
-  # La macro compte pour 1 dans la numerotation des commandes
-  self.set_icmd(1)
-  nompro='LIRE_INTE_SPEC'
-
-  # Lecture de la fonction dans un fichier d unité logique UNITE
-  UL = UniteAster()
-  nomfich=UL.Nom(UNITE)
-  if not os.path.isfile(nomfich):
-     UTMESS('F','SPECTRAL0_4',valk=nomfich)
-  file=open(nomfich,'r')
-  texte=file.read()
-  file.close()
-  
-  list_fonc=texte.split('FONCTION_C')
-  entete=list_fonc.pop(0)
-  try : 
-    entete=entete[entete.index('DIM'):]
-    dim=int(entete[entete.index('=')+1:entete.index('\n')])
-  except ValueError : 
-    UTMESS('F','SPECTRAL0_5')
-
-  if len(list_fonc)!=(dim*(dim+1)/2):
-    UTMESS('F','SPECTRAL0_6')
-
-  nume_i=[]
-  nume_j=[]
-  l_fonc=[]
-  for i in range(dim*(dim+1)/2):
-    numi=list_fonc[i][list_fonc[i].index('I =')+3:]
-    numi=numi[:numi.index('\n')]
-    nume_i.append(int(numi))
-    numj=list_fonc[i][list_fonc[i].index('J =')+3:]
-    numj=numj[:numj.index('\n')]
-    nume_j.append(int(numj))
-    try : 
-      vale_fonc=list_fonc[i][list_fonc[i].index('VALEUR =\n')+9:list_fonc[i].index('FINSF\n')]
-      vale_fonc=vale_fonc.replace('\n',' ')
-      vale_fonc=map(float,vale_fonc.split())
-    except ValueError : 
-      UTMESS('F','SPECTRAL0_7')
-
-    liste=[]
-    if   FORMAT=='REEL_IMAG':
-      liste=vale_fonc
-    elif FORMAT=='MODULE_PHASE':
-      for i in range(len(vale_fonc)/3) :
-        module=vale_fonc[3*i+1]
-        phase =vale_fonc[3*i+2]
-        liste=liste+[vale_fonc[3*i],module*cos(phase),module*sin(phase)]
-
-    # création de la fonction ASTER :
-    _fonc=DEFI_FONCTION( NOM_PARA   =NOM_PARA,
-                         NOM_RESU   =NOM_RESU,
-                         PROL_DROITE=PROL_DROITE,
-                         PROL_GAUCHE=PROL_GAUCHE,
-                         INTERPOL   =INTERPOL,
-                         INFO       =INFO,
-                         TITRE      =TITRE,
-                         VALE_C     =liste,)
-    l_fonc.append(_fonc.nom)
-
-  nume_ib=[]
-  nume_jb=[]
-  for i in range(dim):
-    for j in range(i,dim):
-      nume_ib.append(i+1)
-      nume_jb.append(j+1)
-  if nume_i!=nume_ib or nume_j!=nume_jb : 
-      UTMESS('F','SPECTRAL0_3')
-  mcfact=[]
-  mcfact.append(_F(PARA='NOM_CHAM'    ,LISTE_K=(NOM_RESU),NUME_LIGN=(1,)))
-  mcfact.append(_F(PARA='OPTION'      ,LISTE_K=('TOUT',) ,NUME_LIGN=(1,)))
-  mcfact.append(_F(PARA='DIMENSION'   ,LISTE_I=(dim,)    ,NUME_LIGN=(1,)))
-  mcfact.append(_F(PARA='NUME_ORDRE_I',LISTE_I=nume_i    ,NUME_LIGN=range(2,len(nume_i)+2)))
-  mcfact.append(_F(PARA='NUME_ORDRE_J',LISTE_I=nume_j    ,NUME_LIGN=range(2,len(nume_j)+2)))
-  mcfact.append(_F(PARA='FONCTION_C'  ,LISTE_K=l_fonc    ,NUME_LIGN=range(2,len(list_fonc)+2)))
-  self.DeclareOut('tab_inte',self.sd)
-  tab_inte=CREA_TABLE(LISTE=mcfact,
-                      TITRE=TITRE,
-                      TYPE_TABLE='TABLE_FONCTION')
-
-  # remet UNITE dans son état initial
-  UL.EtatInit()
-  return ier
+def lire_inte_spec_ops(self,
+                       UNITE = None,
+                       FORMAT = None,
+                       FORMAT_C = None,
+                       NOM_PARA = None,
+                       NOM_RESU = None,
+                       INTERPOL = None,
+                       PROL_DROITE = None,
+                       PROL_GAUCHE = None,
+                       TITRE = None,
+                       INFO = None,
+                       **args):
+    ier=0
+
+    from Accas import _F
+    import os
+    from math import cos,sin,sqrt
+    from Utilitai.Utmess     import UTMESS
+    from Utilitai.UniteAster import UniteAster
+    # On importe les definitions des commandes a utiliser dans la macro
+    DEFI_FONCTION  =self.get_cmd('DEFI_FONCTION')
+    CREA_TABLE     =self.get_cmd('CREA_TABLE')
+
+    # La macro compte pour 1 dans la numerotation des commandes
+    self.set_icmd(1)
+    nompro='LIRE_INTE_SPEC'
+
+    # Lecture de la fonction dans un fichier d unité logique UNITE
+    UL = UniteAster()
+    nomfich=UL.Nom(UNITE)
+    if not os.path.isfile(nomfich):
+       UTMESS('F','SPECTRAL0_4',valk=nomfich)
+    file=open(nomfich,'r')
+    texte=file.read()
+    file.close()
+
+
+    if FORMAT == 'IDEAS':
+        # fabrication d'une liste de data sets 58
+        list_fonc = texte.split('    -1')
+        j = 0
+        for ind_fonc in range(len(list_fonc)):
+            try:
+                tmp = list_fonc[j].split()
+                if tmp[0] == '58':
+                    j = j+1
+                else:
+                    list_fonc.pop(j)
+            except IndexError:
+                list_fonc.pop(j)
+
+        nb_fonc = len(list_fonc)
+        if nb_fonc == 0:
+            UTMESS('F', 'SPECTRAL0_9')
+
+        l_fonc = []
+        l_noi  = []
+        l_noj  = []
+        l_cmpi = []
+        l_cmpj = []
+        for ind_fonc in range(nb_fonc):
+            # Extraction des en-tete : nom des noeuds, composantes (=ddl), de leur sens
+            fonc = list_fonc[ind_fonc]
+            ligne = fonc.split('\n')
+
+            record_6 = ligne[7].split()
+            if  record_6[0] != '2' and record_6[0] != '3' and record_6[0] != '9' :
+                UTMESS('F', 'SPECTRAL0_10')
+            nono   = record_6[4]             # nom du noeud
+            nuno   = int(record_6[5])        # numero
+            ddlno  = float(record_6[6])/10   # DDL
+            noref  = record_6[7]             # nom du noeud de reference
+            nuref  = int(record_6[8])        # numero
+            ddlref = float(record_6[9])/10   # DDL
+            # On traduit les ddl "chiffres" en vrais ddl. Avec le sens des capteurs.
+            sens_no,ddl_no = comp(ddlno)
+            sens_ref,ddl_ref = comp(ddlref)
+            signe = sens_no*sens_ref
+
+            # On ne garde que la triang sup de la matrice inter-spectrale
+            crit1 = nuno + ddlno
+            crit2 = nuref + ddlref
+            if crit1 > crit2:
+                continue
+            record_7 = ligne[8].split()
+            nbpairs = int(record_7[1])
+            if record_7[2] == 0:
+                UTMESS('F', 'SPECTRAL0_11')
+            f0 = float(record_7[3])
+            df = float(record_7[4])
+
+            # Liste des valeurs
+            liste = fonc.split('\n')
+            valeurs = ''
+            for ind in range(13):
+                liste.pop(0)
+            for ind_lign in range(len(liste)):
+                valeurs = valeurs + liste[ind_lign]
+            tmp = valeurs.split()
+            valeurs = [signe*float(tmp[ind]) for ind in range(len(tmp))]
+
+            liste = []
+            freq = f0
+            for ind_freq in range(nbpairs):
+                liste.append(freq)
+                liste.append(valeurs[2*ind_freq])
+                liste.append(valeurs[2*ind_freq+1])
+                freq = freq + df
+
+            # création de la fonction ASTER :
+            _fonc=DEFI_FONCTION( NOM_PARA   = NOM_PARA,
+                                 NOM_RESU   = NOM_RESU,
+                                 PROL_DROITE= PROL_DROITE,
+                                 PROL_GAUCHE= PROL_GAUCHE,
+                                 INTERPOL   = INTERPOL,
+                                 INFO       = INFO,
+                                 TITRE      = TITRE,
+                                 VALE_C     = liste,)
+            l_fonc.append(_fonc.nom)     # Liste des fonctions
+            l_noi.append('N'+str(nuno))  # Liste des noeuds de mesure
+            l_cmpi.append(ddl_no)        # DDL associes
+            l_noj.append('N'+str(nuref)) # Liste des noeuds de ref
+            l_cmpj.append(ddl_ref)       # DDL associes
+
+        # Verification a posteriori de la dimension de l'inter-spectre
+        tmp = 0.5*(-1+sqrt(1+8*len(l_fonc)))
+        dim = int(tmp)
+        nb_fonc = 0.5*dim*(dim+1) 
+
+        if dim != tmp :
+            UTMESS('F', 'SPECTRAL0_6')
+
+            
+        mcfact=[]
+        mcfact.append(_F(PARA='NOM_CHAM'    ,LISTE_K=(NOM_RESU),NUME_LIGN=(1,)))
+        mcfact.append(_F(PARA='OPTION'      ,LISTE_K=('TOUT',) ,NUME_LIGN=(1,)))
+        mcfact.append(_F(PARA='DIMENSION'   ,LISTE_I=(dim)     ,NUME_LIGN=(1,)))
+        mcfact.append(_F(PARA='NOEUD_I'     ,LISTE_K=l_noi     ,NUME_LIGN=range(2,nb_fonc+2)))
+        mcfact.append(_F(PARA='NOM_CMP_I'   ,LISTE_K=l_cmpi    ,NUME_LIGN=range(2,nb_fonc+2)))
+        mcfact.append(_F(PARA='NOEUD_J'     ,LISTE_K=l_noj     ,NUME_LIGN=range(2,nb_fonc+2)))
+        mcfact.append(_F(PARA='NOM_CMP_J'   ,LISTE_K=l_cmpj    ,NUME_LIGN=range(2,nb_fonc+2)))
+        mcfact.append(_F(PARA='FONCTION_C'  ,LISTE_K=l_fonc    ,NUME_LIGN=range(2,nb_fonc+2)))
+        self.DeclareOut('tab_inte',self.sd)
+        tab_inte=CREA_TABLE(LISTE=mcfact,
+                          TITRE=TITRE,
+                          TYPE_TABLE='TABLE_FONCTION')
+
+        
+    elif FORMAT == 'ASTER':
+        list_fonc=texte.split('FONCTION_C')
+        entete=list_fonc.pop(0)
+        try : 
+            entete=entete[entete.index('DIM'):]
+            dim=int(entete[entete.index('=')+1:entete.index('\n')])
+        except ValueError : 
+            UTMESS('F', 'SPECTRAL0_5')
+
+        if len(list_fonc)!=(dim*(dim+1)/2):
+            UTMESS('F', 'SPECTRAL0_6')
+
+        nume_i=[]
+        nume_j=[]
+        l_fonc=[]
+        for i in range(dim*(dim+1)/2):
+            numi=list_fonc[i][list_fonc[i].index('I =')+3:]
+            numi=numi[:numi.index('\n')]
+            nume_i.append(int(numi))
+            numj=list_fonc[i][list_fonc[i].index('J =')+3:]
+            numj=numj[:numj.index('\n')]
+            nume_j.append(int(numj))
+            try : 
+                vale_fonc=list_fonc[i][list_fonc[i].index('VALEUR =\n')+9:list_fonc[i].index('FINSF\n')]
+                vale_fonc=vale_fonc.replace('\n',' ')
+                vale_fonc=map(float,vale_fonc.split())
+            except ValueError : 
+                UTMESS('F', 'SPECTRAL0_7')
+
+            liste=[]
+            if   FORMAT_C=='REEL_IMAG':
+                liste=vale_fonc
+            elif FORMAT_C=='MODULE_PHASE':
+                for i in range(len(vale_fonc)/3) :
+                  module=vale_fonc[3*i+1]
+                  phase =vale_fonc[3*i+2]
+                  liste=liste+[vale_fonc[3*i],module*cos(phase),module*sin(phase)]
+
+
+            # création de la fonction ASTER :
+            _fonc=DEFI_FONCTION( NOM_PARA   =NOM_PARA,
+                                 NOM_RESU   =NOM_RESU,
+                                 PROL_DROITE=PROL_DROITE,
+                                 PROL_GAUCHE=PROL_GAUCHE,
+                                 INTERPOL   =INTERPOL,
+                                 INFO       =INFO,
+                                 TITRE      =TITRE,
+                                 VALE_C     =liste,)
+            l_fonc.append(_fonc.nom)
+
+        nume_ib=[]
+        nume_jb=[]
+        for i in range(dim):
+            for j in range(i,dim):
+                nume_ib.append(i+1)
+                nume_jb.append(j+1)
+        if nume_i!=nume_ib or nume_j!=nume_jb : 
+            UTMESS('F', 'SPECTRAL0_3')
+        mcfact=[]
+        mcfact.append(_F(PARA='NOM_CHAM'    ,LISTE_K=(NOM_RESU),NUME_LIGN=(1,)))
+        mcfact.append(_F(PARA='OPTION'      ,LISTE_K=('TOUT',) ,NUME_LIGN=(1,)))
+        mcfact.append(_F(PARA='DIMENSION'   ,LISTE_I=(dim,)    ,NUME_LIGN=(1,)))
+        mcfact.append(_F(PARA='NUME_ORDRE_I',LISTE_I=nume_i    ,NUME_LIGN=range(2,len(nume_i)+2)))
+        mcfact.append(_F(PARA='NUME_ORDRE_J',LISTE_I=nume_j    ,NUME_LIGN=range(2,len(nume_j)+2)))
+        mcfact.append(_F(PARA='FONCTION_C'  ,LISTE_K=l_fonc    ,NUME_LIGN=range(2,len(list_fonc)+2)))
+        self.DeclareOut('tab_inte',self.sd)
+        tab_inte=CREA_TABLE(LISTE=mcfact,
+                          TITRE=TITRE,
+                          TYPE_TABLE='TABLE_FONCTION')
+
+    else:
+        # mot-clé != 'ASTER', ou 'IDEAS' => ERREUR !
+        UTMESS('F', 'SPECTRAL0_12')
+        
+
+    # remet UNITE dans son état initial
+    UL.EtatInit()
+    return ier
+        
+        
+    
+def comp(ddlno):
+    sens = 1
+    if ddlno < 0:
+        sens = -1
+    if ddlno == .1:return sens,'DX'
+    elif ddlno == .2:return sens,'DY'
+    elif ddlno == .3:return sens,'DZ'
+    elif ddlno == .4:return sens,'DRX'
+    elif ddlno == .5:return sens,'DRY'
+    elif ddlno == .6:return sens,'DRZ'
+    else:
+        print "Probleme pour l'attribution des composantes"
+    
+    
+
index dc0e4f00d07ce0488d5b191cdb659b5588fc9389..276e72b6b5140f0cbd072f684b189d9b9db8b4e5 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF macr_adap_mail_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF macr_adap_mail_ops Macro  DATE 11/12/2007   AUTEUR GNICOLAS G.NICOLAS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -22,7 +22,7 @@
 """
 Traitement des macros MACR_ADAP_MAIL/MACR_INFO_MAIL
 """
-__revision__ = "V1.1"
+__revision__ = "V1.2"
 #
 def macr_adap_mail_ops ( self,
                          INFO, VERSION_HOMARD, MAILLAGE_FRONTIERE,
@@ -262,9 +262,7 @@ def macr_adap_mail_ops ( self,
 #
     if args.has_key("ZONE") :
 #
-      if args["ZONE"] is None :
-        les_zones = []
-      else :
+      if args["ZONE"] is not None :
         les_zones = args["ZONE"]
 #
       for zone in les_zones :
@@ -646,7 +644,7 @@ def macr_adap_mail_ops ( self,
 #gn  if dico_configuration.has_key("Indicateur") :
 #gn    print "dico_configuration[Indicateur] = ", dico_configuration["Indicateur"]
 #
-# 5.4. ==> Les zones de raffinement
+# 5.4. ==> Les éventuelles zones de raffinement
 #
   prem = 1
   for dico in liste_zones :
@@ -721,7 +719,8 @@ def macr_adap_mail_ops ( self,
 #gn  if ( mode_homard == "ADAP" ) :
 #gn    if args.has_key("MAJ_CHAM") :
 #gn      if args["MAJ_CHAM"] is not None :
-#gn        os.system("sleep 1000")
+#gn        import time
+#gn        time.sleep(3600)
 #
 #====================================================================
 # 6. Ecriture de la commande d'exécution de homard
@@ -740,9 +739,10 @@ def macr_adap_mail_ops ( self,
                              ),
                   LOGICIEL = homard
                 )
-#  os.system("sleep 3600")
+#gn  import time
+#gn  time.sleep(3600)
 #
- #gn if ( mode_homard == "ADAP" ) :
+#gn  if ( mode_homard == "ADAP" ) :
 #gn    fichier_homard_vers_aster_2 = os.path.join("/tmp" , "fort." + str(unite_fichier_homard_vers_aster))
 #gn    shutil.copyfile(fichier_homard_vers_aster, fichier_homard_vers_aster_2)
 #gn    fichier_homard_vers_aster_2_1 = os.path.join("/tmp" , "fort." + str(unite_fichier_homard_vers_aster)+".1")
@@ -782,7 +782,8 @@ def macr_adap_mail_ops ( self,
           maillage_np1_nom_med = dico["NOM_MED"]
 #
 # 7.2. ==> Les champs
-#gn      os.system("sleep 100")
+#gn    import time
+#gn    time.sleep(3600)
 #
     for dico in liste_champs :
       if ( dico["Type_Champ"] == "CHAMP_MAJ" ) :
@@ -843,6 +844,7 @@ def macr_adap_mail_ops ( self,
 #====================================================================
 #
 #gn  if ( mode_homard == "ADAP" ) :
-#gn    os.system("sleep 1")
+#gn    import time
+#gn    time.sleep(3600)
 #
   return
index 5dad645fb3886334faade46a82457ae8e255c53a..e40741a6fed7211fba9ba3a14a491bf8059dedee 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF macr_ascouf_calc_ops Macro  DATE 13/11/2007   AUTEUR SALMONA L.SALMONA 
+#@ MODIF macr_ascouf_calc_ops Macro  DATE 14/04/2008   AUTEUR GALENNE E.GALENNE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -91,7 +91,7 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA
 #
   self.DeclareOut('modele',MODELE)
   mcfact=[]
-  if (PRES_REP!=None) and (PRES_REP['PRES_LEVRE']=='OUI') and (TYPE_MAILLAGE[:4]=='FISS') :
+  if (TYPE_MAILLAGE[:4]=='FISS') :
      mcfact.append(_F(GROUP_MA=GRMAIL     ,PHENOMENE='MECANIQUE',MODELISATION='3D'    ))
   else:
      mcfact.append(_F(GROUP_MA=GRMAIL[:5] ,PHENOMENE='MECANIQUE',MODELISATION='3D'    ))
@@ -114,7 +114,7 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA
   mcfact=[]
   for mater in mc_AFFE_MATERIAU :
      if mater['TOUT']!=None :
-       mcfact.append(_F(TOUT    =mater['TOUT'    ],MATER=mater['MATER'],TEMP_REF=mater['TEMP_REF']))
+       mcfact.append(_F(TOUT    =mater['TOUT'    ],MATER=mater['MATER']))
        rccmat = mater['MATER']
      else                   :
        mcfact.append(_F(GROUP_MA=mater['GROUP_MA'],MATER=mater['MATER']))
@@ -309,6 +309,17 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA
                                   FORCE_NODALE = mcfact , )
       i=i+1
 #
+#     --- commande AFFE_CHAR_MECA ---
+#         chargement mecanique :  verif contact levres
+#
+  if TYPE_MAILLAGE in ('FISS_COUDE','FISS_AXIS_DEB'):
+    _chcont = AFFE_CHAR_MECA( MODELE   = modele ,
+                               CONTACT =_F(GROUP_MA_MAIT = 'FACE1',
+                                           GROUP_MA_ESCL = 'FACE2',
+                                           METHODE='VERIF',
+                                           GROUP_MA_FOND='FONDFISS',
+                                           TOLE_INTERP = -1.E-6,),)
+#
 #     --- commande STAT_NON_LINE ---
 #
   motscles={}
@@ -328,6 +339,8 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA
        else :
           mcfex.append(_F(CHARGE=_chtor[i],))
        i=i+1
+  if TYPE_MAILLAGE in ('FISS_COUDE','FISS_AXIS_DEB'):
+    mcfex.append(_F(CHARGE=_chcont,))
   motscles['EXCIT'] =mcfex
 #
   mcfci=[]  # mot clé facteur COMP_INCR :obligatoire pour les noeuds discrets
@@ -647,6 +660,27 @@ def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MA
 #
   if TYPE_MAILLAGE in ('FISS_COUDE','FISS_AXIS_DEB'):
 #
+#   --- post traitement fissure :  interpénétration des lèvres ----
+#
+    __tcont=POST_RELEVE_T( ACTION=_F(  INTITULE = 'Contact levres',
+                                GROUP_NO = 'FACE2',
+                                RESULTAT = nomres,
+                                TOUT_ORDRE = 'OUI',
+                                NOM_CHAM = 'VALE_CONT',
+                                NOM_CMP = 'CONT',
+                                OPERATION = 'EXTRACTION'))
+    tcont=__tcont.EXTR_TABLE()
+    numo = tcont['NUME_ORDRE'].values()['NUME_ORDRE']
+    numo=dict([(i,0) for i in numo]).keys()
+    nbinst = len(numo)
+    for i in range(1,nbinst+1) :
+      tabi = tcont.NUME_ORDRE==i
+      nbtot = len(tabi)
+      cont_actif=tabi.CONT>0.
+      nb_no_cont = len(cont_actif)
+      if nb_no_cont > 0 :
+         UTMESS('A','ASCOUF0_58',vali=[i,nbtot,nb_no_cont])
+#
 #   --- post traitement fissure :  calcul de g ----
 #
     motscles = {}
index d6ad072b027e23ed25069f1b02bc90ba2dcb1506..0d416a57df12042d4e7497e1d4154f5237e04fa7 100644 (file)
@@ -1,21 +1,21 @@
-#@ MODIF macr_aspic_calc_ops Macro  DATE 08/11/2007   AUTEUR SALMONA L.SALMONA 
+#@ MODIF macr_aspic_calc_ops Macro  DATE 14/04/2008   AUTEUR GALENNE E.GALENNE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  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.
 # ======================================================================
 
 
@@ -23,7 +23,7 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C
                              FOND_FISS_1,FOND_FISS_2,CHARGE,RESU_THER,AFFE_MATERIAU,EQUILIBRE,
                              PRES_REP,ECHANGE,TORS_CORP,TORS_TUBU,COMP_INCR,COMP_ELAS,
                              THETA_3D,OPTION,SOLVEUR,CONVERGENCE,NEWTON,RECH_LINEAIRE,
-                             INCREMENT,PAS_AZIMUT,IMPRESSION,INFO,TITRE,BORNES ,**args):          
+                             INCREMENT,PAS_AZIMUT,IMPRESSION,INFO,TITRE,BORNES ,**args):
   """
      Ecriture de la macro MACR_ASPIC_CALC
   """
@@ -54,7 +54,7 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C
 
   # La macro compte pour 1 dans la numerotation des commandes
   self.set_icmd(1)
+
 #------------------------------------------------------------------
 # data
   GRMAIL= ('EQUERRE','PEAUINT','EXCORP1','EXCORP2','EXTUBU','LEVRTUBU','LEVRCORP')
@@ -137,8 +137,8 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C
 #
   mcfact=[]
   for mater in mc_AFFE_MATERIAU :
-     if mater['TOUT']!=None : mcfact.append(_F(TOUT    =mater['TOUT'    ],MATER=mater['MATER'],TEMP_REF=mater['TEMP_REF']))
-     else                   : mcfact.append(_F(GROUP_MA=mater['GROUP_MA'],MATER=mater['MATER'],TEMP_REF=mater['TEMP_REF']))
+     if mater['TOUT']!=None : mcfact.append(_F(TOUT    =mater['TOUT'    ],MATER=mater['MATER']))
+     else                   : mcfact.append(_F(GROUP_MA=mater['GROUP_MA'],MATER=mater['MATER']))
   __affmat = AFFE_MATERIAU( MAILLAGE = MAILLAGE ,
                           MODELE   = modele ,
                           AFFE     = mcfact    )
@@ -190,12 +190,12 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C
   mcfact=[]
   mcfac2=[]
   for mater in mc_AFFE_MATERIAU :
-     if mater['TOUT']!=None : 
+     if mater['TOUT']!=None :
        mcfact.append(_F(TOUT    =mater['TOUT'    ],MATER=mater['MATER'],))
        if indther==1:
          mcfac2.append(_F(NOM_VARC='TEMP',TOUT='OUI',
                         EVOL=resuth,NOM_CHAM='TEMP',VALE_REF=mater['TEMP_REF']),)
-     else: 
+     else:
        mcfact.append(_F(GROUP_MA=mater['GROUP_MA'],MATER=mater['MATER'],))
        if indther==1:
          mcfac2.append(_F(NOM_VARC='TEMP',GROUP_MA=mater['GROUP_MA'],
@@ -237,7 +237,7 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C
                                                    DRZ       = 0.0 , ) )
 #
 #     --- commande AFFE_CHAR_MECA ---
-#         chargement mecanique : pres_rep, effet de fond 
+#         chargement mecanique : pres_rep, effet de fond
 #
   motscles={}
   if (PRES_REP['PRES_LEVRE']=='OUI') and (TYPE_MAILLAGE[-4:]=='_DEB') :
@@ -290,6 +290,24 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C
        _chtrt[i] = AFFE_CHAR_MECA( MODELE       = modele ,
                                     FORCE_NODALE = mcfact , )
        i=i+1
+
+#
+#     --- commande AFFE_CHAR_MECA ---
+#         chargement mecanique :  verif contact levres
+#
+  if TYPE_MAILLAGE[:4]=='FISS' :
+    if TYPE_MAILLAGE in ('FISS_LONG_NONDEB','FISS_AXIS_NONDEB') :
+       mcfond = ('FOND_SUP','FOND_INF')
+    else :
+       mcfond = ('FONDFISS')
+    _chcont = AFFE_CHAR_MECA( MODELE   = modele ,
+                               CONTACT =_F(GROUP_MA_MAIT = 'LEVRCORP',
+                                           GROUP_MA_ESCL = 'LEVRTUBU',
+                                           METHODE='VERIF',
+                                           TOLE_INTERP = -1.e-6,
+                                           GROUP_MA_FOND=mcfond,),)
+
+
 #
 #     --- commande STAT_NON_LINE ---
 #
@@ -317,6 +335,8 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C
        else :
           mcfex.append(_F(CHARGE=_chtrt[i],))
        i=i+1
+  if TYPE_MAILLAGE[:4]=='FISS' :
+     mcfex.append(_F(CHARGE=_chcont,))
   motscles['EXCIT'] =mcfex
 #
   mcfci=[]  # mot clé facteur COMP_INCR :obligatoire pour les noeuds discrets
@@ -588,9 +608,11 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C
           NOMMA.append('MAIL_ORI')
     elif TYPE_MAILLAGE in ('FISS_LONG_NONDEB','FISS_AXIS_NONDEB') :
        NBFIS = 2
-       NOMGRO.append(('P_FON1' ,'P_FIS1' ),)
-       NOMGRE.append(('P_FON2' ,'P_FIS2' ),)
+#       NOMGRO.append(('P_FON1' ,'P_FIS1' ),)
+#       NOMGRE.append(('P_FON2' ,'P_FIS2' ),)
+       NOMGRO.append(('PS_FON1','PS_FIS1'),)
        NOMGRO.append(('PI_FON1','PI_FIS1'),)
+       NOMGRE.append(('PS_FON2','PS_FIS2'),)
        NOMGRE.append(('PI_FON2','PI_FIS2'),)
        TABMA8.append('FOND_SUP')
        TABMA8.append('FOND_INF')
@@ -639,6 +661,32 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C
                                           INTITULE   ='FOND_INF',
                                           OPERATION  ='EXTRACTION',))
         IMPR_TABLE(TABLE = __rthfis2, )
+#
+#   --- post traitement fissure :  interpénétration des lèvres ----
+#
+
+    if TYPE_MAILLAGE[:4]=='FISS' :
+      __tcont=POST_RELEVE_T( ACTION=_F(  INTITULE = 'Contact levres',
+                                GROUP_NO = 'LEVRTUBU',
+                                RESULTAT = nomres,
+                                TOUT_ORDRE = 'OUI',
+                                NOM_CHAM = 'VALE_CONT',
+                                NOM_CMP = 'CONT',
+                                OPERATION = 'EXTRACTION'))
+      tcont=__tcont.EXTR_TABLE()
+#      print tcont
+      numo = tcont['NUME_ORDRE'].values()['NUME_ORDRE']
+      numo=dict([(i,0) for i in numo]).keys()
+      nbinst = len(numo)
+      for i in range(1,nbinst+1) :
+        tabi = tcont.NUME_ORDRE==i
+        nbtot = len(tabi)
+        cont_actif=tabi.CONT>0.
+        nb_no_cont = len(cont_actif)
+        if nb_no_cont > 0 :
+           UTMESS('A','ASPIC0_22',vali=[i,nbtot,nb_no_cont])
+
+
 #
 #        boucle sur le nombre de fond de fissure
 #
@@ -668,7 +716,7 @@ def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,C
                                 LEVRE_SUP = _F(GROUP_MA='LEVRCORP',),
                                 LEVRE_INF = _F(GROUP_MA='LEVRTUBU',),**motscles)
       if THETA_3D!=None:
-        for tht3d in THETA_3D : 
+        for tht3d in THETA_3D :
 #
 #          --- commande CALC_THETA ---
 #
index e14261e0848557cf005a7839cbb2411bdb2aeae8..c04e20921eb0c3e5a2f5c608790033e990405faa 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF macr_aspic_mail_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETT
+#@ MODIF macr_aspic_mail_ops Macro  DATE 14/04/2008   AUTEUR GALENNE E.GALENN
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -485,19 +485,19 @@ def macr_aspic_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,RAFF_MAIL,TUBULURE,
   VAL4  = 3.0 * sqrt( RMT    * EPT2 )
   LZMAX = max ( VAL1 , VAL2, VAL3, VAL4 )
   ZMAXC = LZMAX + ( DEC/2.0 ) + D1 + D2
-  LOK = ( abs(ZMAX-ZMAXC) <= EPSI * abs(ZMAXC) )
+  LOK = ( (ZMAX-ZMAXC) >= -1.* EPSI * abs(ZMAXC) )
   if not LOK :
-    UTMESS('F','ASPIC0_13',valr=[ZMAX,ZMAXC])
+    UTMESS('A','ASPIC0_13',valr=[ZMAX,ZMAXC])
   RMC   = ( DEC - EPC ) / 2.0
   VAL1  = 1.5 * sqrt( RMC**3 / EPC )
   VAL2  = 3.0 * sqrt( RMC    * EPC )
   LXMAX = max( VAL1 , VAL2 )
   XMAXC = LXMAX + ( DET1 / 2.0 )
-  LOK = ( abs(XMAX-XMAXC) <= EPSI * abs(XMAXC) )
+  LOK = ( (XMAX-XMAXC) >= -1.* EPSI * abs(XMAXC) )
   if not LOK :
-    UTMESS('F','ASPIC0_13',valr=[ZMAX,ZMAXC])
-  message=         ' MACR_ASPIC_MAIL / X_MAX CALCULEE : %.2f \n'%XMAX
-  message=message+ ' MACR_ASPIC_MAIL / Z_MAX CALCULEE : %.2f \n'%XMAXC
+    UTMESS('A','ASPIC0_23',valr=[XMAX,XMAXC])
+  message=         ' MACR_ASPIC_MAIL : X_MAX CALCULEE : %.2f  X_MAX FOURNI : %.2f\n'%(XMAXC,XMAX)
+  message=message+ ' MACR_ASPIC_MAIL : Z_MAX CALCULEE : %.2f  Z_MAX FOURNI : %.2f\n'%(ZMAXC,ZMAX)
   aster.affiche('MESSAGE',message)
 #
 #     --- caracteristiques de la fissure ---
@@ -686,6 +686,7 @@ def macr_aspic_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,RAFF_MAIL,TUBULURE,
      l_CREA_GROUP_NO.append('S_LAT2_C')
      l_CREA_GROUP_NO.append('S_LAT1_T')
      l_CREA_GROUP_NO.append('S_LAT2_T')
+     l_CREA_GROUP_NO.append('LEVRTUBU')
      if (TFISS=='NON_DEB') and (FISS_SOUDURE['TYPE']=='LONGUE') :
         l_CREA_GROUP_NO.append('PFONDINF')
         l_CREA_GROUP_NO.append('PFONDSUP')
@@ -722,6 +723,8 @@ def macr_aspic_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,RAFF_MAIL,TUBULURE,
         motscles['CREA_GROUP_NO'].append(_F(GROUP_MA = 'FONDFISS',))
      if (TFISS=='NON_DEB') and (FISS_SOUDURE['TYPE']=='LONGUE') :
         motscles['CREA_GROUP_NO'].append(_F(GROUP_MA = ('FOND_SUP','FOND_INF',),))
+     if (TFISS=='NON_DEB') and (FISS_SOUDURE['TYPE']=='COURTE') :
+        motscles['CREA_GROUP_NO'].append(_F(GROUP_MA = 'FONDFISS',))
      __MAPROV=DEFI_GROUP(reuse   =__MAPROV,
                          MAILLAGE=__MAPROV,
                          **motscles )
@@ -746,7 +749,7 @@ def macr_aspic_mail_ops(self,EXEC_MAILLAGE,TYPE_ELEM,RAFF_MAIL,TUBULURE,
 #
 
   motscles={}
-  if TFISS=='DEB_INT' :
+  if not SAIN :
      motscles['ORIE_PEAU_3D']=_F(GROUP_MA=('PEAUINT','EXCORP1','EXCORP2','EXTUBU','LEVRTUBU','LEVRCORP'),)
   else :
      motscles['ORIE_PEAU_3D']=_F(GROUP_MA=('PEAUINT','EXCORP1','EXCORP2','EXTUBU',),)
index 56380e07155801825ef77e6c0d63bbc5966a8ae4..36c901abe1b9781a6f8f1d3d2c4528dcbeed24cb 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF macr_lign_coupe_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETT
+#@ MODIF macr_lign_coupe_ops Macro  DATE 07/04/2008   AUTEUR GALENNE E.GALENN
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -404,7 +404,7 @@ def crea_grp_matiere(self,groupe,newgrp,m,__remodr,NOM_CHAM,__macou):
      a_suppr = Set(['INTITULE', 'RESU', 'NOM_CHAM', 'NUME_ORDRE', 'INST', 'ABSC_CURV', 'COOR_X', 'COOR_Y', 'COOR_Z'])
      new_para = Set(dictb.para)
      new_para.difference_update(a_suppr)
+
      lno_c2 = Set()
      for comp in new_para.difference(['NOEUD']):
         dictc = getattr(dictb, comp).NON_VIDE()
@@ -604,7 +604,7 @@ def macr_lign_coupe_ops(self,RESULTAT,CHAM_GD,UNITE_MAILLAGE,LIGN_COUPE,
   from Utilitai.UniteAster import UniteAster
   from Utilitai.Utmess import  UTMESS
   ier=0
-  
+
   # On importe les definitions des commandes a utiliser dans la macro
   LIRE_MAILLAGE  =self.get_cmd('LIRE_MAILLAGE')
   DEFI_GROUP     =self.get_cmd('DEFI_GROUP')
@@ -786,7 +786,7 @@ def macr_lign_coupe_ops(self,RESULTAT,CHAM_GD,UNITE_MAILLAGE,LIGN_COUPE,
   __recou=PROJ_CHAMP(METHODE='ELEM',
                      RESULTAT=RESULTAT,
                      MODELE_1=MODELE_1,
-                     DISTANCE_MAX=dmin*0.001,
+                     DISTANCE_MAX=m['DISTANCE_MAX'],
                      MODELE_2=__mocou,
                      TYPE_CHAM='NOEU',
                      NOM_CHAM=NOM_CHAM, **motscles);
index ec62af807206a0d1909626aac96a87f76329d2a3..276f086bcad86b1b5a9d6ec8be345b8a01c0685d 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF macro_expans_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF macro_expans_ops Macro  DATE 26/03/2008   AUTEUR BODEL C.BODEL 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # ======================================================================
 
 
+# MODIF : 24/07/2007. BODEL : suppression du mc NUME_DDL. Le nume_ddl par
+# defaut pour PROJ_CHAMP est celui du modèle expérimental.
 
 def macro_expans_ops( self,
                       MODELE_CALCUL,
                       MODELE_MESURE,
-                      NUME_DDL,
+                      NUME_DDL=None,
                       RESU_NX=None,
                       RESU_EX=None,
                       RESU_ET=None,
@@ -36,10 +38,11 @@ def macro_expans_ops( self,
     """!macro MACRO_EXPANS """
     from Accas import _F
     from Cata.cata import CO, mode_meca, dyna_harmo
-    from Utilitai.Utmess import  UTMESS
+    from Utilitai.Utmess import UTMESS
     from types import ListType, TupleType
     ier = 0
 
+    import aster
     EXTR_MODE = self.get_cmd('EXTR_MODE')
     PROJ_MESU_MODAL = self.get_cmd('PROJ_MESU_MODAL')
     REST_BASE_PHYS = self.get_cmd('REST_BASE_PHYS')
@@ -84,6 +87,7 @@ def macro_expans_ops( self,
     
     # Projection des modes experimentaux - on passe le mot-clef
     # RESOLUTION directement à PROJ_MESU_MODAL
+    # ---------------------------------------------------------
 
     # Mot-clé facteur de résolution
     mfact = []
@@ -107,7 +111,7 @@ def macro_expans_ops( self,
         paras = ('FREQ')
     else:
         paras = None
-#             "LE MODELE MEDURE DOIT ETRE UN CONCEPT DE TYPE DYNA_HARMO OU MODE_MECA")
+        #"LE MODELE MEDURE DOIT ETRE UN CONCEPT DE TYPE DYNA_HARMO OU MODE_MECA")
         UTMESS('A','MEIDEE0_1')
             
     
@@ -127,6 +131,7 @@ def macro_expans_ops( self,
     
     # Phase de reconstruction des donnees mesurees sur le maillage
     # numerique
+    # ------------------------------------------------------------
     self.DeclareOut( "RESU_ET", RESU_ET )
     RESU_ET = REST_BASE_PHYS( RESU_GENE  = __PROJ,
                               MODE_MECA   = RESU_NX,
@@ -134,17 +139,27 @@ def macro_expans_ops( self,
                               NOM_CHAM    = NOM_CHAM);
 
 
-
     
     # Restriction des modes mesures etendus sur le maillage capteur
+    # -------------------------------------------------------------
     self.DeclareOut( "RESU_RD", RESU_RD )
+    refd1 = aster.getvectjev(RESU_EXP.nom.ljust(19)+".REFD")
+    refd2 = aster.getvectjev(RESU_EX.nom.ljust(19)+".REFD")
+
+    if RESU_EX.REFD.get():
+        tmp = RESU_EX.REFD.get()[3]
+        nume = self.jdc.sds_dict[tmp.strip()]
+    elif NUME_DDL:
+        nume = NUME_DDL
+    else:
+        UTMESS('A','MEIDEE0_5')
     RESU_RD = PROJ_CHAMP( METHODE    = 'ELEM',
                           RESULTAT   = RESU_ET,
                           MODELE_1   = MOD_CALCUL,
                           MODELE_2   = MOD_MESURE,
                           NOM_CHAM   = NOM_CHAM,
                           TOUT_ORDRE = 'OUI',
-                          NUME_DDL   = NUME_DDL,
+                          NUME_DDL   = nume,
                           VIS_A_VIS  =_F( TOUT_1='OUI',
                                           TOUT_2='OUI',),
                           NOM_PARA   = paras,
index f2a2cf469a8a6ae4993dcdc01ba0423a5e6d8e1a..6bca7b13c95b43288f34433ec60b3af30418307d 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF macro_matr_asse_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETT
+#@ MODIF macro_matr_asse_ops Macro  DATE 18/03/2008   AUTEUR BOYERE E.BOYER
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -21,7 +21,7 @@
 
 
 def macro_matr_asse_ops(self,MODELE,CHAM_MATER,CARA_ELEM,MATR_ASSE,
-                        SOLVEUR,NUME_DDL,CHARGE,CHAR_CINE,INST,**args):
+                        SOLVEUR,NUME_DDL,CHARGE,CHAR_CINE,INST,INFO,**args):
   """
      Ecriture de la macro MACRO_MATR_ASSE
   """
@@ -30,6 +30,7 @@ def macro_matr_asse_ops(self,MODELE,CHAM_MATER,CARA_ELEM,MATR_ASSE,
 
   # On met le mot cle NUME_DDL dans une variable locale pour le proteger
   numeddl=NUME_DDL
+  info=INFO
   # On importe les definitions des commandes a utiliser dans la macro
   # Le nom de la variable doit etre obligatoirement le nom de la commande
   CALC_MATR_ELEM=self.get_cmd('CALC_MATR_ELEM')
@@ -38,39 +39,9 @@ def macro_matr_asse_ops(self,MODELE,CHAM_MATER,CARA_ELEM,MATR_ASSE,
   # La macro compte pour 1 dans la numerotation des commandes
   self.set_icmd(1)
 
-  if SOLVEUR:
-    methode=SOLVEUR['METHODE']
-    if methode=='LDLT':
-      if SOLVEUR['RENUM']:
-         renum=SOLVEUR['RENUM']
-      else:
-         renum='RCMK'
-      if renum not in ('SANS','RCMK'):
-        UTMESS('F','MATRICE0_5')
-    elif methode=='MULT_FRONT':
-      if SOLVEUR['RENUM']:
-         renum=SOLVEUR['RENUM']
-      else:
-         renum='MDA'
-      if renum not in ('MDA','MD','METIS'):
-        UTMESS('F','MATRICE0_6')
-    elif methode=='MUMPS':
-      if SOLVEUR['RENUM']:
-         renum=SOLVEUR['RENUM']
-      else:
-         renum='SANS'
-      if renum not in ('SANS',):
-        UTMESS('F','MATRICE0_7')
-    elif methode=='GCPC':
-      if SOLVEUR['RENUM']:
-         renum=SOLVEUR['RENUM']
-      else:
-         renum='SANS'
-      if renum not in ('SANS','RCMK'):
-        UTMESS('F','MATRICE0_8')
-  else:
-    methode='MULT_FRONT'
-    renum  ='MDA'
+  # Les mots cles simples sous SOLVEUR sont par defaut MULT_FRONT/METIS
+  methode=SOLVEUR['METHODE']
+  renum=SOLVEUR['RENUM']
 
   if numeddl in self.sdprods:
     # Si le concept numeddl est dans self.sdprods
@@ -144,7 +115,7 @@ def macro_matr_asse_ops(self,MODELE,CHAM_MATER,CARA_ELEM,MATR_ASSE,
     if lnume and option in ('RIGI_MECA','RIGI_THER','RIGI_ACOU','RIGI_MECA_LAGR'):
       self.DeclareOut('num',numeddl)
       # On peut passer des mots cles egaux a None. Ils sont ignores
-      num=NUME_DDL(MATR_RIGI=_a,METHODE=methode,RENUM=renum)
+      num=NUME_DDL(MATR_RIGI=_a,METHODE=methode,RENUM=renum,INFO=info)
     else:
       num=numeddl
 
index 4d0507465a0cf1fdd483f9128b2f06fab1f426d6..7e015759ebe769eeaa634a8b2c076d53fe137320 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF macro_miss_3d_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF macro_miss_3d_ops Macro  DATE 13/05/2008   AUTEUR DEVESA G.DEVESA 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -57,6 +57,8 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS,
   #    miss3d=loc_fic+'miss3d'
      
   miss3d=loc_fic+'miss3d'
+  # miss3d='/aster/logiciels/MISS3D/miss3d.csh-beta-modif'
   
   # if VERSION=='V1_2':
   #    if PARAMETRE != None and PARAMETRE['TYPE']=='BINAIRE':
@@ -83,7 +85,7 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS,
             'FICH_RESU_IMPE','FICH_RESU_FORC','TYPE','DREF','ALGO',
             'OFFSET_MAX','OFFSET_NB','SPEC_MAX','SPEC_NB','ISSF',
             'FICH_POST_TRAI','CONTR_NB','CONTR_LISTE','LFREQ_NB',
-            'LFREQ_LISTE']
+            'LFREQ_LISTE','DIRE_ONDE']
   if PARAMETRE != None and PARAMETRE['LFREQ_NB'] != None:
     if len(PARAMETRE['LFREQ_LISTE']) != PARAMETRE['LFREQ_NB']:
       UTMESS('F','MISS0_1')
@@ -91,6 +93,7 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS,
     if len(PARAMETRE['CONTR_LISTE']) != 3*PARAMETRE['CONTR_NB']:
       UTMESS('F','MISS0_2')
   
+  pndio = '0'
   dpara = {}
   for cle in l_para:
     if cle in ('SURF', 'ISSF', ):
@@ -102,7 +105,10 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS,
         dpara[cle] = repr(' '.join([str(s) for s in PARAMETRE[cle]]))
       else:
         dpara[cle] = str(PARAMETRE[cle])
-  
+      if cle in ('DIRE_ONDE', ):
+        pndio = '1'
+        dpara['SURF'] = 'NON'
+        
   EXEC_LOGICIEL(
                 LOGICIEL=miss3d,
                 ARGUMENT=(MODUL2,
@@ -135,6 +141,8 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS,
                           dpara['LFREQ_LISTE'],
                           dpara['TYPE'], 
                           prfor,
+                          pndio,
+                          dpara['DIRE_ONDE'],
                          ),
                 )
 
index 920a6e2b75489179525c8cdd3ac06e7ecbac1aae..7d817d304dd7a7fc9b21314407e71ba4c19a63dd 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF macro_visu_meidee_ops Macro  DATE 02/04/2007   AUTEUR BODEL C.BODEL 
+#@ MODIF macro_visu_meidee_ops Macro  DATE 14/05/2008   AUTEUR BODEL C.BODEL 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # pour la gestion de l'interface graphique dans meidee_iface
 
 
-
 def macro_visu_meidee_ops( self,
-                           INTERACTIF       = None,
-                           RESULTATS        = None,
-                           UNITE_FIMEN      = None,
-                           UNITE_RESU       = None,
-                           EXPANSION        = None,
-                           FLUIDE_ELASTIQUE = None,
-                           TURBULENT        = None,
+                           INTERACTIF         = None,
+                           UNITE_FIMEN        = None,
+                           UNITE_RESU         = None,
+                           EXPANSION          = None,
+                           FLUIDE_ELASTIQUE   = None,
+                           TURBULENT          = None,
+                           MODIFSTRUCT        = None,
+                           GROUP_NO_CAPTEURS  = None,
+                           GROUP_NO_EXTERIEUR = None,
+                           RESU_FLUDELA       = None,
+                           RESU_TURBULENT     = None,
+                           RESU_MODIFSTRU     = None,
                            **args):
-    ier = 0
-
-    from Utilitai.UniteAster import UniteAster
-    from Meidee.meidee_correlation import InterfaceCorrelation
-    from Meidee.meidee_fludela import InterfaceFludela, InterfaceDisplay
-    from Meidee.meidee_turbulent import InterfaceTurbulent
-    from Meidee.meidee_iface import MessageBox, TabbedWindow
-    from Meidee.meidee_cata import MeideeObjects
-    from Tkinter import Tk
-    from Accas import _F
     import aster
-    import sys
-##    prev = aster.onFatalError()
-##    aster.onFatalError("EXCEPTION")
+    from Meidee.meidee_cata import MeideeObjects
+    ier = 0
+    
+    prev = aster.onFatalError()
+    aster.onFatalError("EXCEPTION")
 
     # La macro compte pour 1 dans la numerotation des commandes
     self.set_icmd(1)
 
+    
+    # gestion des concepts sortants de la macro, declares a priori
+    table = []
+    table_fonction = []
 
+    if not RESU_MODIFSTRU:
+        out_modifstru = {}
+    else:
+        out_modifstru = RESU_MODIFSTRU[0] # max=1 dans le capy
 
-    # Fichiers fimen éventuels associés aux unités logiques en entrée
-    fichiers_fimen = []
-    print "FIMEN:", UNITE_FIMEN
-    if UNITE_FIMEN:
-        if type(FIMEN)==int:
-            UNITE_FIMEN= [ UNITE_FIMEN ]
-        for unit in UNITE_FIMEN:
-            UL = UniteAster()
-            fichiers_fimen.append( (unit,UL.Nom(unit)) )
-
-    tables = []
-    type_tables = []
-    for res in RESULTATS:
-        tables.append(res['TABLE'])
-        type_tables.append(res['TYPE_TABLE'])
-    out = {"DeclareOut" : self.DeclareOut,
-           "TablesOut" : tables,
-           "TypeTables" : type_tables}
-           
 
+    if not RESU_TURBULENT:
+        RESU_TURBULENT = []
+    else:
+        for res in RESU_TURBULENT:
+            table_fonction.append(res['TABLE'])
+    out_turbulent = {"DeclareOut" : self.DeclareOut,
+                     "TypeTables" : 'TABLE_FONCTION',
+                     "ComptTable" : 0,
+                     "TablesOut"  : table_fonction}
+
+    if not RESU_FLUDELA:
+        RESU_FLUDELA = []
+    else:
+        for res in RESU_FLUDELA:
+            table.append(res['TABLE'])
+    out_fludela = {"DeclareOut" : self.DeclareOut,
+                   "TypeTables" : 'TABLE',
+                   "ComptTable" : 0,
+                   "TablesOut" : table}
 
+    
     # Mode interactif : ouverture d'une fenetre Tk
     if INTERACTIF == "OUI":
-        
-        # fenetre principale        
-        tk = Tk()
-        tk.rowconfigure(0, weight=1)
-        tk.columnconfigure(0,weight=1)
-        tabs = TabbedWindow( tk, [ "Correlation", "Fludela","Fluide Turbulent" ] )
-        tabs.grid(sticky='n'+'e'+'s'+'w')
-        main = tabs.root()
-        
-        # ecriture des message dans un fichier message
-        mess = MessageBox(UNITE_RESU, interactif = 'oui')
-                # importation des concepts aster de la memoire jeveux    
-        objects = MeideeObjects(self, mess)
-        tabs.set_objects(objects)
-        
-        iface = InterfaceCorrelation(main, objects, self, mess)
-        fludela = InterfaceFludela(main, objects, fichiers_fimen, mess, out)
-        turbulent = InterfaceTurbulent(main, objects, mess, out)
-        
-        tabs.set_tab("Correlation",iface.main)
-        tabs.set_tab("Fludela", fludela )
-        tabs.set_tab("Fluide Turbulent", turbulent)
-        tabs.set_current_tab("Correlation")
-
-
-        try:
-            tk.mainloop()
-        except :
-            print "MEIDEE : *ERREUR*"
-
-        mess.close_file()
-
-
+        create_interactive_window(self,
+                                  UNITE_FIMEN,
+                                  UNITE_RESU,
+                                  out_fludela,
+                                  out_turbulent,
+                                  out_modifstru)
     else:
+        from Meidee.meidee_calcul import MessageBox
         from Meidee.meidee_test import TestMeidee
+        mess = MessageBox(UNITE_RESU)
+        mess.disp_mess("Mode non intéractif")
         
-        mess = MessageBox(UNITE_RESU, interactif = 'non')
-        # importation des concepts aster existants de la memoire jeveux    
         objects = MeideeObjects(self, mess)
-        
-        mess.disp_mess( " mode non interactif" )
-        
+
+        # importation des concepts aster existants de la memoire jeveux
         TestMeidee(self,
                    mess,
-                   out,
+                   out_fludela,
+                   out_turbulent,
+                   out_modifstru,
                    objects,
                    EXPANSION,
                    FLUIDE_ELASTIQUE,
-                   TURBULENT
+                   TURBULENT,
+                   MODIFSTRUCT,
+                   GROUP_NO_CAPTEURS,
+                   GROUP_NO_EXTERIEUR              
                    )
 
         mess.close_file()
+    aster.onFatalError(prev)
+    return ier
+
+
+
+def create_tab_mess_widgets(tk, UNITE_RESU):
+    """Construits les objects table et boîte à messages."""
+    try:
+        from Pmw import PanedWidget
+    except ImportError:
+        PanedWidget = None
     
-##    aster.onFatalError(prev)
+    from Meidee.meidee_iface import MessageBoxInteractif, TabbedWindow
     
-    return ier
+    if PanedWidget:
+        pw = PanedWidget(tk, orient='vertical',
+                         hull_borderwidth = 1,
+                         hull_relief = 'sunken',
+                         )
+        tabsw = pw.add("main", min=.1, max=.9)
+        msgw = pw.add("msg", min=.1, max=.2)
+        pw.grid(sticky='nsew')
+        tabsw.rowconfigure(0, weight=1)
+        tabsw.columnconfigure(0, weight=1)
+        msgw.rowconfigure(0, weight=1)
+        msgw.columnconfigure(0, weight=1)
+    else:
+        tabsw = tk
+        msgw = tk
+        tk.rowconfigure(1, weight=3)
+        tk.rowconfigure(1, weight=1)
+    
+    tabs = TabbedWindow(tabsw, ["Expansion de modeles",
+                                "Modification structurale",
+                                "MEIDEE mono-modal",
+                                "Identification de chargement"])
+
+    tabs.grid(row=0, column=0, sticky='nsew')
+    # pack(side='top',expand=1,fill='both')
+    
+    # ecriture des message dans un fichier message
+    mess = MessageBoxInteractif(msgw, UNITE_RESU)
+    if PanedWidget:
+        mess.grid(row=0, column=0, sticky='nsew')
+        #mess.pack(side='top',expand=1,fill='both')
+    else:
+        mess.grid(row=1, column=0, sticky='nsew')
+        #mess.pack(side='top',expand=1,fill='both')
+    
+    return tabs, mess
+
+def get_fimen_files(UNITE_FIMEN, FIMEN=None):
+    """Fichiers fimen éventuels associés aux unités logiques en entrée"""
+    # XXX FIMEN is not defined (should it be included in the macro)
+    from Utilitai.UniteAster import UniteAster
+    fichiers_fimen = []
+    print "FIMEN:", UNITE_FIMEN
+
+    if UNITE_FIMEN:
+        if type(FIMEN)==int:
+            UNITE_FIMEN= [ UNITE_FIMEN ]
+        for unit in UNITE_FIMEN:
+            UL = UniteAster()
+            fichiers_fimen.append( (unit, UL.Nom(unit)) )
+
+    return fichiers_fimen
 
+
+class FermetureCallback:
+    """Opérations à appliquer lors de la fermeture de la
+    fenêtre Tk.
+    """
+
+    def __init__(self, main_tk, turbulent):
+        self.main_tk = main_tk
+        self.turbulent = turbulent
+
+    def apply(self):
+        """Enlève les fichiers temporaires de Xmgrace"""
+        self.turbulent.xmgr_manager.fermer()
+        self.main_tk.quit()
+
+
+def create_interactive_window(macro,
+                              UNITE_FIMEN,
+                              UNITE_RESU,
+                              out_fludela,
+                              out_turbulent,
+                              out_modifstru):
+    """Construit la fenêtre interactive comprenant une table pour 
+    les 4 domaines de Meidee."""
+    from Tkinter import Tk
+    
+    from Meidee.meidee_cata import MeideeObjects
+    from Meidee.meidee_correlation import InterfaceCorrelation
+    from Meidee.meidee_modifstruct import InterfaceModifStruct
+    from Meidee.meidee_fludela import InterfaceFludela
+    from Meidee.meidee_turbulent import InterfaceTurbulent
+    
+    # fenetre principale
+    tk = Tk()
+    tk.rowconfigure(0, weight=1)
+    tk.columnconfigure(0,weight=1)
+    
+    tabs, mess = create_tab_mess_widgets(tk, UNITE_RESU)
+    main = tabs.root()
+    
+    # importation des concepts aster de la memoire jeveux    
+    objects = MeideeObjects(macro, mess)
+    tabs.set_objects(objects)
+    
+    iface = InterfaceCorrelation(main, objects, macro, mess)
+    imodifstruct = InterfaceModifStruct(main, objects, macro,
+                                        mess, out_modifstru)
+    fludela = InterfaceFludela(main, objects,
+                               get_fimen_files(UNITE_FIMEN), mess, out_fludela)
+    turbulent = InterfaceTurbulent(main, objects, mess, out_turbulent)
+    
+    tabs.set_tab("Expansion de modeles", iface.main)
+    tabs.set_tab("Modification structurale", imodifstruct.main)
+    tabs.set_tab("MEIDEE mono-modal", fludela )
+    tabs.set_tab("Identification de chargement", turbulent)
+    
+    #tabs.set_current_tab("Modifstruct")
+    tabs.set_current_tab("Identification de chargement")
+
+    tk.protocol("WM_DELETE_WINDOW", FermetureCallback(tk, turbulent).apply)
+    
+    try:
+        tk.mainloop()
+    except :
+        print "MEIDEE : *ERREUR*"
+
+    
index b3ff410dc46dd85061ad3edb3642d4449d2d97ca..348cb750fd458e5c5fde7937def47051a637c591 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF observation_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF observation_ops Macro  DATE 26/03/2008   AUTEUR BODEL C.BODEL 
 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -86,8 +86,6 @@ def observation_ops(self,
         __proj = RESULTAT
 
 
-
-
 #***********************************************
 #  PHASE DE CHANGEMENT DE REPERE
 #***********************************************
@@ -110,12 +108,21 @@ def observation_ops(self,
 
     # cham_mater et cara_elem pour le resultat a projeter
     jdc = CONTEXT.get_current_step().jdc
-    nom_cara_elem = aster.getvectjev( RESULTAT.nom.ljust(19) + '.CARA        ' )
-    nom_cara_elem = nom_cara_elem[0].strip()
-    cara_elem = jdc.sds_dict[nom_cara_elem]
-    nom_cham_mater = aster.getvectjev( RESULTAT.nom.ljust(19) + '.MATE        ' )
-    nom_cham_mater = nom_cham_mater[0].strip()
-    cham_mater = jdc.sds_dict[nom_cham_mater]
+    nom_cara_elem = aster.getvectjev( RESULTAT.nom.ljust(19) +
+                                      '.CARA        ' )[0].strip()
+    if len(nom_cara_elem) > 0 :
+##        nom_cara_elem = nom_cara_elem[0].strip()
+        cara_elem = jdc.sds_dict[nom_cara_elem]
+    else:
+        cara_elem = None
+    
+    nom_cham_mater = aster.getvectjev( RESULTAT.nom.ljust(19) +
+                                       '.MATE        ' )[0].strip()
+    if len(nom_cham_mater) > 0 :
+##        nom_cham_mater = nom_cham_mater[0].strip()
+        cham_mater = jdc.sds_dict[nom_cham_mater]
+    else:
+        cham_mater = None
 
     # recuperation du maillage associe au modele experimental
     _maillag = aster.getvectjev( MODELE_2.nom.ljust(8) + '.MODELE    .LGRF        ' )
@@ -128,6 +135,7 @@ def observation_ops(self,
     jdc = CONTEXT.get_current_step().jdc
     mayanum = jdc.sds_dict[maillage]
 
+
     if MODIF_REPERE != None :
         for modi_rep in MODIF_REPERE :
             type_cham = modi_rep['TYPE_CHAM']
@@ -148,10 +156,9 @@ def observation_ops(self,
                         vect = { option : modi_rep[option] }
                 if len(vect) != 1 :
                     UTMESS('E','UTILITAI7_9')
-                chnorm    = crea_normale(self, MODELE_1, MODELE_2,
-                                         cham_mater, cara_elem, NUME_DDL)
-
 
+                chnorm = crea_normale(self, MODELE_1, MODELE_2, NUME_DDL,
+                                                      cham_mater, cara_elem)
                 chnormx = chnorm.EXTR_COMP('DX',[],1)
                 ind_noeuds = chnormx.noeud
                 nom_allno = [mayaexp.NOMNOE.get()[k-1] for k in ind_noeuds]
@@ -221,10 +228,10 @@ def observation_ops(self,
 
     if FILTRE != None:
         nb_fi = len(FILTRE)
+        liste = []
 
         for ind in num_ordr:
             filtres = []
-            liste = []
             __chamex = CREA_CHAMP(TYPE_CHAM  = 'NOEU_DEPL_R',
                                   OPERATION  = 'EXTR',
                                   RESULTAT   = __proj,
@@ -248,14 +255,17 @@ def observation_ops(self,
                                        ASSE      = filtres
                                        );
 
+
             mcfact2 = {'CHAM_GD'    : __cham[ind-1],
                        'MODELE'     : MODELE_2,
-                       'CHAM_MATER' : cham_mater,
-                       'CARA_ELEM'  : cara_elem,
                        'NOM_CAS'    : str(ind)}
+            if cham_mater is not None:
+                mcfact2['CHAM_MATER'] = cham_mater
+            if cara_elem is not None:
+                mcfact2['CARA_ELEM'] = cara_elem
 
             liste.append(mcfact2)
-            DETRUIRE( CONCEPT= _F( NOM = __chamex ))
+            DETRUIRE( CONCEPT= _F( NOM = __chamex ), INFO=1)
 
 
         self.DeclareOut( 'RESU', self.sd)
@@ -272,7 +282,7 @@ def observation_ops(self,
             # faisant un defi_base_modale dans lequel on met zero modes du concept RESULTAT
             # TODO : permettre la creation directement d'un resu de type mode_meca avec
             # CREA_RESU
-            RESBID = CREA_RESU( OPERATION = 'AFFE',
+            _RESBID = CREA_RESU( OPERATION = 'AFFE',
                                 TYPE_RESU = 'MULT_ELAS',
                                 NOM_CHAM  = 'DEPL',
                                 AFFE      = liste,
@@ -281,7 +291,7 @@ def observation_ops(self,
             RESU = DEFI_BASE_MODALE( RITZ = (
                                              _F( MODE_MECA = RESULTAT,
                                                  NMAX_MODE = 0,),
-                                             _F( MULT_ELAS = RESBID),
+                                             _F( MULT_ELAS = _RESBID),
                                             ),
                                      NUME_REF=NUME_DDL
                                    );
@@ -301,12 +311,11 @@ def observation_ops(self,
 # RECUPERATION DES NORMALES
 #**********************************************
 
-def crea_normale(self, modele_1, modele_2, cham_mater, cara_el, nume_ddl):
-
+def crea_normale(self, modele_1, modele_2,
+                 nume_ddl, cham_mater=None, cara_elem=None):
     """Cree un champ de vecteurs normaux sur le maillage experimental, par
        projection du champ de normales cree sur le maillage numerique
     """
-
     import Numeric
     PROJ_CHAMP  = self.get_cmd('PROJ_CHAMP')
     CREA_CHAMP  = self.get_cmd('CREA_CHAMP')
@@ -324,16 +333,22 @@ def crea_normale(self, modele_1, modele_2, cham_mater, cara_el, nume_ddl):
 
     DEFI_GROUP( reuse = mayanum,
                 MAILLAGE      = mayanum,
-                CREA_GROUP_MA = _F( NOM  = '&&TOUMAIL',
+                CREA_GROUP_MA = _F( NOM  = '&&TOUMAI',
                                     TOUT = 'OUI' )
                );
 
     __norm1 = CREA_CHAMP( MODELE    = modele_1,
                           OPERATION = 'NORMALE',
                           TYPE_CHAM = 'NOEU_GEOM_R',
-                          GROUP_MA  = '&&TOUMAIL',
+                          GROUP_MA  = '&&TOUMAI',
                          );
 
+    DEFI_GROUP( reuse = mayanum,
+                MAILLAGE      = mayanum,
+                DETR_GROUP_MA = _F( NOM  = '&&TOUMAI' )
+               );
+
+
     __norm2 = CREA_CHAMP( OPERATION = 'ASSE',
                           TYPE_CHAM = 'NOEU_DEPL_R',
                           MODELE    = modele_1,
@@ -344,16 +359,19 @@ def crea_normale(self, modele_1, modele_2, cham_mater, cara_el, nume_ddl):
                                          )
                          );
 
+    affe_dct = {'CHAM_GD' : __norm2,
+                'INST' : 1,
+                'MODELE' : modele_1}
+    if cham_mater is not None:
+        affe_dct["CHAM_MATER"] = cham_mater
+    if cara_elem is not None:
+        affe_dct["CARA_ELEM"] = cara_elem
+    
     __norm3 = CREA_RESU( OPERATION = 'AFFE',
                          TYPE_RESU = 'EVOL_ELAS',
                          NOM_CHAM  = 'DEPL',
-                         AFFE      = _F( CHAM_GD    = __norm2,
-                                         INST       = 1,
-                                         MODELE     = modele_1,
-                                         CHAM_MATER = cham_mater,
-                                         CARA_ELEM  = cara_el
-                                         )
-                         );
+                         AFFE      = _F(**affe_dct)
+                       );
 
 
     __norm4 = PROJ_CHAMP( RESULTAT   = __norm3,
@@ -478,7 +496,8 @@ def find_no(maya,mcsimp):
         for group in mcsimp['GROUP_MA'] :
             list_ma.append(maya.GROUPEMA.get()[group.ljust(8)])
         for mail in list_ma :
-            ind_ma = maya.NOMMAI.get().index(mail.ljust(8))
+            tmp = list(maya.NOMMAI.get())
+            ind_ma = tmp.index(mail.ljust(8))
             for ind_no in maya.CONNEX[ind_ma] :
                 nomnoe = maya.NOMNOE.get()[ind_no]
                 if nomnoe not in list_no :
index ef2f932b0864ec57ba539f25f2c456db87dbc74b..944f4395de7e5150d70e9f9d8dc0304264959cf7 100644 (file)
@@ -1,36 +1,39 @@
-#@ MODIF post_dyna_alea_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF post_dyna_alea_ops Macro  DATE 25/04/2008   AUTEUR ZENTNER I.ZENTNER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2006  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.
 # ======================================================================
 
-def post_dyna_alea_ops(self,INTE_SPEC,NUME_VITE_FLUI,TOUT_ORDRE,NUME_ORDRE_I,
-                       NOEUD_I,OPTION,MOMENT,TITRE,INFO,**args):
+import random
+import Numeric
+from sets  import Set
+from types import ListType, TupleType
+from math  import pi,sqrt,log,exp
+
+EnumTypes = (ListType, TupleType)
+
+
+def post_dyna_alea_ops(self,INTE_SPEC, FRAGILITE,TITRE,INFO,**args):
    import aster
-   from types import ListType, TupleType
-   EnumTypes = (ListType, TupleType)
    from Accas               import _F
-   from Utilitai.Utmess     import  UTMESS
+   from Utilitai.Utmess     import UTMESS
    from Utilitai.t_fonction import t_fonction
    from Utilitai.Table      import Table
-   import Numeric
-   import math
-   from math import pi,sqrt
-   
+
    commande='POST_DYNA_ALEA'
 
    ier = 0
@@ -39,7 +42,7 @@ def post_dyna_alea_ops(self,INTE_SPEC,NUME_VITE_FLUI,TOUT_ORDRE,NUME_ORDRE_I,
 
    # Le concept sortant (de type table_sdaster ou dérivé) est tab
    self.DeclareOut('tabout', self.sd)
-   
+
    # On importe les definitions des commandes a utiliser dans la macro
    # Le nom de la variable doit etre obligatoirement le nom de la commande
    CREA_TABLE    = self.get_cmd('CREA_TABLE')
@@ -47,202 +50,379 @@ def post_dyna_alea_ops(self,INTE_SPEC,NUME_VITE_FLUI,TOUT_ORDRE,NUME_ORDRE_I,
    IMPR_TABLE    = self.get_cmd('IMPR_TABLE')
    RECU_FONCTION = self.get_cmd('RECU_FONCTION')
    IMPR_FONCTION = self.get_cmd('IMPR_FONCTION')
+   DEFI_LIST_REEL = self.get_cmd('DEFI_LIST_REEL')
+   DEFI_FONCTION  = self.get_cmd('DEFI_FONCTION')
+   CALC_FONCTION  = self.get_cmd('CALC_FONCTION')
 
-   intespec=INTE_SPEC.EXTR_TABLE()
 
 #  ------------------------------------------------------------------
-#  Liste des moments spectraux
-#  repérer le type de l'interspectre et son nom
-#                1- concept interspectre
-#                2- table de table d interspectre
-
-   if 'NUME_VITE_FLUI' in intespec.para :
-      if TOUT_ORDRE!=None :
-         jnuor=intespec['NUME_VITE_FLUI'].values()['NUME_VITE_FLUI']
-         jvite=dict([(i,0) for i in jnuor]).keys()
-      else :
-        jvite=[NUME_VITE_FLUI,]
-   else :
-      jvite  =[None]
+#---------algorithme d'optimisation pour le  maximum de vraisemblance
+   def vrais(x):
+      am=x[0]
+      assert am >0.000, 'optimize.py: am negatif'
+      beta=x[1]
+      assert am >0.000, 'optimize.py: beta negatif'
+      res=1.0
+      for k in range(Nbval):
+         ai=liste_indic[k]
+         xi=float(liste_def[k])
+         val=log(ai/am)
+         pfa=normcdf(val/beta)
+         f0=pfa**xi*(1.-pfa)**(1-xi)
+         res=res*f0
+      return -res
+
+   def boot_vrais(x):
+      am=x[0]
+      beta=x[1]
+      res=1.0
+      for k in range(Nbval):
+         ai=liste_indic[list_rand[k]]
+         xi=float(liste_def[list_rand[k]])
+         val=log(ai/am)
+         pfa=normcdf(val/beta)
+         f0=pfa**xi*(1.-pfa)**(1-xi)
+         res=res*f0
+      return -res
 
 #  ------------------------------------------------------------------
-#  Repérer les couples d'indices selectionnés
-#  vérification de l'égalité du nombre d indices en i et j
-
-   if NUME_ORDRE_I!=None :
-     l_ind_i=NUME_ORDRE_I
-     l_ind_j=args['NUME_ORDRE_J']
-     if type(l_ind_i) not in EnumTypes : l_ind_i=[l_ind_i]
-     if type(l_ind_j) not in EnumTypes : l_ind_j=[l_ind_j]
-     if len(l_ind_i)!=len(l_ind_j) :
-        UTMESS('F','PROBA0_8')
-     listpara=['NUME_ORDRE_I','NUME_ORDRE_J']
-     listtype=['I','I']
-     dicotabl={'NUME_ORDRE_I'  : l_ind_i  ,\
-               'NUME_ORDRE_J'  : l_ind_j  , }
-   elif NOEUD_I!=None :
-     l_ind_i=NOEUD_I
-     l_ind_j=args['NOEUD_J']
-     l_cmp_i=args['NOM_CMP_I']
-     l_cmp_j=args['NOM_CMP_J']
-     if type(l_cmp_i) not in EnumTypes : l_cmp_i=[l_cmp_i]
-     if type(l_cmp_j) not in EnumTypes : l_cmp_j=[l_cmp_j]
-     if type(l_ind_i) not in EnumTypes : l_ind_i=[l_ind_i]
-     if type(l_ind_j) not in EnumTypes : l_ind_j=[l_ind_j]
-     if len(l_ind_i)!=len(l_ind_j) :
-        UTMESS('F','PROBA0_8')
-     if len(l_cmp_i)!=len(l_cmp_j) :
-        UTMESS('F','PROBA0_9')
-     if len(l_ind_i)!=len(l_cmp_i) :
-        UTMESS('F','PROBA0_10')
-     listpara=['NOEUD_I','NOEUD_J','NOM_CMP_I','NOM_CMP_J']
-     listtype=['K8','K8','K8','K8',]
-     dicotabl={'NOEUD_I'  : l_ind_i,\
-               'NOEUD_J'  : l_ind_j,\
-               'NOM_CMP_I': l_cmp_i,\
-               'NOM_CMP_J': l_cmp_j }
-#  ------------------------------------------------------------------
-#  Cas de tous les indices centraux
-
-   elif OPTION!=None :
-      if 'NUME_ORDRE_I' in intespec.para :
-         inuor=intespec['NUME_ORDRE_I'].values()['NUME_ORDRE_I']
-         imode=dict([(i,0) for i in inuor]).keys()
-         l_ind_i=imode
-         l_ind_j=imode
-         listpara=['NUME_ORDRE_I','NUME_ORDRE_J']
-         listtype=['I','I']
-         dicotabl={'NUME_ORDRE_I'  : l_ind_i  ,\
-                   'NUME_ORDRE_J'  : l_ind_j  , }
-      else :
-         if 'NUME_VITE_FLUI' in intespec.para :
-            intespec=intespec.NUME_VITE_FLUI==jvite[0]
-         l_ind_i=intespec['NOEUD_I'].values()['NOEUD_I']
-         l_ind_j=intespec['NOEUD_J'].values()['NOEUD_J']
-         if len(l_ind_i)!=len(l_ind_j) :
-            UTMESS('F','PROBA0_8')
-         l_cmp_i=intespec['NOM_CMP_I'].values()['NOM_CMP_I']
-         l_cmp_j=intespec['NOM_CMP_J'].values()['NOM_CMP_J']
-         if (len(l_ind_i)!=len(l_cmp_i) or len(l_ind_j)!=len(l_cmp_j)) :
-            UTMESS('F','PROBA0_10')
-         l_l=zip(zip(l_ind_i,l_cmp_i),zip(l_ind_j,l_cmp_j))
-         l_ind_i=[]
-         l_ind_j=[]
-         l_cmp_i=[]
-         l_cmp_j=[]
-         for ai,aj in l_l :
-             if ai==aj :
-                l_ind_i.append(ai[0])
-                l_ind_j.append(aj[0])
-                l_cmp_i.append(ai[1])
-                l_cmp_j.append(aj[1])
-         listpara=['NOEUD_I','NOEUD_J','NOM_CMP_I','NOM_CMP_J']
-         listtype=['K8','K8','K8','K8',]
-         dicotabl={'NOEUD_I'  : l_ind_i*len(jvite)  ,\
-                   'NOEUD_J'  : l_ind_j*len(jvite)  ,\
-                   'NOM_CMP_I': l_cmp_i*len(jvite)  ,\
-                   'NOM_CMP_J': l_cmp_j*len(jvite) }
-
-   if jvite[0]!=None :
-      listpara.append('NUME_VITE_FLUI')
-      listtype.append('I')
-      dicotabl['NUME_VITE_FLUI']=[]
+#  OPTION FRAGILITE
+# ------------------------------------------------------------------
+   if FRAGILITE !=None :
+      from Utilitai.optimize   import fmin
+      from Utilitai.stats   import normcdf
+
+      if FRAGILITE['LIST_PARA'] != None :
+         liste_a = FRAGILITE['LIST_PARA'].VALE.get()
+      elif FRAGILITE['VALE'] != None :
+         liste_a =FRAGILITE['VALE']
+
+
+      Nba=len(liste_a)
+      lpfa=[]
+      tab2 = FRAGILITE['TABL_RESU'].EXTR_TABLE()
+      dicta = tab2.values()
+
+      if dicta.has_key('DEFA') :
+         liste_def = dicta['DEFA']
+      else:
+         UTMESS('F','TABLE0_1',valk=('DEFA'))
+      if dicta.has_key('PARA_NOCI') :
+        liste_indic = dicta['PARA_NOCI']
+      else:
+        UTMESS('F','TABLE0_1',valk=('PARA_NOCI'))
+
+      Nbval=len(liste_indic)
+
+      test1 = Numeric.equal(None,liste_indic)
+      test2 = Numeric.equal(None,liste_def)
+      if test1 >=1 or test2 >=1:
+         UTMESS('F','TABLE0_15')
+
+      # estimation paramètres
+      x0 = [FRAGILITE['AM_INI'],FRAGILITE['BETA_INI']]
+      xopt = fmin(vrais,x0)
+
+      texte='PARAMETRES Am, beta ESTIMES : '+str(xopt)+'\n'
+      aster.affiche('MESSAGE',texte)      #print 'parametres Am, beta estimes: ', xopt
+
+      #courbe de fragilité
+      vec_a=Numeric.array(liste_a)
+      vecval=(Numeric.log(vec_a/xopt[0]))/xopt[1]
+      for m in range(Nba):
+         lpfa.append(normcdf(vecval[m]))
+
+      # table sortie
+
+      mcfact=[]
+      if  TITRE !=None :
+           mcfact.append(_F(PARA= 'TITRE' , LISTE_K= TITRE  ))
+
+      mcfact.append(_F(PARA= 'AM' ,LISTE_R=xopt[0] ))
+      mcfact.append(_F(PARA= 'BETA' ,LISTE_R=xopt[1] ))
+      mcfact.append(_F(PARA= 'PARA_NOCI' ,LISTE_R =liste_a  ))
+      mcfact.append(_F(PARA= 'PFA' ,LISTE_R = lpfa ))
+
+   #print 'fractiles a calculer par bootstrap : ', FRAGILITE['FRACTILE']
+
+
+      # si calcul de fractiles (intervalles de confiance) par bootstrap
+
+      if FRAGILITE['FRACTILE']!= None :
+         if INFO==2 :
+            texte='FRACTILES A CALCULER PAR BOOTSTRAP '+ str(FRAGILITE['FRACTILE']) +'\n'
+            aster.affiche('MESSAGE',texte)
+         if FRAGILITE['NB_TIRAGE']!= None :
+            Nboot = FRAGILITE['NB_TIRAGE']
+            if Nboot > Nbval :
+               UTMESS('F','PROBA0_11')     #assert Nboot <= Nbval , 'ERREUR: nombre de tirages demandes trop grand'
+         else:
+            Nboot = Nbval
+
+         list_fonc = []
+         lfract =FRAGILITE['FRACTILE']
+         __F1=[None]*Nbval
+         __ABS=[None]*Nbval
+         __ORDO=[None]*Nbval
+
+         for kb in range(Nboot) : #in range(Nbval)
+
+            lpfa = []
+            list_rand = []
+
+            for kb2 in range(Nbval) :
+               list_rand.append(random.randint(0,Nbval-1))
+
+            xopt = fmin(boot_vrais,x0)
+            if INFO==2 :
+               texte1='BOOTSTRAP TIRAGE '+ str(kb+1)
+               texte2='  PARAMETRES Am, beta ESTIMES : '+str(xopt)+'\n'
+               aster.affiche('MESSAGE',texte1) #print 'bootstrap tirage', kb+1, ', -  parametres Am, beta estimes: ', xopt
+               aster.affiche('MESSAGE',texte2)
+            vecval=(Numeric.log(vec_a/xopt[0]))/xopt[1]
+            for m in range(Nba):
+               lpfa.append(normcdf(vecval[m]))
+
+            __ABS[kb]=DEFI_LIST_REEL( VALE = liste_a  );
+            __ORDO[kb]=DEFI_LIST_REEL( VALE = lpfa );
+
+            __F1[kb]=DEFI_FONCTION(  NOM_PARA='PGAZ',
+                                     NOM_RESU = 'PFA',
+                                     VALE_PARA = __ABS[kb],
+                                     VALE_FONC = __ORDO[kb],);
+            list_fonc.append(__F1[kb],)
+
+
+         #__FRACTILE = [None]*len(lfract)
+         liste = [None]*len(lfract)
+         for kb in range(len(lfract)):
+            __FRACTILE=CALC_FONCTION(FRACTILE=_F(FONCTION=(list_fonc),
+                             FRACT=lfract[kb]), );
+            liste[kb]= __FRACTILE.Ordo()
+            mcfact.append(_F(PARA= str(lfract[kb]) ,LISTE_R =liste[kb]  ))
+
+
+      #   fin FRAGILITE
+      tabout = CREA_TABLE(LISTE=mcfact,TITRE = 'POST_DYNA_ALEA concept : '+self.sd.nom)
+
 #  ------------------------------------------------------------------
-#  Liste des moments spectraux
 
-   l_moments=[0,1,2,3,4]
-   if MOMENT!=None :
-      l_moments=l_moments+list(MOMENT)
-      l_moments=dict([(i,0) for i in l_moments]).keys()
 
 #  ------------------------------------------------------------------
-#  Boucle sur les tables
-
-   l_ind=zip(l_ind_i,l_ind_j)
-   for vite in jvite :
-     if INFO==2 :
-        texte='POUR LA MATRICE INTERSPECTRALE '+INTE_SPEC.nom+'\n'
-        aster.affiche('MESSAGE',texte)
-     for ind in l_ind :
-        mcfact=[]
-        if vite!=None : 
-          dicotabl['NUME_VITE_FLUI'].append(vite)
-          mcfact.append(_F(NOM_PARA='NUME_VITE_FLUI',VALE_I=vite))
-        if 'NOEUD_I' in listpara :
-          mcfact.append(_F(NOM_PARA='NOEUD_I',VALE_K=ind[0]))
-          mcfact.append(_F(NOM_PARA='NOEUD_I',VALE_K=ind[1]))
-          if INFO==2 :
-             aster.affiche('MESSAGE','INDICES :'+ind[0]+' - '+ind[1]+'\n')
-        else :
-          mcfact.append(_F(NOM_PARA='NUME_ORDRE_I',VALE_I=ind[0]))
-          mcfact.append(_F(NOM_PARA='NUME_ORDRE_J',VALE_I=ind[1]))
+#  OPTION INTESPEC
+# ------------------------------------------------------------------
+   if INTE_SPEC !=None :
+
+      TOUT_ORDRE = args['TOUT_ORDRE']
+      NUME_VITE_FLUI=args['NUME_VITE_FLUI']
+
+      NUME_ORDRE_I=args['NUME_ORDRE_I']
+      NOEUD_I=args['NOEUD_I']
+      OPTION=args['OPTION']
+
+      MOMENT=args['MOMENT']
+
+      intespec=INTE_SPEC.EXTR_TABLE()
+      # pour la clarté !
+      NUME_VITE_FLUI_present = 'NUME_VITE_FLUI' in intespec.para
+      NUME_ORDRE_I_present   = 'NUME_ORDRE_I'   in intespec.para
+      NOEUD_I_present        = 'NOEUD_I'        in intespec.para
+
+      # table résultat
+      tabres = Table(titr='POST_DYNA_ALEA concept : %s' % self.sd.nom)
+
+#     ------------------------------------------------------------------
+#     Liste des moments spectraux
+#     repérer le type de l'interspectre et son nom
+#                   1- concept interspectre
+#                   2- table de table d interspectre
+
+      if NUME_VITE_FLUI_present :
+         if TOUT_ORDRE != None :
+            jvite = list(Set(intespec.NUME_VITE_FLUI.not_none_values()))
+            jvite.sort()
+         else :
+            jvite=[NUME_VITE_FLUI,]
+      else :
+         jvite  =[None]
+
+#     ------------------------------------------------------------------
+#     Repérer les couples d'indices selectionnés
+#     vérification de l'égalité du nombre d indices en i et j
+
+      if NUME_ORDRE_I!=None :
+        l_ind_i=NUME_ORDRE_I
+        l_ind_j=args['NUME_ORDRE_J']
+        if type(l_ind_i) not in EnumTypes : l_ind_i=[l_ind_i]
+        if type(l_ind_j) not in EnumTypes : l_ind_j=[l_ind_j]
+        if len(l_ind_i)!=len(l_ind_j) :
+           UTMESS('F','PROBA0_8')
+        # paramètres fixes de la table
+        tabres.add_para(['NUME_ORDRE_I','NUME_ORDRE_J'], 'I')
+      elif NOEUD_I!=None :
+        l_ind_i=NOEUD_I
+        l_ind_j=args['NOEUD_J']
+        l_cmp_i=args['NOM_CMP_I']
+        l_cmp_j=args['NOM_CMP_J']
+        if type(l_cmp_i) not in EnumTypes : l_cmp_i=[l_cmp_i]
+        if type(l_cmp_j) not in EnumTypes : l_cmp_j=[l_cmp_j]
+        if type(l_ind_i) not in EnumTypes : l_ind_i=[l_ind_i]
+        if type(l_ind_j) not in EnumTypes : l_ind_j=[l_ind_j]
+        if len(l_ind_i)!=len(l_ind_j) :
+           UTMESS('F','PROBA0_8')
+        if len(l_cmp_i)!=len(l_cmp_j) :
+           UTMESS('F','PROBA0_9')
+        if len(l_ind_i)!=len(l_cmp_i) :
+           UTMESS('F','PROBA0_10')
+        # paramètres fixes de la table
+        tabres.add_para(['NOEUD_I','NOEUD_J','NOM_CMP_I','NOM_CMP_J'], 'K8')
+
+#     ------------------------------------------------------------------
+#     Cas de tous les indices centraux
+
+      elif OPTION!=None :
+         if NUME_VITE_FLUI_present :
+               intespec = intespec.NUME_VITE_FLUI == jvite[0]
+
+         if NUME_ORDRE_I_present :
+            imode = list(Set(intespec.NUME_ORDRE_I.not_none_values()))
+            l_ind_i=imode
+            l_ind_j=imode
+            # paramètres fixes de la table
+            tabres.add_para(['NUME_ORDRE_I','NUME_ORDRE_J'], 'I')
+         else :
+            l_ind_i = intespec.NOEUD_I.values()
+            l_ind_j = intespec.NOEUD_J.values()
+            if len(l_ind_i) != len(l_ind_j) :
+               UTMESS('F','PROBA0_8')
+            l_cmp_i = intespec.NOM_CMP_I.values()
+            l_cmp_j = intespec.NOM_CMP_J.values()
+            if (len(l_ind_i) != len(l_cmp_i) or len(l_ind_j) != len(l_cmp_j)) :
+               UTMESS('F','PROBA0_10')
+            l_l=zip(zip(l_ind_i,l_cmp_i),zip(l_ind_j,l_cmp_j))
+            l_ind_i=[]
+            l_ind_j=[]
+            l_cmp_i=[]
+            l_cmp_j=[]
+            for ai,aj in l_l :
+                if ai==aj :
+                   l_ind_i.append(ai[0])
+                   l_ind_j.append(aj[0])
+                   l_cmp_i.append(ai[1])
+                   l_cmp_j.append(aj[1])
+            # paramètres fixes de la table
+            tabres.add_para(['NOEUD_I','NOEUD_J','NOM_CMP_I','NOM_CMP_J'], 'K8')
+
+      if jvite[0]!=None :
+         tabres.add_para('NUME_VITE_FLUI', 'I')
+
+
+#     ------------------------------------------------------------------
+#     Liste des moments spectraux
+
+      l_moments=[0,1,2,3,4]
+      if MOMENT!=None :
+         l_moments.extend(list(MOMENT))
+         l_moments=list(Set(l_moments))
+
+#     ------------------------------------------------------------------
+#     Boucle sur les fonctions
+
+      if NOEUD_I_present :
+         l_ind=zip(l_ind_i,l_ind_j, l_cmp_i,l_cmp_j)
+      else :
+         l_ind=zip(l_ind_i, l_ind_j )
+
+
+      # pour la présentation de la table finale, on stocke le nbre de paramètres "initiaux"
+      nbpara0 = len(tabres.para)
+
+      for vite in jvite :
         if INFO==2 :
-             aster.affiche('MESSAGE','INDICES :'+str(ind[0])+' - '\
-                                                +str(ind[1])+'\n')
-        __fon1=RECU_FONCTION(TABLE        = INTE_SPEC,
-                             NOM_PARA_TABL= 'FONCTION_C',
-                             FILTRE       = mcfact, )
-        val  = __fon1.Valeurs()
-        fvalx= Numeric.array(val[0])
-        fvaly= Numeric.array(val[1])
-        frez = fvalx[0]
-
-#--- moments spectraux
-
-        val_mom={}
-        for i_mom in l_moments :
-            trapz     = Numeric.zeros(len(fvaly),Numeric.Float)
-            trapz[0]  = 0.
-            valy      = fvaly*(2*pi*fvalx)**i_mom
-            trapz[1:] = (valy[1:]+valy[:-1])/2*(fvalx[1:]-fvalx[:-1])
-            prim_y    = Numeric.cumsum(trapz)
-            val_mom[i_mom] = prim_y[-1]
-        for i_mom in l_moments :
-          chmo='LAMBDA_'+str(i_mom).zfill(2)
-          if dicotabl.has_key(chmo) : dicotabl[chmo].append(val_mom[i_mom])
-          else :
-                 dicotabl[chmo]=[val_mom[i_mom],]
-                 listpara.append(chmo)
-                 listtype.append('R')
-
-#--- fonctions statistiques
-
-        pstat  = {'ECART'           :0.,\
-                  'NB_PASS_ZERO_P_S':0.,\
-                  'NB_EXTREMA_P_S'  :0.,\
-                  'FACT_IRRE'       :0.,\
-                  'FREQ_APPAR'      :0.,}
-        if (NUME_VITE_FLUI or frez>=0.) :
-#--- cas NUME_VITE_FLUI, seule la partie positive du spectre est utilisée
-#--- Il faut donc doubler lambda  pour calculer le bon écart type
-            pstat['ECART'] = sqrt(val_mom[0]*2.)
-        else :
-            pstat['ECART'] = sqrt(val_mom[0])
-        if abs(val_mom[2])>=1e-20 :
-              pstat['NB_EXTREMA_P_S'] = 1./pi*sqrt(val_mom[4]/val_mom[2])
-        if abs(val_mom[0])>=1e-20 :
-           pstat['NB_PASS_ZERO_P_S'] = 1./pi*sqrt(val_mom[2]/val_mom[0])
-           pstat['FREQ_APPAR'] = 0.5*pstat['NB_PASS_ZERO_P_S']
-           if abs(val_mom[4])>=1e-20 :
-              pstat['FACT_IRRE'] = sqrt( val_mom[2]*val_mom[2]/val_mom[0]/val_mom[4])
-
-        for key in pstat.keys(): 
-          if dicotabl.has_key(key) : dicotabl[key].append(pstat[key])
-          else :
-                 dicotabl[key]=[pstat[key],]
-                 listpara.append(key)
-                 listtype.append('R')
+           texte='POUR LA MATRICE INTERSPECTRALE '+INTE_SPEC.nom+'\n'
+           aster.affiche('MESSAGE',texte)
+        for ind in l_ind :
+           dlign = {}
+           mcfact=[]
+           if vite!=None :
+             dlign['NUME_VITE_FLUI'] = vite
+             mcfact.append(_F(NOM_PARA='NUME_VITE_FLUI',VALE_I=vite))
+           if NOEUD_I_present :
+             i_foncstat = ind[0] == ind[1] and  ind[2] == ind[3]
+             dlign['NOEUD_I'], dlign['NOEUD_J'], dlign['NOM_CMP_I'], dlign['NOM_CMP_J'] = \
+                  ind[0], ind[1], ind[2], ind[3]
+             mcfact.append(_F(NOM_PARA='NOEUD_I',VALE_K=ind[0]))
+             mcfact.append(_F(NOM_PARA='NOEUD_J',VALE_K=ind[1]))
+             mcfact.append(_F(NOM_PARA='NOM_CMP_I',VALE_K=ind[2]))
+             mcfact.append(_F(NOM_PARA='NOM_CMP_J',VALE_K=ind[3]))
+             if INFO==2 :
+                aster.affiche('MESSAGE','INDICES :'+ind[0]+' - '+ind[1])
+                aster.affiche('MESSAGE','INDICES :'+ind[2]+' - '+ind[3]+'\n')                
+           else :
+             i_foncstat = ind[0] == ind[1]
+             dlign['NUME_ORDRE_I'], dlign['NUME_ORDRE_J'] = ind[0], ind[1]
+             mcfact.append(_F(NOM_PARA='NUME_ORDRE_I',VALE_I=ind[0]))
+             mcfact.append(_F(NOM_PARA='NUME_ORDRE_J',VALE_I=ind[1]))
+             if INFO==2 :
+                aster.affiche('MESSAGE','INDICES :'+str(ind[0])+' - '\
+                                                   +str(ind[1])+'\n')
+                                                   
+           __fon1=RECU_FONCTION(TABLE        = INTE_SPEC,
+                                NOM_PARA_TABL= 'FONCTION_C',
+                                FILTRE       = mcfact, )
+
+           val  = __fon1.Valeurs()
+           fvalx= Numeric.array(val[0])
+           fvaly= Numeric.array(val[1])
+           frez = fvalx[0]
+
+           # -- moments spectraux
+
+           val_mom={}
+           for i_mom in l_moments :
+               trapz     = Numeric.zeros(len(fvaly),Numeric.Float)
+               trapz[0]  = 0.
+               valy      = fvaly*(2*pi*fvalx)**i_mom
+               trapz[1:] = (valy[1:]+valy[:-1])/2*(fvalx[1:]-fvalx[:-1])
+               prim_y    = Numeric.cumsum(trapz)
+               val_mom[i_mom] = prim_y[-1]
+           for i_mom in l_moments :
+             chmo='LAMBDA_'+str(i_mom).zfill(2)
+             dlign[chmo] = val_mom[i_mom]
+
+        #--- si auto-spectre:
+           if i_foncstat:
+              # test si le spectre est bien à valeurs positives                    
+              if min(fvaly) < 0.0 :
+                 aster.affiche('MESSAGE', str(ind)+'\n')
+                 UTMESS('F','MODELISA9_95')
+              # -- fonctions statistiques              
+              if NUME_VITE_FLUI or frez >= 0. :
+                  # -- cas NUME_VITE_FLUI, seule la partie positive du spectre est utilisée
+                  # -- Il faut donc doubler lambda  pour calculer le bon écart type
+                  dlign['ECART'] = sqrt(val_mom[0]*2.)
+              else :
+                  dlign['ECART'] = sqrt(val_mom[0])
+              if abs(val_mom[2])>=1e-20 :
+                    dlign['NB_EXTREMA_P_S'] = 1./pi*sqrt(val_mom[4]/val_mom[2])
+              if abs(val_mom[0])>=1e-20 :
+                 dlign['NB_PASS_ZERO_P_S'] = 1./pi*sqrt(val_mom[2]/val_mom[0])
+                 dlign['FREQ_APPAR'] = 0.5*dlign['NB_PASS_ZERO_P_S']
+                 if abs(val_mom[4])>=1e-20 :
+                    dlign['FACT_IRRE'] = sqrt( val_mom[2]*val_mom[2]/val_mom[0]/val_mom[4])
+
+           # ajoute la ligne à la Table
+           tabres.append(dlign)
 
 #--- construction de la table produite
 
-   mcfact=[]
-   for i in range(len(listpara)) :
-      if listtype[i]=='R':
-         mcfact.append(_F(PARA=listpara[i] ,LISTE_R=dicotabl[listpara[i]] ))
-      if listtype[i]=='K8':
-         mcfact.append(_F(PARA=listpara[i] ,LISTE_K=dicotabl[listpara[i]] ))
-      if listtype[i]=='I':
-         mcfact.append(_F(PARA=listpara[i] ,LISTE_I=dicotabl[listpara[i]] ))
-   tabout = CREA_TABLE(LISTE=mcfact,TITRE = 'POST_DYNA_ALEA concept : '+self.sd.nom)
+      # tri des paramètres
+      ord_para = tabres.para[nbpara0:]
+      ord_para.sort()
+      ord_para = tabres.para[:nbpara0] + ord_para
+      dprod = tabres[ord_para].dict_CREA_TABLE()
+
+      tabout = CREA_TABLE(**dprod)
 
    return ier
+
index 0d68ea07cd6115395aa305c454dabc7b1b063385..a66baa1fb5372a697274a6a6e57f629484669fa9 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF post_gp_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF post_gp_ops Macro  DATE 15/04/2008   AUTEUR MACOCCO K.MACOCCO 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -6,7 +6,7 @@
 # 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.                                                  
+# (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            
@@ -27,12 +27,14 @@ def post_gp_ops(self, **args):
    """
       Corps de la macro POST_GP
    """
+   import pdb
    macro = 'POST_GP'
    ier=0
    from Accas import _F
-   from Utilitai.Utmess     import  UTMESS
-   from Utilitai.Table      import Table, merge
+   from Utilitai.Utmess     import UTMESS
+   from Utilitai.Table      import Table, merge, Colonne
    from Utilitai.t_fonction import t_fonction
+   from Cata.cata import evol_noli
    import aster
    
    # ----- On importe les definitions des commandes a utiliser dans la macro
@@ -41,6 +43,13 @@ def post_gp_ops(self, **args):
    POST_ELEM     = self.get_cmd('POST_ELEM')
    POST_RELEVE_T = self.get_cmd('POST_RELEVE_T')
    CREA_TABLE    = self.get_cmd('CREA_TABLE')
+   DEFI_LIST_ENTI= self.get_cmd('DEFI_LIST_ENTI')
+   CALC_ELEM     = self.get_cmd('CALC_ELEM')
+   RECU_FONCTION = self.get_cmd('RECU_FONCTION')
+   DETRUIRE      = self.get_cmd('DETRUIRE')
+   DEFI_GROUP    = self.get_cmd('DEFI_GROUP')
+   IMPR_CO       = self.get_cmd('IMPR_CO')
+   FIN           = self.get_cmd('FIN')
    
    # ----- Comptage, commandes + déclaration concept sortant
    self.set_icmd(1)
@@ -51,7 +60,7 @@ def post_gp_ops(self, **args):
    # 0. ----- Type de calcul
    identification = self['IDENTIFICATION'] != None
    if identification:
-      # 0.1. --- identification : on boule sur les valeurs de TEMP.
+      # 0.1. --- identification : on boucle sur les valeurs de TEMP.
       #          Pour chaque couple (T, Kjc(T)), on évalue les Ki, Kmoy et
       #          les valeurs de Gpmax, DeltaLmax, inst.max correspondantes.
       mccalc = self['IDENTIFICATION']
@@ -74,100 +83,434 @@ def post_gp_ops(self, **args):
    if not type(l_crit) in EnumTypes:
       l_crit = [l_crit,]
    
+
+   # Maillage associe au modele
+   __MAIL = aster.getvectjev( self['MODELE'].nom.ljust(8) + '.MODELE    .LGRF        ' )
+   nom_maillage = __MAIL[0].strip()
+   
+   jdc = CONTEXT.get_current_step().jdc
+   maya = jdc.sds_dict[nom_maillage]
+   
    # 1. ----- calcul de G-theta
-   nbcour = len(self['THETA_2D'])
-   l_tab = []
-   for occ in self['THETA_2D']:
-      dMC = occ.cree_dict_valeurs(occ.mc_liste)
-      
-      __theta = CALC_THETA(MODELE=self['MODELE'],
-                           DIRECTION=self['DIRECTION'],
-                           THETA_2D=_F(GROUP_NO=dMC['GROUP_NO'],
-                                       MODULE=1.0,
-                                       R_INF=dMC['R_INF'],
-                                       R_SUP=dMC['R_SUP']),)
-
-      __gtheta = CALC_G(THETA=_F(THETA=__theta),
-                        EXCIT=self['EXCIT'].List_F(),
-                        RESULTAT=self['RESULTAT'],
-                        TOUT_ORDRE='OUI',
-                        SYME_CHAR=self['SYME_CHAR'],
-                        COMP_ELAS=self['COMP_ELAS'].List_F(),)
-
-      tab = __gtheta.EXTR_TABLE()
-      
-      # une Table par couronne
-      l_tab.append(tab)
+   
+   # Cas 2D
+   if self['THETA_2D'] is not None:
+      is_2D = True
+   else:
+      is_2D = False
+   
+   if is_2D:
+      nbcour = len(self['THETA_2D'])
+      nb_tranches = 1
+      ep_z = 1
+      l_tab = []
+      for occ in self['THETA_2D']:
+         dMC = occ.cree_dict_valeurs(occ.mc_liste)
+         
+         __theta = CALC_THETA(MODELE=self['MODELE'],
+                              DIRECTION=self['DIRECTION'],
+                              THETA_2D=_F(GROUP_NO=dMC['GROUP_NO'],
+                                          MODULE=1.0,
+                                          R_INF=dMC['R_INF'],
+                                          R_SUP=dMC['R_SUP']),)
+   
+         __gtheta = CALC_G(THETA=_F(THETA=__theta),
+                           EXCIT=self['EXCIT'].List_F(),
+                           RESULTAT=self['RESULTAT'],
+                           TOUT_ORDRE='OUI',
+                           SYME_CHAR=self['SYME_CHAR'],
+                           COMP_ELAS=self['COMP_ELAS'].List_F(),)
+   
+         tab = __gtheta.EXTR_TABLE()
+         
+         # une Table par couronne
+         l_tab.append(tab)
+         
+   else:
+      #Cas 3D
+      nbcour = len(self['THETA_3D'])
+      nb_tranches = self['NB_TRANCHES']
+      l_tab = []
+      l_noeuds_fissure, pas = getFondFissInfo(self['FOND_FISS'])
+      nb_noeuds_fissure = len(l_noeuds_fissure)
+      
+      for occ in self['THETA_3D']:
+         dMC = occ.cree_dict_valeurs(occ.mc_liste)
+         
+         # on met les mots-clés facultatifs dans des dictionnaires
+         dpar_theta = {}
+         if self['DIRECTION'] is not None:
+            dpar_theta['DIRECTION'] = self['DIRECTION']
+         
+         __gtheta = CALC_G(
+                           THETA=_F(R_INF=dMC['R_INF'],
+                                    R_SUP=dMC['R_SUP'],
+                                    MODULE=1.0,
+                                    FOND_FISS=self['FOND_FISS'],
+                                    **dpar_theta),
+                           EXCIT=self['EXCIT'].List_F(),
+                           RESULTAT=self['RESULTAT'],
+                           TOUT_ORDRE='OUI',
+                           SYME_CHAR=self['SYME_CHAR'],
+                           COMP_ELAS=self['COMP_ELAS'].List_F(),
+                           LISSAGE=self['LISSAGE'].List_F()
+                           )
+
+         tab = __gtheta.EXTR_TABLE()
+         
+         # une Table par couronne
+         l_tab.append(tab)
+
+   
 
    # 2. ----- Calcul de l'energie élastique en exploitant les groupes de
    #          mailles fournis par la procedure de maillage
-   l_copo = [grma.strip() for grma in self['GROUP_MA']]
-   nbcop = len(l_copo)
-   l_charg = [charg['CHARGE'] for charg in self['EXCIT']]
-   
-   __ener = POST_ELEM(MODELE=self['MODELE'],
-                        RESULTAT=self['RESULTAT'],
-                        CHARGE=l_charg,
-                        TOUT_ORDRE='OUI',
-                        ENER_ELAS=_F(GROUP_MA=l_copo),
-                        TITRE='Energie élastique',)
-
-   t_enel = __ener.EXTR_TABLE()
-   
-   # 2.1. ----- Indice de chaque copeau et deltaL
-   d_icop = dict(zip(l_copo, range(1, nbcop + 1)))
-   
-   l_lieu = [grma.strip() for grma in t_enel.LIEU.values()]
-   l_icop = [d_icop[grma] for grma in l_lieu]
-   t_enel['ICOP'] = l_icop
-   t_enel.fromfunction('DELTAL', fDL, 'ICOP', { 'pascop' : self['PAS_ENTAILLE'] })
-   
-   # 2.2. ----- Calcul de Gp fonction de Ener.Totale et de deltaL
-   t_enel.fromfunction('GP', fGp_Etot, ('TOTALE', 'ICOP'),
-         { 'pascop' : self['PAS_ENTAILLE'],
-           'syme'   : self['SYME_CHAR'] != 'SANS',
-           'R'      : self['RAYON_AXIS'] })
-   
-   # 2.3. ----- Tableau de Gp = f(icop) pour chaque instant
-   if info >= 2:
-      tGp_t_icop = t_enel['INST', 'DELTAL', 'GP']
-      tGp_t_icop.titr = "Gp à chaque instant en fonction de la distance au " \
-                        "fond d'entaille"
-      tGp_t_icop.ImprTabCroise()
-   
-   # 2.4. ----- Table Gpmax
-   ttmp = t_enel['NUME_ORDRE', 'INST', 'ICOP', 'DELTAL', 'GP']
-   l_numord = list(Set(ttmp.NUME_ORDRE.values()))
-   l_numord.sort()
-   for j in l_numord:
-      tj = ttmp.NUME_ORDRE == j
-      if self['CRIT_MAXI_GP'] == 'ABSOLU':
-         t = tj.GP.MAXI()
+
+   l_copo_tot = [grma.strip() for grma in self['GROUP_MA']]
+   nbcop_tot = len(l_copo_tot)
+   nbcop = nbcop_tot/nb_tranches
+   
+   if self['LIST_EP_COPEAUX'] is not None:
+      l_ep_copeaux_tot = self['LIST_EP_COPEAUX']
+   
+   l_t_enel = []
+   
+   if self['TRAC_COMP']=='OUI':
+      # prise en compte de la traction-compression dans le calcul de l'energie
+      resu2=CALC_ELEM(OPTION=('EQUI_ELNO_SIGM'),
+                     RESULTAT=self['RESULTAT'],
+                     )
+                     
+      # indices des mailles du dernier group_ma
+      # (pour avoir le nombre de mailles par tranche)
+      l_mailles_last_gm = maya.GROUPEMA.get()[l_copo_tot[-1].ljust(8)]
+      
+      # initialisation des concepts reutilises dans la boucle
+      # on suppose que chaque tranche a le meme nombre de mailles
+      
+      kk = 0
+      
+      E_el = [None]*len(l_mailles_last_gm)*nb_tranches
+
+      T_el = [None]*len(l_mailles_last_gm)*nb_tranches
+      
+      # on recupere les sd en dehors de la boucle
+      maya_GROUPEMA = maya.GROUPEMA.get()
+      maya_NOMMAI = maya.NOMMAI.get()
+      maya_CONNEX = maya.CONNEX.get()
+      maya_NOMNOE = maya.NOMNOE.get()
+
+   # liste des tables tb_Gpmax repartie aux noeuds
+   l_tb_Gpmax_noeuds = []
+      
+   for i in range(0,nb_tranches):
+      l_copo = l_copo_tot[i*nbcop:(i+1)*nbcop]   
+      l_charg = [charg['CHARGE'] for charg in self['EXCIT']]
+      
+      if info >= 2 and not is_2D:
+         print "<I> Calcul de la tranche %i"%(i+1)
+      
+      if self['TRAC_COMP']=='OUI':
+         
+         # l_copo est une liste commulative de mailles
+         # il faut lancer POST_ELEM sur chaque maille de chaque copeau
+         # puis regarder la trace de SIEF_ELGA sur ce copeau
+         
+         # on fera attention a ne pas lancer POST_ELEM sur une maille qui 
+         # a deja ete calculee en stockant son resultat pour la maille en question
+         d_groupma={}
+         d_nomma={}
+         
+         # indices des mailles des copeaux
+         for group_ma in l_copo:
+            d_groupma[group_ma] = maya_GROUPEMA[group_ma.ljust(8)]
+         
+         # le dernier copeau contient tous les elements
+         # on calcule l energie de chaque element de ce copeau
+         last_copo = l_copo[-1]
+         
+         d_ener = {}
+         
+         d_nomma = {}
+         
+         for k, id_elem in enumerate(d_groupma[last_copo]):
+            
+            
+            # les id des elements dans Aster commencent a 1
+            # la liste python commence a 0
+            elem = maya_NOMMAI[id_elem-1]
+            d_nomma[id_elem]=elem
+            
+            E_el[kk] = POST_ELEM(MODELE=self['MODELE'],
+                                 RESULTAT=self['RESULTAT'],
+                                 CHARGE=l_charg,
+                                 TOUT_ORDRE='OUI',
+                                 ENER_ELAS=_F(MAILLE=elem),
+                                 TITRE='Energie élastique',)
+            
+            T_el[kk] = E_el[kk].EXTR_TABLE()
+            
+            l_enel = T_el[kk].TOTALE.values()
+            
+            # signe de la trace <=> signe de la composante VMIS_SG du tenseur EQUI_ELNO_SIGM,
+            # mais E_enel est par element => on fait une moyenne sur les noeuds de l'element
+            
+            list_no = []
+            for ind_no in maya_CONNEX[id_elem] :
+               nomnoe = maya_NOMNOE[ind_no-1]
+               if nomnoe not in list_no :
+                  list_no.append(nomnoe)
+            
+            # print "liste des noeuds de la maille ", id_elem, ": ", list_no
+            
+            l_inst = T_el[kk].INST.values()
+            nb_inst = len(l_inst)
+            
+            T_noeuds = Table()
+            T_noeuds['INST']=l_inst
+               
+            # pour chaque noeud de l'element on recupere sa trace
+            for noeud in list_no:
+               
+               VM=RECU_FONCTION(RESULTAT=resu2,
+                                    TOUT_INST='OUI',
+                                    NOM_CHAM='EQUI_ELNO_SIGM',
+                                    NOM_CMP='VMIS_SG',
+                                    MAILLE=elem,
+                                    NOEUD=noeud);
+   
+               T_noeuds[noeud]=VM.Ordo()
+               
+               DETRUIRE(CONCEPT=(_F(NOM=VM)))
+               
+            T_noeuds.fromfunction('VM_MAIL', moyenne, list_no)
+            
+            l_VM_MAIL = T_noeuds.VM_MAIL.values()
+            
+            for j, vm in enumerate(l_VM_MAIL):
+               if vm < 0:
+                  l_enel[j]=-l_enel[j]
+                  
+            del T_el[kk]['TOTALE']
+            T_el[kk][elem]=l_enel
+   
+            if k==0:
+            
+               # Table de l'energie elastique sur le GROUP_MA
+               T_el_gm = Table()
+               T_el_gm['NUME_ORDRE'] = T_el[kk].NUME_ORDRE.values()
+               T_el_gm['INST'] = T_el[kk].INST.values()
+               T_el_gm['LIEU'] = [last_copo]*nb_inst
+               T_el_gm['ENTITE'] = ['GROUP_MA']*nb_inst
+               
+            T_el_gm[elem]=l_enel
+            
+            kk+=1
+         
+         # sommation sur les mailles du group_ma:
+         l_nomma = d_nomma.values()
+         T_el_gm.fromfunction('TOTALE', mysum, l_nomma)
+         
+         # Table totale
+         t_enel=Table(titr="Energie élastique")
+         t_enel['NUME_ORDRE']=T_el_gm.NUME_ORDRE.values()
+         t_enel['INST']=T_el_gm.INST.values()
+         t_enel['LIEU']=T_el_gm.LIEU.values()
+         t_enel['ENTITE']=T_el_gm.ENTITE.values()
+         t_enel['TOTALE']=T_el_gm.TOTALE.values()
+   
+         # t_enel ne contient jusqu'ici que l'energie elastique du dernier copeau
+         
+         # calcul de l'energie elastique pour les autres copeaux
+         T_el_sub = T_el_gm.copy()
+         
+         for k in range(len(l_copo)-2,-1,-1):
+            group_ma = l_copo[k]
+            T_el_sub = T_el_sub.copy()
+            del T_el_sub['LIEU']
+            del T_el_sub['TOTALE']
+            T_el_sub['LIEU']=[group_ma]*nb_inst
+            l_id_elem = d_groupma[group_ma]
+            l_nom_elem = []
+            
+            for id_elem, nom_elem in d_nomma.items():
+               if not id_elem in l_id_elem:
+                  # colonne a supprimer
+                  del T_el_sub[nom_elem]
+                  del d_nomma[id_elem]
+               else:
+                  l_nom_elem.append(nom_elem)
+            
+            T_el_sub.fromfunction('TOTALE', sum_and_check, l_nom_elem)
+            
+            # Table de l'energie elastique sur le GROUP_MA               
+            T_el_gm_k = Table()
+            T_el_gm_k['NUME_ORDRE'] =T_el_sub.NUME_ORDRE.values()
+            T_el_gm_k['INST'] = T_el_sub.INST.values()
+            T_el_gm_k['LIEU'] = [group_ma]*nb_inst
+            T_el_gm_k['ENTITE'] = ['GROUP_MA']*nb_inst
+            T_el_gm_k['TOTALE'] = T_el_sub.TOTALE.values()
+            
+            # contribution du group_ma a la table totale:
+            t_enel = merge(t_enel, T_el_gm_k)
+   
+         t_enel.sort('NUME_ORDRE')
+      
+      else:
+         # si self['TRAC_COMP']!='OUI'
+         # calcul classique de l'energie elastique
+      
+         __ener = POST_ELEM(MODELE=self['MODELE'],
+                                 RESULTAT=self['RESULTAT'],
+                                 CHARGE=l_charg,
+                                 TOUT_ORDRE='OUI',
+                                 ENER_ELAS=_F(GROUP_MA=l_copo),
+                                 TITRE='Energie élastique',)
+      
+         t_enel = __ener.EXTR_TABLE()
+   
+      # 2.1. ----- Indice de chaque copeau et deltaL
+      d_icop = dict(zip(l_copo, range(1, nbcop + 1)))
+      
+      l_lieu = [grma.strip() for grma in t_enel.LIEU.values()]
+      
+      l_icop = [d_icop[grma] for grma in l_lieu]
+      
+      t_enel['ICOP'] = l_icop
+   
+      l_numord = list(Set(t_enel.NUME_ORDRE.values()))
+      l_numord.sort()
+
+      if self['PAS_ENTAILLE'] is not None:
+         t_enel.fromfunction('DELTAL', fDL, 'ICOP', { 'pascop' : self['PAS_ENTAILLE'] })
+      else:
+         l_ep_copeaux_tranche = l_ep_copeaux_tot[i*nbcop:(i+1)*nbcop]
+         t_enel['DELTAL'] = l_ep_copeaux_tranche*len(l_numord)
+
+      # 2.2. ----- Calcul de Gp fonction de Ener.Totale et de deltaL
+      if is_2D:
+         t_enel.fromfunction('GP', fGp_Etot, ('TOTALE', 'DELTAL'),
+            {'syme'   : self['SYME_CHAR'] != 'SANS',
+             'R'      : self['RAYON_AXIS'],})
       else:
-         t = MaxRelatif(tj, 'GP')
-      if j == 1:
-         tb_Gpmax = t
+         ep_tranche = largeur_tranche(nom_maillage, l_noeuds_fissure, pas, i)
+         #print "ep_tranche %i: "%i, ep_tranche
+         t_enel.fromfunction('GP', fGp_Etot, ('TOTALE', 'DELTAL'),
+               {'syme'   : self['SYME_CHAR'] != 'SANS',
+                'R'      : ep_tranche })
+      
+      #if info >= 2:
+      #   print "Table de l'énergie élastique: ", t_enel
+      
+      l_t_enel.append(t_enel)
+      # 2.3. ----- Tableau de Gp = f(icop) pour chaque instant
+      if info >= 2:
+         tGp_t_icop = t_enel['INST', 'DELTAL', 'GP']
+         tGp_t_icop.titr = "Gp à chaque instant en fonction de la distance au " \
+                           "fond d'entaille"
+         tGp_t_icop.ImprTabCroise()
+   
+      # 2.4. ----- Table Gpmax
+      ttmp = t_enel['NUME_ORDRE', 'INST', 'ICOP', 'DELTAL', 'GP']
+
+      for j in l_numord:
+         tj = ttmp.NUME_ORDRE == j
+         
+         ## pour tester le comportement de Gpmax quand GP est identiquement nul
+         #del tj['GP']
+         #tj['GP']=[0]*len(tj.GP.values())
+         
+         if self['CRIT_MAXI_GP'] == 'ABSOLU':
+            t = tj.GP.MAXI()
+         else:
+            t = MaxRelatif(tj, 'GP')
+         
+         # cas GP identiquement nul: plusieurs max de GP
+         # on prend le DELTAL minimum
+         if len(t.GP.values())>1:
+            t = t.DELTAL.MINI()
+         
+         if j == 1:
+            tb_Gpmax_i = t
+         else:
+            tb_Gpmax_i = tb_Gpmax_i | t
+      
+      
+      tb_Gpmax_i.Renomme('GP', 'GPMAX')
+      tb_Gpmax_i.Renomme('ICOP', 'ICOPMAX')
+      tb_Gpmax_i.Renomme('DELTAL', 'DELTALMAX')
+      tb_Gpmax_i.titr = 'Gpmax à chaque instant'
+      
+      # On transfert Gpmax au noeud sommet à gauche et au milieu (si cas quadratique)
+      # sauf pour la dernière tranche où on transfère également au noeud sommet de droite.
+      # Tout cela pour pouvoir avoir une table complète avec les G et les Gpmax.
+      if not is_2D:
+         tb_Gpmax_i['NUME_TRANCHE']=[i+1]*len(tb_Gpmax_i['GPMAX'])
+         if i==0:
+            l_inst = tb_Gpmax_i.INST.values()
+            nb_inst = len(l_inst)
+         if pas==1:
+            tb_Gpmax_i_noeuds = tb_Gpmax_i.copy()
+            tb_Gpmax_i_noeuds['NOEUD']=[l_noeuds_fissure[i]]*nb_inst
+            l_tb_Gpmax_noeuds.append(tb_Gpmax_i_noeuds)
+         else:
+            tb_Gpmax_i_noeuds_1 = tb_Gpmax_i.copy()
+            tb_Gpmax_i_noeuds_1['NOEUD'] = [l_noeuds_fissure[pas*i]]*nb_inst
+            l_tb_Gpmax_noeuds.append(tb_Gpmax_i_noeuds_1)
+            tb_Gpmax_i_noeuds_2 = tb_Gpmax_i.copy()
+            tb_Gpmax_i_noeuds_2['NOEUD'] = [l_noeuds_fissure[pas*i+1]]*nb_inst
+            l_tb_Gpmax_noeuds.append(tb_Gpmax_i_noeuds_2)
+         if i==nb_tranches-1:
+            tb_Gpmax_i_noeuds_3 = tb_Gpmax_i.copy()
+            tb_Gpmax_i_noeuds_3['NOEUD'] = [l_noeuds_fissure[-1]]*nb_inst
+            l_tb_Gpmax_noeuds.append(tb_Gpmax_i_noeuds_3)
+            
+
+      
+      if i == 0:
+         tb_Gpmax = tb_Gpmax_i
       else:
-         tb_Gpmax = tb_Gpmax | t
-   tb_Gpmax.Renomme('GP', 'GPMAX')
-   tb_Gpmax.Renomme('ICOP', 'ICOPMAX')
-   tb_Gpmax.Renomme('DELTAL', 'DELTALMAX')
-   tb_Gpmax.titr = 'Gpmax à chaque instant'
-   if info >= 2:
-      print tb_Gpmax
+         tb_Gpmax = merge(tb_Gpmax, tb_Gpmax_i)
+   
+   # FIN BOUCLE SUR LES TRANCHES
+   
+   if not is_2D:
+      tb_Gpmax_noeuds = Table(para=tb_Gpmax.para+['NOEUD'])
+      for j, tb in enumerate(l_tb_Gpmax_noeuds):
+         if j==0:
+            tb_Gpmax_noeuds = tb
+         else:
+            tb_Gpmax_noeuds = merge(tb_Gpmax_noeuds, tb)
+   
    
    # 2.5. ----- extraction de la température en fond d'entaille
+   #voir le cas 3D => THETA_3D, mais qu'en est-il des tranches?
    if self['RESU_THER']:
-      grno_fond = self['THETA_2D'][0]['GROUP_NO']
+      #sur un seul noeud ou sur tous les noeuds du fond d'entaille?
+      
+      if is_2D:
+         grno_fond = self['THETA_2D'][0]['GROUP_NO']
+      else:
+         grma_fond = self['THETA_3D'][0]['GROUP_MA']
+         grno_fond = "GRNOFOND"
+         DEFI_GROUP(reuse =maya,
+                    MAILLAGE=maya,
+                    CREA_GROUP_NO=_F(GROUP_MA=grma_fond,
+                                     NOM=grno_fond,),);
+      
+      l_ordres = DEFI_LIST_ENTI(VALE=l_numord)
       __relev = POST_RELEVE_T(ACTION=_F(RESULTAT=self['RESU_THER'],
                                         OPERATION='EXTRACTION',
                                         INTITULE='Temperature',
                                         NOM_CHAM='TEMP',
-                                        TOUT_ORDRE='OUI',
+                                        LIST_ORDRE=l_ordres,
                                         NOM_CMP='TEMP',
                                         GROUP_NO=grno_fond,),)
-      t_relev = __relev.EXTR_TABLE()['NUME_ORDRE', 'TEMP']
-   
+
+      t_relev = __relev.EXTR_TABLE()['NUME_ORDRE', 'NOEUD', 'TEMP']
    
    # 3. ----- boucle sur les mots-clés facteurs
    #          opérations dépendant de la température
@@ -178,7 +521,7 @@ def post_gp_ops(self, **args):
       # 3.0. ----- Temperature fonction du temps : si on n'a pas de RESU_THER,
       #            on prend la température d'identification.
       if not self['RESU_THER']:
-         l_rows = [{'NUME_ORDRE' : i, 'TEMP' : TEMP} for i in l_numord]
+         l_rows = [{'NUME_ORDRE' : j, 'TEMP' : TEMP} for j in l_numord]
          t_relev = Table(rows=l_rows, para=('NUME_ORDRE', 'TEMP'), typ=('R', 'R'))
          flag_mat = True
       
@@ -188,44 +531,73 @@ def post_gp_ops(self, **args):
                { 'para' : 'E', 'MATER' : MATER })
          t_relev.fromfunction('NU', CallRCVALE, 'TEMP',
                { 'para' : 'NU', 'MATER' : MATER })
-         #tb_Gpmax = merge(tb_Gpmax, t_relev, 'NUME_ORDRE')
          flag_mat = False
       
       # 3.2. ----- paramètres
       dict_constantes = {
          'YOUNG' : CallRCVALE(TEMP, 'E', MATER),
          'NU'    : CallRCVALE(TEMP, 'NU', MATER),
-         'R'     : self['RAYON_AXIS'],
       }
+      if is_2D:
+         dict_constantes['R'] = self['RAYON_AXIS']
+      else:
+         dict_constantes['R'] = ep_tranche
+         
       
       # 3.3. ----- calcul de Kj(G)
       l_tabi = []
       for k, tab in enumerate(l_tab):
-         # fusion avec TEMP, E et nu.
-         tab = merge(tab, t_relev, 'NUME_ORDRE')
+         #tab: table de la couronne k
          
          # calcul de Kj(G) = K_i
          new_para = 'K_%d' % (k + 1)
-         tab.fromfunction(new_para, fKj, ('G', 'YOUNG', 'NU'),
-                          { 'R' : self['RAYON_AXIS'] })
-         
-         # renomme G en G_i
-         tab.Renomme('G', 'G_%d' % (k + 1))
+         if is_2D:
+            # fusion avec TEMP, E et nu
+            tab = merge(tab, t_relev, 'NUME_ORDRE')
+            tab.fromfunction(new_para, fKj, ('G', 'YOUNG', 'NU'),
+                           { 'R' : self['RAYON_AXIS'] })
+            # renomme G en G_i
+            tab.Renomme('G', 'G_%d' % (k + 1))
+         else:
+            if self['RESU_THER']:
+               tab=merge(tab, t_relev, ['NUME_ORDRE', 'NOEUD'])
+            else:
+               tab=mergeLineInTable(tab, t_relev, nb_noeuds_fissure)
+
+            # en 3D, le paramètre R n'intervient pas
+            tab.fromfunction(new_para, fKj, ('G_LOCAL', 'YOUNG', 'NU'))
+            tab.Renomme('G_LOCAL', 'G_%d' % (k + 1))
+
          l_tabi.append(tab)
       
       # 3.4 ----- Table des Gi, Ki sur les differentes couronnes + Kmoyen
-      tabK_G = l_tabi[0]['NUME_ORDRE']
-      for tab in l_tabi:
-         tabK_G = merge(tabK_G, tab, 'NUME_ORDRE')
+      if is_2D:
+         tabK_G = l_tabi[0]['NUME_ORDRE']
+         for tab in l_tabi:
+            tabK_G = merge(tabK_G, tab, 'NUME_ORDRE')
+      else:
+         tabK_G=l_tabi[0]
+         for i in range(1,len(l_tabi)):
+            tabK_G = merge(tabK_G, l_tabi[i], ['NUME_ORDRE', 'NOEUD'])
       tabK_G.titr = 'G et K sur les differentes couronnes + moyennes'
-      tabK_G.fromfunction('GMOY', moyenne, ['G_%d' % (k + 1) for k in range(nbcour)])
+      tabK_G.fromfunction('GMOY', moyenne_positive, ['G_%d' % (k + 1) for k in range(nbcour)])
       tabK_G.fromfunction('KMOY', moyenne, ['K_%d' % (k + 1) for k in range(nbcour)])
       
       # 3.5. ----- Contribution à la table globale
-      tabres = merge(tabK_G, tb_Gpmax, 'NUME_ORDRE')
-      tabres['OCCURRENCE'] = [iocc + 1] * len(l_numord)
-      if info >= 2:
-         print tabres
+      
+      if is_2D:
+         tabres = merge(tabK_G, tb_Gpmax, 'NUME_ORDRE')
+         tabres['OCCURRENCE'] = [iocc + 1] * len(l_numord)
+      else:
+         # tb_Gpmax est une table sur les tranches, 
+         # on l'ajoute dans la table aux noeuds tabres avec la convention:
+         # au 1er noeud et noeud milieu de la tranche on affecte la valeur de la tranche
+         # sauf pour la derniere tranche où on affecte la valeur sur les 3 noeuds de la tranche
+         tabres = tabK_G         
+         tabres = merge(tabK_G, tb_Gpmax_noeuds, ['NUME_ORDRE', 'NOEUD'])
+         tabres['OCCURRENCE'] = [iocc + 1] * len(l_numord) * nb_noeuds_fissure
+      #if info >= 2:
+      #   print tabres
       
       # 3.5.1. --- Table globale
       if iocc == 0:
@@ -242,37 +614,122 @@ def post_gp_ops(self, **args):
          'PROL_DROITE' : 'CONSTANT',
          'PROL_GAUCHE' : 'CONSTANT',
       }
-      # Gpmax fonction du temps
-      d_para.update({ 'NOM_RESU' : 'GPMAX' })
-      fGp = t_fonction(tabres.INST.values(), tabres.GPMAX.values(), d_para)
       
       # 3.6.1. --- identification
       if identification:
          KJ_CRIT = l_crit[iocc]
-         # définition des fonctions pour faire les interpolations
-         d_para.update({ 'NOM_RESU' : 'DELTALMAX' })
-         fdL = t_fonction(tabres.INST.values(), tabres.DELTALMAX.values(), d_para)
-   
-         d_para.update({ 'NOM_PARA' : 'KMOY',
-                         'NOM_RESU' : 'INST', })
-         valkmoy = tabres.KMOY.values()
-         finv = t_fonction(valkmoy, tabres.INST.values(), d_para)
-         
+         # on verifie que KJ_CRIT soit compris dans l'intervalle [KMOY_min, KMOY_max]
+         valkmoy = tabres.KMOY.values()            
          if not (min(valkmoy) <= KJ_CRIT <= max(valkmoy)):
 #                               'constant utilisé).')
             UTMESS('A','RUPTURE0_1')
-         # valeurs à mettre dans la table
-         ti   = finv(KJ_CRIT)
-         Gpi  = fGp(ti)
-         d_ident = {
-            'KJ_CRIT'   : KJ_CRIT,
-            'INST'      : ti,
-            'GPMAX'     : Gpi,
-            'KGPMAX'    : fKj(Gpi, **dict_constantes),
-            'DELTALMAX' : fdL(ti),
-         }
-         lv_ident.append(d_ident)
-      
+         if is_2D:
+            # définition des fonctions pour faire les interpolations
+            d_para.update({ 'NOM_RESU' : 'DELTALMAX' })
+            # DeltaMax en fonction du temps
+            fdL = t_fonction(tb_Gpmax.INST.values(), tb_Gpmax.DELTALMAX.values(), d_para)
+            # Gpmax fonction du temps
+            d_para.update({ 'NOM_RESU' : 'GPMAX' })
+            fGp = t_fonction(tb_Gpmax.INST.values(), tb_Gpmax.GPMAX.values(), d_para)
+            
+            d_para.update({ 'NOM_PARA' : 'KMOY',
+                           'NOM_RESU' : 'INST', })
+            valkmoy = tabres.KMOY.values()
+            # temps en fonction de Kmoy
+            finv = t_fonction(valkmoy, tabres.INST.values(), d_para)
+
+            # valeurs à mettre dans la table
+            # temps correspondant à KJ_CRIT
+            ti   = finv(KJ_CRIT)
+            # GP correspondant au temps critique
+            Gpi  = fGp(ti)
+            d_ident = {
+               'KJ_CRIT'   : KJ_CRIT,
+               'INST'      : ti,
+               'GPMAX'     : Gpi,
+               'KGPMAX'    : fKj(Gpi, **dict_constantes),
+               'DELTALMAX' : fdL(ti),
+            }
+            lv_ident.append(d_ident)
+         else:
+            
+            l_i_noeuds_sommets = range(0,len(l_noeuds_fissure),pas)
+            t_noeud_Kcrit = Table(para=tabres.para)
+            
+            # On determine quel noeud sommet maximise KMOY au cours du temps:
+            
+            row_KMOY_max = tabres.KMOY.MAXI()
+            noeud_KMOY_max = row_KMOY_max.NOEUD.values()[0]
+            
+            # avec le noeud ou KJ_CRIT est atteint, on regarde GP a gauche et a droite. 
+            # le GP le plus grand correspond au GPmax
+            # on garde la tranche ou GP est le plus grand            
+            
+            id_noeud_KMOY_max = list(l_noeuds_fissure).index(noeud_KMOY_max)
+            if id_noeud_KMOY_max==0:
+               # "Gpmax sur la 1ere tranche"
+               nume_tranche_Gpmax = 1
+            elif id_noeud_KMOY_max==(len(l_noeuds_fissure)-1):
+               # "Gpmax sur la derniere tranche"
+               nume_tranche_Gpmax = nb_tranches
+            else:
+               # "Gpmax sur une tranche intermediaire"
+               Gpi_tot = Table(para=tb_Gpmax.para)
+               Gpi_gauche = tb_Gpmax.NUME_TRANCHE==(id_noeud_KMOY_max/pas)
+               Gpi_tot.append(Gpi_gauche.rows[0])
+               Gpi_droite = tb_Gpmax.NUME_TRANCHE==(id_noeud_KMOY_max/pas+1)
+               Gpi_tot.append(Gpi_droite.rows[0])
+               Gpi_tab = Gpi_tot.GPMAX.MAXI()
+               nume_tranche_Gpmax = Gpi_tab.NUME_TRANCHE.values()[0]
+            
+            # tb_Gpmax_TrancheCrit est une table de la meme nature que la table 2D tb_Gpmax
+            # i.e. valeurs sur la seule tranche qui nous interesse (ou on sait
+            # que KJ_CRIT sera atteint)
+            
+            tb_Gpmax_TrancheCrit = tb_Gpmax.NUME_TRANCHE==nume_tranche_Gpmax
+            
+            # avec le noeud ou KJ_CRIT est atteint, on determine le temps
+            # critique par interpolation            
+            tabres_NoeudCrit = tabres.NOEUD==noeud_KMOY_max
+            
+            # la suite est idem 2D, seuls les noms des tables changent
+    
+            # définition des fonctions pour faire les interpolations
+            d_para.update({ 'NOM_RESU' : 'DELTALMAX' })
+            # DeltaMax en fonction du temps
+            fdL = t_fonction(tb_Gpmax_TrancheCrit.INST.values(),
+                              tb_Gpmax_TrancheCrit.DELTALMAX.values(),
+                              d_para)
+            
+            # Gpmax fonction du temps
+            d_para.update({ 'NOM_RESU' : 'GPMAX' })
+            fGp = t_fonction(tb_Gpmax_TrancheCrit.INST.values(),
+                              tb_Gpmax_TrancheCrit.GPMAX.values(),
+                              d_para)
+            
+    
+            d_para.update({ 'NOM_PARA' : 'KMOY',
+                           'NOM_RESU' : 'INST', })
+            valkmoy = tabres_NoeudCrit.KMOY.values()
+            # temps en fonction de Kmoy
+            finv = t_fonction(valkmoy, tabres_NoeudCrit.INST.values(), d_para)
+   
+            # valeurs à mettre dans la table
+            # temps correspondant a KJ_CRIT
+            ti   = finv(KJ_CRIT)
+            # GP correspondant au temps critique
+            Gpi  = fGp(ti)
+            # par rapport a 2D, on ajoute 'NUME_TRANCHE'
+            d_ident = {
+               'KJ_CRIT'      : KJ_CRIT,
+               'INST'         : ti,
+               'NUME_TRANCHE' : int(nume_tranche_Gpmax),
+               'GPMAX'        : Gpi,
+               'KGPMAX'       : fKj(Gpi, **dict_constantes),
+               'DELTALMAX'    : fdL(ti),
+            }
+            lv_ident.append(d_ident)
+            
       # 3.6.2. --- prédiction
       else:
          pass
@@ -280,9 +737,13 @@ def post_gp_ops(self, **args):
    # 4. ----- Construction de la table résultat si demandée
    # 4.1. --- identification
    if identification:
+      if is_2D:
+         para_tab_ident=('KJ_CRIT', 'INST', 'GPMAX', 'KGPMAX', 'DELTALMAX')
+      else:
+         para_tab_ident=('KJ_CRIT', 'INST', 'NUME_TRANCHE', 'GPMAX', 'KGPMAX', 'DELTALMAX')
       tab_ident = Table(rows=lv_ident,
-                        para=('KJ_CRIT', 'INST', 'GPMAX', 'KGPMAX', 'DELTALMAX'),
-                        typ= ('R',       'R',    'R',     'R',      'R'),
+                        para=para_tab_ident,
+                        typ = ('R')*len(para_tab_ident),
                         titr='Identification aux valeurs de tenacités critiques')
       dprod_result = tab_ident.dict_CREA_TABLE()
       if info >= 2:
@@ -295,7 +756,25 @@ def post_gp_ops(self, **args):
                       'NOM_RESU' : 'GP_CRIT', })
       fGpc = t_fonction(mccalc['TEMP'], mccalc['GP_CRIT'], d_para)
       
-      tab_pred = tabl_glob['NUME_ORDRE', 'INST', 'TEMP', 'DELTALMAX', 'GPMAX']
+      # en 3D, GPMAX et DELTALMAX ne sont pas dans tab_glob: les recuperer de tb_Gpmax
+      
+      if is_2D:
+         tab_pred = tabl_glob['NUME_ORDRE', 'INST', 'TEMP', 'DELTALMAX', 'GPMAX']
+      else:
+         tab_pred = tb_Gpmax['NUME_ORDRE', 'INST', 'NUME_TRANCHE', 'DELTALMAX', 'GPMAX']
+         # on recupere TEMP de tabl_glob
+         tab_temp_tranche=Table(para=['NUME_ORDRE', 'NUME_TRANCHE', 'TEMP'])
+         # on fait une moyenne de la temperature sur les noeuds d'une tranche
+         for ordre in l_numord:
+            tabl_glob_ORDRE_i = tabl_glob.NUME_ORDRE==ordre
+            temp_ORDRE_i = tabl_glob_ORDRE_i.TEMP.values()
+            for i_tranche in range(nb_tranches):
+               l_temp_noeuds_tranche_i = temp_ORDRE_i[i_tranche : i_tranche+pas+1]
+               temp_tranche_i = moyenne(*l_temp_noeuds_tranche_i)
+               d = {'NUME_ORDRE': ordre, 'NUME_TRANCHE': i_tranche+1, 'TEMP': temp_tranche_i}
+               tab_temp_tranche.append(d)
+         tab_pred = merge(tab_pred, tab_temp_tranche, ['NUME_ORDRE', 'NUME_TRANCHE'])
+      
       tab_pred.fromfunction('GP_CRIT', fGpc, 'TEMP')
       tab_pred.fromfunction('PREDICTION', crit, ('GP_CRIT', 'GPMAX'))
       tab_pred.titr = 'Comparaison Gpmax à Gpcrit(T)'
@@ -318,10 +797,12 @@ def CallRCVALE(TEMP, para, MATER):
    return valres
 
 # -----------------------------------------------------------------------------
-def fKj(G, YOUNG, NU, R):
+def fKj(G, YOUNG, NU, R=1):
    """Calcul de Kj à partir de G (formule d'Irwin)
+      R n'intervient pas en 3D
    """
-   return (G / R * YOUNG / (1.0 - NU**2))**0.5
+   Kj=(abs(G / R * YOUNG / (1.0 - NU**2)))**0.5
+   return Kj
 
 # -----------------------------------------------------------------------------
 def fDL(ICOP, pascop):
@@ -330,16 +811,20 @@ def fDL(ICOP, pascop):
    return ICOP * pascop
 
 # -----------------------------------------------------------------------------
-def fGp_Etot(TOTALE, ICOP, pascop, R, syme=False):
+def fGp_Etot(TOTALE, DELTAL, R, syme=False):
    """Gp(Etotale, K), deltal pris dans le context global.
-      ICOP   : numéro du copeau,
-      pascop : pas d'entaille.
-      syme   : True s'il y a symétrie.
+      ICOP      : numéro du copeau,
+      DELTAL    : liste des epaisseurs des copeaux
+      R         : rayon en axisymetrique,
+                  longueur de l'élément 1D situé sur le front d'entaille si modèle 3D.
+      syme      : True s'il y a symétrie.
    """
-   fact_axis = 1.
+   import types
+   fact_syme = 1.
    if syme:
-      fact_axis = 2.
-   return fact_axis * TOTALE / (fDL(ICOP, pascop) * R)
+      fact_syme = 2.
+   Gp_Etot = fact_syme * TOTALE / (DELTAL * R )
+   return Gp_Etot
 
 # -----------------------------------------------------------------------------
 def MaxRelatif(table, nom_para):
@@ -369,3 +854,86 @@ def moyenne(*args):
    """
    return sum(args)/len(args)
 
+def moyenne_positive(*args):
+   """Fonction moyenne
+   """
+   return sum([abs(a) for a in args])/len(args)
+
+def mysum(*args):
+   """Fonction sum.
+      La fonction sum ne peut pas etre appelee sur une liste de parametre
+      d'une table via fromfunction
+   """
+   return sum(args)
+
+def sum_and_check(*args):
+   """Fonction sum.
+      Verifie si la somme est positive.
+      Si la somme est negative, on la met egale a zero
+   """
+   somme = sum(args)
+   if somme<0:
+      somme=0
+   return somme
+
+# On recupere des infos sur le fond de fissure
+def getFondFissInfo(fondfiss):
+   # >FONFISS .FOND      .NOEU        <
+   # >FONFISS .FOND      .TYPE        < 
+   import aster
+   l_noeuds_fissure = aster.getvectjev(fondfiss.nom.ljust(8)+'.FOND      .NOEU        ')
+   type_mailles = aster.getvectjev(fondfiss.nom.ljust(8)+'.FOND      .TYPE        ')
+   if (type_mailles[0].strip() == 'SEG3' ):
+      pas = 2
+   else:
+      pas = 1
+   return l_noeuds_fissure, pas
+
+########################################################################
+# determination de la distance min entre 2 points consécutifs de la ligne de coupe
+
+def largeur_tranche(nom_maillage, l_noms_noeuds_fissure, pas, i_tranche):
+   # >MA      .COORDO    .VALE        <
+   from math import sqrt
+   import aster
+   
+   # tuple des noms des noeuds du maillage
+   t_noms_noeuds_maillage = aster.getvectjev(nom_maillage.ljust(8)+'.NOMNOE')
+   # on convertit en liste pour utiliser la methode index
+   # qui est plus optimal qu'une boucle sur les indices du tuple
+   l_noms_noeuds_maillage = list(t_noms_noeuds_maillage)
+   
+   l_numeros_noeuds_fissure = []
+   for i in range(0,len(l_noms_noeuds_fissure),pas):
+      nom = l_noms_noeuds_fissure[i]
+      index = l_noms_noeuds_maillage.index(nom)
+      l_numeros_noeuds_fissure.append(index)
+   
+   coor1=aster.getvectjev(nom_maillage.ljust(8)+'.COORDO    .VALE        ',
+                        l_numeros_noeuds_fissure[i_tranche]*3,3)
+   coor2=aster.getvectjev(nom_maillage.ljust(8)+'.COORDO    .VALE        ',
+                        l_numeros_noeuds_fissure[i_tranche+1]*3,3)
+   
+   d=sqrt( (coor1[0]-coor2[0])**2+(coor1[1]-coor2[1])**2+(coor1[2]-coor2[2])**2)
+   return d
+   
+def mergeLineInTable(multiTable, lineTable, nb_noeuds):
+   # on ajoute a la table multiTable les colonnes de lineTable
+   # pour chaque nume_ordre autant de fois qu'il y a de nb_noeuds
+   from Utilitai.Table      import Table, merge
+   
+   l_ordre = lineTable.NUME_ORDRE
+   l_para = lineTable.copy().para
+   l_para.remove('NUME_ORDRE')
+   for i, ordre in enumerate(l_ordre):
+      multiTable_i = multiTable.NUME_ORDRE==ordre
+      row_i = lineTable.rows[i]
+      for para in l_para:
+         valeur_i = row_i[para]
+         multiTable_i[para] = [valeur_i] * nb_noeuds
+      if i==0:
+         newTable=multiTable_i
+      else:
+         newTable = merge(newTable, multiTable_i)
+         
+   return newTable
index 4afce6251846388e09db521bdb364e4cfa94ff75..4222d3563ea2ce2cf6b4a4a0dd66d77b0b330751 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF post_k1_k2_k3_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETT
+#@ MODIF post_k1_k2_k3_ops Macro  DATE 13/05/2008   AUTEUR GALENNE E.GALENN
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -29,7 +29,8 @@ def veri_tab(tab,nom,ndim) :
           label='DZ'
           UTMESS('F','RUPTURE0_2',valk=[label,nom])
       if 'COOR_Z' not in tab.para :
-          UTMESS('F','RUPTURE0_4',valk=[nom])
+          label='COOR_Z'
+          UTMESS('F','RUPTURE0_2',valk=[label,nom])
 
 def cross_product(a,b):
     cross = [0]*3
@@ -70,6 +71,8 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
    from types import ListType, TupleType
    from Accas import _F
    from Utilitai.Table      import Table, merge
+   from SD.sd_l_charges import sd_l_charges
+   from SD.sd_mater     import sd_compor1
    EnumTypes = (ListType, TupleType)
 
    macro = 'POST_K1_K2_K3'
@@ -94,11 +97,11 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
 
    AFFE_MODELE      = self.get_cmd('AFFE_MODELE')
    PROJ_CHAMP      = self.get_cmd('PROJ_CHAMP')
-   
+      
 #   ------------------------------------------------------------------
 #                         CARACTERISTIQUES MATERIAUX
 #   ------------------------------------------------------------------
-   matph = aster.getvectjev( string.ljust(MATER.nom,8)+'.MATERIAU.NOMRC         ')
+   matph = MATER.NOMRC.get()  
    phenom=None
    for cmpt in matph :
        if cmpt[:4]=='ELAS' :
@@ -106,25 +109,21 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
           break
    if phenom==None : UTMESS('F','RUPTURE0_5')
 #   --- RECHERCHE SI LE MATERIAU DEPEND DE LA TEMPERATURE:
-   valk = aster.getvectjev( string.ljust(MATER.nom,8)+'.'+phenom[:10]+'.VALK')
-   valk = [x.strip() for x in valk]
-   valr = aster.getvectjev( string.ljust(MATER.nom,8)+'.'+phenom[:10]+'.VALR')
+   compor = sd_compor1('%-8s.%s' % (MATER.nom, phenom))
+   valk = [s.strip() for s in compor.VALK.get()]
+   valr = compor.VALR.get()
    dicmat=dict(zip(valk,valr))
 #   --- PROPRIETES MATERIAUX DEPENDANTES DE LA TEMPERATURE
    Tempe3D = False
-   if dicmat.has_key('TEMP_DEF') and FOND_FISS and RESULTAT : 
-# on recupere juste le nom du resultat thermique
+   if FOND_FISS and args['EVOL_THER'] : 
+# on recupere juste le nom du resultat thermique (la température est variable de commande)
       ndim   = 3
-      Lchar = aster.getvectjev(string.ljust(RESULTAT.nom,8)+'.0000.EXCIT.LCHA        ')
-      for i in range(len(Lchar)):
-         resuth = aster.getvectjev(Lchar[i][0:8]+'.CHME.TEMPE.TEMP        ')
-         if resuth !=None :
-            Tempe3D = True
-            break
-   elif dicmat.has_key('TEMP_DEF') and not Tempe3D :
-      UTMESS('A','RUPTURE0_6')
+      Tempe3D=True
+      resuth=string.ljust(args['EVOL_THER'].nom,8).rstrip()
+   if dicmat.has_key('TEMP_DEF') and not args['EVOL_THER'] :
       nompar = ('TEMP',)
       valpar = (dicmat['TEMP_DEF'],)
+      UTMESS('A','RUPTURE0_6',valr=valpar)
       nomres=['E','NU']
       valres,codret = MATER.RCVALE('ELAS',nompar,valpar,nomres,'F')
       e = valres[0]
@@ -143,7 +142,6 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
       unpnu  = 1. + nu
       if MODELISATION=='3D' :
          coefk='K1 K2 K3'
-         UTMESS('I','RUPTURE0_7',valk=coefk)
          ndim   = 3
          coefd  = coefd      / ( 8.0 * unmnu2 )
          coefd3 = e*sqrt(2*pi) / ( 8.0 * unpnu )
@@ -156,14 +154,12 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
          coefg3 = unpnu  / e
       elif MODELISATION=='D_PLAN' :
          coefk='K1 K2'
-         UTMESS('I','RUPTURE0_7',valk=coefk)
          ndim   = 2
          coefd  = coefd / ( 8. * unmnu2 )
          coefg  = unmnu2 / e
          coefg3 = unpnu  / e
       elif MODELISATION=='C_PLAN' :
          coefk='K1 K2'
-         UTMESS('I','RUPTURE0_7',valk=coefk)
          ndim   = 2
          coefd  = coefd / 8.
          coefg  = 1. / e
@@ -185,19 +181,19 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
       TYPE_MAILLAGE = args['TYPE_MAILLAGE']
       NB_NOEUD_COUPE = args['NB_NOEUD_COUPE']
       if NB_NOEUD_COUPE ==None : NB_NOEUD_COUPE = 5
-      LNOFO = aster.getvectjev(string.ljust(FOND_FISS.nom,8)+'.FOND      .NOEU        ')
+      LNOFO = FOND_FISS.FOND_______NOEU.get()
       RECOL = False
 # Cas double fond de fissure : par convention les noeuds sont ceux de fond_inf
       if LNOFO==None :
          RECOL = True
-         LNOFO = aster.getvectjev(string.ljust(FOND_FISS.nom,8)+'.FOND_INF  .NOEU        ')
+         LNOFO = FOND_FISS.FONDINF____NOEU.get()
          if LNOFO==None : UTMESS('F','RUPTURE0_11')
       LNOFO = map(string.rstrip,LNOFO)
       Nbfond = len(LNOFO)
 
       if MODELISATION=='3D' :
 #   ----------Mots cles TOUT, NOEUD, SANS_NOEUD -------------
-        Typ = aster.getvectjev(string.ljust(FOND_FISS.nom,8)+'.FOND      .TYPE        ')
+        Typ = FOND_FISS.FOND_______TYPE.get()
         if (Typ[0]=='SEG2    ') or (Typ[0]=='SEG3    ' and TOUT=='OUI') :
            pas = 1
         elif (Typ[0]=='SEG3    ') : 
@@ -208,8 +204,8 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
         NO_SANS = []
         NO_AVEC = []
         if GROUP_NO!=None :
-          collgrno=aster.getcolljev(string.ljust(MAILLAGE.nom,8)+'.GROUPENO')
-          cnom = aster.getvectjev(string.ljust(MAILLAGE.nom,8)+'.NOMNOE')
+          collgrno = MAILLAGE.GROUPENO.get()
+          cnom = MAILLAGE.NOMNOE.get()
           if type(GROUP_NO) not in EnumTypes : GROUP_NO = (GROUP_NO,)
           for m in range(len(GROUP_NO)) :
             ngrno=GROUP_NO[m].ljust(8).upper()
@@ -221,13 +217,13 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
           if type(NOEUD) not in EnumTypes : NO_AVEC = (NOEUD,)
           else : NO_AVEC = NOEUD
         if SANS_GROUP_NO!=None :
-          collgrno=aster.getcolljev(string.ljust(MAILLAGE.nom,8)+'.GROUPENO')
-          cnom = aster.getvectjev(string.ljust(MAILLAGE.nom,8)+'.NOMNOE')
+          collgrno = MAILLAGE.GROUPENO.get()
+          cnom = MAILLAGE.NOMNOE.get()
           if type(SANS_GROUP_NO) not in EnumTypes : SANS_GROUP_NO = (SANS_GROUP_NO,)
           for m in range(len(SANS_GROUP_NO)) :
             ngrno=SANS_GROUP_NO[m].ljust(8).upper()
             if ngrno not in collgrno.keys() :
-              UTMESS('F','RUPTURE0_14',valk=ngrno)
+              UTMESS('F','RUPTURE0_13',valk=ngrno)
             for i in range(len(collgrno[ngrno])) : NO_SANS.append(cnom[collgrno[ngrno][i]-1])
           NO_SANS= map(string.rstrip,NO_SANS)
         if SANS_NOEUD!=None : 
@@ -258,9 +254,9 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
         if not RESULTAT : UTMESS('F','RUPTURE0_16')
         Lnofon = Lnf1
         Nbnofo = Nbf1
-        ListmaS = aster.getvectjev(string.ljust(FOND_FISS.nom,8)+'.LEVRESUP  .MAIL        ')
+        ListmaS = FOND_FISS.LEVRESUP___MAIL.get()
         if SYME_CHAR=='SANS':
-          ListmaI = aster.getvectjev(string.ljust(FOND_FISS.nom,8)+'.LEVREINF  .MAIL        ')
+          ListmaI = FOND_FISS.LEVREINF___MAIL.get()
         __NCOFON=POST_RELEVE_T(ACTION=_F(INTITULE='Tab pour coordonnees noeuds du fond',
                                             NOEUD=LNOFO,
                                             RESULTAT=RESULTAT,
@@ -279,11 +275,11 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
         l_coorf = [(i[0],i[1:]) for i in l_coorf]
         d_coorf = dict(l_coorf) 
 # Coordonnee d un pt quelconque des levres pr determination sens de propagation
-        cmail=aster.getvectjev(string.ljust(MAILLAGE.nom,8)+'.NOMMAI')
+        cmail=MAILLAGE.NOMMAI.get()
         for i in range(len(cmail)) :
             if cmail[i] == ListmaS[0] : break
-        colcnx=aster.getcolljev(string.ljust(MAILLAGE.nom,8)+'.CONNEX')
-        cnom = aster.getvectjev(string.ljust(MAILLAGE.nom,8)+'.NOMNOE')
+        colcnx=MAILLAGE.CONNEX.get()
+        cnom = MAILLAGE.NOMNOE.get()
         NO_TMP = []
         for k in range(len(colcnx[i+1])) : NO_TMP.append(cnom[colcnx[i+1][k]-1])
         __NCOLEV=POST_RELEVE_T(ACTION=_F(INTITULE='Tab pour coordonnees pt levre',
@@ -303,7 +299,7 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
         VN = [None]*Nbfond
         absfon = [0,]
         if MODELISATION=='3D' :
-          DTANOR = aster.getvectjev(string.ljust(FOND_FISS.nom,8)+'.DTAN_ORIGINE')
+          DTANOR = FOND_FISS.DTAN_ORIGINE.get()
           Pfon2 = array([d_coorf[LNOFO[0]][0],d_coorf[LNOFO[0]][1],d_coorf[LNOFO[0]][2]])
           VLori = Pfon2 - Plev
           if DTANOR != None :
@@ -328,7 +324,7 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
           VLextr = Pfon2 - Plev
           absf = sqrt(dot(transpose(Pfon1-Pfon2),Pfon1-Pfon2)) + absfon[i-1]
           absfon.append(absf)
-          DTANEX = aster.getvectjev(string.ljust(FOND_FISS.nom,8)+'.DTAN_EXTREMITE')
+          DTANEX = FOND_FISS.DTAN_EXTREMITE.get()
           if DTANEX != None :
             VN[i] = array(DTANEX)
           else :
@@ -357,8 +353,8 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
           NB_NOEUD_COUPE = 5
         MOD = aster.getvectjev(string.ljust(RESULTAT.nom,19)+'.MODL        ')
         if MOD==None : UTMESS('F','RUPTURE0_18')
-        MOD = map(string.rstrip,MOD)
-        MODEL = self.jdc.sds_dict[MOD[0]]
+        MODEL = self.jdc.sds_dict[MOD[0].rstrip()]
+        dmax  = PREC_VIS_A_VIS * ABSC_CURV_MAXI
         for i in range(Nbf1):
           Porig = array(d_coorf[Lnf1[i]] )
           if Lnf1[i]==LNOFO[0] and DTANOR : Pextr = Porig - ABSC_CURV_MAXI*dicVN[Lnf1[i]]
@@ -367,18 +363,20 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
           TlibS[i] = MACR_LIGN_COUPE(RESULTAT=RESULTAT,
                 NOM_CHAM='DEPL',MODELE=MODEL, VIS_A_VIS=_F(MAILLE_1 = ListmaS),
                 LIGN_COUPE=_F(NB_POINTS=NB_NOEUD_COUPE,COOR_ORIG=(Porig[0],Porig[1],Porig[2],),
-                               TYPE='SEGMENT', COOR_EXTR=(Pextr[0],Pextr[1],Pextr[2]),),);
+                               TYPE='SEGMENT', COOR_EXTR=(Pextr[0],Pextr[1],Pextr[2]),
+                               DISTANCE_MAX=dmax),);
           if SYME_CHAR=='SANS':
             TlibI[i] = MACR_LIGN_COUPE(RESULTAT=RESULTAT,
                   NOM_CHAM='DEPL',MODELE=MODEL, VIS_A_VIS=_F(MAILLE_1 = ListmaI),
                 LIGN_COUPE=_F(NB_POINTS=NB_NOEUD_COUPE,COOR_ORIG=(Porig[0],Porig[1],Porig[2],),
-                               TYPE='SEGMENT',COOR_EXTR=(Pextr[0],Pextr[1],Pextr[2]),),);
+                               TYPE='SEGMENT',COOR_EXTR=(Pextr[0],Pextr[1],Pextr[2]),
+                               DISTANCE_MAX=dmax),);
 
 
 ##### Cas maillage regle###########
       else:
 #   ---------- Dictionnaires des levres  -------------  
-        NnormS = aster.getvectjev(string.ljust(FOND_FISS.nom,8)+'.SUPNORM   .NOEU        ')
+        NnormS = FOND_FISS.SUPNORM____NOEU.get()
         if NnormS==None : 
           UTMESS('F','RUPTURE0_19')
         NnormS = map(string.rstrip,NnormS)
@@ -387,7 +385,7 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
         NnormS = [(i[0],i[1][0:]) for i in NnormS]
         dicoS = dict(NnormS)
         if SYME_CHAR=='SANS':
-           NnormI = aster.getvectjev(string.ljust(FOND_FISS.nom,8)+'.INFNORM   .NOEU        ')
+           NnormI = FOND_FISS.INFNORM____NOEU.get()
            if NnormI==None : 
              UTMESS('F','RUPTURE0_20')
            NnormI = map(string.rstrip,NnormI)
@@ -511,75 +509,156 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
      MAILLAGE = args['MAILLAGE']
      DTAN_ORIG = args['DTAN_ORIG']
      DTAN_EXTR = args['DTAN_EXTR']
+     dmax  = PREC_VIS_A_VIS * ABSC_CURV_MAXI
 #Projection du resultat sur le maillage lineaire initial     
      MOD = aster.getvectjev(string.ljust(RESULTAT.nom,19)+'.MODL        ')
-     if MOD==None : UTMESS('F','RUPTURE0_31')
-     MOD = map(string.rstrip,MOD)
-     MODEL = self.jdc.sds_dict[MOD[0]]
-     __MODLINE=AFFE_MODELE(MAILLAGE=MAILLAGE,
+     if MOD==None : UTMESS('F','RUPTURE0_18')
+     MODEL = self.jdc.sds_dict[MOD[0].rstrip()]
+     xcont = MODEL.xfem.XFEM_CONT.get()
+     if xcont[0] == 0 :
+       __RESX = RESULTAT
+# Si XFEM + contact : il faut reprojeter sur le maillage lineaire
+     if xcont[0] != 0 :
+       __MODLINE=AFFE_MODELE(MAILLAGE=MAILLAGE,
                            AFFE=(_F(TOUT='OUI',
                             PHENOMENE='MECANIQUE',
                             MODELISATION=MODELISATION,),),);        
-     __RESLIN=PROJ_CHAMP(METHODE='ELEM',TYPE_CHAM='NOEU',NOM_CHAM='DEPL',
+       __RESX=PROJ_CHAMP(METHODE='ELEM',TYPE_CHAM='NOEU',NOM_CHAM='DEPL',
                      RESULTAT=RESULTAT,
                      MODELE_1=MODEL,
                      MODELE_2=__MODLINE, );   
 #Recuperation des coordonnees des points du fond de fissure (x,y,z,absc_curv)
-     Listfo = aster.getvectjev(string.ljust(FISSURE.nom,8)+'.FONDFISS               ')
+     Listfo = FISSURE.FONDFISS.get()
      Nbfond = len(Listfo)/4
-# Calcul des normales a chaque point du fond
-     v1 =  array(VECT_K1)
-     v1  = v1/sqrt(v1[0]**2+v1[1]**2+v1[2]**2)
-     v1x = aster.getvectjev(string.ljust(FISSURE.nom,8)+'.GRLNNO    .VALE        ')[0:3]
-     v1x = array(v1x)
-     verif = dot(transpose(v1),v1x) 
-     if verif < 0 : v1 = -v1
-     if abs(verif) < 0.9 :
-      UTMESS('A','RUPTURE0_32',valk=FISSURE.nom,valr=[v1x[0],v1x[1],v1x[2]])
-      v1 = v1x
+# Calcul de la direction de propagation en chaque point du fond
+     VP = [None]*Nbfond
      VN = [None]*Nbfond
      absfon = [0,]
-     i = 0
-     if MODELISATION=='3D' :
-       if DTAN_ORIG != None :
-         VN[i] = array(DTAN_ORIG)
-       else :
+     Vpropa = FISSURE.BASEFOND.get()
+# Cas fissure non necessairement plane     
+     if VECT_K1 == None :
+       i = 0
+       if MODELISATION=='3D' :
+         if DTAN_ORIG != None :
+           VP[0] = array(DTAN_ORIG)
+           VP[0] = VP[0]/sqrt(VP[0][0]**2+VP[0][1]**2+VP[0][2]**2)
+           VN[0] = array([Vpropa[0],Vpropa[1],Vpropa[2]])
+           verif = dot(transpose(VP[0]),VN[0]) 
+           if abs(verif) > 0.01:
+             UTMESS('A','RUPTURE1_33',valr=[VN[0][0],VN[0][1],VN[0][2]])
+         else :
+           VN[0] = array([Vpropa[0],Vpropa[1],Vpropa[2]])
+           VP[0] = array([Vpropa[3+0],Vpropa[3+1],Vpropa[3+2]])
+         for i in range(1,Nbfond-1):
+           Pfon1 = array([Listfo[4*(i-1)],Listfo[4*(i-1)+1],Listfo[4*(i-1)+2]])
+           Pfon2 = array([Listfo[4*i],Listfo[4*i+1],Listfo[4*i+2]])
+           absf = sqrt(dot(transpose(Pfon1-Pfon2),Pfon1-Pfon2)) + absfon[i-1]
+           absfon.append(absf)
+           VN[i] = array([Vpropa[6*i],Vpropa[6*i+1],Vpropa[6*i+2]])
+           VP[i] = array([Vpropa[3+6*i],Vpropa[3+6*i+1],Vpropa[3+6*i+2]])
+           verif = dot(transpose(VN[i]),VN[i-1]) 
+           if abs(verif) < 0.98:
+             UTMESS('A','RUPTURE1_35',vali=[i-1,i])
+         i = Nbfond-1
+         Pfon1 = array([Listfo[4*(i-1)],Listfo[4*(i-1)+1],Listfo[4*(i-1)+2]])
          Pfon2 = array([Listfo[4*i],Listfo[4*i+1],Listfo[4*i+2]])
-         Pfon3 = array([Listfo[4*(i+1)],Listfo[4*(i+1)+1],Listfo[4*(i+1)+2]])
-         VT = (Pfon3 - Pfon2)/sqrt(dot(transpose(Pfon3-Pfon2),Pfon3-Pfon2))
-         VN[0] = array(cross_product(VT,v1))
-       for i in range(1,Nbfond-1):
+         absf = sqrt(dot(transpose(Pfon1-Pfon2),Pfon1-Pfon2)) + absfon[i-1]
+         absfon.append(absf)
+         if DTAN_EXTR != None :
+           VP[i] = array(DTAN_EXTR)
+           VN[i] = array([Vpropa[6*i],Vpropa[6*i+1],Vpropa[6*i+2]])
+           verif = dot(transpose(VP[i]),VN[0]) 
+           if abs(verif) > 0.01:
+             UTMESS('A','RUPTURE1_34',valr=[VN[i][0],VN[i][1],VN[i][2]])
+         else :
+           VN[i] = array([Vpropa[6*i],Vpropa[6*i+1],Vpropa[6*i+2]])
+           VP[i] = array([Vpropa[3+6*i],Vpropa[3+6*i+1],Vpropa[3+6*i+2]])
+       else : 
+         for i in range(0,Nbfond):
+           VP[i] = array([Vpropa[2+4*i],Vpropa[3+4*i],0.])
+           VN[i] = array([Vpropa[0+4*i],Vpropa[1+4*i],0.])
+# Cas fissure plane (VECT_K1 donne)
+     if VECT_K1 != None :
+       v1 =  array(VECT_K1)
+       v1  = v1/sqrt(v1[0]**2+v1[1]**2+v1[2]**2)
+       v1 =  array(VECT_K1)
+       i = 0
+       if MODELISATION=='3D' :
+# Sens du vecteur VECT_K1       
+         v1x =array([Vpropa[0],Vpropa[1],Vpropa[2]])
+         verif = dot(transpose(v1),v1x) 
+         if verif < 0 : v1 = -v1
+         VN = [v1]*Nbfond
+         if DTAN_ORIG != None :
+           VP[i] = array(DTAN_ORIG)
+           VP[i] = VP[i]/sqrt(VP[i][0]**2+VP[i][1]**2+VP[i][2]**2)
+           verif = dot(transpose(VP[i]),VN[0]) 
+           if abs(verif) > 0.01:
+             UTMESS('A','RUPTURE1_36')
+         else :
+           Pfon2 = array([Listfo[4*i],Listfo[4*i+1],Listfo[4*i+2]])
+           Pfon3 = array([Listfo[4*(i+1)],Listfo[4*(i+1)+1],Listfo[4*(i+1)+2]])
+           VT = (Pfon3 - Pfon2)/sqrt(dot(transpose(Pfon3-Pfon2),Pfon3-Pfon2))
+           VP[0] = array(cross_product(VT,v1))
+           VNi = array([Vpropa[3],Vpropa[4],Vpropa[5]])
+           verif = dot(transpose(VP[i]),VNi) 
+           if abs(verif) < 0.99:
+             vv =[VNi[0],VNi[1],VNi[2],VN[i][0],VN[i][1],VN[i][2],]
+             UTMESS('A','RUPTURE0_32',vali=[i],valr=vv)
+         for i in range(1,Nbfond-1):
+           Pfon1 = array([Listfo[4*(i-1)],Listfo[4*(i-1)+1],Listfo[4*(i-1)+2]])
+           Pfon2 = array([Listfo[4*i],Listfo[4*i+1],Listfo[4*i+2]])
+           Pfon3 = array([Listfo[4*(i+1)],Listfo[4*(i+1)+1],Listfo[4*(i+1)+2]])
+           absf = sqrt(dot(transpose(Pfon1-Pfon2),Pfon1-Pfon2)) + absfon[i-1]
+           absfon.append(absf)
+           VT = (Pfon3 - Pfon2)/sqrt(dot(transpose(Pfon3-Pfon2),Pfon3-Pfon2))
+           VT = VT+(Pfon2 - Pfon1)/sqrt(dot(transpose(Pfon2-Pfon1),Pfon2-Pfon1))
+           VP[i] = array(cross_product(VT,v1)) 
+           VP[i] = VP[i]/sqrt(dot(transpose(VP[i]),VP[i]))
+           VNi = array([Vpropa[6*i],Vpropa[6*i+1],Vpropa[6*i+2]])
+           verif = dot(transpose(VN[i]),VNi) 
+           if abs(verif) < 0.99:
+             vv =[VNi[0],VNi[1],VNi[2],VN[i][0],VN[i][1],VN[i][2],]
+             UTMESS('A','RUPTURE0_32',vali=[i],valr=vv)
+         i = Nbfond-1
          Pfon1 = array([Listfo[4*(i-1)],Listfo[4*(i-1)+1],Listfo[4*(i-1)+2]])
          Pfon2 = array([Listfo[4*i],Listfo[4*i+1],Listfo[4*i+2]])
-         Pfon3 = array([Listfo[4*(i+1)],Listfo[4*(i+1)+1],Listfo[4*(i+1)+2]])
          absf = sqrt(dot(transpose(Pfon1-Pfon2),Pfon1-Pfon2)) + absfon[i-1]
          absfon.append(absf)
-         VT = (Pfon3 - Pfon2)/sqrt(dot(transpose(Pfon3-Pfon2),Pfon3-Pfon2))
-         VT = VT+(Pfon2 - Pfon1)/sqrt(dot(transpose(Pfon2-Pfon1),Pfon2-Pfon1))
-         VN[i] = array(cross_product(VT,v1)) 
-         VN[i] = VN[i]/sqrt(dot(transpose(VN[i]),VN[i]))
-       i = Nbfond-1
-       Pfon1 = array([Listfo[4*(i-1)],Listfo[4*(i-1)+1],Listfo[4*(i-1)+2]])
-       Pfon2 = array([Listfo[4*i],Listfo[4*i+1],Listfo[4*i+2]])
-       absf = sqrt(dot(transpose(Pfon1-Pfon2),Pfon1-Pfon2)) + absfon[i-1]
-       absfon.append(absf)
-       if DTAN_EXTR != None :
-         VN[i] = array(DTAN_EXTR)
-       else :
-         VT = (Pfon2 - Pfon1)/sqrt(dot(transpose(Pfon2-Pfon1),Pfon2-Pfon1))
-         VN[i] = array(cross_product(VT,v1))
-     else :  
+         if DTAN_EXTR != None :
+           VP[i] = array(DTAN_EXTR)
+           VP[i] = VP[i]/sqrt(VP[i][0]**2+VP[i][1]**2+VP[i][2]**2)
+           verif = dot(transpose(VP[i]),VN[i]) 
+           if abs(verif) > 0.01:
+             UTMESS('A','RUPTURE1_37')
+         else :
+           VT = (Pfon2 - Pfon1)/sqrt(dot(transpose(Pfon2-Pfon1),Pfon2-Pfon1))
+           VP[i] = array(cross_product(VT,v1))
+           VNi = array([Vpropa[6*i],Vpropa[6*i+1],Vpropa[6*i+2]])
+           verif = dot(transpose(VN[i]),VNi) 
+           if abs(verif) < 0.99 :
+             vv =[VNi[0],VNi[1],VNi[2],VN[i][0],VN[i][1],VN[i][2],]
+             UTMESS('A','RUPTURE0_32',vali=[i],valr=vv)
+       else :  
          VT = array([0.,0.,1.])
-         VN[i] = array(cross_product(v1,VT))   
+         for i in range(0,Nbfond):
+           VP[i] = array(cross_product(v1,VT))  
+           VN[i] = v1
+           VNi = array([Vpropa[0+4*i],Vpropa[1+4*i],0.])
+           verif = dot(transpose(VN[i]),VNi) 
+           if abs(verif) < 0.99 :
+             vv =[VNi[0],VNi[1],VNi[2],VN[i][0],VN[i][1],VN[i][2],]
+             UTMESS('A','RUPTURE0_32',vali=[i],valr=vv)
 #Sens de la tangente   
      if MODELISATION=='3D' : i = Nbfond/2
      else : i = 0
-     Po =  array([Listfo[4*(i-1)],Listfo[4*(i-1)+1],Listfo[4*(i-1)+2]])
-     Porig = Po + ABSC_CURV_MAXI*VN[i]
-     Pextr = Po - ABSC_CURV_MAXI*VN[i]
-     __Tabg = MACR_LIGN_COUPE(RESULTAT=__RESLIN,NOM_CHAM='DEPL',
+     Po =  array([Listfo[4*i],Listfo[4*i+1],Listfo[4*i+2]])
+     Porig = Po + ABSC_CURV_MAXI*VP[i]
+     Pextr = Po - ABSC_CURV_MAXI*VP[i]
+     __Tabg = MACR_LIGN_COUPE(RESULTAT=__RESX,NOM_CHAM='DEPL',
                    LIGN_COUPE=_F(NB_POINTS=3,COOR_ORIG=(Porig[0],Porig[1],Porig[2],),
-                                  TYPE='SEGMENT',COOR_EXTR=(Pextr[0],Pextr[1],Pextr[2]),),);
+                                  TYPE='SEGMENT',COOR_EXTR=(Pextr[0],Pextr[1],Pextr[2]),
+                                  DISTANCE_MAX=dmax),);
      tmp=__Tabg.EXTR_TABLE()
      test = getattr(tmp,'H1X').values()
      if test==[None]*3 : 
@@ -597,25 +676,38 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
        NB_NOEUD_COUPE = 5
      for i in range(Nbfond):
         Porig = array([Listfo[4*i],Listfo[4*i+1],Listfo[4*i+2]])
-        if i==0 and DTAN_ORIG!=None : Pextr = Porig - ABSC_CURV_MAXI*VN[i]
-        elif i==(Nbfond-1) and DTAN_EXTR!=None : Pextr = Porig - ABSC_CURV_MAXI*VN[i]
-        else : Pextr = Porig + ABSC_CURV_MAXI*VN[i]*sens
-        TSaut[i] = MACR_LIGN_COUPE(RESULTAT=__RESLIN,NOM_CHAM='DEPL',
+        if i==0 and DTAN_ORIG!=None : Pextr = Porig - ABSC_CURV_MAXI*VP[i]
+        elif i==(Nbfond-1) and DTAN_EXTR!=None : Pextr = Porig - ABSC_CURV_MAXI*VP[i]
+        else : Pextr = Porig + ABSC_CURV_MAXI*VP[i]*sens
+        TSaut[i] = MACR_LIGN_COUPE(RESULTAT=__RESX,NOM_CHAM='DEPL',
                          LIGN_COUPE=_F(NB_POINTS=NB_NOEUD_COUPE,COOR_ORIG=(Porig[0],Porig[1],Porig[2],),
-                                        TYPE='SEGMENT',COOR_EXTR=(Pextr[0],Pextr[1],Pextr[2]),),);
+                                        TYPE='SEGMENT',COOR_EXTR=(Pextr[0],Pextr[1],Pextr[2]),
+                                        DISTANCE_MAX=dmax),);
 
      Nbnofo = Nbfond
-     DETRUIRE(CONCEPT=_F(NOM=__MODLINE),INFO=1) 
-     DETRUIRE(CONCEPT=_F(NOM=__RESLIN),INFO=1) 
+     if xcont[0] != 0 :  
+       DETRUIRE(CONCEPT=_F(NOM=__MODLINE),INFO=1) 
+       DETRUIRE(CONCEPT=_F(NOM=__RESX),INFO=1) 
    
+     if INFO==2 :
+        mcfact=[]
+        mcfact.append(_F(PARA='PT_FOND',LISTE_I=range(Nbfond)))
+        mcfact.append(_F(PARA='VN_X'        ,LISTE_R=[VN[i][0] for i in range(Nbfond)]))
+        mcfact.append(_F(PARA='VN_Y'        ,LISTE_R=[VN[i][1] for i in range(Nbfond)]))
+        mcfact.append(_F(PARA='VN_Z'        ,LISTE_R=[VN[i][2] for i in range(Nbfond)]))
+        mcfact.append(_F(PARA='VP_X'        ,LISTE_R=[VP[i][0] for i in range(Nbfond)]))
+        mcfact.append(_F(PARA='VP_Y'        ,LISTE_R=[VP[i][1] for i in range(Nbfond)]))
+        mcfact.append(_F(PARA='VP_Z'        ,LISTE_R=[VP[i][2] for i in range(Nbfond)]))
+        __resu2=CREA_TABLE(LISTE=mcfact,TITRE='             VECTEUR NORMAL A LA FISSURE    -    DIRECTION DE PROPAGATION')
+        aster.affiche('MESSAGE',__resu2.EXTR_TABLE().__repr__())
+        DETRUIRE(CONCEPT=_F(NOM=__resu2),INFO=1)
    
    else :
-     Nbnofo = 1
+     Nbnofo = 1 
+     
 #   ----------Recuperation de la temperature au fond -------------  
    if Tempe3D :
-      resuth = map(string.rstrip,resuth)
-      Rth = self.jdc.sds_dict[resuth[0]]
+      Rth = self.jdc.sds_dict[resuth]
       __TEMP=POST_RELEVE_T(ACTION=_F(INTITULE='Temperature fond de fissure',
                                        NOEUD=Lnofon,TOUT_CMP='OUI',
                                        RESULTAT=Rth,NOM_CHAM='TEMP',TOUT_ORDRE='OUI',
@@ -688,7 +780,7 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
                Li = [string.ljust(Lnoinf[ino][i],8) for i in range(len(Lnoinf[ino]))]
                tabinf=tabinf.NOEUD==Li
          else :
-            if TABL_DEPL_INF==None : UTMESS('F','RUPTURE0_36')
+            if TABL_DEPL_INF==None : UTMESS('F','RUPTURE0_35')
             tabinf=TABL_DEPL_INF.EXTR_TABLE()
             veri_tab(tabinf,TABL_DEPL_INF.nom,ndim)
 
@@ -712,7 +804,7 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
              if type(NUME_ORDRE) not in EnumTypes : NUME_ORDRE=(NUME_ORDRE,)
              l_ord=list(NUME_ORDRE)
            elif LIST_ORDRE !=None : 
-              l_ord= aster.getvectjev(string.ljust(LIST_ORDRE.nom,19)+'.VALE'
+              l_ord = LIST_ORDRE.VALE.get(
            l_inst = []
            for ord in l_ord :
              if ord in l_ord_tab : l_inst.append(d_ord_tab[ord])
@@ -769,7 +861,9 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
           if not FOND_FISS :
             refs=copy.copy(abscs)
             refs.sort()
-            if refs!=abscs : UTMESS('F','RUPTURE0_40')
+            if refs!=abscs :
+               mctabl='TABL_DEPL_INF' 
+               UTMESS('F','RUPTURE0_40',valk=mctabl)
             if ABSC_CURV_MAXI!=None : rmax = ABSC_CURV_MAXI
             else                    : rmax = abscs[-1]
             precv = PREC_VIS_A_VIS
@@ -811,7 +905,9 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
           if not FOND_FISS :
             refi=copy.copy(absci)
             refi.sort()
-            if refi!=absci : UTMESS('F','RUPTURE0_41')
+            if refi!=absci :
+                mctabl='TABL_DEPL_SUP' 
+                UTMESS('F','RUPTURE0_40',valk=mctabl)
             refic=[x for x in refi if x<rmprec]
             nbvali=len(refic)
           else :
@@ -860,10 +956,10 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
 
 #     --- CAS FISSURE X-FEM ---
         if  FISSURE : 
-           nbval = NB_NOEUD_COUPE
            H1 = getattr(tabsupi,'H1X').values()
+           nbval = len(H1)
            if H1[-1]==None : 
-             UTMESS('F','RUPTURE0_45')
+             UTMESS('F','RUPTURE0_33')
            H1 = complete(H1)
            E1 = getattr(tabsupi,'E1X').values()
            E1 = complete(E1)
@@ -912,7 +1008,8 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
 #       3 : VECTEUR TANGENT AU FOND DE FISSURE EN M
 #
         if FISSURE :
-           v2 = VN[ino]
+           v2 = VP[ino]
+           v1 = VN[ino]
         elif SYME_CHAR=='SANS' :
            vo =  array([( coxs[-1]+coxi[-1] )/2.,( coys[-1]+coyi[-1] )/2.,( cozs[-1]+cozi[-1] )/2.])
            ve =  array([( coxs[0 ]+coxi[0 ] )/2.,( coys[0 ]+coyi[0 ] )/2.,( cozs[0 ]+cozi[0 ] )/2.])
@@ -1060,6 +1157,8 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
         if FISSURE and MODELISATION=='3D': 
           mcfact.append(_F(PARA='PT_FOND',LISTE_I=[ino+1,]*3))
           mcfact.append(_F(PARA='ABSC_CURV',LISTE_R=[absfon[ino],]*3))
+        if FISSURE  and MODELISATION!='3D' and Nbfond!=1 :
+          mcfact.append(_F(PARA='PT_FOND',LISTE_I=[ino+1,]*3))
         mcfact.append(_F(PARA='METHODE',LISTE_I=(1,2,3)))
         mcfact.append(_F(PARA='K1_MAX' ,LISTE_R=kg[0].tolist() ))
         mcfact.append(_F(PARA='K1_MIN' ,LISTE_R=kg[1].tolist() ))
index 2bbd1e68da2dc7df89568e13868759408b984bda..54b71a9716e379fa57fb11917cf813ec2656a00f 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF post_k_trans_ops Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF post_k_trans_ops Macro  DATE 22/01/2008   AUTEUR REZETTE C.REZETTE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -162,9 +162,9 @@ def post_k_trans_ops(self,RESU_TRANS,K_MODAL,TOUT_ORDRE, NUME_ORDRE, LIST_ORDRE,
       if CRITERE=='RELATIF' and ins!=0.: match=[x for x in l0_inst if abs((ins-x)/ins)<PRECISION]
       else                             : match=[x for x in l0_inst if abs(ins-x)<PRECISION]
       if len(match)==0 : 
-         UTMESS('A','RUPTURE0_52',valr=ins)
+         UTMESS('A','RUPTURE0_38',valr=ins)
       elif len(match)>=2 :
-         UTMESS('A','RUPTURE0_53',valr=ins)
+         UTMESS('A','RUPTURE0_39',valr=ins)
       else :
          l_inst.append(match[0])
          l_ord.append(d_ord[match[0]][0])
index 0284419d2bf57df318c029c241975a7809fa62cb..be7ccc2bac3bd9e536428d2cf84cc27ddf3ae30e 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algeline Messages  DATE 18/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF algeline Messages  DATE 08/04/2008   AUTEUR MEUNIER S.MEUNIER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -114,6 +114,9 @@ cata_msg={
 23: _("""
  le noeud  %(k1)s  n'est pas équidistant des noeuds  %(k2)s  et  %(k3)s  pour la maille : %(k4)s 
  Améliorez le  maillage. Le code s'arrete pour éviter des résultats faux.
+ - distance n1-n3 = %(r1)g
+ - distance n2-n3 = %(r2)g
+ - tolérance      = %(r3)g
 """),
 
 24: _("""
@@ -140,6 +143,17 @@ cata_msg={
      Les resultats du calcul seront a prendre avec circonspection.
 """),
 
+28: _("""
+ Détermination des coefficients de la deformée axiale,
+ erreur relative sur la norme des déplacements radiaux : %(r1)g
+"""),
+
+29: _("""
+ L'ordre de coque est peut-etre mal identifié.
+ La base modale est trop riche ou le nombre de noeuds du maillage sur une circonference
+ est trop faible
+"""),
+
 30: _("""
  somme des carrés des termes diagonaux nulle
  => critère indéfini
index f60021279ccc1616da58dbd09ce1d436dde579b8..4072fac3aa679af4bab134bb7f1c946a74c2a88f 100644 (file)
@@ -1,27 +1,32 @@
-#@ MODIF algeline2 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOI
+#@ MODIF algeline2 Messages  DATE 19/05/2008   AUTEUR ABBAS M.ABBA
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.
 # ======================================================================
 
 def _(x) : return x
 
 cata_msg = {
 
+1 : _("""
+ L'argument de "BLOC_DEBUT" doit être strictement positif,
+ il est pris à 1
+"""),
+
 2 : _("""
  Calcul des modes en eau au repos :
  une des valeurs propres de la matrice n'est pas réelle
@@ -49,7 +54,8 @@ cata_msg = {
 """),
 
 8 : _("""
- On ne peut pas combiner une matrice non symétrique dans une matrice symétrique
+ L'argument de "BLOC_FIN" est plus grand que le nombre de blocs de la matrice,
+ il est ramené à cette valeur
 """),
 
 9 : _("""
@@ -249,11 +255,11 @@ cata_msg = {
 """),
 
 55 : _("""
- mot cle amor_reduit impossible pour cas generalise
+ mot cle AMOR_REDUIT impossible pour cas generalise
 """),
 
 56 : _("""
- mot cle amor_reduit impossible si option differente               de proche
+ mot cle AMOR_REDUIT impossible si option differente de PROCHE
 """),
 
 57 : _("""
@@ -273,7 +279,7 @@ cata_msg = {
 """),
 
 61 : _("""
- erreur trop de reajustementd'une borne de l'intervalle de recherche.
+ erreur trop de reajustement d'une borne de l'intervalle de recherche.
 """),
 
 62 : _("""
@@ -285,7 +291,7 @@ cata_msg = {
 """),
 
 64 : _("""
- le nombre param_ortho_soren n'est pas valide.
+ le nombre PARAM_ORTHO_SOREN n'est pas valide.
 """),
 
 65 : _("""
@@ -305,7 +311,8 @@ cata_msg = {
 """),
 
 69 : _("""
- pour le probleme generalise ou quadratique complexe on utilise seulement l'algorithme de sorensen
+ pour le probleme generalise ou quadratique complexe on utilise seulement
+ METHODE='SORENSEN' ou 'QZ'
 """),
 
 70 : _("""
@@ -321,23 +328,26 @@ cata_msg = {
 """),
 
 73 : _("""
- pas de verification par sturm pour le probleme quadratique
+ !! ATTENTION !!, POUR L''INSTANT, PAS DE POST-VERIFICATION DE TYPE STURM
+ (COMPTAGE DU BON NOMBRE DES VALEURS PROPRES CALCULEES) LORSQU'ON EST
+ DANS LE PLAN COMPLEXE:
+            MODAL GENERALISE AVEC K COMPLEXE OU MODAL QUADRATIQUE.
 """),
 
 74 : _("""
-  erreur de verification
+  erreur de vérification
 """),
 
 75 : _("""
- conclusion du utmess-e precedent
+  le problème traité étant quadratique, on double l'espace de recherche
 """),
 
 76 : _("""
- 3 ou 6 valeurs pour le mot cle "direction"
+ 3 ou 6 valeurs pour le mot cle "DIRECTION"
 """),
 
 77 : _("""
- pour le mot cle facteur  "pseudo_mode", il faut donner la matrice de masse.
+ pour le mot cle facteur  "PSEUDO_MODE", il faut donner la matrice de masse.
 """),
 
 78 : _("""
@@ -391,43 +401,43 @@ cata_msg = {
 """),
 
 89 : _("""
- le mot-cle maillage est obligatoire avec le mot-cle crea_fiss.
+ le mot-cle MAILLAGE est obligatoire avec le mot-cle CREA_FISS.
 """),
 
 90 : _("""
- le mot-cle maillage est obligatoire avec le mot-cle line_quad.
+ le mot-cle MAILLAGE est obligatoire avec le mot-cle LINE_QUAD.
 """),
 
 91 : _("""
crea_maillage : l'option line_quad ne traite pas les macros mailles
CREA_MAILLAGE : l'option line_quad ne traite pas les macros mailles
 """),
 
 92 : _("""
- crea_maillage : l'option line_quad ne traite pas les absc_curv
+ CREA_MAILLAGE : l'option LINE_QUAD ne traite pas les ABSC_CURV
 """),
 
 93 : _("""
- le mot-cle maillage est obligatoire avec le mot-cle quad_line.
+ le mot-cle MAILLAGE est obligatoire avec le mot-cle QUAD_LINE.
 """),
 
 94 : _("""
crea_maillage : l'option quad_line ne traite pas les macros mailles
CREA_MAILLAGE : l'option QUAD_LINE ne traite pas les macros mailles
 """),
 
 95 : _("""
- crea_maillage : l'option quad_line ne traite pas les absc_curv
+ CREA_MAILLAGE : l'option QUAD_LINE ne traite pas les ABSC_CURV
 """),
 
 96 : _("""
- le mot-cle maillage est obligatoire avec le mot-cle modi_maille.
+ le mot-cle MAILLAGE est obligatoire avec le mot-cle MODI_MAILLE.
 """),
 
 97 : _("""
- une seule occurrence de "quad_tria3"
+ une seule occurrence de "QUAD_TRIA3"
 """),
 
 98 : _("""
- le mot-cle maillage est obligatoire avec le mot-cle coqu_volu.
+ le mot-cle MAILLAGE est obligatoire avec le mot-cle COQU_VOLU.
 """),
 
 99 : _("""
index 175f7cba6709750e5928208bb1fc035b3bcfb22f..26246ffe731044f2c74312eb444f3a49c791200b 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algeline3 Messages  DATE 11/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF algeline3 Messages  DATE 02/06/2008   AUTEUR MEUNIER S.MEUNIER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -166,16 +166,6 @@ cata_msg={
  le CHAM_NO :  %(k1)s  n'existe pas
 """),
 
-35: _("""
- la MATR_ASSE  %(k1)s  n'est pas stockée "morse"
-### idem algeline3_21
-"""),
-
-36: _("""
- conflit : une matrice stockée "morse" ne peut avoir qu'un seul bloc
-### idem algeline3_22
-"""),
-
 37: _("""
   GCPC n"est pas prevu pour une matrice complexe
 """),
@@ -237,10 +227,6 @@ cata_msg={
  le tableau B est insuffisamment dimensionné pour l'opération * 
 """),
 
-52: _("""
- augmenter la taille de la pile
-"""),
-
 53: _("""
  toutes les fréquences sont des fréquences de corps rigide
 """),
@@ -265,11 +251,6 @@ cata_msg={
  il y a des valeurs propres très proches
 """),
 
-59: _("""
- il y a des vp très proches
-### idem algeline3_58
-"""),
-
 60: _("""
  la matrice : %(k1)s a une numérotation incohérente avec le NUME_DDL.
 """),
@@ -390,7 +371,7 @@ cata_msg={
 """),
 
 85: _("""
- pour l'option  "PLUS_PETITE" les frequences de "FREQ" sont ignorées.
+ pour les options  "PLUS_PETITE" et "TOUT" les frequences de "FREQ" sont ignorées.
 """),
 
 86: _("""
@@ -406,7 +387,7 @@ cata_msg={
 """),
 
 89: _("""
- pour l'option  "PLUS_PETITE" les charges critiques de "CHAR_CRIT" sont ignorées.
+ pour l'option  "PLUS_PETITE" et "TOUT" les charges critiques de "CHAR_CRIT" sont ignorées.
 """),
 
 90: _("""
index 2d52c3cf3fd5e3bbf32aecdfede4768c4d1310ab..75f0e40b1283711c222c76623e17c427f13b0790 100644 (file)
@@ -1,33 +1,32 @@
-#@ MODIF algeline4 Messages  DATE 11/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF algeline4 Messages  DATE 02/06/2008   AUTEUR MEUNIER S.MEUNIER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2006  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.
+# COPYRIGHT (C) 1991 - 2007  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.        
 # ======================================================================
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-1: _("""
+1 : _("""
  Seules les méthodes de résolution LDLT et MULT_FRONT sont autorisées.
 """),
 
-
-3: _("""
+3 : _("""
  Erreur lors de la résolution d'un système linéaire (GCPC) :
  Non convergence  avec le nombre d'iterations autorisé :  %(i1)d
    norme du residu (absolu)  :  %(r1)f
@@ -42,251 +41,232 @@ cata_msg={
     risqué car cela peut empecher la convergence de l'algorithme non-linéaire.
 """),
 
-4: _("""
+4 : _("""
   Manque de mémoire :
      Mémoire disponible = %(i1)d
      Mémoire nécessaire = %(i2)d
 """),
 
-5: _("""
+5 : _("""
  Erreur données : noeud déjà existant :  %(k1)s
 """),
 
-7: _("""
+7 : _("""
  Erreur données : maille déjà existante :  %(k1)s
 """),
 
-9: _("""
+9 : _("""
  Erreur données GROUP_MA déjà existant :  %(k1)s
 """),
 
-11: _("""
+11 : _("""
  erreur données GROUP_NO déjà existant :  %(k1)s
 """),
 
-17: _("""
-  INIGPC %(i1)d
-"""),
-
-19: _("""
+19 : _("""
  Matrice masse non définie, il faudrait essayer l'autre algorithme de résolution.
 """),
 
-21: _("""
+21 : _("""
  manque de place memoire longueur de bloc insuffisante:  %(i1)d
  le super-noeud  %(i2)d
   neccessite un bloc de  %(i3)d
 """),
 
-23: _("""
- par nueq n'est pas l'identite.indice %(i1)d nueq  %(i2)d
-"""),
-
-24: _("""
+24 : _("""
  %(k1)s   pour le mot cle :  %(k2)s    noeud :  %(k3)s composante :  %(k4)s
 """),
 
-25: _("""
+25 : _("""
  combinaison non prevue   type resultat :  %(k1)s    type matrice  :  %(k2)s
     type constante:  %(k3)s
 """),
 
-27: _("""
+27 : _("""
  combinaison non prevue
  type résultat :  %(k1)s
  type matrice  :  %(k2)s
 """),
 
-31: _("""
+31 : _("""
  combinaison non prevue
  type résultat :  %(k1)s
 """),
 
-32: _("""
- charge critique retenue :  %(r1)f  numéro de mode stocké  %(i1)d
-"""),
-
-33: _("""
+33 : _("""
  la normalisation doit se faire en place
  il est impossible d'avoir comme concept produit  %(k1)s et %(k2)s comme concept d'entrée.
 """),
 
-34: _("""
- erreur dans les données
- la masse n'existe pas dans la table  %(k1)s
-"""),
-
-36: _("""
+36 : _("""
  l'option de normalisation  %(k1)s  n'est pas implantée. %(i1)d
 """),
 
-37: _("""
+37 : _("""
  problème(s) rencontré(s) lors de la factorisation de la matrice : %(k1)s
 """),
 
-38: _("""
+38 : _("""
  appel erroné :
  code retour de rsexch : %(i1)d
  pb CHAM_NO %(k1)s
 """),
 
-42: _("""
+42 : _("""
  pas de produit car les valeurs de la MATRICE sont  %(k1)s
  et celles du CHAM_NO sont  %(k2)s
 """),
 
-43: _("""
+43 : _("""
  la maille de nom  %(k1)s  existe déjà %(k2)s
 """),
 
-55: _("""
+55 : _("""
  pas d'extraction pour  %(k1)s
  pour le numéro d'ordre  %(i1)d
 """),
 
-56: _("""
+56 : _("""
  pas de mode extrait pour  %(k1)s
 """),
 
-57: _("""
+57 : _("""
  NUME_MODE identique pour le %(i1)d
  mode d'ordre  %(i2)d
 """),
 
-58: _("""
+58 : _("""
   problème dans le préconditionnement de la matrice MATAS par LDLT imcomplet
   pivot nul à la ligne :  %(i1)d
 """),
 
-60: _("""
+60 : _("""
   incoherence n2 NBDDL sans lagranges %(i1)d NBDDL reconstitués %(i2)d
 """),
 
-61: _("""
+61 : _("""
  pas de mode statique pour le noeud :  %(k1)s  et sa composante :  %(k2)s
 """),
 
-62: _("""
+62 : _("""
  pour les modes statiques, on attend un :  %(k1)s
  noeud :  %(k2)s
  cmp   :  %(k3)s
 """),
 
-63: _("""
+63 : _("""
  champ inexistant.
  champ    :  %(k1)s
  noeud    :  %(k2)s
  cmp      :  %(k3)s
 """),
 
-64: _("""
+64 : _("""
  détection d'un terme nul sur la sur diagonale
  valeur de BETA   %(r1)f
  valeur de ALPHA  %(r2)f
 """),
 
-65: _("""
+65 : _("""
  on a la  %(i1)d -ème fréquence du système réduit  est complexe =  %(r1)f
   et partie_imaginaire/réelle =  %(r2)f
 """),
 
-66: _("""
+66 : _("""
  la valeur propre est :   %(r1)f
 """),
 
 68: _("""
  la valeur propre est :   %(r1)f
-### idem algeline4_66
 """),
 
-74: _("""
+74 : _("""
  calcul d'erreur modale :
  une valeur propre réelle est detectee %(k1)s à partir du couple (fréquence, amortissement réduit)
  on ne peut plus la reconstruire %(k2)s
  par convention l'erreur modale est fixée à : %(r1)f
 """),
 
-75: _("""
+75 : _("""
  problème généralisé complexe
  amortissement (reduit) de décalage supérieur en valeur absolue à  %(r1)f
  on le ramène à la valeur :  %(r2)f
 """),
 
-76: _("""
+76 : _("""
  la réorthogonalisation diverge après  %(i1)d  itération(s)   %(i2)d
 """),
 
-77: _("""
+77 : _("""
  l'option de normalisation  %(k1)s  n'est pas implantée.
 """),
 
-79: _("""
+79 : _("""
  champ inexistant  %(k1)s impossible de récupérer NEQ %(k2)s
 """),
 
-80: _("""
+80 : _("""
  type de valeurs inconnu   %(k1)s
 """),
 
-81: _("""
+81 : _("""
  champ inexistant  %(k1)s
 """),
 
-82: _("""
+82 : _("""
  incohérence de certains paramètres modaux propres à ARPACK
  numéro d'erreur  %(i1)d
 """),
 
-83: _("""
+83 : _("""
  nombre de valeurs propres convergées  %(i1)d < nombre de fréquences demandées  %(i2)d
  erreur ARPACK numéro :  %(i3)d
- --> le calcul continue, la prochaine fois %(i4)d
- -->   augmenter DIM_SOUS_ESPACE =  %(i5)d
- -->   ou NMAX_ITER_SOREN =  %(i6)d
+ --> le calcul continue, la prochaine fois
+ -->   augmenter DIM_SOUS_ESPACE =  %(i4)d
+ -->   ou NMAX_ITER_SOREN =  %(i5)d
  -->   ou PREC_SOREN =  %(r1)f
-### idem algeline4_98 ?
 """),
 
-85: _("""
+85 : _("""
  appel erroné mode numéro %(i1)d position modale %(i2)d
  code retour de RSEXCH : %(i3)d
  pb CHAM_NO %(k1)s
 """),
 
-86: _("""
+86 : _("""
  la réorthogonalisation diverge après  %(i1)d  itération(s) %(i2)d
        vecteur traité :  %(i3)d
        vecteur testé  :  %(i4)d
  arret de la réorthogonalisation %(k1)s
 """),
 
-87: _("""
+87 : _("""
  pour le probleme réduit
  valeur(s) propre(s) réelle(s)                  :  %(i1)d
  valeur(s) propre(s) complexe(s) avec conjuguée :  %(i2)d
  valeur(s) propre(s) complexe(s) sans conjuguée :  %(i3)d
 """),
 
-88: _("""
+88 : _("""
  votre problème est fortement amorti.
  valeur(s) propre(s) réelle(s)                  :  %(i1)d
  valeur(s) propre(s) complexe(s) avec conjuguée :  %(i2)d
  valeur(s) propre(s) complexe(s) sans conjuguée :  %(i3)d
 """),
 
-94: _("""
+94 : _("""
  problème quadratique complexe
  amortissement (réduit) de décalage supérieur en valeur absolue à  %(r1)f
  on le ramène à la valeur :  %(r2)f
 """),
 
-95: _("""
+95 : _("""
  problème quadratique
  amortissement (réduit) de décalage supérieur en valeur absolue à  %(r1)f
  on le ramène à la valeur :  %(r2)f
 """),
 
-98: _("""
+98 : _("""
  nombre de valeurs propres convergées  %(i1)d < nombre de fréquences demandées  %(i2)d
  erreur ARPACK numéro :  %(i3)d
  --> le calcul continue, la prochaine fois
index 1b1189fc3c0729a27a4caafaec56a515d3e5ff1c..cd9b4074d372ba6289a7240e27ef61d73994d3dc 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algeline5 Messages  DATE 08/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF algeline5 Messages  DATE 26/05/2008   AUTEUR BOITEAU O.BOITEAU 
 # -*- coding: iso-8859-1 -*-
 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
@@ -299,5 +299,60 @@ cata_msg={
     Le préconditionnement d'une matrice assemblée complexe n'est pas permis.
 """),
 
+58: _("""
+    La masse du modele est nulle. On ne peut normer par rapport a la masse.
+"""),
+
+59: _("""
+ MULT_FRONT: Erreur dans la renumerotation
+   - Le Super-Noeud : %(i1)d
+   - devrait etre le fils de   %(i2)d
+
+ Risques & conseils :
+   - Vous devriez rencontrer des problèmes lors de la factorisation.
+   - Essayez un autre algorithme pour la renumérotation : 'MD', 'MDA', ...
+"""),
 
+60: _("""
+    Méthode QZ dans MODE_ITER_SIMULT: La variante QR ne fonctionne qu'avec une
+    matrice B symétrique définie positive ! Donc elle n'accepte pas le flambement,
+    les Lagranges d'AFFE_CHAR_MECA, une matrice de rigidité complexe ou les
+    problèmes modaux quadratiques.
+"""),
+61: _("""
+    Méthode QZ dans MODE_ITER_SIMULT: propriété spectrale non respectée sur la
+    valeur propre n %(i1)d !. On a pas |alpha| < ||A|| et |béta| < ||B|| 
+                     |alpha|=%(r1)f, ||A||=%(r2)f
+                     | béta|=%(r3)f, ||B||=%(r4)f
+"""),
+62: _("""
+    Méthode QZ dans MODE_ITER_SIMULT: On trouve un nombre de valeurs propres 
+    %(i1)d différent du nombre de ddls physiques actifs %(i2)d ! 
+"""),
+63: _("""
+    Méthode QZ dans MODE_ITER_SIMULT + OPTION='BANDE': On trouve un nombre de 
+    valeurs propres %(i1)d différent du nombre de valeurs propres détectées
+    dans la bande %(i2)d ! 
+"""),
+64: _("""
+    Problème modal quadratique et méthode de JACOBI sont incompatible !
+    Essayer plutôt la méthode de SORENSEN (METHODE='SORENSEN'). 
+"""),
+65: _("""
+    L'option de calcul 'TOUT' n'est licite qu'avec METHODE='QZ'! 
+"""),
+66: _("""
+    Méthode QZ dans MODE_ITER_SIMULT : On souhaite un nombre de valeurs
+    propres %(i1)d supérieur au nombre de valeurs propres détectées %(i2)d ! 
+"""),
+67: _("""
+    Attention on souhaite un nombre de valeurs propres NMAX_FREQ=%(i1)d supérieur
+    au nombre de valeurs propres détectées NCONV=%(i2)d !
+    Pour poursuivre le calcul on impose NMAX_FREQ=NCONV.
+    Sans doute est-ce du à un mauvais tri dans les valeurs propres complexes
+     conjuguées. Contacter l'équipe de développement.
+"""),
+68: _("""
+    Méthode QZ dans MODE_ITER_SIMULT: erreur LAPACK %(i1)d !
+"""),
 }
index 7ec48d98d263ec87e7ca4f03fe99ffe986e03e2b..a41b5819c25d51e2d408c321bf24346e434e6405 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith Messages  DATE 16/10/2007   AUTEUR SALMONA L.SALMONA 
+#@ MODIF algorith Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -22,7 +22,7 @@ def _(x) : return x
 
 cata_msg = {
 
-1: _("""
+1 : _("""
  La modélisation C_PLAN n'est pas compatible avec la loi de comportement ELAS_VMIS_PUIS.
 """),
 
@@ -39,83 +39,22 @@ cata_msg = {
  initialisation à PULS0(I).
 """),
 
-12 : _("""
-  -> L'option 'ACCE_ABSOLU' est incorrectement traitée en multi appuis.
-     Sauf si les mouvements sont corrélés.
-  -> Risque & Conseil :
-     Assurez-vous que les mouvements sont décorrélés et indépendants.
-
-"""),
-
 13 : _("""
  le VECT_ELEM n'existe pas :  %(k1)s
 """),
 
-14 : _("""
- champ non renseigné.
- il faut avoir utilisé CORICH('E',...) sur:  %(k1)s
-"""),
-
-15 : _("""
- impossible
-"""),
-
 16 : _("""
  les charges cinématiques sont pour l'instant proscrites avec FETI
 """),
 
-19 : _("""
- stop 3
-"""),
-
-20 : _("""
- on n'a pas pu extraire le premier champ des modes mécaniques.
-"""),
-
 21 : _("""
  le noeud  %(k1)s  n'appartient pas au maillage :  %(k2)s
 """),
 
-22 : _("""
- le groupe  %(k1)s  n'appartient pas au maillage :  %(k2)s
-"""),
-
-23 : _("""
- le noeud  %(k1)s  n'est pas un noeud support.
-"""),
-
-24 : _("""
- le nombre de cas doit etre supérieur à deux pour etre combiné
-"""),
-
 25 : _("""
  données incompatibles.
 """),
 
-26 : _("""
- le vecteur directeur du spectre est nul.
-"""),
-
-27 : _("""
- cas du MONO_APPUI : vous avez déjà donné un spectre pour cette direction.
-"""),
-
-28 : _("""
-  erreur(s) rencontrée(s) lors de la lecture des supports.
-"""),
-
-29 : _("""
-  vous avez déjà donné un spectre pour le support  %(k1)s
-"""),
-
-30 : _("""
- on ne peut pas traiter du mono-appui et du multi-appui simultanément.
-"""),
-
-31 : _("""
- le noeud  %(k1)s  ne fait pas partie du maillage :  %(k2)s
-"""),
-
 32 : _("""
   la numérotation n'est pas cohérente avec le modèle généralisé
   si vous avez activé l'option INITIAL dans NUME_DDL_GENE faites de meme ici !
@@ -182,51 +121,17 @@ cata_msg = {
   -> Risque & Conseil :
 """),
 
-49 : _("""
- pour la loi BETON_DOUBLE_DP :
- le paramètre COEF_ELAS_COMP doit etre compris entre 0. et 100.
-"""),
-
-50 : _("""
- pour la loi BETON_DOUBLE_DP :
- le parametre LONG_CARA doit etre strictement positif
-"""),
-
 51 : _("""
  BETON_DOUBLE_DP:
  le cas des contraintes planes n'est pas traité pour ce modèle.
 """),
 
-52 : _("""
- le résultat n'est pas un EVOL_NOLI
-"""),
-
-53 : _("""
- champ SIEF_ELGA non trouvé
-"""),
-
-54 : _("""
- champ EPSP_ELNO non trouvé
-"""),
-
-55 : _("""
- champ VARI_ELNO_ELGA non trouvé
-"""),
-
-56 : _("""
- aucun champ initial trouvé
-"""),
-
 57 : _("""
  le matériau dépend de la température 
  il n'y a pas de champ de température
  le calcul est impossible
 """),
 
-59 : _("""
- THLAG-GLEG pas possible
-"""),
-
 60 : _("""
  certains coefficients de masse ajoutée sont négatifs.
  verifiez l'orientation des normales des éléments d'interface.
@@ -273,7 +178,7 @@ cata_msg = {
 """),
 
 70 : _("""
NBSYS=0
Le nombre de système de glissement est égal à 0
 """),
 
 71 : _("""
@@ -304,30 +209,6 @@ cata_msg = {
  erreur contact - trop de réactualisations géométriques
 """),
 
-82 : _("""
- erreur de programmation
-"""),
-
-89 : _("""
- vecteur diagnostic absent (dvlp)
-"""),
-
-90 : _("""
- opération inconnue sur le vecteur diagnostic (dvlp)
-"""),
-
-91 : _("""
- accès incorrect au vecteur diagnostic (dvlp)
-"""),
-
-92 : _("""
- cas impossible
-"""),
-
-94 : _("""
- pas possible
-"""),
-
 96 : _("""
  ce mot cle de MODI_MAILLAGE attend un vecteur de norme non nulle.
 """),
index 155de56ab2e3970f91224467ed51d473444c8694..da5950fe6e3cd063eabcb6934070f3384d9164ac 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith10 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF algorith10 Messages  DATE 11/03/2008   AUTEUR MAHFOUZ D.MAHFOUZ 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -246,18 +246,6 @@ cata_msg = {
  élément dégénéré
 """),
 
-79 : _("""
- DDL inconnu sur le noeud ou la maille specifiée pour le suivi
-"""),
-
-80 : _("""
- option indisponible pour le suivi
-"""),
-
-81 : _("""
- trop de suivis (limité à 4)
-"""),
-
 82 : _("""
  pas de suivi attaché à la demande d'affichage
 """),
@@ -270,14 +258,6 @@ cata_msg = {
  erreur dvt dans le type d'extrema
 """),
 
-85 : _("""
- le nombre de suivi DDL est limité à 4
-"""),
-
-86 : _("""
- melange de champs de nature différente dans le meme mot-clé facteur SUIVI
-"""),
-
 87 : _("""
  vecteur de norme trop petite
 """),
@@ -287,7 +267,7 @@ cata_msg = {
 """),
 
 89 : _("""
- Z négatif
+ Z est négatif (phase métallurgique)
 """),
 
 90 : _("""
index fc70b11399a099c2d99989998acf0d2101ec05dc..4cefddcb5d4ccf9469b3deafaf7e8cdca7d6f7b5 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith11 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF algorith11 Messages  DATE 18/03/2008   AUTEUR CNGUYEN C.NGUYEN 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -95,10 +95,6 @@ cata_msg = {
  "maillage_final" est obligatoire
 """),
 
-19 : _("""
- 3 valeurs pour "TRAN"
-"""),
-
 20 : _("""
  TYPCAL invalide :  %(k1)s 
 """),
@@ -120,9 +116,8 @@ cata_msg = {
  seules les modelisations PLAN ou 3D ou AXIS sont utilisées
 """),
 
-28 : _("""
- on ne trouve pas de champ de température CHTN
-"""),
+
+
 
 29 : _("""
  le nombre d'amortissement modaux est différent du nombre de modes dynamiques
@@ -162,7 +157,7 @@ cata_msg = {
 """),
 
 73 : _("""
- taille limite D10 non définie
+ le parametre materiau taille limite d10 n'est pas defini
 """),
 
 74 : _("""
@@ -174,17 +169,13 @@ cata_msg = {
 """),
 
 76 : _("""
- F(XMIN) non négative
+ La valeur de F(XMIN) doit être négative.
 """),
 
 77 : _("""
  f=0 : augmenter ITER_INTE_MAXI
 """),
 
-78 : _("""
- polynome non résolu
-"""),
-
 79 : _("""
  pas d'interpolation possible
 """),
index 292a88adcbaaf87d1e3b5ed3533e90422155b749..292b466786825697b4d303d38cc4c5bd96bc9dc8 100644 (file)
@@ -1,28 +1,28 @@
-#@ MODIF algorith12 Messages  DATE 11/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF algorith12 Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.        
 # ======================================================================
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-2: _("""
+2 : _("""
  interface inexistante
  numéro liaison            : %(i1)d
  nom sous-structure        : %(k1)s
@@ -30,215 +30,184 @@ cata_msg={
  nom interface inexistante : %(k3)s
 """),
 
-3: _("""
+3 : _("""
  une sous-structure est sans connexion sous-structure -->  %(k1)s
 """),
 
-4: _("""
-  problème stockage
-  option de calcul :  %(k1)s
-  occurence        : %(k2)s
-  nom du champ     :  %(k3)s
-"""),
-
-5: _("""
-  problème stockage
-  option de calcul   :  %(k1)s
-  nom du champ cumul :  %(k2)s
-"""),
-
-6: _("""
- données incompatibles :
- pour la direction  %(k1)s
- nombre de blocage    :  %(i1)d
- nombre d'excitations :  %(i2)d
-"""),
-
-7: _("""
+7 : _("""
  données incompatibles :
  pour les modes mecaniques :  %(k1)s
  il manque l'option        :  %(k2)s
 """),
 
-9: _("""
-  problème stockage
-  option de calcul :  %(k1)s
-  direction        :  %(k2)s
-  nom du champ     :  %(k3)s
-"""),
-
-11: _("""
- correction statique non prise en compte pour l'option :  %(k1)s
-"""),
-
-12: _("""
+12 : _("""
  données incompatibles :
  pour les MODE_CORR :  %(k1)s
  il manque le champ :  %(k2)s
 """),
 
-13: _("""
+13 : _("""
  données incompatibles :
  pour les mode_corr :  %(k1)s
  pour le champ      :  %(k2)s
  le type n'est pas  %(k3)s
 """),
 
-14: _("""
+14 : _("""
  donnees incompatibles :
  pour les statiques :  %(k1)s
  il manque le champ :  %(k2)s
 """),
 
-15: _("""
+15 : _("""
  données incompatibles :
  pour les statiques :  %(k1)s
  pour le champ      :  %(k2)s
  le type n'est pas  %(k3)s
 """),
 
-18: _("""
+18 : _("""
  on ne sait pas bien traiter l'option de calcul demandée :  %(k1)s
 """),
 
-20: _("""
+20 : _("""
  données incompatibles :
  pour les modes mécaniques :  %(k1)s
  pour l'option             :  %(k2)s
  il manque le champ d'ordre  %(i1)d
 """),
 
-21: _("""
+21 : _("""
  données incompatibles :
  pour les mode_corr :  %(k1)s
  il manque l'option :  %(k2)s
 """),
 
-22: _("""
+22 : _("""
  données incompatibles :
  pour les modes statiques :  %(k1)s
  il manque l'option       :  %(k2)s
 """),
 
-23: _("""
+23 : _("""
  arret sur question illicite pour le type de base
  type de base -->  %(k1)s
  question     -->  %(k2)s
 """),
 
-26: _("""
+26 : _("""
  arret sur manque argument
  base modale donnée -->  %(k1)s
  interf_dyna donnée -->  %(k2)s
 """),
 
-27: _("""
+27 : _("""
  arret sur type de base incorrecte
  base modale donnée -->  %(k1)s
  type  base modale  -->  %(k2)s
  type attendu       -->  %(k3)s
 """),
 
-28: _("""
+28 : _("""
  arret sur incohérence données
  base modale donnée         -->  %(k1)s
  INTERF_DYNA correspondante -->  %(k2)s
  INTERF_DYNA donnée         -->  %(k3)s
 """),
 
-29: _("""
+29 : _("""
  problème arguments de définition interface
  nom interface donné    %(k1)s
  numero interface donné %(i1)d
 """),
 
-30: _("""
+30 : _("""
  arret sur base modale sans INTERF_DYNA
  base modale donnée -->  %(k1)s
 """),
 
-31: _("""
+31 : _("""
  arret sur manque arguments
  base modale donnée -->  %(k1)s
  INTERF_DYNA donnée -->  %(k2)s
 """),
 
-38: _("""
+38 : _("""
  arret sur problème cohérence interface
 """),
 
-39: _("""
+39 : _("""
  arret sur matrice inexistante
  matrice %(k1)s
 """),
 
-40: _("""
+40 : _("""
   arret problème de factorisation:
   présence probable de modes de corps rigide
   la methode de Mac-Neal ne fonctionne pas en présence de modes de corps rigide
 """),
 
-41: _("""
+41 : _("""
   la taille bloc  : %(i1)d est < HAUTEUR_MAX : %(i2)d
   changez la taille_bloc des profils: %(k1)s
   prenez au moins : %(i3)d
 """),
 
-42: _("""
+42 : _("""
  le mot-clé  %(k1)s est incompatible avec le champ %(k2)s
  utilisez 'GROUP_MA' ou 'MAILLE'  pour restreindre le changement de repere
  à certaines mailles. %(k3)s
 """),
 
-43: _("""
+43 : _("""
  étude 2D
  angle nautique unique :  %(r1)f
 """),
 
-44: _("""
+44 : _("""
  noeud sur l'AXE_Z noeud :  %(k1)s
 """),
 
-49: _("""
+49 : _("""
  problème: sous-structure inconnue
  sous-structure -->  %(k1)s
 """),
 
-50: _("""
+50 : _("""
  pas de sous-structure dans le squelette
 """),
 
-51: _("""
+51 : _("""
  nom de sous-structure non trouvé 
  la sous-structure :  %(k1)s n existe pas  %(k2)s
 """),
 
-53: _("""
+53 : _("""
  arret sur pivot nul
  ligne -->  %(i1)d
 """),
 
-55: _("""
+55 : _("""
  le MAILLAGE : %(k1)s ne contient pas de GROUP_MA
 """),
 
-56: _("""
+56 : _("""
  le GROUP_MA : %(k2)s n'existe pas dans le MAILLAGE : %(k1)s
 """),
 
-57: _("""
+57 : _("""
  le MAILLAGE : %(k1)s ne contient pas de GROUP_NO  
 """),
 
-58: _("""
+58 : _("""
  le GROUP_NO : %(k2)s n'existe pas dans le MAILLAGE : %(k1)s
 """),
 
-59: _("""
+59 : _("""
  nombre de noeuds communs NBNOCO =  %(i1)d
 """),
 
-62: _("""
+62 : _("""
  les deux numérotations n'ont pas meme maillage d'origine
   numérotation 1: %(k1)s
   maillage     1: %(k2)s
@@ -246,101 +215,96 @@ cata_msg={
   maillage     2: %(k4)s
 """),
 
-63: _("""
+63 : _("""
  perte d'information sur DDL physique à la conversion de numérotation
  noeud numéro    :  %(i1)d
  type DDL numéro :  %(i2)d
 """),
 
-64: _("""
+64 : _("""
  arret sur perte d'information DDL physique
 """),
 
-66: _("""
+66 : _("""
  champ inexistant
  CHAMP      :  %(k1)s
  NUME_ORDRE :  %(i1)d
  MODE_MECA  :  %(k2)s
 """),
 
-67: _("""
+67 : _("""
  arret sur problème de conditions d'interface
 """),
 
-68: _("""
+68 : _("""
  le maillage final n'est pas 3D
  maillage : %(k1)s
 """),
 
-69: _("""
+69 : _("""
  l'origine du maillage 1D n'est pas 0
 """),
 
-70: _("""
+70 : _("""
  les noeuds du maillage sont confondus
 """),
 
-71: _("""
+71 : _("""
 
  le noeud se trouve en dehors du domaine de définition avec un profil gauche de type EXCLU
  noeud :  %(k1)s
 """),
 
-72: _("""
+72 : _("""
 
  le noeud se trouve en dehors du domaine de definition avec un profil droit de type EXCLU
  noeud :  %(k1)s
 """),
 
-73: _("""
+73 : _("""
  problème pour stocker le champ dans le résultat :  %(k1)s
  pour le NUME_ORDRE :  %(i1)d
 """),
 
-74: _("""
+74 : _("""
  champ déjà existant
  il sera remplacé par le champ %(k1)s
  pour le NUME_ORDRE  %(i1)d
 """),
 
-75: _("""
-  composante inexistante sur le noeud:  %(k1)s
-  composante:  %(k2)s
-"""),
-
-76: _("""
+76 : _("""
   problème de récuperation CHAMNO
   concept résultat:  %(k1)s
   numéro d'ordre  :  %(i1)d
 """),
 
-77: _("""
+77 : _("""
  pas d'interface définie
 """),
 
-78: _("""
+78 : _("""
  arret sur interface déjà définie
  mot-clé interface numero  -->  %(i1)d
  interface                 -->  %(k1)s
 """),
 
-79: _("""
&les deux interfaces ont pas meme nombre de noeuds
+79 : _("""
les deux interfaces n'ont pas le meme nombre de noeuds
  nombre noeuds interface droite -->  %(i1)d
  nombre noeuds interface gauche -->  %(i2)d
 """),
 
-80: _("""
+80 : _("""
  les deux interfaces n'ont pas le meme nombre de degrés de liberté
  nombre ddl interface droite -->  %(i1)d
  nombre ddl interface gauche -->  %(i2)d
 """),
 
-81: _("""
+81 : _("""
  arret sur base modale ne comportant pas de modes propres
 """),
 
-82: _("""
+82 : _("""
 
  nombre de modes propres demandé supérieur au nombre de modes dynamiques de la base
  nombre de modes demandés       --> %(i1)d
@@ -348,26 +312,26 @@ cata_msg={
  nombre de fréquences douteuses --> %(i3)d
 """),
 
-83: _("""
+83 : _("""
  plusieurs champs correspondant à l'acces demandé
  resultat     : %(k1)s
  acces "INST" : %(r1)f
  nombre       : %(i1)d
 """),
 
-84: _("""
+84 : _("""
  pas de champ correspondant à un accès demandé
  résultat     :  %(k1)s
  acces "INST" :  %(r1)f
 """),
 
-89: _("""
+89 : _("""
  instant de reprise supérieur à la liste des instants
  instant de reprise :  %(r1)f
  instant max        :  %(r2)f
 """),
 
-90: _("""
+90 : _("""
  on n'a pas trouvé l'instant
  instant de reprise:  %(r1)f
  pas de temps      :  %(r2)f
@@ -375,13 +339,13 @@ cata_msg={
  borne max         :  %(r4)f
 """),
 
-91: _("""
+91 : _("""
  instant final inférieur à la liste des instants
  instant final:  %(r1)f
  instant min  :  %(r2)f
 """),
 
-92: _("""
+92 : _("""
  on n'a pas trouvé l'instant
  instant final:  %(r1)f
  pas de temps :  %(r2)f
@@ -389,22 +353,14 @@ cata_msg={
  borne max    :  %(r4)f
 """),
 
-96: _("""
- mauvaise valeur de TYPCUM:  %(i1)d
-"""),
-
-97: _("""
+97 : _("""
  données erronées
  pas d'instant de calcul pour l'instant d'archivage :  %(r1)f
 """),
 
-98: _("""
+98 : _("""
  données erronées
  plusieurs instants de calcul pour l'instant d'archivage:  %(r1)f
 """),
 
-99: _("""
- le champ %(k1)s est incompatible avec la commande  %(k2)s
-"""),
-
 }
index 3f5dfe8499198054b5c20a4a3a76febe691f91ed..15dd4c56454fc454dd6592ade290ec564b95b3c1 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith13 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF algorith13 Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -22,46 +22,12 @@ def _(x) : return x
 
 cata_msg = {
 
-1 : _("""
- l'entité  %(k1)s  n'est pas possible  %(k2)s 
-"""),
-
-2 : _("""
- erreur dans les données  d'observation
- le noeud  %(k1)s n'existe pas dans  %(k2)s 
-"""),
-
-3 : _("""
- erreur dans les données d'observation
- le GROUP_NO  %(k1)s n'existe pas dans  %(k2)s 
-"""),
-
-4 : _("""
- erreur dans les données d'observation
- la maille  %(k1)s n'existe pas dans  %(k2)s 
-"""),
-
-5 : _("""
- erreur dans les données d'observation
- le GROUP_MA  %(k1)s n'existe pas dans  %(k2)s 
-"""),
-
-6 : _("""
- erreur dans les données d'observation
- pour "NOM_CHAM"  %(k1)s , il faut renseigner  %(k2)s ou  %(k3)s 
-"""),
-
-7 : _("""
- erreur dans les données d'observation
- pour "NOM_CHAM"  %(k1)s , il faut renseigner  %(k2)s et  %(k3)s 
-"""),
-
 8 : _("""
  arret sur maillage non squelette
 """),
 
 10 : _("""
- problème de duplication de matrice :  %(k1)s 
+ problème de duplication de la matrice :  %(k1)s 
 """),
 
 11 : _("""
@@ -69,22 +35,6 @@ cata_msg = {
   présence de modes de corps rigide
 """),
 
-13 : _("""
- ICMP dans le désordre
- noeud        =  %(i1)d
- sous-domaine =  %(i2)d 
-"""),
-
-14 : _("""
- système (GI)T*GI probablement non inversible:
- %(i1)d pb LAPACK DGETRF:  %(i2)d 
-"""),
-
-15 : _("""
- système (GI)T*GI probablement non inversible:
- %(i1)d pb LAPACK DGETRS:  %(i2)d 
-"""),
-
 17 : _("""
  arret sur problème base modale sans INTERF_DYNA
  base modale -->  %(k1)s 
@@ -110,7 +60,7 @@ cata_msg = {
 """),
 
 28 : _("""
- aucun axe défini
+ aucun axe de rotation défini
 """),
 
 29 : _("""
@@ -144,10 +94,6 @@ cata_msg = {
  numéro ds votre liste : %(i1)d 
 """),
 
-36 : _("""
- appel erroné
-"""),
-
 39 : _("""
  choc mal defini
  la maille définissant le choc  %(k1)s doit etre de type  %(k2)s 
@@ -250,13 +196,6 @@ cata_msg = {
  contacter le support %(k2)s 
 """),
 
-64 : _("""
- interpolation température:
- evol_ther: %(k1)s
- instant  : %(r1)f
- icoret   : %(i1)d 
-"""),
-
 68 : _("""
  problème interpolation vitesse:
  evol_char  : %(k1)s
@@ -268,14 +207,6 @@ cata_msg = {
  le noeud: %(k1)s  ne peut pas etre TYPL et TYPB
 """),
 
-70 : _("""
- impossible de coder le nombre :  %(i1)d  sur :  %(k1)s 
-"""),
-
-71 : _("""
- choix impossible pour INITPR :  %(i1)d 
-"""),
-
 74 : _("""
  composante non définie  dans la numérotation :  %(k1)s 
 """),
@@ -316,10 +247,6 @@ cata_msg = {
  pour l'intervalle  %(i1)d 
 """),
 
-84 : _("""
- modèle amont non défini
-"""),
-
 85 : _("""
  champ inexistant
  résultat   : %(k1)s 
@@ -327,11 +254,6 @@ cata_msg = {
  nume_ordre : %(i1)d 
 """),
 
-86 : _("""
- type de matrice inconnue
- type: %(k1)s 
-"""),
-
 91 : _("""
  problème de dimension de la matrice à mutiplier
 """),
index 7ac2084c6b59c6c6d106e5ca5023040d20be6c77..abc37019c7a6b08de753136df6d0daa964e9188b 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith14 Messages  DATE 18/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF algorith14 Messages  DATE 18/03/2008   AUTEUR CNGUYEN C.NGUYEN 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-3: _("""
+3 : _("""
  type d'interface non supportée en cyclique
  type interface -->  %(k1)s 
 """),
 
-4: _("""
+4 : _("""
  arrêt sur type de résultat non supporté
  type donné      -->  %(k1)s 
  types supportés -->  %(k2)s %(k3)s
 """),
 
-8: _("""
+8 : _("""
  il manque la déformée modale pour le mode  %(i1)d 
 """),
 
-10: _("""
+10 : _("""
  la maille %(k2)s n'existe pas dans le maillage %(k1)s 
 """),
 
-11: _("""
+11 : _("""
  le noeud %(k2)s n'existe pas dans le maillage %(k1)s
 """),
 
-13: _("""
+13 : _("""
  arrêt sur base modale de type illicite
  base modale  -->  %(k1)s
  type         -->  %(k2)s 
  type attendu -->  %(k3)s 
 """),
 
-14: _("""
+14 : _("""
  arrêt sur matrice de raideur non unique
 """),
 
-15: _("""
+15 : _("""
  arrêt sur matrice de masse non unique
 """),
 
-16: _("""
+16 : _("""
  arrêt sur matrice d'amortissement non unique en argument
 """),
 
-21: _("""
+17 : _("""
+ Le type de matrice %(k1)s est inconnu. Erreur développeur
+"""),
+
+21 : _("""
  les matrices assemblées n'ont pas la même numérotation
  masse   = %(k1)s 
  raideur = %(k2)s 
 """),
 
-22: _("""
+22 : _("""
  les matrices assemblées n'ont pas la même numérotation
  amortissement = %(k1)s 
  raideur       = %(k2)s 
 """),
 
-23: _("""
+23 : _("""
  
  les matrices assemblées et la base modale n'ont pas le même maillage initial
  maillage matrice     : %(k1)s 
  maillage base modale : %(k2)s 
 """),
 
-24: _("""
+24 : _("""
  arrêt sur problème de cohérence
  MODE_MECA donné       -->  %(k1)s 
  numerotation associée -->  %(k2)s 
@@ -91,71 +95,71 @@ cata_msg={
  numérotation associée -->  %(k4)s 
 """),
 
-25: _("""
+25 : _("""
  sous-structure inexistante dans le modele généralisé
  modèle generalisé : %(k1)s 
  sous-structure    : %(k2)s 
 """),
 
-26: _("""
+26 : _("""
  problème de cohérence du nombre de champs de la base modale
  base modale                  : %(k1)s 
  nombre de champs de la base  : %(i1)d 
  nombre de degrés généralisés : %(i2)d 
 """),
 
-27: _("""
+27 : _("""
  le maillage %(k1)s n'est pas un maillage SQUELETTE 
 """),
 
-28: _("""
+28 : _("""
   aucun type d'interface défini pour la sous-structure :  %(i1)d 
   pas de mode rigide d'interface
   le calcul de masses effectives risque d'être imprécis %(i2)d 
 """),
 
-30: _("""
+30 : _("""
  incoherence détectée dans le squelette
  objet non trouvé :  %(k1)s 
 """),
 
-32: _("""
- sd resultat  resultle champ n'existe pas  %(k1)s 
+32 : _("""
+ sd resultat  %(k1)s, le champ %(k2)s n'existe pas   
  pour le nume_ordre  %(i1)d 
 """),
 
-33: _("""
- sd resultat  nomresle champ n'a pas ete duplique  %(k1)s 
+33 : _("""
+ sd resultat  %(k1)s, le champ %(k2)s n'a pas ete duplique   
  pour le nume_ordre  %(i1)d 
 """),
 
-35: _("""
+35 : _("""
  aucun champ n'est calculé dans la structure de donnees  %(k1)s 
 """),
 
-36: _("""
+36 : _("""
  les numerotations des champs ne coincident pas celui de  %(k1)s  est :  %(k2)s 
  et celui de  %(k3)s 
   est :  %(k4)s 
 """),
 
-50: _("""
+50 : _("""
  il faut au moins 1 mode !
 """),
 
-51: _("""
+51 : _("""
  il faut un mode_meca a la 1ere occurence de ritz
 """),
 
-55: _("""
+55 : _("""
  le champ de "TEMP" n'existe pas pour le numéro d'ordre  %(i1)d 
 """),
 
-59: _("""
+59 : _("""
  le champ de "META_ELNO_TEMP"  n'existe pas pour le numéro d'ordre  %(i1)d 
 """),
 
-61: _("""
+61 : _("""
  le pas de temps du calcul métallurgique ne correspond pas
  au pas de temps du calcul thermique
  - numero d'ordre              : %(i1)d 
@@ -163,32 +167,32 @@ cata_msg={
  - pas de temps métallurgique  : %(r2)f 
 """),
 
-62: _("""
+62 : _("""
  il manque la déformée modale nom_cham  %(k1)s  pour le mode  %(i1)d 
 """),
 
-63: _("""
+63 : _("""
  données incompatibles :
  pour le mode_stat  :  %(k1)s 
  il manque le champ :  %(k2)s 
 """),
 
-64: _("""
+64 : _("""
  il manque le mode statique nom_cham  %(k1)s  pour le mode  %(i1)d 
 """),
 
-66: _("""
+66 : _("""
  Taille de bloc insuffisante
  taille de bloc demandée (kr8): %(r1)f 
  taille de bloc utilisée (kr8): %(r2)f 
 """),
 
-68: _("""
+68 : _("""
   Estimation de la durée du régime transitoire :
   valeur minimale conseillée :  %(r1)f 
 """),
 
-69: _("""
+69 : _("""
  non-linearité incompatible avec la définition du modèle généralisé
  noeud_1      :  %(k1)s 
  sous_struc_1 :  %(k2)s 
@@ -196,7 +200,7 @@ cata_msg={
  sous_struc_2 :  %(k4)s 
 """),
 
-70: _("""
+70 : _("""
  problème de cohérence du nombre de noeuds d'interface
  sous-structure1            : %(k1)s 
  interface1                 : %(k2)s 
@@ -206,7 +210,7 @@ cata_msg={
  nombre de noeuds interface2: %(i2)d 
 """),
 
-71: _("""
+71 : _("""
  problème de cohérence des interfaces orientées
  sous-structure1           : %(k1)s 
  interface1                : %(k2)s 
@@ -216,7 +220,7 @@ cata_msg={
  composante inexistante sur 2 %(k6)s 
 """),
 
-72: _("""
+72 : _("""
  problème de cohérence des interfaces orientées
  sous-structure2           : %(k1)s 
  interface2                : %(k2)s 
@@ -226,7 +230,7 @@ cata_msg={
  composante inexistante sur 1 %(k6)s 
 """),
 
-73: _("""
+73 : _("""
  Sous-structures incompatibles
  sous-structure 1             : %(k1)s
  MACR_ELEM associé            : %(k2)s 
@@ -236,98 +240,93 @@ cata_msg={
  numéro grandeur sous-jacente : %(i2)d 
 """),
 
-74: _("""
+74 : _("""
  arret sur incompatibilité de sous-structures
 """),
 
-75: _("""
+75 : _("""
   Erreur développement : code retour 1 dans nmcomp en calculant la matrice tangente
  """),
 
-77: _("""
+77 : _("""
  les types des deux matrices sont différents
  type de la matrice de raideur :  %(k1)s 
  type de la matrice de masse   :  %(k2)s 
 """),
 
-78: _("""
+78 : _("""
  les numérotations des deux matrices sont différentes
  numérotation matrice de raideur :  %(k1)s 
  numérotation matrice de masse   :  %(k2)s 
 """),
 
-79: _("""
+79 : _("""
  coefficient de conditionnement des lagranges :  %(r1)f 
 """),
 
-80: _("""
+80 : _("""
  affichage des coefficients d'amortissement :
  premier coefficient d'amortissement : %(r1)f 
  second  coefficient d'amortissement : %(r2)f 
 """),
 
-82: _("""
+82 : _("""
  calcul du nombre de diamètres modaux demandé impossible
  nombre de diamètres demandé --> %(i1)d 
 """),
 
-83: _("""
+83 : _("""
  calcul des modes propres limité au nombre de diamètres maximum --> %(i1)d 
 """),
 
-84: _("""
+84 : _("""
  calcul cyclique :
  aucun nombre de diamètres nodaux licite
 """),
 
-85: _("""
+85 : _("""
  liste de fréquences incompatible avec l'option
  nombre de fréquences --> %(i1)d 
  option               --> %(k1)s 
 """),
 
-87: _("""
+87 : _("""
   résolution du problème généralisé complexe
   nombre de modes dynamiques:  %(i1)d 
   nombre de ddl droite      :  %(i2)d 
 """),
 
-88: _("""
+88 : _("""
   nombre de ddl axe         :  %(i1)d
          dont cycliques     :  %(i2)d 
          dont non cycliques :  %(i3)d 
 """),
 
-89: _("""
+89 : _("""
   dimension max du problème :  %(i1)d 
 """),
 
-90: _("""
- étude 2D avec angle nautique unique :  %(r1)f 
-"""),
-
-91: _("""
+91 : _("""
  noeud sur l'axe_z
  noeud :  %(k1)s 
 """),
 
-93: _("""
+93 : _("""
  arrêt sur dimension matrice TETA incorrecte
  dimension effective   :  %(i1)d 
  dimension en argument :  %(i2)d 
 """),
 
-97: _("""
-  il manque un DDL sur un noeud axe
-  type du DDL  -->  %(k1)s 
-  nom du noeud -->  %(k2)s 
+94: _("""
+ erreur  de repetitivite cyclique
 """),
 
-98: _("""
- arrêt sur probleme de répétitivité cyclique
+95: _("""
+ il manque un ddl sur un noeud  axe type du ddl -->  %(k1)s 
+ nom du noeud -->  %(k2)s 
 """),
 
-99: _("""
+99 : _("""
  arrêt sur nombres de noeuds interface non identiques 
  nombre de noeuds interface droite:  %(i1)d 
  nombre de noeuds interface gauche:  %(i2)d 
index 1df60f3002644a836c3e9997fc94c490ddd88bf6..6d5fd97dd75038bce9473f35408b750acfb59566 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith15 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF algorith15 Messages  DATE 08/02/2008   AUTEUR MACOCCO K.MACOCCO 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -44,9 +44,7 @@ cata_msg = {
   nom du noeud -->  %(k2)s 
 """),
 
-5 : _("""
-  erreur  de répétitivité cyclique
-"""),
+
 
 6 : _("""
   il manque un DDL sur un noeud droite
@@ -62,8 +60,8 @@ cata_msg = {
  la composante : %(k1)s  est une composante indefinie
 """),
 
-9 : _("""
-"""),
+
+
 
 10 : _("""
  arret sur type de DDL non défini
@@ -118,17 +116,11 @@ cata_msg = {
  abscisse :  %(r1)f 
 """),
 
-21 : _("""
- on n'a pas trouve le DDL pour le noeud :  %(k1)s 
-"""),
 
-22 : _("""
-    de la sous-structure :  %(k1)s 
-"""),
 
-23 : _("""
-    et sa composante :  %(k1)s 
-"""),
+
+
+
 
 24 : _("""
  au moins un terme de ALPHA est négatif à l'abscisse :  %(i1)d 
@@ -155,88 +147,26 @@ cata_msg = {
   abscisse =    %(r1)f 
 """),
 
-29 : _("""
-  problème calcul valeurs singulières
-  pas      =   %(i1)d
-  abscisse =    %(r1)f 
-"""),
 
-30 : _("""
-  matrice (PHI)T*PHI + ALPHA  n'est pas inversible
-  pas      =   %(i1)d 
-  abscisse =    %(r1)f 
-"""),
 
-31 : _("""
- au moins un terme de ALPHA est négatif à l'abscisse :  %(i1)d 
-"""),
 
-32 : _("""
- ALPHA est nul et le nombre de mesures est strictement inférieur au nombre de modes
- risque de matrice singulière
-"""),
 
-33 : _("""
- calcul moindre norme 
-"""),
 
-34 : _("""
- problème calcul valeurs singulières
- pas      =   %(i1)d
- abscisse =    %(r1)f 
-"""),
 
-35 : _("""
-  matrice (PHI)T*PHI + ALPHA n est pas inversible
-  pas      =   %(i1)d 
-  abscisse =    %(r1)f 
-"""),
 
-36 : _("""
- problème calcul valeurs singulières
-  pas =   %(i1)d
-  abscisse =    %(r1)f 
-"""),
 
-37 : _("""
-  matrice (PHI)T*PHI + ALPHA  n'est pas inversible
-  pas =   %(i1)d 
-  abscisse =    %(r1)f 
-"""),
 
-38 : _("""
- au moins un terme de ALPHA est négatif à l'abscisse :  %(i1)d 
-"""),
 
-39 : _("""
- ALPHA est nul et le nombre de mesures est strictement inférieur au nombre de modes
- risque de matrice singuliere
-"""),
 
-40 : _("""
- calcul moindre norme 
-"""),
 
-41 : _("""
- problème calcul valeurs singulières
- pas =   %(i1)d
- abscisse =    %(r1)f 
-"""),
 
-42 : _("""
-  matrice (phi)t*phi + alpha n est pas inversible  pas =   %(i1)d 
-  abscisse =    %(r1)f 
-"""),
 
-43 : _("""
-  pb calcul valeurs singulieres pas =   %(i1)d  abscisse =    %(r1)f 
-"""),
 
-44 : _("""
-  la matrice (PHI)T*PHI + ALPHA  n'est pas inversible
-  pas      =   %(i1)d 
-  abscisse =    %(r1)f 
-"""),
+
+
+
+
+
 
 45 : _("""
   on ne trouve pas DPMAX 
@@ -281,8 +211,8 @@ cata_msg = {
   F(DP)  =  %(r2)f 
 """),
 
-54 : _("""
-"""),
+
+
 
 55 : _("""
   incohérence détectée 
@@ -293,17 +223,17 @@ cata_msg = {
   n'appartient pas la sous-structure:  %(k3)s 
 """),
 
-57 : _("""
-  incohérence detectée 
-"""),
+
+
+
 
 58 : _("""
   le noeud :  %(k1)s  de l interface dynamique :  %(k2)s 
   n'est pas correctement référencé dans le squelette :  %(k3)s 
 """),
 
-59 : _("""
-  incohérence détectée 
+59: _("""
+  Le nombre de secteur doit etre supérieur ou égal à 2 (mot clé NB_SECTEUR)
 """),
 
 60 : _("""
@@ -311,9 +241,8 @@ cata_msg = {
   n'appartient pas la sous-structure:  %(k3)s 
 """),
 
-61 : _("""
-  incohérence détectée 
-"""),
+
+
 
 62 : _("""
   le noeud :  %(k1)s  de l'interface dynamique :  %(k2)s 
index e7a7a8bce2214233e8a0930717936015b04b0228..ace805a537be4541c1accdb77af8fb8d3b96d336 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith16 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETT
+#@ MODIF algorith16 Messages  DATE 02/06/2008   AUTEUR BOYERE E.BOYER
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -49,16 +49,6 @@ cata_msg = {
  noeud de choc  : %(k1)s
 """),
 
-6 : _("""
- sous-structure : %(k1)s
-"""),
-
-7 : _("""
- coordonnees    : x : %(r1)f
-                  y : %(r2)f
-                  z : %(r3)f
-"""),
-
 8 : _("""
  amortissement tangent utilise :  %(r1)f
 
@@ -79,9 +69,6 @@ cata_msg = {
  jeu initial :  %(r1)f
 """),
 
-10 : _("""
-"""),
-
 11 : _("""
  le nb max d'iterations  %(i1)d  est atteint sans converger
  le résidu relatif final est  : %(r1)f
@@ -150,7 +137,7 @@ cata_msg = {
 """),
 
 20 : _("""
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!mode dynamique           :  %(i1)d
+ mode dynamique           :  %(i1)d
  amortissement trop grand :  %(r1)f
  amortissement critique   :  %(r2)f
  problemes de convergence possibles %(k1)s
@@ -194,66 +181,6 @@ cata_msg = {
  le nb de pas d'archive est     :  %(i2)d
 """),
 
-27 : _("""
-"""),
-
-28 : _("""
- trop d'amortissements modaux
- nombre d'amortissement :  %(i1)d
- nombre de mode         :  %(i2)d
-
-"""),
-
-29 : _("""
- trop d'amortissements modaux
- nombre d'amortissement :  %(i1)d
- nombre de mode         :  %(i2)d
-
-"""),
-
-30 : _("""
- amortissement non diagonal
- on ne sait pas traiter  %(i1)d
-"""),
-
-31 : _("""
- il manque des amortissements modaux
- nombre d'amortissements :  %(i1)d
- nombre de modes         :  %(i2)d
-
-"""),
-
-32 : _("""
- on ne peut pas demander de réponse secondaire sans la réponse primaire
-"""),
-
-33 : _("""
- analyse spectrale :
- la base modale utilisee est :  %(k1)s
- le nombre de vecteurs de base est :  %(i1)d
- regle de combinaison modale :  %(k2)s
- les options de calcul demandees sont :  %(k3)s
-"""),
-
-34 : _("""
-   %(k1)s
-"""),
-
-35 : _("""
- règle de combinaison des contributions
- de chaque mouvement d'appui :  %(k1)s
-"""),
-
-36 : _("""
- erreur dans les données
- la masse n'existe pas dans la table  %(k1)s
-"""),
-
-37 : _("""
- erreur dans les données
- la masse n"existe pas dans la table  %(k1)s
-"""),
-
 38 : _("""
  mode dynamique           :  %(i1)d
  amortissement trop grand :  %(r1)f
@@ -285,9 +212,6 @@ cata_msg = {
  ! le nb de pas d'archive est     :  %(i1)d
 """),
 
-43 : _("""
-"""),
-
 44 : _("""
  les interfaces de la liaison n'ont pas la meme longueur
   sous-structure 1 -->  %(k1)s
@@ -330,15 +254,6 @@ cata_msg = {
 
 """),
 
-49 : _("""
- les noeuds des interfaces ne sont pas alignes en vis-a-vis
-  sous-structure 1 -->  %(k1)s
-  interface 1      -->  %(k2)s
-  sous-structure 2 -->  %(k3)s
-  interface 2      -->  %(k4)s
- les noeuds ont ete reordonnes %(k5)s
-
-"""),
 
 50 : _("""
  les deux interfaces ont pas meme nombre de noeuds
@@ -409,30 +324,6 @@ cata_msg = {
   - Changer la taille d'incrément.
 """),
 
-61 : _("""
- VISCOCHABOCHE : erreur
-  - Non convergence à l'itération maxi : %(i1)d
-  - Convergence régulière mais trop lente,
-  - Erreur > %(r1)f
-  - Diminuer la taille d'incrément
-
-"""),
-
-62 : _("""
- VISCOCHABOCHE: ERREUR)
-  - Non convergence à l'itération maxi : %(i1)d
-  - Convergence régulière
-  - Erreur > %(r1)f
-  - Diminuer la taille d'incrément
-"""),
-
-63 : _("""
- VISCOCHABOCHE: ERREUR)
-  - Non convergence à l'itération maxi : %(i1)d
-  - Erreur > %(r1)f
-  - Diminuer la taille d'incrément
-"""),
-
 64 : _("""
     NADAI_B, erreur d'intégration
      - Essai d'intégration numéro : %(i1)d
@@ -568,14 +459,6 @@ cata_msg = {
  Le nombre de RELA_EFFO_VITE est : %(i1)d
   """),
 
-85 : _("""
- Nature de l'excitation : %(k1)s
-  """),
-
-86 : _("""
- Règles de combinaison des réponses directionnelles : %(k1)s
-  """),
-
 87 : _("""
    Arret par manque de temps CPU
      - Instant courant :              %(r1)f
@@ -614,4 +497,25 @@ cata_msg = {
   Van_Genuchten non autorisé pour ce modèle de couplage
  """),
 
+96 : _("""
+ le solveur linéaire MUMPS en mode parallèle distribué 'DISTSD' requiert un concept
+ produit de type SD_FETI en entrée du mot-clé PARTITION. Voir les commandes
+  DEFI_PART_FETI et DEFI_PART_OPS.
+ """),
+
+97 : _("""
+ Attention, vous utilisez le solveur linéaire MUMPS en mode parallèle distribué,
+ mais vous n'avez alloué qu'un processeur MPI. Vous aurez bien les résultats
+ attendus mais sans doute pas les performances. Il s'agit sans doute d'un run
+ de test !
+ """),
+
+99 : _("""
+ Valeur du parametre SOLVEUR/DIST_PROC0 incorrecte, routine CRESOL.
+ Si le solveur est MUMPS distribue DISTSD, cette valeur doit laisser au moins
+ un SD par processeur restant (hors proc 0) !
+ Si le solveur est MUMPS distribue DISTMC, cette valeur doit laisser au moins
+ une maille physique du modele par processeur restant (hors proc 0)!
+"""),
+
 }
index 0091afa293c10bc016726c8c5e49978d7fae1388..181f173df657e73e09a5cdec128f9b75d1900e69 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith2 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF algorith2 Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -72,10 +72,6 @@ cata_msg = {
      s'arrete en erreur fatale.
 """),
 
-14 : _("""
- charge non traitée:  %(k1)s
-"""),
-
 15 : _("""
  les modélisations autorisées sont 3D et D_PLAN et AXIS
 """),
@@ -85,25 +81,17 @@ cata_msg = {
 """),
 
 17 : _("""
non convergence : essai normales
la loi CJS ne converge pas
 """),
 
 18 : _("""
- non convergence : nombre d'itérations maximum atteint
-"""),
-
-19 : _("""
- les modélisations autorisées sont 3D et D_PLAN et AXIS
+ la loi CJS ne converge pas avec le nombre maximal d'itérations (intégration locale)
 """),
 
 20 : _("""
  modélisation inconnue
 """),
 
-21 : _("""
-  NVI > NVIMAX
-"""),
-
 22 : _("""
  vecteur de norme nulle
 """),
@@ -119,10 +107,6 @@ cata_msg = {
  or la maille est de type :  %(k1)s .
 """),
 
-25 : _("""
- mauvaise face
-"""),
-
 26 : _("""
   %(k1)s  groupe inexistant
 """),
@@ -219,18 +203,6 @@ cata_msg = {
  CMP non traitée
 """),
 
-51 : _("""
- il y a plusieurs charges contenant des liaisons unilatérales
-"""),
-
-52 : _("""
- débordement tableau (dvlp)
-"""),
-
-53 : _("""
- erreur code dans affichage (dvlp)
-"""),
-
 54 : _("""
   increment de déformation cumulée (dp) = - %(k1)s
 """),
@@ -303,63 +275,4 @@ cata_msg = {
  pas de valeurs propres trouvées
 """),
 
-86 : _("""
- il n'y a aucun instant de calcul ('LIST_INST')
-"""),
-
-87 : _("""
- liste d'instants non croissante
-"""),
-
-88 : _("""
- accès par instant sans évolution ordonnée interdit (INCREMENT)
-"""),
-
-89 : _("""
- instant initial introuvable dans la liste d'instants (LIST_INST)
-"""),
-
-90 : _("""
- instant final introuvable dans la liste d'instants (LIST_INST)
-"""),
-
-91 : _("""
- NUME_INST_INIT plus petit que NUME_FIN avec EVOLUTION: 'RETROGRADE'
-"""),
-
-92 : _("""
- NUME_INIT plus grand que NUME_FIN
-"""),
-
-94 : _("""
-  -> Le numéro d'ordre correspondant à l'instant final de calcul NUME_INST_FIN
-     n'appartient pas à la liste des numéros d'ordre.
-     Dans ce cas, Aster considère pour numéro d'ordre final, le dernier de
-     la liste fournie.
-  -> Risque & Conseil :
-     Afin d'éviter des pertes de résultats, assurez-vous que le numéro d'ordre
-     associé à l'instant NUME_INST_FIN appartienne bien à la liste des numéros
-     d'ordre.
-"""),
-
-95 : _("""
- accès par instant sans évolution ordonnée interdit (ARCHIVAGE)
-"""),
-
-96 : _("""
- impossible d'archiver l'état initial : le concept est réentrant (ARCHIVAGE)
-"""),
-
-97 : _("""
- l'archivage va écraser des instants déjà calculés (ARCHIVAGE)
-"""),
-
-98 : _("""
- l'archivage va laisser des trous dans la sd EVOL_NOLI (ARCHIVAGE, NUME_INIT)
-"""),
-
-99 : _("""
- le nombre de niveau de subdivisions doit etre plus grand que 1 (SUBD_NIVEAU)
-"""),
-
 }
index d42ac2f98669a67559c08a3f02e1ecef63535eec..c4e325b6d66023af699b94219c86171e392465ca 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith3 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF algorith3 Messages  DATE 21/04/2008   AUTEUR GREFFET N.GREFFET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -22,35 +22,11 @@ def _(x) : return x
 
 cata_msg = {
 
-1 : _("""
- certains pas de temps de la liste (LISTE_INST) sont plus petits
- que le pas de temps minimal renseigné (SUBD_PAS_MINI)
-"""),
-
-2 : _("""
- il faut donner SUBD_NIVEAU et/ou SUBD_PAS_MINI
-"""),
-
-3 : _("""
- le nombre de subdivisions du pas de temps doit etre plus grand que 1 (SUBD_PAS)
-"""),
-
-4 : _("""
- option inconnue < %(k1)s > incohérence catalogue
-"""),
-
-5 : _("""
- méthode de subdivision inconnue < %(k1)s > incohérence catalogue
-"""),
-
-6 : _("""
- valeur de SUBD_ITER_IGNO incoherent avec ITER_GLOB_MAXI.
- augmentez ITER_GLOB_MAXI
-"""),
-
 7 : _("""
- valeur de SUBD_ITER_FIN incoherent avec ITER_GLOB_MAXI.
- augmentez ITER_GLOB_MAXI
+ Etant donné la présence du mot clé AMOR_ALPHA et / ou AMOR_BETA, 
+ on va assembler la matrice d'amortissement globale de Rayleigh, 
+ même si ces coefficients sont tous les deux nuls.
+ Cette opération engendre un surcoût de calcul.
 """),
 
 8 : _("""
@@ -165,10 +141,6 @@ Nombre d'it
  fonc_inst: temps de reprise supérieur à la fonction.
 """),
 
-35 : _("""
- on n'a pas pu trouver le dernier instant sauvé.
-"""),
-
 36 : _("""
  NUME_INIT: on n'a pas trouvé le NUME_INIT dans le résultat  %(k1)s 
 """),
@@ -189,26 +161,8 @@ Nombre d'it
  critère inconnu :  %(k1)s 
 """),
 
-45 : _("""
- le champ absolu n'est accessible qu'en présence de modes statiques
-"""),
-
-47 : _("""
- débordement tableau
-"""),
-
-48 : _("""
- absence de LIST_INST dans INCREMENT
-"""),
-
-49 : _("""
- il faut definir "LIST_ARCH" ou "LIST_INST" ou "INST" ou "PAS_OBSE"
- au premier mot cle facteur "OBSERVATION"
-"""),
-
-50 : _("""
- seule la valeur de "LIST_ARCH" ou "LIST_INST" ou "INST" ou "PAS_OBSE"
- du premier mot cle facteur "OBSERVATION" est prise en compte
+43 :_("""
+ <DPMAT2> PLAS=2
 """),
 
 55 : _("""
@@ -232,7 +186,7 @@ Nombre d'it
 """),
 
 60 : _("""
- pivot nul.
la matrice interspectrale possède un pivot nul.
 """),
 
 61 : _("""
@@ -263,46 +217,14 @@ Nombre d'it
  pb division par zéro dans la construction du BETA
 """),
 
-68 : _("""
- incoherence 1 .lili et .flin
-"""),
-
-69 : _("""
- incoherence 2 .lili et .flin
-"""),
-
-70 : _("""
- incoherence 3 .lili et .flin
-"""),
-
-71 : _("""
- incoherence .lili et .fel3
-"""),
-
 72 : _("""
  donnée erronnée, multiplicité nulle
 """),
 
-73 : _("""
- erreur logarithme négatif ou nul
-"""),
-
-74 : _("""
- ERREUR_GAMDEV : ALPHA < 1
-"""),
-
-75 : _("""
-  UNIF < 0 
-"""),
-
 76 : _("""
  le type de concept: TABLE_SDASTER doit etre associé au mot clé NUME_VITE_FLUI
 """),
 
-77 : _("""
- y a un bug 4
-"""),
-
 78 : _("""
  pas de discrétisation de l'interspectre non constant.
 """),
@@ -329,10 +251,6 @@ Nombre d'it
  le pas tend vers 0 ...
 """),
 
-84 : _("""
- erreur dans la récuperation du NUME.PRNO .
-"""),
-
 86 : _("""
  pas d'interpolation possible pour les fréquences.
 """),
@@ -354,10 +272,6 @@ Nombre d'it
  coefficients paraboliques pas compatibles
 """),
 
-91 : _("""
- coefficients paraboliques pas compatibles 2
-"""),
-
 92 : _("""
  modelisations C_PLAN et 1D pas autorisées
 """),
@@ -386,8 +300,4 @@ Nombre d'it
  check your poisson ratio
 """),
 
-99 : _("""
- erreur numero colonne (dvlp)
-"""),
-
 }
index d037aca003df1a9dd1ca1a0221197ecf9ae892d4..ccc2c96b57ae4fb6e582bc1d1e884bb6c446fb9f 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith4 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF algorith4 Messages  DATE 11/03/2008   AUTEUR MAHFOUZ D.MAHFOUZ 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -22,180 +22,24 @@ def _(x) : return x
 
 cata_msg = {
 
-1 : _("""
- code-colonne inconnu (dvlp)
-"""),
-
-2 : _("""
- trop de colonnes affichees (dvlp)
-"""),
-
-3 : _("""
- trop de colonnes de suivi (limite a quatre)
-"""),
-
-4 : _("""
- mode incorrect (dvlp)
-"""),
-
-5 : _("""
- fichier doit etre défini dans la première occurrence
-"""),
-
-6 : _("""
- fichier sans unité
-"""),
-
-7 : _("""
- format d'affichage trop grand
-"""),
-
-8 : _("""
- longueur format excessif (dvlp)
-"""),
-
-9 : _("""
- dépassement de capacité d'affichage (dvlp)
-"""),
-
-10 : _("""
- unité logique invalide (dvlp)
-"""),
-
-11 : _("""
- sd affichage inexistante
-"""),
-
-12 : _("""
- nombre incorrrect de colonnes (erreur interne)
-"""),
-
-13 : _("""
- option inconnue pour INFO_RESIDU
-"""),
-
-14 : _("""
- trop de colonnes d'affichage (limité à quinze)
-"""),
-
-15 : _("""
- ligne trop large (dvlp)
-"""),
-
-16 : _("""
- INFO_RESIDU ne correspond pas à un résidu
-"""),
-
-17 : _("""
- nombre lignes titre incorrecte (dvlp)
-"""),
-
-18 : _("""
- nombre colonnes incorrecte (dvlp)
-"""),
-
-19 : _("""
- code colonne incorrect (dvlp)
-"""),
-
-20 : _("""
- erreur operation sur sd impression colonnes (dvlp)
-"""),
-
-21 : _("""
- format trop grand pour la largeur max. d'une colonne
-"""),
-
-22 : _("""
- erreur ajou sur sd impression colonnes (dvlp)
-"""),
-
-23 : _("""
- erreur sd impression colonnes pleines (dvlp)
-"""),
-
-24 : _("""
- erreur supp sur sd impression colonnes (dvlp)
-"""),
-
-25 : _("""
- erreur lire sur sd impression colonnes (dvlp)
-"""),
-
-26 : _("""
- erreur ecri sur sd impression colonnes (dvlp)
-"""),
-
-27 : _("""
- ne correspond a aucun type de colonne
-"""),
-
-28 : _("""
- marquage interdit pour des colonnes de type texte
-"""),
-
-29 : _("""
- ne correspond a aucun format de colonne
-"""),
-
-30 : _("""
- ne correspond a aucune colonne
-"""),
-
 35 : _("""
  rang superieur a dimension vecteur
 """),
 
 36 : _("""
- erreurresistance f_c < 0  ou = 0 !
-"""),
-
-37 : _("""
- erreurf_t < 0 !
-"""),
-
-38 : _("""
- erreur - valeur de crit_e_c superieure  a  1
-"""),
-
-39 : _("""
- erreur - valeur de crit_e_c negative !!!!
-"""),
-
-40 : _("""
- erreur - valeur de epsp_p_c negative !!!!
-"""),
-
-41 : _("""
- erreur - valeur de epsp_r_c negative !!!!
-"""),
-
-42 : _("""
- erreur - valeur de epsi_r_t negative !!!!
-"""),
-
-43 : _("""
- erreur - valeur de fac_t_c negative ou > 1   !!!!
+ <LCDPPA> il faut redecouper
 """),
 
 45 : _("""
- la modelisation 1d n est pas autorisee
-"""),
-
-46 : _("""
- element: %(k1)s non implante
-"""),
-
-47 : _("""
- probleme sur le type d option
+ la modelisation 1d n'est pas autorisée
 """),
 
 48 : _("""
matrice h non inversible
élément à discontinuité avec une loi CZM_EXP : la matrice H est non inversible
 """),
 
 49 : _("""
- modelisation  %(k1)s imcompatible avec la loi beton_double_dp .
+ modélisation  %(k1)s imcompatible avec la loi BETON_DOUBLE_DP.
 """),
 
 50 : _("""
@@ -203,24 +47,20 @@ cata_msg = {
 """),
 
 51 : _("""
-  syt et d_sigm_epsi doivent                        etre specifies sous l operande beton_ecro_line                    dans defi_materiau pour utiliser                                  la loi endo_isot_beton
+  SYT et D_SIGM_EPSI doivent être specifiés sous l'operande BETON_ECRO_LINE dans DEFI_MATERIAU pour utiliser la loi ENDO_ISOT_BETON
 """),
 
 52 : _("""
-  syc ne doit pas etre                valorise pour nu nul dans defi_materiau
+  SYC ne doit pas être valorisé pour NU nul dans DEFI_MATERIAU
 """),
 
 53 : _("""
-  syc doit etre supérieur à SQRT((1+NU-2*NU*NU)/(2.D0*NU*NU))*SYT 
+  SYC doit etre supérieur à SQRT((1+NU-2*NU*NU)/(2.D0*NU*NU))*SYT 
   dans DEFI_MATERIAU pour prendre en compte le confinement
 """),
 
 54 : _("""
- KSI non inversible
-"""),
-
-55 : _("""
- CV approche 0 impossible
+ loi ENDO_ORTH_BETON : le paramètre KSI n'est pas inversible
 """),
 
 57 : _("""
@@ -255,10 +95,6 @@ cata_msg = {
   %(k1)s  impossible actuellement
 """),
 
-66 : _("""
- augmenter NMAT
-"""),
-
 68 : _("""
  PYRAMIDAL1 pas encore disponible
 """),
@@ -388,14 +224,6 @@ cata_msg = {
  il faut déclarer FONC_DESORP sous ELAS_FO pour le fluage propre                                avec sech comme parametre
 """),
 
-95 : _("""
- division par zéro dans LCUMFS
-"""),
-
-96 : _("""
- erreur dans LCUMME : pb de dimension
-"""),
-
 97 : _("""
  on ne traite pas actuellement plusieurs NOM_CHAM simultanément,
  on ne considère que le premier argument
index 67200a919ede50f3786f9e7d7072003c6736973d..5b724abfe0b73cabc3d2c710700bf5be9e6d3fbb 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith6 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF algorith6 Messages  DATE 08/04/2008   AUTEUR MEUNIER S.MEUNIER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -26,25 +26,16 @@ cata_msg = {
  erreur point intégration (dvlp)
 """),
 
-12 : _("""
- la méthode d'integration est GAUSS, le champ VALE_CONT n'est pas créé
-"""),
-
 13 : _("""
- dimension du problème inconnu
-"""),
-
-14 : _("""
- erreur dans la programmation
- cette routine ne doit etre appelée que dans le cas de la méthode continue du contact
+ dimension du problème inconnue
 """),
 
 16 : _("""
- le fond de fissure d'un maillage 2d ne peut etre défini par des mailles
+ le fond de fissure d'un maillage 2d ne peut être défini par des mailles
 """),
 
 17 : _("""
- les mailles à modifier doivent etre de type "SEG3" ou "POI1"
+ les mailles à modifier doivent être de type "SEG3" ou "POI1"
 """),
 
 18 : _("""
@@ -126,48 +117,10 @@ cata_msg = {
  incompatibilité NOM_PARA et données mesurées 
 """),
 
-34 : _("""
- erreur
-"""),
-
-35 : _("""
- surcharge d'un résultat sans définir d'état initial :
- on prend un état initial nul
-"""),
-
 37 : _("""
  pas de numéro d'ordre pour le concept  %(k1)s 
 """),
 
-41 : _("""
- le champ de DEPL_R (ou derivé) n'est pas trouvé dans le concept  %(k1)s 
-"""),
-
-42 : _("""
- le champ de SIEF_R (ou derivé) n'est pas trouvé dans le concept  %(k1)s 
-"""),
-
-43 : _("""
- le champ de VITE n'est pas trouvé dans le concept  %(k1)s
- on crée un champ de vitesses nulles
-"""),
-
-44 : _("""
- le champ d'ACCE n'est pas trouvé dans le concept  %(k1)s
- on calcule un champ d'accélérations
- ce qui est possible puisque les vitesses sont nulles
-"""),
-
-45 : _("""
- le champ d'ACCE n'est pas trouvé dans le concept  %(k1)s
- on ne peut pas, pour l'instant, calculer le champ des accélérations
- car les vitesses ne sont pas nulles
-"""),
-
-46 : _("""
- le champ de VARI_R (ou derivé) n'est pas trouvé dans le concept  %(k1)s 
-"""),
-
 52 : _("""
  itérations cycliques :
  changement de configuration ou variation trop importante
@@ -231,10 +184,6 @@ cata_msg = {
  a la pression initiale PA 
 """),
 
-65 : _("""
- type de sélection inconnue
-"""),
-
 66 : _("""
  pour l'instant, on ne traite pas le cas des contraintes planes
  dans le modele de CHABOCHE à une variable cinématique.
@@ -253,38 +202,6 @@ cata_msg = {
  on doit obligatoirement avoir UN_SUR_M = zéro
 """),
 
-70 : _("""
- macro_element statique et FETI incompatibles
-"""),
-
-71 : _("""
- chargement onde plane et FETI incompatibles
-"""),
-
-72 : _("""
- forces fluides sur les grappes et FETI incompatibles
-"""),
-
-73 : _("""
- forces d'inertie et FETI incompatibles
-"""),
-
-74 : _("""
- forces explicites et FETI incompatibles
-"""),
-
-75 : _("""
- forces d'inertie derivées et FETI incompatibles
-"""),
-
-76 : _("""
- mode  %(k1)s  non reconnu (dvlp)
-"""),
-
-77 : _("""
- coefficients VIC_CIN1_CHAB tous nuls ?
-"""),
-
 78 : _("""
  F reste toujours négative.
 """),
@@ -347,10 +264,6 @@ cata_msg = {
  integration du comportement POLY_CFC uniquement explicite
 """),
 
-94 : _("""
- pas de C_PLAN pour BAZANT_FD  utiliser C_PLAN_DEBORST
-"""),
-
 95 : _("""
  intégration implicite du comportement non programmée
 """),
index 326e7d2a744c6038d132d8a09e837e0f53859147..2577a10fc7e3f36254202ff5cd1270c9cb71d814 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith7 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF algorith7 Messages  DATE 19/05/2008   AUTEUR ABBAS M.ABBAS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -74,10 +74,6 @@ cata_msg = {
  nombre total de variables internes incohérent <--> erreur de programmation. 
 """),
 
-13 : _("""
- f(0)=  %(k1)s  > 0 
-"""),
-
 15 : _("""
   le concept EVOL_CHAR :  %(k1)s  n'en est pas un !
 """),
@@ -86,28 +82,10 @@ cata_msg = {
   le concept EVOL_CHAR :  %(k1)s  ne contient aucun champ de type EVOL_CHAR.
 """),
 
-17 : _("""
-  on ne trouve pas le résultat derivé associé à  %(k1)s  et  %(k2)s 
-"""),
-
-18 : _("""
-  le concept EVOL_THER :  %(k1)s  ne contient aucun champ.
-"""),
-
-19 : _("""
- erreur de type sur la charge thermique  %(k1)s 
-"""),
-
 20 : _("""
  le champ de déplacement DIDI n'est pas trouvé dans le concept  %(k1)s 
 """),
 
-21 : _("""
-  -> Critère de convergence est lache !
-  -> Risque & Conseil : La valeur de RESI_GLOB_RELA est supérieure a 10-4.
-     Cela peut nuire à la qualité de la solution. Vous ne vérifiez pas l'équilibre de manière rigoureuse.
-"""),
-
 22 : _("""
  la charge  %(k1)s  n'est pas mécanique
 """),
@@ -186,35 +164,6 @@ cata_msg = {
  il y a au moins une charge non mécanique : vérifier le fichier de commandes
 """),
 
-42 : _("""
-  REAC_INCR négatif
-"""),
-
-43 : _("""
-  reac_iter negatif
-"""),
-
-44 : _("""
-  REAC_ITER_ELAS négatif
-"""),
-
-45 : _("""
- il faut préciser un concept EVOL_NOLI en prédiction 'DEPL_CALCULE'
-"""),
-
-46 : _("""
-  -> La définition des paramètres rho_min et rho_excl est contradictoire.
-     On choisit de prendre RHO_MIN à RHO_EXCL.
-  -> Risque & Conseil :
-     RHO_MIN ne doit pas etre compris entre -RHO_EXCL et RHO_EXCL
-
-"""),
-
-47 : _("""
- les valeurs des paramètres RHO_MAX et RHO_EXCL sont contradictoires,
- on prend RHO_MAX à -RHO_EXCL
-"""),
-
 48 : _("""
  ETA_PILO_MAX doit etre inférieur a ETA_PILO_R_MAX
 """),
@@ -275,10 +224,6 @@ cata_msg = {
  option  %(k1)s  non traitee
 """),
 
-62 : _("""
- matrice non inversible
-"""),
-
 63 : _("""
  pas existence de solution pour le saut
 """),
@@ -316,13 +261,8 @@ cata_msg = {
  elements isoparamétriques 3D non disponibles en grandes rotations
 """),
 
-72 : _("""
- seule une loi de comportement élastique isotrope est valide pour
- le calcul de DG
-"""),
-
 73 : _("""
- le tenseur EPSEQ=0 on a donc une derivée DEPSEQ très grande !
+ le tenseur EPSEQ vaut  0 on a donc une derivée lagrangienne DEPSEQ très grande !
 """),
 
 74 : _("""
@@ -337,85 +277,29 @@ cata_msg = {
  développement non implanté
 """),
 
-78 : _("""
- FETI et frottement incompatibles !
-"""),
-
 79 : _("""
N doit etre > 0
loi de comportement avec irradiation, le paramètre N doit etre supérieur à 0
 """),
 
 80 : _("""
- PHI_ZERO < ou = à zéro
+ loi de comportement avec irradiation, le paramètre PHI_ZERO doit etre supérieur à 0
 """),
 
 81 : _("""
1/k et l doivent etre >=0
loi de comportement avec irradiation, le paramètre phi/K.PHI_ZERO+L doit etre supérieur ou égal à 0
 """),
 
 82 : _("""
- PHI/KPHI0+L=0 et BETA<0
-"""),
-
-83 : _("""
- F(0) > 0 : erreur de conception
-"""),
-
-84 : _("""
- calcul flambement non linéaire HPP
-"""),
-
-85 : _("""
- flambement non linéaire GREEN
-"""),
-
-86 : _("""
- fonctionnalite modifiée (dvlp)
-"""),
-
-89 : _("""
- contact et recherche linéaire peuvent poser des problèmes de convergence
-"""),
-
-90 : _("""
- la combinaison: contact-frottement et solveur GCPC n'est pas disponible.
-"""),
-
-91 : _("""
- contact méthode continue et recherche linéaire sont incompatibles
-"""),
-
-92 : _("""
- contact méthode continue et pilotage sont incompatibles
-"""),
-
-93 : _("""
- la combinaison: méthode continue en contact et solveur GCPC n'est pas disponible.
-"""),
-
-94 : _("""
- LIAISON_UNILATER et PILOTAGE sont des fonctionnalités incompatibles
-"""),
-
-95 : _("""
- LIAISON_UNILATER et recherche linéaire peuvent poser des problèmes de convergence
+ loi de comportement avec irradiation, le paramètre phi/K.PHI_ZERO+L vaut 0. Dans ces conditions le paramètre BETA doit être positif ou nul
 """),
 
 96 : _("""
  comportement ZMAT obligatoire
 """),
 
-97 : _("""
- il faut declarer lam_visc                           pour le fluage de dessication intrinseque
-"""),
-
 98 : _("""
  il faut déclarer FONC_DESORP sous ELAS_FO pour le fluage de dessication
  intrinseque avec SECH comme paramètre
 """),
 
-99 : _("""
- mauvais dimensionnement de GEOMM et GEOMP
-"""),
-
 }
index 174a8d7ae69bb1832bb2d0187ae06b8b88d8f9a6..499dc1a8ebcb3d673b3673a45e2f08a122ebb8ca 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith8 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF algorith8 Messages  DATE 18/03/2008   AUTEUR CNGUYEN C.NGUYEN 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -30,14 +30,6 @@ cata_msg = {
  caractéristique fluage incomplet
 """),
 
-6 : _("""
- message d'erreur inconnu (dvlp)
-"""),
-
-7 : _("""
- incoherence de taille (dvlp)
-"""),
-
 8 : _("""
  format de colonne inconnu (dvlp)
 """),
@@ -62,14 +54,6 @@ cata_msg = {
  F=0 : pas converge
 """),
 
-17 : _("""
- dvp : non cohérent
-"""),
-
-18 : _("""
- phase inconnue (dvlp)
-"""),
-
 19 : _("""
  trop d'amortissements modaux
 """),
@@ -99,10 +83,6 @@ cata_msg = {
  mode non defini
 """),
 
-27 : _("""
- lecture du champ DEPL_CALCULE impossible
-"""),
-
 28 : _("""
  prédiction par extrapolation impossible : pas de temps nul
 """),
@@ -111,24 +91,16 @@ cata_msg = {
  ITER_LINE_MAXI doit etre inférieur à 1000
 """),
 
-30 : _("""
- mauvaise estimation de f
-"""),
-
 31 : _("""
  borne superieure PMAX incorrecte
 """),
 
 32 : _("""
viscosité N égale à zéro
la viscosité N doit être différente de zéro
 """),
 
 33 : _("""
- viscosité UN_SUR_K égale à zéro
-"""),
-
-34 : _("""
- g=0 : pas convergé
+ la viscosité UN_SUR_K doit être différente de zéro
 """),
 
 35 : _("""
@@ -220,11 +192,7 @@ cata_msg = {
 """),
 
 58 : _("""
- Méthode non implantée
-"""),
-
-59 : _("""
- Champ 'IN' inexistant
+ Méthode de condition unilatéral non implantée
 """),
 
 61 : _("""
@@ -244,64 +212,22 @@ cata_msg = {
   endommagement maximal atteint au cours des resolutions internes
 """),
 
-68 : _("""
-  erreur récupération paramètres matériau
-"""),
-
-69 : _("""
-  type de matrice demandé non disponible
-"""),
-
-70 : _("""
-  erreur dans nmvecd
-"""),
-
-71 : _("""
- valo >0
-"""),
-
-72 : _("""
- dr negatif
-"""),
-
-73 : _("""
- pb2 seq
-"""),
-
-74 : _("""
- pb4 seq
-"""),
-
-75 : _("""
- pb1 seq
-"""),
-
-76 : _("""
- pb3 seq
-"""),
-
 77 : _("""
  le nombre de composantes dans le champ de vent est incorrect. on doit avoir : DX, DY, DZ
 """),
 
-78 : _("""
- F(0)=0
-"""),
-
 80 : _("""
- SY >= SU. impossible.
+Pour le comportement %(k3)s, matériau %(k4)s. Incohérence dans les données matériau.
+   %(k1)s est >= %(k2)s cela n'est pas possible.
+   valeur de %(k1)s : %(r1)E
+   valeur de %(k2)s : %(r2)E
 """),
 
 81 : _("""
- EP >= E. impossible.
-"""),
-
-82 : _("""
- incohérence dans les données matériau : MEY > MPY impossible.
-"""),
-
-83 : _("""
- incohérence dans les données matériau : MEZ > MPZ impossible.
+L'association comportement vs matériau est incorrecte.
+Les combinaisons possibles sont :
+   comportement %(k1)s et matériau %(k2)s et %(k5)s
+   comportement %(k3)s et matériau %(k4)s et %(k5)s
 """),
 
 84 : _("""
@@ -341,10 +267,6 @@ cata_msg = {
  or la maille est de type :  %(k1)s .
 """),
 
-93 : _("""
- une maille maitre est de longueur nulle
-"""),
-
 94 : _("""
  le champ issu du concept %(k1)s n'est pas calculé à l'instant %(i3)i
 """),
index 1535fbf51348282ec18e860852a153f3c7c41ca6..fd6f0309b4224bc895c66bc3aea543102dc8f288 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF algorith9 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF algorith9 Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -30,10 +30,6 @@ cata_msg = {
  CHAM_NO invalide
 """),
 
-3 : _("""
- le mot cle "NUME_INIT" est obligatoire dans ce cas.
-"""),
-
 4 : _("""
  valeur de THETA illicite
 """),
@@ -42,10 +38,6 @@ cata_msg = {
  la charge  %(k1)s  n'est pas thermique
 """),
 
-6 : _("""
- la charge cinématique  %(k1)s  n'a pas de .DEFI
-"""),
-
 7 : _("""
  la charge  %(k1)s  n'est pas compatible avec FONC_MULT
 """),
@@ -222,10 +214,6 @@ cata_msg = {
  champ :  %(k2)s 
 """),
 
-73 : _("""
- erreur : ITRAN = 0 ou 1
-"""),
-
 74 : _("""
  attention, mode sur-amorti
 """),
@@ -243,10 +231,6 @@ cata_msg = {
  le vecteur directeur est nul.
 """),
 
-82 : _("""
- erreur dvp
-"""),
-
 83 : _("""
  nombre maximum d'itérations atteint
 """),
index 6d8ae2c354ce2c08929c46c51431adb7f68d32c5..e6bde501ba5ded876607099d1b41f229718e3d59 100644 (file)
@@ -1,21 +1,21 @@
-#@ MODIF appelmpi Messages  DATE 18/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF appelmpi Messages  DATE 12/11/2007   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.
 # ======================================================================
 
 def _(x) : return x
@@ -38,4 +38,14 @@ cata_msg={
 5: _("""
  Erreur MPI: %(k1)s
 """),
+
+6: _("""
+ Processeur %(i1)d : option MUMMPI %(i2)d non prevue avec MUMPS !
+"""),
+7: _("""
+ &mumps.liste.sd.mpi existe deja !
+"""),
+
+
+
 }
index ebbaa7dc55d93fb7a1e4c79d5f1abbf721fe7090..5576ba6059173658a1115c840d00db23d92bbca6 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF arlequin Messages  DATE 11/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF arlequin Messages  DATE 02/06/2008   AUTEUR MEUNIER S.MEUNIER 
 # -*- coding: iso-8859-1 -*-
 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
@@ -24,7 +24,7 @@ cata_msg={
 
 
 1: _("""
- Pour Arlequin, la dimension topologique des modelisations de GROUP_MA_1 et GROUP_MA_2 doivent etre les memes:
+ Pour Arlequin, la dimension topologique des modélisations de GROUP_MA_1 et GROUP_MA_2 doivent être les mêmes:
   - C_PLAN (2D)
   - ou D_PLAN (2D)
   - ou AXIS (2D)
@@ -36,48 +36,48 @@ cata_msg={
 """),
 
 3: _("""
- Il y a plusieurs modelisations dans le meme groupe de maille
+ Il y a plusieurs modélisations dans le même groupe de maille
 """),
 
 4: _("""
- Il y a plusieurs cinematiques dans le meme groupe de maille
- (melange elements de structures/elements de milieu continu) 
+ Il y a plusieurs cinématiques dans le même groupe de maille
+ (mélange éléments de structures/éléments de milieu continu)
 """),
 
 5: _("""
  Aucune maille du groupe n'est utilisable dans Arlequin, on rappelle ce qui est utilisable:
-  - elements de deformations planes (D_PLAN)
-  - elements de contraintes planes (C_PLAN)
-  - elements axisymetriques (AXIS)
-  - elements 3D
-  - elements de structure de type coques et plaques (DKT/DST/COQUE_3D/Q4G)
+  - éléments de déformations planes (D_PLAN)
+  - éléments de contraintes planes (C_PLAN)
+  - éléments axisymétriques (AXIS)
+  - éléments 3D
+  - éléments de structure de type coques et plaques (DKT/DST/COQUE_3D/Q4G)
 """),
 
 6: _("""
  La normale au noeud <%(k1)s> de la maille <%(k2)s> est nulle.
- Verifiez votre maillage (pas de mailles aplaties par exemple)
+ Vérifiez votre maillage (pas de mailles aplaties par exemple)
 """),
 
 7: _("""
  La normale moyenne sur la maille <%(k1)s> est nulle.
- Verifiez votre maillage (orientations des mailles par exemple)
+ Vérifiez votre maillage (orientations des mailles par exemple)
 """),
 
 8: _("""
- Il faut renseigner le mot-clef CARA_ELEM lorsqu'on utilise des elements coques
+ Il faut renseigner le mot-clef CARA_ELEM lorsqu'on utilise des éléments coques
 """),
 
 9: _("""
- Les deux domaines ne se recouvrent pas. Verifiez vos groupes.
+ Les deux domaines ne se recouvrent pas. Vérifiez vos groupes.
  """),
 
 10: _("""
- Le groupe de mailles de collage (GROUP_MA_COLL) doit etre un sous ensemble
+ Le groupe de mailles de collage (GROUP_MA_COLL) doit être un sous ensemble
  d'un des deux sous domaines GROUP_MA_1 ou GROUP_MA_2
  """),
 
 11: _("""
- La maille <%(k1)s> est de type %(k2)s : elle ne peut etre mise en boite.
+ La maille <%(k1)s> est de type %(k2)s : elle ne peut être mise en boîte.
  Ce type de maille n'est pas pris en compte.
 """),
 
@@ -87,11 +87,43 @@ cata_msg={
 
 13: _("""
  Nombre de couples appariés sous-estimé
- - Erreur avancée: contacter le support
+ - Erreur avancée : contacter le support
 """),
 
 14: _("""
- La gestion des conditions limites redondantes a été déconnectée dans Arlequin
+ La zone de superposition des modèles dans Arlequin ne contient aucune maille !
+"""),
+
+16: _("""
+ Pb d'assemblage pour le couple de mailles %(i1)d et %(i2)d
+"""),
+
+17: _("""
+ Le noeud <%(i1)d> est redondant
+"""),
+
+18: _("""
+ intégration par sous-mailles - 2d : le découpage en tria6 ne marche pas encore
+"""),
+
+19: _("""
+ élément de type <%(k1)s> interdit
+"""),
+
+20: _("""
+ Mise en boîtes : il est impossible de traiter le type de maille <%(k1)s>
+"""),
+
+21: _("""
+ Pb lors de mise en boîtes. La SD boîte concernée est <%(k1)s>. Informations :
+ dimension de l'espace : %(i1)d
+ nombre de mailles     : %(i2)d
+ nombre de pans        : %(i3)d
+ nombre de sommets     : %(i4)d
+"""),
+
+22: _("""
+  Maille inconnue : %(k1)s
 """),
 
 23: _("""
@@ -103,7 +135,50 @@ cata_msg={
 """),
 
 25: _("""
- Polyèdre non etoilé au centre de gravité
+ L'intersection de la maille <%(k1)s> avec la maille <%(k2)s> a donné un polyèdre
+ non étoilé dont la tétraédrisation a été difficile. Il y a une erreur sur le volume obtenu après tétraédrisation.
+  Volume initial du polyèdre de l'intersection: <%(r1)s>
+  Volume après découpe en tétraèdres du polyèdre de l'intersection: <%(r2)s>
+  Soit un écart de <%(r3)s> %%
+--> Risques & conseils :
+Si cet écart est trop important sur trop de mailles de l'intersection, les termes de couplage Arlequin seront faux et
+pourront entraîner un résultat faux.
+Vous pouvez réduire ce risque en raffinant le maillage ou en utilisant des mailles plus simples (tétraèdres)
+
+"""),
+
+26: _("""
+ Dimension incorrecte : %(i1)d
+"""),
+
+27: _("""
+ Le nombre de noeuds est incohérent : %(i1)d
+"""),
+
+
+
+
+34: _("""
+ La famille d'intégration %(i1)d n'existe pas pour les mailles de type %(k1)s.
+"""),
+
+
+
+
+40: _("""
+ La carte d'information %(k1)s de la charge Arlequin courante n'existe pas.
+"""),
+
+41: _("""
+ On ne sait pas traiter les mailles de type %(k1)s avec la méthode Arlequin.
+"""),
+
+
+
+
+99 : _("""
+ On a rencontré un problème dans la routine <%(k1)s>. 
+ - Erreur avancée : contacter le support
 """),
 
 }
index f6e91590ca7b337401d2ea59891eee4a3d08138a..117c1bbad4cdfc0d84346920ccb86b8918029d94 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF ascouf0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETT
+#@ MODIF ascouf0 Messages  DATE 14/04/2008   AUTEUR GALENNE E.GALENN
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -324,4 +324,14 @@ ANGL_COUDE et ANGL_SOUS_EPAI sont inutiles dans ce cas.
 Seuls gibi98 et gibi2000 sont appelables.
 """),
 
+58: _("""
+Une interpénétration des lèvres est détectée pour le numéro d'ordre %(i1)d : sur les
+%(i2)d noeuds de chaque lèvre, %(i3)d noeuds s'interpénètrent.
+-> Risque et Conseil :
+Le contact n'est pas pris en compte dans le calcul. Le taux de restitution de l'énergie G
+est donc positif y compris là où la fissure tend à se refermer, ce qui peut conduire à
+des résultats trop pénalisants.
+Pour prendre en compte le contact entre les lèvres, il faut lancer le calcul hors macro.
+"""),
+
 }
index 5d69b01b5c0bf696b715c63c282673963e70243f..bf00e6e58a840240213ebefdeff43c7c5ee4c05a 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF aspic0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETT
+#@ MODIF aspic0 Messages  DATE 14/04/2008   AUTEUR GALENNE E.GALENN
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -70,9 +70,14 @@ Les piquages p
 """),
 
 13: _("""
- Erreur donnees
+ La valeur de Z_MAX (cote maximale de la tubulure) est inférieure à la longueur 
+ d'amortissement calculée :
  Z_MAX fournie   : %(r1)f
  Z_MAX calculee  : %(r2)f
+-> Risque et Conseil :
+ La longueur d'amortissement est liée à l'onde de flexion se propageant depuis le piquage.
+ Si la longueur de la tubulure est inférieure à cette longueur, le calcul des contraintes 
+ dans le piquage ne sera pas indépendant du mode d'application des conditions aux limites.
 """),
 
 14: _("""
@@ -110,4 +115,25 @@ Fissure axisymetrique : le mot clef <LONGUEUR> ne doit pas etre renseign
 Seuls gibi98 et gibi2000 sont appelables.
 """),
 
+22: _("""
+Une interpénétration des lèvres est détectée pour le numéro d'ordre %(i1)d : sur les
+%(i2)d noeuds de chaque lèvre, %(i3)d noeuds s'interpénètrent.
+-> Risque et Conseil :
+Le contact n'est pas pris en compte dans le calcul. Le taux de restitution de l'énergie G
+est donc positif y compris là où la fissure tend à se refermer, ce qui peut conduire à
+des résultats trop pénalisants.
+Pour prendre en compte le contact entre les lèvres, il faut lancer le calcul hors macro.
+"""),
+
+23: _("""
+ La valeur de X_MAX (cote maximale du corps) est inférieure à la longueur d'amortissement 
+ calculée :
+ X_MAX fournie   : %(r1)f
+ X_MAX calculee  : %(r2)f
+-> Risque et Conseil :
+ La longueur d'amortissement est liée à l'onde de flexion se propageant depuis le piquage.
+ Si la longueur ddu corps est inférieure à cette longueur, le calcul des contraintes 
+ dans le piquage ne sera pas indépendant du mode d'application des conditions aux limites.
+"""),
+
 }
index be46a1f3e3cfe45355b54b0e54a4e46fa30a4901..4bc9c0cc20b0562600404a3f6d5e993db0bf4204 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF assembla Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF assembla Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -23,17 +23,11 @@ def _(x) : return x
 cata_msg = {
 
 1 : _("""
-  le type  :  %(k1)s   de la matrice est incorrect.
-  on attend : "S" pour une résolution par methode itérative
-"""),
-
-2 : _("""
- matrice non symétrique pour l'instant proscrite avec FETI
-"""),
+  Erreur d'utilisation :
+    Pour les méthodes itératives GCPC et FETI, on ne peut pas encore utiliser
+    de matrice non-symétrique.
 
-3 : _("""
-  le parametre :  %(k1)s  est incorrect.
-  on attend : "CUMU" ou "ZERO" 
+  Conseil : Changer de solveur
 """),
 
 4 : _("""
@@ -54,7 +48,7 @@ cata_msg = {
 
 8 : _("""
  le motcle :  %(k1)s  est incorrect.
- on attend : "CUMU" ou "ZERO" 
+ on attend : "CUMU" ou "ZERO"
 """),
 
 9 : _("""
@@ -75,23 +69,19 @@ cata_msg = {
 """),
 
 13 : _("""
- ICHIN = 0 
+ ICHIN = 0
 """),
 
 14 : _("""
- ICHIN < -2 
+ ICHIN < -2
 """),
 
 15 : _("""
- S => ICHIN=/0 
+ S => ICHIN=/0
 """),
 
 16 : _("""
- action : E/L/S 
-"""),
-
-17 : _("""
- message vide    
+ action : E/L/S
 """),
 
 18 : _("""
@@ -103,22 +93,13 @@ cata_msg = {
 """),
 
 20 : _("""
-  -  aucun LIGREL dans les RESUELEM 
+  -  aucun LIGREL dans les RESUELEM
 """),
 
 21 : _("""
  modèles différents
 """),
 
-22 : _("""
- les valeurs de la matrice  %(k1)s  doivent etre réelles
- on ne traite pas encore les matrices non-symétriques complexes.
-"""),
-
-23 : _("""
- la matrice %(k1)s à transformer en matrice non-symétrique doit etre symétrique.
-"""),
-
 24 : _("""
  le nombre maximum de composante de la grandeur est nul
 """),
@@ -141,11 +122,11 @@ cata_msg = {
 """),
 
 29 : _("""
-  -  aucun LIGREL  
+  -  aucun LIGREL
 """),
 
 30 : _("""
-  plusieurs phénomènes 
+  plusieurs phénomènes
 """),
 
 31 : _("""
@@ -186,83 +167,83 @@ cata_msg = {
 """),
 
 41 : _("""
- le noeud  : %(i1)d  du RESUEL : %(k1)s  du VECT_ELEM  : %(k2)s 
- n'a pas d'adresse dans : %(k3)s 
+ le noeud  : %(i1)d  du RESUEL : %(k1)s  du VECT_ELEM  : %(k2)s
+ n'a pas d'adresse dans : %(k3)s
 """),
 
 42 : _("""
- le noeud  : %(i1)d  du RESUEL : %(k1)s  du VECT_ELEM  : %(k2)s 
-   a une adresse  : %(i2)d  > NEQUA : %(i3)d 
+ le noeud  : %(i1)d  du RESUEL : %(k1)s  du VECT_ELEM  : %(k2)s
+   a une adresse  : %(i2)d  > NEQUA : %(i3)d
 """),
 
 43 : _("""
- NDDL :  %(i1)d  > NDDL_MAX : %(i2)d 
+ NDDL :  %(i1)d  > NDDL_MAX : %(i2)d
 """),
 
 44 : _("""
  --- VECT_ELEM     : %(k1)s
  --- RESU          : %(k2)s
- --- NOMLI         : %(k3)s 
- --- GREL numéro   : %(i1)d 
- --- MAILLE numéro : %(i2)d 
- --- NNOE par NEMA : %(i3)d 
- --- NNOE par NODE : %(i4)d 
+ --- NOMLI         : %(k3)s
+ --- GREL numéro   : %(i1)d
+ --- MAILLE numéro : %(i2)d
+ --- NNOE par NEMA : %(i3)d
+ --- NNOE par NODE : %(i4)d
 """),
 
 45 : _("""
- --- le LIGREL    : %(k1)s  réf. par le noeud supl.  : %(i1)d 
- --- de la maille : %(i2)d 
- --- du RESUELEM  : %(k2)s 
- --- du VECT_ELEM : %(k3)s 
- --- n'est pas présent  dans la numérotation : %(k4)s 
+Erreur Programmeur ou utilisateur :
+-----------------------------------
+ Le sd_ligrel    : %(k1)s  référencé par le noeud supplém. : %(i1)d
+ de la maille : %(i2)d  du sd_resuelem  : %(k2)s  du sd_vect_elem : %(k3)s
+ n'est pas présent  dans le sd_nume_ddl : %(k4)s
+
+Risques & conseils :
+--------------------
+ Si vous utilisez la commande MACRO_ELAS_MULT :
+   Si %(k5)s est une charge contenant des conditions aux limites dualisées (DDL_IMPO, ...),
+   Etes-vous sur d'avoir indiqué cette charge derrière le mot clé CHAR_MECA_GLOBAL ?
+   En effet, il faut indiquer TOUTES les charges dualisées derrière CHAR_MECA_GLOBAL.
+
+ Si vous utilisez directement la commande ASSE_VECTEUR :
+   Si %(k5)s est une charge contenant des conditions aux limites dualisées (DDL_IMPO, ...),
+   Etes-vous sur d'avoir indiqué cette charge derrière le mot clé CHARGE
+   de la commande CALC_MATR_ELEM/OPTION='RIGI_MECA' ?
 """),
 
 46 : _("""
- --- NDDL :  %(i1)d  > NDDL_MAX : %(i2)d 
+ --- NDDL :  %(i1)d  > NDDL_MAX : %(i2)d
 """),
 
 47 : _("""
- --- NDDL :  %(i1)d  > NDDL_MAX : %(i2)d 
+ --- NDDL :  %(i1)d  > NDDL_MAX : %(i2)d
 """),
 
 48 : _("""
- --- le noeud  : %(i1)d  du RESUEL    : %(k1)s  du VECT_ELEM   : %(k2)s 
- --- n'a pas d''adresse  dans la numérotation : %(k3)s 
+ --- le noeud  : %(i1)d  du RESUEL    : %(k1)s  du VECT_ELEM   : %(k2)s
+ --- n'a pas d''adresse  dans la numérotation : %(k3)s
 """),
 
 49 : _("""
- --- le noeud  : %(i1)d  du RESUEL    : %(k1)s  du VECT_ELEM   : %(k2)s 
- --- a une adresse : %(i2)d   > NEQUA : %(i3)d 
-"""),
-
-50 : _("""
- NDDL :  %(i1)d  > NDDL_MAX : %(i2)d 
-"""),
-
-52 : _("""
- NDDL :  %(i1)d  > NDDL_MAX : %(i2)d 
-"""),
-
-53 : _("""
- NDDL :  %(i1)d  > NDDL_MAX : %(i2)d 
+ --- le noeud  : %(i1)d  du RESUEL    : %(k1)s  du VECT_ELEM   : %(k2)s
+ --- a une adresse : %(i2)d   > NEQUA : %(i3)d
 """),
 
 63 : _("""
  erreur sur le premier lagrange d'une LIAISON_DDL
- on a mis 2 fois le premier  lagrange :  %(i1)d 
- derrière le noeud :  %(i2)d 
+ on a mis 2 fois le premier  lagrange :  %(i1)d
+ derrière le noeud :  %(i2)d
 """),
 
 64 : _("""
  erreur sur le  2ème lagrange d'une LIAISON_DDL
- on a mis 2 fois le 2ème  lagrange :  %(i1)d 
- derrière le noeud :  %(i2)d 
+ on a mis 2 fois le 2ème  lagrange :  %(i1)d
+ derrière le noeud :  %(i2)d
 """),
 
 65 : _("""
  incohérence dans le dénombrement des ddls
- nombre de ddl a priori    : %(i1)d 
- nombre de ddl a posteriori: %(i2)d 
+ nombre de ddl a priori    : %(i1)d
+ nombre de ddl a posteriori: %(i2)d
 """),
 
 66 : _("""
index 211b2c9d903392971ce737b20d3f30fccb32d9d5..374146dc0c8a545719d8c0a0e5bfea6691170fd9 100644 (file)
@@ -1,8 +1,8 @@
-#@ MODIF calculel Messages  DATE 16/10/2007   AUTEUR SALMONA L.SALMONA 
+#@ MODIF calculel Messages  DATE 19/05/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2007  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
@@ -20,9 +20,9 @@
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-2: _("""
+2 : _("""
 Erreur Utilisateur :
  Quand on utilise AFFE_CHAR_CINE/EVOL_IMPO, c'est le champ de l'evol_xxx correspondant
  au 1er instant qui impose sa "loi" : tous les ddls de ce champ seront imposés pour tous
@@ -35,96 +35,107 @@ Risques & conseils :
  Assurez-vous que l'évolution imposée %(k1)s concerne les memes ddls pour tous les instants.
 """),
 
-
-3: _("""
+3 : _("""
  la grandeur :  %(k1)s  n existe pas dans le catalogue des grandeurs.
 """),
 
-4: _("""
+4 : _("""
  incoherence des maillages : %(k1)s  et  %(k2)s
 """),
 
-5: _("""
+5 : _("""
  Erreur de programmation (ou d'utilisation ?) :
    Le changement de discrétisation : %(k1)s n'est pas encore programmé.
  Risques et conseils :
    Il y a peut-etre une demande d'évolution à émettre ...
 """),
 
-8: _("""
+6 : _("""
+ Erreur d'utilisation :
+   On n'arrive pas à construire correctement le champ contenant le nombre de sous-points
+   des éléments finis (coques multi-couches, tuyaux, poutre multi-fibres, ...)  du modèle %(k1)s.
+
+ Risques & conseils :
+   Cette erreur intervient lorsque l'on ne définit pas TOUTES les caractéristiques élémentaires
+   dans le meme AFFE_CARA_ELEM.
+   Pour les commandes de calcul, il ne faut qu'un seul MODELE et qu'un seul CARA_ELEM.
+"""),
+
+8 : _("""
  sur la maille %(k1)s le calcul est thermo mécanique. Or il manque la température de référence.
  On ne peut donc pas calculer de déformation thermique.
 """),
 
-11: _("""
+9 : _("""
+ Erreur d'utilisation dans AFFE_CHAR_CINE :
+   Aucun des ddls que l'on souhaite bloquer n'appartient au modèle.
+   La charge cinématique produite est donc vide.
+
+ Risques & Conseils :
+   Vérifier le nom des ddls portés par les noeuds des éléments de votre modèle.
+"""),
+
+11 : _("""
  le mode_local:  %(k1)s  ne doit pas etre vecteur ou matrice.
 """),
 
-12: _("""
+12 : _("""
  le mode_local:  %(k1)s  ne doit pas etre "diff__".
 """),
 
-14: _("""
+14 : _("""
   incompatibilite des type_champ ("elga"/"elno")  pour l option :  %(k1)s  entre les 2 type_elem :  %(k2)s  et  %(k3)s
 """),
 
-15: _("""
+15 : _("""
  sur la maille %(k1)s le calcul est thermo mécanique. Or il manque le parametre matériau
- %(k2)s . On ne peut donc pas calculer de déformation thermique. 
+ %(k2)s . On ne peut donc pas calculer de déformation thermique.
 """),
 
-16: _("""
+16 : _("""
  type de maille indisponible
 """),
 
-17: _("""
+17 : _("""
  type de champ inconnu
 """),
 
-18: _("""
+18 : _("""
  les parties réelle et imaginaire du champ à assembler ne sont pas du même type
  l'un est un CHAM_NO et l'autre un CHAM_ELEM
 """),
 
-20: _("""
+20 : _("""
  le champ de grandeur  %(k1)s  ne respecte pas le format xxxx_r
 """),
 
-21: _("""
+21 : _("""
  les champs réel et imaginaire à assembler ne contiennent pas la même grandeur
 """),
 
-22: _("""
+22 : _("""
  problème dans le catalogue des grandeurs simples
  la grandeur %(k1)s  ne possède pas le même nombre de champs que son homologue complexe %(k2)s
 """),
 
-23: _("""
+23 : _("""
  problème dans le catalogue des grandeurs simples
  la grandeur  %(k1)s  ne possède pas les mêmes champs que son homologue complexe  %(k2)s
 """),
 
-24: _("""
+24 : _("""
  les champs à assembler n'ont pas la même longueur
 """),
 
-26: _("""
- longueurs des CHAM_ELEM incompatibles
-"""),
-
-27: _("""
+27 : _("""
  CHAM_ELEM à combiner incompatible
 """),
 
-28: _("""
-  %(k1)s  indisponible
-"""),
-
-29: _("""
+29 : _("""
  option inconnue au catalogue :  %(k1)s
 """),
 
-30: _("""
+30 : _("""
   -> Le TYPE_ELEMENT %(k1)s  ne sait pas encore calculer l'OPTION:  %(k2)s.
      On ne calcule donc rien sur les éléments de ce type.
 
@@ -133,24 +144,24 @@ Risques & conseils :
      et que le déficit de calcul n'entraine pas de résultats faux.
 """),
 
-31: _("""
+31 : _("""
   la température n'est pas correctement renseignée
 """),
 
-34: _("""
+34 : _("""
  le calcul de l'option :  %(k1)s
  n'est possible pour aucun des types d'éléments du LIGREL.
 """),
 
-37: _("""
+37 : _("""
  Erreur dans la lecture des CHAR_CINE ou dans les CHAR_CINE
 """),
 
-38: _("""
+38 : _("""
  la carte concerne aussi des mailles tardives qui sont oubliées
 """),
 
-42: _("""
+42 : _("""
  Erreur Programmeur:
  Incohérence fortran/catalogue
  TYPE_ELEMENT :  %(k1)s
@@ -160,90 +171,98 @@ Risques & conseils :
 
 """),
 
-47: _("""
+47 : _("""
   le CHAM_ELEM:  %(k1)s  n'existe pas.
 """),
 
-48: _("""
+48 : _("""
  le CHAM_ELEM: %(k1)s  n'a pas le même nombre de composantes dynamiques sur tous ses éléments.
 """),
 
-49: _("""
+49 : _("""
  le CHAM_ELEM : %(k1)s a des sous-points.
 """),
 
-52: _("""
- la cmp: %(k1)s  n'appartient pas à la grandeur: %(k2)s
+52 : _("""
+ La composante: %(k1)s  n'appartient pas à la grandeur: %(k2)s
+ Champ : %(k4)s
 """),
 
-53: _("""
- option : %(k1)s  inexistante dans les catalogues.
+53 : _("""
+ Option : %(k1)s  inexistante dans les catalogues.
+ Champ : %(k4)s
 """),
 
-54: _("""
+54 : _("""
  Le paramètre:  %(k1)s  de l'option:  %(k2)s  n'est pas connu des TYPE_ELEM du LIGREL:  %(k3)s
+ Champ : %(k4)s
 """),
 
-55: _("""
+55 : _("""
  Erreur utilisateur :
    On cherche à créer un CHAM_ELEM mais sur certains points, on ne trouve pas la composante : %(k1)s
+   Champ : %(k4)s
  Risques & conseils :
    Si la commande que vous exécutez comporte le mot clé PROL_ZERO='OUI', vous devriez peut-etre l'utiliser.
 """),
 
-56: _("""
- le LIGREL contient des mailles tardives
+56 : _("""
+ Le LIGREL contient des mailles tardives
+ Champ : %(k4)s
 """),
 
-57: _("""
nombres de points différents pour la maille:  %(k1)s
+57 : _("""
Nombres de points différents pour la maille:  %(k1)s
  CHAM_ELEM de :  %(k2)s
+ Champ : %(k4)s
 """),
 
-58: _("""
- il manque la composante : %(k1)s  sur la maille : %(k2)s
+58 : _("""
+ Il manque la composante : %(k1)s  sur la maille : %(k2)s
+ Champ : %(k4)s
 """),
 
-67: _("""
+67 : _("""
  grandeur:  %(k1)s  inconnue au catalogue.
 """),
 
-68: _("""
+68 : _("""
  numéro de maille invalide     :  %(k1)s  (<1 ou >nbma)
 """),
 
-69: _("""
+69 : _("""
  numéro de point invalide      :  %(k1)s  (<1 ou >nbpt)
  pour la maille                :  %(k2)s
 """),
 
-70: _("""
+70 : _("""
  numéro de sous_point invalide :  %(k1)s  (<1 ou >nbspt)
  pour la maille                :  %(k2)s
  pour le point                 :  %(k3)s
 """),
 
-71: _("""
+71 : _("""
  numéro de composante invalide :  %(k1)s  (<1 ou >nbcmp)
  pour la maille                :  %(k2)s
  pour le point                 :  %(k3)s
  pour le sous-point            :  %(k4)s
 """),
 
-91: _("""
+91 : _("""
  incohérence des familles de points de Gauss pour la maille  %(k1)s
  ( %(k2)s / %(k3)s )
 """),
 
-92: _("""
+92 : _("""
  type scalaire du CHAM_NO :  %(k1)s  non réel.
 """),
 
-93: _("""
+93 : _("""
  type scalaire du NUME_DDL :  %(k1)s  non réel.
 """),
 
-99: _("""
+99 : _("""
  melange de CHAM_ELEM_S et CHAM_NO_S
 """),
+
 }
index 74ad85aef12053616b23f0d2bbd7577bcb6410cc..f46ff3d568eb0f98fb138671171e6063acddd898 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF calculel2 Messages  DATE 18/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF calculel2 Messages  DATE 19/05/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -36,11 +36,15 @@ cata_msg={
 """),
 
 8: _("""
-  %(k1)s  valeurs de chamno de deplacement n'ont pas ete recopiees sur  %(k2)s  noeuds a affecter  ce qui peut entrainer des erreurs de calcul sur la masse ajoutee des sous structures deduites par rotation et translation definies dans le modele  generalise. augmentez dist_refe ou assurez vous de l' invariance du maillage de structure par la translation et la rotation definies dans le modele generalise.
+  %(k1)s  valeurs de CHAMNO de deplacement n'ont pas ete recopiees sur  %(k2)s  noeuds
+  a affecter  ce qui peut entrainer des erreurs de calcul sur la masse ajoutee des sous structures
+  deduites par rotation et translation definies dans le modele  generalise. augmentez dist_refe
+  ou assurez vous de l' invariance du maillage de structure par la translation et la rotation
+  definies dans le modele generalise.
 """),
 
 9: _("""
-  -> plus de 50 %% des valeurs de CHAMNO de déplacement n'ont pas été recopiées
+  -> plus de 50 %% des valeurs de CHAM_NO de déplacement n'ont pas été recopiées
      ce qui peut entrainer des erreurs graves de calcul sur la masse ajoutée des
      sous structures déduites par rotation et translation définies dans le modèle généralisé
   -> Risque & Conseil :
@@ -51,12 +55,18 @@ cata_msg={
  trop de noeuds affectés
 """),
 
+11: _("""
+ Erreur d'utilisation :
+   Le maillage associé au modèle : %(k1)s
+   n'est pas le meme que celui du champ de matériaux : %(k2)s
+"""),
+
 12: _("""
le CHAM_NO est de longueur nulle.
Le CHAM_NO %(k3)s est vide.
 """),
 
 13: _("""
il manque la cmp: %(k1)s  sur le noeud: %(k2)s
Il manque la composante: %(k1)s  sur le noeud: %(k2)s pour le CHAM_NO: %(k3)s
 """),
 
 21: _("""
@@ -72,7 +82,8 @@ cata_msg={
 """),
 
 24: _("""
- on traite un superelement  et le noeud courant n'est ni un noeud lagrange, ni un noeud physqiue du maillage.
+ on traite un superelement  et le noeud courant n'est ni un noeud lagrange,
+ ni un noeud physique du maillage.
 """),
 
 25: _("""
@@ -84,7 +95,9 @@ cata_msg={
 """),
 
 27: _("""
- le maillage associe au champ: %(k1)s  est different de celui associe au ligrel:  %(k2)s
+ Erreur utilisateur :
+   Le maillage associé au champ: %(k1)s  (%(k3)s)
+   est different de celui associe au ligrel:  %(k2)s  (%(k4)s)
 """),
 
 28: _("""
@@ -92,7 +105,8 @@ cata_msg={
 """),
 
 29: _("""
- la grandeur associee au champ  %(k1)s : %(k2)s  n est pas celle associee au parametre  %(k3)s : %(k4)s  (option: %(k5)s
+ la grandeur associée au champ  %(k1)s : %(k2)s
+ n'est pas celle associée au paramètre  %(k3)s : %(k4)s  (option: %(k5)s
 """),
 
 30: _("""
@@ -108,7 +122,8 @@ cata_msg={
 """),
 
 33: _("""
- pour le modele  %(k1)s  on ne peut pas visualiser les champs ensemble  %(k2)s  ... car les familles de pg sont differentes
+ pour le modele  %(k1)s  on ne peut pas visualiser les champs ensemble  %(k2)s  ...
+ car les familles de pg sont differentes
 """),
 
 35: _("""
@@ -241,14 +256,6 @@ cata_msg={
  - type_element: %(k3)s )
 """),
 
-79: _("""
- ce chargement n'est pas prévu en lagrange
-"""),
-
-80: _("""
- le calcul lagrangien avec les températures n'est pas encore disponible
-"""),
-
 81: _("""
  pas de chgeom
 """),
@@ -257,18 +264,6 @@ cata_msg={
  il faut un MODELE
 """),
 
-83: _("""
- il n'y a pas de rigidité sur le modèle.
-"""),
-
-84: _("""
- il n'y a pas de masse sur le modèle.
-"""),
-
-85: _("""
- G_BILI : champ initial impossible
-"""),
-
 86: _("""
  il faut fournir COMPOR
 """),
index 83054a3ac639e66337033c0639518f72c9fa4522..fd0ee3363812f0468a80542720b8a299e109eff0 100644 (file)
@@ -1,21 +1,21 @@
-#@ MODIF calculel3 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF calculel3 Messages  DATE 07/04/2008   AUTEUR GALENNE E.GALENNE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.
 # ======================================================================
 
 def _(x) : return x
@@ -46,7 +46,7 @@ cata_msg = {
 """),
 
 6 : _("""
-  option  %(k1)s  non traitée pour un résultat de type  %(k2)s 
+  option  %(k1)s  non traitée pour un résultat de type  %(k2)s
 """),
 
 7 : _("""
@@ -55,17 +55,17 @@ cata_msg = {
 
 8 : _("""
  les champs SIEF_ELGA_DEPL, SIEF_ELGA, SIGM_ELNO_COQU et SIGM_ELNO_DEPL sont absents :
- on ne peut pas calculer l'option %(k1)s  avec la SD de type  %(k2)s 
+ on ne peut pas calculer l'option %(k1)s  avec la SD de type  %(k2)s
 """),
 
 9 : _("""
  le champ  SIGM_ELNO_DEPL est absent :
- on ne peut pas calculer l'option %(k1)s  avec la SD de type  %(k2)s 
+ on ne peut pas calculer l'option %(k1)s  avec la SD de type  %(k2)s
 """),
 
 10 : _("""
  le champ  SIGM_ELNO_COQU est absent :
- on ne peut pas calculer l'option %(k1)s  avec la SD de type  %(k2)s 
+ on ne peut pas calculer l'option %(k1)s  avec la SD de type  %(k2)s
 """),
 
 11 : _("""
@@ -93,15 +93,15 @@ cata_msg = {
 """),
 
 18 : _("""
- pas de champ de contraintes pour calculer  %(k1)s 
+ pas de champ de contraintes pour calculer  %(k1)s
 """),
 
 19 : _("""
- probleme à l'appel de ALCHML pour  %(k1)s 
+ probleme à l'appel de ALCHML pour  %(k1)s
 """),
 
 20 : _("""
- pas de champ d'endommagement pour calculer  %(k1)s 
+ pas de champ d'endommagement pour calculer  %(k1)s
 """),
 
 21 : _("""
@@ -109,11 +109,11 @@ cata_msg = {
 """),
 
 22 : _("""
-  option inexistante: %(k1)s 
+  option inexistante: %(k1)s
 """),
 
 23 : _("""
- option :  %(k1)s 
+ option :  %(k1)s
 """),
 
 25 : _("""
@@ -121,17 +121,13 @@ cata_msg = {
 """),
 
 27 : _("""
- type :  %(k1)s  incompatible avec l'option :  %(k2)s 
+ type :  %(k1)s  incompatible avec l'option :  %(k2)s
 """),
 
 28 : _("""
  type de champ inconnu
 """),
 
-29 : _("""
- erreur jacot 1
-"""),
-
 30 : _("""
  il faut un modèle ou des charges.
 """),
@@ -157,7 +153,7 @@ cata_msg = {
 """),
 
 38 : _("""
- on ne traite pas le type_scalaire: %(k1)s 
+ on ne traite pas le type_scalaire: %(k1)s
 """),
 
 39 : _("""
@@ -194,22 +190,6 @@ cata_msg = {
  données incorrectes.
 """),
 
-46 : _("""
- CALC_K_G : champ initial impossible
-"""),
-
-47 : _("""
- le fond de fissure doit contenir un noeud et un seul
-"""),
-
-48 : _("""
- il faut définir la normale au fond de fissure
-"""),
-
-49 : _("""
- on ne trouve pas le .nomo pour: %(k1)s 
-"""),
-
 50 : _("""
   il faut un modèle
 """),
@@ -230,10 +210,6 @@ cata_msg = {
  longueurs des modes locaux imcompatibles entre eux.
 """),
 
-55 : _("""
- la longueur:long est trop petite.
-"""),
-
 56 : _("""
  il n'y a pas autant de composantes
 """),
@@ -267,7 +243,7 @@ cata_msg = {
 """),
 
 64 : _("""
- l'instant du calcul est pris  arbitrairement a 0.0 
+ l'instant du calcul est pris  arbitrairement a 0.0
 """),
 
 65 : _("""
@@ -275,19 +251,15 @@ cata_msg = {
 """),
 
 66 : _("""
-  le concept evol_noli :  %(k1)s  ne contient aucun champ de deformations anelastiques.
-"""),
-
-67 : _("""
- pour calculer l'option  %(k1)s  les parametres suivants sont obligatoires: "pgeomer" et "pcontrr".
+  le concept evol_noli :  %(k1)s  ne contient aucun champ de déformations anélastiques.
 """),
 
 71 : _("""
- il faut 1 chargement de rotation et un seul. 
+ il faut 1 chargement de rotation et un seul.
 """),
 
 72 : _("""
-  il ne faut pas definir plus d"un champ de vitesse 
+  il ne faut pas definir plus d"un champ de vitesse
 """),
 
 73 : _("""
@@ -295,23 +267,7 @@ cata_msg = {
 """),
 
 74 : _("""
- type scalaire interdit : %(k1)s 
-"""),
-
-75 : _("""
-  on n'accepte un instant arbitraire que si le concept temperature n'a qu'1 champ.
-"""),
-
-76 : _("""
-  le concept evol_ther :  %(k1)s  ne contient aucun champ de temperature.
-"""),
-
-77 : _("""
- le champ de temperature utilise est independant du temps.
-"""),
-
-78 : _("""
- temperature de reference a probleme.
+ type scalaire interdit : %(k1)s
 """),
 
 79 : _("""
@@ -327,19 +283,11 @@ cata_msg = {
 """),
 
 84 : _("""
- il n y a pas de parametre  %(k1)s  associe a la grandeur: %(k2)s  dans l option: %(k3)s 
+ il n y a pas de parametre  %(k1)s  associe a la grandeur: %(k2)s  dans l option: %(k3)s
 """),
 
 85 : _("""
- il y a plusieurs parametres  %(k1)s  associes a la grandeur: %(k2)s  dans l option: %(k3)s 
-"""),
-
-86 : _("""
-  %(k1)s  non prévu
-"""),
-
-87 : _("""
- ELREFE inconnu  %(k1)s 
+ il y a plusieurs parametres  %(k1)s  associes a la grandeur: %(k2)s  dans l option: %(k3)s
 """),
 
 89 : _("""
@@ -378,15 +326,14 @@ cata_msg = {
 """),
 
 97 : _("""
- le champ de nom symbolique THETA existe deja dans la SD RESULTAT  %(k1)s 
-"""),
-
-98 : _("""
- le champ de nom symbolique GRAD_NOEU_THETA existe deja dans la SD RESULTAT  %(k1)s 
-"""),
-
-99 : _("""
- il faut donner 3 composantes de la direction
+  Erreur d'utilisation :
+    Fonctionnalité : PROJ_CHAMP
+    On cherche à projeter des mailles sur certains noeuds.
+    Mais la la liste de noeuds est vide.
+
+  Conseil :
+    Cette erreur peut venir d'une mauvaise utilisation du mot clé
+    PROJ_CHAMP/DISTANCE_MAX
 """),
 
 }
index 6568f4fb5dec4348405b9789295791e7727013e9..b5a214ee6dfe17ec8839247183d70ec3c8bf3520 100644 (file)
@@ -1,8 +1,8 @@
-#@ MODIF calculel4 Messages  DATE 18/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF calculel4 Messages  DATE 06/05/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2007  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
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-1: _("""
- option non opérationnelle:
- seule l'option COURONNE est à utiliser dans le cas où
- on emploie le mot clé THETA_3D
-"""),
-
-2: _("""
- il faut donner 3 composantes de la direction
- la 3ème nulle
-"""),
-
-3: _("""
- il faut donner la direction de propagation en 2D
- la direction par defaut n'existe plus
-"""),
-
-4: _("""
- option non opérationnelle:
- seule l'option COURONNE est à utiliser dans le cas où
- on emploie le mot clé THETA_2D
-"""),
-
-5: _("""
- option inexistante:
- seule l'option BANDE est à utiliser dans le cas ou on emploie le mot clé THETA_BANDE .
-"""),
-
-6: _("""
- la normale n'est pas orthogonale à la tangente à l'origine
-"""),
-
-7: _("""
- la normale n'est pas orthogonale à la tangente à l'extremite
-"""),
-
-8: _("""
+8 : _("""
  le resultat  %(k1)s  n'existe pas
 """),
 
-9: _("""
- creation de la table  %(k1)s
-"""),
+10 : _("""
+ Erreur d'utilisation :
+   On ne trouve pas de variables de commandes ('TEMP', 'HYDR', ...) :
+   Option: %(k2)s  type_element: %(k3)s )
 
-13: _("""
- probleme a la recuperation d'un champ
+ Risques & conseils :
+   La cause la plus fréquente de cette erreur est d'avoir oublié de
+   renseigner AFFE_MATERIAU/AFFE_VARC.
+   (Ou de n'avoir renseigné que AFFE_VARC/VALE_REF sans avoir renseigné EVOL ou CHAMP_GD)
 """),
 
-16: _("""
- dans le cas d'une SD RESULTAT de type DYNA_TRANS,
- le mot-cle EXCIT est obligatoire.
+11 : _("""
+ Erreur d'utilisation lors de l'affectation des variables de commande (AFFE_MATERIAU/AFFE_VARC):
+   Pour la variable de commande %(k1)s,
+   Vous avez oublié d'utiliser l'un des 2 mots clés CHAMP_GD ou EVOL.
+   L'abscence de ces 2 mots clés n'est permise que pour NOM_VARC='TEMP' (modélisations THM)
 """),
 
-17: _("""
- pour un resultat de type MODE_MECA,
- l option de calcul doit etre K_G_MODA.
+12 : _("""
+ Erreur de programmation (catalogue des éléments finis) :
+ Les éléments finis ayant l'attribut VOLU_FINI='OUI' ne peuvent créer que des
+ matrices élémentaires non-symétriques.
 """),
 
-19: _("""
- le mot cle 'FISSURE' est obligatoire avec l'option  %(k1)s
-"""),
 
-20: _("""
- le mot cle 'FOND_FISS' est obligatoire avec l'option  %(k1)s
-"""),
 
-21: _("""
- mot cle FOND_FISS obligatoire pour l option  %(k1)s
-"""),
-
-22: _("""
- champ THETA calcule automatiquement
-"""),
-
-23: _("""
- pour l option  %(k1)s (3d local) utiliser le mot cle THETA_LAGR
-"""),
-
-24: _("""
- il faut donner 3 composantes de la direction %(k1)s
-"""),
-
-25: _("""
- mot cle PROPAGATION utilisé seulement pour le calcul de G avec propagation lagrangienne
-"""),
 
-26: _("""
- cette combinaison de lissage n'est pas programmee pour l'option :  %(k1)s .
-"""),
-
-27: _("""
- le degré des polynomes de legendre doit etre inferieur ou egal au nombre de noeuds du fond de fissure avec la methode theta-lagrange
-"""),
-
-28: _("""
- le lissage de G doit etre de type LEGENDRE si le lissage de THETA est de type LEGENDRE
-"""),
-
-29: _("""
- l'option  %(k1)s  n'est pas permise avec le lissage 'lagrange_regu'
-"""),
-
-30: _("""
- si la methode 'lagrange_regu' est utilisee pour le lissage, alors le lissage de g et de theta doivent etre de type 'lagrange_regu'.
-"""),
-
-31: _("""
- champ theta obligatoire avec  %(k1)s . utiliser le mot cle theta_lagr.
-"""),
-
-32: _("""
- fond obligatoire avec option calc_k_g
-"""),
-
-36: _("""
- l usage des polynomes de legendre dans le cas d un fond de fissure clos est interdit.
-"""),
-
-37: _("""
- acces impossible au deplacement
-"""),
-
-38: _("""
- mot-clef <bornes> obligatoire avec l option  %(k1)s  !
-"""),
-
-39: _("""
- acces impossible au mode propre
-"""),
-
-40: _("""
- option non dispo actuellement
-"""),
-
-41: _("""
+41 : _("""
  erreur_01
 """),
 
-42: _("""
+42 : _("""
  erreur_02
 """),
 
-43: _("""
+43 : _("""
  le nom_para n'existe pas
 """),
 
-44: _("""
+44 : _("""
  0 ligne trouvee pour le nom_para
 """),
 
-45: _("""
+45 : _("""
  plusieurs lignes trouvees
 """),
 
-46: _("""
+46 : _("""
  code retour de "tbliva" inconnu
 """),
 
-47: _("""
+47 : _("""
  type_resu inconnu:  %(k1)s
 """),
 
-48: _("""
+48 : _("""
  erreur calcul alpha0 :champ depl elastique non trouve
 """),
 
-49: _("""
+49 : _("""
  erreur : le champ depl elastique n'existe pas
 """),
 
-50: _("""
+50 : _("""
  erreur: le champ sief_elga_depl n'existe pas
 """),
 
-51: _("""
+51 : _("""
  methode zac : accommodation et chargement non radial --> methode non appliquable
 """),
 
-53: _("""
+53 : _("""
  longueurs des modes locaux incompatibles entre eux.
 """),
 
-54: _("""
+54 : _("""
  aucuns noeuds sur lesquels projeter.
 """),
 
-55: _("""
+55 : _("""
  pas de mailles a projeter.
 """),
 
-56: _("""
+56 : _("""
   %(k1)s  pas trouve.
 """),
 
-57: _("""
+57 : _("""
  il n'y a pas de mailles a projeter.
 """),
 
-58: _("""
+58 : _("""
  les maillages a projeter sont ponctuels.
 """),
 
-59: _("""
+59 : _("""
  maillages 1 differents.
 """),
 
-60: _("""
+60 : _("""
  maillages 2 differents.
 """),
 
-61: _("""
+61 : _("""
  probleme dans l'examen de  %(k1)s
 """),
 
-62: _("""
+62 : _("""
  aucun numero d'ordre dans  %(k1)s
 """),
 
-63: _("""
- on ne sait pas encore projeter les champs  %(k1)s
+63 : _("""
+ On n'a pas pu projeter le champ %(k1)s de la sd_resultat %(k2)s
+ vers la sd_resultat %(k3)s pour le numéro d'ordre %(i1)d
 """),
 
-64: _("""
aucun champ projete.
+64 : _("""
Aucun champ projete.
 """),
 
-65: _("""
+65 : _("""
   maillages non identiques :  %(k1)s  et  %(k2)s
 """),
 
-66: _("""
+66 : _("""
  pas de chmate
 """),
 
-67: _("""
+67 : _("""
  erreur dans etanca pour le probleme primal
 """),
 
-68: _("""
+68 : _("""
  erreur dans etenca pour le probleme dual
 """),
 
-69: _("""
+69 : _("""
  On ne trouve pas la variable de commande :  %(k1)s  pour la maille:  %(k2)s
 """),
 
-79: _("""
+79 : _("""
  La grandeur :  %(k1)s  n'existe pas dans le catalogue des grandeurs.
 """),
 
-80: _("""
+80 : _("""
  le nom de la grandeur  %(k1)s  ne respecte pas le format xxxx_c
 """),
 
-81: _("""
+81 : _("""
  probleme dans le catalogue des grandeurs simples, la grandeur complexe %(k1)s  ne possede pas le
  meme nombre de composantes que son homologue réelle %(k2)s
 """),
 
-82: _("""
+82 : _("""
  probleme dans le catalogue des grandeurs simples, la grandeur %(k1)s  ne possede pas les memes champs que son homologue reelle %(k2)s
 """),
 
-83: _("""
+83 : _("""
  erreur: le calcul des contraintes ne fonctionne que pour le phenomene mecanique
 """),
 
-84: _("""
+84 : _("""
  erreur numeros des noeuds bords
 """),
 
-85: _("""
+85 : _("""
  erreur: les elements supportes sont tria3 ou tria6
 """),
 
-86: _("""
+86 : _("""
  erreur: les elements supportes sont quad4 ou quad8 ou quad9
 """),
 
-87: _("""
+87 : _("""
  maillage mixte tria-quad non supporte pour l estimateur zz2
 """),
 
-88: _("""
+88 : _("""
  erreur: les mailles supportees sont tria ou quad
 """),
 
-89: _("""
+89 : _("""
  erreur: un element du maillage possede tous ses sommets sur une frontiere. il faut au moins un sommet interne.
 Pour pouvoir utiliser ZZ2 il faut remailler le coin de telle facon que tous les trg aient au moins un sommet interieur.
 """),
 
-91: _("""
+91 : _("""
  on ne trouve pas de routine te0npq npq doit etre compris entre 1 et 600 ici : npq = %(k1)s
 """),
 
-92: _("""
+92 : _("""
   relation :  %(k1)s  non implantee sur les poulies
 """),
 
-93: _("""
+93 : _("""
   deformation :  %(k1)s  non implantee sur les poulies
 """),
 
-94: _("""
+94 : _("""
  l'attribut:  %(k1)s  n'existe pas pour le type:  %(k2)s
 """),
 
-95: _("""
- erreur de programmation :
- on ne trouve pas dans les arguments de la routine calcul de champ a associer au parametre: %(k1)s  (option: %(k2)s  type_element: %(k3)s )
+95 : _("""
+ Erreur de programmation ou d'utilisation :
+   On ne trouve pas dans les arguments de la routine calcul de champ a associer
+   au parametre: %(k1)s  (option: %(k2)s  type_element: %(k3)s )
 """),
 
-96: _("""
erreur de programmation :
+96 : _("""
Erreur de programmation :
  on n'a pas pu extraire toutes les cmps voulues du champ global associe au parametre: %(k1)s  (option: %(k2)s  type_element: %(k3)s )
 """),
 
-97: _("""
+97 : _("""
  TOUT = OUI obligatoire avec  %(k1)s
 """),
 
-98: _("""
- on n'a pas pu récupérer le paramètre THETA dans le résultat  %(k1)s 
+98 : _("""
+ on n'a pas pu récupérer le paramètre THETA dans le résultat  %(k1)s
  valeur prise pour THETA: 0.57
 """),
 
-99: _("""
+99 : _("""
  récupération d'une valeur de THETA illicite dans le résultat  %(k1)s
  valeur prise pour THETA: 1.
 """),
+
 }
index 83a3db4eab0e9979f2b3abc320bc35ee89f7a9e5..d1dbf3cf0cef7fb4ce7c3b3fd2b8ff1ddb7e0ac7 100644 (file)
@@ -1,21 +1,21 @@
-#@ MODIF calculel5 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF calculel5 Messages  DATE 18/03/2008   AUTEUR CNGUYEN C.NGUYEN 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.
 # ======================================================================
 
 def _(x) : return x
@@ -30,20 +30,19 @@ cata_msg = {
  !! probleme creation cham_elem nul dans alchml !!
 """),
 
-5 : _("""
- nb_ec trop grand
-"""),
 
-6 : _("""
- cumul impossible avec i
-"""),
 
-7 : _("""
- cumul impossible avec kn
-"""),
+
+
+
+
+
+
+
+
 
 8 : _("""
- il faut donner "maille"
+ il faut renseigner le mot clé MAILLE
 """),
 
 10 : _("""
@@ -55,7 +54,7 @@ cata_msg = {
 """),
 
 12 : _("""
"type_test" inconnu
TYPE_TEST inconnu
 """),
 
 13 : _("""
@@ -66,41 +65,35 @@ cata_msg = {
  le champ  %(k1)s  est de type inconnu.
 """),
 
-16 : _("""
- ! nbnv: typelem inconnu !
-"""),
 
-17 : _("""
- ! jac(ipg): div par zero !
-"""),
+
+
+
+
+
+
+
 
 20 : _("""
- le group_no  %(k1)s  contient  %(k2)s  noeuds
+ le GROUP_NO  %(k1)s  contient  %(k2)s  noeuds
 """),
 
 21 : _("""
- le group_ma  %(k1)s  contient  %(k2)s  mailles
+ le GROUP_MA  %(k1)s  contient  %(k2)s  mailles
 """),
 
-22 : _("""
- ! jac(1): div par zero !
-"""),
 
-23 : _("""
- ! jac(2): div par zero !
-"""),
 
-24 : _("""
- ! hf: div par zero !
-"""),
 
-25 : _("""
- ! calcul naret 2d: typelem inconnu !
-"""),
 
-26 : _("""
- ! calcul nsomm 2d: typelem inconnu !
-"""),
+
+
+
+
+
+
+
+
 
 27 : _("""
  ! pas de lumpe en 3d p2: hexa20_d --> face8_d !
@@ -118,25 +111,25 @@ cata_msg = {
  ! pas de lumpe en 3d p2: tetra10_d --> face6_d !
 """),
 
-31 : _("""
- ! calcul naret/nsomm 3d: typelem inconnu !
-"""),
 
-32 : _("""
- ! l'objet chval des segments est inexistant !
-"""),
 
-33 : _("""
- ! l'objet chval2 des segments est inexistant !
-"""),
+
+
+
+
+
+
+
+
 
 34 : _("""
  ! p2 obligeatoire avec terme source non nul !
 """),
 
-37 : _("""
- programme  %(k1)s
-"""),
+
+
+
+
 
 38 : _("""
   il faut definir un champ de vitesse
@@ -158,9 +151,9 @@ cata_msg = {
  comportements incompatibles :  %(k1)s  et  %(k2)s  pour la maille  %(k3)s
 """),
 
-43 : _("""
- erreur pgmeur dans zechlo : type_scalaire: %(k1)s  non autorise(r ou c),
-"""),
+
+
+
 
 44 : _("""
  ! le champ doit etre un cham_elem !
@@ -175,10 +168,11 @@ cata_msg = {
 """),
 
 48 : _("""
- PROJ_CHAMP (ou LAISON_MAIL) :
- Le noeud : %(k1)s      est projeté sur une maille un peu distante (%(k2)s).
-    distance à la maille  =   %(r1)g
-    diamètre de la maille =   %(r2)g
+ PROJ_CHAMP (ou LIAISON_MAIL) :
+ Certains noeuds ont été projetés sur des mailles un peu distantes
+ (la distance à la maille est supérieure à 1/10ième du diamètre de la maille) 
+ Le noeud projeté le plus loin est le noeud: %(k1)s
+ Il a été projeté à la distance %(r1)f
 """),
 
 49 : _("""
@@ -195,7 +189,7 @@ cata_msg = {
 
 51 : _("""
  Le repère de post-traitement a été défini dans la commande AFFE_CARA_ELEM mot clé facteur COQUE.
- Il est conseillé de définir ce repère à l'aide du mot clé ANGL_REP ou VECTEUR du mot clé 
+ Il est conseillé de définir ce repère à l'aide du mot clé ANGL_REP ou VECTEUR du mot clé
  facteur REPE_COQUE de la commande CALC_ELEM.
 """),
 
@@ -218,18 +212,18 @@ cata_msg = {
 """),
 
 56 : _("""
- La combinaison 'fonction multiplicatrice' et 'chargement de type fonction' n'est pas autorisée car 
+ La combinaison 'fonction multiplicatrice' et 'chargement de type fonction' n'est pas autorisée car
  votre chargement %(k1)s contient une charge exprimée par une formule.
- Pour réaliser cette combinaison, vous devez transformer votre charge 'formule' en charge 'fonction' 
+ Pour réaliser cette combinaison, vous devez transformer votre charge 'formule' en charge 'fonction'
  (via l'opérateur DEFI_FONCTION ou CALC_FONC_INTERP).
  On poursuit sans tenir compte de la fonction multiplicatrice.
 """),
 
 57 : _("""
- La combinaison de chargements de meme type n'est pas autorisée car l'un des chargements 
+ La combinaison de chargements de meme type n'est pas autorisée car l'un des chargements
  contient une charge exprimée par une formule.
- Pour réaliser cette combinaison, vous devez transformer votre charge 'formule' en charge 'fonction' 
- (via l'opérateur DEFI_FONCTION ou CALC_FONC_INTERP) 
+ Pour réaliser cette combinaison, vous devez transformer votre charge 'formule' en charge 'fonction'
+ (via l'opérateur DEFI_FONCTION ou CALC_FONC_INTERP)
 """),
 
 58 : _("""
@@ -250,91 +244,91 @@ cata_msg = {
 """),
 
 64 : _("""
- les champs ne sont pas de la meme grandeur:  type du cham_no  %(k1)s 
-   type du cham_no_affe  %(k2)s 
+ les champs ne sont pas de la meme grandeur:  type du cham_no  %(k1)s
+   type du cham_no_affe  %(k2)s
 """),
 
 65 : _("""
- composante non definie dans  la grandeur.  composante:  %(k1)s 
+ composante non definie dans  la grandeur.  composante:  %(k1)s
 """),
 
 66 : _("""
+
  le nombre de composantes affectees n'est pas egal  au nombre de composantes a affecter
- occurence de affe numero %(i1)d 
- nbre de cmp affectees :  %(i2)d 
- nbre de cmp a affecter :  %(i3)d 
+ occurence de affe numero %(i1)d
+ nbre de cmp affectees :  %(i2)d
+ nbre de cmp a affecter :  %(i3)d
 """),
 
 67 : _("""
- erreurs donneesle group_ma  %(k1)s 
-  n'a pas le meme nombre de mailles  que le group_ma  %(k2)s 
+ erreurs donneesle GROUP_MA  %(k1)s
+  n'a pas le meme nombre de mailles  que le GROUP_MA  %(k2)s
 """),
 
 68 : _("""
- erreurs donneesle group_ma  %(k1)s 
-  n'a pas les memes types de maille  que le group_ma  %(k2)s 
+ erreurs donneesle GROUP_MA  %(k1)s
+  n'a pas les memes types de maille  que le GROUP_MA  %(k2)s
 """),
 
 69 : _("""
- erreurs donnees : la maille  %(k1)s  du maillage  %(k2)s 
-  n'est pas la translation de la  maille  %(k3)s 
-  du maillage  %(k4)s 
+ erreurs donnees : la maille  %(k1)s  du maillage  %(k2)s
+  n'est pas la translation de la  maille  %(k3)s
+  du maillage  %(k4)s
     vecteur translation :  %(r1)f %(r2)f %(r3)f
 """),
 
 70 : _("""
- l'instant  de calcul  %(r1)f  n'existe pas dans  %(k1)s 
+ l'instant  de calcul  %(r1)f  n'existe pas dans  %(k1)s
 """),
 
 71 : _("""
- plusieurs numeros d'ordre trouves pour l'instant  %(r1)f 
+ plusieurs numeros d'ordre trouves pour l'instant  %(r1)f
 """),
 
 72 : _("""
- cette commande est reentrante :   sd resultat en sortie     %(k1)s 
-    sd resultat "resu_final"  %(k2)s 
+ cette commande est reentrante :   sd resultat en sortie     %(k1)s
+    sd resultat "resu_final"  %(k2)s
 """),
 
 73 : _("""
- la sd resultat en sortie  %(k1)s 
-  doit contenir qu'un seul nume_ordre %(k2)s 
+ la sd resultat en sortie  %(k1)s
+  doit contenir qu'un seul nume_ordre %(k2)s
 """),
 
 74 : _("""
- manque le champ  %(k1)s  dans la sd resultat  %(k2)s 
-  pour le nume_ordre  %(i1)d 
+ manque le champ  %(k1)s  dans la sd resultat  %(k2)s
+  pour le nume_ordre  %(i1)d
 """),
 
 76 : _("""
- on ne sait pas encore decouper le type_element :  %(k1)s  en sous-elements %(k2)s 
-    elrefa  :  %(k3)s 
-    famille :  %(k4)s 
+ on ne sait pas encore decouper le type_element :  %(k1)s  en sous-elements %(k2)s
+    elrefa  :  %(k3)s
+    famille :  %(k4)s
 """),
 
 78 : _("""
- on ne sait pas encore decouper le type_element :  %(k1)s  en sous-elements %(k2)s 
-    elrefa :  %(k3)s 
+ on ne sait pas encore decouper le type_element :  %(k1)s  en sous-elements %(k2)s
+    elrefa :  %(k3)s
 """),
 
 83 : _("""
- ecla_pg : champ vide nom_cham:  %(k1)s  nume_ordre :  %(i1)d 
+ ecla_pg : champ vide nom_cham:  %(k1)s  nume_ordre :  %(i1)d
 """),
 
 84 : _("""
- elrefe mal programme nom local cherche (nomte elrefe famille)  %(k1)s 
- parmi les existants  %(k2)s 
+ elrefe mal programme nom local cherche (nomte elrefe famille)  %(k1)s
+ parmi les existants  %(k2)s
 """),
 
 85 : _("""
- pb liste de mailles carte : %(k1)s  numero entite : %(i1)d 
-  position ds liste : %(i2)d 
-  numero de maille  : %(i3)d 
+ pb liste de mailles carte : %(k1)s  numero entite : %(i1)d
+  position ds liste : %(i2)d
+  numero de maille  : %(i3)d
 """),
 
 87 : _("""
  famille non disponible
- maille de reference  %(k1)s 
+ maille de reference  %(k1)s
 """),
 
 }
index 74e3087fb8b16465ed3667a95654914c0c224b72..a848d8b14d392aa9c66a2e71465e029dc6febcb5 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF calculel6 Messages  DATE 16/10/2007   AUTEUR SALMONA L.SALMONA 
+#@ MODIF calculel6 Messages  DATE 18/03/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
@@ -40,13 +40,6 @@ Solution :
 
 
 
-9: _("""
-  Erreur d'utilisation :
-  Vous avez utilisé le mot clé AFFE_MATERIAU/AFFE/TEMP_REF
-  alors que la température de référence doit etre fournie avec le mot clé :
-  AFFE_MATERIAU/AFFE_VARC/VALE_REF= ...     (NOM_VARC='TEMP')
-"""),
-
 10: _("""
   Option inconnue %(k1)s
 """),
@@ -63,14 +56,6 @@ Solution :
   la solution et les estimations d' erreurs ne peuvent etre calculees. %(k2)s
 """),
 
-16: _("""
- interpolation temperature:
- evol_ther: %(k1)s
- nom symbolique: %(k2)s
- instant: %(r1)f
- icoret: %(i1)d
-"""),
-
 17: _("""
  recherche nbre de cmp: erreur:  %(k1)s grandeur numero  %(i1)d  de nom  %(k2)s
 """),
@@ -101,22 +86,6 @@ Solution :
  recherche nbre d entiers codes grandeur %(i1)d a un code inconnu:  %(i2)d
 """),
 
-27: _("""
- acces impossible  champ :  %(k1)s , nume_ordre :  %(i1)d
-"""),
-
-28: _("""
- acces impossible au mode propre champ :  %(k1)s , nume_ordre :  %(i1)d
-"""),
-
-34: _("""
- famille non disponible    type de maille  %(k1)s
-    famille d'integration  %(i1)d
-"""),
-
-41: _("""
- famille non disponible    type de maille  %(k1)s
-"""),
 
 42: _("""
  La prise en compte de l'erreur sur une condition aux limites
@@ -167,37 +136,31 @@ Solution :
 """),
 
 54: _("""
- Utilisation d'un mot clé obsolète : AFFE_CHAR_MECA/TEMP_CALCULEE
-
- L'une des charges contient un chargement thermique (TEMP_CALCULEE).
- L'utilisation de la température comme variable de commande en mécanique doit
- maintenant se faire en utilisant AFFE_MATERIAU/AFFE_VARC/NOM_VARC='TEMP'.
+ Problème d'utilisation du parallélisme :
+   Les fonctionnalités de parallélisme utilisées ici (calculs distribués) conduisent à créer
+   des structures de données "incomplètes" (i.e. partiellement calculées sur chaque processeur).
 
- Néanmoins, jusqu'à la version 9.1 (incluse), les 2 syntaxes sont acceptées.
+   Malheureusement, dans la suite des traitements, le code a besoin que les structures de données soient
+   "complètes". On est donc obligé d'arreter le calcul.
 
- Conseil :
- Déplacer le chargement thermique de AFFE_CHAR_MECA/TEMP_CALCULEE vers
- AFFE_MATERIAU/AFFE_VARC
+ Conseils pour l'utilisateur :
+   1) Il faut émettre une demande d'évolution du code pour que le calcul demandé aille à son terme.
+   2) En attendant, il ne faut pas utiliser la "distribution" des structures de donnée.
+      Aujourd'hui, cela veut dire : "ne pas utiliser le solveur MUMPS distribué".
 """),
 
-55: _("""
- Erreur d'utilisation (préparation des variables de commande) :
- Le CHAM_MATER %(k1)s contient des variables de commandes (AFFE_VARC).
- Une des charges contient un chargement thermique (TEMP_CALCULEE).
 
- Conseil :
- Déplacer le chargement thermique de AFFE_CHAR_MECA/TEMP_CALCULEE vers
- AFFE_MATERIAU/AFFE_VARC
-"""),
+
+
+
 
 56: _("""
  Erreur d'utilisation (rcmaco/alfint) :
- Le CHAM_MATER %(k1)s contient des variables de commandes (AFFE_MATERIAU/AFFE_VARC).
- Un des matériaux du CHAM_MATER contient un coefficient de dilation ALPHA=f(TEMP).
- Mais la température n'est pas fournie sous AFFE_MATERIAU/AFFE_VARC
+ Un des matériaux du CHAM_MATER %(k1)s contient un coefficient de dilation ALPHA=f(TEMP).
+ Mais la température de référence n'est pas fournie sous AFFE_MATERIAU/AFFE_VARC/VALE_REF
 
  Conseil :
- Renseignez le chargement thermique à l'aide de AFFE_MATERIAU/AFFE_VARC/NOM_VARC='TEMP'
+ Renseignez la température de référence à l'aide de AFFE_MATERIAU/AFFE_VARC/NOM_VARC='TEMP' + VALE_REF
 """),
 
 57: _("""
@@ -247,10 +210,11 @@ Solution :
 
 62: _("""
  Erreur de programmation (fointa) :
-    Pour l'interpolation de la fonction %(k1)s,
+    Pour l'interpolation de la fonction %(k1)s sur la maille %(k3)s,
     il manque le paramètre %(k2)s
 """),
 
+
 63: _("""
  Erreur lors de l'interpolation (fointa) de la fonction %(k1)s :
  Code retour: %(i1)d
@@ -347,10 +311,10 @@ Solution :
 
 --> Risques & conseils :
 On doit généralement utiliser la meme loi de comportement entre le calcul et le
-post-traitement. On peut utiliser deux comportements différents, mais alors 
+post-traitement. On peut utiliser deux comportements différents, mais alors
 l'utilisateur doit etre vigilant sur l'interprétation des résultats(cf.U2.05.01).
-Si plusieurs comportements sont définis sur la structure, le comportement à 
-indiquer dans CALC_G est celui du matériau dans lequel la fissure se développe. 
+Si plusieurs comportements sont définis sur la structure, le comportement à
+indiquer dans CALC_G est celui du matériau dans lequel la fissure se développe.
 Dans ce cas, ce message d'alarme est quand meme émis mais le résultat est bien cohérent.
 """),
 
index fc439700f5c0d10770496ecb7ce6e0dc85c618ce..e252890cc0142809b5b84f460bbdf80bbef492a3 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF compor1 Messages  DATE 11/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF compor1 Messages  DATE 06/05/2008   AUTEUR MARKOVIC D.MARKOVIC 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -33,7 +33,7 @@ cata_msg={
 """),
 
 3: _("""
- CAM_CLAY :: le coefficient de poisson est négatif
+ CAM_CLAY :: le coefficient de poisson et ou le module d'Young ne sont pas corrects
              dans la maille %(k1)s
              
              *** vérifiez la cohérence des données mécaniques suivantes :
@@ -42,7 +42,10 @@ cata_msg={
 
                  il faut notamment vérifier ceci:
                
-                 E < 3*PO*(1+e0)/kapa ***
+                 0. <NU = (3*(1+e0)*P- - 2*kapa*mu)/
+                          (6*(1+e0)*P- + 2*kapa*mu) <= 0.5 
+                          
+                          et E >0 ***
 """),
 
 4: _("""
@@ -153,4 +156,69 @@ Erreur num
 """),
 
 
+26: _("""
+ lklmat :: paramètres de la loi LETK non cohérents 
+"""),
+27: _("""
+ lkcomp :: Réduire le pas de temps peut dans certains cas remédier au problème.
+ Le critère visqueux max en ce point de charge n'est 
+ pas défini. Le calcul de la distance au critère n'est pas fait.
+"""),
+28: _("""
+ lkcomp :: Réduire le pas de temps peut dans certains cas remédier au problème.
+ Le critère visqueux en ce point de charge n'est pas défini. 
+ Le calcul de la distance au critère n'est pas fait.
+"""),
+
+29: _("""
+ lkdhds :: division par zéro - entrée rapide en plasticité avec un déviateur nul. 
+ réduire le pas de temps.
+"""),
+
+30: _("""
+ lkds2h :: division par zéro - entrée rapide en plasticité avec un déviateur nul. 
+ réduire le pas de temps.
+"""),
+
+31: _("""
+ lkcaln :: division par zéro - entrée rapide en plasticité avec un déviateur nul. 
+ réduire le pas de temps.
+"""),
+
+32: _("""
+ VISC_CINx_CHAB :: pour la viscosité, renseigner le mot-clé LEMAITRE dans DEFI_MATERIAU. 
+ Si vous voulez seulement de l'élastoplasticité, il faut utiliser VMIS_CINx_CHAB.
+"""),
+
+33: _("""
+ NMHUJ :: ELAS/ELAS_ORTH :: erreur de lecture des propriétés matériaux.
+"""),
+
+34: _("""
+ HUJTID :: ELAS/ELAS_ORTH :: cas non prévu.
+"""),
+
+35: _("""
+ HUJDP :: ELAS/ELAS_ORTH :: cas non prévu.
+"""),
+
+36: _("""
+ HUJTEL :: ELAS/ELAS_ORTH :: cas non prévu.
+"""),
+
+37: _("""
+ HUJPOT :: ELAS/ELAS_ORTH :: cas non prévu.
+"""),
+
+38: _("""
+ HUJJID :: ELAS/ELAS_ORTH :: cas non prévu.
+"""),
+
+39: _("""
+ HUJIID :: ELAS/ELAS_ORTH :: cas non prévu.
+"""),
+
+40: _("""
+ HUJELA :: ELAS/ELAS_ORTH :: cas non prévu.
+"""),
 }
index c9dfd768b62371b6c14b70b73b3fdc146a3a807d..e311743fac98a0f52e00c4cba758a627c6b371d1 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF contact Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOI
+#@ MODIF contact Messages  DATE 01/04/2008   AUTEUR ABBAS M.ABBA
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -23,15 +23,17 @@ def _(x) : return x
 cata_msg = {
 
 1 : _("""
-La méthode de résolution du contact utilisée suppose la symétrie de la
-matrice du système à résoudre.
-Dans le cas où votre modélisation ferait intervenir une matrice 
-non-symétrique, on force sa symétrie. On émet une alarme pour vous 
-en avertir. 
-
-CONSEIL : 
-Vous pouvez supprimer cette alarme en renseignant SYME='OUI' sous le 
-mot-clé facteur SOLVEUR.
+Contact méthodes discrètes.
+ -> Les méthodes de contact discrètes supposent la symétrie de la matrice obtenue après assemblage.
+    Si votre modélisation produit une matrice non-symétrique, on force donc sa symétrie pour résoudre
+    le contact.
+ -> Risque & Conseil :
+    Ce changement peut conduire à des difficultés de convergence dans le processus de Newton mais en
+    aucun cas il ne produit des résultats faux.
+    
+    Si la matrice de rigidité de votre structure est symétrique, vous pouvez ignorer ce qui précède.
+    Enfin, il est possible de supprimer l'affichage de cette alarme en renseignant SYME='OUI'
+    sous le mot-clé facteur SOLVEUR.
 """),
 
 2 : _("""
@@ -46,7 +48,7 @@ Vous pouvez essayer d'augmenter ITER_PRE_MAXI
 """),
 
 6 : _("""
-Contact methode GCP. On ne peut utiliser le solveur GCPC avec le contact 
+Contact methode GCP. On ne peut utiliser le solveur GCPC avec le contact. 
 """),
 
 7 : _("""
@@ -54,88 +56,62 @@ Contact methode GCP. Le pas d'avancement est negatif ; risque de comportement ha
 """),
 
 9 : _("""
-Contact liaison glissiere. Des noeuds se decollent plus que la valeur d'ALARME_JEU:
-"""),
-
-10 : _("""
-Contact méthodes discrètes. Une maille maitre de type SEG a une longueur nulle. Verifiez votre maillage.
+Contact liaison glissiere. Des noeuds se décollent plus que la valeur d'ALARME_JEU:
 """),
 
 11 : _("""
-Contact méthodes discrètes. Le vecteur tangent défini par VECT_Y est colinéaire au vecteur normal.
+Le vecteur tangent défini par VECT_Y est colinéaire au vecteur normal.
 """),
 
-12 : _("""
-Contact méthodes discrètes. Le vecteur normal est colinéaire au plan de projection.
+13 : _("""
+La normale que vous avez prédéfinie (VECT_* = 'FIXE') sur le noeud %(k1)s est colinéaire à la tangente à la maille.
 """),
 
 14 : _("""
-Contact méthodes discrètes. La projection quadratique pour les triangles n'est pas disponible
+La normale que vous avez prédéfinie (VECT_* = 'FIXE') sur la maille %(k1)s est colinéaire à la tangente à la maille.
 """),
 
 15 : _("""
-Contact méthodes discrètes. Une maille maitre de type TRI a une surface nulle. Verifiez votre maillage.
-"""),
-
-27 : _("""
-Contact méthodes discrètes. On n'a pas trouve de noeud maitre proche du noeud esclave : contacter les developpeurs
-"""),
-
-32 : _("""
-Contact méthodes discrètes. Pas de lissage des normales possible avec l'appariement nodal : contacter les developpeurs
-"""),
-
-54 : _("""
-Contact méthodes discrètes. On ne peut pas utiliser une direction d'appariement fixe VECT_NORM_ESCL si l'appariement n'est pas NODAL.
+Le vecteur MAIT_FIXE ou ESCL_FIXE est nul !
 """),
 
-55 : _("""
-Contact méthodes discrètes. La commande VECT_Y n'est utilisable qu'en 3D.
-"""),
-
-56 : _("""
-Contact méthodes discrètes. La commande VECT_ORIE_POU n'est utilisable qu'en 3D.
+16 : _("""
+Le vecteur MAIT_VECT_Y ou ESCL_VECT_Y est nul !
 """),
 
 60 : _("""
-Contact méthodes discrètes. Vous utilisez des mailles de type SEG2/SEG3 en 3D sans definir un repere pour l'appariement. Voir les mots-clefs VECT_Y et VECT_ORIE_POU.
+La maille %(k1)s est de type 'SEG' (poutres) en 3D sans donner la normale pour l'appariement.
+Vous devez utilisez l'option NORMALE:
+- FIXE: qui décrit une normale constante pour la poutre
+- ou VECT_Y: qui décrit une normale par construction d'un repère basé sur la tangente (voir documentation)
 """),
 
-75 : _("""
-Contact méthodes discrètes. Un POI1 ne peut pas etre une maille maitre.
+61 : _("""
+Le noeud %(k1)s fait partie d'une maille de type 'SEG' (poutres) en 3D sans donner la normale pour l'appariement.
+Vous devez utilisez l'option NORMALE:
+- FIXE: qui décrit une normale constante pour la poutre
+- ou VECT_Y: qui décrit une normale par construction d'un repère basé sur la tangente (voir documentation)
 """),
 
-76 : _("""
-Contact. On ne peut pas avoir plus de 3 ddls impliques dans la meme relation unilaterale : contacter les developpeurs
-"""),
 
 83 : _("""
-Contact. Il y a plusieurs charges contenant des conditions de contact.
+Il y a plusieurs charges contenant des conditions de contact.
 """),
 
 84 : _("""
-Contact. Melange 2d et 3d dans le contact.
-"""),
-
-85 : _("""
-Contact. Melange dimensions maillage dans le contact.
-"""),
-
-86 : _("""
-Contact. Code methode contact incorrect : contacter les developpeurs
-"""),
-
-87 : _("""
-Contact. La norme tangentielle de frottement est negative: contacter les developpeurs
+Il ne faut pas que les surfaces de contact mélangent des mailles affectées d'une modélisations planes (D_PLAN, C_PLAN ou AXI)
+avec des mailles affectées d'une modélisation 3D. 
 """),
 
 88 : _("""
-Contact. Ne pas utiliser REAC_INCR=0 avec le frottement.
+Ne pas utiliser REAC_INCR=0 avec le frottement.
 """),
 
 93 : _("""
 Contact methode VERIF.
  -> Interpénétrations des surfaces.
+    Attention : si les mailles en contact sont quadratiques, le jeu aux noeuds milieux risque d'etre imprécis (oscillations entre noeuds sommets et milieux).
  -> Risque & Conseil :
     Vérifier si le niveau d'interpénétration des surfaces est acceptable dans
     votre problème.
index 8d1c48a7bd89c9dfc59d601853dd8e64664d5666..1f04f5a551172a6b1805937d24a706ad0474f830 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF contact2 Messages  DATE 24/09/2007   AUTEUR ABBAS M.ABBAS 
+#@ MODIF contact2 Messages  DATE 01/04/2008   AUTEUR ABBAS M.ABBAS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
index a8edade2c97efe111096a8de778cd50de5fd938b..6a8152deaf55c254fce0db182c88362c1f256816 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF contact3 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF contact3 Messages  DATE 22/04/2008   AUTEUR ABBAS M.ABBAS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -37,50 +37,44 @@ L'option < %(k1)s > ne correspond a aucune option permise par le mot-clef < %(k2
 Note DVP: erreur de cohérence fortran/catalogue.            
 """),
 
-10 : _("""
-La matrice est singulière lors du calcul du repère local tangent au noeud maitre  %(k1)s  sur la maille maitre %(k2)s.
-Une erreur de définition de la maille: les vecteurs tangents sont colinéaires.
-"""),
-
-11 : _("""
-La matrice est singulière lors de la projection du point de contact  sur la maille maitre  %(k1)s.
-Une erreur de définition de la maille: les vecteurs tangents sont colinéaires.
-"""),
-
-12 : _("""
-L'algorithme de Newton a échoué lors du calcul du repère local tangent au noeud maitre %(k1)s sur la maille maitre  %(k2)s.
-Erreur de définition de la maille ou projection difficile. Contactez l'assistance dans ce dernier cas. 
-"""),
 
 13 : _("""
-L'algorithme de Newton a échoué lors de la projection du point de contact  sur la maille maitre  %(k1)s.
+L'algorithme de Newton a échoué lors de la projection du point de contact de coordonnées
+  (%(r1)s,%(r2)s,%(r3)s)
+sur la maille %(k1)s.
 Erreur de définition de la maille ou projection difficile. Contactez l'assistance dans ce dernier cas.  
 """),
 
 14 : _("""
-Les vecteurs tangents sont nuls au noeud maitre  %(k1)s  sur la maille maitre  %(k2)s.
-Une erreur de définition de la maille.
+Les vecteurs tangents sont nuls au niveau du projeté du point de contact de coordonnées
+  (%(r1)s,%(r2)s,%(r3)s) 
+sur la maille %(k1)s, 
+Erreur de définition de la maille ou projection difficile. Contactez l'assistance dans ce dernier cas.
 """),
 
 15 : _("""
-Contact méthode continue.
-Le vecteur DIRE_APPA est nul !
+La direction d'appariement fixe données par le vecteur DIRE_APPA est nulle !
 """),
 
-21 : _("""
-Les vecteurs tangents sont nuls lors de la projection du point de contact sur la maille maitre  %(k1)s. 
-Une erreur de définition de la maille.
+16 : _("""
+Contact méthode continue.
+La méthode d'intégration est GAUSS, le champ VALE_CONT n'est pas créé.
 """),
 
-22 : _("""
-L'élement inconnu sur la maille maitre  %(k1)s.
-Cet élément n'est pas programmé pour le contact avec formualtion continue.
-Contactez l'assistance. 
+17 : _("""
+Contact méthode continue.
+Avec un FOND-FISSURE, il est impossible d'utiliser les options suivantes:
+- LISSAGE = 'OUI' ou/et
+- NORMALE = 'ESCL' ou
+- NORMALE = 'MAIT_ESCL'
 """),
 
+
 23 : _("""
-Le vecteur normal est nul sur le noeud maitre  %(k1)s.
-Si vous avez activé le lissage, essayeé de le désactiver. 
+Le vecteur normal est nul au niveau du projeté du point de contact de coordonnées
+  (%(r1)s,%(r2)s,%(r3)s) 
+sur la maille %(k1)s, 
+Erreur de définition de la maille ou projection difficile. Contactez l'assistance dans ce dernier cas.
 """),
 
 24 : _("""
@@ -93,11 +87,11 @@ L'
 """),
 
 26 : _("""
-Schema d'intégration inconnu sur la maille  %(k1)s. 
+Le vecteur normal est nul au niveau du noeud %(k1)s.
 """),
 
 27 : _("""
-Code erreur introuvable. Contactez les développeurs.
+Le vecteur normal est nul au niveau de la maille %(k1)s.
 """),
 
 28 : _("""
@@ -105,11 +99,63 @@ Le statut du contact a chang
 Présence de flip-flop. 
 """),
 
+30 : _("""
+Le couple de surfaces de contact %(i1)s pour l'appariement nodal est mal défini.
+Il faut moins de noeuds esclaves que de noeuds maitres pour respecter l'injectivité.
+Or ici:
+Nombre de noeuds maitres : %(i2)s
+Nombre de noeuds esclaves: %(i3)s
+Conseil: intervertissez les deux surfaces maitres et esclaves
+"""),
+
+31 : _("""
+Les vecteurs tangents sont nuls au niveau quand on projette le noeud esclave
+%(k1)s sur la maille %(k2)s
+"""),
+
+32: _("""
+ Le mot-clef DIST_POUT ne fonctionne qu'avec des sections circulaires définies dans AFFE_CARA_ELEM.
+ """),
+
+33 : _("""
+L'erreur suivante est arrivée lors du pré-calcul des normales aux noeuds activées par les options
+- LISSAGE = 'OUI' ou/et
+- NORMALE = 'ESCL' ou
+- NORMALE = 'MAIT_ESCL'
+"""),
+
+34 : _("""
+Echec de l'orthogonalisation du repère tangent construit au niveau du projeté du point de contact de coordonnées
+  (%(r1)s,%(r2)s,%(r3)s) 
+sur la maille %(k1)s, 
+Erreur de définition de la maille ou projection difficile. Contactez l'assistance dans ce dernier cas.
+"""),
+
 35 : _("""
-Contact méthode continue. 
-  -> La normale calculée sur une maille est nulle.
-  -> Risque & Conseil :
-     Vérifier votre maillage.
+Les vecteurs tangents sont nuls au niveau quand on projette le noeud esclave
+%(k1)s sur la noeud maitre %(k2)s
+"""),
+
+36 : _("""
+La maille %(k1)s est de type 'POI1', ce n'est pas autorisé sur une maille maitre. 
+"""),
+
+
+38 : _("""
+La maille %(k1)s est de type poutre et sa tangente est nulle.
+Vérifiez votre maillage.
+"""),
+
+39: _("""
+Problème pour récupérer l'épaisseur de la coque pour la maille  %(k1)s
+"""),
+
+40: _("""
+L'excentricité de la coque pour la maille %(k1)s n'est pas traitée
+"""),
+
+41: _("""
+Problème pour récupérer l'excentricité de la coque pour la maille  %(k1)s
 """),
 
 42 : _("""
@@ -118,6 +164,41 @@ On supprime la liaison entre les noeuds sommets et noeud milieu sur le QUAD8.
 Il y a risque d'interpénétration du noeud milieu pour le QUAD8 considéré.
 """),
 
+43 : _("""
+La normale que vous avez prédéfinie par (VECT_* = 'VECT_Y') n'est pas utilisable en 2D.
+Utilisez plutot (ou Dingo) VECT_* = 'FIXE'
+"""),
+
+
+50: _("""
+Avec l'option VECT_MAIT = 'FIXE', seule l'option NORMALE = 'MAIT' est possible.
+"""),
+
+51: _("""
+Avec l'option VECT_MAIT = 'VECT_Y', seule l'option NORMALE = 'MAIT' est possible.
+"""),
+
+52: _("""
+Avec l'option VECT_ESCL = 'FIXE', seule l'option NORMALE = 'ESCL' est possible.
+"""),
+
+53: _("""
+Avec l'option VECT_ESCL = 'VECT_Y', seule l'option NORMALE = 'ESCL' est possible.
+"""),
+
+54: _("""
+Le LISSAGE n'est possible qu'avec des normales automatiques VECT_ESCL='AUTO' et/ou VECT_MAIT='AUTO'.
+"""),
+
+54: _("""
+Le LISSAGE n'est possible qu'avec des normales automatiques VECT_ESCL='AUTO' et/ou VECT_MAIT='AUTO'.
+"""),
+
+60 : _("""
+La maille %(k1)s est de type 'POI1', elle nécessite l'utilisation de l'option
+NORMALE='FIXE' avec une normale non-nulle. 
+"""),
+
 85 : _("""
 Contact méthode continue. 
   -> Il y a échec de la boucle contraintes actives lors du traitement
@@ -158,10 +239,4 @@ Contact m
      S'il y des interpénétrations intempestives, tentez de découper plus finement en temps votre problème.
 """),
 
-94 : _("""
-Contact méthode discrète. 
- Le jeu entre les noeuds milieux au niveau des lèvres risque
- d'etre imprécis si les mailles en contact sont quadratiques.
-"""),
-
 }
index f6d1ca1c6e4ea9309ca064544224bc89361710fe..f49c9cb61f5b4464d3960eec425f29d8a0e9c9ad 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF contactdebg Messages  DATE 24/09/2007   AUTEUR ABBAS M.ABBAS 
+#@ MODIF contactdebg Messages  DATE 01/04/2008   AUTEUR ABBAS M.ABBAS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -118,10 +118,6 @@ cata_msg={
  <CONTACT_2> Appariement de type maitre/esclave - Creation de l'objet pour appariement symetrique. 
 """),
 
-98: _("""
- <CONTACT> Erreur fatale <%(i1)s> dans <%(k1)s>: contacter les developpeurs
-"""),
-
 99: _("""
  <CONTACT_2> Message inconnu lors du debuggage : contacter les developpeurs
 """),
index a4a199c50394b1232d6303dd64792f54708f6ced..b1b4c97f53963944a6d9c926d1c6ce057ca4b656 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF dvp Messages  DATE 26/06/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF dvp Messages  DATE 10/12/2007   AUTEUR REZETTE C.REZETTE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -46,4 +46,24 @@ cata_msg={
    Routine : %(k2)s
 """),
 
+4 : _("""
+   On ne sait pas traiter ce type d'élément : %(k1)s
+"""),
+
+
+97 : _("""
+   Erreur signalée dans la bibliothèque MED
+     nom de l'utilitaire : %(k1)s
+             code retour : %(i1)d
+"""),
+
+
+98 : _("""
+   Erreur lors du traitement du contact.
+"""),
+
+99 : _("""
+   Le calcul de l'option %(k1)s n'est pas prévue avec Arlequin.
+"""),
+
 }
index bbff4bf2a2788e3b7ebe6a8973ffb748a244b8e1..b923c17603607a2be1f35845b27eb0533480baae 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF dynamique Messages  DATE 15/05/2007   AUTEUR GNICOLAS G.NICOLAS 
+#@ MODIF dynamique Messages  DATE 21/02/2008   AUTEUR ANDRIAM H.ANDRIAMBOLOLONA 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -94,4 +94,17 @@ cata_msg={
  Avec le pas de temps maximal, le nombre de pas de calcul est %(i1)d
 """),
 
+13: _("""
+   Arret par manque de temps CPU à la fréquence : %(i1)d
+      - Temps moyen par pas fréquence : %(r1)f
+      - Temps cpu restant             : %(r2)f
+   
+   La base globale est sauvegardée. Elle contient les pas archivés avant l'arret.
+"""),
+
+14: _("""
+   La matrice est presque singulière à la fréquence : %(r1)f
+   Cette fréquence est probablement une fréquence propre du système.
+"""),
+
 }
index c0942d5cd76b1da99cfffc07367c33c1fee573c7..b208166bc3767591d7bfd1b35efa62e4feba000e 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF elements Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF elements Messages  DATE 04/06/2008   AUTEUR PROIX J-M.PROIX 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -23,24 +23,16 @@ def _(x) : return x
 cata_msg = {
 
 1 : _("""
- arret du code
-"""),
-
-2 : _("""
- ABS(RAYON2-RAYON1).GT.EPSI
-"""),
-
-3 : _("""
- ABS(THETA2-THETA1).GT.EPSI
-"""),
-
-4 : _("""
- ABS(OMEGA2-OMEGA1).GT.EPSI
+ AFFE_CARA_ELEM : mot clé GENE_TUYAU
+ problème : OMEGA est différent de OMEGA2
+ omega  = %(r1)f
+ omega2 = %(r2)f
 """),
 
 5 : _("""
- problème de maillage TUYAU
- pour une maille definie par les noeuds N1 N2 N3  le noeud N3 doit etre le noeud milieu
+ problème de maillage TUYAU :
+ pour une maille définie par les noeuds N1 N2 N3,
+ le noeud N3 doit etre le noeud milieu
 """),
 
 6 : _("""
@@ -49,11 +41,10 @@ cata_msg = {
 """),
 
 7 : _("""
- angle du coude trop grand
-"""),
-
-8 : _("""
-  mailler plus fin
+  -> L'angle du coude est trop grand
+     ANGLE     = %(r1)f
+     ANGLE MAX = %(r2)f
+  -> Risque & Conseil : mailler plus fin
 """),
 
 9 : _("""
@@ -89,20 +80,12 @@ cata_msg = {
  seules sont considérées les natures : ELAS, ELAS_ISTR, ELAS_ORTH .
 """),
 
-16 : _("""
- type de maille inconnu
-"""),
-
 17 : _("""
  noeuds confondus pour un élément
 """),
 
 18 : _("""
- NNO invalide
-"""),
-
-19 : _("""
- PB1
+ le nombre de noeuds d'un tuyau est différent de 3 ou 4
 """),
 
 20 : _("""
@@ -113,14 +96,6 @@ cata_msg = {
  prédicteur ELAS hors champs
 """),
 
-22 : _("""
- IREP (indicateur de changement de repère) doit etre égal à 0 ou 1
-"""),
-
-23 : _("""
- piles satur&es
-"""),
-
 24 : _("""
  derivatives of "mp" not defined
 """),
@@ -139,7 +114,8 @@ cata_msg = {
 """),
 
 28 : _("""
- décharge négative sans passer par meca 1 diminuer le pas de temps
+ décharge négative sans passer par meca 1
+ diminuer le pas de temps
 """),
 
 29 : _("""
@@ -156,11 +132,15 @@ cata_msg = {
 """),
 
 32 : _("""
comportement inattendu
le comportement %(k1)s est inattendu
 """),
 
 33 : _("""
- nombre d'itérations > 1000 .
+ la convergence locale de la loi GLRC_DAMAGE n'est pas atteinte en 1000 itérations :
+ XM1 vaut %(r1)f
+ XM2 vaut %(r2)f
+ YM1 vaut %(r3)f
+ YM2 vaut %(r4)f
 """),
 
 34 : _("""
@@ -184,7 +164,7 @@ cata_msg = {
 """),
 
 38 : _("""
- problème PHESEN.NE.PHENOM
+ Le phénomène sensible %(k1)s choisi ne correspond pas au phénomène %(k2)s dont il est issu 
 """),
 
 39 : _("""
@@ -215,12 +195,9 @@ cata_msg = {
  vous avez un materiau de type "ELAS_COQUE" et le determinant de la sous-matrice de Hooke relative au cisaillement est nul.
 """),
 
-44 : _("""
- unknown option demanded
-"""),
-
 45 : _("""
- N < 0
+ L'un des coefficients materiaux N_VP et M_VP de la loi de comportement VENDO_CHAB 
+  est négatif. Or ce n'est physiquement pas possible.
 """),
 
 46 : _("""
@@ -228,7 +205,7 @@ cata_msg = {
 """),
 
 47 : _("""
- pas d excentrement avec FORC_NODA
+ pas d'excentrement avec FORC_NODA
  maille  : %(k1)s
 """),
 
@@ -243,7 +220,7 @@ cata_msg = {
 """),
 
 50 : _("""
- comportement elastique inexistant
+ comportement élastique inexistant
 """),
 
 51 : _("""
@@ -256,47 +233,28 @@ cata_msg = {
 """),
 
 52 : _("""
- lorsqu'il y a variation de température dans l'épaisseur, utiliser "STAT_NON_LINE"
+  -> Le type de comportement %(k1)s n'est pas prévu pour le calcul de
+     SIGM_ELNO_DEPL avec chargement thermique. Les seuls comportements autorisés sont :
+     ELAS, ou ELAS_ORTH
 """),
 
 53 : _("""
- problème: temperature sur la maille: %(k1)s : il manque la composante "TEMP"
-"""),
-
-54 : _("""
- élément non prévu
+ problème :
+ température sur la maille: %(k1)s : il manque la composante "TEMP"
 """),
 
 55 : _("""
  ELREFA inconnu:  %(k1)s
 """),
 
-56 : _("""
-  erreur programmeur
-  ecrasement de dff, dimf est inférieur au nombre de noeuds * nombre de composantes
-"""),
-
-57 : _("""
-  erreur programmeur
-  écrasement de FF, DIMF est inférieur au nombre de noeuds
-"""),
-
 58 : _("""
  la nature du matériau  %(k1)s  nécessite la définition du coefficient  B_ENDOGE dans DEFI_MATERIAU.
 """),
 
-61 : _("""
- AXI : R=0
-"""),
-
 62 : _("""
  GROUP_MA :  %(k1)s  inconnu dans le maillage
 """),
 
-63 : _("""
- erreurs GROUP_MA
-"""),
-
 64 : _("""
   le LIAISON_*** de  %(k1)s  implique les noeuds physiques  %(k2)s  et  %(k3)s et traverse l'interface
 """),
@@ -331,11 +289,11 @@ cata_msg = {
 """),
 
 72 : _("""
group_no orienté : noeud origine =  %(k1)s
GROUP_NO orienté : noeud origine =  %(k1)s
 """),
 
 73 : _("""
- le group_ma :  %(k1)s n'existe pas.
+ le GROUP_MA :  %(k1)s n'existe pas.
 """),
 
 74 : _("""
@@ -358,23 +316,6 @@ cata_msg = {
  GROUP_NO orienté : noeud extremité =  %(k1)s
 """),
 
-79 : _("""
- il y a à la fois des éléments volumiques de degré 1 et de degré 2 dans le modèle
- on a besoin de savoir si on est en lineaire ou en quadratique pour choisir la methode de lissage.
-"""),
-
-80 : _("""
- le concept FOND_FISS est mal créé
-"""),
-
-81 : _("""
- le .VALE du CHAM_NO DIRE_THETA n'a pas la bonne taille
-"""),
-
-82 : _("""
- l'option de lissage 'LAGRANG2' n'a pas ete développée lorsque le nombre de noeuds d'un fond de fissure fermé est pair.
-"""),
-
 83 : _("""
  le type des mailles des lèvres doit etre quadrangle ou triangle
 """),
@@ -383,27 +324,10 @@ cata_msg = {
   %(k1)s CHAM_NO inexistant
 """),
 
-85 : _("""
- initial point NM out of domain
-"""),
-
-86 : _("""
- NDICHO  .GT.  10000
-"""),
-
 87 : _("""
  bad definition of MP1 and MP2
 """),
 
-88 : _("""
- le fond de fissure ne doit etre défini que par un noeud
- ( revoir le GROUP_NO )
-"""),
-
-89 : _("""
- le fond de fissure ne doit etre défini que par un noeud
-"""),
-
 90 : _("""
 Erreur de programmation :
    L'attribut NBSIGM n'est pas défini pour cette modélisation.
@@ -411,44 +335,4 @@ Solution :
    Il faut modifier la catalogue phenomene_modelisation__.cata pour ajouter NBSIGM pour cette modélisation.
 """),
 
-91 : _("""
- mot clé FOND_FISS obligatoire
-"""),
-
-92 : _("""
- le fond de fissure ne doit etre défini que par un noeud
- ( revoir FOND_FISS )
-"""),
-
-93 : _("""
-  %(k1)s  n'est pas un GROUP_NO ou un GROUP_MA
-"""),
-
-94 : _("""
- arret sur erreur(s) utilisateur.
-"""),
-
-95 : _("""
- les mailles des lèvres doivent etre linéiques
-"""),
-
-96 : _("""
- erreur : la levre superieure possede une maille répétée 2 fois : maille  %(k1)s
- revoir les données
-"""),
-
-97 : _("""
- erreur : la lèvre inférieure possède une maille répétée 2 fois : maille  %(k1)s
- revoir les données
-"""),
-
-98 : _("""
- erreur : la lèvre inférieure et la lèvre superieure ont une maille surfacique en commun
- revoir les données
-"""),
-
-99 : _("""
- problème dans le calcul de la normale à la fissure
-"""),
-
 }
index d5ec61eea1c759e8b91227e4a96c514b1e2548c8..bc4ba5e8a3ca3e311f801c54f7368b6f9a71d652 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF elements2 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF elements2 Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -22,108 +22,8 @@ def _(x) : return x
 
 cata_msg = {
 
-2 : _("""
- le mot cle normale doit comporter 3 composantes
-"""),
-
-3 : _("""
- le degre du polynome doit etre                            au plus egal a 7 
-"""),
-
-4 : _("""
- probleme dans rinf et rsup 
-"""),
-
-5 : _("""
- le mot cle dtan_orig doit comporter 3 composantes
-"""),
-
-6 : _("""
- le mot cle dtan_extr doit comporter 3 composantes
-"""),
-
-7 : _("""
- le mot cle vect_grno_orig doit comporter 2 groupes de points
-"""),
-
-8 : _("""
- le mot cle vect_grno_extr doit comporter 2 groupes de points
-"""),
-
-9 : _("""
- melang1 seg2 et seg3 : les mailles du fond de fissure doivent etre du meme type
-"""),
-
-10 : _("""
- le groupe de noeuds  %(k1)s  definissant la fissure n'est pas ordonne
-"""),
-
-11 : _("""
- arret sur erreur utilisateur: deux group_no consecutifs incoherents
-"""),
-
-12 : _("""
- les mailles du fond de fissure doivent etre du type segment
-"""),
-
-13 : _("""
- melang2 seg2 et seg3 : les mailles du fond de fissure doivent etre du meme type
-"""),
-
-14 : _("""
- arret sur erreur utilisateur: deux mailles dufond de fissure sont non consecutives dans la numerotation des noeuds 
-"""),
-
-15 : _("""
- arret sur erreur utilisateur: 2 group_ma du fond de fissure sontnon consecutifs dans la numerotation des noeuds
-"""),
-
-16 : _("""
- les mailles des levres doivent etre du type quadrangle ou triangle
-"""),
-
-17 : _("""
- melang3 seg2 et seg3 : les mailles du fond de fissure doivent etre du meme type
-"""),
-
-18 : _("""
- la liste de noeuds definissant la fissure n'est pas ordonnee
-"""),
-
-19 : _("""
- melang4 seg2 et seg3 : les mailles du fond de fissure doivent etre du meme type
-"""),
-
-20 : _("""
- arret sur erreur(s) utilisateur: deux mailles du fond de fissure sont non consecutives dans la numerotation des noeuds 
-"""),
-
-21 : _("""
- erreur : le fond de fissure possede un noeud repete 2 fois : noeud  %(k1)s . revoir les donnees
-"""),
-
-22 : _("""
- les mailles du fond_inf                           et du fond_sup sont de type different
-"""),
-
-24 : _("""
- le noeud  %(k1)s  n appartient pas au fond de fissure 
-"""),
-
-25 : _("""
- le fond de fissure n est pas complet
-"""),
-
-26 : _("""
- pb prgm
-"""),
-
 27 : _("""
- no intersection found
-"""),
-
-28 : _("""
- indc = 1 (complet   : translation et rotation) ou                 indc = 0 (incomplet : translation seulement  )                    obligatoirement.
+ pas d'intersection trouvé
 """),
 
 29 : _("""
@@ -146,10 +46,6 @@ cata_msg = {
  les vecteurs sont au nombre de 1 ou 2
 """),
 
-36 : _("""
- le type d'element :  %(k1)s n'est pas traite.
-"""),
-
 37 : _("""
  pas de zero, convergence impossible
 """),
@@ -181,7 +77,7 @@ cata_msg = {
 """),
 
 43 : _("""
- noeuds confondus pour un element:  %(k1)s 
+ noeuds confondus pour la maille:  %(k1)s 
 """),
 
 44 : _("""
@@ -189,7 +85,7 @@ cata_msg = {
 """),
 
 45 : _("""
- on n'a pas trouver de variable interne correspondante a la deformation plastiqueequivalente cumule
+ on n'a pas trouvé de variable interne correspondante a la déformation plastique équivalente cumulé
 """),
 
 46 : _("""
@@ -205,27 +101,27 @@ cata_msg = {
 """),
 
 49 : _("""
- charge repartie variable non admise sur un element courbe.
+ charge répartie variable non admise sur un élément courbe.
 """),
 
 50 : _("""
- charge repartie variable non admise sur un element variable.
+ charge répartie variable non admise sur un élément variable.
 """),
 
 51 : _("""
- on ne peut pas imposer de charges reparties suiveuses de type vitesse de vent sur les poutres courbes.
+ on ne peut pas imposer de charges réparties suiveuses de type vitesse de vent sur les poutres courbes.
 """),
 
 52 : _("""
- on ne peut pas imposer de charges reparties suiveuses sur les poutres courbes.
+ on ne peut pas imposer de charges réparties suiveuses sur les poutres courbes.
 """),
 
 53 : _("""
- un champ de vitesse de vent est impose sans donner un cx dependant de la vitesse sur une des poutres.
+ un champ de vitesse de vent est imposé sans donner un cx dépendant de la vitesse sur une des poutres.
 """),
 
 54 : _("""
- g est nul mais pas e
+ le module de cisaillement G est nul mais pas le module d'Young E
 """),
 
 55 : _("""
@@ -244,10 +140,6 @@ cata_msg = {
  echec de convergence dans l'inversion du systeme par newton-raphson.
 """),
 
-59 : _("""
- pb
-"""),
-
 60 : _("""
  mauvaise orientation de l element !
 """),
@@ -264,26 +156,14 @@ cata_msg = {
  ! comportement non trouve !
 """),
 
-64 : _("""
- ! pb rccoma rhocp !
-"""),
-
-65 : _("""
- ! deltat: div par zero !
-"""),
-
 66 : _("""
- ! r axi: div par zero !
+ la matrice gyroscopique n'est pas disponible pour l'élément %(k1)s
 """),
 
 67 : _("""
  option non traitee
 """),
 
-68 : _("""
- une deformation initiale est presente dans la charge : incompatible avec la contrainte initiale sigma_init
-"""),
-
 69 : _("""
  relation de comportement non traite
 """),
@@ -314,7 +194,7 @@ cata_msg = {
 """),
 
 75 : _("""
- option "sief_elno_elga" non implantee pour la deformation "green_gr"
+ option "SIEF_ELNO_ELGA" non implantée pour la déformation "GREEN_GR"
 """),
 
 76 : _("""
@@ -326,15 +206,15 @@ cata_msg = {
 """),
 
 80 : _("""
elements de poutre noeuds confondus pour un element:  %(k1)s 
éléments de poutre noeuds confondus pour un élément:  %(k1)s 
 """),
 
 81 : _("""
elements de poutre section variable affine :seul rectangle plein disponible.
éléments de poutre section variable affine :seul une section rectangle plein est disponible.
 """),
 
 82 : _("""
elements de poutre section variable homothetique : l'aire initiale est nulle.
éléments de poutre section variable homothétique : l'aire initiale est nulle.
 """),
 
 83 : _("""
@@ -366,7 +246,7 @@ cata_msg = {
 """),
 
 90 : _("""
comp_elas non valide
COMP_ELAS non valide
 """),
 
 91 : _("""
@@ -374,35 +254,11 @@ cata_msg = {
 """),
 
 92 : _("""
- la loi dis_gricra doit etre utilisee avec deselements du type meca_dis_tr_l: element seg2 + modelisation dis_tr
-"""),
-
-93 : _("""
- longueurs diff. pour rigi et amor
-"""),
-
-94 : _("""
- longueurs diff. pour mass et amor
+ la loi DIS_GRICRA doit etre utilisée avec des éléments du type MECA_DIS_TR_L : élément SEG2 + modelisation DIS_TR
 """),
 
 95 : _("""
  option de calcul invalide
 """),
 
-96 : _("""
- erreur calcul de texnp1
-"""),
-
-97 : _("""
- erreur calcul de texn
-"""),
-
-98 : _("""
- erreur calcul de echnp1
-"""),
-
-99 : _("""
- erreur calcul de echn
-"""),
-
 }
index a5c113003a1535d473b2a4be36dbac8cbe698a17..483be10a9691a2adf5a67245512c8c0728165d4a 100644 (file)
@@ -1,8 +1,8 @@
-#@ MODIF elements3 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF elements3 Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2007  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     
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-1: _("""
- erreur calcul de sigm1
-"""),
-
-2: _("""
- erreur calcul de sigmn
-"""),
-
-3: _("""
- erreur calcul de eps1
-"""),
-
-4: _("""
- erreur calcul de epsn
-"""),
-
-5: _("""
- erreur calcul de tpf1
-"""),
-
-6: _("""
- erreur calcul de tpfn
-"""),
-
-8: _("""
- erreur calcul de coenp1
-"""),
-
-9: _("""
+9 : _("""
  erreur calcul de coen
 """),
 
-10: _("""
+10 : _("""
  on ne peut pas affecter la modelisation "axis_diag" aux elements de l'axe
 """),
 
-11: _("""
+11 : _("""
   -> Attention vous avez une loi de comportement inélastique et vous etes
      en contraintes planes, la composante du tenseur de déformations EPZZ que
      vous allez calculer n'est valable que tant que vous restez dans le
@@ -68,145 +40,147 @@ cata_msg={
      la valeur de EPZZ calculée par cette option.
 """),
 
-12: _("""
+12 : _("""
  e, nu, alpha dependent de la temperature,                         tgu differente de tgv
 """),
 
-13: _("""
- le calcul de dg n'a pas ete etendu a la plasticite !
-"""),
-
-
-16: _("""
+16 : _("""
  comportement: %(k1)s non implante
 """),
 
-17: _("""
+17 : _("""
  le materiau  %(k1)s  n'est pas connu. seuls sont admis les materiaux  'ther', 'ther_coqmu' et 'ther_coque' pour les coques thermiques .
 """),
 
-18: _("""
+18 : _("""
  le materiau  %(k1)s  n'est pas connu. seuls sont admis les materiaux  'ther' et 'ther_coqmu' pour le calcul des flux pour les coques thermiques .
 """),
 
-19: _("""
+19 : _("""
  l'option  %(k1)s  n'est disponible qu'avec des elements tetra ou hexa. or, la maille  %(k2)s  est de type  %(k3)s .
 """),
 
-20: _("""
+20 : _("""
  la maille  %(k1)s  ne repond pas au critere geometrique sur les mailles hexa : les cotes opposes doivent etre paralleles
 """),
 
-21: _("""
+21 : _("""
  erreur lors de l appel a fointe
 """),
 
-22: _("""
+22 : _("""
  erreur dans le calcul de coef_f
 """),
 
-25: _("""
+25 : _("""
  calcul de sensibilite :  actuellement, on ne derive que les : pou_d_e
 """),
 
-26: _("""
+26 : _("""
  mauvaise definition des caracteristiques de la section
 """),
 
-27: _("""
+27 : _("""
  l'option  " %(k1)s "  n'est pas programmee
 """),
 
-28: _("""
+28 : _("""
  rigidite geometrique non definie pour les elements courbes.
 """),
 
-29: _("""
+29 : _("""
  force elementaire electrique non definie pourles elements courbes.
 """),
 
-30: _("""
+30 : _("""
  section non tubulaire pour mass_flui_stru
 """),
 
-31: _("""
+31 : _("""
  pas de valeur utilisateur pour rho
 """),
 
-32: _("""
+32 : _("""
  " %(k1)s "  nom d'option inconnu.
 """),
 
-33: _("""
+33 : _("""
  option non disponible
 """),
 
-34: _("""
+34 : _("""
  seules les forces suiveuses de type vent definies par un evol_char sont autorisees
 """),
 
-35: _("""
+35 : _("""
  un champ de vitesse de vent est impose sans donner un cx dependant de la vitesse sur une des barres.
 """),
 
-36: _("""
+36 : _("""
  comp_incr non valide
 """),
 
-37: _("""
+37 : _("""
   relation :  %(k1)s  non implantee sur les cables
 """),
 
-38: _("""
+38 : _("""
   deformation :  %(k1)s  non implantee sur les cables
 """),
 
-39: _("""
+39 : _("""
  un champ de vitesse de vent est impose sans donner un cx dependant de la vitesse sur un des cables.
 """),
 
-46: _("""
+46 : _("""
  le parametre "pnosym" n'existe pas dans le catalogue de l'element  %(k1)s  .
 """),
 
-47: _("""
+47 : _("""
  la taille de la matrice non-symetrique en entree est fausse.
 """),
 
-48: _("""
+48 : _("""
  la taille de la matrice symetrique en sortie est fausse.
 """),
 
-49: _("""
+49 : _("""
  anisotropie non prevue pour coque1d
 """),
 
-50: _("""
+50 : _("""
  nombre de couches limite a 30 pour les coques 1d
 """),
 
+51 : _("""
+ Le nombre de couches défini dans DEFI_COQU_MULT et dans AFFE_CARA_ELEM dans n'est pas cohérent.
+ Nombre de couches dans DEFI_COQU_MULT: %(i1)d
+ Nombre de couches dans AFFE_CARA_ELEM: %(i2)d
+"""),
 
+52 : _("""
+ L'épaisseur totale des couches definie dans DEFI_COQU_MULT et celle définie dans AFFE_CARA_ELEM ne sont pas cohérentes.
+ Epaisseur totale des couches dans DEFI_COQU_MULT: %(r1)f
+ Epaisseur dans AFFE_CARA_ELEM: %(r2)f
+"""),
 
-
-
-
-54: _("""
+54 : _("""
   la reactualisation de la geometrie (deformation : petit_reac sous le mot cle comp_incr) est deconseillee pour les elements de coque_1d.
 """),
 
-55: _("""
+55 : _("""
  nombre de couches limite a 10 pour les coques 1d
 """),
 
-56: _("""
+56 : _("""
  valeurs utilisateurs de rho ou de rof nulles
 """),
 
-57: _("""
+57 : _("""
  pas d elements lumpes pourhydratation 
 """),
 
-58: _("""
+58 : _("""
   -> La réactualisation de la géométrie (DEFORMATION='PETIT_REAC' sous
      le mot clé COMP_INCR) est déconseillée pour les éléments POU_D_T et POU_D_E.
   -> Risque & Conseil :
@@ -217,69 +191,55 @@ cata_msg={
      DEFORMATION='GREEN_GR'.
 """),
 
-59: _("""
+59 : _("""
   le coefficient de poisson est non constant. la programmation actuelle n en tient pas compte.
 """),
 
-60: _("""
+60 : _("""
  noeuds confondus pour un element de poutre
 """),
 
-61: _("""
+61 : _("""
  loi  %(k1)s  indisponible pour les pou_d_e/d_t
 """),
 
-62: _("""
+62 : _("""
  noeuds confondus pour un element de barre
 """),
 
-63: _("""
+63 : _("""
  ne pas utiliser ther_lineaire avec des elements de fourier mais les cmdes developpees
 """),
 
-64: _("""
+64 : _("""
  erreur dans le calcul de coeh_f
 """),
 
-65: _("""
- chargements non nuls sur l'axe
-"""),
-
-66: _("""
+66 : _("""
  option  %(k1)s  inattendue
 """),
 
-67: _("""
+67 : _("""
  element degenere:revoir le maillage
 """),
 
-68: _("""
- L'option CALC_K_G est incompatible avec les comportements incrémentaux, avec les comportement non
- linéaires et avec la deformation GREEN.
-"""),
-
-70: _("""
- il faut affecter les elements de  bord (e et nu) pour le calcul des fic
-"""),
-
-
-73: _("""
+73 : _("""
  option de calcul non valide
 """),
 
-74: _("""
+74 : _("""
  pour l'option "rice_tracey", la relation " %(k1)s " n'est pas admise
 """),
 
-75: _("""
+75 : _("""
  le materiau  %(k1)s  n'est pas autorise pour calculer les deformations plastiques : seuls les materiaux isotropes sont traites en plasticite.
 """),
 
-76: _("""
+76 : _("""
  couplage fluage/fissuration : la loi beton_double_dp ne peut etre couplee qu avec une loi de fluage de granger.
 """),
 
-77: _("""
+77 : _("""
   -> Attention vous etes en contraintes planes, et vous utilisez la loi
      de comportement %(k1)s. La composante du tenseur des déformations
      plastiques EPZZ est calculée en supposant l'incompressibilité des
@@ -289,67 +249,63 @@ cata_msg={
 
 """),
 
-78: _("""
+78 : _("""
   la reactualisation de la geometrie (deformation : petit_reac sous le mot cle comp_incr) est deconseillee pour les elements pou_d_tg  .
 """),
 
-79: _("""
+79 : _("""
  tableau sous dimensionne (dvlp)
 """),
 
-80: _("""
+80 : _("""
  situation de contact impossible
 """),
 
-82: _("""
+82 : _("""
  vecteur sous dimensionne (dvlp)
 """),
 
-83: _("""
+83 : _("""
  dimension incorrecte (dvlp)
 """),
 
-84: _("""
+84 : _("""
  type maille inconnu
 """),
 
-85: _("""
+85 : _("""
   relation :  %(k1)s  non implantee sur les elements "pou_d_t_gd"
 """),
 
-86: _("""
+86 : _("""
   deformation :  %(k1)s  non implantee sur les elements "pou_d_t_gd"
 """),
 
-87: _("""
+87 : _("""
  rcvala ne trouve pas rho, qui est necessaire en dynamique
 """),
 
-88: _("""
- la masse volumique rho n'a pas ete definie
-"""),
-
-89: _("""
+89 : _("""
  developpement non realise
 """),
 
-90: _("""
+90 : _("""
  option:  %(k1)s  non implante
 """),
 
-91: _("""
+91 : _("""
   calcul de la masse non implante pour les elements coque_3d en grandes rotations, deformation : green_gr
 """),
 
-92: _("""
+92 : _("""
  les comportements elastiques de type comp_elas ne sont pas disponibles pour la modelisation dktg.
 """),
 
-93: _("""
+93 : _("""
   deformation :  %(k1)s  non implantee sur les elements coque_3d en grandes rotations.   deformation : green_gr obligatoirement 
 """),
 
-94: _("""
+94 : _("""
   -> La réactualisation de la géométrie (DEFORMATION='PETIT_REAC' sous
      le mot clé COMP_INCR) est déconseillée pour les éléments COQUE_3D.
   -> Risque & Conseil :
@@ -361,24 +317,16 @@ cata_msg={
 
 """),
 
-95: _("""
+95 : _("""
   nume_couche incorrect
 """),
 
-96: _("""
- l'option est incompatible avec                                  les comportements incrementaux ainsi que la deformation           green
-"""),
-
-
-
-
-
-
-98: _("""
+98 : _("""
  comportement coeur homogeneise inexistant
 """),
 
-99: _("""
+99 : _("""
   : seule les poutres a sections constantes sont admises !
 """),
+
 }
index c12f45d14e6297a44c44bf78ff31692be70cba40..26df59798a96bd6e3943b9a56609a9b292b43a31 100644 (file)
@@ -1,21 +1,21 @@
-#@ MODIF elements4 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF elements4 Messages  DATE 11/03/2008   AUTEUR MEUNIER S.MEUNIER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.
 # ======================================================================
 
 def _(x) : return x
@@ -23,7 +23,7 @@ def _(x) : return x
 cata_msg = {
 
 1 : _("""
-  erreur dans le calcul de pres_f 
+  erreur dans le calcul de pres_f
 """),
 
 2 : _("""
@@ -35,7 +35,7 @@ cata_msg = {
 """),
 
 6 : _("""
- le type du champ de contraintes est incompatible avec l'option :  %(k1)s 
+ le type du champ de contraintes est incompatible avec l'option :  %(k1)s
 """),
 
 7 : _("""
@@ -70,18 +70,6 @@ cata_msg = {
  seuls comportements autorises :"elas" et "vmis_isot_trac"
 """),
 
-20 : _("""
- pour l'élément de poutre " %(k1)s " l'option " %(k2)s " est invalide
-"""),
-
-21 : _("""
- pour un élément de poutre noeuds confondus :  %(k1)s 
-"""),
-
-22 : _("""
- les poutres à section variable ne sont pas traitées.
-"""),
-
 23 : _("""
  comp_incr non disponible pour les elements enrichis avec x-fem.
 """),
@@ -115,7 +103,7 @@ cata_msg = {
 """),
 
 38 : _("""
- option  %(k1)s  non active pour un élément de type  %(k2)s 
+ option  %(k1)s  non active pour un élément de type  %(k2)s
 """),
 
 39 : _("""
@@ -178,12 +166,8 @@ cata_msg = {
  ep/r > 0.2 modi_metrique=non pas adapté
 """),
 
-55 : _("""
- alpha est pris egal a 0
-"""),
-
 56 : _("""
- famille inexistante  %(k1)s 
+ famille inexistante  %(k1)s
 """),
 
 57 : _("""
@@ -203,7 +187,7 @@ cata_msg = {
 """),
 
 63 : _("""
-  l'option %(k1)s n'est pas disponible pour le comportement %(k2)s 
+  l'option %(k1)s n'est pas disponible pour le comportement %(k2)s
 """),
 
 64 : _("""
@@ -220,6 +204,7 @@ cata_msg = {
   La normale à l'élément et le vecteur obtenu à partir du mot-clé ANGL_REP sont colinéaires.
 """),
 
+
 68 : _("""
  Nombre d'itérations internes insuffisant.
 """),
@@ -228,30 +213,38 @@ cata_msg = {
  ! pb récuperation donnée matériau dans thm_liqu %(k1)s !
 """),
 
+70 : _("""
+ ! pb récupération donnée matériau dans thm_init %(k1)s !
+"""),
+
+71 : _("""
+ ! pb récupération données matériau dans elas %(k1)s !
+"""),
+
 72 : _("""
-   rcvala ne trouve pas nu, qui est nécessaire pour l'élément MECA_HEXS8  
+   rcvala ne trouve pas nu, qui est nécessaire pour l'élément MECA_HEXS8
 """),
 
 73 : _("""
-   élément MECA_HEXS8:COMP_ELAS non implanté, utiliser COMP_INCR RELATION='ELAS'  
+   élément MECA_HEXS8:COMP_ELAS non implanté, utiliser COMP_INCR RELATION='ELAS'
 """),
 
 74 : _("""
   Attention l'élément MECA_HEXS8 ne fonctionne correctement que sur les parallélépipèdes.
-  Sur les elements quelconques on peut obtenir des résultats faux.   
+  Sur les elements quelconques on peut obtenir des résultats faux.
 """),
 
 75 : _("""
- la maille de numero:  %(i1)d appartient à plusieurs sous-domaines! %(i2)d 
+ la maille de numero:  %(i1)d appartient à plusieurs sous-domaines! %(i2)d
 """),
 
 76 : _("""
- la maille du modèle de numéro:  %(i1)d n appartient à aucun sous-domaine ! %(i2)d 
+ la maille du modèle de numéro:  %(i1)d n appartient à aucun sous-domaine ! %(i2)d
 """),
 
 77 : _("""
- numero de couche  %(i1)d 
-  trop grand par rapport au nombre de couches autorisé pour la maille  %(k1)s 
+ numero de couche  %(i1)d
+  trop grand par rapport au nombre de couches autorisé pour la maille  %(k1)s
 """),
 
 78 : _("""
@@ -259,49 +252,44 @@ cata_msg = {
 """),
 
 79 : _("""
- la loi de comportement n'existe pas pour la modélisation dktg :  %(k1)s 
+ la loi de comportement n'existe pas pour la modélisation dktg :  %(k1)s
 """),
 
 80 : _("""
- attention : l élément de plaque quad4 défini sur la maille : %(k1)s n est pas plan et peut conduire a des résultats faux. 
-  distance au plan :  %(r1)f 
-"""),
 
-81 : _("""
- manque le paramètre  %(k1)s pour la maille  %(k2)s 
+ attention : l élément de plaque quad4 défini sur la maille : %(k1)s n est pas plan et peut conduire a des résultats faux.
+  distance au plan :  %(r1)f
 """),
 
-83 : _("""
- utiliser "stat_non_line"  température inf:  %(r1)f   température moy:  %(r2)f 
- température sup:  %(r3)f 
+81 : _("""
+ manque le paramètre  %(k1)s pour la maille  %(k2)s
 """),
 
 84 : _("""
- famille non disponible élément de référence  %(k1)s 
- famille  %(k2)s 
+ famille non disponible élément de référence  %(k1)s
+ famille  %(k2)s
 """),
 
 88 : _("""
- elrefe non disponible élément de référence  %(k1)s 
+ elrefe non disponible élément de référence  %(k1)s
 """),
 
 90 : _("""
- elrefe mal programme maille  %(k1)s  type  %(k2)s  nb noeuds  %(i1)d 
- nb noeuds pour le gano  %(i2)d 
+ elrefe mal programme maille  %(k1)s  type  %(k2)s  nb noeuds  %(i1)d
+ nb noeuds pour le gano  %(i2)d
 """),
 
 91 : _("""
- ! le calcul de cet estimateur !! ne tient pas compte d'éventuelles ! %(i1)d 
- ! conditions limites non linéaires   ! %(i2)d 
+ ! le calcul de cet estimateur !! ne tient pas compte d'éventuelles ! %(i1)d
+ ! conditions limites non linéaires   ! %(i2)d
 """),
 
 92 : _("""
- la pression doit etre nulle pour la maille  %(k1)s 
+ la pression doit etre nulle pour la maille  %(k1)s
 """),
 
 98 : _("""
- la contrainte equivalente est nulle pour la maille  %(k1)s 
+ la contrainte equivalente est nulle pour la maille  %(k1)s
 """),
 
 }
index e14737f1a87a01a048864f03ae5ce51d4ab0b6b6..cd318eb48cb3aa9557c498438a7fc44b724cedf6 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF elements5 Messages  DATE 10/07/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF elements5 Messages  DATE 06/05/2008   AUTEUR MARKOVIC D.MARKOVIC 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-
-
-
-
-
-
-2: _("""
+2 : _("""
  tuyau : le nombre de couches est limite a  %(i1)d 
 """),
 
-3: _("""
+3 : _("""
  tuyau : le nombre de secteurs est limite a  %(i1)d 
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-8: _("""
+8 : _("""
  Vous voulez utiliser l'indicateur de convergence RESI_REFE_RELA mais vous n'avez pas
  renseigné le mot-clé %(k1)s .
 """),
 
-9: _("""
+9 : _("""
  Employez la modélisation spécifique aux grandes déformations XX_INCO_GD
-"""), 
-
-10: _("""
- La modélisation GRAD_VARI n'est plus disponible en grandes déformations. Pour Rousselier
- version SIMO_MIEHE, vous pouvez faire du non-local en utilisant la modélisation XX_INCO_GD
- et en définissant C_GONF<>0 sous l'opérande NON_LOCAL de DEFI_MATERIAU
-"""), 
-
-11: _("""
- Le rayon R_SUP (ou R_SUP_FO) doit obligatoirement etre supérieur au rayon R_INF 
- (resp. R_INF_FO).
-"""), 
-
-12: _("""
- Le noeud %(k1)s du fond de fissure n est rattaché à aucune maille surfacique 
- de la lèvre supérieure : vérifier les groupes de mailles.
-"""), 
-
-13: _("""
- Le noeud %(k1)s du fond de fissure n est rattaché à aucune maille surfacique 
- de la lèvre inférieure : vérifier les groupes de mailles.
-"""), 
-
-14: _("""
- Les noeuds %(k1)s de FOND_INF et %(k2)s de FOND_SUP ne sont pas en vis à vis. 
-"""), 
-
-15: _("""
+"""),
+
+15 : _("""
  FONFIS - occurence %(i1)s : les objets précédemment évoqués sont inexistants
  ou de type incompatible.
-"""), 
+"""),
 
-16: _("""
+16 : _("""
  FONFIS - occurence %(i1)s : les mailles spécifiées ne permettent pas de définir 
  une ligne continue.
  Conseil (si opérateur DEFI_FOND_FISS) : vérifier le groupe de maille du fond de fissure.
-"""), 
+"""),
 
-17: _("""
+17 : _("""
  FONFIS - Trop de noeuds dans le groupe de noeuds %(k1)s.
  --> Noeud utilisé : %(k2)s
-"""), 
+"""),
 
-18: _("""
+18 : _("""
  FONFIS - Trop de mailles dans le groupe de mailles GROUP_MA_ORIG.
  --> Maille utilisée : %(k1)s
-"""), 
+"""),
 
-19: _("""
+19 : _("""
  FONFIS - Occurence %(i1)s : maille %(k1)s inexistante.
-"""), 
+"""),
 
-20: _("""
+20 : _("""
  FONFIS - Occurence %(i1)s : maille %(k1)s non linéique.
-"""), 
+"""),
 
-21: _("""
+21 : _("""
  FONFIS - Occurence %(i1)s : mélange de SEG2 et de SEG3 (maille %(k1)s).
-"""), 
+"""),
 
-22: _("""
+22 : _("""
    Erreur, le nombre de noeuds d'un element de joint 3D n'est pas correct   
 """),
 
-
-23: _("""
+23 : _("""
    Erreur, le nombre de points de Gauss d'un element de joint 3D n'est pas correct   
 """),
 
-24: _("""
+24 : _("""
   le nombre de mailles du modele %(i1)d est différent de la somme des mailles des sous-domaines %(i2)d 
 """),
-25: _("""
+
+25 : _("""
   le sous-domaine n %(i1)d n'est pas renseigné ou vide dans DEFI_PART_OPS
 """),
 
-
-
-
-
-
-
-
-28: _("""
+28 : _("""
   le modele comporte %(i1)d mailles de plus que l'ensemble des sous-domaines 
 """),
-29: _("""
-  le modele comporte %(i1)d mailles de moins que l'ensemble des sous-domaines 
-"""),
 
-30: _("""
- jacobien negatif ou nul : jacobien =  %(r1)f 
+29 : _("""
+  le modele comporte %(i1)d mailles de moins que l'ensemble des sous-domaines 
 """),
 
-31: _("""
+3: _("""
  jacobien negatif ou nul : jacobien =  %(r1)f 
 """),
 
-32: _("""
+32 : _("""
   Toute méthode de contact autre que la méthode continue est proscrite avec
   FETI! En effet cette dernière méthode est basée sur un vision maille/calcul
   élémentaire et non pas sur une approche globale discrète dont le flot de
@@ -177,12 +108,13 @@ cata_msg={
   Merci, d'activer donc toutes les zones de contact avec ladite méthode. 
 """),
 
-33: _("""
+33 : _("""
   Avec FETI, on ne peut mélanger dans une seul AFFE_CHAR_MECA, du contact
   avec des chargements à LIGREL tardif (Dirichlet, Force Nodale...).
   Merci, de dissocier les types de chargement par AFFE_CHAR_MECA.
 """),
-34: _("""
+
+34 : _("""
   Contact méthode continue avec FETI: la maille %(i1)d de la zone %(i2)d
   du chargement %(i3)d , semble etre à cheval entre les sous-domaines
   %(i4)d et %(i5)d !
@@ -190,32 +122,32 @@ cata_msg={
   cette zone de contact ou essayer de la dédoubler en deux zones.
 """),
 
-35: _("""
+35 : _("""
   Contact méthode continue avec FETI: la surface %(i1)d de la zone %(i2)d
   du chargement %(i3)d n'est portée par aucun sous-domaine !
 """),
 
-36: _("""
+36 : _("""
   Contact méthode continue avec FETI: le noeud %(i1)d est présent plusieurs
   fois dans la zone de contact %(i2)d . Cela ne devrait pas etre un problème
   pour l'algorithme, mais ce n'est pas une modélisation du contact très
   orthodoxe !
 """),
 
-37: _("""
+37 : _("""
   Contact méthode continue avec FETI: le noeud %(i1)d est a l'intersection de
   plusieurs zones de contact. Cela va probablement générer un problème dans
   l'algorithme de contact (pivot nul) !
 """),
 
-38: _("""
+38 : _("""
   Contact méthode continue avec FETI: le noeud %(i1)d de la zone de contact
   %(i2)d est aussi sur l'interface FETI ! Pour l'instant ce cas de figure
   est proscrit. Essayer de l'enlevez de la zone de contact ou de reconfigurer
   vos sous-domaines.
 """),
 
-39: _("""
+39 : _("""
  echec de la recherche de zero a l'iteration :  %(i1)d 
   fonction decroissante - pour x=a:  %(r1)f 
   / fonction(a):  %(r2)f 
@@ -230,7 +162,7 @@ cata_msg={
  
 """),
 
-40: _("""
+40 : _("""
  echec de la recherche de zero a l'iteration :  %(i1)d 
   fonction constante    - pour x=a:  %(r1)f 
   / fonction(a):  %(r2)f 
@@ -245,4 +177,14 @@ cata_msg={
  
 """),
 
+41 : _("""
+     Température négative à la maille :  %(k1)s
+"""),
+
+42 : _("""
+ L'épaisseur definie dans DEFI_GLRC et celle définie dans AFFE_CARA_ELEM ne sont pas cohérentes.
+ Epaisseur dans DEFI_GLRC: %(r1)f
+ Epaisseur dans AFFE_CARA_ELEM: %(r2)f
+"""),
+
 }
index c61ec4ce16234f7f7fc36956babce2867b0a5709..f2e606de38228dea48fb8c28c08dda86e3183628 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF execlogiciel0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF execlogiciel0 Messages  DATE 19/05/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -31,7 +31,7 @@ On ne sait pas traiter le format %(k1)s
 """),
 
 3: _("""
-Code retour incorrect (MAXI %(i1)d) : %(i2)d
+Code retour incorrect (MAXI %(i1)d) : %(i2)d
 """),
 
 4: _("""
index 6742e15d8aca68ee6e771510ae0aeffcf50bc395..08cfacb7aa6091286e4a1a01113fbbda05929201 100644 (file)
@@ -1,39 +1,43 @@
-#@ MODIF factor Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF factor Messages  DATE 11/02/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2007  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.        
+# COPYRIGHT (C) 1991 - 2006  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.
 # ======================================================================
 
 def _(x) : return x
 
-cata_msg = {
+cata_msg={
 
-10 : _("""
+
+#-----------------------------------------------------------------------------------------------
+10: _("""
 Matrice non factorisable :
   pivot presque nul à la ligne : %(i1)d
   nombre de décimales perdues  : %(i2)d
 """),
 
-11 : _("""
+#-----------------------------------------------------------------------------------------------
+11: _("""
 Matrice non factorisable :
   pivot vraiment nul à la ligne : %(i1)d
 """),
 
-20 : _("""
+#-----------------------------------------------------------------------------------------------
+20: _("""
   -> Matrice non factorisable :
      Le pivot est presque nul à la ligne %(i1)d pour le noeud %(k1)s et
      la composante %(k2)s.
@@ -46,13 +50,16 @@ Matrice non factorisable :
      structure ne "tienne" que par le contact.
 """),
 
-21 : _("""
+#-----------------------------------------------------------------------------------------------
+21: _("""
 Matrice non factorisable :
   pivot vraiment nul à la ligne : %(i1)d
   pour le noeud %(k1)s et la composante %(k2)s
 """),
 
-30 : _("""
+
+#-----------------------------------------------------------------------------------------------
+30: _("""
 Matrice non factorisable :
   pivot presque nul à la ligne : %(i1)d
   nombre de décimales perdues  : %(i2)d
@@ -60,14 +67,17 @@ Matrice non factorisable :
   La liste des noeuds concernés par cette relation est imprimée ci-dessus dans le fichier MESSAGE.
 """),
 
-31 : _("""
+#-----------------------------------------------------------------------------------------------
+31: _("""
 Matrice non factorisable :
   pivot vraiment nul à la ligne : %(i1)d
   Il s'agit sans doute d'une relation linéaire entre ddls surabondante.
   La liste des noeuds concernés par cette relation est imprimée ci-dessus dans le fichier MESSAGE.
 """),
 
-40 : _("""
+
+#-----------------------------------------------------------------------------------------------
+40: _("""
 Matrice non factorisable :
   pivot presque nul à la ligne : %(i1)d
   nombre de décimales perdues  : %(i2)d
@@ -75,14 +85,16 @@ Matrice non factorisable :
   blocage concerné : %(k4)s
 """),
 
-41 : _("""
+#-----------------------------------------------------------------------------------------------
+41: _("""
 Matrice non factorisable :
   pivot vraiment nul à la ligne : %(i1)d
   Il s'agit sans doute d'une relation de blocage surabondante.
   blocage concerné : %(k4)s
 """),
 
-42 : _("""
+#-----------------------------------------------------------------------------------------------
+42: _("""
 Matrice non factorisable :
   Le solveur MUMPS considère la matrice comme numériquement singulière.
   (Mais il n'en dit pas plus)
@@ -91,22 +103,106 @@ Conseil :
   Il s'agit peut-etre d'un manque de conditions aux limites,
   ou au contraire, de redondances entre de trop nombreuses conditions.
 """),
-
-51 : _("""
+#-----------------------------------------------------------------------------------------------
+50: _("""
+ Solveur MUMPS :
+   -> Vous avez demandé comme renuméroteur RENUM = '%(k1)s', or MUMPS en a
+      utilisé un autre.
+   -> Risque & Conseil :
+      Il se peut que votre version de MUMPS n'ait pas été compilée avec
+      le support de ce renuméroteur. Dans le doute, RENUM='AUTO' permet
+      de laisser MUMPS faire le meilleur choix.
+ """),
+#-----------------------------------------------------------------------------------------------
+51: _("""
 Solveur MUMPS interdit ici.
 Causes possibles :
-  - contact/frottement discret
-  - STAT_NON_LINE / FLAMBEMENT
+  - frottement pénalisé ou lagrangien (si MUMPS distribué parallèle)
 """),
 
-52 : _("""
+#-----------------------------------------------------------------------------------------------
+52: _("""
 Solveurs LDLT et MULT_FRONT seuls permis ici.
 Causes possibles :
-  - contact/frottement discret
   - STAT_NON_LINE / FLAMBEMENT
 """),
 
-61 : _("""
+#-----------------------------------------------------------------------------------------------
+53: _("""
+Solveur MUMPS :
+  Mumps manque de mémoire lors de la factorisation de la matrice.
+Solution :
+  Il faut augmenter la valeur du mot clé  SOLVEUR/PCENT_PIVOT.
+Remarque : on a le droit de dépasser la valeur 100.
+"""),
+
+#-----------------------------------------------------------------------------------------------
+54: _("""
+Solveur MUMPS :
+  Le solveur Mumps manque de mémoire lors de la factorisation de la matrice.
+
+Solution :
+  Il faut augmenter la mémoire accessible à Mumps (et autres programmes hors fortran d'Aster).
+  Pour cela, il faut diminuer la mémoire donnée à JEVEUX (ASTK : case "dont Aster (Mo)").
+"""),
+
+#-----------------------------------------------------------------------------------------------
+55: _("""
+Solveur MUMPS :
+  Problème ou alarme dans le solveur MUMPS.
+  Le code retour de mumps (INFOG(1)) est : %(i1)d
+Solution :
+  Consulter le manuel d'utilisation de Mumps.
+  Prévenir l'équipe de développement de Code_Aster.
+"""),
+
+#-----------------------------------------------------------------------------------------------
+56: _("""
+Solveur MUMPS :
+  Il ne faut pas utiliser TYPE_RESOL = '%(k1)s'
+  Pour une matrice non-symétrique.
+Solution :
+  Il faut utiliser TYPE_RESOL = 'NONSYM' (ou 'AUTO').
+"""),
+
+#-----------------------------------------------------------------------------------------------
+57: _("""
+Solveur MUMPS :
+  La solution du système linéaire est trop imprécise :
+  Erreur calculée   : %(r1)g
+  Erreur acceptable : %(r2)g   (RESI_RELA)
+Solution :
+  On peut augmenter la valeur du mot clé SOLVEUR/RESI_RELA.
+"""),
+
+#-----------------------------------------------------------------------------------------------
+58: _("""
+Solveur MUMPS :
+  La matrice est numériquement singulière.
+Solution :
+  Peut être un problème de modélisation (blocages redondants...)
+"""),
+
+#-----------------------------------------------------------------------------------------------
+59: _("""
+Solveur MUMPS :
+  La matrice est déjà factorisée. On ne fait rien.
+Solution :
+  Il y a sans doute une erreur de programmation.
+  Contactez l'assistance.
+"""),
+
+#-----------------------------------------------------------------------------------------------
+60: _("""
+Solveur MUMPS :
+  Limite atteinte : le solveur Mumps est utilisé par plus de 5 matrices simultanément.
+Solution :
+  Il faut corriger le programme (PARAMETER (NMXINS=5) dans amumps.f)
+  Contactez l'assistance.
+"""),
+
+#-----------------------------------------------------------------------------------------------
+61: _("""
 Erreur Programmeur lors de la résolution d'un système linéaire :
  La numérotation des inconnues est incohérente entre la matrice et le second membre.
  Matrice       : %(k1)s
@@ -115,4 +211,25 @@ Erreur Programmeur lors de la r
  Si solveur : 'Feti' : numéro du sous-domaine (ou domaine global) : %(i1)d
 """),
 
+#-----------------------------------------------------------------------------------------------
+62: _("""
+Alarme Solveur MUMPS :
+  La procédure de raffinement itératif aurait besoin de plus que les %(i1)d d'itérations
+  imposées en dur dans l'appel MUMPS par Code_Aster.
+Solution :
+  On peut essayer de corriger l'affectation de XMPSK%ICNTL(10) dans AMUMPR/C.F.
+  Contactez l'assistance.
+"""),
+
+#-----------------------------------------------------------------------------------------------
+63: _("""
+Information Solveur MUMPS :
+  Déséquilibrage de charge maximum supérieur à %(r1)g %% sur au moins une des 6 étapes profilées.
+Conseils: Pour optimiser l'équilibrage de votre calcul, vous pouvez essayer
+        - d'enlever du modèle les mailles qui ne participent pas au calcul,
+        - utiliser l'option 'DISTRIBUE_SD' au lieu de 'DISTRIBUE_MAILLE' ou 'CENTRALISE',
+        - diminuer le nombre de processeurs utilisés.
+"""),
+
+#-----------------------------------------------------------------------------------------------
 }
index dcf34693a810ee06f3cfd1624b3962166c6165a5..e694576f6c35b5201c21689db78149ae5708f2d8 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF fatigue1 Messages  DATE 18/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF fatigue1 Messages  DATE 26/11/2007   AUTEUR ANGLES J.ANGLES 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -270,4 +270,20 @@ cata_msg={
  opérande: CISA_PLAN_CRIT
 """),
 
+76: _("""
+ Le nombre d'instants calculés est égal à %(i1)d.
+
+ Il faut que l'histoire du chargement comporte au moins 2 instants
+ pour calculer un dommage.
+
+"""),
+
+77: _("""
+ Le nombre de cycles extraits est égal à %(i1)d.
+
+ Votre chargement est constant.
+ On ne peut donc pas extraire de cycles.
+
+"""),
+
 }
index 511bbc18361f488abe898cd38cccb6526f2ba9fd..8b17ea79581ef6255adf4f70ed70f3e22883afb9 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF fermetur Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF fermetur Messages  DATE 08/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
-
 def _(x) : return x
 
-cata_msg = {
+cata_msg={
+
+
+1: _("""
+  Erreur :
+      le solveur "MUMPS" n'est pas installé sur cette machine.
+"""),
+
+2: _("""
+  Erreur :
+      la bibliothèque "MED" n'est pas installée sur cette machine.
+"""),
+
+3: _("""
+  Erreur :
+      la bibliothèque "HDF5" n'est pas installée sur cette machine.
+"""),
+
+4: _("""
+  Erreur :
+      la bibliothèque "ZMAT" n'est pas installée sur cette machine.
+"""),
+
+5: _("""
+  Erreur de programmation :
+      On essaye d'utiliser un operateur (op0xxx) qui n'est pas encore programmé.
+"""),
+
+6: _("""
+  Erreur de programmation :
+      On essaye d'utiliser un operateur (ops0xx) qui n'est pas encore programmé.
+"""),
+
+
+7: _("""
+  Erreur :
+      le logiciel "SCOTCH" n'est pas installé sur cette machine.
+"""),
+
+8: _("""
+  Erreur de programmation :
+      On essaye d'utiliser une routine de calcul élémentaire (te0xxx)
+      qui n'est pas encore programmée.
+"""),
+
+9: _("""
+  Erreur de programmation :
+      On essaye d'utiliser une routine d'initialisation élémentaire (ini0xx)
+      qui n'est pas encore programmée.
+"""),
+
+10: _("""
+  Erreur :
+      le solveur "PETSc" n'est pas installé sur cette machine.
+"""),
+
+
 
 }
index 346678f95910568b80aaebdfc77b94dc518caf33..bb17648ec06ac1e29a1dd3fdf500fc54c3597cdb 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF fonct0 Messages  DATE 11/09/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF fonct0 Messages  DATE 11/03/2008   AUTEUR MAZET S.MAZET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -20,7 +20,7 @@
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
 1 : _("""
 Le fichier %(k1)s existe déjà, on écrit à la suite.
@@ -59,19 +59,15 @@ ABSCISSE et ORDONNEE n'ont pas la meme taille.
 Format inconnu : %(k1)s
 """),
 
-# le message 9 est parfois suivi du message 10
-9 : {
-   'message' : _("""
+9 : _("""
 Erreur lors de l'interpolation de la fonction '%(k1)s'.
 """),
-   'context' : { 'CONCEPT' : 'k1' },
-},
 
-10: _("""
+10 : _("""
  sur la maille '%(k1)s'
 """),
 
-11: _("""
+11 : _("""
 L'interpolation de la fonction '%(k1)s' n'est pas autorisée.
 Le type d'interpolation de la fonction vaut 'NON'
   
@@ -79,7 +75,7 @@ Le type d'interpolation de la fonction vaut 'NON'
     Voir le mot-clé INTERPOL des commandes qui créent des fonctions.
 """),
 
-12: _("""
+12 : _("""
 Une erreur s'est produite dans la recherche de l'intervalle des abscisses contenant la valeur %(r1)s.
   
   -> Risque & Conseil :
@@ -87,7 +83,7 @@ Une erreur s'est produite dans la recherche de l'intervalle des abscisses conten
     (mot-clé INTERPOL des commandes qui créent des fonctions).
 """),
 
-13: _("""
+13 : _("""
 Le type de la fonction '%(k1)s' est inconnu.
 Seules les fonctions, nappes, fonctions constantes peuvent etre traitées par FOINTE.
 
@@ -95,31 +91,31 @@ Seules les fonctions, nappes, fonctions constantes peuvent etre trait
       le type est '%(k2)s'
 """),
 
-14: _("""
+14 : _("""
 Il n'y a pas assez de paramètres pour évaluer la fonction.
 Seulement %(i1)d paramètre(s) sont fourni(s) alors que la fonction en réclame %(i2)d.
 """),
 
-15: _("""
+15 : _("""
 Il y a des doublons dans la liste des paramètres fournis :
    %(ktout)s
 """),
 
-16: _("""
+16 : _("""
 Les paramètres nécessaires sont :
    %(ktout)s
 """),
 
-17: _("""
+17 : _("""
 Les paramètres fournis sont :
    %(ktout)s
 """),
 
-18: _("""
+18 : _("""
 La fonction n'a meme pas un point !
 """),
 
-19: _("""
+19 : _("""
 On est hors du domaine de définition de la fonction.
 On ne peut pas interpoler la fonction pour cette abscisse car le prolongement à gauche est exclus.
    abscisse demandée              : %(r1)f
@@ -129,7 +125,7 @@ On ne peut pas interpoler la fonction pour cette abscisse car le prolongement 
     Voir le mot-clé PROL_GAUCHE des commandes qui créent des fonctions.
 """),
 
-20: _("""
+20 : _("""
 On est hors du domaine de définition de la fonction.
 On ne peut pas interpoler la fonction pour cette abscisse car le prolongement à droite est exclus.
    abscisse demandée              : %(r1)f
@@ -139,14 +135,14 @@ On ne peut pas interpoler la fonction pour cette abscisse car le prolongement 
     Voir le mot-clé PROL_DROITE des commandes qui créent des fonctions.
 """),
 
-21: _("""
+21 : _("""
 Erreur de programmation : type d'extrapolation inconnu.
 
   -> Debug :
       le type d'extrapolation est '%(k1)s'
 """),
 
-22: _("""
+22 : _("""
 La fonction n'est définie qu'en un point. On ne peut pas l'interpoler en
 plus d'un point si le prolongement n'est pas constant des deux cotés.
   
@@ -154,7 +150,7 @@ plus d'un point si le prolongement n'est pas constant des deux cot
     Voir les mot-clés PROL_GAUCHE/PROL_DROITE des commandes qui créent des fonctions.
 """),
 
-23: _("""
+23 : _("""
 La fonction n'est définie qu'en un point. On ne peut pas l'interpoler ailleurs
 qu'en ce point si le prolongement n'est pas constant des deux cotés.
   
@@ -162,12 +158,12 @@ qu'en ce point si le prolongement n'est pas constant des deux cot
     Voir les mot-clés PROL_GAUCHE/PROL_DROITE des commandes qui créent des fonctions.
 """),
 
-24: _("""
+24 : _("""
 On attend une fonction d'un seul paramètre.
 La fonction '%(k1)s' est une fonction de %(i1)d paramètres.
 """),
 
-25: _("""
+25 : _("""
 Le type de la fonction '%(k1)s' est inconnu.
 Seules les fonctions, nappes, fonctions constantes et formules sont
 traitées par FOINTR.
@@ -176,12 +172,12 @@ trait
       le type est '%(k2)s'
 """),
 
-26: _("""
+26 : _("""
    abscisse demandée : %(r1)f
    intervalle trouvé : [%(r2)f, %(r3)f]
 """),
 
-27: _("""
+27 : _("""
 Un problème d'interpolation a été rencontré. 
 %(k1)s
 
@@ -193,7 +189,7 @@ Un probl
       %(k2)s
 """),
 
-28: _("""
+28 : _("""
 Un problème concernant le nom des abscisses ou ordonnées a été rencontré.
 %(k1)s
    
@@ -205,7 +201,7 @@ Un probl
       %(k2)s
 """),
 
-29: _("""
+29 : _("""
 Un problème concernant le prolongement de la (des) fonction(s) a été rencontré.
 %(k1)s
    
@@ -217,7 +213,7 @@ Un probl
       %(k2)s
 """),
 
-30: _("""
+30 : _("""
 Une erreur s'est produite lors de l'opération.
 %(k1)s
    
@@ -230,64 +226,93 @@ Remont
 
 """),
 
-31: _("""
+31 : _("""
    Génération par défaut de 3 amortissements :[%(r1)f,%(r2)f,%(r3)f]
 """),
 
-32: _("""
+32 : _("""
    Génération par défaut de 150 fréquences :
    %(k1)s
 """),
 
-33: _("""
+33 : _("""
    SPEC_OSCI, la norme ne peut etre nulle.
 """),
 
-34: _("""
+34 : _("""
    SPEC_OSCI, le type de la fonction doit etre ACCE.
 """),
 
-35: _("""
+35 : _("""
    SPEC_OSCI, seule la méthode NIGAM est codée.
 """),
 
-36: _("""
+36 : _("""
    SPEC_OSCI, la méthode choisie suppose des amortissements sous-critiques,
    amor<1.
 """),
 
-37: _("""
+37 : _("""
  calcul du MAX, la liste de fonctions n'est pas 
  homogène en type (fonctions et nappes)
 """),
 
-38: _("""
+38 : _("""
  Calcul du MAX, la liste de fonctions n'est pas homogène
  en label NOM_PARA :%(k1)s
 """),
 
-39: _("""
+39 : _("""
  Calcul du MAX, la liste de fonctions n'est pas homogène
  en label NOM_RESU :%(k1)s 
 """),
 
-40: _("""
+40 : _("""
  Intensite spectrale, avant de calculer l'intensite spectrale, 
  il est prudent de verifier la norme de la nappe sur laquelle 
  porte le calcul, ceci peut etre une source d erreurs.
 """),
 
-41: _("""
+41 : _("""
  Le fichier %(k1)s est introuvable.
 """),
 
-42: _("""
+42 : _("""
 Erreur lors de la lecture des blocs de valeurs :
    %(k1)s
 """),
 
-43: _("""
+43 : _("""
 Les fréquences doivent etre strictement positives.
 """),
 
+44 : _("""
+Les abscisses de la fonction %(k1)s ne sont pas strictement croissantes.
+"""),
+
+45 : _("""
+Les abscisses de la fonction %(k1)s ne sont pas croissantes.
+"""),
+
+46 : _("""
+Les abscisses de la fonction %(k1)s ne sont pas décroissantes.
+"""),
+
+47 : _("""
+Les abscisses de la fonction %(k1)s ne sont pas strictement décroissantes.
+"""),
+
+50 : _("""
+Seules les formules à une variable peuvent être traitées directement par IMPR_FONCTION.
+
+La formule '%(k1)s' dépend de %(i1)d paramètres.
+
+  -> Risque & Conseil :
+      - Si votre formule dépend de 2 paramètres, utilisez CALC_FONC_INTERP pour produire
+        une nappe puis appeler IMPR_FONCTION.
+      - Si votre formule dépend de 3 paramètres ou plus, vous devez d'abord créer une
+        nouvelle formule à un seul paramètre (et appelé IMPR_FONCTION) ou à 2 paramètres
+        et passer par CALC_FONC_INTERP puis IMPR_FONCTION.
+"""),
+
 }
index eea65e3801686a1224b4ecffc32937452a6e0eef..863c4f7f252fa1e10f6af8fcf8331ec49d03a68a 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF grappefluide Messages  DATE 16/05/2007   AUTEUR BOYERE E.BOYERE 
+#@ MODIF grappefluide Messages  DATE 06/11/2007   AUTEUR BOYERE E.BOYERE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -69,9 +69,9 @@ cata_msg={
 """),
 
 11: _("""
- Force fluide, grappe bloquée   
+ Force fluide, arrivee de la grappe en butee, fin du calcul de chute de grappe
   - iteration  %(i1)d , z =  %(r1)f    itération  %(i2)d  , z =  %(r2)f 
-    temps de chute compris entre  %(r3)f et  %(r4)f 
+    temps de chute total T5 + T6 compris entre  %(r3)f et  %(r4)f 
 """),
 
 12: _("""
@@ -81,4 +81,23 @@ cata_msg={
 13: _("""
  CALCUL GRAPPE FLUIDE : C1 nul (altitude %(r1)f m)
 """),
+
+14: _("""
+ Force fluide, grappe a l'entree du retreint
+  - iteration  %(i1)d , z =  %(r1)f    itération  %(i2)d  , z =  %(r2)f 
+    temps de chute T5 compris entre  %(r3)f et  %(r4)f 
+"""),
+
+15: _("""
+ Force fluide, attention grappe bloquee
+  - iteration  %(i1)d , z =  %(r1)f    itération  %(i2)d  , z =  %(r2)f 
+    attention temps de chute compris entre  %(r3)f et  %(r4)f 
+"""),
+
+16: _("""
+ Force fluide, pression maximale dans le retreint
+  - iteration  %(i1)d , z =  %(r1)f    itération  %(i2)d  , z =  %(r2)f 
+    pression maximale  %(r4)f Pa dans le retreint
+"""),
+
 }
index 98c74a2332687e494fb4527e64bf411434306112..b4e1163118fb16496a8b18442601e6ec6e66aa95 100644 (file)
@@ -1,21 +1,21 @@
-#@ MODIF indicateur Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF indicateur Messages  DATE 11/03/2008   AUTEUR MEUNIER S.MEUNIER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.
 # ======================================================================
 
 def _(x) : return x
@@ -33,6 +33,22 @@ Le champ de contraintes n'a pas 
 On ne peut pas calculer l'option %(k1)s pour le numéro d'ordre %(k2)s.
 """),
 
+3: _("""
+On ne peut pas calculer un indicateur d'erreur spatial à l'instant initial.
+Revoyez votre liste d'instants de calcul.
+Conseil : Faites-la démarrer au premier instant suivant l'instant initial.
+"""),
+
+4: _("""
+Attention : on n'a pas pu récupérer le parametre theta dans le resultat %(k1)s.
+La valeur prise par défaut pour theta est 0.57
+"""),
+
+5: _("""
+Attention : récupération d'une valeur de theta illicite dans le resultat %(k1)s.
+La valeur prise par défaut pour theta est 1.
+"""),
+
 6 : _("""
 Le calcul de l'indicateur d erreur ne sait pas traiter les charges du type de %(k1)s.
 """),
@@ -49,6 +65,14 @@ Probleme sur les charges. Consulter la documentation
 Impossible de récupérer les paramètres temporels.
 """),
 
+18 : _("""
+Impossible de récupérer la porosité
+"""),
+
+19 : _("""
+Impossible de récupérer le coefficient de Poisson
+"""),
+
 20 : _("""
 perm_in: division par zéro
 """),
@@ -57,9 +81,33 @@ perm_in: division par z
 La %(k1)s caractéristique est nulle. On risque la division par zéro.
 """),
 
+22: _("""
+rho liquide: div par zero
+"""),
+
+23: _("""
+Vous n'utilisez pas une modélisation hm saturée élastique.
+"""),
+
+24 : _("""
+ le résultat  %(k1)s  doit comporter un champ d'indicateurs d'erreur au numéro
+ d'ordre%(k2)s  .
+"""),
+
+
+25: _("""
+Il faut renseigner le mot-clef comp_incr avec elas et liqu_satu pour calculer l'
+indicateur d'erreur temporelle.
+"""),
+
 28 : _("""
-Pour le calcul de l'indicateur d'erreur en THM, il faut fournir
+Pour le calcul de l'indicateur d'erreur en HM, il faut fournir
 les longueur et pression caractéristiques.
+Ces valeurs doivent etre strictement positives.
+"""),
+
+31: _("""
+deltat: division par zéro
 """),
 
 90 : _("""
@@ -70,6 +118,10 @@ La condition %(k1)s est bizarre.
 On ne sait pas traiter la condition %(k1)s.
 """),
 
+92 : _("""
+L'option %(k1)s est calculable en dimension 2 uniquement.
+"""),
+
 98 : _("""
 L'option %(k1)s est invalide.
 """),
index 7dbf2084274410edd174ecd6ffc874473d3f7247..3609a602adab0ff3322a98832742c8bc6cc1c2c5 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF irrad3m Messages  DATE 16/10/2007   AUTEUR SALMONA L.SALMONA 
+#@ MODIF irrad3m Messages  DATE 17/12/2007   AUTEUR FLEJOU J-L.FLEJOU 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -27,26 +27,26 @@ cata_msg={
 La <%(k1)s> dichotomie pour la loi IRRAD3M n'a pas trouvée de solution pour
 le nombre d'itération donné <%(i1)d>.\n
 Info pour le debug
-   Borne 0                 : <%(r1)E>
-   Borne 1                 : <%(r2)E>
-   Puissance N             : <%(r3)E>
-   Pas pour la recherche   : <%(r4)E>
-   RM                      : <%(r5)E>
-   EU                      : <%(r6)E>
-   R02                     : <%(r7)E>
-   Précision demandée      : <%(r8)E>
+   Borne 0                 : <%(r1).15E>
+   Borne 1                 : <%(r2).15E>
+   Puissance N             : <%(r3).15E>
+   Pas pour la recherche   : <%(r4).15E>
+   RM                      : <%(r5).15E>
+   EU                      : <%(r6).15E>
+   R02                     : <%(r7).15E>
+   Précision demandée      : <%(r8).15E>
 Valeurs initiales
-   N0                      : <%(r9)E>
-   Borne 0                 : <%(r10)E>
-   Borne 1                 : <%(r11)E>
-   Borne E                 : <%(r12)E>
+   N0                      : <%(r9).15E>
+   Borne 0                 : <%(r10).15E>
+   Borne 1                 : <%(r11).15E>
+   Borne E                 : <%(r12).15E>
 """),
 
 2: _("""
 L'irradiation diminue au cours du temps. C'EST PHYSIQUEMENT IMPOSSIBLE.
-Grandeurs au point de Gauss qui pose problème :
-   Irradiation a t- : <%(r1)E>
-   Irradiation a t+ : <%(r2)E>
+Grandeurs au point de Gauss :
+   Irradiation a t- : <%(r1).15E>
+   Irradiation a t+ : <%(r2).15E>
 """),
 
 3: _("""
index b690db70f5e16e6d4fe99d724b39b0dcea91189b..71cf62e2c8c418f6abfdc89073fb5abd24d48a78 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF jeveux Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF jeveux Messages  DATE 15/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -26,12 +26,35 @@ cata_msg = {
   %(k1)s
 """),
 
+2 : _("""
+ Pointeur de longueur externe interdit maintenant.
+"""),
+
+3 : _("""
+ Pointeur de nom externe interdit maintenant.
+"""),
+
+6 : _("""
+ Erreur de programmation :
+  Appel invalide, la marque devient négative
+"""),
+
 7 : _("""
  Destruction de  %(k1)s
 """),
 
+8 : _("""
+ La base  %(k1)s  a été constituée avec la version  %(k2)s
+ et vous utilisez la version  %(k3)s
+"""),
+
+9 : _("""
+ Suppression de la partition mémoire
+"""),
+
 10 : _("""
-Erreur de programmation :
+ Erreur de programmation :
 
  Le nom demandé existe déjà dans la base %(k1)s
 """),
@@ -63,6 +86,11 @@ Erreur de programmation :
  Chainage cassé après l'objet :  %(k1)s
 """),
 
+18 : _("""
+ Le segment de valeurs associé à l'objet : %(k1)s, n'existe pas en mémoire et
+ l'objet ne possède pas d'image disque. 
+"""),
+
 19 : _("""
  Le nom d'un objet JEVEUX ne doit pas commencer par un blanc.
 """),
@@ -149,10 +177,6 @@ Erreur de programmation :
      Mode debug positionne a %(i1)d
 """),
 
-35 : _("""
-     Le nombre de bases gérables est limité à %(i1)d
-"""),
-
 36 : _("""  
      Le nombre d'enregistrements maximum de la base %(k1)s sera modifié
      de %(i1)d a %(i2)d
@@ -205,10 +229,6 @@ Erreur de programmation :
  Taille de la partition principale %(r1)g 
 """),
 
-46 : _("""
- Libération des segments alloues dynamiquement pour une longueur cumulée de %(i1)d (entiers) 
-"""),
-
 47 : _("""
  Erreur lors de la relecture d'un enregistrement sur le fichier d'accès direct.
 """),
@@ -264,7 +284,16 @@ Erreur de programmation :
 
 60 : _("""
  Erreur lors de l'allocation dynamique. Il n'a pas été possible d'allouer 
- une zone mémoire de longueur %(i1)d (entiers).
+ une zone mémoire de longueur %(i1)d (octets).
+ La dernière opération de libération mémoire a permis de récupérer %(i2)d (octets). 
+
+"""),
+
+62 : _("""
+ Erreur lors de l'allocation dynamique. Il n'a pas été possible d'allouer 
+ une zone mémoire de longueur %(i1)d (octets), on dépasse la limite maximum 
+ fixée à %(i2)d (octets) et on occupe déjà %(i3)d (octets).
+ La dernière opération de libération mémoire a permis de récupérer %(i4)d (octets). 
 
 """),
 
index af96f7d7fd105220aaa3631c261f8d360adbe52d..0ebbb675d5360a451d5a11b95fc57349b8a63158 100644 (file)
@@ -1,8 +1,8 @@
-#@ MODIF maillage Messages  DATE 24/09/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF maillage Messages  DATE 10/12/2007   AUTEUR REZETTE C.REZETTE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2007  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     
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-1: _("""
-   Le nom de groupe numéro %(i1)d de la famille %(k1)s
-   est trop long. Il sera tronqué à 8 caractères.
-   Le groupe "%(k2)s" est renommé en "%(k3)s".
-"""),
-
-2: _("""
-Le nom de groupe numéro %(i1)d de la famille %(k1)s
-est vide.
-"""),
-
-3: _("""
-Famille %(k1)s :
-   Incohérence sur les nombres de %(k2)s, il y en a %(i1)d alors
-   que la fonction MED en annonce %(i2)d.
-
-Impossible de lire ce fichier. On peut utiliser mdump (utilitaire med)
-pour voir si le problème vient du fichier MED ou de la lecture dans
-Code_Aster.
-"""),
-
-4: _("""
-La famille %(k1)s n'a ni groupe, ni attribut.
-"""),
-
-5: _("""
-   Lecture de la famille numéro %(i1)4d de nom %(k1)s.
-"""),
-
-6: _("""
-      Groupe numéro %(i1)6d : %(k1)s
-"""),
-
-7: _("""
-      Groupe numéro %(i1)6d : %(k1)s
-                renommé en : %(k2)s
-"""),
+11 : _("""
+Plus de %(i1)d faces touchent le noeud %(k1)s.
 
-8: _("""
-Vous ne pouvez pas renommer le groupe "%(k1)s" en "%(k2)s"
-car "%(k2)s" existe déjà dans le fichier MED.
+Risque & conseils :
+   Vérifier la validité de votre maillage autour de ce point.
+   Dans une grille, un noeud est commun à 12 faces.
 """),
 
-9: _("""
-Arret en raison des conflits sur les noms de groupe.
+12 : _("""
+ L'option HEXA20_27 ne traite pas les macros mailles
 """),
 
-10: _("""
-   Le nom de groupe numéro %(i1)d de la famille %(k1)s
-   est contient des caractères interdits.
-   Le groupe "%(k2)s" est renommé en "%(k3)s".
+13 : _("""
+ L'option HEXA20_27 ne traite pas les absc_curv
 """),
 
-11: _("""
-Plus de %(i1)d faces touchent le noeud %(k1)s.
-
-Risque & conseils :
-   Vérifier la validité de votre maillage autour de ce point.
-   Dans une grille, un noeud est commun à 12 faces.
+14 : _("""
+ Le mot-cle MAILLAGE est obligatoire avec le mot-cle HEXA20_27.
 """),
 
-
 }
-
index 0dc83467142cc5d808a577b2f65fee2bdce2ec06..0050fdebf3b2facabf762394b1425c26c567febf 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF matrice0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF matrice0 Messages  DATE 14/01/2008   AUTEUR DESOZA T.DESOZA 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -37,22 +37,6 @@ cata_msg={
  Rigidité ajouté sur modele généralisé non encore implanté.
 """),
 
-5: _("""
- Avec méthode LDLT, RENUM doit etre SANS ou RCMK.
-"""),
-
-6: _("""
- Avec méthode MULT_FRONT, RENUM doit etre MDA, MD ou RCMK.
-"""),
-
-7: _("""
- Avec méthode MUMPS, RENUM doit etre SANS.
-"""),
-
-8: _("""
- Avec méthode GCPC, RENUM doit etre SANS ou RCMK.
-"""),
-
 9: _("""
  Une des options doit etre RIGI_MECA ou RIGI_THER ou RIGI_ACOU ou RIGI_MECA_LAGR.
 """),
index 9871f1438f97ace4799def3058799722a90f2c38..55dd3da37ee68724df509f7b25fa47ed3201c19a 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF mecanonline Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF mecanonline Messages  DATE 26/05/2008   AUTEUR DESOZA T.DESOZA 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -22,10 +22,6 @@ def _(x) : return x
 
 cata_msg = {
 
-2 : _("""
- Melange de champs de nature différente dans le meme mot-clé facteur OBSERVATION
-"""),
-
 10 : _("""
  Le concept dans ETAT_INIT n'est pas du type EVOL_NOLI
 """),
@@ -38,6 +34,21 @@ cata_msg = {
  Plusieurs instants correspondent à celui spécifié sous ETAT_INIT
 """),
 
+14 : _("""
+ Vous utilisez la méthode CONTINUE pour le traitement du contact et faites une reprise de calcul (mot-clé reuse). L'état initial de contact sera
+ non contactant sauf si vous avez utilisé le mot-clé CONTACT_INIT.
+ Cela peut entraîner des difficultés de convergence en présence de fortes non-linéarités. En présence de frottement, la solution peut bifurquer
+ différemment.
+ Conseils :
+   Si vous le pouvez, faites votre calcul en une seule fois.
+"""),
+
+15 : _("""
+ Vous utilisez la méthode CONTINUE pour le traitement du contact et définissez un état initial via le mot-clé ETAT_INIT. L'état initial de contact
+ sera non contactant sauf si vous avez utilisé le mot-clé CONTACT_INIT.
+"""),
+
 22 : _("""
  L'etat initial n'appartient pas à un EVOL_NOLI :
  on suppose qu'on part d'un état a vitesses nulles
@@ -65,13 +76,9 @@ cata_msg = {
    Avez-vous bien affecté une masse sur tous les éléments ?
 """),
 
-76 : _("""
- L'etat initial n'appartient pas a un EVOL_NOLI : on suppose qu'on part d'un etat a deplacements nuls
-"""),
-
 77 : _("""
  Vous faites une reprise de calcul avec PILOTAGE en longueur d'arc et avec l'option ANGL_INCR_DEPL mais il n'y pas assez d'informations dans
- la structure de donnees resultats. Il vous faut en effet au moins les deux derniers champs deplacements solutions.
+ la structure de donnees resultats. Il vous faut en effet au moins les deux derniers champs déplacements solutions.
  Changer l'option de PILOTAGE (utilisez NORM_INCR_DEPL) ou refaites le premier calcul pour enrichir la SD resultat (modifiez vos options d'ARCHIVAGE).
 """),
 
@@ -137,4 +144,8 @@ cata_msg = {
     Recherche linéaire non favorable. Rho forcé à 1.
 """),
 
+88 : _("""
+    Echec lors de l'interpolation de la variable de commande.
+"""),
+
 }
index 31adf7582d127c94f4186baf299cf5f39b3ac2f9..a6a18708c7964c2eed51624018d28dd1e3fa8ce9 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF mecanonline2 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF mecanonline2 Messages  DATE 06/05/2008   AUTEUR MAHFOUZ D.MAHFOUZ 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -30,6 +30,15 @@ cata_msg = {
 
 """),
 
+4 : _("""
+ La charge definie dans STAT_NON_LINE en tant que une charge de type suiveuse, 
+ sous le mot-clé TYPE_CHARGE = 'SUIV' n'est pas une Charge SUIVEUSE.
+"""),
+
+27 : _("""
+ Lecture du champ DEPL_CALCULE impossible.
+"""),
+
 36 : _("""
  Erreur dans la découpe initiale des pas.
 """),
index 360adf51031690c6160f4621e4a41a89631bd53e..a85f4ba51b263297b2b0a8ca0c75c803085a2c3c 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF med Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF med Messages  DATE 03/06/2008   AUTEUR REZETTE C.REZETTE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 
 def _(x) : return x
 
-cata_msg={
-1: _("""
- Absence de localisation de points de Gauss dans le fichier MED
- pour l'élément de référence %(k1)s.
- On suppose que l'ordre des points de Gauss est celui d'Aster.
- Risque de résultats faux.
+cata_msg = {
+
+1 : _("""
+  -> Absence de localisation de points de Gauss dans le fichier MED
+     pour l'élément de référence %(k1)s.
+     On suppose que l'ordre des points de Gauss est celui d'Aster.
+  -> Risque & Conseil:     
+     Risque de résultats faux.
+"""),
+
+2 : _("""
+  -> Le nombre de points de Gauss est différent entre le fichier med et Aster:
+      - nombre de points de Gauss contenu dans le fichier MED : %(i2)d
+      - nombre de points de Gauss défini dans Aster           : %(i1)d
+
+     Visiblement les éléments finis décrits dans le fichier MED ne sont pas les
+     mêmes que dans Code_Aster.
+     Si vous avez choisi PROL_ZERO='OUI', le champ sera initialisé à zéro sur
+     ces éléments.
+     Sinon, le champ ne sera pas initialisé (NaN, not a number). C'est le
+     comportement par défaut.
+
+  -> Risque & Conseil :
+      - Choisissez des éléments finis compatibles entre Aster et le code tiers
+"""),
+
+3 : _("""
+  -> Les point de Gauss Med/Aster ne correspondent pas géométriquement.
+  -> Risque & Conseil:
+     Risque de résultats faux à cause cette incompatibilité.
+"""),
+
+4 : _("""
+
+     Point De Gauss : %(i1)d              MED               ASTER
+"""),
+
+5 : _("""
+        %(k1)s                          %(r1)f          %(r2)f
+"""),
+
+6 : _("""
+  -> Une ou plusieurs permutations ont été effectuées sur l'ordre des points
+     de Gauss pour que la localisation Med corresponde à celle d'Aster.
+"""),
+
+7 : _("""
+  -> Le nom de groupe numéro %(i1)d de la famille %(k1)s
+     est trop long. Il sera tronqué à 8 caractères.
+     Le groupe "%(k2)s" est renommé en "%(k3)s".
+"""),
+
+8 : _("""
+  -> Famille %(k1)s :
+       Incohérence sur les nombres de %(k2)s, il y en a %(i1)d alors
+       que la fonction MED en annonce %(i2)d.
+  -> Risque & Conseil: 
+       Impossible de lire ce fichier. 
+       On peut utiliser mdump (utilitaire med) pour voir si le problème
+       vient du fichier MED ou de la lecture dans Code_Aster.
+"""),
+
+9 : _("""
+  -> Vous ne pouvez pas renommer le groupe "%(k1)s" en "%(k2)s"
+     car "%(k2)s" existe déjà dans le fichier MED.
+"""),
+
+10 : _("""
+  -> Le nom de groupe numéro %(i1)d de la famille %(k1)s
+     est contient des caractères interdits.
+     Le groupe "%(k2)s" est renommé en "%(k3)s".
+"""),
+
+11 : _("""
+  -> Le nom de groupe numéro %(i1)d de la famille %(k1)s
+     est vide.
+"""),
+
+12 : _("""
+  -> Erreur lors de l'appel à EFNEMA, code retour = %(k1)s
+  -> Risque & Conseil :
+     Vérifier l'intégrité du fichier MED avec medconforme/mdump.
+     Si le maillage a été produit par un code externe, vérifier que les
+     noms de maillage, de groupes, de familles ne contiennent pas de
+     blancs à la fin.
+     Dans Salomé, on peut renommer ces entités et supprimer les espaces
+     invalides.
+"""),
+
+13 : _("""
+  -> La famille %(k1)s n'a ni groupe, ni attribut.
+"""),
+
+14 : _("""
+  -> Lecture de la famille numéro %(i1)4d de nom %(k1)s.
 """),
 
-2: _("""
- Le nombre de points de Gauss est différent entre le fichier med et Aster:
- - nombre de points de Gauss contenu dans le fichier MED : %(i2)d
- - nombre de points de Gauss défini  dans Aster          : %(i1)d
+15 : _("""
+      Groupe numéro %(i1)6d : %(k1)s
 """),
 
-3: _("""
-Risque de résultats faux à cause d'une incompatibilité de points de Gauss
-entre Med et Aster.
+16 : _("""
+      Groupe numéro %(i1)6d : %(k1)s
+                renommé en : %(k2)s
 """),
 
-4: _("""
+17 : _("""
+  -> Aucune famille n'est présente dans ce fichier med.
+  -> Risque & Conseil :
+     Vérifier l'intégrité du fichier MED avec medconforme/mdump.
+"""),
 
-Point De Gauss : %(i1)d              MED               ASTER
-"""), 
+18 : _("""
+  -> Arret en raison des conflits sur les noms de groupe.
+"""),
 
-5: _("""
-   %(k1)s                          %(r1)f          %(r2)f
-"""), 
+19 : _("""
+  -> Les mailles  %(k1)s ne sont pas nommées dans le fichier med.
+"""),
 
-6: _("""
-Une ou plusieurs permutations ont été effectuées sur l'ordre des points de Gauss
-pour que la localisation Med corresponde à celle d'Aster.
+20 : _("""
+  -> Impossible de retrouver l'adresse associée au groupe  %(k1)s 
+"""),
 
+21 : _("""
+  -> Il manque les coordonnées !
 """),
+
+22 : _("""
+  Le nom de groupe numéro  %(i1)d  est en double. %(k1)s
+  - premier nom med  :  %(k2)s
+  - second nom med   :  %(k3)s
+  - nom aster retenu :  %(k4)s
+"""),
+
+23 : _("""
+  -> Mailles  %(k1)s 
+"""),
+
+24 : _("""
+  -> Le fichier n'a pas été construit avec la meme version de med.
+  -> Risque & Conseil :
+     La lecture du fichier peut échouer !
+
+"""),
+
+25 : _("""
+   Version de la bibliothèque med utilisee par Code_Aster:  %(i1)d %(i2)d %(i3)d
+"""),
+
+26 : _("""
+   Version de la bibliothèque med qui a créé le fichier  : < 2.1.5
+"""),
+
+27 : _("""
+   Version de la bibliothèque med pour créer le fichier  :  %(i1)d %(i2)d %(i3)d 
+"""),
+
+28 : _("""
+
+   Un utilitaire vous permet peut-etre de convertir votre fichier (medimport)
+"""),
+
+29 : _("""
+  -> Il manque les mailles !
+"""),
+
+30 : _("""
+  -> Erreur: numéro de groupe = 0
+"""),
+
+31 : _("""
+  -> Ce champ existe déjà dans le fichier MED. 
+     On ne peut pas le créer de nouveau.
+
+     Nom MED du champ : "%(k1)s"
+
+  -> Risque & Conseil :
+     Si vous essayez d'imprimer les différentes composantes d'un champ,
+     ne faites qu'un seul IMPR_RESU avec la liste des composantes à
+     retenir derrière le mot-clé NOM_CMP.
+     Pour la visualisation dans Salomé (Scalar Map par exemple),
+     sélectionner la composante dans Scalar Range/Scalar Mode.
+"""),
+
+32 : _("""
+     Le champ est inconnu.
+"""),
+
+33 : _("""
+     Il manque des composantes.
+"""),
+
+34 : _("""
+     Aucune valeur n'est présente à cet instant.
+"""),
+
+35 : _("""
+     Aucune valeur n'est présente à ce numéro d'ordre.
+"""),
+
+36 : _("""
+     Le nombre de valeurs n'est pas correct.
+"""),
+
+37 : _("""
+  -> La lecture est donc impossible.
+  -> Risque & Conseil :
+     Veuillez vérifier l'intégrité du fichier MED avec medconforme/mdump.
+"""),
+
+38 : _("""
+  -> Incohérence catalogue - fortran (nbtyp fortran différent de nbtyp catalogue)
+"""),
+
+39 : _("""
+  -> Incohérence catalogue - fortran (nomtyp fortran différent de nomtyp catalogue)
+"""),
+
+40 : _("""
+  -> Ouverture du fichier med en mode  %(k1)s  %(k2)s 
+"""),
+
+41 : _("""
+  -> Incohérence de version détectée.
+"""),
+
+42 : _("""
+  -> Le type d'entité  %(k1)s  est inconnu.
+"""),
+
+43 : _("""
+  -> Le maillage est introuvable !
+"""),
+
+44 : _("""
+  -> Pas d'écriture pour  %(k1)s 
+"""),
+
+45 : _("""
+     Issu de  %(k1)s 
+"""),
+
+46 : _("""
+  -> Le type de champ est inconnu :  %(k1)s 
+"""),
+
+47 : _("""
+  -> Création des tableaux de valeurs à écrire avec :
+"""),
+
+48 : _("""
+  -> Renumérotation impossible avec plus d'un sous-point.
+"""),
+
+49 : _("""
+  -> Veritable écriture des tableaux de valeurs
+"""),
+
+50 : _("""
+  -> Pas de maillage dans  %(k1)s 
+"""),
+
+51 : _("""
+  -> Maillage  %(k1)s  inconnu dans  %(k2)s 
+"""),
+
+52 : _("""
+  ->  Instant inconnu pour ce champ et ces supports dans le fichier.
+"""),
+
+53 : _("""
+  ->  La version de la lib med utilisée par Code-Aster est plus récente que 
+      celle qui a produit votre fichier med.
+  ->  Conséquence:  On considère les champs aux noeuds par élément 
+      comme des pseudo champs aux points de Gauss. 
+      (On utilise pour la lecture du champ %(k1)s 
+       contenu dans votre fichier med, le type d'entité MED_MAILLE au lieu
+       de MED_NOEUD_MAILLE).
+"""),
+
+55 : _("""
+  -> Lecture impossible pour  %(k1)s  au format MED
+"""),
+
+57 : _("""
+  -> Le champ  %(k1)s n'existe pas dans le fichier med.
+  -> Risque & Conseil :
+     Vérifier l'intégrité du fichier MED avec medconforme/mdump.
+"""),
+
+60 : _("""
+  -> On ne traite pas les maillages distants.
+"""),
+
+62 : _("""
+  -> Impossible de déterminer un nom de maillage MED.
+"""),
+
+63 : _("""
+  -> Le mot clé "INFO_MAILLAGE" est réservé au format med.
+"""),
+
+65 : _("""
+  -> Grandeur inconnue.
+"""),
+
+66 : _("""
+  -> Composante inconnue pour la grandeur.
+"""),
+
+67 : _("""
+  -> Le maillage %(k2)s est déjà présent dans le fichier med %(k1)s.
+"""),
+
+68 : _("""
+  -> Instant voulu :  %(r1)f
+"""),
+
+69 : _("""
+  -> Numéro d'ordre :  %(i1)d numéro de pas de temps :  %(i2)d 
+
+"""),
+
+70 : _("""
+  -> Trop de composantes pour la grandeur.
+"""),
+
+71 : _("""
+  -> le mot-clé MODELE est obligatoire pour lire un CHAM_ELEM
+"""),
+
+72 : _("""
+  -> Nom de composante tronqué à 8 caractères ( %(k1)s  >>>  %(k2)s )
+"""),
+
+73 : _("""
+  -> Impossible de trouver la composante ASTER associée a  %(k1)s 
+"""),
+
+74 : _("""
+  -> Ecriture des localisations des points de gauss.
+"""),
+
+75 : _("""
+  -> Problème dans la lecture du nom du champ et de ses composantes.
+"""),
+
+76 : _("""
+  -> Problème dans le diagnostic.
+"""),
+
+79 : _("""
+  -> Attention le maillage n'est pas de type non structuré
+"""),
+
+80 : _("""
+  -> Le maillage ' %(k1)s ' est inconnu dans le fichier.
+"""),
+
+81 : _("""
+  -> Attention, il s'agit d'un maillage structuré
+"""),
+
+82 : _("""
+  -> L'objet  %(k1)s  n'existe pas.
+  -> Risque & Conseil:
+     Veuillez renseigner le modèle.
+"""),
+
+83 : _("""
+  -  valeurs lues dans le fichier        : %(i1)d 
+  -  valeurs non affectees dans le champ : %(i2)d 
+"""),
+
+84 : _("""
+  -> Type incorrect  %(i1)d 
+"""),
+
+85 : _("""
+  -> Maillage présent :  %(k1)s 
+"""),
+
+86 : _("""
+  -> champ à lire :  %(k1)s typent :  %(i1)d typgeo :  %(i2)d 
+     instant voulu :  %(r1)f 
+     --> numéro d'ordre :  %(i3)d 
+     --> numéro de pas de temps :  %(i4)d 
+"""),
+
+87 : _("""
+  Le numéro d'ordre %(i1)d que vous avez renseigné ne figure pas
+  dans la liste des numéros d'ordre du résultat med. 
+  Conséquence: le champ correspondant ne figurera pas dans la 
+  SD Résultat %(k1)s
+"""),
+
+
+88 : _("""
+  -> Fichier med :  %(k1)s, nombre de maillages présents : %(i1)d 
+"""),
+
+89 : _("""
+  -> Ecriture impossible pour  %(k1)s  au format MED.
+"""),
+
+90 : _("""
+     Début de l'écriture MED de  %(k1)s 
+"""),
+
+91 : _("""
+  -> Impossible de déterminer un nom de champ MED.
+  -> Risque & Conseil:  
+"""),
+
+92 : _("""
+  -> Le type de champ  %(k1)s  est inconnu pour med.
+  -> Risque & Conseil:
+     Veuillez vérifier la mise en données du mot-clé NOM_CHAM_MED
+     (LIRE_RESU) ou NOM_MED (LIRE_CHAMP).
+"""),
+
+93 : _("""
+     Fin de l'écriture MED de  %(k1)s 
+"""),
+
+94 : _("""
+  -> Le nom du champ med est introuvable.
+  -> Risque & Conseil:
+     Veuillez vérifier la mise en données du mot-clé NOM_CHAM_MED.
+"""),
+
+95 : _("""
+  -> Le champ med %(k1)s est introuvable.
+  -> Risque & Conseil:
+     Veuillez vérifier la mise en données du mot-clé NOM_CHAM_MED
+     ainsi que le fichier med fourni à l'opérateur.
+"""),
+
+96 : _("""
+  -> NOM_MED absent !
+  -> Risque & Conseil:
+     Veuillez renseigner le mot-cle NOM_MED de l'opérateur LIRE_CHAMP.
+"""),
+
+97 : _("""
+  -> Fichier med :  %(k1)s, Champ :  %(k2)s, Instant voulu :  %(r1)f 
+     - typent :  %(i1)d 
+     - typgeo :  %(i2)d 
+"""),
+
+98 : _("""
+  -> Fichier med :  %(k1)s champ :  %(k2)s 
+"""),
+
+99 : _("""
+  -> Des éléments finis différents s'appuient sur un meme type de maille(%(k1)s).
+     Le nombre de valeurs à écrire est différent entre ces deux types
+     d'éléments, on ne peut pas écrire le champ complet au format med.
+  -> Risque & Conseil:
+     Veuillez utiliser la restriction géométrique GROUP_MA de l'opérateur
+     IMPR_RESU pour spécifier les mailles à considérer.
+"""),
+
 }
index 0ed80405bb8a1622c836c4623bf673ef2a328313..5265a1cf1d415dc15674f65e2aebe876ec28d883 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF meidee0 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF meidee0 Messages  DATE 26/03/2008   AUTEUR BODEL C.BODEL 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -25,10 +25,18 @@ cata_msg={
 Le modèle mesuré doit etre un concept de type DYNA_HARMO ou MODE_MECA.
 """),
 2: _("""
-Erreur pendant l'importation des modules MEIDEE.
+Le maillage et les déformées ne sont pas compatibles.
 """),
 3: _("""
-Le maillage et les déformées ne sont pas compatibles.
+Calcul de MAC impossible : bases incompatibles.
+"""),
+4: _("""
+Problème inverse impossible : problème de cohérence entre les données.
+"""),
+5: _("""
+Problème de NUME_DDL dans MACRO_EXPANS : il est possible de le preciser
+a l'appel de la macro. Si vous utilisez MACRO_EXPANS par l'intermediaire d'une IHM,
+contactez l'assistance technique.
 """),
 
 }
index b1d32e1a1de12b5afde3698d52e7fa997ed6785f..1233c25dccf44dfdb77557d8a51e10d87a15a995 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF modelisa Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF modelisa Messages  DATE 18/03/2008   AUTEUR CNGUYEN C.NGUYEN 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -63,7 +63,7 @@ cata_msg = {
 """),
 
 10 : _("""
- AXE_Z nul
+ la norme de l'axe définie sous le mot clé facteur GRILLE/AXE est nul.
 """),
 
 11 : _("""
@@ -87,7 +87,8 @@ cata_msg = {
 """),
 
 16 : _("""
- si 2 caractéristiques 1 AMOR et 1 RIGI obligatoires
+ vous fournissez deux caractéristiques élémentaires. Il est obligatoire de fournir une caractéristique
+ relative à l'amortissement et une caractéristique relative à la rigidité
 """),
 
 17 : _("""
@@ -110,13 +111,13 @@ cata_msg = {
  le noeud  %(k1)s  éxtremité d'un des discrets n'existe pas dans la surface donnée par GROUP_MA.
 """),
 
-22 : _("""
- NBEXT1.NE.NBEXT2
-"""),
 
-23 : _("""
- NBEXT1.NE.NBPART
-"""),
+
+
+
+
+
+
 
 24 : _("""
   GENE_TUYAU : préciser un seul noeud par tuyau
@@ -128,7 +129,7 @@ cata_msg = {
 """),
 
 26 : _("""
-  PB NMMT 
+  Il y a un probleme lors de l'affectation du mot clé MODI_METRIQUE sur la maille %(k1)s 
 """),
 
 27 : _("""
@@ -151,7 +152,7 @@ cata_msg = {
 """),
 
 31 : _("""
- vous ne pouvez affectee des valeurs de type "DISCRET" au modèle  %(k1)s
+ vous ne pouvez affecter des valeurs de type "DISCRET" au modèle  %(k1)s
  qui ne contient pas un seul élément discret
 """),
 
@@ -181,7 +182,7 @@ cata_msg = {
 """),
 
 37 : _("""
- impossible d"affecter des caractéristiques à des noeuds de ce modèle
+ impossible d'affecter des caractéristiques à des noeuds de ce modèle
  car aucun noeud ne supporte un élément
 """),
 
@@ -347,10 +348,6 @@ cata_msg = {
  erreur de programmation
 """),
 
-68 : _("""
- mauvais calcul de nbgrel
-"""),
-
 69 : _("""
  occurence  %(k1)s de "barre" (maille  %(k2)s ) ecrasement d un type de geometrie de section par un autre
 """),
index 8f7fa7645f8860c9cb2a199d3d0ebd5596e13d2a..8b6798d1ce9878418f45067beb407f75da5fa4ec 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF modelisa2 Messages  DATE 02/10/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF modelisa2 Messages  DATE 01/04/2008   AUTEUR ABBAS M.ABBAS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -146,16 +146,16 @@ cata_msg={
  les courbures ky et kz ne sont pas prises en compte pour les poutres courbes
 """),
 
-39: _("""
- pb pour recuperer "epais" pour la maille  %(k1)s
-"""),
-
-40: _("""
- excentricite non traitee
-"""),
+42: _("""
+Erreur Utilisateur :
+ Le paramètre ALPHA (dilatation) du matériau est une fonction de la température.
+ Cette fonction (%(k1)s) n'est définie que par 1 point.
+ TEMP_DEF_ALPHA et TEMP_REF ne sont pas identiques.
+ On ne peut pas faire le changement de variable TEMP_DEF_ALPHA -> TEMP_REF.
+ On s'arrete donc.
 
-41: _("""
- pb pour recuperer "excent" pour la maille  %(k1)s
+Risque & Conseil:
+ Il faut définir la fonction ALPHA avec plus d'1 point.
 """),
 
 
index 5c2325bf2f1dbb100b850d7ff68712b0e993b07b..9295490d42ec8d735bdce74da0af46a7404d72c5 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF modelisa3 Messages  DATE 10/07/2007   AUTEUR LEBOUVIER F.LEBOUVIER 
+#@ MODIF modelisa3 Messages  DATE 01/04/2008   AUTEUR ABBAS M.ABBAS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -160,17 +160,6 @@ Suggestion :
  l'angle forme par le vecteur normal courant a 1 face et le vecteur normal moyenne, au noeud  %(k1)s , est superieur a 10 degres et vaut  %(k2)s  degres.
 """),
 
-32: _("""
- que des sections circulaires !
-"""),
-
-33: _("""
- pb pour recuperer "r1" pour la maille  %(k1)s 
-"""),
-
-34: _("""
- pb pour recuperer "r2" pour la maille  %(k1)s 
-"""),
 
 35: _("""
  probleme pour determiner le rang de la composante <n> de la grandeur <sief_r>
index ca61a374fdd3837c39f7abcaf126499e0fe4e9c9..3a840edbb7bc46b49324f4f2a5548e227cbc5832 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF modelisa4 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF modelisa4 Messages  DATE 06/05/2008   AUTEUR KHAM M.KHAM 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -26,13 +26,15 @@ cata_msg = {
  arret sur erreurs
 """),
 
-2 : _("""
- type inconnu verifier le call a charci
-"""),
 
-3 : _("""
- ddl inconnu
-"""),
+
+
+
+
+
+
+
+
 
 4 : _("""
   -> Le modèle contient un mélange de modélisations planes et volumiques
@@ -80,9 +82,10 @@ cata_msg = {
  - chckma phase de verification du maillage - mailles degenerees
 """),
 
-12 : _("""
- type de chgt de repere non prevu.
-"""),
+
+
+
+
 
 13 : _("""
  seule la grandeur neut_f est traitee actuellement.
@@ -92,9 +95,10 @@ cata_msg = {
  les champs de cham_f et cham_para n'ont pas la meme discretisation noeu/cart/elga/elno/elem. 
 """),
 
-15 : _("""
- eval. carte: pas encore
-"""),
+
+
+
+
 
 16 : _("""
  avec "noeud_cmp", il faut donner un nom et une composante.
@@ -177,16 +181,16 @@ cata_msg = {
 """),
 
 36 : _("""
- scal nul
+ La normale de la maille %(k1)s est nulle
 """),
 
 37 : _("""
  on essaie de creer ou d'agrandir le ligrel de charge avec un nombre de termes negatif ou nul
 """),
 
-38 : _("""
- depassement tableau (dvlp)
-"""),
+
+
+
 
 39 : _("""
  probleme rencontre lors de l interpolation d une des deformees modales
@@ -217,33 +221,32 @@ cata_msg = {
  incoherence car aucun noeud n'a de ddl derotation drx et dry et drz et la routine traite le cas 3d ou il y a au-moins un noeud ayant ces 3 ddls
 """),
 
-45 : _("""
- erreur sur nmaco
-"""),
 
-46 : _("""
- erreur sur nnoco
-"""),
 
-47 : _("""
- erreur sur nnoqua
-"""),
+
+
+
+
+
 
 48 : _("""
  aucun noeud n est affecte par liaison_unilaterale
 """),
 
-49 : _("""
- depassement capacite (dvlp)
-"""),
+
+
+
+
+
 
 50 : _("""
  la maille :  %(k1)s  n'est pas affectee par un element fini.
 """),
 
-51 : _("""
- incoherence .flii pour ligrel  %(k1)s 
-"""),
+
+
+
+
 
 53 : _("""
  le noeud d application de l excitation n est pas un noeud du maillage.
@@ -325,13 +328,10 @@ cata_msg = {
  maille degeneree
 """),
 
-73 : _("""
- .nommai du maillage inexistant :  %(k1)s 
-"""),
 
-74 : _("""
- .groupema du maillage inexistant :  %(k1)s 
-"""),
+
+
+
 
 75 : _("""
   le determinant de la matrice a inverser est nul
@@ -366,24 +366,25 @@ cata_msg = {
 """),
 
 83 : _("""
le ligret  %(k1)s  n"existe pas.
 le vecteur est perpendiculaire à la poutre.
 """),
 
-87 : _("""
- mauvaise sortie de palima
+84 : _("""
+  La poutre présente une ou plusieurs branches: cas non permis.
+  Essayez de créer des groupes de mailles différents pour
+  chaque branche et de les orienter indépendemment.
 """),
 
-88 : _("""
- pb lecture courbe de wohler
-"""),
+
+
+
 
 89 : _("""
  mot cle wohler non trouve
 """),
 
-90 : _("""
- pb lecture courbe de manson_coffin
-"""),
+
+
 
 91 : _("""
  mot cle manson_coffin non trouve
@@ -410,13 +411,15 @@ cata_msg = {
   que cette valeur par défaut correspond au type "mail" dans ASTK
 """),
 
-95 : _("""
- inom a une valeur inattendue :  %(k1)s 
-"""),
 
-96 : _("""
- "nblige=" nb lignes entete
-"""),
+
+
+
+
+
+
+
+
 
 97 : _("""
  le nom du groupe  %(k1)s  est tronque a 8 caracteres
@@ -426,8 +429,7 @@ cata_msg = {
  il faut un nom apres "nom="
 """),
 
-99 : _("""
- lirtet: sortie anormale
-"""),
+
+
 
 }
index 2d6324bd31852fb00a43b01fd7b98acd5f59d55c..eec2ec43bcecf057140c7457320da1aad53ea096 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF modelisa5 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF modelisa5 Messages  DATE 10/12/2007   AUTEUR REZETTE C.REZETTE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -58,94 +58,6 @@ cata_msg = {
  transcodage : une incoherence a ete detectee entre les declarations de noms de noeuds ou de mailles lors du transcodage des objets groupes et connectivitees
 """),
 
-10 : _("""
- med: erreur eflfde numero  %(k1)s 
-"""),
-
-11 : _("""
- med: erreur effien numero  %(k1)s 
-"""),
-
-12 : _("""
- probleme a la lecture de la description
-"""),
-
-13 : _("""
- impossible de retrouver l'adresse associee au groupe  %(k1)s 
-"""),
-
-14 : _("""
- MED : Erreur lors de l'appel à EFNEMA, code retour = %(k1)s
-
-  -> Risque & Conseil :
-    Vérifier l'intégrité du fichier MED avec medconforme/mdump.
-    Si le maillage a été produit par un code externe, vérifier que les
-    noms de maillage, de groupes, de familles ne contiennent pas de
-    blancs à la fin.
-    Dans Salomé, on peut renommer ces entités et supprimer les espaces
-    invalides.
-"""),
-
-15 : _("""
- il manque les coordonnees !
-"""),
-
-16 : _("""
- mailles  %(k1)s 
-"""),
-
-17 : _("""
- il manque les mailles !
-"""),
-
-18 : _("""
- med: erreur efngro numero  %(k1)s 
-"""),
-
-19 : _("""
- med: erreur efnatt numero  %(k1)s 
-"""),
-
-20 : _("""
- med: erreur effami numero  %(k1)s 
-"""),
-
-23 : _("""
- erreur numero de groupe = 0
-"""),
-
-24 : _("""
- med: erreur efnfam numero  %(k1)s 
-"""),
-
-25 : _("""
- aucune famille dans ce fichier med
-"""),
-
-26 : _("""
- med: erreur effaml numero  %(k1)s 
-"""),
-
-27 : _("""
- les mailles  %(k1)s ne sont pas nommees dans le fichier med
-"""),
-
-28 : _("""
- med: erreur efconl numero  %(k1)s 
-"""),
-
-29 : _("""
- med: erreur efcool numero  %(k1)s 
-"""),
-
-30 : _("""
- incoherence catalogue - fortran (nbtyp fortran different de nbtyp catalogue)
-"""),
-
-31 : _("""
- incoherence catalogue - fortran (nomtyp fortran different de nomtyp catalogue)
-"""),
-
 32 : _("""
  il faut fournir des mailles
 """),
index 232045702993e3b458d7ba334f7219218df9de0d..92d453cc649397f38d7a0f4608cbd626ddee9125 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF modelisa6 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF modelisa6 Messages  DATE 08/04/2008   AUTEUR MEUNIER S.MEUNIER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -23,39 +23,39 @@ def _(x) : return x
 cata_msg = {
 
 1 : _("""
- probleme d'orientation: aucune maille ne touche le noeud indique.
+ problème d'orientation: aucune maille ne touche le noeud indiqué
 """),
 
 2 : _("""
- certaines mailles n'ont pas pu etre reorientees. l'ensemble des mailles n'est pas connexe.
+ certaines mailles n'ont pas pu être réorientées. l'ensemble des mailles n'est pas connexe
 """),
 
 3 : _("""
- on ne trouve pas de noeud assez pres du noeud  %(k1)s 
+ on ne trouve pas de noeud assez près du noeud  %(k1)s 
 """),
 
 4 : _("""
-  erreurs dans les donnees
+  erreurs dans les données
 """),
 
 5 : _("""
- extraction de plus de noeuds que n"en contient la maille
+ extraction de plus de noeuds que n'en contient la maille
 """),
 
 6 : _("""
-  nombre de noeuds negatif
+  nombre de noeuds négatif
 """),
 
 7 : _("""
- nombre de noeuds sommets non prevu
+ nombre de noeuds sommets non prévu
 """),
 
 8 : _("""
-  on est sur 2 mailles orthgonales
+  on est sur 2 mailles orthogonales
 """),
 
 9 : _("""
- type de maille inconnue
+ le type de maille est inconnu
 """),
 
 10 : _("""
@@ -63,11 +63,11 @@ cata_msg = {
 """),
 
 11 : _("""
- pref_maille est trop long, pref_nume est trop grand.
+ PREF_MAILLE est trop long, PREF_NUME est trop grand
 """),
 
 12 : _("""
pref_maille est trop long
PREF_MAILLE est trop long
 """),
 
 13 : _("""
@@ -75,7 +75,7 @@ cata_msg = {
 """),
 
 14 : _("""
- sous  %(k1)s  : (  %(k2)s  arret sur erreur(s) utilisateur.
+ sous  %(k1)s  : (  %(k2)s  arrêt sur erreur(s) utilisateur.
 """),
 
 15 : _("""
@@ -87,23 +87,23 @@ cata_msg = {
 """),
 
 17 : _("""
- la maille  %(k1)s  du group_ma  %(k2)s donne apres le mot cle  %(k3)s n'a pas un type geometrique autorise.
+ la maille  %(k1)s  du group_ma  %(k2)s donne apres le mot cle  %(k3)s n'a pas un type géométrique autorisé
 """),
 
 18 : _("""
- la maille  %(k1)s donne apres le mot cle  %(k2)s n'a pas un type geometrique autorise.
+ la maille  %(k1)s donné après le mot clé  %(k2)s n'a pas un type géométrique autorisé
 """),
 
 19 : _("""
-  mot cle non admis : %(k1)s  les mots-cles admissibles sont :  %(k2)s  ou  %(k3)s  ou  %(k4)s  ou  %(k5)s  ou  %(k6)s  ou  %(k7)s  ou  %(k8)s ou  %(k9)s 
+  mot cle non admis : %(k1)s  les mots-clés admissibles sont :  %(k2)s  ou  %(k3)s  ou  %(k4)s  ou  %(k5)s  ou  %(k6)s  ou  %(k7)s  ou  %(k8)s ou  %(k9)s 
 """),
 
 20 : _("""
- ce type de maille n"est pas encore traite :  %(k1)s 
+ ce type de maille n'est pas encore traité :  %(k1)s 
 """),
 
 21 : _("""
- le nombre toal de noeuds est /= de la somme des noeuds sommets,arretes et interieurs
+ le nombre total de noeuds est /= de la somme des noeuds sommets, arêtes et intérieurs
 """),
 
 22 : _("""
@@ -111,35 +111,35 @@ cata_msg = {
 """),
 
 26 : _("""
affe_fibre pour " %(k1)s ": il y a  %(k2)s  valeurs pour "vale", ce devrait etre un multiple de 3
AFFE_FIBRE pour " %(k1)s ": il y a  %(k2)s  valeurs pour "VALE", ce devrait être un multiple de 3
 """),
 
 27 : _("""
- dans le maillage " %(k1)s " la maille " %(k2)s " est de type " %(k3)s " (ni tria3 ni quad4)
+ dans le maillage " %(k1)s " la maille " %(k2)s " est de type " %(k3)s " (ni TRIA3 ni QUAD4)
 """),
 
 30 : _("""
- l'indicateur :  %(k1)s de position des multiplicateurs de lagrange associes a une relation lineaire n'est pas correct.
+ l'indicateur :  %(k1)s de position des multiplicateurs de lagrange associés à une relation lineaire n'est pas correct.
 """),
 
 33 : _("""
- il faut coef_group ou fonc_group
+ il faut COEF_GROUP ou FONC_GROUP
 """),
 
 34 : _("""
- un element n'est ni tria3 ni tria6 ni quad4 ni quad8
+ un element n'est ni TRIA3 ni TRIA6 ni QUAD4 ni QUAD8
 """),
 
 35 : _("""
- un element n'est ni tria3 ni tria6 ni tria7 niquad4 ni quad8 ni quad9
+ un element n'est ni TRIA3 ni TRIA6 ni TRIA7 ni QUAD4 ni QUAD8 ni QUAD9
 """),
 
 36 : _("""
-  le noeud  %(k1)s  doit appartenir a une seule maille
+  le noeud  %(k1)s  doit appartenir à une seule maille
 """),
 
 37 : _("""
- la maille a laquelle appartient le noeud  %(k1)s  doit etre de type seg
+ la maille à laquelle appartient le noeud  %(k1)s  doit etre de type SEG
 """),
 
 38 : _("""
@@ -151,7 +151,7 @@ cata_msg = {
 """),
 
 40 : _("""
- il faut indiquer le mot-cle 'noeud_2' ou 'group_no_2' apres le mot-facteur  %(k1)s  pour l'option '3d_pou'.
+ il faut indiquer le mot-cle 'NOEUD_2' ou 'GROUP_NO_2' après le mot-facteur  %(k1)s  pour l'option '3D_POU'.
 """),
 
 41 : _("""
@@ -159,83 +159,80 @@ cata_msg = {
 """),
 
 42 : _("""
- il ne faut donner qu'un un seul group_no a un noeud a raccorder au massif.
+ il ne faut donner qu'un un seul GROUP_NO à un noeud à raccorder au massif.
 """),
 
 43 : _("""
- il ne faut donner q"un  seul noeud dans le group_no :  %(k1)s 
+ il ne faut donner q'un seul noeud dans le GROUP_NO :  %(k1)s 
 """),
 
 44 : _("""
- impossibilite,le noeud  %(k1)s porte le ddl de rotation  %(k2)s 
+ impossibilité, le noeud  %(k1)s porte le ddl de rotation  %(k2)s 
 """),
 
 45 : _("""
- impossibilite,le noeud poutre  %(k1)s  devrait porter le ddl  %(k2)s 
+ impossibilité, le noeud poutre  %(k1)s  devrait porter le ddl  %(k2)s 
 """),
 
 46 : _("""
- impossibilite, la surface de raccord du massif est nulle 
+ impossibilité, la surface de raccord du massif est nulle 
 """),
 
 47 : _("""
- il faut donner un cara_elem pour recuperer les caracteristiques de tuyau.
+ il faut donner un CARA_ELEM pour récupérer les caractéristiques de tuyau.
 """),
 
 48 : _("""
- il faut indiquer le mot-cle 'noeud_2' ou 'group_no_2' apres le mot-facteur  %(k1)s  pour l'option  %(k2)s 
+ il faut indiquer le mot-cle 'NOEUD_2' ou 'GROUP_NO_2' après le mot-facteur  %(k1)s  pour l'option  %(k2)s 
 """),
 
 49 : _("""
- il ne faut donner qu'un seul noeud de poutre a raccorder a la coque.
+ il ne faut donner qu'un seul noeud de poutre à raccorder à la coque.
 """),
 
 50 : _("""
- il ne faut donner qu'un un seul group_no a un noeud a raccorder a la coque.
+ il ne faut donner qu'un seul GROUP_NO à un noeud à raccorder à la coque.
 """),
 
 51 : _("""
- il faut donner un vecteur orientant l'axe de la poutre sous le mot-cle "axe_poutre".
+ il faut donner un vecteur orientant l'axe de la poutre sous le mot-cle "AXE_POUTRE".
 """),
 
 52 : _("""
- il faut donner un vecteur non nul orientant l'axe de la poutre sous le mot-cle "axe_poutre".
+ il faut donner un vecteur non nul orientant l'axe de la poutre sous le mot-cle "AXE_POUTRE".
 """),
 
 53 : _("""
- il faut donner un cara_elem pour recuperer l'epaisseur des elements de bord.
+ il faut donner un CARA_ELEM pour récupérer l'épaisseur des éléments de bord.
 """),
 
 54 : _("""
- impossibilite,le noeud  %(k1)s ne porte pas le ddl de rotation  %(k2)s 
+ impossibilité, le noeud  %(k1)s ne porte pas le ddl de rotation  %(k2)s 
 """),
 
 55 : _("""
- impossibilite, la surface de raccord de la coque est nulle 
+ impossibilité, la surface de raccord de la coque est nulle 
 """),
 
 56 : _("""
- plusieurs comportements de type  %(k1)s  ont ete trouves
+ plusieurs comportements de type  %(k1)s  ont ete trouvés
 """),
 
 57 : _("""
- comportement de type  %(k1)s  non trouve
+ comportement de type  %(k1)s  non trouvé
 """),
 
 58 : _("""
- nappe interdite pour les caracteristiques materiau
+ nappe interdite pour les caractéristiques matériau
 """),
 
 59 : _("""
- deformation plastique cumulee p < 0
+ déformation plastique cumulée p < 0
 """),
 
 60 : _("""
-  prolongement a droite exclu pour la fonction r(p)
-"""),
-
-61 : _("""
- on deborde a droite redefinissez vos nappes alpha - moment
+  Le prolongement à droite étant exclu pour la fonction %(k1)s, 
+  il n'est pas possible d'extrapoler la fonction R(p) en p = %(r1)f.
 """),
 
 62 : _("""
@@ -247,95 +244,71 @@ cata_msg = {
 """),
 
 64 : _("""
- type sd non traite:  %(k1)s 
-"""),
-
-66 : _("""
- fonction constante interdite pour la courbe mz=f(drz)
-"""),
-
-67 : _("""
- fonction nappe interdite pour la courbe mz=f(drz)
-"""),
-
-68 : _("""
- concept de type :  %(k1)s  interdit pour la courbe de traction
+ type sd non traité:  %(k1)s 
 """),
 
 69 : _("""
- le mot cle: %(k1)s  est identique (sur ses 8 1ers caracteres) a un autre.
+ le mot cle: %(k1)s  est identique (sur ses 8 1ers caracteres) à un autre.
 """),
 
 70 : _("""
- erreur lors de la definition de la courbe de traction, il manque le parametre : %(k1)s 
+ erreur lors de la définition de la courbe de traction, il manque le paramètre : %(k1)s 
 """),
 
 71 : _("""
- erreur lors de la definition de la courbe de traction : %(k1)s  nb de points < 2  ! 
+ erreur lors de la définition de la courbe de traction : %(k1)s  nb de points < 2  ! 
 """),
 
 72 : _("""
- erreur lors de la definition de la courbe de traction : %(k1)s  nb de points < 1  ! 
+ erreur lors de la définition de la courbe de traction : %(k1)s  nb de points < 1  ! 
 """),
 
 73 : _("""
- erreurs rencontrees.
+ erreurs rencontrées.
 """),
 
 74 : _("""
- erreur lors de la definition de la nappe des courbes de traction: nb de points < 2 ! 
+ erreur lors de la définition de la nappe des courbes de traction: nb de points < 2 ! 
 """),
 
 75 : _("""
- erreur lors de la definition de la nappe des courbes de traction:  %(k1)s  nb de points < 1 ! 
+ erreur lors de la définition de la nappe des courbes de traction:  %(k1)s  nb de points < 1 ! 
 """),
 
 76 : _("""
-  erreur lors de la definition dela courbe de traction: fonction ou nappe ! 
-"""),
-
-77 : _("""
- erreur lors de la definition de la courbe rela_mz : nb de points < 2  ! 
-"""),
-
-78 : _("""
- abscisses non croissants.
-"""),
-
-79 : _("""
-  erreur lors de la definition dela courbe rela_mz: fonction ! 
+  erreur lors de la définition de la courbe de traction: fonction ou nappe ! 
 """),
 
 80 : _("""
- comportement traction non trouve
+ comportement TRACTION non trouve
 """),
 
 81 : _("""
- fonction sigm non trouvee
+ fonction SIGM non trouvée
 """),
 
 82 : _("""
- comportement meta_traction non trouve
+ comportement meta_traction non trouvé
 """),
 
 83 : _("""
- fonction sigm_f1 non trouvee
+ fonction SIGM_F1 non trouvée
 """),
 
 84 : _("""
- fonction sigm_f2 non trouvee
+ fonction SIGM_F2 non trouvée
 """),
 
 85 : _("""
- fonction sigm_f3 non trouvee
+ fonction SIGM_F3 non trouvée
 """),
 
 86 : _("""
- fonction sigm_f4 non trouvee
+ fonction SIGM_F4 non trouvée
 """),
 
 87 : _("""
- fonction sigm_c non trouvee
+ fonction SIGM_C non trouvée
 """),
 
 88 : _("""
@@ -343,11 +316,11 @@ cata_msg = {
 """),
 
 89 : _("""
- prolongement a gauche exclu pour la courbe  %(k1)s 
+ prolongement à gauche EXCLU pour la courbe  %(k1)s 
 """),
 
 90 : _("""
- prolongement a droite exclu pour la courbe  %(k1)s 
+ prolongement à droite EXCLU pour la courbe  %(k1)s 
 """),
 
 91 : _("""
@@ -355,11 +328,11 @@ cata_msg = {
 """),
 
 92 : _("""
- materiau : %(k1)s  non trouve
+ materiau : %(k1)s  non trouvé
 """),
 
 93 : _("""
-  les fonctions complexes ne sont pas implementees
+  les fonctions complexes ne sont pas implementées
 """),
 
 94 : _("""
@@ -371,19 +344,19 @@ cata_msg = {
 """),
 
 96 : _("""
- les mailles imprimees ci-dessus n'appartiennent pas au modele et pourtant elles ont ete affectees dans le mot-cle facteur : %(k1)s 
+ les mailles imprimées ci-dessus n'appartiennent pas au modèle et pourtant elles ont ete affectées dans le mot-clé facteur : %(k1)s 
 """),
 
 97 : _("""
- freq init plus grande que freq fin
+ FREQ INIT plus grande que FREQ FIN
 """),
 
 98 : _("""
- freq init necessaire avec chamno
+ FREQ INIT nécessaire avec CHAMNO
 """),
 
 99 : _("""
- freq fin necessaire avec chamno
+ FREQ FIN nécessaire avec CHAMNO
 """),
 
 }
index 1c428cd45578d0c6180bf8aa7d8db2b309911281..57cb0dd05eab58b818a8f39d84e2a3092f885bbe 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF modelisa7 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF modelisa7 Messages  DATE 08/04/2008   AUTEUR MEUNIER S.MEUNIER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -31,15 +31,16 @@ cata_msg={
 """),
 
 3: _("""
-  la method est de au-yang. on a  besoin du  vecteur de l axe vect_x et de l origine  orig_axe du cylindre
+  la methode est de AU-YANG
+  on a besoin du  vecteur de l'axe VECT_X et de l'origine ORIG_AXE du cylindre
 """),
 
 4: _("""
- le type de spectre est incompatible avec la configuration etudiee
+ le type de spectre est incompatible avec la configuration etudiée
 """),
 
 5: _("""
- probleme rencontre lors de l interpolation d un interspectre
+ probleme rencontré lors de l'interpolation d'un interspectre
 """),
 
 6: _("""
@@ -47,15 +48,19 @@ cata_msg={
 """),
 
 7: _("""
- l integrale double pour le calcul de la longueur de correlation ne converge pas.
+ l'intégrale double pour le calcul de la longueur de corrélation ne converge pas.
+ JM,IM  = %(i1)s , %(i2)s
+ valeur finale = %(r1)f
+ valeur au pas précédent = %(r2)f
+ erreur relative = %(r3)f
 """),
 
 8: _("""
- la liste de noms doit etre de meme longueur que la liste de group_ma
+ la liste de noms doit etre de meme longueur que la liste de GROUP_MA
 """),
 
 9: _("""
- le group_no :  %(k1)s  existe deja, on ne le cree donc pas.
+ le GROUP_NO :  %(k1)s  existe deja, on ne le crée donc pas.
 """),
 
 10: _("""
@@ -66,48 +71,36 @@ cata_msg={
  le groupe  %(k1)s  existe deja
 """),
 
-12: _("""
- erreur programmeur sur dimension de manoco
-"""),
-
-13: _("""
- erreur programmeur sur dimension de nomaco
-"""),
-
-14: _("""
- erreur programmeur sur dimension de mamaco
-"""),
-
 15: _("""
faisceau_axial : il y a plus de types de grilles que de grilles
FAISCEAU_AXIAL : il y a plus de types de grilles que de grilles
 """),
 
 16: _("""
faisceau_axial : il faut autant d'arguments pour les operandes <type_grille> et <coor_grille>
FAISCEAU_AXIAL : il faut autant d'arguments pour les operandes <TYPE_GRILLE> et <COOR_GRILLE>
 """),
 
 17: _("""
faisceau_axial, operande <type_grille> : detection d'une valeur illicite
FAISCEAU_AXIAL, operande <TYPE_GRILLE> : detection d'une valeur illicite
 """),
 
 18: _("""
- faisceau_axial : il faut autant d'arguments pour les operandes <long_typg>, <larg_typg>, <epai_typg>, <rugo_typg>, <coef_trai_typg> et <coef_dpor_typg>
+ faisceau_axial : il faut autant d'arguments pour les operandes <LONG_TYPG>, <LARG_TYPG>, <EPAI_TYPG>, <RUGO_TYPG>, <COEF_TRAI_TYPG> et <COEF_DPOR_TYPG>
 """),
 
 19: _("""
- <faisceau_trans> le mot cle <couplage> doit etre renseigne au moins une fois sous l une des occurence du mot-cle facteur <faisceau_trans>
+ <FAISCEAU_TRANS> le mot cle <COUPLAGE> doit etre renseigné au moins une fois sous l'une des occurence du mot-cle facteur <FAISCEAU_TRANS>
 """),
 
 20: _("""
- <faisceau_trans> : si couplage <type_pas> , <type_reseau> et <pas> mots-cles obligatoires dans au moins l une des occurences du mot-cle facteur
+ <FAISCEAU_TRANS> : si couplage <TYPE_PAS> , <TYPE_RESEAU> et <PAS> mots-cles obligatoires dans au moins l une des occurences du mot-cle facteur
 """),
 
 21: _("""
faisceau_trans : si pas de couplage <coef_mass_ajou> mot-cle obligatoire dans au moins l une des occurences du mot cle facteur <faisceau_trans>
FAISCEAU_TRANS : si pas de couplage <coef_mass_ajou> mot-cle obligatoire dans au moins l une des occurences du mot cle facteur <faisceau_trans>
 """),
 
 22: _("""
- <faisceau_trans> : le mot-cle <cara_elem> doit etre renseigne au moins une fois dans l une des occurences du mot-cle facteur <faisceau_trans>
+ <FAISCEAU_TRANS> : le mot-cle <CARA_ELEM> doit etre renseigne au moins une fois dans l une des occurences du mot-cle facteur <faisceau_trans>
 """),
 
 23: _("""
@@ -315,11 +308,12 @@ cata_msg={
 """),
 
 74: _("""
- les discretisations des fonctions de forme ne sont pas coherentes. les nombres de points sur 0,l et sur l,2l doivent etre communs a toutes les fonctions.
+ les discrétisations des fonctions de forme ne sont pas cohérentes
+ les nombres de points sur 0,l et sur l,2l doivent etre communs à toutes les fonctions.
 """),
 
 75: _("""
- le group_no  %(k1)s  ne fait pas partie du maillage :  %(k2)s
+ le GROUP_NO  %(k1)s  ne fait pas partie du maillage :  %(k2)s
 """),
 
 76: _("""
@@ -327,38 +321,32 @@ cata_msg={
 """),
 
 77: _("""
- le group_ma  %(k1)s  ne fait pas partie du maillage :  %(k2)s
+ le GROUP_MA  %(k1)s  ne fait pas partie du maillage :  %(k2)s
 """),
 
-
-
-
-
-
-
-
 79: _("""
  le type  %(k1)s d'objets a verifier n'est pas correct : il ne peut etre egal qu'a group_no ou noeud ou group_ma ou maille
 """),
 
 80: _("""
- defaut de planeite.l angle entre les normales aux mailles: %(k1)s  et  %(k2)s  est superieur a angl_max.
+ défaut de planéité
+ l angle entre les normales aux mailles: %(k1)s  et  %(k2)s  est supérieur à ANGL_MAX.
 """),
 
 81: _("""
-  %(k1)s  un identificateur est attendu :                             " %(k2)s " n en est pas un
+  %(k1)s  un identificateur est attendu : " %(k2)s " n'en est pas un
 """),
 
 82: _("""
-  %(k1)s  un identificateur depasse 8 caracteres
+  %(k1)s  un identificateur depasse 8 caractères
 """),
 
 83: _("""
-  %(k1)s  le mot cle fin n est pas attendu
+  %(k1)s  le mot cle FIN n'est pas attendu
 """),
 
 84: _("""
-  %(k1)s  le mot cle finsf n est pas attendu
+  %(k1)s  le mot cle FINSF n est pas attendu
 """),
 
 85: _("""
@@ -366,11 +354,13 @@ cata_msg={
 """),
 
 86: _("""
- la maille de nom :  %(k1)s  n'est pas de type segment, elle ne sera pas affectee par  %(k2)s
+ la maille de nom :  %(k1)s  n'est pas de type SEGMENT
+ elle ne sera pas affectée par  %(k2)s
 """),
 
 87: _("""
- la maille de nom :  %(k1)s  n'est pas de type tria ou quad, elle ne sera pas affectee par  %(k2)s
+ la maille de nom :  %(k1)s  n'est pas de type TRIA ou QUAD
+ elle ne sera pas affectee par  %(k2)s
 """),
 
 88: _("""
@@ -379,28 +369,32 @@ cata_msg={
 """),
 
 89: _("""
- la maille de numero :  %(k1)s  n'est pas de type segment, elle ne sera pas affectee par  %(k2)s
+ la maille de numéro :  %(k1)s  n'est pas de type SEGMENT
+ elle ne sera pas affectée par  %(k2)s
 """),
 
 90: _("""
- la maille de numero :  %(k1)s  n'est pas de type tria ou quad, elle ne sera pas affectee par  %(k2)s
+ la maille de numéro :  %(k1)s  n'est pas de type TRIA ou QUAD
+ elle ne sera pas affectée par  %(k2)s
 """),
 
 91: _("""
- erreur dans les noms de maille du group_ma:  %(k1)s  du mot-cle facteur  %(k2)s  : aucune n'est du bon type
+ erreur dans les noms de maille du GROUP_MA:  %(k1)s  du mot-cle facteur  %(k2)s
+ aucune maille n'est du bon type
 """),
 
 92: _("""
- la maille de nom :  %(k1)s  n'est pas une maille 3d, elle ne sera pas affectee par  %(k2)s
+ la maille de nom :  %(k1)s  n'est pas une maille 3d, elle ne sera pas affectée par  %(k2)s
 """),
 
 93: _("""
- la maille de numero :  %(k1)s  n'est pas une maille 3d, elle ne sera pas affectee par  %(k2)s
+ la maille de numéro :  %(k1)s  n'est pas une maille 3d, elle ne sera pas affectee par  %(k2)s
 """),
 
-
-98: _("""
- Erreur lors de la vérification des noms de groupes.
+97: _("""
+  -> Le group_ma %(k1)s du maillage %(k2)s se retrouve vide du fait
+     de l'élimination des mailles servant au collage.
+     Il n'est donc pas recréé dans le maillage assemblé.
 """),
 
 99: _("""
index a95881419c0196da43da522a8202ec2e22563267..abb83b1eee0b7262ab062ecc60ad5d67d03cf43f 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF modelisa8 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF modelisa8 Messages  DATE 17/12/2007   AUTEUR FLEJOU J-L.FLEJOU 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-1: _("""
+1 : _("""
  la section de la poutre est nulle
 """),
-2: _("""
+
+2 : _("""
  l'inertie de la poutre suivant OY est nulle
 """),
-3: _("""
+
+3 : _("""
  l'inertie de la poutre suivant OZ est nulle
 """),
-4: _("""
- La somme des aires des fibres est differente de l'aire de la section de la poutre.\n
- L'erreur relative est superieure a la precision definie par le mot cle PREC_AIRE :\n
-   - occurence de multifire : %(r1)d \n
-   - aire de la poutre      : %(r2)12.5E \n
-   - aire des fibres        : %(r3)12.5E \n
+
+4 : _("""
+ La somme des aires des fibres est differente de l'aire de la section de la poutre.
+
+ L'erreur relative est superieure a la precision definie par le mot cle PREC_AIRE :
+
+   - occurence de multifire : %(r1)d
+
+   - aire de la poutre      : %(r2)12.5E
+
+   - aire des fibres        : %(r3)12.5E
+
    - erreur relative        : %(r4)12.5E
 """),
-5: _("""
- La somme des moments d'inertie des fibres par rapport a l'axe 0Y est differente du moment de la poutre.\n
- L'erreur relative est superieure a la precision definie par le mot cle PREC_INERTIE :\n
-   - occurence de multifire : %(r1)d \n
-   - moment d'inertie de la poutre : %(r2)12.5E \n
-   - aire d'inertie des fibres     : %(r3)12.5E \n
+
+5 : _("""
+ La somme des moments d'inertie des fibres par rapport a l'axe 0Y est differente du moment de la poutre.
+
+ L'erreur relative est superieure a la precision definie par le mot cle PREC_INERTIE :
+
+   - occurence de multifire : %(r1)d
+
+   - moment d'inertie de la poutre : %(r2)12.5E
+
+   - aire d'inertie des fibres     : %(r3)12.5E
+
    - erreur relative               : %(r4)12.5E
 """),
-6: _("""
- La somme des moments d'inertie des fibres par rapport a l'axe 0Z est differente du moment de la poutre.\n
- L'erreur relative est superieure a la precision definie par le mot cle PREC_INERTIE :\n
-   - occurence de multifire : %(r1)d \n
-   - moment d'inertie de la poutre : %(r2)12.5E \n
-   - aire d'inertie des fibres     : %(r3)12.5E \n
+
+6 : _("""
+ La somme des moments d'inertie des fibres par rapport a l'axe 0Z est differente du moment de la poutre.
+
+ L'erreur relative est superieure a la precision definie par le mot cle PREC_INERTIE :
+
+   - occurence de multifire : %(r1)d
+
+   - moment d'inertie de la poutre : %(r2)12.5E
+
+   - aire d'inertie des fibres     : %(r3)12.5E
+
    - erreur relative               : %(r4)12.5E
 """),
 
-7: _("""
+7 : _("""
  actuellemnt on ne peut mettre que %(k1)s groupes de fibres sur un element
 """),
 
-8: _("""
+8 : _("""
  Le groupe de fibre %(k1)s n'a pas ete defini dans DEFI_GEOM_FIBRE
 """),
 
-9: _("""
+9 : _("""
  mot cle facteur  "defi_arc", occurence  %(i1)d , group_ma :  %(k1)s
  le centre n'est pas vraiment  le centre du cercle %(k2)s
 """),
 
-10: _("""
+10 : _("""
  mot cle facteur  "defi_arc", occurence  %(i1)d , group_ma :  %(k1)s
  le point de tangence n est pas equidistant des points extremites %(k2)s
 """),
 
-11: _("""
+11 : _("""
  mot cle facteur  "defi_arc", occurence  %(i1)d , maille :  %(k1)s
  le centre n'est pas vraiment  le centre du cercle %(k2)s
 """),
 
-
-
-
-
-
-13: _("""
+13 : _("""
   , maille :  %(i1)d la maille n'est pas situee  sur le cercle %(k1)s
 """),
 
-14: _("""
+14 : _("""
   , maille :  %(i1)d
  la maille n'est pas orientee  dans le meme sens que les autres sur le cercle %(k1)s
 """),
 
-
-
-
-
-
-16: _("""
+16 : _("""
   , maille :  %(i1)d pb produit scalaire %(k1)s
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-25: _("""
+25 : _("""
    l'ensemble des mailles comporte plus de 2 extremites %(k1)s
 """),
 
-26: _("""
+26 : _("""
  defi_arcl'ensemble des mailles  forme un cercle : a subdiviser  %(k1)s
 """),
 
-27: _("""
+27 : _("""
  le ddl  %(k1)s est interdit pour le noeud %(k2)s
 """),
 
-28: _("""
+28 : _("""
  affectation deja effectuee du ddl  %(k1)s du noeud %(k2)s   %(k3)s
 """),
 
-29: _("""
+29 : _("""
  nombre de cmps superieur au max nmaxcmp=  %(i1)d ncmp   =  %(i2)d
 """),
 
-30: _("""
+30 : _("""
  Erreur utilisateur:
     On cherche à imposer une condition aux limites sur le ddl %(k1)s
     du noeud %(k2)s.
@@ -174,136 +144,79 @@ cata_msg={
         - le noeud porte-t-il le ddl que l'on cherche à contraindre ?
 """),
 
-
-31: _("""
+31 : _("""
  nombre de motcles superieur au max nmaxocl=  %(i1)d nmocl  =  %(i2)d
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-34: _("""
+34 : _("""
  erreur dans les donneesle parametre  %(k1)s n existe pas dans la table  %(k2)s
 """),
 
-35: _("""
+35 : _("""
  erreur dans les donneespas de valeur pour le parametre  %(k1)s
 """),
 
-36: _("""
+36 : _("""
  erreur dans les donneesplusieurs valeurs pour le group_ma  %(k1)s
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-40: _("""
+40 : _("""
  la maille de nom :  %(k1)s n'est pas de type  %(k2)s  ou  %(k3)s
  elle ne sera pas affectee par  %(k4)s
 """),
 
-41: _("""
+41 : _("""
  mgrappmasse de la tige calculee:      %(r1)f
  masse de l'araignee calculee:  %(r2)f
  masse du crayon calculee:       %(r3)f
  masse grappe=tige+araignee+crayon:  %(r4)f
 """),
 
-42: _("""
+42 : _("""
  erreurs dans les donneeslongueur modelisee:  %(r1)f longueur donnee   :  %(r2)f
 """),
 
-43: _("""
+43 : _("""
 
  le nombre de ddl_1 figurant dans  la liaison n'est pas egal au nombre de coef_mult_1 :
    %(i1)d
    %(i2)d
 """),
 
-44: _("""
+44 : _("""
 
  le nombre de ddl_2 figurant dans  la liaison n'est pas egal au nombre de coef_mult_2 :
    %(i1)d
    %(i2)d
 """),
 
-
-
-
-
-
-
-
-46: _("""
+46 : _("""
 
  le nombre de ddls figurant dans  la liaison n'est pas egal au nombre de  coef_mult/coef_mult_fonc :
    %(i1)d
    %(i2)d
 """),
 
-47: _("""
+47 : _("""
 
  le nombre de ddls figurant dans  la liaison n'est pas egal au nombre de noeuds :
    %(i1)d
    %(i2)d
 """),
 
-
-
-
-
-
-
-
-49: _("""
+49 : _("""
 
  la direction normale est calculee sur la face esclave. il faut donner des mailles
   de facettes, mots cles :  %(k1)s %(k2)s
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-52: _("""
+52 : _("""
  les noeuds n1 et n2 sont confondus coor(n1): %(r1)f   %(r2)f coor(n2): %(r3)f
    %(r4)f
  norme   : %(r5)f
 """),
 
-53: _("""
+53 : _("""
  n3 colineaires coor(n1): %(r1)f   %(r2)f   %(r3)f coor(n2): %(r4)f   %(r5)f
    %(r6)f
  coor(n3): %(r7)f
@@ -312,201 +225,70 @@ cata_msg={
  norme   : %(r10)f
 """),
 
-
-
-
-
-
-
-
-55: _("""
- interpolation interditepour un resultat de type :  %(k1)s
+55 : _("""
+Interpolation interdite pour un résultat de type :  %(k1)s
+Seule l'extraction est possible : OPERATION='EXTR'
 """),
 
-56: _("""
+56 : _("""
  group_ma  %(k1)s mailles mal orientees  %(i1)d
 """),
 
-57: _("""
+57 : _("""
  maille mal orientee:  %(k1)s
 """),
 
-58: _("""
+58 : _("""
   composante existante sur  le noeud:  %(k1)s  composante:  %(k2)s
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-66: _("""
- le nom de groupe numero  %(i1)d  est en double. %(k1)s
- premier nom med  :  %(k2)s
- second nom med   :  %(k3)s
- nom aster retenu :  %(k4)s
-"""),
-
-
-68: _("""
+68 : _("""
   la maille  de num  %(i1)d  de nom  %(k1)s
 """),
 
-69: _("""
+69 : _("""
  le code:  %(i1)d   %(k1)s
 """),
 
-70: _("""
+70 : _("""
  pour l'occurence de affe   numero  %(i1)d
   on n'a pas pu affecter  %(i2)d
   mailles de dimension  %(i3)d
   (info=2 pour details)  %(i4)d
 """),
 
-71: _("""
+71 : _("""
  materiau non valide materiau :  %(k1)s
 """),
 
-72: _("""
+72 : _("""
  materiaux non valideson ne peut avoir a la fois  %(k1)s  et  %(k2)s
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-75: _("""
+75 : _("""
  erreur donneesle group_no n'existe pas  %(k1)s
 """),
 
-
-
-
-
-
-
-
-77: _("""
+77 : _("""
  conflit dans les vis_a_vis  des noeuds le noeud  %(k1)s
   est le vis-a-vis des noeuds  %(k2)s
   et  %(k3)s
 """),
 
-
-
-
-
-
-
-
-79: _("""
+79 : _("""
  conflit dans les vis-a-vis  generes successivement le noeud  %(k1)s
   a pour vis-a-vis le noeud %(k2)s
   et le noeud %(k3)s
 """),
 
-80: _("""
+80 : _("""
  conflit dans les vis-a-vis  generes successivement
  le noeud de la premiere liste %(k1)s
   n"est l"image d"aucun  %(k2)s
  noeud par la correspondance inverse %(k3)s
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-87: _("""
+87 : _("""
  conflit dans les vis-a-vis  generes successivement a partir des listes  %(k1)s
  et  %(k2)s
  le noeud  %(k3)s
@@ -514,7 +296,7 @@ cata_msg={
   et le noeud %(k5)s
 """),
 
-88: _("""
+88 : _("""
  conflit dans les vis-a-vis  generes successivement a partir des listes  %(k1)s
  et  %(k2)s
  le noeud de la premiere liste %(k3)s
@@ -522,66 +304,52 @@ cata_msg={
  noeud par la correspondance inverse %(k5)s
 """),
 
-89: _("""
+89 : _("""
  on ne trouve pas dans la paroi 2 de maille de type :  %(i1)d
 """),
 
-90: _("""
+90 : _("""
  conflit dans les vis_a_vis les mailles  %(k1)s  et  %(k2)s
   ont toutes les 2 comme vis_a_vis la maille %(k3)s
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-93: _("""
+93 : _("""
 
  evaluation impossible  d une fonction materiau - on deborde a gauche  pour la temperature
  temp : %(r1)f
 """),
 
-94: _("""
+94 : _("""
 
  evaluation impossible  d une fonction materiau - on deborde a droite  pour la temperature
  temp : %(r1)f
 """),
 
-95: _("""
+95 : _("""
  erreur dans les parametres valeur de typem :  %(k1)s
  les valeurs possibles sont no_maille,  no_noeud, nu_maille et nu_noeud %(k2)s
 """),
 
-96: _("""
+96 : _("""
  erreur dans les parametres pour l'indice :  %(i1)d
  la valeur de tymocl est :  %(k1)s
  les valeurs possibles sont maille et group_ma %(k2)s
  car type2 vaut  %(k3)s
 """),
 
-97: _("""
+97 : _("""
  erreur dans les parametres pour l'indice :  %(i1)d
  la valeur de tymocl est :  %(k1)s
  les valeurs possibles sont maille, noeud, %(k2)s
  group_ma,group_no et tout %(k3)s
 """),
 
-98: _("""
+98 : _("""
  il manque le parametre  %(k1)s dans la table %(k2)s
  .sa presence est indispensable a la  creation du champ nodal. %(k3)s
 """),
 
-99: _("""
+99 : _("""
  le parametre  %(k1)s ne doit pas apparaitre dans la  table %(k2)s
  pour la creation d'un champ nodal. %(k3)s
 """),
index 7acee8d651de2b373408e4c7caddaa36d7677f77..f98e980c2d52c3b1c55f00326bbde9484a1f95f0 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF modelisa9 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF modelisa9 Messages  DATE 15/04/2008   AUTEUR ZENTNER I.ZENTNER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -144,11 +144,11 @@ Conseil :
 28 : _("""
  erreur dans les donnees mot cle facteur  %(k1)s  occurence  %(i1)d 
  pour le mot cle  %(k2)s 
-  le group_no n'existe pas  %(k3)s 
+  le GROUP_NO n'existe pas  %(k3)s 
 """),
 
 29 : _("""
- trop de noeuds dans le group_no mot cle facteur  %(k1)s  occurence  %(i1)d 
+ trop de noeuds dans le GROUP_NO mot cle facteur  %(k1)s  occurence  %(i1)d 
    noeud utilise:  %(k2)s 
 """),
 
@@ -168,14 +168,6 @@ Conseil :
  erreur dans les donnees mot cle facteur  %(k1)s  occurence  %(i1)d 
 """),
 
-33 : _("""
- le maillage est "plan" ou "z_cst"
-"""),
-
-34 : _("""
- le maillage est "3d"
-"""),
-
 35 : _("""
  il y a  %(i1)d  valeurs pour le mot cle  ANGL_NAUT il en faut  %(i2)d 
 """),
@@ -184,14 +176,6 @@ Conseil :
  erreur dans les donnees mot cle facteur  %(k1)s  occurence  %(i1)d 
 """),
 
-37 : _("""
- le maillage est "plan" ou "z_cst"
-"""),
-
-38 : _("""
- le maillage est "3d"
-"""),
-
 39 : _("""
  il y a  %(i1)d  valeurs pour le mot cle  %(k1)s il en faut  %(i2)d 
 """),
@@ -200,56 +184,10 @@ Conseil :
  erreur dans les donnees mot cle facteur  %(k1)s  occurence  %(i1)d 
 """),
 
-41 : _("""
- le maillage est "plan" ou "z_cst"
-"""),
-
-42 : _("""
- le maillage est "3d"
-"""),
-
 43 : _("""
  il y a  %(i1)d  valeurs pour le mot cle  %(k1)s il en faut  %(i2)d 
 """),
 
-44 : _("""
- fichier med :  %(k1)s maillage :  %(k2)s erreur effoco numero  %(i1)d 
-"""),
-
-45 : _("""
- le fichier n'a pas ete construit avec la meme version de med.
- la lecture du fichier peut echouer!
- erreur efveco numero  %(i1)d 
-"""),
-
-46 : _("""
- version de la bibliotheque med utilisee par code_aster :  %(i1)d %(i2)d %(i3)d
-"""),
-
-47 : _("""
- version de la bibliotheque med qui a cree le fichier   : < 2.1.5
-"""),
-
-48 : _("""
- version de la bibliotheque med pour creer le fichier   :  %(i1)d %(i2)d %(i3)d 
-"""),
-
-49 : _("""
- un utilitaire vous permet peut-etre de convertir votre fichier (medimport)
-"""),
-
-50 : _("""
-"""),
-
-51 : _("""
- fichier med :  %(k1)s maillage :  %(k2)s erreur efouvr numero  %(i1)d 
-"""),
-
-52 : _("""
- fichier med :  %(k1)s maillage :  %(k2)s erreur efferm numero  %(i1)d 
-"""),
-
 53 : _("""
  
  l'identifiant d'une maille depasse les 8 caracteres autorises:
@@ -270,10 +208,6 @@ Conseil :
  pour la maille  %(k1)s 
 """),
 
-57 : _("""
-"""),
-
 58 : _("""
  Le matériau ne dépend pas des bons paramètres %(k1)s
   depend de  %(k1)s il ne peut dependre que de %(k2)s 
@@ -337,55 +271,6 @@ Conseil :
  
 """),
 
-66 : _("""
- erreur lors de la definition de la courbe RELA_MZ
- le premier point de la courbe RELA_MZ %(k1)s a pour abscisse:  %(r1)f 
-"""),
-
-67 : _("""
- erreur lors de la definition de la courbe RELA_MZ
- le premier point de la courbe RELA_MZ %(k1)s a pour ordonnee:  %(r1)f 
-"""),
-
-68 : _("""
- erreur lors de la definition de la courbe RELA_MZ pente initiale :  %(r1)f 
- pente courante:  %(r2)f 
- pour l'abscisse:  %(r3)f 
-"""),
-
-69 : _("""
- Courbe RELA_MZ points presque alignés. Risque de PB dans STAT_NON_LINE, en particulier 
- en C_PLAN pente initiale :  %(r1)f pente courante:  %(r2)f 
- precision relative:  %(r3)f pour l'abscisse:  %(r4)f 
-"""),
-
-70 : _("""
- erreur lors de la definition de la courbe de traction
- le premier point de la fonction indicee par :  %(i1)d 
-  de la nappe  %(k1)s 
-  a pour abscisse:  %(r1)f 
-"""),
-
-71 : _("""
- erreur lors de la definition de la courbe de traction
- le premier point de la fonction indicee par :  %(i1)d 
-  de la nappe  %(k1)s 
-  a pour ordonnee:  %(r1)f 
-"""),
-
-72 : _("""
- erreur lors de la definition de la courbe de traction pente initiale :  %(r1)f 
- pente courante:  %(r2)f 
-  pour l'abscisse:  %(r3)f 
-"""),
-
 73 : _("""
  erreur de programmation type de fonction non valide %(k1)s 
 """),
@@ -406,10 +291,6 @@ Conseil :
  pour la maille  %(k1)s 
 """),
 
-79 : _("""
-"""),
-
 80 : _("""
   Noeud sur l'axe Z 
 """),
@@ -509,4 +390,11 @@ Conseil :
  ... 
 """),
 
+94 : _("""
+     On ne peut pas appliquer un cisaillement 2d sur une modélisation 3D
+"""),
+95 : _("""
+     ERREUR: l'auto-spectre est a valeurs négatives
+"""),
+
 }
index 17063c007f4bd7f53ec5a8c574dd6a5d08101609..949a4d2625805a91378ed662b4ab080c5648171a 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF postrccm Messages  DATE 11/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF postrccm Messages  DATE 19/02/2008   AUTEUR VIVAN L.VIVAN 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -188,4 +188,77 @@ cata_msg={
    D_AMORC          : %(r2)12.5E
 """),
 
+34: _("""
+ avec une ou des situations de passage, il faut définir au plus 3 groupes
+"""),
+
+35: _("""
+ avec une ou des situations de passage, il ne faut définir qu'un seul séisme. 
+"""),
+
+36: _("""
+ bug ! contactez l'assistance.
+"""),
+
+37: _("""
+ -> L'ordre des noeuds de la table %(k1)s n'est pas respecté.
+    Les noeuds doivent etre rangés d'une des peaux vers l'autre.
+ -> Risque & Conseil:
+    Veuillez consulter la documentation U2.09.03.
+"""),
+
+38: _("""
+ -> Les noeuds de la ligne de coupe %(k2)s (table %(k1)s) ne sont pas alignés:
+    - distance maximale à la ligne de coupe: %(r1)f
+    - longueur de la ligne de coupe        : %(r2)f
+ -> Risque & Conseil:
+    Les calculs avec POST_RCCM ne sont théoriquement valides que pour des lignes
+    de coupe rectilignes. Vérifier les données d'entrée ou utiliser
+    MACR_LIGN_COUPE pour extraire le résultat sur un segment de droite.
+"""),
+
+39: _("""
+ -> Il est préférable de fournir des tables comportant les coordonnées des noeuds.
+"""),
+
+40: _("""
+ -> Pour le cas unitaire, il doit y avoir un seul ligament.
+    La table %(k1)s contient %(i1)d ligaments.
+ -> Risque & Conseil:
+    Veuillez revoir le contenu de votre table.
+ """),
+
+41: _("""
+ -> Les tables %(k1)s et %(k2)s ont des noeuds possédant
+    des coordonnées différentes:
+    - table %(k1)s : %(k3)s = %(r1)f
+    - table %(k2)s : %(k3)s = %(r2)f
+ -> Risque & Conseil:
+    Veuillez revoir le contenu de vos tables
+"""),    
+
+ 42: _("""
+ -> Les tables %(k1)s et %(k2)s ne sont pas cohérentes en terme de nombre
+    de ligaments:
+    - table %(k1)s : %(i1)d ligaments 
+    - table %(k2)s : %(i2)d ligaments 
+ -> Risque & Conseil:
+    Veuillez revoir le contenu de vos tables
+"""),
+
+43: _("""
+ -> Les tables %(k1)s et %(k2)s ne sont pas cohérentes en terme d'instant:
+    Une différence a été observée entre les valeurs d'instant d'un meme point
+    - table %(k1)s : INST = %(r1)f
+    - table %(k2)s : INST = %(r2)f
+ -> Risque & Conseil:
+    Veuillez revoir le contenu de vos tables
+   
+"""),
+
+44: _("""
+ probleme pour récupérer dans la table %(k1)s la valeur du parametre %(k2)s
+ pour le parametre %(k3)s de valeur %(r1)12.5E.
+"""),
+
 }
index b0aca8a989c48b66fc0074dbff642d9458d2fc8d..ab2e68ab5a3db38a15c9220d6350556f920080a8 100644 (file)
@@ -1,8 +1,8 @@
-#@ MODIF postrele Messages  DATE 02/10/2007   AUTEUR VIVAN L.VIVAN 
+#@ MODIF postrele Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2007  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     
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-1: _("""
+1 : _("""
  création/extension de la table %(k1)s 
 """),
 
-2: _("""
+2 : _("""
  post_traitement numéro :  %(i1)d 
  inexistence de CHAM_GD 
  pas de post-traitement 
  """),
 
-3: _("""
+3 : _("""
  post_traitement numéro :  %(i1)d 
  aucune maille ne correspond aux critères demandés
  pas de post-traitement
 """),
 
-4: _("""
- on ne traite pas les multi-couches
-"""),
-
-5: _("""
+5 : _("""
  il manque le vecteur des composantes "NOCP".
  Contactez le support.
 """),
 
-6: _("""
+6 : _("""
  chemin nul ou défini en un noeud
 """),
 
-7: _("""
+7 : _("""
  le nombre de composantes à traiter est limité à 6 pour operation "MOYENNE".
  utiliser "NOM_CMP" avec au plus 6 composantes.
 """),
 
-8: _("""
+8 : _("""
  initialisation de la table %(k1)s
 """),
 
-9: _("""
+9 : _("""
  pas de champ trouvé pour l'option %(k1)s
 """),
 
-10: _("""
+10 : _("""
  paramètre %(k1)s de type %(k2)s 
 """),
 
-11: _("""
+11 : _("""
  on ne traite que les champs complexes
 """),
 
-12: _("""
+12 : _("""
  tableau de travail limité, reduire le nombre de composantes à traiter
 """),
 
-13: _("""
+13 : _("""
  plus de 3000 composantes.
  Contactez le support
 """),
 
-14: _("""
+14 : _("""
  en repère local, on ne traite pas le champ %(k1)s 
 """),
 
-15: _("""
+15 : _("""
  ICOEF trop grand
  Contactez le support
 """),
 
-16: _("""
+16 : _("""
  problème maillage
  Contactez le support
 """),
 
-17: _("""
+17 : _("""
  on ne traite que des champs de type "DEPL_R" pour un changement de repère
 """),
 
-18: _("""
+18 : _("""
  le type de maille %(k1)s n'est pas traité
 """),
 
-19: _("""
+19 : _("""
  mauvaise définition du chemin, probleme de continuité du chemin sur une maille
  diminuer la précision dans l'opérateur INTE_MAIL_(2D/3D)
 """),
 
-20: _("""
+20 : _("""
  on ne traite pas ce cas
  Contactez le support
 """),
 
-21: _("""
+21 : _("""
  avec VECT_Y, le groupe de noeuds doit contenir au moins 2 noeuds
 """),
 
-22: _("""
+22 : _("""
  avec VECT_Y, il faut préciser 
    - soit un seul groupe de noeuds
    - soit plusieurs noeuds
 """),
 
-23: _("""
+23 : _("""
  on ne peut pas mélanger des arcs et des segments.
 """),
 
-24: _("""
+24 : _("""
  chemin de maille vide
 """),
 
-25: _("""
+25 : _("""
  contradiction avec INTE_MAIL_2D
 """),
 
-26: _("""
+26 : _("""
  changement de repère:
  champ non traité %(k1)s
  option de calcul %(k2)s 
 """),
 
-27: _("""
+27 : _("""
  noeud sur l'AXE_Z
  maille      : %(k1)s
  noeud       : %(k2)s
  coordonnées : %(r1)f 
 """),
 
-28: _("""
+28 : _("""
  les noeuds du maillage ne sont pas tous dans un meme plan Z = CST
  changement de repère non traité
 """),
 
-29: _("""
+29 : _("""
  on ne sait pas faire ce post-traitement pour le chemin %(k1)s en repère %(k2)s 
 """),
 
-30: _("""
+30 : _("""
  le noeud %(k1)s est confondu avec l'origine
 """),
 
-31: _("""
+31 : _("""
  le noeud %(k1)s est sur l'AXE_Z
 """),
 
-32: _("""
+32 : _("""
  les noeuds du maillage ne sont pas tous dans un meme plan Z = CST
  option TRAC_NOR non traitée
  utiliser l'option TRAC_DIR
 """),
 
-33: _("""
+33 : _("""
  option non traitée: %(k1)s, post-traitement: %(i1)d 
  les invariants tensoriels sont calculés
    pour les options :  %(k2)s 
@@ -195,7 +191,7 @@ cata_msg={
                        %(k20)s 
 """),
 
-34: _("""
+34 : _("""
  option non traitée: %(k1)s, post-traitement: %(i1)d 
  les traces normales sont calculées 
    pour les options :  %(k2)s 
@@ -219,7 +215,7 @@ cata_msg={
                          %(k20)s 
 """),
 
-35: _("""
+35 : _("""
  option non traitée: %(k1)s, post-traitement: %(i1)d 
  les traces directionnelles sont calculées
    pour les options :  %(k2)s 
@@ -246,23 +242,23 @@ cata_msg={
                          %(k23)s 
 """),
 
-36: _("""
+36 : _("""
  trace directionnelle, post-traitement: %(i1)d 
  direction nulle, pas de calul
 """),
 
-37: _("""
+37 : _("""
  attention post-traitement %(i1)d 
  seules les composantes du tenseur des contraintes sont traitées
 """),
 
-38: _("""
+38 : _("""
  post-traitement %(i1)d 
  composante non traitée dans un changement de repere
  Contactez le support
 """),
 
-39: _("""
+39 : _("""
  post-traitement %(i1)d 
  grandeur %(k1)s non traitée dans un changement de repere
  les changements de repere sont possibles
@@ -271,122 +267,122 @@ cata_msg={
    pour les grandeurs %(k7)s  %(k8)s
 """),
 
-40: _("""
+40 : _("""
  le noeud numéro %(i1)d n'est pas connecté à la maille de nom %(k1)s 
 """),
 
-41: _("""
+41 : _("""
  champ inexistant nom_cham: %(k1)s  nume_ordre: %(i1)d 
 """),
 
-42: _("""
+42 : _("""
  occurence %(i1)d du mot clé facteur ACTION
  les listes arguments des mots clés RESULTANTE et MOMENT doivent etre de meme longueur
  cette longueur doit etre de 2 ou 3
 """),
 
-43: _("""
+43 : _("""
  occurence %(i1)d du mot clé facteur ACTION
  la liste arguments du mot clé POINT doit etre de longueur 2 ou 3
 """),
 
-44: _("""
+44 : _("""
  occurence %(i1)d du mot clé facteur ACTION
  on ne peut accéder au RESULTAT de nom %(k1)s et de type %(k2)s par %(k3)s ou par %(k4)s 
 """),
 
-45: _("""
+45 : _("""
  occurence %(i1)d du mot clé facteur ACTION
  on ne peut accéder au RESULTAT de nom %(k1)s et de type %(k2)s par %(k3)s
 """),
 
-46: _("""
+46 : _("""
  occurence %(i1)d du mot clé facteur ACTION
  le NOM_CHAM %(k1)s n'est pas autorisé pour le RESULTAT %(k2)s de type %(k3)s
  ou le NOM_CHAM est autorisé mais aucun champ effectif n'existe.
 """),
 
-47: _("""
+47 : _("""
  occurence %(i1)d du mot clé facteur ACTION
  le ou les champs élémentaires mis en jeu est ou sont donnés aux pointe de gauss
  ce ou ces champs ne sont pas traités.
 """),
 
-48: _("""
+48 : _("""
  occurence %(i1)d du mot clé facteur ACTION
  la composante %(k1)s n'est pas présente au catalogue des grandeurs.
 """),
 
-49: _("""
+49 : _("""
  occurence %(i1)d du mot clé facteur ACTION
  le maillage de la courbe %(k1)s est différent du maillage du champ à traiter %(k2)s
 """),
 
-50: _("""
+50 : _("""
  occurence %(i1)d du mot clé facteur ACTION
  le groupe de noeuds %(k1)s ne fait pas parti du maillage sous jacent au champ à traiter.
 """),
 
-51: _("""
+51 : _("""
  occurence %(i1)d du mot clé facteur ACTION
  le noeud %(k1)s ne fait pas parti du maillage sous jacent au champ à traiter.
 """),
 
-52: _("""
+52 : _("""
  on ne traite pas le FORMAT_C %(k1)s
 """),
 
-53: _("""
+53 : _("""
  NEC trop grand
  Contactez le support
 """),
 
-54: _("""
+54 : _("""
  occurence %(i1)d du mot clé facteur ACTION
  Impossible de récupérer les composantes du champ. 
 """),
 
-55: _("""
+55 : _("""
  la composante %(k1)s est en double.
 """),
 
-56: _("""
+56 : _("""
  la composante %(k1)s n'est pas une composante de %(k2)s
 """),
 
-57: _("""
+57 : _("""
  la grandeur %(k1)s est inconnue au catalogue.
 """),
 
-58: _("""
+58 : _("""
  erreur de programmation
  Contactez le support
 """),
 
-59: _("""
+59 : _("""
  Le contenu de la table n'est pas celui attendu !
  Contactez le support
 """),
 
-60: _("""
+60 : _("""
  arret sur erreurs
  Contactez le support
 """),
 
-61: _("""
+61 : _("""
  Nombre de cycles admissibles négatif, 
  verifier la courbe de WOLHER
  contrainte calculee =  %(r1)f    nadm =  %(r2)f 
  
 """),
 
-62: _("""
+62 : _("""
  Attention lors de la définition de votre liste de noeuds,
  %(i1)d noeud est hors de la matière 
  
 """),
 
-63: _("""
+63 : _("""
  Attention lors de la définition de votre liste de noeuds,
  %(i1)d noeuds sont hors de la matière 
  
index a46896ededd25382f9699c2d4fdbfdd0b359aa26..9f3f2137520f6d958e10035c7760b20b85039e78 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF prepost Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF prepost Messages  DATE 17/03/2008   AUTEUR REZETTE C.REZETTE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -26,10 +26,6 @@ cata_msg = {
  GROUP_NO :  %(k1)s  inconnu dans le maillage
 """),
 
-3 : _("""
- hors bornes définies dans CESCRE.
-"""),
-
 4 : _("""
  méthode  %(k1)s  illicite
 """),
@@ -59,32 +55,11 @@ cata_msg = {
  nous ne pouvons pas récupérer la valeur du coefficient de Poisson : NU.
 """),
 
-13 : _("""
-  le type d entité  %(k1)s  est inconnu.
-"""),
-
 21 : _("""
  Intersection Droite / Cercle
  pas d'intersection trouvée
 """),
 
-22 : _("""
- DELTA négatif
- problème lors de la recherche d'intersection
-"""),
-
-23 : _("""
- pb N2+N3
-"""),
-
-25 : _("""
- problème en dehors des 2 points
-"""),
-
-26 : _("""
- problème N2+N3
-"""),
-
 27 : _("""
  volume négatif
 """),
@@ -93,14 +68,6 @@ cata_msg = {
  volume supérieur à 1.d6
 """),
 
-29 : _("""
- TBELZO dépassement
-"""),
-
-30 : _("""
- TBNOZO dépassement
-"""),
-
 31 : _("""
  structure de données RESULTAT inconnue  %(k1)s 
 """),
@@ -122,21 +89,13 @@ cata_msg = {
  pour l'impression du CONCEPT  %(k2)s 
 """),
 
-35 : _("""
- code  %(k1)s  inconnu
-"""),
-
 36 : _("""
  le champ de:  %(k1)s  a des éléments ayant des sous-points.
  ces éléments ne seront pas traités.
 """),
 
-37 : _("""
- vraiment desolé
-"""),
-
 38 : _("""
- le vecteur est "AXE_Z" nul.
+ le vecteur défini sous le mot clé ACTION/AXE_Z a une norme nulle.
 """),
 
 46 : _("""
@@ -170,17 +129,13 @@ cata_msg = {
 """),
 
 56 : _("""
- type de maille :  %(k1)s  inconnu de pre_gibi.
+ type de maille :  %(k1)s  inconnu de la commande PRE_GIBI.
 """),
 
 57 : _("""
  nombre d'objets supérieur au maximum autorisé : 99999.
 """),
 
-58 : _("""
- bug !!!
-"""),
-
 59 : _("""
  le maillage GIBI est peut etre erroné :
  il est écrit : "NIVEAU RREUR N_ERR"  avec N_ERR est >0 .
@@ -191,67 +146,6 @@ cata_msg = {
  arret sur erreur(s)
 """),
 
-61 : _("""
- erreur dans la récupération du NUME.PRNO
-"""),
-
-62 : _("""
- problème dans la récupération du numéro de bloc auquel appartient la ligne courante.
-"""),
-
-63 : _("""
- les seuls types de valeurs acceptés pour les RESU_ELEM sont les réels et les complexes
- le descripteur de type  %(k1)s  est inadéquat.
-"""),
-
-64 : _("""
- les seuls types de structures de données autorisés sont :
- MATR_ASSE , MATR_ELEM , VECT_ELEM , RESU_ELEM
- le type donné  %(k1)s  n'est pas reconnu .
-"""),
-
-65 : _("""
- la valeur du grain d'impression est  %(k1)s  alors que
- les seules valeurs possibles sont "NOEUD" ou "VALEUR" ou "MAILLE".
-"""),
-
-66 : _("""
- la valeur du grain d'impression est  %(k1)s  alors que
- les seules valeurs possibles sont "NOEUD" et "VALEUR".
-"""),
-
-67 : _("""
- probleme dans le descripteur de la matrice :
- l'indicateur de symétrie ne correspond ni à une matrice symétrique,
- ni à une matrice non-symétrique . 
-"""),
-
-68 : _("""
- problème dans le descripteur de la matrice :
- l'indicateur type de valeur de la matrice ne correspond ni à une matrice réelle,
- ni à une matrice complexe . 
-"""),
-
-69 : _("""
- problème à l'ouverture du fichier
-"""),
-
-70 : _("""
- problème à la fermeture du fichier
-"""),
-
-71 : _("""
- maillage introuvable
-"""),
-
-72 : _("""
- MED : erreur MDNOMA numéro  %(k1)s 
-"""),
-
-73 : _("""
- le champ est écrit dans le fichier
-"""),
-
 74 : _("""
  la variable  %(k1)s  n'existe pas
 """),
@@ -270,22 +164,14 @@ cata_msg = {
   incompatibilité entre les GREL
 """),
 
-78 : _("""
- NEC trop grand
-"""),
-
 79 : _("""
-  nombre de couches > 1 
+  le nombre de couches est supérieur à 1 
 """),
 
 80 : _("""
  on traite les TRIA7 QUAD9 en oubliant le noeud centre
 """),
 
-82 : _("""
- écriture impossible pour  %(k1)s  au format MED
-"""),
-
 84 : _("""
  élément PYRA5 non disponible dans IDEAS
 """),
@@ -296,6 +182,7 @@ cata_msg = {
 
 86 : _("""
  on traite les TRIA7 QUAD9 HEXA27 en oubliant le noeud centre
+ et les SEG4 en oubliant les 2 noeuds centraux.
 """),
 
 87 : _("""
@@ -309,38 +196,10 @@ cata_msg = {
   il faut imprimer des champs aux noeuds à ce format.
 """),
 
-89 : _("""
- 1  %(k1)s 
-"""),
-
 90 : _("""
  on ne sait pas imprimer le champ  %(k1)s  au format  %(k2)s 
 """),
 
-91 : _("""
- debut de l'écriture MED de  %(k1)s 
-"""),
-
-92 : _("""
- impossible de déterminer un nom de champ MED.
-"""),
-
-93 : _("""
- pas d'écriture pour  %(k1)s 
-"""),
-
-94 : _("""
- issu de  %(k1)s 
-"""),
-
-95 : _("""
- type  %(k1)s  inconnu pour med.
-"""),
-
-96 : _("""
- fin de l'écriture MED de  %(k1)s 
-"""),
-
 97 : _("""
  on ne sait pas imprimer les champs de type " %(k1)s "
 """),
index 48b3aa18d614a97227312cb833c8cbf113a4b9f3..350344867d3f74ae7982afc8c54fe59861d065ae 100644 (file)
@@ -1,8 +1,8 @@
-#@ MODIF prepost2 Messages  DATE 11/09/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF prepost2 Messages  DATE 10/12/2007   AUTEUR REZETTE C.REZETTE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2007  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     
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-2: _("""
+2 : _("""
 Modele inconnu, pas d'impression du champ  %(k1)s 
 """),
 
-3: _("""
+3 : _("""
 On ne sait pas ecrire des champs par element aux points de gauss au format CASTEM
 """),
 
-4: _("""
+4 : _("""
  erreur programmation
 """),
 
-5: _("""
-Ce champ existe déjà dans le fichier MED. On ne peut pas le créer de nouveau.
-
-Nom MED du champ : "%(k1)s"
-
-  -> Risque & Conseil :
-      Si vous essayez d'imprimer les différentes composantes d'un champ,
-      ne faites qu'un seul IMPR_RESU avec la liste des composantes à
-      retenir derrière le mot-clé NOM_CMP.
-      Pour la visualisation dans Salomé (Scalar Map par exemple),
-      sélectionner la composante dans Scalar Range/Scalar Mode.
-"""),
-
-6: _("""
- med: erreur efchac numero  %(k1)s 
-"""),
-
-7: _("""
- veritable ecriture des tableaux de valeurs
-"""),
-
-8: _("""
- med: erreur efchre numero  %(k1)s 
-"""),
-
-9: _("""
- med: erreur efouvr numero  %(k1)s 
-"""),
-
-10: _("""
- med: erreur efnpro numero  %(k1)s 
-"""),
-
-11: _("""
- probleme dans la lecture du nom du profil.
-"""),
-
-12: _("""
- probleme dans la lecture des valeurs du profil.
-"""),
-
-13: _("""
- med: erreur efferm numero  %(k1)s 
-"""),
-
-14: _("""
- med: erreur efpfle numero  %(k1)s 
-"""),
-
-15: _("""
- 1.3. type de champ inconnu :  %(k1)s 
-"""),
-
-16: _("""
- creation des tableaux de valeurs a ecrire avec :
-"""),
-
-17: _("""
- renumerotation impossible avec plus d'un sous-point
-"""),
-
-18: _("""
+18 : _("""
  la programmation ne permet pas plus de 150 cmps.
 """),
 
-19: _("""
- le le nombre de cmps de la grandeur du champ depasse 500 augmenter la dimension de 4 tableaux statiques
+19 : _("""
+ Le nombre de cmps de la grandeur du champ dépasse 500.
+ Augmenter la dimension de 4 tableaux statiques
 """),
 
-20: _("""
+20 : _("""
   impr_resu format ensight : la composante  %(k1)s  du cham_gd  %(k2)s  n'est portee par aucun noeud du maillage et ne sera pas imprimee
 """),
 
-21: _("""
+21 : _("""
   impr_resu format ensight : la composante  %(k1)s  du champ  %(k2)s  du concept  %(k3)s  n'est portee par aucun noeud du maillage et ne sera pas imprimee
 """),
 
-22: _("""
+22 : _("""
   impr_resu format ensight : les trois composantes  %(k1)s   %(k2)s   %(k3)s  du cham_gd  %(k4)s  ne sont portees par aucun noeud du maillage et le vecteur ensight correspondant ne sera pas imprime
 """),
 
-23: _("""
+23 : _("""
   impr_resu format ensight : les trois composantes  %(k1)s   %(k2)s   %(k3)s  du champ  %(k4)s  du concept  %(k5)s  ne sont portees par aucun noeud du maillage et le vecteur ensight correspondant ne sera pas imprime
 """),
 
-24: _("""
+24 : _("""
  impression de la composante  %(k1)s  du champ  %(k2)s  sous forme d'une variable scalaire ensight  %(k3)s . la composante  %(k4)s  n'est pas portee par certains noeuds du maillage et des valeurs nulles sont affectees a ces noeuds dans les fichiers  %(k5)s 
 """),
 
-25: _("""
+25 : _("""
  impression des 3 composantes  %(k1)s   %(k2)s  et  %(k3)s  du champ  %(k4)s  sous forme d'une variable vectorielle ensight  %(k5)s . une ou plusieurs de ces composantes ne sont pas portees par certains noeuds du maillage et des valeurs nulles sont affectees a ces noeuds pour ces composantes dans les fichiers  %(k6)s 
 """),
 
-26: _("""
+26 : _("""
  probleme a l'ouverture du fichier de valeurs ensight  %(k1)s  pour l'impression de la partie reelle du cham_gd  %(k2)s 
 """),
 
-27: _("""
+27 : _("""
  probleme a l'ouverture du fichier de valeurs ensight  %(k1)s  pour l'impression de la partie relle du champ  %(k2)s  du concept %(k3)s 
 """),
 
-28: _("""
+28 : _("""
  probleme a l'ouverture du fichier de valeurs ensight  %(k1)s  pour l'impression de la partie imaginaire du cham_gd  %(k2)s 
 """),
 
-29: _("""
+29 : _("""
  probleme a l'ouverture du fichier de valeurs ensight  %(k1)s  pour l'impression de la partie imaginaire du champ  %(k2)s  du concept %(k3)s 
 """),
 
-30: _("""
+30 : _("""
  probleme a l'ouverture du fichier de valeurs ensight  %(k1)s .r : ce fichier existe deja !! l'impression du meme champ ouconcept resultat est demandee deux fois ou une meme composante est selectionnee 2 fois sous le mot-cle nom_cmp
 """),
 
-31: _("""
+31 : _("""
  probleme a l'ouverture du fichier de valeurs ensight  %(k1)s  pour l'impression du cham_gd  %(k2)s 
 """),
 
-32: _("""
+32 : _("""
  probleme a l'ouverture du fichier de valeurs ensight  %(k1)s  pour l'impression du champ  %(k2)s  du concept  %(k3)s 
 """),
 
-33: _("""
+33 : _("""
  probleme a l'ouverture du fichier de valeurs ensight  %(k1)s  : ce fichier existe deja !! l'impression du meme champ ouconcept resultat est demandee deux fois ou une meme composante est selectionnee 2 fois sous le mot-cle nom_cmp
 """),
 
-
-
-
-
-
-
-
-35: _("""
+35 : _("""
    desole on ne sait pas ecrire les champs aux noeuds de representation constante et a valeurs complexes au format  %(k1)s 
 """),
 
-36: _("""
+36 : _("""
    desole on ne sait pas ecrire le champ aux noeuds  %(k1)s  au format  %(k2)s 
 """),
 
-37: _("""
+37 : _("""
  le maillage  %(k1)s  associe au cham_gd  %(k2)s  est different du maillage  %(k3)s  en operande de la commande !!!! attention !!!!
 """),
 
-38: _("""
+38 : _("""
  le maillage  %(k1)s  associe au champ  %(k2)s  du concept  %(k3)s  est different du maillage  %(k4)s  en operande de la commande !!!! attention !!!!
 """),
 
-39: _("""
+39 : _("""
  probleme a l'ouverture du fichier d'avertissement  %(k1)s 
 """),
 
-40: _("""
+40 : _("""
  aucune des composantes demandees sous le mot-cle nom_cmp pour l'impression du cham_gd  %(k1)s  n'est presente dans la grandeur  %(k2)s 
 """),
 
-41: _("""
+41 : _("""
  aucune des composantes demandees sous le mot-cle nom_cmp pour l'impression du champ  %(k1)s  du concept  %(k2)s  n'est presente dans la grandeur  %(k3)s 
 """),
 
-42: _("""
+42 : _("""
   impr_resu format ensight : la composante  %(k1)s  du cham_gd  %(k2)s  n'est pas portee par les noeuds du maillage et ne sera pas imprimee
 """),
 
-43: _("""
+43 : _("""
   impr_resu format ensight : la composante  %(k1)s  du champ  %(k2)s  du concept  %(k3)s  n'est pas portee par les noeuds du maillage et ne sera pas imprimee
 """),
 
-44: _("""
+44 : _("""
   impr_resu format ensight : aucune des trois composantes  %(k1)s   %(k2)s   %(k3)s  du cham_gd  %(k4)s  n'est portee par les noeuds du maillage et le vecteur ensight correspondant ne sera pas imprime
 """),
 
-45: _("""
+45 : _("""
   impr_resu format ensight : aucune des trois composantes  %(k1)s   %(k2)s   %(k3)s  du champ  %(k4)s  du concept  %(k5)s  n'est portee par les noeuds du maillage et le vecteur ensight correspondant ne sera pas imprime
 """),
 
-46: _("""
+46 : _("""
   numero d'ordre  %(k1)s  non licite 
 """),
 
-47: _("""
+47 : _("""
   le numero d'ordre suivant est desormais considere comme le premier numero d'ordre demande
 """),
 
-48: _("""
+48 : _("""
   pour certains numeros d'ordre le champ  %(k1)s  n'est pas present dans la sd_resultat  %(k2)s ==> des fichiers de valeurs vides seront generes afin de respecter le format ensight.
 """),
 
-49: _("""
+49 : _("""
  le nombre de cmps de la grandeur du champ depasse 500 augmenter la dimension du tableau ivari
 """),
 
-50: _("""
+50 : _("""
  une meme composante est donnee 2 fois sous le mot-cle nom_cmp lors de l'impression au format ensight par impr_resu
 """),
 
-51: _("""
+51 : _("""
  type de structure non traite:  %(k1)s 
 """),
 
-52: _("""
+52 : _("""
  on imprime que des champs elno
 """),
 
-53: _("""
+53 : _("""
  nbcmp different
 """),
 
-54: _("""
+54 : _("""
  composante inconnue %(k1)s 
 """),
 
-55: _("""
+55 : _("""
  L'ordre des composantes établi lorsque que vous avez renseigné le mot-clé 
  NOM_CMP est différent de celui du catalogue Aster:
     - ordre des composantes fournies     : %(k1)s %(k2)s %(k3)s %(k4)s %(k5)s %(k6)s
     - ordre des composantes du catalogue : %(k7)s %(k8)s %(k9)s %(k10)s %(k11)s %(k12)s
 """),
 
-56: _("""
+56 : _("""
  on imprime que des champs "elga" ou "elem"
 """),
 
-57: _("""
+57 : _("""
  nbsp different de 1
 """),
 
-58: _("""
+58 : _("""
  pas de correspondance
 """),
 
-59: _("""
+59 : _("""
  aucun champ trouve, pas d'impression au format "gmsh"
 """),
 
-60: _("""
+60 : _("""
  on ne sait pas imprimer au format "gmsh" ce type de champ:  %(k1)s 
 """),
 
-61: _("""
+61 : _("""
  erreur de programmation : nbcmp different de 1 ou 3.
 """),
 
-62: _("""
+62 : _("""
  on ne peut pas traiter des elements a plus de 99 noeuds !
 """),
 
-63: _("""
+63 : _("""
  erreur de programation
 """),
 
-64: _("""
+64 : _("""
  seg4 element inexistant dans castem, converti en seg2
 """),
 
-65: _("""
+65 : _("""
  tria7 element inexistant dans castem, converti en tria6
 """),
 
-66: _("""
+66 : _("""
  quad9 element inexistant dans castem, converti en quad8
 """),
 
-67: _("""
+67 : _("""
  les champs n'ont pas la meme grandeur
 """),
 
-68: _("""
+68 : _("""
  les champs n'ont pas la meme numerotation
 """),
 
-69: _("""
+69 : _("""
  les champs n'ont pas le meme type de valeurs
 """),
 
-70: _("""
+70 : _("""
    desole on ne sait pas ecrire les champs aux noeuds de representation constante au format ideas
 """),
 
-71: _("""
+71 : _("""
  element noeud non disponible dans ensight
 """),
 
-72: _("""
+72 : _("""
  element  %(k1)s  non disponible dans ensight
 """),
 
-73: _("""
+73 : _("""
  les elements tria7 seront reduits a des tria6
 """),
 
-74: _("""
+74 : _("""
  les elements quad9 seront reduits a des quad8
 """),
 
-75: _("""
+75 : _("""
  les elements penta15 seront reduits a des penta6
 """),
 
-76: _("""
+76 : _("""
  il y a des groupes de noeuds dans le maillage  %(k1)s  qui n'apparaitront pas dans le fichier geometrie ensight: seuls des groupes de mailles peuvent y etre integres
 """),
 
-77: _("""
+77 : _("""
  la dimension du probleme est invalide : il faut : 1d, 2d, 3d.
 """),
 
-78: _("""
+78 : _("""
  hexa27 element inexistant dans ideas, converti en hexa20
 """),
 
-79: _("""
+79 : _("""
  tria7 element inexistant dans ideas, converti en tria6
 """),
 
-80: _("""
+80 : _("""
  quad9 element inexistant dans ideas, converti en quad8
 """),
 
-81: _("""
+81 : _("""
  seg4 element inexistant dans ideas, converti en seg2
 """),
 
-82: _("""
+82 : _("""
  element pyram5 non disponible dans ideas
 """),
 
-83: _("""
+83 : _("""
  element pyram13 non disponible dans ideas
 """),
 
-84: _("""
- code invalide : icod2
-"""),
-
-85: _("""
- description du fichier med :  %(k1)s 
-"""),
-
-86: _("""
- med: erreur effide numero  %(k1)s 
-"""),
-
-87: _("""
- ce maillage est deja present dans le fichier.
-"""),
-
-88: _("""
- ouverture du fichier med en mode  %(k1)s  %(k2)s 
-"""),
-
-89: _("""
- med: erreur efmaac numero  %(k1)s 
-"""),
-
-90: _("""
- med: erreur effamc numero  %(k1)s 
-"""),
-
-91: _("""
- med: erreur effame numero  %(k1)s 
-"""),
-
-92: _("""
- med: famille de  %(k1)s , erreur effame numero  %(k2)s 
-"""),
-
-93: _("""
+93 : _("""
  on ne sait pas ecrire les mailles de type  %(k1)s 
 """),
 
-94: _("""
- med: erreur efcone numero  %(k1)s 
-"""),
-
-95: _("""
- med: erreur efnome numero  %(k1)s 
-"""),
-
-96: _("""
- med: erreur efnume numero  %(k1)s 
-"""),
-
-97: _("""
- med: erreur efcooe numero  %(k1)s 
-"""),
-
-98: _("""
- med: erreur efngau numero  %(k1)s 
-"""),
-
-99: _("""
- med: erreur efgaui numero  %(k1)s 
-"""),
 }
index 40408b21f438fdc8f485bc045d68ec9ff2d64c53..bf2f270bcf41bc7a1db154198d5caae5196d96bc 100644 (file)
@@ -1,8 +1,8 @@
-#@ MODIF prepost3 Messages  DATE 18/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF prepost3 Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2007  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     
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-1: _("""
- med: erreur efgaul numero  %(k1)s 
-"""),
-
-2: _("""
- med: erreur efgaue numero  %(k1)s 
-"""),
-
-3: _("""
- ecriture des localisations des points de gauss
-"""),
-
-4: _("""
+4 : _("""
   le nombre de noeuds selectionnes est superieur au nombre de noeuds du maillage. on va tronquer la liste.
 """),
 
-5: _("""
+5 : _("""
  chaine de caracteres trop longues : imprimer moins de champs
 """),
 
-6: _("""
+6 : _("""
  type inconnu" %(k1)s "
 """),
 
-7: _("""
+7 : _("""
  le maillage  %(k1)s  a deja ete ecrit au format ensight: le contenu du fichier  %(k2)s  sera ecrase.
 """),
 
-8: _("""
+8 : _("""
  probleme a l'ouverture du fichier " %(k1)s " pour impression du maillage  %(k2)s  au format ensight
 """),
 
-9: _("""
+9 : _("""
  type de base inconnu:  %(k1)s 
 """),
 
-10: _("""
- soit le fichier n'existe pas, soit c'est une mauvaise version de hdf (utilise par med).
-"""),
-
-11: _("""
- pas de maillage dans  %(k1)s 
-"""),
-
-12: _("""
- maillage  %(k1)s  inconnu dans  %(k2)s 
-"""),
-
-13: _("""
- instant inconnu pour ce champ et ces supports dans le fichier.
-"""),
-
-14: _("""
- champ inconnu.
-"""),
-
-15: _("""
- il manque des composantes.
-"""),
-
-16: _("""
- aucune valeur à cet instant.
-"""),
-
-17: _("""
- aucune valeur à ce numéro d ordre.
-"""),
-
-18: _("""
- mauvais nombre de valeurs.
-"""),
-
-19: _("""
- lecture impossible.
-"""),
-
-20: _("""
- absence de numerotation des mailles  %(k1)s  dans le fichier med
-"""),
-
-21: _("""
- grandeur inconnue
-"""),
-
-22: _("""
- composante inconnue pour la grandeur
-"""),
-
-23: _("""
- trop de composantes pour la grandeur
-"""),
-
-24: _("""
- lecture impossible pour  %(k1)s  au format MED
-"""),
-
-25: _("""
- MODELE obligatoire pour lire un CHAM_ELEM
-"""),
-
-26: _("""
- med: erreur efchrl numero  %(k1)s 
-"""),
-
-27: _("""
- nom de composante tronquee a 8 caracteres ( %(k1)s  >>>  %(k2)s )
-"""),
-
-28: _("""
- impossible de trouver la composante ASTER associée a  %(k1)s 
-"""),
-
-29: _("""
+29 : _("""
  pour LIRE_RESU / FORMAT=IDEAS
  le maillage doit normalement avoir été lu au format IDEAS.
 """),
 
-30: _("""
+30 : _("""
  on a trouve plusieurs champs pour le même DATASET
 """),
 
-31: _("""
+31 : _("""
  on n'a pas trouvé le numéro d'ordre à l'adresse indiquée
 """),
 
-32: _("""
+32 : _("""
  on n'a pas trouvé l'instant à l'adresse indiquée
 """),
 
-33: _("""
+33 : _("""
  on n'a pas trouvé la fréquence à l'adresse indiquée
 """),
 
-34: _("""
+34 : _("""
  on n'a pas trouvé dans le fichier UNV le type de champ
 """),
 
-35: _("""
+35 : _("""
  on n'a pas trouvé dans le fichier UNV le nombre de composantes à lire
 """),
 
-36: _("""
+36 : _("""
  on n'a pas trouvé dans le fichier UNV la nature du champ
  (réel ou complexe)
 """),
 
-37: _("""
+37 : _("""
  le type de champ demandé est différent du type de champ à lire
 """),
 
-38: _("""
+38 : _("""
  le champ demande n'est pas de même nature que le champ à lire
  (réel/complexe)
 """),
 
-39: _("""
+39 : _("""
  le mot cle MODELE est obligatoire pour un CHAM_ELEM
 """),
 
-40: _("""
+40 : _("""
  pb correspondance noeud IDEAS
 """),
 
-41: _("""
+41 : _("""
  le champ de type ELGA n'est pas supporté
 """),
 
-42: _("""
- probleme dans la lecture du nombre de champs
-"""),
-
-43: _("""
- probleme dans la lecture du nombre de composantes
-"""),
-
-44: _("""
- probleme dans la lecture du nom du champ et des ses composantes
-"""),
-
-45: _("""
- le champ  %(k1)s n existe pas dans le fichier med
-"""),
-
-46: _("""
- med: erreur efnpdt numero  %(k1)s 
-"""),
-
-47: _("""
- med: erreur efpdti numero  %(k1)s 
-"""),
-
-48: _("""
- med: on ne traite pas les maillages distants
-"""),
-
-49: _("""
- probleme a la fermeture
-"""),
-
-50: _("""
- probleme dans le diagnostic.
-"""),
-
-51: _("""
- med: erreur efnval numero  %(k1)s 
-"""),
-
-52: _("""
- probleme dans la lecture du nombre de maillages
-"""),
-
-53: _("""
- probleme dans la lecture du nom du maillage.
-"""),
-
-54: _("""
- attention le maillage n'est pas de type non structuré
-"""),
-
-55: _("""
- le maillage ' %(k1)s ' est inconnu dans le fichier.
-"""),
-
-56: _("""
- attention il s'agit d'un maillage structuré
-"""),
-
-57: _("""
- ==> transfert impossible.
-"""),
-
-58: _("""
- mauvaise definition de NORESU.
-"""),
-
-59: _("""
- mauvaise definition de NOMSYM.
-"""),
-
-60: _("""
- mauvaise definition de NOPASE.
-"""),
-
-61: _("""
- mauvais dimensionnement de NOMAST.
-"""),
-
-62: _("""
- impossible de déterminer un nom de maillage MED
-"""),
-
-63: _("""
+63 : _("""
  on attend 10 ou 12 secteurs
 """),
 
-64: _("""
+64 : _("""
  ******* percement tube *******
 """),
 
-65: _("""
+65 : _("""
  pour la variable d'acces "noeud_cmp", il faut un nombre pair de valeurs.
 """),
 
-66: _("""
+66 : _("""
  le modèle et le maillage introduits ne sont pas cohérents
 """),
 
-67: _("""
+67 : _("""
  il faut donner le maillage pour une impression au format "CASTEM".
 """),
 
-68: _("""
+68 : _("""
  vous voulez imprimer sur un même fichier le maillage et un champ
  ce qui est incompatible avec le format GMSH
 """),
 
-69: _("""
+69 : _("""
  L'impression d'un champ complexe nécessite l'utilisation du mot-clé PARTIE.
  Ce mot-clé permet de choisir la partie du champ à imprimer (réelle ou imaginaire).
 """),
 
-70: _("""
- le mot cle "info_maillage" est reserve au format med
-"""),
-
-71: _("""
+71 : _("""
  le mot cle "info_resu" est reserve au format resultat
 """),
 
-72: _("""
+72 : _("""
  l'impression avec selection sur des entites topologiques n'a pas de sens au format ensight : les valeurs de tous les noeuds du maillage seront donc imprimees.
 """),
 
-73: _("""
+73 : _("""
  l'impression avec selection sur des entites topologiques n'a pas de sens au format castem  : toutes les valeurs sur tout le maillage seront donc imprimees.
 """),
 
-75: _("""
+75 : _("""
  fichier GIBI créé par SORT FORMAT non supporté dans cette version
 """),
 
-76: _("""
+76 : _("""
  version de GIBI non supportée, la lecture peut échouer
 """),
 
-77: _("""
+77 : _("""
  fichier GIBI erroné
 """),
 
-78: _("""
+78 : _("""
  le fichier maillage GIBI est vide
 """),
 
-79: _("""
+79 : _("""
  cette commande ne fait que compléter un résultat composé déjà existant.
  il faut donc que le résultat de la commande :  %(k1)s
  soit identique à l'argument "RESULTAT" :  %(k2)s 
 """),
 
-80: _("""
+80 : _("""
  pour un résultat de type " %(k1)s ", on ne traite que l'option ..._NOEU_...
 """),
 
-81: _("""
+81 : _("""
  lmat =0
 """),
 
-84: _("""
+84 : _("""
  il faut autant de composantes en i et j
 """),
 
-85: _("""
+85 : _("""
  il faut autant de composantes que de noeuds
 """),
 
-92: _("""
+92 : _("""
  mot clé "TEST_NOOK" non validé avec le mot clé facteur "INTE_SPEC".
 """),
 
-93: _("""
+93 : _("""
  la fonction n'existe pas.
 """),
 
-94: _("""
+94 : _("""
  il faut définir deux paramètres pour une nappe.
 """),
 
-95: _("""
+95 : _("""
  pour le paramètre donné on n'a pas trouvé la fonction.
 """),
 
index e455598424cf820c19a53d3022f18c817fd08708..b4a0c7f35f36846000c3328e78782d5e062ead68 100644 (file)
-#@ MODIF prepost5 Messages  DATE 19/06/2007   AUTEUR LEBOUVIER F.LEBOUVIER 
+#@ MODIF prepost5 Messages  DATE 28/01/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.
 # ======================================================================
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-1: _("""
+1 : _("""
  L'option %(k1)s est deja calculee pour le numero d'ordre %(k2)s.
  On la recalcule car les donnees peuvent etre differentes.
 """),
 
-2: _("""
+2 : _("""
 Champ inexistant SIEF_ELGA ou SIEF_ELGA_DEPL numero d'ordre %(k2)s pour le calcul de l'option %(k3)s
 """),
 
-3: _("""
+3 : _("""
 Champ inexistant DEPL numero d'ordre %(k2)s pour le calcul de l'option %(k3)s
 """),
 
-4: _("""
+4 : _("""
 Champ inexistant %(k1)s numero d'ordre %(k2)s pour le calcul de l'option %(k3)s
 """),
 
-5: _("""
+5 : _("""
 Option illicite pour le resultat %(k1)s numero d'ordre %(k2)s pour le calcul de l'option %(k3)s
 """),
 
-6: _("""
+6 : _("""
 Numero d'ordre trop grand %(k1)s pour le calcul de l'option %(k2)s
 """),
 
-7: _("""
+7 : _("""
 Option illicite pour le resultat %(k1)s numero d'ordre trop grand %(k2)s pour le calcul de l'option %(k3)s
 """),
 
-8: _("""
+8 : _("""
+
  la taille memoire   necessaire au vecteur de travail dans   lequel nous stockons les composantes   u et v du vecteur tau est trop importante   par rapport a la place disponible.
- taille disponible :  %(i1)d 
- taille necessaire :  %(i2)d 
+ taille disponible :  %(i1)d
+ taille necessaire :  %(i2)d
 """),
 
-9: _("""
+9 : _("""
+
  La commande POST_ZAC ne tolère comme variable de commande que la température.
  """),
 
-10: _("""
+10 : _("""
  le noeud traite  n'est associe a aucune maille volumique.
- numero du noeud =  %(i1)d 
- nombre de mailles attachees au noeud =  %(i2)d 
+ numero du noeud =  %(i1)d
+ nombre de mailles attachees au noeud =  %(i2)d
 """),
 
-11: _("""
- Vous utilisez le mot clé TEMP_CALCULEE de la commande AFFE_CHAR_MECA
avec POST_ZAC. Utilisez AFFE_VARC dans la commande AFFE_MATERIAU à la place.
+1: _("""
+ le noeud milieu : %(k1)s
n'est pas supprime car il appartient  a une maille qui reste quadratique.
 """),
 
-12: _("""
- le noeud milieu : %(k1)s 
- n'est pas supprime car il appartient  a une maille qui reste quadratique. 
+1: _("""
+ appel erronenumero d'ordre %(i1)d code retour de rsexch : %(i2)d
+ pb cham_no %(k1)s
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-16: _("""
- appel erronenumero d'ordre %(i1)d code retour de rsexch : %(i2)d 
- pb cham_no %(k1)s 
+19 : _("""
+ nombre de noeud(s) elimine(s) du maillage  %(i1)d
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-19: _("""
- nombre de noeud(s) elimine(s) du maillage  %(i1)d 
+20 : _("""
+ nombre de maille(s) eliminee(s) du maillage  %(i1)d
 """),
 
-20: _("""
- nombre de maille(s) eliminee(s) du maillage  %(i1)d 
+21 : _("""
+ le numero du groupe de mailles est trop grand:  %(i1)d
+  le numero du groupe doit etre inferieur a  %(i2)d
 """),
 
-21: _("""
- le numero du groupe de mailles est trop grand:  %(i1)d 
-  le numero du groupe doit etre inferieur a  %(i2)d 
+25 : _("""
+  on ne trouve pas la composante  %(k1)s  dans la grandeur  %(k2)s
 """),
 
-22: _("""
- fichier med :  %(k1)s maillage :  %(k2)s erreur efouvr numero  %(i1)d 
+30 : _("""
+  on ne trouve pas la maille  %(k1)s
 """),
 
-23: _("""
- fichier med :  %(k1)s champ :  %(k2)s erreur efferm numero  %(i1)d 
+31 : _("""
+  on ne trouve pas le groupe  %(k1)s
 """),
 
-24: _("""
- fichier med :  %(k1)s champ :  %(k2)s retour de mdexch : existc =  %(i1)d 
+32 : _("""
+  le groupe  %(k1)s  ne contient aucune maille  %(k2)s
 """),
 
-25: _("""
-  on ne trouve pas la composante  %(k1)s  dans la grandeur  %(k2)s 
+38 : _("""
+  on ne trouve pas le noeud : %(k1)s
 """),
 
-
-
-
-
-
-
-
-27: _("""
- l objet  %(k1)s  n existe pas. %(k2)s veuillez renseigner le modele. %(k3)s 
+40 : _("""
+  le groupe  %(k1)s ne contient aucun noeud  %(k2)s
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-30: _("""
-  on ne trouve pas la maille  %(k1)s 
-"""),
-
-31: _("""
-  on ne trouve pas le groupe  %(k1)s 
-"""),
-
-32: _("""
-  le groupe  %(k1)s  ne contient aucune maille  %(k2)s 
-"""),
-
-33: _("""
- fichier med :  %(k1)s maillage :  %(k2)s 
-"""),
-
-
-
-
-
-
-
-
-35: _("""
- fichier med :  %(k1)s maillage :  %(k2)s erreur efferm numero  %(i1)d 
-"""),
-
-36: _("""
- fichier med :  %(k1)s erreur efouvr numero  %(i1)d 
-"""),
-
-37: _("""
- fichier med :  %(k1)s erreur efferm numero  %(i1)d 
-"""),
-
-38: _("""
-  on ne trouve pas le noeud : %(k1)s 
-"""),
-
-
-
-
-
-
-
-
-40: _("""
-  le groupe  %(k1)s ne contient aucun noeud  %(k2)s 
-"""),
-
-41: _("""
-  le parametre  %(k1)s n'existe pas %(k2)s 
-"""),
-
-42: _("""
-  valeurs lues dans le fichier        : %(i1)d 
- valeurs non affectees dans le champ : %(i2)d 
-"""),
-
-43: _("""
- profil med :  %(k1)s erreur efnpfl numero  %(i1)d 
-"""),
-
-44: _("""
- profil med :  %(k1)s erreur efpfll numero  %(i1)d 
-"""),
-
-45: _("""
- noeud inconnu dans le fichier  ideas  noeud numero :  %(i1)d 
-"""),
-
-46: _("""
- element inconnu dans le fichier ideas element numero :  %(i1)d 
-"""),
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-50: _("""
- fichier med :  %(k1)s erreur efnmaa numero  %(i1)d 
+41 : _("""
+  le parametre  %(k1)s n'existe pas %(k2)s
 """),
 
-51: _("""
- fichier med :  %(k1)s maillage numero  %(i1)d erreur efmaai numero  %(i2)d 
+45 : _("""
+ noeud inconnu dans le fichier  ideas  noeud numero :  %(i1)d
 """),
 
-52: _("""
- fichier med :  %(k1)s maillage numero  %(i1)d nomamd est declare a  %(i2)d 
- le nom de maillage est :  %(k2)s 
- de longueur  %(i3)d 
+46 : _("""
+ element inconnu dans le fichier ideas element numero :  %(i1)d
 """),
 
-
-
-
-
-
-
-
-54: _("""
- probleme dans  nomta traitement de l'instant  %(r1)f 
-  recuperation de  %(k1)s 
-  pour le secteur  %(i1)d 
+54 : _("""
+ probleme dans  nomta traitement de l'instant  %(r1)f
+  recuperation de  %(k1)s
+  pour le secteur  %(i1)d
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-57: _("""
- probleme dans  nomta traitement de l'instant  %(r1)f 
-  recuperation de  %(k1)s 
+57 : _("""
+ probleme dans  nomta traitement de l'instant  %(r1)f
+  recuperation de  %(k1)s
 """),
 
-58: _("""
- probleme dans  nomta traitement de l'instant  %(r1)f 
-  recuperation "numeli" pour  %(k1)s 
+58 : _("""
+ probleme dans  nomta traitement de l'instant  %(r1)f
+  recuperation "numeli" pour  %(k1)s
 """),
 
-59: _("""
- probleme dans  nomta traitement de l'instant  %(r1)f 
-  recuperation "numeli" pour le secteur  %(i1)d 
+59 : _("""
+ probleme dans  nomta traitement de l'instant  %(r1)f
+  recuperation "numeli" pour le secteur  %(i1)d
 """),
 
-
-
-
-
-
-
-
-61: _("""
- la composante  %(k1)s  n'existe dans aucun des champs %(k2)s 
+61 : _("""
+ la composante  %(k1)s  n'existe dans aucun des champs %(k2)s
 """),
 
-
-
-
-
-
-
-
-
-
-
-64: _("""
+64 : _("""
  la valeur d'amortissement reduit est trop grande
- la valeur d'amortissement :  %(r1)f 
-  du mode propre  %(i1)d 
-  est tronquee au seuil :  %(r2)f 
+ la valeur d'amortissement :  %(r1)f
+  du mode propre  %(i1)d
+  est tronquee au seuil :  %(r2)f
 """),
 
+67 : _("""
 
-
-
-
-
-
-
-
-
-67: _("""
  la taille memoire   necessaire au vecteur de travail   est trop importante   par rapport a la place disponible.
- taille disponible :  %(i1)d 
- taille necessaire :  %(i2)d 
+ taille disponible :  %(i1)d
+ taille necessaire :  %(i2)d
 """),
 
-68: _("""
+68 : _("""
+
  la taille du vecteur  contenant les caracteristiques des   paquets de mailles est trop petite.
- nb de paquets maxi :  %(i1)d 
- nb de paquets reels:  %(i2)d 
+ nb de paquets maxi :  %(i1)d
+ nb de paquets reels:  %(i2)d
 """),
 
+70 : _("""
 
-
-
-
-
-
-
-70: _("""
  la taille du vecteur  contenant les caracteristiques des   paquets de noeuds est trop petite.
- nb de paquets maxi :  %(i1)d 
- nb de paquets reels:  %(i2)d 
+ nb de paquets maxi :  %(i1)d
+ nb de paquets reels:  %(i2)d
 """),
 
-
-
-
-
-
-
-
-
-
-
-
-
-73: _("""
- appel errone  resultat :  %(k1)s   archivage numero :  %(i1)d 
-   code retour de rsexch :  %(i2)d 
-   probleme champ :  %(k2)s 
+73 : _("""
+ appel errone  resultat :  %(k1)s   archivage numero :  %(i1)d
+   code retour de rsexch :  %(i2)d
+   probleme champ :  %(k2)s
 """),
 
-74: _("""
- on ne trouve pas l'instant  %(r1)f  dans la table  %(k1)s 
+74 : _("""
+ on ne trouve pas l'instant  %(r1)f  dans la table  %(k1)s
 """),
 
-75: _("""
- on trouve   plusieurs instants  %(r1)f  dans la table  %(k1)s 
+75 : _("""
+ on trouve   plusieurs instants  %(r1)f  dans la table  %(k1)s
 """),
 
-76: _("""
+76 : _("""
  noeud non contenu dans une  maille sachant calculer l" option
- noeud numero :  %(i1)d 
-"""),
-
-77: _("""
- *** banque de donnees *** pour le type de geometrie  %(k1)s 
-  le couple de materiaux  %(k2)s 
-  ne se trouve pas dans la banque. %(k3)s 
-"""),
-
-78: _("""
- le calcul du rayon n'est pas assez precis.cupn0 =  %(r1)f 
-  cvpn0 =  %(r2)f 
- cupn1 =  %(r3)f 
-  cvpn1 =  %(r4)f 
- cupn2 =  %(r5)f 
-  cvpn2 =  %(r6)f 
- flag =  %(i1)d 
- cuon1 =  %(r7)f 
-  cuon2 =  %(r8)f 
- cuon3 =  %(r9)f 
- cvon1 =  %(r10)f 
-  cvon2 =  %(r11)f 
- cvon3 =  %(r12)f 
- rayon =  %(r13)f 
-  raymin =  %(r14)f 
- (rayon - raymin) =  %(r15)f 
- ((rayon-raymin)/raymin) =  %(r16)f 
-"""),
-
-79: _("""
- ngr different de nbgrel ngr   = %(i1)d  nbgrel= %(i2)d 
-"""),
-
-80: _("""
- fichier med :  %(k1)s identifiant numero  %(i1)d erreur efnpro numero  %(i2)d 
- nbprof  %(i3)d 
-"""),
-
-81: _("""
- fichier med :  %(k1)s profil numero  %(i1)d erreur efproi numero  %(i2)d 
-"""),
-
-82: _("""
- profil med :  %(k1)s erreur efpfll numero  %(i1)d 
-"""),
-
-83: _("""
- fichier mederreur efncha numero  %(i1)d 
-"""),
-
-84: _("""
- fichier medchamp numero  %(i1)d erreur efncha numero  %(i2)d 
-"""),
-
-85: _("""
- fichier medchamp numero  %(i1)d , de nom :  %(k1)s 
-"""),
-
-86: _("""
- erreur efchai numero  %(i1)d 
-"""),
-
-87: _("""
- type incorrect  %(i1)d 
-"""),
-
-88: _("""
-"""),
-
-89: _("""
- fichier med :  %(k1)s erreur efncha numero  %(i1)d 
-"""),
-
-90: _("""
- fichier med :  %(k1)s champ numero  %(i1)d erreur efncha numero  %(i2)d 
-"""),
-
-91: _("""
- fichier med :  %(k1)s champ numero  %(i1)d , de nom :  %(k2)s 
-"""),
-
-92: _("""
- erreur efchai numero  %(i1)d 
-"""),
-
-93: _("""
- type incorrect  %(i1)d 
-"""),
-
-94: _("""
-"""),
-
-95: _("""
- fichier med :  %(k1)s erreur efferm numero  %(i1)d 
-"""),
-
-96: _("""
- fichier med :  %(k1)s erreur efnmaa numero  %(i1)d 
-"""),
-
-97: _("""
- fichier med :  %(k1)s maillage numero  %(i1)d erreur efmaai numero  %(i2)d 
-"""),
-
-98: _("""
- fichier med :  %(k1)s nombre de maillages presents  %(i1)d 
-"""),
-
-99: _("""
- . maillage present :  %(k1)s 
+ noeud numero :  %(i1)d
+"""),
+
+77 : _("""
+ *** banque de donnees *** pour le type de geometrie  %(k1)s
+  le couple de materiaux  %(k2)s
+  ne se trouve pas dans la banque. %(k3)s
+"""),
+
+78 : _("""
+ le calcul du rayon n'est pas assez precis.cupn0 =  %(r1)f
+  cvpn0 =  %(r2)f
+ cupn1 =  %(r3)f
+  cvpn1 =  %(r4)f
+ cupn2 =  %(r5)f
+  cvpn2 =  %(r6)f
+ flag =  %(i1)d
+ cuon1 =  %(r7)f
+  cuon2 =  %(r8)f
+ cuon3 =  %(r9)f
+ cvon1 =  %(r10)f
+  cvon2 =  %(r11)f
+ cvon3 =  %(r12)f
+ rayon =  %(r13)f
+  raymin =  %(r14)f
+ (rayon - raymin) =  %(r15)f
+ ((rayon-raymin)/raymin) =  %(r16)f
+"""),
+
+79 : _("""
+ ngr different de nbgrel ngr   = %(i1)d  nbgrel= %(i2)d
 """),
 
 }
index 48eeaa11daae2f77bd07f749ab9b06fae0b3c686..bd6671260a059016a490dba1880a3bad7291b560 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF prepost6 Messages  DATE 11/09/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF prepost6 Messages  DATE 10/12/2007   AUTEUR REZETTE C.REZETTE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 
 def _(x) : return x
 
-cata_msg={
-1: _("""
-"""),
+cata_msg = {
 
-2: _("""
- fichier med :  %(k1)s erreur efferm numero  %(i1)d 
-"""),
-
-3: _("""
+3 : _("""
  le volume differe du volume use mais le nombre d'iteration
   est superieur a  %(i1)d 
       volume use:  %(r1)f 
   volume calcule:  %(r2)f 
 """),
 
-4: _("""
+4 : _("""
  verifier les parametres d'usure pour le secteur  %(i1)d 
 """),
 
-5: _("""
+5 : _("""
  verifier les parametres d'usure pour le secteur  %(i1)d 
 """),
 
-6: _("""
+6 : _("""
  composante %(k1)s / point  %(i1)d 
 """),
 
-7: _("""
+7 : _("""
    nombre de valeurs        =  %(i1)d    
      %(r1)f, %(r2)f, ... 
 """),
 
-8: _("""
+8 : _("""
    nombre de pics extraits   =  %(i1)d
      %(r1)f, %(r2)f, ... 
 """),
 
-9: _("""
+9 : _("""
    nombre de cycles detectes =  %(i1)d 
 """),
 
-10: _("""
+10 : _("""
    %(i1)d  /  %(r1)f   %(r2)f 
 """),
 
-11: _("""
+11 : _("""
    dommage en ce point/cmp  =  %(r1)f 
 """),
 
-12: _("""
- fichier med :  %(k1)s champ :  %(k2)s erreur effoco numero  %(i1)d 
-"""),
-
-13: _("""
- le fichier n'a pas ete construit avec la meme version de med.
- erreur efveco numero  %(i1)d 
-"""),
-
-14: _("""
- version de la bibliotheque med utilisee par code_aster: %(i1)d %(i2)d %(i3)d 
-"""),
-
-15: _("""
- version de la bibliotheque med qui a cree le fichier   : < 2.1.5
-"""),
-
-16: _("""
- version de la bibliotheque med pour creer le fichier  : %(i1)d %(i2)d %(i3)d
-"""),
-
-17: _("""
- un utilitaire vous permet peut-etre de convertir votre fichier (medimport)
-"""),
-
-18: _("""
-"""),
-
-19: _("""
- fichier med :  %(k1)s champ :  %(k2)s erreur efouvr numero  %(i1)d 
-"""),
-
-20: _("""
- fichier med :  %(k1)s champ :  %(k2)s instant voulu :  %(r1)f 
- typent :  %(i1)d 
- typgeo :  %(i2)d 
-"""),
-
-21: _("""
- champ a lire :  %(k1)s typent :  %(i1)d typgeo :  %(i2)d 
- instant voulu :  %(r1)f 
- --> numero d ordre :  %(i3)d 
- --> numero de pas de temps :  %(i4)d 
-"""),
-
-22: _("""
- fichier med :  %(k1)s champ :  %(k2)s 
-"""),
-
-23: _("""
- instant voulu :  %(r1)f 
-"""),
-
-24: _("""
- numero d ordre :  %(i1)d numero de pas de temps :  %(i2)d 
-"""),
-
-25: _("""
-"""),
-
-26: _("""
- fichier med :  %(k1)s champ :  %(k2)s erreur efferm numero  %(i1)d 
-"""),
-
-27: _("""
+27 : _("""
  parametres de calcul du dommagenombre de numeros d'ordre  =  %(i1)d 
  nombre de points de calcul =  %(i2)d 
 """),
 
-28: _("""
+28 : _("""
  calcul     du      dommage en %(k1)s points  de   calcul  du    dommage %(k2)s 
  composante(s) grandeur equivalente %(k3)s 
  methode  d'extraction  des    pics %(k4)s 
@@ -152,42 +77,42 @@ cata_msg={
  
 """),
 
-29: _("""
+29 : _("""
  maille:  %(k1)s 
 """),
 
-30: _("""
+30 : _("""
  des mailles de peau ne s'appuient sur aucune maille support
     maille:  %(k1)s 
 """),
 
-31: _("""
+31 : _("""
 
      ===== GROUP_MA ASTER / PHYSICAL GMSH =====
 
 """),
 
-32: _("""
+32 : _("""
 
   Le GROUP_MA GMSH GM10000 contient %(i1)d éléments :
 """),
 
-33: _("""
+33 : _("""
        %(i1)d éléments de type %(k1)s
 """),
 
-34: _("""
+34 : _("""
     La composante %(k1)s que vous avez renseignée ne fait pas partie
     des composantes du champ à imprimer.
 """),
 
-35: _("""
+35 : _("""
     Le type de champ %(k1)s n'est pas autorisé avec les champs 
     élémentaires %(k2)s.
     L'impression du champ sera effectué avec le type SCALAIRE.
 """),
 
-36: _("""
+36 : _("""
  Veuillez utiliser IMPR_GENE pour l'impression 
  de résultats en variables généralisées.
 """),
index 5e821dbcc5bebba5bfaa97085368a4d0dbc97912..8ae4221322e4baa1d0003c69557ad6a0e757bdf5 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF proba0 Messages  DATE 11/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF proba0 Messages  DATE 25/02/2008   AUTEUR ZENTNER I.ZENTNER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -69,4 +69,10 @@ cata_msg={
   Il faut autant de composantes que de noeuds.
 """),
 
+11: _("""
+  Nombre de tirages superieur a la taille de l'echantilon.
+"""),
+
+
+
 }
index 0a43d9484b16b63c158c33909ab4a1ea4f40e4a8..3a2fe38079855e40343c4047281ed714fd5dd399 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF rupture0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF rupture0 Messages  DATE 18/03/2008   AUTEUR CNGUYEN C.NGUYEN 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -26,11 +26,11 @@ Interpolation hors du domaine (prolongement constant utilis
 """),
 
 2: _("""
-Le label %(k1)s doit etre présent dans la table %(k2)s
+Le label %(k1)s doit etre présent dans la table %(k2)s.
 """),
 
-4: _("""
-Le label COOR_Z doit etre présent dans la table %(k1)s
+3: _("""
+Création de la table  %(k1)s.
 """),
 
 5: _("""
@@ -38,13 +38,20 @@ Il faut d
 """),
 
 6: _("""
-Les proprietés matériaux, nécessaires aux calculs
-des coefficients d'intensite des contraintes, ont ete obtenues a la
-température de réference du materiau et non à la température calculée.
+La température en fond de fissure, nécessaire pour le calcul des proprietés
+matériaux et donc des facteurs d'intensité des contraintes, n'est pas connue.
+Le calcul se poursuite en prenant la température de réference du materiau
+(TEMP = %(r1)f).
+-> Risque et Conseil :
+Quand les propriétés matériau dépendent de la température, il faut fournir 
+en entrée de POST_K1_K2_K3 le champ de température utilisé pour le calcul 
+mécanique, sous le mot clé EVOL_THER.
 """),
 
-7: _("""
-L operateur CALC_G -option CALC_K_G- calcule plus précisement les %(k1)s
+9: _("""
+Dans le cas d'une SD RESULTAT de type DYNA_TRANS,
+le mot-cle EXCIT est obligatoire.
+Veuillez le renseigner.
 """),
 
 10: _("""
@@ -52,23 +59,37 @@ Mod
 """),
 
 11: _("""
-Problème à la récuperation des noeuds du fond de fissure.
+Problème à la récupération des noeuds du fond de fissure.
+-> Risque et Conseil :
+Vérifier que le concept %(k1)s indiqué sous le mot clé FOND_FISS a été 
+correctement crée par l'opérateur DEFI_FOND_FISS.
 """),
 
 12: _("""
 Type de mailles du fond de fissure non défini.
+-> Risque et Conseil :
+Pour une modélisation 3D, les mailles de votre fond de fissure
+doivent etre de type SEG2 ou SEG3.
+Veuillez revoir la création de votre fond de fissure 
+(opérateur DEFI_FOND_FISS). 
 """),
 
 13: _("""
 Le group_no %(k1)s n'est pas dans le maillage.
+-> Risque et Conseil :
+Veuillez vérifier les données fournies au mot-clé GROUP_NO.
 """),
 
 14: _("""
-Le group_no %(k1)s n'est pas dans le maillage.
+Le noeud  %(k1)s  n'appartient pas au maillage :  %(k2)s
+-> Risque et Conseil :
+Veuillez vérifier les données fournies au mot-clé SANS_GROUP_NO.
 """),
 
 15: _("""
-le noeud %(k1)s n'appartient pas au fond de fissure.
+Le noeud %(k1)s n'appartient pas au fond de fissure.
+-> Risque et Conseil :
+Veuillez vérifier les données fournies au mot-clé GROUP_NO ou NOEUD.
 """),
 
 16: _("""
@@ -76,32 +97,48 @@ Le mot cl
 """),
 
 17: _("""
-Le nombre de noeuds NB_NOEUD_COUPE doit etre supérieur a 3 : 
-On prend la valeur par défaut
+Le nombre de noeuds NB_NOEUD_COUPE doit etre supérieur à 3.
+-> Risque et Conseil :
+Le calcul s'est poursuivi avec la valeur par défaut (=5, cf doc U4.82.05)
+
 """),
 
 18: _("""
-Problème a la récuperation du modèle dans la sd résultat fournie.
+Problème à la récupération du modèle dans la sd résultat fournie.
+-> Risque et Conseil :
+Veuillez vérifier que le concept fourni au mot-clé RESULTAT correspond
+au résultat à considérer.
 """),
 
 19: _("""
 Problème à la récupération des noeuds de la lèvre sup : 
-vérifier que le mot-clé LEVRE_SUP est bien renseigné dans DEFI_FOND_FISS.
+-> Risque et Conseil :
+Pour un calcul avec POST_K1_K2_K3, la lèvre supérieure de la fissure doit 
+être obligatoirement définie dans DEFI_FOND_FISS à l'aide du mot-clé
+LEVRE_SUP. Vérifier la définition du fond de fissure.
 """),
 
 20: _("""
-Problème à la récuperation des noeuds de la lèvre inf : 
-vérifier que le mot-clé LEVRE_INF est bien renseigné dans DEFI_FOND_FISS.
+Problème à la récupération des noeuds de la lèvre inf : 
+-> Risque et Conseil :
+Pour un calcul avec POST_K1_K2_K3, la lèvre inférieure de la fissure doit
+être obligatoirement définie dans DEFI_FOND_FISS à l'aide du mot-clé
+LEVRE_INF. Vérifier la définition du fond de fissure.
 """),
 
 21: _("""
-Les noeuds ne sont pas en vis-a-vis dans le plan
-perpendiculaire au noeud %(k1)s
+Les noeuds ne sont pas en vis-à-vis dans le plan perpendiculaire
+au noeud %(k1)s.
+-> Risque et Conseil :
+Pour interpoler les sauts de déplacement, les noeuds doivent être par défaut
+en vis-à-vis deux à deux sur les lèvres. Si ce n'est pas le cas, utilisez
+l'option TYPE_MAILLE='LIBRE' dans POST_K1_K2_K3.
 """),
 
 22: _("""
 Il manque des points dans le plan défini par la lèvre
 supérieure et perpendiculaire au fond %(k1)s.
+-> Risque et Conseil :
 """),
 
 23: _("""
@@ -119,39 +156,68 @@ Augmenter ABSC_CURV_MAXI.
 26: _("""
 Il manque des points dans le plan défini par la lèvre
 inférieure et perpendiculaire au fond  %(k1)s.
+-> Risque et Conseil :
 """),
 
+27: _("""
+Pour un résultat de type MODE_MECA,
+l'option de calcul doit etre K_G_MODA.
+-> Risque et Conseil :
+Veuillez fournir au mot-clé OPTION l'option K_G_MODA
+et vérifier que le concept fourni au mot-clé RESULTAT
+est de type MODE_MECA.
+"""),
 
-30: _("""
-Calcul possible pour aucun noeud du fond : vérifier les donnees.
+28: _("""
+Le cas de charge %(k1)s n'a pas été trouvé dans la SD Résultat %(k2)s.
+-> Risque et Conseil :
+Veuillez vérifier les données fournies au mot-clé NOM_CAS.
 """),
 
-31: _("""
-Problème a la récuperation du modele dans la sd résultat fournie.'
+29: _("""
+Le mot-clé 'FISSURE' est obligatoire avec l'option  %(k1)s.
+Veuillez le renseigner.
+"""),
+
+30: _("""
+Calcul possible pour aucun noeud du fond.
+-> Risque et Conseil :
+Veuillez vérifier les données, notamment celles du mot-clé DIRECTION.
 """),
 
 32: _("""
-Différence entre le vecteur VECT_K1 et la normale au plan de la fissure %(k1)s.
-On continue avec la normale au plan : (%(r1)f,%(r2)f,%(r3)f)
+Différence entre la normale au plan déduite de VECT_K1 et la normale 
+au plan de la fissure calculée pour le noeud %(i1)d :
+  VECT_K1 : (%(r4)f,%(r5)f,%(r6)f)
+  Vecteur normal calculé à partir de la définition de la fissure : (%(r1)f,%(r2)f,%(r3)f)
+-> Risque et Conseil :
+On poursuit le calcul mais si l'écart entre les deux vecteurs est trop important, 
+le calcul risque d'échouer ou de conduire à des résultats peu précis.
+Vérifier absolument le VECT_K1 fourni ou supprimer ce mot clé pour que la normale
+au plan soit calculée automatiquement.
 """),
 
 33: _("""
-Problème dans la récuperation du saut de déplacement sur les lèvres :
-vérifier que le résultat correspond bien a un calcul sur des élements x-fem 
-et que le maillage fourni est bien le maillage linéaire initial.
+Problème dans la récupération du saut de déplacement sur les lèvres.
+-> Risque et Conseil :
+Il y a plusieurs causes possibles :
+- vérifiez que le résultat correspond bien à un calcul sur des éléments x-fem;
+- si le calcul correspond à un calcul X-FEM avec contact sur les lèvres de la
+  fissure,vérifiez que le maillage fourni est bien le maillage linéaire initial;
+- vérifiez que le paramètre ABSC_CURV_MAXI est cohérent avec la taille de la
+  fissure : les segments pour l'interpolation du déplacement des lèvres, 
+  perpendiculaires au fond de fissure et de longueur ABSC_CURV_MAXI, ne doivent
+  pas "sortir" de la matière.
 """),
 
 34: _("""
-Le nombre de noeuds NB_NOEUD_COUPE doit etre supérieur à 3 : 
-on prend la valeur par défaut.
+ Le nombre de noeuds NB_NOEUD_COUPE doit etre supérieur à 3 : 
+ on prend la valeur par défaut.
 """),
 
 35: _("""
-TABL_DEPL_SUP et TABL_DEPL_INF sont obligatoires si SYME_CHAR=SANS.
-"""),
-
-36: _("""
-TABL_DEPL_SUP et TABL_DEPL_INF sont obligatoires si SYME_CHAR=SANS.
+Les mots-clés TABL_DEPL_SUP et TABL_DEPL_INF sont obligatoires
+si SYME_CHAR=SANS.
 """),
 
 37: _("""
@@ -167,46 +233,47 @@ Plusieurs instants trouv
 """),
 
 40: _("""
-ABSC_CURV non croissants pour TABL_DEPL_INF.'
-"""),
-
-41: _("""
-ABSC_CURV non croissants pour TABL_DEPL_SUP.'
+ABSC_CURV non croissants pour %(k1)s.
 """),
 
 42: _("""
-Différence de points entre la lèvre supérieure et la lèvre inférieure
+Différence de points entre la lèvre supérieure et la lèvre inférieure.
 """),
 
 43: _("""
 Pour traiter le noeud %(k1)s:
- Nombre de points - levre superieure : %(i1)d
- Nombre de points - levre inferieure : %(i2)d
+ Nombre de points - lèvre supérieure : %(i1)d
+ Nombre de points - lèvre inférieure : %(i2)d
 """),
 
 44: _("""
-Les noeuds ne sont pas en VIS_A_VIS.
-"""),
+Les noeuds ne sont pas en vis-à-vis.
+-> Risque et Conseil :
+Pour interpoler les sauts de déplacement, les noeuds doivent être par défaut en 
+vis-à-vis deux à deux sur les lèvres. Si ce n'est pas le cas, utilisez l'option 
+TYPE_MAILLE='LIBRE' dans POST_K1_K2_K3.
 
-45: _("""
-Problème dans la récupération du saut de déplacement sur les lèvres :
-vérifier que le résultat correspond bien à un calcul sur des élements x-fem
-et que le maillage fourni est bien le maillage linéaire initial.
 """),
 
 46: _("""
 Il faut au moins trois noeuds dans le plan défini par les lèvres
 et perpendiculaire au fond de fissure.
+-> Risque et Conseil :
 """),
 
 47: _("""
 Noeud %(k1)s 
 """),
 
+48: _("""
+Le mot-clé 'FOND_FISS' est obligatoire avec l'option  %(k1)s.
+Veuillez le renseigner.
+"""),
 
 49: _("""
 Déplacement normal du noeud %(k1)s non nul
 et SYME_CHAR = %(k2)s.
+-> Risque et Conseil :
 Vérifier les conditions aux limites et VECT_K1.
 """),
 
@@ -219,16 +286,268 @@ et %(k1)s : on prend le minimum des deux %(i1)d.
 Le numéro d'ordre %(i1)d n'appartient pas au résultat %(k1)s.
 """),
 
-52: _("""
-Pas d'instant trouvé dans la table pour l'instant %(r1)f.
+54: _("""
+Aucun instant ou numéro d'ordre trouvé.
 """),
 
-53: _("""
-Plusieurs instants trouves dans la table pour l instant %(r1)f.
+55: _("""
+-> Attention: En présence d'une SD Résultat de type mult_elas, les mots-clés
+EXCIT et NOM_CAS sont obligatoires.
+-> Risque et Conseil :
+Risque de résultats faux si un des chargements impacte le calcul de G et de K
+(par exemple force de pression sur les lèvres de la fissure,force volumique...)
 """),
 
-54: _("""
-Aucun instant ou numéro d'ordre trouvé.
+56 : _("""
+CALC_G - option CALC_K_G : le calcul est impossible sur un point de rayon nul
+(point sur l'axe de rotation).
+-> Risque et Conseil :
+Modifier les couronnes R_INF et R_SUP pour qu'elles soient toutes les deux plus
+petites que le rayon du fond de fissure. De manière générale en axisymétrie, le
+calcul de K est d'autant plus précis que le rayon des couronnes est petit devant
+le rayon du fond de fissure.
+"""),
+
+57 : _("""
+Pour l'option CALC_G en 3D, le champ THETA doit être calculé directement
+dans l'opérateur CALC_G.
+-> Risque et Conseil :
+Dans le mot-clé facteur THETA, supprimez le mot-clé THETA et renseignez les 
+mots-clés FOND_FISS, R_SUP, R_INF, MODULE, et DIRECTION pour la détermination
+automatique du champ theta.
+"""),
+
+59 : _("""
+Le champ de THETA est inexistant dans la structure de données  %(k1)s
+de type THETA_GEOM.
+-> Risque et Conseil :
+Veuillez revoir la création du champ theta (opérateur CALC_THETA).
+"""),
+
+60 : _("""
+Mélange de mailles de type SEG2 et SEG3 dans la définition du fond de fissure.
+-> Risque et Conseil :
+Les mailles du fond de fissure doivent toutes être du meme type. 
+Modifiez le maillage ou définissez plusieurs fonds de fissure consécutifs.
+"""),
+
+61 : _("""
+Le groupe de noeuds  %(k1)s définissant le fond de fissure n'est pas ordonné.
+-> Risque et Conseil :
+Il faut ordonner les noeuds du fond de fissure. 
+Les options SEGM_DROI_ORDO et NOEUD_ORDO de l'opérateur 
+DEFI_GROUP/CREA_GROUP_NO peuvent etre utilisées.
+."""),
+
+62 : _("""
+Arret sur erreur utilisateur : deux GROUP_NO consécutifs incohérents dans la 
+définition du fond de fissure.
+-> Risque et Conseil :
+Les noeuds de chaque groupe doivent etre ordonnés et le dernier noeud d'un
+groupe identique au premier noeud du groupe suivant dans la liste.
+"""),
+
+63 : _("""
+Les mailles du fond de fissure doivent etre du type segment (SEG2 ou SEG3).
 """),
 
+64 : _("""
+Arret sur erreur utilisateur : deux mailles ou groupes de mailles du fond de
+fissure sont non consécutives dans la numérotation des noeuds.
+"""),
+
+65 : _("""
+Détection d'une maille de type %(k1)s dans la définition des lèvres de la
+fissure (%(k2)s).
+-> Risque et Conseil :
+Les mailles des lèvres doivent etre du type quadrangle ou triangle. 
+Vérifiez que les mailles définies correspondent bien aux faces des éléments
+3D qui s'appuient sur la lèvre.
+"""),
+
+66 : _("""
+La liste de noeuds définissant le fond de fissure n'est pas ordonnée. 
+-> Risque et Conseil :
+Veuillez vérifier l'ordre des noeuds.
+"""),
+
+67 : _("""
+Arret sur erreur utilisateur : le fond de fissure possède un noeud
+répété deux fois (noeud  %(k1)s). 
+-> Risque et Conseil :
+Veuillez revoir la définition du fond dans FOND_FISS ou FOND_FERME.
+"""),
+
+68 : _("""
+Les mailles de FOND_INF et de FOND_SUP sont de type différent.
+  Type de mailles pour FOND_SUP : %(k1)s
+  Type de mailles pour FOND_INF : %(k2)s
+"""),
+
+69: _("""
+Les noeuds %(k1)s de FOND_INF et %(k2)s de FOND_SUP ne sont pas en vis à vis. 
+-> Risque et Conseil :
+Vérifiez que les deux groupes correspondent bien à des noeuds coincidents
+géométriquement et que les groupes de noeuds sont ordonnés dans le meme sens. 
+"""), 
+
+70 : _("""
+Erreur utilisateur : la lèvre supérieure possède une maille répétée 2 fois : 
+maille  %(k1)s. 
+-> Risque et Conseil :
+Veuillez revoir les données.
+"""),
+
+71 : _("""
+Erreur utilisateur : la lèvre inférieure possède une maille répétée 2 fois : 
+maille  %(k1)s. 
+-> Risque et Conseil :
+Veuillez revoir les données.
+"""),
+
+72 : _("""
+Le noeud %(k1)s du fond de fissure n'est rattaché à aucune maille surfacique
+de la lèvre supérieure.
+-> Risque et Conseil :
+Veuillez vérifier les groupes de mailles.
+"""), 
+
+73 : _("""
+Erreur utilisateur : la lèvre inférieure et la lèvre supérieure ont une maille
+surfacique en commun. Maille en commun : %(k1)s
+-> Risque et Conseil :
+Revoir les données.
+"""),
+
+74: _("""
+Le noeud %(k1)s du fond de fissure n'est rattaché à aucune maille
+surfacique de la lèvre inférieure.
+-> Risque et Conseil :
+Veuillez vérifier les groupes de mailles.
+"""), 
+
+75 : _("""
+Détection d'une maille de type %(k1)s dans la définition des lèvres de la
+fissure (%(k2)s).
+-> Risque et Conseil :
+Les mailles des lèvres doivent etre linéiques. Vérifiez que les mailles 
+définies correspondent bien aux faces des éléments 2D qui s'appuient
+sur la lèvre.
+"""),
+
+76: _("""
+Le noeud %(k1)s du fond de fissure n'appartient à aucune des mailles
+de la lèvre supérieure. 
+-> Risque et Conseil :
+Veuillez revoir les données.
+"""), 
+
+77: _("""
+Le noeud %(k1)s du fond de fissure n'appartient à aucune des mailles
+de la lèvre inférieure. 
+-> Risque et Conseil :
+Veuillez revoir les données.
+"""), 
+
+78: _("""
+La tangente à l'origine n'est pas orthogonale à la normale :
+   Normale aux lèvres de la fissure : %(r1)f %(r2)f %(r3)f
+   Tangente à l'origine (= direction de propagation) :  %(r4)f %(r5)f %(r6)f
+-> Risque et Conseil :
+La tangente à l'origine est nécessairement dans le plan de la fissure, 
+donc orthogonale à la normale fournie. Vérifier les données.
+"""), 
+
+79: _("""
+La tangente à l'extrémité n'est pas orthogonale à la normale :
+   Normale aux lèvres de la fissure : %(r1)f %(r2)f %(r3)f
+   Tangente à l'origine (= direction de propagation) :  %(r4)f %(r5)f %(r6)f
+-> Risque et Conseil :
+La tangente à l'extrémité est nécessairement dans le plan de la fissure, 
+donc orthogonale à la normale fournie. Vérifier les données.
+"""), 
+
+81: _("""
+Il faut donner la direction de propagation en 2D
+La direction par défaut n'existe plus.
+-> Risque et Conseil :
+Veuillez renseigner le mot-clé DIRECTION.
+"""), 
+
+83: _("""
+Cette combinaison de lissage n'est pas programmée pour l'option : %(k1)s.
+-> Risque et Conseil :
+Veuillez consulter la doc U4.82.03 pour déterminer une combinaison de lissage
+licite avec l'option désirée.
+"""), 
+
+84: _("""
+Le degré des polynomes de Legendre doit etre inférieur ou égal au nombre
+de noeuds du fond de fissure lorsque le lissage de G est de type
+LEGENDRE et le lissage de THETA de type LAGRANGE.
+"""), 
+
+85: _("""
+Le lissage de G doit etre de type LEGENDRE si le lissage de THETA
+est de type LEGENDRE.
+-> Risque et Conseil :
+Veuillez redéfinir le mot-clé LISSAGE_G.
+"""), 
+
+87: _("""
+Si la méthode LAGRANGE_REGU est utilisée pour le lissage, 
+alors le lissage de G et de theta doivent etre de type LAGRANGE_REGU.
+"""),
+
+90: _("""
+L'usage des polynomes de Legendre dans le cas d'un fond de fissure clos
+est interdit.
+-> Risque et Conseil :
+Veuillez redéfinir le mot-clé LISSAGE_THETA.
+"""), 
+
+91: _("""
+Aucune direction de propagation n'est fournie par l'utilisateur, la direction est
+calculée à partir de la normale au fond de fissure.
+-> Risque et Conseil :
+Il n'y a aucun moyen de vérifier que la direction de propagation est dans le bon sens, ce
+qui peut inverser le signe du G calculé. Il est préférable de préciser la direction de
+propagation sous le mot clé DIRECTION ou de définir la fissure à partir des mailles de ses
+lèvres.
+"""), 
+
+92: _("""
+Le mot-clef BORNES est obligatoire avec l'option  %(k1)s  !
+"""), 
+
+93: _("""
+Accès impossible au champ : %(k1)s pour le numéro d'ordre : %(i1)d
+"""), 
+
+94: _("""
+La direction de propagation de la fissure et la normale au fond de fissure
+ne sont pas orthogonales.
+-> Risque et Conseil :
+Si la fissure est plane, la normale et la direction de propagation sont
+nécessairement orthogonales, sinon les résultats sont faux: vérifier la
+mise en données dans DEFI_FOND_FISS et CALC_G.
+Si la fissure n'est pas plane, on ne peut pas utiliser le mot-clé NORMALE
+dans DEFI_FOND_FISS: définissez la fissure à partir des mailles de ses lèvres.
+"""), 
+
+95: _("""
+Accès impossible au mode propre champ : %(k1)s pour le numéro d'ordre : %(i1)d.
+"""), 
+
+96: _("""
+Option non disponible actuellement.
+"""), 
+
+98: _("""
+Récupération impossible de la normale dans le fond de fissure FOND_FISS.
+-> Risque et Conseil :
+Un problème a du se produire lors de la création de la structure de données 
+FOND_FISS. Vérifiez les données dans DEFI_FOND_FISS.
+"""), 
 }
index 92c2ada741902000dc6bc030c5f87f95a70561be..0acb9c5070132f14c41e26940c5c2ff0a4a93675 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sdveri Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF sdveri Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -30,10 +30,6 @@ cata_msg = {
  Objet %(k1)s inexistant.
 """),
 
-3 : _("""
- Attention, vous allez écraser des concepts existants.
-"""),
-
 4 : _("""
  Arguments incohérents :
       Nom des paramètres : %(k1)s
index c6a4042acdac9d4130e040ed1aa1ff69fb35e2ca..26455ea94b33849c55dbe2d66426812c68e9c6ea 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sensibilite Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF sensibilite Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -79,10 +79,6 @@ cata_msg = {
  On ne peut pas dériver avec une charge complexe en entrée de dyna_line_harm.
 """),
 
-14 : _("""
- La sensibilité en mécanique ne fonctionne pas encore avec un chargement thermique
-"""),
-
 15 : _("""
  Le comportement %(k1)s n'est pas autorisé en sensibilité
 """),
@@ -156,28 +152,6 @@ cata_msg = {
  Le calcul de derivée n'a pas été étendu à la plasticité.
 """),
 
-57 : _("""
- Valeur incorrecte pour le nom du concept ou du paramètre sensible.
- Ils doivent etre de type chaines de caractères de moins de 8 caractères.
-                 Nom du concept : '%(k1)s'
-      Nom du paramètre sensible : '%(k2)s'
-"""),
-
-58 : _("""
-                 Nom du concept : '%(k1)s'
-      Nom du paramètre sensible : '%(k2)s'
-                    
-           Nom composé (dérivé) : '%(k3)s'
-
-"""),
-
-59 : _("""
-            Liste des mots-clés : %(k1)s
-              Liste des valeurs : %(k2)s
-   Liste des mots-clés facteurs : %(k3)s
-
-"""),
-
 71 : _("""
  Dérivation par rapport au paramètre sensible : %(k1)s 
 """),
@@ -194,23 +168,6 @@ cata_msg = {
  la structure nosimp est introuvable dans la memorisation inpsco
 """),
 
-84 : _("""
- mauvaise valeur pour %(k1)s : il faut entre %(i1)d et %(i2)d mais on a donné %(i3)d 
-"""),
-
-85 : _("""
- probleme de declaration : la chaine %(k1)s est de longueur  %(i1)d 
- on veut y mettre %(k2)s de longueur  %(i2)d 
-"""),
-
-89 : _("""
- Mauvaise valeur pour choix ; il faut 1,2 ou 3, mais pas  %(i1)d 
-"""),
-
-90 : _("""
- La dérivée de %(k1)s par rapport à %(k2)s est déja nommée.
-"""),
-
 91 : _("""
  Le pas de temps adaptatif n'est pas approprié pour le calcul de sensibilité
  par rapport au paramètre materiau 
@@ -233,18 +190,4 @@ cata_msg = {
  C'est incohérent.
 """),
 
-97 : _("""
-Mémorisation des données de la sensibilité :
-   
-   Les listes des mots-clés, des valeurs et mots-clés facteurs doivent etre de meme longueur.
-"""),
-
-98 : _("""
- Dans le programme %(k1)s, le paramètre de sensibilité %(k2)s est introuvable.   
-"""),
-
-99 : _("""
- Impossible de trouver un sous-type de sensibilité pour l'influence de %(k1)s 
-"""),
-
 }
index 6d7eea936f56f860ff634e99bff6cfa493d6704d..ff49c8e8b7b73fc8b809a16b61ddf7334e39508a 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF soustruc Messages  DATE 10/07/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF soustruc Messages  DATE 08/04/2008   AUTEUR MEUNIER S.MEUNIER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -23,7 +23,7 @@ def _(x) : return x
 cata_msg={
 
 1: _("""
- les 2 maillages ne sont pas du meme type : 2d (ou 3d).
+ les 2 maillages ne sont pas du meme type : 2D (ou 3D).
 """),
 
 2: _("""
@@ -35,55 +35,65 @@ cata_msg={
 """),
 
 4: _("""
- le group_ma :  %(k1)s  est en double. on ignore le second.
+ le GROUP_MA :  %(k1)s  est en double. on ignore le second.
 """),
 
 5: _("""
- le group_no :  %(k1)s  est en double. on ignore le second.
+ le GROUP_NO :  %(k1)s  est en double. on ignore le second.
 """),
 
 6: _("""
- le noeud: %(k1)s  n'a pas les memes coordonnees dans les maillages:  %(k2)s  et  %(k3)s 
+ le noeud: %(k1)s  n'a pas les memes coordonnées dans les maillages:  %(k2)s  et  %(k3)s 
 """),
 
 7: _("""
- matrice de rigidite non inversible (modes rigides ???) - attention : criteres de choc non calcules
+ matrice de rigidité non inversible (modes rigides ???) 
+ - attention : critères de choc non calculés
 """),
 
 8: _("""
- matrice de rigidite : pivot quasi-nul (modes rigides ???) - attention : criteres de choc non calcules
+ matrice de rigidité : pivot quasi-nul (modes rigides ???) 
+ - attention : critères de choc non calculés
 """),
 
 9: _("""
- mot-clef "definition" interdit :le macr_elem:  %(k1)s  est deja defini.
+ mot-clef "DEFINITION" interdit :
+ le MACR_ELEM :  %(k1)s  est déja défini.
 """),
 
 10: _("""
- mot-clef "rigi_meca" interdit :il est deja calcule.
+ mot-clef "RIGI_MECA" interdit :
+ il est deja calculé.
 """),
 
 11: _("""
- mot-clef "rigi_meca" interdit :le resultat :  %(k1)s  existe deja.
+ mot-clef "RIGI_MECA" interdit :
+ le resultat :  %(k1)s  existe deja.
 """),
 
 12: _("""
- mot-clef "mass_meca" interdit :il faut avoir fait "definition" et "rigi_meca".
+ mot-clef "MASS_MECA" interdit :
+ il faut avoir fait "DEFINITION" et "RIGI_MECA".
 """),
 
 13: _("""
- mot-clef "mass_meca" interdit :il est deja calcule.
+ mot-clef "MASS_MECA" interdit :
+ il est deja calculé.
 """),
 
 14: _("""
- mot-clef "cas_charge" interdit :il faut avoir fait "definition" et "rigi_meca".
+ mot-clef "CAS_CHARGE" interdit :
+ il faut avoir fait "DEFINITION" et "RIGI_MECA".
 """),
 
 15: _("""
- cet operateur modifie un maillage existant. le resultat doit etre identique au concept donne dans l'argument maillage.
+ cet opérateur modifie un maillage existant
+ le resultat doit etre identique au concept donné dans l'argument MAILLAGE.
 """),
 
 16: _("""
- maillages avec super mailles : utiliser operation : sous-stru
+ maillages avec super mailles :
+ utiliser OPERATION = SOUS-STRU
 """),
 
 17: _("""
@@ -103,11 +113,12 @@ cata_msg={
 """),
 
 21: _("""
- critere inconnu
+ critère inconnu
 """),
 
 22: _("""
- noeud eloignes a la normale au segment
+ noeud %(k1)s trop éloigné de la normale au segment
+ distance = %(r1)f
 """),
 
 23: _("""
@@ -313,7 +324,7 @@ cata_msg={
 """),
 
 72: _("""
- erreur programmeur 2
+ indicateur de diagonalité de la matrice spectrale : %(r1)f 
 """),
 
 73: _("""
index 278bb840e9a407bc7227b413b2953277b158c81f..493113a2fc87d1d9512a9f33ed8f33aa6cb753f7 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF spectral0 Messages  DATE 11/09/2007   AUTEUR DURAND C.DURAND 
+#@ MODIF spectral0 Messages  DATE 26/03/2008   AUTEUR BODEL C.BODEL 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -53,4 +53,21 @@ Erreur dans les donn
 Pas de calcul absolu avec TRAN_GENE.
 """),
 
+9: _("""
+Le fichier IDEAS est vide ou ne contient pas le data set demande
+"""),
+
+10: _("""
+Un des data sets 58 contient une donnee qui n'est pas un inter-spectre
+"""),
+
+11: _("""
+On ne traite pas les cas ou les abscisses frequentielles ne sont pas reglierement espacees
+"""),
+
+12: _("""
+Le mot-cle format correspond au format du fichier source, qui peut etre 'ASTER' ou 'IDEAS' (pour lire les DS58)
+"""),
+
+
 }
index 3aaf17a70ba21c58fd80eb47a9ea7344005b4699..1f5700abd7d9835e5196f0995747a101dbec675c 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF stanley Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF stanley Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-1: _("""
+1 : _("""
 Redéfinition du DISPLAY vers %(k1)s.
 """),
 
-2: _("""
+2 : _("""
 Stanley fonctionne en mode validation de non-regression.
 """),
 
-3: _("""
+3 : _("""
 Aucune variable d'environnement DISPLAY définie !
 %(k1)s ne pourra pas fonctionner. On l'ignore.
 
@@ -43,156 +43,156 @@ de la commande STANLEY :
 STANLEY(DISPLAY='adresse_ip:0.0');
 """),
 
-4: _("""
+4 : _("""
 Une erreur est intervenue. Raison : %(k1)s
 """),
 
-5: _("""
+5 : _("""
 Cette action n'est pas réalisable: %(k1)s
 """),
 
-6: _("""
+6 : _("""
 En mode DISTANT, la variable %(k1)s est obligatoire. On abandonne.
 """),
 
-7: _("""
+7 : _("""
 Le parametre 'machine_gmsh_exe' ou 'machine_visu' n'est pas renseigné, 
 il faut ouvrir le fichier manuellement.
 """),
 
-8: _("""
+8 : _("""
 Lancement terminé.
 """),
 
-9: _("""
+9 : _("""
 Exécution de %(k1)s
 """),
 
-10: _("""
+10 : _("""
 Erreur de lancement de la commande!
 """),
 
-11: _("""
+11 : _("""
 Dans le mode WINDOWS, la variable %(k1)s est obligatoire. On abandonne.
 """),
 
-12: _("""
+12 : _("""
 Les fichiers de post-traitement sont copiés.
 Veuillez maintenant ouvrir manuellement skin.pos avec GMSH.
 """),
 
-13: _("""
+13 : _("""
 Le fichier de post-traitement est copie.
 Veuillez maintenant ouvrir manuellement fort.33.pos avec GMSH.
 """),
 
-14: _("""
+14 : _("""
 Impossible de contacter le serveur SALOME! Vérifier qu'il est bien lancé.
 """),
 
-15: _("""
+15 : _("""
 Impossible de récupérer le nom de la machine locale! 
 Solution alternative : utiliser le mode DISTANT en indiquant l'adresse IP
 ou le nom de la machine dans la case 'machine de salome'.
 """),
 
-16: _("""
+16 : _("""
 Pour visualisation dans Salome, la variable %(k1)s est obligatoire. On abandonne.
 """),
 
-17: _("""
+17 : _("""
 Pour visualisation dans Salome, la variable machine_salome_port est obligatoire. 
 On abandonne.
 """),
 
-18: _("""
+18 : _("""
 Erreur : mode WINDOWS non implémenté
 """),
 
-19: _("""
+19 : _("""
 Erreur: il est possible que Stanley ne puisse pas contacter Salome (machine salome definie : %(k1)s). 
 Vous pouvez modifier la machine Salome dans les parametres dans Stanley. 
 """),
 
-20: _("""
+20 : _("""
 Execution terminée.
 """),
 
-21: _("""
+21 : _("""
 Le module python "pylotage" semble etre absent, ou mal configuré, 
 on désactive le mode Salome de Stanley.
 """),
 
-22: _("""
+22 : _("""
 Impossible d'affecter la variable [%(k1)s / %(k2)s].
 """),
 
-23: _("""
+23 : _("""
 Lecture du fichier d'environnement : %(k1)s
 """),
 
-24: _("""
+24 : _("""
 Il n'y a pas de fichier d'environnement. 
 On démarre avec une configuration par défaut.
 """),
 
-25: _("""
+25 : _("""
 Le fichier d'environnement n'a pas la version attendue. 
 On continue mais en cas de problème, effacer le repertoire ~/%(k1)s et relancer.
 """),
 
-26: _("""
+26 : _("""
 Le fichier d'environnement n'est pas exploitable (par exemple c'est une ancienne version).
 On démarre avec une configuration par défaut.
 """),
 
-27: _("""
+27 : _("""
 On initialise une configuration par défaut.
 """),
 
-28: _("""
+28 : _("""
 Nouveaux paramètres sauvegardés dans : %(k1)s
 """),
 
-29: _("""
+29 : _("""
 Impossible de sauvegarder les paramètres dans : %(k1)s
 """),
 
-30: _("""
+30 : _("""
 La visualisation aux points de Gauss n'est pas permise avec la sensibilité.
 """),
 
-31: _("""
+31 : _("""
 Problème : %(k1)s
 """),
 
-32: _("""
+32 : _("""
 Impossible d'ouvrir en écriture le fichier %(k1)s
 """),
 
-33: _("""
+33 : _("""
 Attention : on ne peut pas tracer un champ aux points de Gauss sur la déformée...
 """),
 
-34: _("""
+34 : _("""
 Le champ est tracé avec la déformée.
 """),
 
-35: _("""
+35 : _("""
 Concept ignoré : %(k1)s
 """),
 
-36: _("""
+36 : _("""
 Il y a plusieurs concepts %(k1)s stockés dans la structure de donnée résultat.
 """),
 
-37: _("""
+37 : _("""
 Tous les concepts Aster nécessaires à Stanley n'ont pas été calculés. 
 Il manque :
 %(k1)s
 """),
 
-38: _("""
+38 : _("""
 Stanley - Erreur lors de l'appel à la commande Aster:
 
 %(k1)s
@@ -200,15 +200,9 @@ Raison:
 %(k2)s
 """),
 
-39: _("""
-Stanley - Projection aux points de Gauss: champ non développé
-%(k1)s
-"""),
-
-40: _("""
+40 : _("""
 Stanley - Projection aux points de Gauss: type de résultat non développé
 %(k1)s
 """),
 
-
 }
index 0bad4dac8f673081f4d8e0249191fcfacff2da53..9cffdc87fc57d06d79befb75a887cd11da2e9b7b 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF subdivise Messages  DATE 02/07/2007   AUTEUR FLEJOU J-L.FLEJOU 
+#@ MODIF subdivise Messages  DATE 19/12/2007   AUTEUR ABBAS M.ABBAS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -44,8 +44,9 @@ cata_msg={
 # Plus de messages pour développeur ==> ASSERT
 
 # Messages utilisateurs
-10: _("""Le nombre d'itération autorisée est atteint. La méthode de subdivision ne peut
-pas faire d'extrapolation. La subdivision UNIFORME est déclanchée.
+10: _("""Le nombre maximale d'itérations autorisées ITER_GLOB_* est atteint. 
+La méthode de subdivision ne peut pas faire d'extrapolation.
+La subdivision UNIFORME est déclenchée.
 Cela peut etre du à une oscillation de l'erreur ou à une divergence.
    Nombre d'intervalle             = <%(i1)d>
    Niveau de subdivision           = <%(i2)d>
index 126a449d7a5984ac6c571c2a9e5ec576a8892360..e3a5269c677284fa0b4f5ce19e6068be15b6ed0d 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF supervis Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETT
+#@ MODIF supervis Messages  DATE 19/05/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -22,6 +22,19 @@ def _(x) : return x
 
 cata_msg={
 
+1 : _("""
+ L'utilisation du mot-clé PAR_LOT='NON' permet d'accéder en lecture et en écriture
+ au contenu des concepts Aster. De ce fait, votre étude est exclue du périmètre
+ qualifié de Code_Aster puisque toutes ses étapes ne peuvent être certifiées.
+
+ Conseils :
+   - Il n'y a pas particulièrement de risque de résultat faux... sauf si votre
+     programmation l'introduit.
+   - Distinguez le calcul lui-même (qui doit sans doute passer en PAR_LOT='OUI')
+     des post-traitements (qui nécessiteraient le mode PAR_LOT='NON') qui peuvent
+     être réalisés en POURSUITE.
+"""),
+
 2: _("""
  Arret sur erreur(s) utilisateur
 """),
@@ -60,7 +73,23 @@ cata_msg={
 """),
 
 11: _("""
- Impossible d'allouer la mémoire JEVEUX demandée
+ Impossible d'allouer la mémoire JEVEUX demandée : %(i1)d Moctets.
+
+ En général, cette erreur se produit car la mémoire utilisée hors du fortran
+ (jeveux) est importante.
+
+ Causes possibles :
+   - le calcul produit de gros objets Python dans une macro-commande ou
+     dans le jeu de commande lui-même,
+   - le calcul appelle un solveur (MUMPS par exemple) ou un outil externe
+     qui a besoin de mémoire hors jeveux,
+   - utilisation de jeveux dynamique,
+   - ...
+
+ Solution :
+   - distinguer la mémoire limite du calcul (case "Mémoire totale" de astk)
+     de la mémoire réservée à jeveux (case "dont Aster"), le reste étant
+     disponible pour les allocations dynamiques.
 """),
 
 12: _("""
@@ -103,11 +132,6 @@ cata_msg={
   Erreur(s) fatale(s) lors de la lecture des catalogues
 """),
 
-22: _("""
-L'argument du mot cle "NOM" sous le mot clé facteur "CODE" est tronqué à 8 caractères.
-Le nom de code est donc "%(k1)s".
-"""),
-
 23: _("""
  Debug JXVERI demandé
 """),
@@ -118,6 +142,8 @@ Le nom de code est donc "%(k1)s".
 
 25: _("""
  Mémoire gestion : "COMPACTE"
+ Ce mode de gestion peut augmenter sensiblement le temps système de certaines commandes,
+ les lectures/écritures sur les bases Jeveux étant beaucoup plus fréquentes
 """),
 
 26: _("""
@@ -207,16 +233,16 @@ Le message d'alarme '%(k1)s' a 
 
 50: _("""
  la commande a un numéro non appelable dans cette version.
- le numero erroné est  %(i1)d 
+ le numero erroné est  %(i1)d
 """),
 
 52: _("""
- fin de lecture (durée  %(r1)f  s.) %(k1)s 
+ fin de lecture (durée  %(r1)f  s.) %(k1)s
 """),
 
 53: _("""
- vous ne pouvez utiliser plus de  %(i1)d 
- niveaux de profondeur pour des appels par la procédure %(k1)s 
+ vous ne pouvez utiliser plus de  %(i1)d
+ niveaux de profondeur pour des appels par la procédure %(k1)s
 """),
 
 55: _("""
@@ -231,29 +257,21 @@ Le message d'alarme '%(k1)s' a 
    Impossible d'importer '%(k1)s' dans Messages.
    Le fichier %(k1)s.py n'existe pas dans le répertoire 'Messages'
    ou bien la syntaxe du fichier est incorrecte.
-   
+
    Merci de signaler cette anomalie.
-   
+
    Traceback :
    %(k2)s
 """),
 
-58: _("""
- valeur initiale du temps CPU maximum =   %(i1)d secondes 
-"""),
-
-59: _("""
- valeur du temps CPU maximum passé aux commandes =   %(i1)d secondes 
-"""),
-
 60: _("""
  la procédure a un numéro non appelable dans cette version.
- le numero errone est  %(i1)d 
+ le numero errone est  %(i1)d
 """),
 
 61: _("""
   La commande a un numéro non appelable dans cette version
-  Le numéro erroné est : %(i1)d 
+  Le numéro erroné est : %(i1)d
 """),
 
 62: _("""
@@ -268,103 +286,105 @@ Le message d'alarme '%(k1)s' a 
 """),
 
 64: _("""
-  Réserve CPU prévue = %(i1)d secondes
+  Valeur initiale du temps CPU maximum =   %(i1)d secondes
+  Valeur du temps CPU maximum passé aux commandes =   %(i2)d secondes
+  Réserve CPU prévue = %(i3)d secondes
 """),
 
 65: _("""
    %(k1)s   %(k2)s   %(k3)s   %(k4)s
 """),
+
 66: _("""
    %(k1)s   %(k2)s   %(k3)s   %(k4)s   %(k5)s
 """),
+
 67: _("""
  Passage numéro %(i1)d
 """),
+
 68: _("""
  information sur les concepts devant etre créés.
 """),
+
 69: _("""
    %(k1)s   %(k2)s   %(k3)s   %(k4)s
 """),
+
 70: _("""
    %(k1)s   %(k2)s   %(k3)s   %(k4)s   %(k5)s
 """),
+
 71: _("""
  rappel sur les executions précédentes
    - il a ete executé %(i1)d procédures et opérateurs.
 """),
+
 72: _("""
    - l'execution précédente s'est terminée correctement.
 """),
+
 73: _("""
+
    - l'execution précédente s'est terminée en erreur dans la procédure %(k1)s.
 """),
+
 74: _("""
+
    - l'execution précédente s'est terminée en erreur dans l'opérateur %(k1)s.
 """),
+
 75: _("""
      le concept %(k1)s de type %(k2)s  est peut-etre errone.
 """),
+
 76: _("""
    - l'execution precedente s'est terminee prematurement dans l'operateur %(k1)s.
 """),
+
 77: _("""
      le concept %(k1)s de type %(k2)s  a ete néanmoims validé par l'opérateur
 """),
+
 78: _("""
      Message attache au concept  %(k1)s
 """),
+
 79: _("""
      Pas de message attache au concept %(k1)s
 """),
+
 80: _("""
+
 """),
+
 81: _("""
  %(k1)s nom symbolique inconnu
   - nombre de valeurs attendues %(i1)d
   - valeurs attendues : %(k1)s, %(k2)s,...
 """),
+
 82: _("""
  L'argument du mot cle "CAS"  est errone.
  Valeur lue %(k1)s
  nombre de valeurs attendues %(i1)d
  valeurs attendues : %(k1)s,%(k2)s, ...
 """),
+
 83: _("""
+
  le nombre d'enregistrements (nmax_enre) et leurs longueurs (long_enre) conduisent a un
 fichier
  dont la taille maximale en octets (%(i1)d) est superieure a limite autorisee :  %(i2)d
+
 """),
+
 84: _("""
  Nom symbolique errone pour un fichier de sortie
  Valeur lue %(k1)s
  - nombre de valeurs attendues %(i2)d
  - valeurs attendues           %(k2)s, %(k3)s
+
 """),
 
 85: _("""
@@ -383,4 +403,23 @@ Types incompatibles entre glob.1 et pick.1 pour le concept de nom %(k1)s.
 Concept de nom %(k1)s et de type %(k2)s introuvable dans la base globale"
 """),
 
+# on ne veut pas émettre d'alarme mais que le message se voit, donc on fait la mise en forme ici !
+89 : _("""
+   !-----------------------------------------------------------------------!
+   !   Liste des alarmes émises lors de l'exécution du calcul.             !
+   !                                                                       !
+   !   Les alarmes que vous avez choisies d'ignorer sont précédées de (*). !
+   !   Nombre d'occurrences pour chacune des alarmes :                     !
+"""),
+        
+90 : _("""   !      %(k1)3s %(k2)-20s émise %(i1)4d fois                         !
+"""),
+
+91 : _("""   !-----------------------------------------------------------------------!
+
+"""),
+
+92 : _("""   !          aucune alarme                                                !
+"""),
+
 }
index fac6179dc5792d0e7b1d6b22a99e1ea384795091..45fbb1cb89a8c2dc4d2fbb41052968e6ebcd7078 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF table0 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF table0 Messages  DATE 25/02/2008   AUTEUR ZENTNER I.ZENTNER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -70,4 +70,12 @@ On attend %(i1)d param
 On a lu %(i1)d champs dans le fichier.
 """),
 
+14 : ("""
+Les listes NOM_PARA et VALE doivent avoir le meme cardinal.
+"""),
+
+15 : ("""
+Les listes DEFA et PARA_NOCI doivent avoir le meme cardinal.
+"""),
+
 }
index cc8d0d764a16f2687531443a79c128c68c3485e1..23dc39e8eff8362379458fc7ca152faffab00cf0 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF test0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF test0 Messages  DATE 19/11/2007   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 def _(x) : return x
 
 cata_msg={
-1: _("""
-<INVALID_REGEXP> %(k1)s pour %(k2)s.
+1 : _("""
+Expression régulière invalide : %(k2)s
+
+Exception retournée :
+   %(k1)s
 """),
 
-2: _("""
+2 : _("""
 Le fichier n'a pas été fermé : %(k1)s
 """),
 
+3 : _("""
+TEST_FICHIER impossible, fichier inexistant : %(k1)s
+"""),
+
+4 : _("""
+
+     Nom du fichier   : %(k3)s
+
+                       -----------------------------------------------------------------------
+                       |             FICHIER              |            REFERENCE             |
+   -------------------------------------------------------------------------------------------
+   | Nombre de valeurs |            %(i1)6d                |            %(i2)6d                |
+   | Somme des valeurs |      %(r1)20.13e        |      %(k4)20s        |
+   | md5sum des textes | %(k1)-32s | %(k2)-32s |
+   -------------------------------------------------------------------------------------------
+
+"""),
+
 }
+
+
+
index 4e73805288e3def3d7210410ce297cc2f7b8897a..f19902b96c2da9d5916bc20f84dfa72aa6073f3d 100644 (file)
@@ -1,21 +1,21 @@
-#@ MODIF utilitai Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF utilitai Messages  DATE 08/02/2008   AUTEUR MACOCCO K.MACOCCO 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.
 # ======================================================================
 
 def _(x) : return x
@@ -99,9 +99,10 @@ cata_msg = {
  on ne traite que des "CHAM_NO" ou des "CHAM_ELEM".
 """),
 
-22 : _("""
- unknown parameter (dvlp)
-"""),
+
+
+
+
 
 23 : _("""
  on ne trouve aucun champ.
@@ -139,6 +140,12 @@ cata_msg = {
  nom_cmp2 et nom_cmp de longueur differentes.
 """),
 
+32: _("""
+ Grandeur incorrecte pour le champ : %(k1)s
+ grandeur proposée :  %(k2)s
+ grandeur attendue :  %(k3)s
+"""),
+
 33 : _("""
  le mot-cle 'coef_c' n'est applicable que pour un champ de type complexe
 """),
index baf5eb1de1a2a2e34e0acd9291e338d5fd7392c1..ad392cf41365af70caccee673769dd6ae3fa2dce 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF utilitai2 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF utilitai2 Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -22,14 +22,6 @@ def _(x) : return x
 
 cata_msg = {
 
-2 : _("""
- erreur 2
-"""),
-
-3 : _("""
- erreur 3
-"""),
-
 4 : _("""
  probleme pour recuperer les variables d'acces
 """),
@@ -50,10 +42,6 @@ cata_msg = {
  fonction a une seule variable admis
 """),
 
-9 : _("""
- developpement non implante.
-"""),
-
 10 : _("""
  on n'imprime pas encore de fonction de type " %(k1)s "      desole. 
 """),
@@ -82,26 +70,10 @@ cata_msg = {
  on ne connait pas ce type d'interpolation:  %(k1)s 
 """),
 
-29 : _("""
- a faire 1 ...
-"""),
-
-30 : _("""
- a faire 2 ...
-"""),
-
 31 : _("""
  on ne trouve pas l'equation  %(k1)s  dans le "prof_chno"
 """),
 
-33 : _("""
- le champ nuro cree par nurota comporte d'autres valeurs que 0 ou 1
-"""),
-
-34 : _("""
- il y a un bug angles nautiques
-"""),
-
 35 : _("""
  il y a un bug
 """),
@@ -122,10 +94,6 @@ cata_msg = {
  group_ma_sol_sol: un element n'est ni tria3 ni tria6 ni quad4 ni quad8
 """),
 
-40 : _("""
- erreur : lmat est nul.
-"""),
-
 41 : _("""
  on ne traite que les matrices symetriques.
 """),
@@ -134,38 +102,14 @@ cata_msg = {
  on ne traite que les matrices reelles.
 """),
 
-43 : _("""
- option inconnue.
-"""),
-
-44 : _("""
- il y un bug.
-"""),
-
 45 : _("""
  manque une maille tardive
 """),
 
-46 : _("""
- developpement non realise.
-"""),
-
 47 : _("""
  le fichier " %(k1)s " n'est relie a aucune unite logique.
 """),
 
-48 : _("""
- type base inconnu : %(k1)s 
-"""),
-
-50 : _("""
- nombre de bornes errone : on doit en avoir autant que de numeros d'ordre
-"""),
-
-51 : _("""
- mot-clef <signes> obligatoire avec option calc_k_max !
-"""),
-
 52 : _("""
  ajout de l'option "sief_elga_depl", les charges sont-elles correctes ?
 """),
@@ -329,12 +273,8 @@ cata_msg = {
  element non prevu  %(k1)s 
 """),
 
-92 : _("""
- nom_cham_med ? (svp)
-"""),
-
 93 : _("""
- evol_ther - champ temp uniqmt
+ evol_ther - champ temp uniquement
 """),
 
 94 : _("""
@@ -345,10 +285,6 @@ cata_msg = {
   %(k1)s  et  %(k2)s  : nombre de composantes incompatible.
 """),
 
-96 : _("""
- champ med introuvable :  %(k1)s 
-"""),
-
 97 : _("""
  aucun champ lu.
 """),
@@ -357,8 +293,4 @@ cata_msg = {
  on n'a pas lu tous les champs.
 """),
 
-99 : _("""
- erreur dans la donnee de la s.d.  %(k1)s  a imprimer, il ne s'agit ni d'un matr_elem, ni d'un vect_elem car le .liste_resu n'existe pas.
-"""),
-
 }
index c66ccca39df9073f9b655cefb367e1ecb6505e1e..42c47d36b68c3833b5b6c51a31b5db6dddb32e11 100644 (file)
@@ -1,8 +1,8 @@
-#@ MODIF utilitai3 Messages  DATE 17/07/2007   AUTEUR MACOCCO K.MACOCCO 
+#@ MODIF utilitai3 Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2007  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     
 
 def _(x) : return x
 
-cata_msg={
+cata_msg = {
 
-1: _("""
- erreur dans la donnee de la s.d.  %(k1)s  a imprimer, il ne s'agit ni d'un matr_elem, ni d'un vect_elem.
-"""),
-
-2: _("""
+2 : _("""
  l utilisation de cette commande n est legitime que si la configuration etudiee est du type "faisceau_trans"
 """),
 
-3: _("""
+3 : _("""
  erreur dvp_1
 """),
 
-4: _("""
+4 : _("""
  le nom d'un parametre ne peut pas depasser 16 caracteres
 """),
 
-5: _("""
+5 : _("""
  le parametre  %(k1)s  n 'existe pas
 """),
 
-6: _("""
+6 : _("""
  seuls les parametres de types reel, entier ou complexe sont traites
 """),
 
-7: _("""
+7 : _("""
  erreur dvp_2
 """),
 
-8: _("""
+8 : _("""
  code retour non nul detecte
 """),
 
-9: _("""
+9 : _("""
  maillage autre que seg2                                ou poi1 
 """),
 
-10: _("""
+10 : _("""
  mailles ponctuelles                           plexus poi1 ignorees
 """),
 
-11: _("""
+11 : _("""
  le format doit etre ideas
 """),
 
-12: _("""
+12 : _("""
  le maillage doit etre issu d'ideas
 """),
 
-13: _("""
+13 : _("""
   maillage non issu d'ideas
 """),
 
-14: _("""
+14 : _("""
  avec le 2414, on ne traite pas les nume_ordre
 """),
 
-15: _("""
+15 : _("""
  pb lecture du fichier ideas
 """),
 
-16: _("""
- nom_med ? (svp)
-"""),
-
-17: _("""
+17 : _("""
  format  %(k1)s  inconnu.
 """),
 
-18: _("""
+18 : _("""
  nom_cmp_idem est curieux :  %(k1)s 
 """),
 
-19: _("""
+19 : _("""
  probleme maillage <-> modele
 """),
 
-20: _("""
+20 : _("""
  le champ de meta_elno_temp:etat_init(num_init) n'existe pas.
 """),
 
-21: _("""
+21 : _("""
  maillage et modele incoherents.
 """),
 
-22: _("""
+22 : _("""
  pour type_resu:'el..' il faut renseigner le mot cle modele.
 """),
 
-23: _("""
+23 : _("""
  option:  %(k1)s non prevue pour les elements du modele.
 """),
 
-24: _("""
+24 : _("""
  option=  %(k1)s  incompatible avec type_cham=  %(k2)s 
 """),
 
-25: _("""
+25 : _("""
  operation=  %(k1)s  seulement type_cham= 'noeu_geom_r' 
 """),
 
-26: _("""
+26 : _("""
  operation=  %(k1)s  incompatible avec type_cham=  %(k2)s 
 """),
 
-27: _("""
+27 : _("""
  grandeurs differentes pour : %(k1)s et : %(k2)s 
 """),
 
-28: _("""
+28 : _("""
  il existe des doublons dans la liste d'instants de rupture
 """),
 
-29: _("""
+29 : _("""
  il faut donner plus d'un instant de rupture
 """),
 
-30: _("""
+30 : _("""
  il manque des temperatures  associees aux bases de resultats (mot-cle tempe)
 """),
 
-31: _("""
+31 : _("""
  le parametre m de weibull doit etre le meme pour toutes les bases resultats !
 """),
 
-32: _("""
+32 : _("""
  le parametre sigm_refe de weibull doit etre le meme pour toutes les bases resultats !
 """),
 
-33: _("""
+33 : _("""
  aucun numero d'unite logique n'est associe a  %(k1)s 
 """),
 
-34: _("""
+34 : _("""
  aucun numero d'unite logique n'est disponible 
 """),
 
-35: _("""
+35 : _("""
  action inconnue:  %(k1)s 
 """),
 
-36: _("""
+36 : _("""
  arret de la procedure de recalage : le parametre m est devenu trop petit (m<1) , verifiez vos listes d'instants de rupture
 """),
 
-37: _("""
+37 : _("""
  les parametres de la nappe ont ete reordonnees.
 """),
 
-38: _("""
+38 : _("""
  type de fonction non connu (ordonn)
 """),
 
-39: _("""
+39 : _("""
  points confondus.
 """),
 
-40: _("""
+40 : _("""
  impossibilite, la maille  %(k1)s  doit etre de type "seg2" ou "seg3"et elle est de type :  %(k2)s 
 """),
 
-41: _("""
+41 : _("""
  nbma different de nbel
 """),
 
-42: _("""
+42 : _("""
  le contour n est pas ferme
 """),
 
-43: _("""
+43 : _("""
  le mot-clé "reuse" n'existe que pour l'opération "ASSE"
 """),
 
-44: _("""
+44 : _("""
  nbma different de nbe
 """),
 
-45: _("""
+45 : _("""
  nj2 different de nj0
 """),
 
-46: _("""
+46 : _("""
  le groupe de mailles " %(k1)s " n'existe pas.
 """),
 
-47: _("""
+47 : _("""
  le groupe  %(k1)s  ne contient aucune maille.
 """),
 
-48: _("""
+48 : _("""
  on ne traite que des problemes 2d.
 """),
 
-49: _("""
+49 : _("""
  la maille " %(k1)s " n'existe pas.
 """),
 
-50: _("""
+50 : _("""
  on doit donner un resultat de type "evol_ther" apres le mot-cle "lapl_phi"  du mot-facteur "cara_poutre" dans la commande post_elem pour calculer la constante de torsion.
 """),
 
-51: _("""
+51 : _("""
  le nombre d'ordres du resultat  %(k1)s  necessaire pour calculer la constante de torsion doit etre egal a 1.
 """),
 
-52: _("""
+52 : _("""
  on n'arrive pas a recuperer le champ de temperatures du resultat  %(k1)s 
 """),
 
-53: _("""
+53 : _("""
  la table "cara_geom" n'existe pas.
 """),
 
-54: _("""
+54 : _("""
  on doit donner un resultat de type "evol_ther" apres le mot-cle "lapl_phi_y"  du mot-facteur "cara_poutre" dans la commande post_elem pour calculer les coefficients de cisaillement et les coordonnees du centre de torsion.
 """),
 
-55: _("""
+55 : _("""
  on doit donner un resultat de type "evol_ther" apres le mot-cle "lapl_phi_z"  du mot-facteur "cara_poutre" dans la commande post_elem pour calculer les coefficients de cisaillement et les coordonnees du centre de torsion.
 """),
 
-56: _("""
+56 : _("""
  le nombre d'ordres du resultat  %(k1)s  necessaire pour calculer les coefficients de cisaillement et les coordonnees du centre de torsion doit etre egal a 1.
 """),
 
-57: _("""
+57 : _("""
  on doit donner un resultat de type "evol_ther" apres le mot-cle "lapl_phi"  du mot-facteur "cara_poutre" dans la commande post_elem pour calculer la constante de gauchissement.
 """),
 
-58: _("""
+58 : _("""
  le nombre d'ordres du resultat  %(k1)s  necessaire pour calculer la constante de gauchissement doit etre egal a 1.
 """),
 
-59: _("""
+59 : _("""
  il faut donner le nom d'une table issue d'un premier calcul avec l'option "cara_geom" de  post_elem apres le mot-cle "cara_geom" du mot-facteur "cara_poutre".
 """),
 
-60: _("""
+60 : _("""
  il faut obligatoirement definir l'option de calcul des caracteristiques de poutre apres le mot-cle "option" du mot-facteur "cara_poutre" de la commande post_elem.
 """),
 
-61: _("""
+61 : _("""
  l'option  %(k1)s n'est pas admise apres le mot-facteur "cara_poutre".
 """),
 
-62: _("""
+62 : _("""
  il faut donner le nom d'un resultat de type evol_ther apres le mot-cle lapl_phi du mot-facteur "cara_poutre".
 """),
 
-63: _("""
+63 : _("""
  il faut donner le nom d'un resultat de type evol_ther apres le mot-cle lapl_phi_y du mot-facteur "cara_poutre".
 """),
 
-64: _("""
+64 : _("""
  il faut donner le nom d'un resultat de type evol_ther apres le mot-cle lapl_phi_z du mot-facteur "cara_poutre".
 """),
 
-65: _("""
+65 : _("""
  y a un bug 12
 """),
 
-66: _("""
+66 : _("""
  y a un bug 13
 """),
 
-67: _("""
+67 : _("""
  y a un bug 14
 """),
 
-68: _("""
+68 : _("""
  on attend un concept "mode_meca" ou "evol_elas" ou "evol_ther" ou "dyna_trans" ou "evol_noli"
 """),
 
-69: _("""
+69 : _("""
  champ de vitesse donne.
 """),
 
-70: _("""
+70 : _("""
  champ de deplacement donne.
 """),
 
-71: _("""
+71 : _("""
  option masse coherente.
 """),
 
-72: _("""
+72 : _("""
  calcul avec masse diagonale
 """),
 
-73: _("""
+73 : _("""
  type de champ inconnu.
 """),
 
-
-
-
-
-
-
-
-75: _("""
+75 : _("""
  on attend un concept "mode_meca" ou "evol_elas" ou "mult_elas" ou "evol_ther" ou "dyna_trans" ou "evol_noli"
 """),
 
-76: _("""
+76 : _("""
  pour calculer les indicateurs globaux d'energie, il faut donner un resultat issu de stat_non_line .
 """),
 
-77: _("""
+77 : _("""
  on attend un resultat de type "evol_noli" .
 """),
 
-78: _("""
+78 : _("""
  le resultat  %(k1)s  doit comporter la relation de comportement au numero d'ordre  %(k2)s  .
 """),
 
-79: _("""
+79 : _("""
  le resultat  %(k1)s  doit comporter un champ de variables internes au numero d'ordre  %(k2)s  .
 """),
 
-80: _("""
+80 : _("""
  impossibilite : le volume du modele traite est nul. 
 """),
 
-81: _("""
+81 : _("""
  impossibilite : le volume du group_ma  %(k1)s  est nul. 
 """),
 
-82: _("""
+82 : _("""
  impossibilite : le volume de la maille  %(k1)s  est nul. 
 """),
 
-83: _("""
+83 : _("""
  erreur: les options de calcul doivent etre identiques pour toutes les occurrences du mot clef facteur
 """),
 
-84: _("""
+84 : _("""
  on attend un concept "evol_noli"
 """),
 
-85: _("""
+85 : _("""
  erreur: le champ sief_elga n'existe pas
 """),
 
-86: _("""
+86 : _("""
  erreur: le champ vari_elga n'existe pas
 """),
 
-87: _("""
+87 : _("""
  erreur: le champ depl_elno n'existe pas
 """),
 
-88: _("""
+88 : _("""
  erreur: le champ epsg_elga_depl n'existe pas
 """),
 
-89: _("""
+89 : _("""
  les 2 nuages : %(k1)s  et  %(k2)s  doivent avoir le meme nombre de coordonnees.
 """),
 
-90: _("""
+90 : _("""
  les 2 nuages : %(k1)s  et  %(k2)s  doivent avoir la meme grandeur associee.
 """),
 
-91: _("""
+91 : _("""
  il manque des cmps sur :  %(k1)s 
 """),
 
-92: _("""
+92 : _("""
  l'interpolation n'est pas encore faite en complexe.
 """),
 
-93: _("""
+93 : _("""
  seuls les types "reel" et "complexe" sont autorises.
 """),
 
+94 : _("""
+ MINMAX est toujours calculé sur TOUT le modèle pour les champs aux noeuds.
+"""),
+
 }
index de42b0b60eaf3a15c6d2a4dcbc45303bd4a50d7c..059c7f394f249b66ff4cc76e09bca028c5f18a16 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF utilitai4 Messages  DATE 04/04/2007   AUTEUR ABBAS M.ABBAS 
+#@ MODIF utilitai4 Messages  DATE 08/02/2008   AUTEUR MACOCCO K.MACOCCO 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -349,9 +349,10 @@ cata_msg={
   concept  %(k1)s non existant 
 """),
 
-95: _("""
- l'objet de nom " %(k1)s " est inconnu.
-"""),
+
+
+
+
 
 96: _("""
   expression incorrecte 
index b9d97776d2640c1e3a4b9f98d1bdf105572b2dbd..1582760010f62c95645ee05dbe201060a32e04bb 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF utilitai5 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF utilitai5 Messages  DATE 02/06/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -171,7 +171,7 @@ cata_msg = {
 """),
 
 40 : _("""
type de donnees inconnu :  %(k1)s
LIRE_RESU ne sait pas lire les structures de données de type %(k1) s
 """),
 
 41 : _("""
index 0c541f08501bfba96e67444a4201d0290bda7b5c..07864f907dc43a8ac3844140276a18a1bef4144a 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF utilitai6 Messages  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF utilitai6 Messages  DATE 08/02/2008   AUTEUR MACOCCO K.MACOCCO 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -24,7 +24,7 @@ cata_msg = {
 
 1 : _("""
 
- la grandeur introduite en operande  ne figure pas dans le catalogue des grandeurs
+ la grandeur introduite en opérande  ne figure pas dans le catalogue des grandeurs
  grandeur %(k1)s
 """),
 
@@ -36,12 +36,12 @@ cata_msg = {
 
 3 : _("""
 
- la liste de composantes et la liste  des valeurs n''ont pas la meme dimension
+ la liste de composantes et la liste  des valeurs n'ont pas la même dimension
  occurence de affe numero  %(i1)d
 """),
 
 4 : _("""
- une composante n''appartient pas a la grandeur
+ une composante n'appartient pas à la grandeur
  occurence de affe numero  %(i1)d
  grandeur   :  %(k1)s
  composante :  %(k2)s
@@ -49,7 +49,7 @@ cata_msg = {
 
 5 : _("""
 
- le nume_ddl en entree ne s''appuie  pas sur la meme grandeur que celle de la commande
+ le nume_ddl en entree ne s'appuie  pas sur la même grandeur que celle de la commande
  grandeur associee au nume_ddl %(k1)s
  grandeur de la commande :  %(k2)s
 """),
@@ -64,13 +64,14 @@ cata_msg = {
 
 8 : _("""
 
- on cherche a affecter sur un noeud une  composante qui n''est pas dans le profil  noeud d''entree
+ on cherche a affecter sur un noeud une  composante qui n'est pas dans le profil  noeud d'entree
  noeud : %(k1)s
  composante : %(k2)s
 """),
 
 11 : _("""
- une composante n''appartient pas a la grandeurgrandeur   :  %(k1)s
+ une composante n'appartient pas à la grandeur
+ grandeur   :  %(k1)s
  composante :  %(k2)s
 """),
 
@@ -91,8 +92,8 @@ cata_msg = {
 """),
 
 15 : _("""
- il faut donner :   - une maille ou un group_ma %(k1)s
-    - un noeud ou un group_no ou un point. %(k2)s
+ il faut donner :   - une maille ou un GROUP_MA %(k1)s
+    - un noeud ou un GROUP_NO ou un point. %(k2)s
 """),
 
 16 : _("""
@@ -124,9 +125,9 @@ cata_msg = {
  il sera tronque:  %(k1)s
 """),
 
-36 : _("""
- erreur de programmationtype de fonction inconnu  %(k1)s
-"""),
+
+
+
 
 37 : _("""
  erreur  la fonction  %(k1)s  a  %(i1)d
@@ -139,21 +140,21 @@ cata_msg = {
 """),
 
 39 : _("""
- erreur dans les donnees   interface de type :  %(k1)s  non valable %(k2)s
+ erreur dans les données   interface de type :  %(k1)s  non valable %(k2)s
 """),
 
 40 : _("""
- erreur dans les donneeson ne retrouve pas le noeud  %(k1)s
+ erreur dans les données, on ne retrouve pas le noeud  %(k1)s
   dans la numerotation %(k2)s
 """),
 
 41 : _("""
- erreur dans les donnees   le noeud :  %(k1)s
+ erreur dans les données   le noeud :  %(k1)s
   n''appartient pas au maillage  %(k2)s
 """),
 
 44 : _("""
- trop d''amortissements modaux   nombre d''amortissements :  %(i1)d
+ trop d'amortissements modaux   nombre d'amortissements :  %(i1)d
     nombre de modes :  %(i2)d
 """),
 
@@ -163,7 +164,7 @@ cata_msg = {
 """),
 
 48 : _("""
- methode de newtonexposant de la loi   = %(r1)f
+ methode de newton exposant de la loi   = %(r1)f
  nombre d''iterations = %(i1)d
  residu fonction = %(r2)f
  residu f/df = %(r3)f
@@ -171,19 +172,20 @@ cata_msg = {
 """),
 
 51 : _("""
- pas de champ correspondant  a l''instant demande.resultat  %(k1)s
, acces "inst_init" : %(r1)f
+ pas de champ correspondant  à l'instant demandé.
resultat  %(k1)s , acces "INST_INIT" : %(r1)f
 """),
 
 52 : _("""
- plusieurs champs correspondant  a l''instant demande.resultat  %(k1)s
- , acces "inst_init" : %(r1)f
- , nombre : %(i1)d
+ plusieurs champs correspondant  a l'instant demande.
+ resultat  %(k1)s
+ acces "INST_INIT" : %(r1)f
+ nombre : %(i1)d
 """),
 
 53 : _("""
 
- le premier instant de rupture  n''est pas dans la liste des instants de calcul
+ le premier instant de rupture  n'est pas dans la liste des instants de calcul
  premier instant de rupture =  %(r1)f
  premier instant de calcul =  %(r2)f
 """),
@@ -196,13 +198,14 @@ cata_msg = {
 """),
 
 55 : _("""
- parametres initiaux de weibullexposant de la loi      = %(r1)f
+ parametres initiaux de weibull
+ exposant de la loi      = %(r1)f
  volume de reference     = %(r2)f
  contrainte de reference = %(r3)f
 """),
 
 56 : _("""
- statistiques recalage :nombre d''iterations = %(i1)d
+ statistiques recalage :nombre d'iterations = %(i1)d
  convergence atteinte = %(r1)f
 """),
 
@@ -219,36 +222,37 @@ cata_msg = {
 """),
 
 60 : _("""
- homogeneite du champ de materiaux pour weibull
+ homogénéité du champ de matériaux pour weibull
  nombre de rc weibull trouvees =  %(i1)d
  les calculs sont valables pour  un seul comportement weibull %(k1)s
  on choisit la premiere relation du type weibull %(k2)s
 """),
 
 61 : _("""
- parametres de la rc weibull_foexposant de la loi      = %(r1)f
+ paramètres de la rc weibull_fo
+ exposant de la loi      = %(r1)f
  volume de reference     = %(r2)f
- &contrainte de reference conventionnelle
-      &= %(r3)f
+ contrainte de référence conventionnelle = %(r3)f
 """),
 
 62 : _("""
- parametres de la rc weibullexposant de la loi      = %(r1)f
+ parametres de la rc weibull
+ exposant de la loi      = %(r1)f
  volume de reference     = %(r2)f
  contrainte de reference = %(r3)f
 """),
 
 68 : _("""
- type de numerotation non connue numerotation: %(k1)s
+ type de numérotation non connue numérotation: %(k1)s
 """),
 
 71 : _("""
- il faut donner :   - une maille ou un group_ma %(k1)s
-    - un noeud ou un group_noou un point %(k2)s
+ il faut donner :   - une maille ou un GROUP_MA %(k1)s
+    - un noeud, un GROUP_NO ou un point %(k2)s
 """),
 
 72 : _("""
- trop de mailles dans le group_ma  maille utilisee:  %(k1)s
+ trop de mailles dans le GROUP_MA  maille utilisée:  %(k1)s
 """),
 
 77 : _("""
@@ -281,25 +285,26 @@ Concept r
 """),
 
 84 : _("""
- le "nom_para_resu"  %(k1)s n''est pas un parametre du resultat  %(k2)s
+ le "NOM_PARA_RESU"  %(k1)s n'est pas un paramètre du résultat  %(k2)s
 """),
 
 89 : _("""
- erreur dans les donneesparametre n''existe pas:  %(k1)s
+ erreur dans les données, le paramètre  %(k1)s n'existe pas
 """),
 
 90 : _("""
- erreur dans les donneesparametre non trouve:  %(k1)s
+ erreur dans les donnees, le paramètre %(k1)s n'est pas trouvé 
 """),
 
 93 : _("""
- le parametre  %(k1)s n''existe pas dans la table %(k2)s
+ le paramètre  %(k1)s n'existe pas dans la table %(k2)s
  .il est necessaire. %(k3)s
  veuillez consulter la documentaion  de la commande. %(k4)s
 """),
 
 99 : _("""
- erreur dans les donneesparametre :  %(k1)s   plusieurs valeurs trouvees %(k2)s
+ erreur dans les données
+ parametre :  %(k1)s   plusieurs valeurs trouvees %(k2)s
  pour le parametre  %(k3)s
  et le parametre  %(k4)s
 """),
index c2001f3e42d035508c404cc7ecb25337276fcdf7..2c929de6d15435517fe96ec4143323abf7215812 100644 (file)
-#@ MODIF utilitai8 Messages  DATE 08/10/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF utilitai8 Messages  DATE 19/02/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.        
 # ======================================================================
 
 def _(x) : return x
 
-cata_msg={
-1: _("""
+cata_msg = {
+
+1 : _("""
  Rien que des constantes pour une nappe.
  Nombre de fonctions constantes %(i1)d
 """),
 
-2: _("""
+2 : _("""
  Paramètres différents.
  fonction %(k1)s de paramètre %(k2)s au lieu de %(k3)s
 """),
 
-3: _("""
+3 : _("""
  Le nombre de paramètres  %(i1)d  est différent du nombre de fonctions  %(i2)d
 """),
 
-4: _("""
+4 : _("""
  Il n'y a pas un nombre pair de valeurs, "DEFI_FONCTION" occurence  %(i1)d
 """),
 
-5: _("""
+5 : _("""
  Les abscisses de la fonction  %(k1)s ont ete réordonnées.
 """),
 
-6: _("""
+6 : _("""
  L'ordre des abscisses de la fonction numéro  %(i1)d a ete inversé .
 """),
 
-7: _("""
+7 : _("""
  Appel erroné
   archivage numéro :  %(i1)d
   code retour de rsexch :  %(i2)d
 """),
 
-8: _("""
+8 : _("""
  Lecture des champs:
 """),
 
-9: _("""
+9 : _("""
    Numéro d'ordre :  %(i1)d             inst :  %(r1)g
 """),
 
-10: _("""
-
-"""),
-
-11: _("""
- Erreur de programmation
-"""),
-
-12: _("""
- Erreur de programmation
-"""),
-
-13: _("""
- Trop grande valeur pour i2
-"""),
-
-14: _("""
+14 : _("""
  Champ  inexistant  %(k1)s
 """),
 
-15: _("""
+15 : _("""
   ou  %(k1)s
 """),
 
-16: _("""
+16 : _("""
   NUME_ORDRE  %(i1)d  on ne calcule pas l'option  %(k1)s
 """),
 
-17: _("""
+17 : _("""
  pas de NUME_ORDRE trouvé pour le numéro  %(i1)d
 """),
 
-18: _("""
+18 : _("""
  pas de champs trouvé pour l'instant  %(r1)g
 """),
 
-19: _("""
+19 : _("""
  Plusieurs pas de temps trouvés  dans l'intervalle de précision
  autour de l'instant  %(r1)g
  nombre de pas de temps trouvés  %(i1)d
  Conseil : modifier le paramètre PRECISION
 """),
 
-20: _("""
+20 : _("""
  Erreur dans les données :
  Le paramètre existe déja:  %(k1)s  dans la table:  %(k2)s
 """),
 
-21: _("""
+21 : _("""
  Erreur dans les données
  Le type du paramètre:  %(k1)s
   est différent pour le paramètre:  %(k2)s
   et le paramètre:  %(k3)s
 """),
 
-22: _("""
+22 : _("""
   Valeur de M maximale atteinte pour résoudre F(M)=0,
   Conseil : Vérifiez vos listes d'instants de rupture, M maximal admissible =  %(r1)f
 """),
 
-23: _("""
+23 : _("""
   Valeur de M minimale atteinte pour résoudre F(M)=0,
   Conseil : Vérifiez vos listes d'instants de rupture, valeur de M =  %(r1)f
 """),
 
-24: _("""
+24 : _("""
  Le champ demandé est incompatible avec le type de résultat
   type de résultat : %(k1)s
       nom du champ : %(k2)s
 """),
 
-25: _("""
+25 : _("""
  Le nombre d'astérisques pour les noms de fichiers ensight de pression est trop grand il est limite à 7
   nombre d'asterisques : %(i1)d
 """),
 
-26: _("""
+26 : _("""
  Appel erroné  résultat :  %(k1)s   archivage numéro :  %(i1)d
    code retour de rsexch :  %(i2)d
    problème champ :  %(k2)s
 """),
 
-27: _("""
+27 : _("""
  Appel erroné  résultat :  %(k1)s   archivage numéro :  %(i1)d
    code retour de rsexch :  %(i2)d
    problème champ :  %(k2)s
 """),
 
-28: _("""
+28 : _("""
  Fin de fichier dans la lecture des fichiers ensight
 """),
 
-29: _("""
+29 : _("""
  Erreur dans la lecture du fichier ensight
 """),
 
-30: _("""
+30 : _("""
   problème pour le fichier:  %(k1)s
 """),
 
-31: _("""
+31 : _("""
   Option deja calculée:  option  %(k1)s  NUME_ORDRE  %(i1)d
   On la recalcule car les données peuvent etre différentes
 
 """),
 
-32: _("""
+32 : _("""
  L'extrapolation ne peut etre faite à gauche (interdit).
 """),
 
-33: _("""
+33 : _("""
  L'extrapolation ne peut etre faite à droite (interdit).
 """),
 
-34: _("""
+34 : _("""
  L'interpolation ne peut etre faite car aucun champ de : %(k1)s n'est calcule.
 """),
 
-35: _("""
+35 : _("""
  La variable d'accès %(k1)s est invalide pour une interpolation.
 """),
 
-36: _("""
+36 : _("""
  Ce nom de champ est interdit : %(k1)s pour une interpolation.
 """),
 
-37: _("""
+37 : _("""
  Résultat: %(k1)s nom_cham: %(k2)s  variable d'accès: %(k3)s valeur: %(r1)g
 
 """),
 
-
-
-
-38: _("""
+38 : _("""
  Plusieurs champs correspondant à l'accès demandé pour la sd_resultat  %(k1)s
 """),
 
-39: _("""
+39 : _("""
  accès %(k1)s : %(i1)d
 """),
 
-40: _("""
+40 : _("""
  accès %(k1)s : %(r1)g
 """),
 
-41: _("""
+41 : _("""
  accès %(k1)s  : %(k1)s
 """),
 
-
-
-
-46: _("""
+46 : _("""
   nombre : %(i1)d NUME_ORDRE retenus : %(i2)d, %(i3)d, %(i4)d
 """),
 
-47: _("""
+47 : _("""
  Pas de champ correspondant à un accès demandé pour la sd_resultat  %(k1)s
 """),
 
-
-
-
-55: _("""
-
-"""),
-
-56: _("""
+56 : _("""
  pas de champs pour l'accès  %(k1)s de valeur  %(r1)g
 """),
 
-57: _("""
+57 : _("""
 Erreur utilisateur :
   Plusieurs champs correspondent à l'accès demandé pour la sd_résultat  %(k1)s
   - accès "INST"             : %(r1)19.12e
@@ -242,11 +214,11 @@ Conseil:
   Reserrer la précision avec le mot clé PRECISION
 """),
 
-58: _("""
+58 : _("""
  Pas de champs pour l'accès  %(k1)s de valeur  %(r1)g
 """),
 
-59: _("""
+59 : _("""
 Erreur utilisateur :
   Plusieurs champs correspondent à l'accès demandé pour la sd_résultat  %(k1)s
   - accès "FREQ"             : %(r1)19.12e
@@ -255,21 +227,20 @@ Conseil:
   Reserrer la précision avec le mot clé PRECISION
 """),
 
-60: _("""
+60 : _("""
  Erreur dans les données pour le champ  %(k1)s
 """),
 
-61: _("""
+61 : _("""
  Aucun noeud ne supporte
 """),
 
-62: _("""
+62 : _("""
  Aucune maille ne supporte
 """),
 
-63: _("""
+63 : _("""
   les composantes  %(k1)s, %(k2)s, %(k3)s, %(k4)s, ...
 """),
 
-
 }
index 22bb082b2508f4738b234ced03f77ab062753de3..27ecb6195e7f037edbb87d68fd127cae03915807 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF xfem Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF xfem Messages  DATE 21/04/2008   AUTEUR GENIAUT S.GENIAUT 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -31,11 +31,7 @@ cata_msg={
      (ou écarter les fissures). 
 """),
 
-2: _("""
-  -> Le nombre de fissures autorisées avec X-FEM est limité à (i1)i
-  -> Risque & Conseil: 
-     Il faut réduire le nombre de fissures introduites.
-"""),
+
 
 3: _("""
   -> Le modèle %(k1)s est incompatible avec la méthode X-FEM.
@@ -65,12 +61,39 @@ cata_msg={
      Veuillez réduire la taille du maillage.
 """),
 
+9: _("""
+     L'option K_G_MODA n'est pas autorisée avec une fissure définie 
+     par la commande DEFI_FISS_XFEM (méthode X-FEM).
+"""),
+
+10: _("""
+     La direction du champ theta n'a pas été donnée. La direction automatique
+     est une direction variable, basée sur le grandient de la level set tangente.
+"""),
+
 11: _("""
   -> On a trouvé plus de 2 points de fond de fissure, ce qui est impossible en 2d.
   -> Risque & Conseil:
      Veuillez revoir la définition des level sets.
 """),
 
+12: _("""
+  Le gradient de la level set tangente est nul au noeud %(k1)s.
+  Ceci est certainement du à un point singulier dans la définition de la levet set.
+  Il vaut veuiller à ce que ce point singulier ne soit pas inclus dans la couronne
+  d'intégration du champ theta. 
+  Conseil : réduisez la taille de la couronne du champ theta : (mot-clés RSUP et RINF).
+"""),
+
+13: _("""
+     Dans le modèle, des mailles SEG2 ou SEG3 possèdent des noeuds enrichis par X-FEM.
+     Ceci n'est pas encore possible en 3D.
+     Conseils : si ces mailles sont importantes pour le calcul (charge linéique...), il faut
+     les mettre loin de de la fissure.
+     Si ces mailles ne servent pas pour le calcul, il vaut mieux ne pas les affecter dans le modèle,
+     ou bien les supprimer du maillage.
+"""),
+
 14: _("""
      On ne peut pas appliquer un cisaillement 2d sur les lèvres d'une fissure X-FEM.
 """),
index 1695dfa428dc481c1ebcbc7993cb1fb4c39e1347..1eabad7280bdc77c9894202c1f530933bc8cdbc9 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF xfem2 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF xfem2 Messages  DATE 18/03/2008   AUTEUR CNGUYEN C.NGUYEN 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -32,16 +32,6 @@ cata_msg = {
      Veuillez considérer l'une des deux modélisations dans AFFE_MODELE.
 """),
 
-3 : _("""
-  -> Pour le traitement du contact avec X-FEM, le solveur mumps est vivement
-     recommandé.
-  -> Risque & Conseil:
-     Pour XFEM, la matrice produite est parfois non définie positive. 
-     Seul un solveur qui pivote peut alors résoudre le problème.
-     Il est donc préférable d'utiliser MUMPS (mot-clef SOLVEUR) pour ne pas finir
-     en erreur du type "PIVOT NUL" avec le solveur MULT_FRONT ou LDLT.
-"""),
-
 4 : _("""
   -> Le type de formulation du contact (DISCRET/CONTINUE/XFEM) doit etre le meme pour
      toutes les zones de contact.
@@ -80,14 +70,6 @@ cata_msg = {
      Veuillez activer CONTACT='OUI' dans MODI_MODELE_XFEM.
 """),
 
-10 : _("""
-  -> Le modèle %(k1)s transmis dans MECA_NON_LINE n'est pas un modèle
-     XFEM. 
-  -> Risque & Conseil:
-     Veuillez utiliser la commande MODI_MODELE_XFEM pour fournir à 
-     MECA_NON_LINE un modèle XFEM.
-"""),
-
 11 : _("""
   -> Le modèle %(k1)s transmis dans AFFE_CHAR_MECA/CONTACT_XFEM n'est pas 
      le modèle XFEM utilisé dans le AFFE_CHAR_MECA/CONTACT nommé %(k2)s.
@@ -133,14 +115,6 @@ cata_msg = {
      Veuillez revoir la définition des level sets.
 """),
 
-18 : _("""
-  -> Lors de l'enregistrement du champ d'archivage du contact, il s'est avéré
-     que les valeurs de contact au noeud %(k1)s différents selon la maille sur
-     laquelle se trouve ce noeud.
-  -> Risque & Conseil :
-     Ce message est normal si le contact est activé sur la fissure.
-"""),
-
 19 : _("""
   -> Lors de l'orientation des points du fond de fissure, le point du fond de
      fissure initial (PFON_INI) est trop loin du fond de fissure.
@@ -187,6 +161,13 @@ cata_msg = {
      Veuillez redéfinir VECT_ORIE.
 """),
 
+39 : _("""
+  -> Deux points du fond de fissure sont très proches ou coincident.
+  -> Risque & Conseil :
+     Vérifier les définitions des level sets et la liste des points du fond
+     de fissure trouvés. Si c'est normal, contactez votre correspondant.
+"""),
+
 51 : _("""
   -> Il n'y a aucune maille enrichie.
   -> Risque & Conseil:
index ef1058dfcda080b56fec21d70bdec988746cf8f6..f4e39ca1028f16fbb3f9d45ef401480389b82713 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF co_fonction SD  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF co_fonction SD  DATE 22/04/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -22,6 +22,7 @@ import Accas
 from SD import *
 from sd_fonction import sd_fonction_aster
 
+import os
 import Numeric
 from math import pi
 
@@ -74,7 +75,8 @@ class fonction_class(ASSD):
       from Utilitai.Graph import Graph
       gr=Graph()
       gr.AjoutCourbe(Val=self.Valeurs(),
-            Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU']])
+            Lab=[self.Parametres()['NOM_PARA'],self.Parametres()['NOM_RESU']],
+            Leg=os.linesep.join(self.TITR.get()) )
       gr.Trace(FORMAT=FORMAT,**kargs)
 
 # -----------------------------------------------------------------------------
@@ -224,7 +226,8 @@ class fonction_c(fonction_class, sd_fonction_aster):
       para = self.Parametres()
       gr=Graph()
       gr.AjoutCourbe(Val=self.Valeurs(),
-       Lab=[para['NOM_PARA'], '%s_R' % para['NOM_RESU'], '%s_I' % para['NOM_RESU']])
+         Lab=[para['NOM_PARA'], '%s_R' % para['NOM_RESU'], '%s_I' % para['NOM_RESU']],
+         Leg=os.linesep.join(self.TITR.get()) )
       gr.Trace(FORMAT=FORMAT,**kargs)
    def __call__(self,val):
       ### Pour EFICAS : substitution de l'instance de classe
@@ -300,15 +303,15 @@ class nappe_sdaster(fonction_class, sd_fonction_aster):
          'NOM_RESU'      : prol[3][0:16].strip(),
          'PROL_DROITE'   : TypeProl[prol[4][1]],
          'PROL_GAUCHE'   : TypeProl[prol[4][0]],
-         'NOM_PARA_FONC' : prol[5][0:4].strip(),
+         'NOM_PARA_FONC' : prol[6][0:4].strip(),
       }
       lparf=[]
-      nbf=(len(prol)-6)/2
+      nbf=(len(prol)-7)/2
       for i in range(nbf):
          dicf={
-            'INTERPOL_FONC'    : [prol[6+i*2][0:3],prol[6+i*2][4:7]],
-            'PROL_DROITE_FONC' : TypeProl[prol[7+i*2][1]],
-            'PROL_GAUCHE_FONC' : TypeProl[prol[7+i*2][0]],
+            'INTERPOL_FONC'    : [prol[7+i*2][0:3],prol[7+i*2][4:7]],
+            'PROL_DROITE_FONC' : TypeProl[prol[8+i*2][1]],
+            'PROL_GAUCHE_FONC' : TypeProl[prol[8+i*2][0]],
          }
          lparf.append(dicf)
       return [dico,lparf]
@@ -324,5 +327,7 @@ class nappe_sdaster(fonction_class, sd_fonction_aster):
       lv=self.Valeurs()[1]
       dp=self.Parametres()[0]
       for lx,ly in lv:
-         gr.AjoutCourbe(Val=[lx,ly], Lab=[dp['NOM_PARA_FONC'],dp['NOM_RESU']])
+         gr.AjoutCourbe(Val=[lx,ly], Lab=[dp['NOM_PARA_FONC'],dp['NOM_RESU']],
+            Leg=os.linesep.join(self.TITR.get()) )
       gr.Trace(FORMAT=FORMAT,**kargs)
+
index 41777e75af83ad4f7eb42ee2e4cd696fb00057d3..c95560a43dafaa16ea37988060cb165255f63d3f 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF co_macr_elem_dyna SD  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF co_macr_elem_dyna SD  DATE 17/01/2008   AUTEUR ZENTNER I.ZENTNER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -24,17 +24,33 @@ from sd_macr_elem_dyna import sd_macr_elem_dyna
 
 import Numeric
 
+def VALE_triang2array(vect_VALE, dim, typ):
+   """Conversion (par recopie) de l'objet .VALE decrivant une matrice pleine
+   par sa triangulaire sup en Numeric.array plein.
+   """
+   triang_sup = Numeric.array(vect_VALE)
+   assert dim*(dim+1)/2 == len(triang_sup), \
+         'Matrice non pleine : %d*(%d+1)/2 != %d' % (dim, dim, len(triang_sup))
+
+   valeur = Numeric.zeros([dim, dim], typ)
+   for i in range(1, dim+1):
+     for j in range(1, i+1):
+       k = i*(i-1)/2 + j
+       valeur[j-1, i-1]=triang_sup[k-1]
+   valeur = valeur + Numeric.transpose(valeur)
+   for i in range(dim):
+      valeur[i, i] = 0.5 * valeur[i, i]
+
+   return valeur
+
 # -----------------------------------------------------------------------------
 class macr_elem_dyna(ASSD, sd_macr_elem_dyna):
    def NBRE_MODES(self) :
       """ retourne le nombre de modes total, dynamiques et d'interface """
       if self.par_lot() :
          raise Accas.AsException("Erreur dans macr_elem_dyna.NBRE_MODES en PAR_LOT='OUI'")
-      nommacr=self.get_name()
-      ncham=nommacr+(8-len(nommacr))*' '
-      ncham=nommacr+(8-len(nommacr))*' '+'.MAEL'
-      nombase=aster.getvectjev(ncham+'_REFE')[0]
-      nbmode=Numeric.array(aster.getvectjev(nombase[0:8]+(19-len(nombase[0:8]))*' '+'.UTIL'))
+      nombase = self.MAEL_REFE.get()[0]
+      nbmode=Numeric.array(aster.getvectjev('%-19s' % nombase[0:8] + '.UTIL'))
       nbmodtot=nbmode[1]
       nbmoddyn=nbmode[2]
       nbmodint=nbmode[3]
@@ -51,32 +67,21 @@ class macr_elem_dyna(ASSD, sd_macr_elem_dyna):
       if self.par_lot() :
          raise Accas.AsException("Erreur dans macr_elem_dyna.EXTR_MATR_GENE en PAR_LOT='OUI'")
 
-      nommacr=self.get_name()
       if (typmat=='MASS_GENE') :
-         ext='.MAEL_MASS'
+         macr_elem = self.MAEL_MASS
       elif (typmat=='RIGI_GENE') :
-         ext='.MAEL_RAID'
+         macr_elem = self.MAEL_RAID
       elif (typmat=='AMOR_GENE') :
-         ext='.MAEL_AMOR'
+         macr_elem = self.MAEL_AMOR
       else:
          raise Accas.AsException("Le type de la matrice est incorrect")
-      ncham=nommacr+(8-len(nommacr))*' '+ext
-      desc=Numeric.array(aster.getvectjev(ncham+'_DESC'))
 
+      desc=Numeric.array(macr_elem.DESC.get())
       # On teste si le DESC du vecteur existe
       if (desc==None):
-         raise Accas.AsException("L'objet matrice n'existe pas ou \
-         est mal cree par Code Aster")
+         raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster")
 
-      tmp=Numeric.array(aster.getvectjev(ncham+'_VALE'))
-      matrice=Numeric.zeros([desc[1],desc[1]],Numeric.Float)
-      for j in range(desc[1]+1):
-         for i in range(j):
-            k=j*(j-1)/2+i
-            matrice[j-1,i]=tmp[k]
-      matrice=(matrice+Numeric.transpose(matrice))
-      for i in range(desc[1]):
-         matrice[i,i]=0.5*matrice[i,i]
+      matrice = VALE_triang2array(macr_elem.VALE.get(), desc[1], Numeric.Float)
       return matrice
 
    def RECU_MATR_GENE(self,typmat,matrice) :
@@ -88,46 +93,38 @@ class macr_elem_dyna(ASSD, sd_macr_elem_dyna):
          Attributs ne retourne rien """
       if self.par_lot() :
          raise Accas.AsException("Erreur dans macr_elem_dyna.RECU_MATR_GENE en PAR_LOT='OUI'")
-      from Utilitai.Utmess import UTMESS
-
-      # avertissement generique
-      UTMESS('A','SDVERI_3')
 
       nommacr=self.get_name()
       if (typmat=='MASS_GENE') :
-         ext='.MAEL_MASS'
+         macr_elem = self.MAEL_MASS
       elif (typmat=='RIGI_GENE') :
-         ext='.MAEL_RAID'
+         macr_elem = self.MAEL_RAID
       elif (typmat=='AMOR_GENE') :
-         ext='.MAEL_AMOR'
+         macr_elem = self.MAEL_AMOR
       else:
-         raise Accas.AsException("Le type de la matrice \
-                                 est incorrect")
-      ncham=nommacr+(8-len(nommacr))*' '+ext
-      desc=Numeric.array(aster.getvectjev(ncham+'_DESC'))
+         raise Accas.AsException("Le type de la matrice est incorrect")
+      nom_vale = macr_elem.VALE.nomj()
+      desc=Numeric.array(macr_elem.DESC.get())
 
       # On teste si le DESC de la matrice jeveux existe
       if (desc==None):
-         raise Accas.AsException("L'objet matrice n'existe pas ou \
-                                 est mal cree par Code Aster")
+         raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster")
       Numeric.asarray(matrice)
 
       # On teste si la matrice python est de dimension 2
       if (len(Numeric.shape(matrice))<>2):
-         raise Accas.AsException("La dimension de la matrice \
-                                 est incorrecte")
+         raise Accas.AsException("La dimension de la matrice est incorrecte")
 
       # On teste si les tailles de la matrice jeveux et python sont identiques
       if (tuple([desc[1],desc[1]])<>Numeric.shape(matrice)) :
-         raise Accas.AsException("La dimension de la matrice \
-                                 est incorrecte")
+         raise Accas.AsException("La dimension de la matrice est incorrecte")
       taille=desc[1]*desc[1]/2.0+desc[1]/2.0
       tmp=Numeric.zeros([int(taille)],Numeric.Float)
       for j in range(desc[1]+1):
          for i in range(j):
             k=j*(j-1)/2+i
             tmp[k]=matrice[j-1,i]
-      aster.putvectjev(ncham+'_VALE',len(tmp),tuple((
-      range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1)
+      aster.putvectjev(nom_vale,len(tmp),tuple((
+         range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1)
       return
 
index db745dcca9b220aeed27d2fb2f2075a0cc828694..3d7bbb9af87f7fbce55f7dcbd773d41d027b7be6 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF co_matr_asse_gene SD  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF co_matr_asse_gene SD  DATE 17/01/2008   AUTEUR ZENTNER I.ZENTNER 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -23,6 +23,39 @@ from SD import *
 from sd_matr_asse_gene import sd_matr_asse_gene
 
 import Numeric
+import math
+
+def VALM_triang2array(dict_VALM, dim, typ):
+   """Conversion (par recopie) de l'objet .VALM decrivant une matrice pleine
+   par sa triangulaire inf (et parfois triang sup) en Numeric.array plein.
+   """
+   # stockage symetrique ou non (triang inf+sup)
+   sym = len(dict_VALM) == 1
+   triang_sup = Numeric.array(dict_VALM[1])
+   assert dim*(dim+1)/2 == len(triang_sup), \
+         'Matrice non pleine : %d*(%d+1)/2 != %d' % (dim, dim, len(triang_sup))
+   if sym:
+      triang_inf = triang_sup
+   else:
+      triang_inf = Numeric.array(dict_VALM[2])
+   valeur=Numeric.zeros([dim, dim], typ)
+   for i in range(1, dim+1):
+     for j in range(1, i+1):
+       k = i*(i-1)/2 + j
+       valeur[i-1, j-1]=triang_inf[k-1]
+       valeur[j-1, i-1]=triang_sup[k-1]
+   return valeur
+
+def VALM_diag2array(dict_VALM, dim, typ):
+   """Conversion (par recopie) de l'objet .VALM decrivant une matrice
+   diagonale en Numeric.array plein.
+   """
+   diag = Numeric.array(dict_VALM[1])
+   assert dim == len(diag), 'Dimension incorrecte : %d != %d' % (dim, len(diag))
+   valeur=Numeric.zeros([dim, dim], typ)
+   for i in range(dim):
+      valeur[i,i] =  diag[i]
+   return valeur
 
 # -----------------------------------------------------------------------------
 class matr_asse_gene(ASSD, sd_matr_asse_gene):
@@ -38,30 +71,18 @@ class matr_asse_gene_r(matr_asse_gene):
     if self.par_lot():
        raise Accas.AsException("Erreur dans matr_asse_gene.EXTR_MATR_GENE en PAR_LOT='OUI'")
 
-    ncham=self.get_name()
-    ncham=ncham+(8-len(ncham))*' '
-    desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC'))
+    desc=Numeric.array(self.DESC.get())
     # On teste si le DESC de la matrice existe
     if (desc==None):
-       raise Accas.AsException("L'objet matrice n'existe pas ou \
-                                est mal cree par Code Aster")
+       raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster")
     # Si le stockage est plein
     if desc[2]==2 :
-      tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALM')[1])
-      valeur=Numeric.zeros([desc[1],desc[1]],Numeric.Float)
-      for j in range(desc[1]+1):
-        for i in range(j):
-          k=j*(j-1)/2+i
-          valeur[j-1,i]=tmp[k]
-      valeur=(valeur+Numeric.transpose(valeur))
-      for i in range(desc[1]):
-        valeur[i,i]=0.5*valeur[i,i]
+       valeur = VALM_triang2array(self.VALM.get(), desc[1], Numeric.Float)
+
     # Si le stockage est diagonal
     elif desc[2]==1 :
-      tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALM')[1])
-      valeur=Numeric.zeros([desc[1],desc[1]],Numeric.Float)
-      for i in range(desc[1]):
-        valeur[i,i]=tmp[i]
+       valeur = VALM_diag2array(self.VALM.get(), desc[1], Numeric.Float)
+
     # Sinon on arrete tout
     else:
       raise KeyError
@@ -73,19 +94,13 @@ class matr_asse_gene_r(matr_asse_gene):
         Attributs ne retourne rien """
     if self.par_lot():
        raise Accas.AsException("Erreur dans matr_asse_gene.RECU_MATR_GENE en PAR_LOT='OUI'")
-    from Utilitai.Utmess import UTMESS
-
-    # avertissement generique
-    UTMESS('A','SDVERI_3')
 
     ncham=self.get_name()
-    ncham=ncham+(8-len(ncham))*' '
-    desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC'))
+    desc=Numeric.array(self.DESC.get())
 
     # On teste si le DESC de la matrice existe
     if (desc==None):
-       raise Accas.AsException("L'objet matrice n'existe pas ou \
-                                est mal cree par Code Aster")
+       raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster")
     Numeric.asarray(matrice)
 
     # On teste si la dimension de la matrice python est 2
@@ -104,14 +119,14 @@ class matr_asse_gene_r(matr_asse_gene):
         for i in range(j):
           k=j*(j-1)/2+i
           tmp[k]=matrice[j-1,i]
-      aster.putcolljev(ncham+(19-len(ncham))*' '+'.VALM',len(tmp),tuple((\
+      aster.putcolljev('%-19s.VALM' % ncham,len(tmp),tuple((\
       range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1)
     # Si le stockage est diagonal
     elif desc[2]==1 :
       tmp=Numeric.zeros(desc[1],Numeric.Float)
       for j in range(desc[1]):
           tmp[j]=matrice[j,j]
-      aster.putcolljev(ncham+(19-len(ncham))*' '+'.VALM',len(tmp),tuple((\
+      aster.putcolljev('%-19s.VALM' % ncham,len(tmp),tuple((\
       range(1,len(tmp)+1))),tuple(tmp),tuple(tmp),1)
     # Sinon on arrete tout
     else:
@@ -128,32 +143,20 @@ class matr_asse_gene_c(matr_asse_gene):
     if self.par_lot():
        raise Accas.AsException("Erreur dans matr_asse_gene_c.EXTR_MATR_GENE en PAR_LOT='OUI'")
 
-    ncham=self.get_name()
-    ncham=ncham+(8-len(ncham))*' '
-    desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC'))
-    if (desc==None):
-       raise Accas.AsException("L'objet matrice n'existe pas ou \
-       est mal cree par Code Aster ")
+    desc = Numeric.array(self.DESC.get())
+    if desc == None:
+       raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster ")
     # Si le stockage est plein
-    if desc[2]==2 :
-      tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALM')[1])
-      valeur=Numeric.zeros([desc[1],desc[1]],Numeric.Complex)
-      for j in range(desc[1]+1):
-        for i in range(j):
-          k=j*(j-1)/2+i
-          valeur[j-1,i]=tmp[k]
-      valeur=(valeur+Numeric.transpose(valeur))
-      for i in range(desc[1]):
-        valeur[i,i]=0.5*valeur[i,i]
+    if desc[2] == 2 :
+       valeur = VALM_triang2array(self.VALM.get(), desc[1], Numeric.Complex)
+
     # Si le stockage est diagonal
     elif desc[2]==1 :
-      tmp=Numeric.array(aster.getcolljev(ncham+(19-len(ncham))*' '+'.VALM')[1])
-      valeur=Numeric.zeros([desc[1],desc[1]],Numeric.Complex)
-      for i in range(desc[1]):
-        valeur[i,i]=tmp[i]
+       valeur = VALM_diag2array(self.VALM.get(), desc[1], Numeric.Complex)
+
     # Sinon on arrete tout
     else:
-      raise KeyError
+       raise KeyError
     return valeur
 
   def RECU_MATR_GENE(self,matrice) :
@@ -162,20 +165,14 @@ class matr_asse_gene_c(matr_asse_gene):
         Attributs ne retourne rien """
     if self.par_lot():
        raise Accas.AsException("Erreur dans matr_asse_gene_c.RECU_MATR_GENE en PAR_LOT='OUI'")
-    from Utilitai.Utmess import UTMESS
-
-    # avertissement generique
-    UTMESS('A','SDVERI_3')
 
     Numeric.asarray(matrice)
     ncham=self.get_name()
-    ncham=ncham+(8-len(ncham))*' '
-    desc=Numeric.array(aster.getvectjev(ncham+(19-len(ncham))*' '+'.DESC'))
+    desc=Numeric.array(self.DESC.get())
 
     # On teste si le DESC de la matrice existe
     if (desc==None):
-       raise Accas.AsException("L'objet matrice n'existe pas ou \
-       est mal cree par Code Aster")
+       raise Accas.AsException("L'objet matrice n'existe pas ou est mal cree par Code Aster")
     Numeric.asarray(matrice)
 
     # On teste si la dimension de la matrice python est 2
@@ -196,7 +193,7 @@ class matr_asse_gene_c(matr_asse_gene):
           k=j*(j-1)/2+i
           tmpr[k]=matrice[j-1,i].real
           tmpc[k]=matrice[j-1,i].imag
-      aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALM',len(tmpr),tuple((\
+      aster.putvectjev('%-19s.VALM' % ncham, len(tmpr), tuple((\
                        range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1)
     # Si le stockage est diagonal
     elif desc[2]==1 :
@@ -205,7 +202,7 @@ class matr_asse_gene_c(matr_asse_gene):
       for j in range(desc[1]):
           tmpr[j]=matrice[j,j].real
           tmpc[j]=matrice[j,j].imag
-      aster.putvectjev(ncham+(19-len(ncham))*' '+'.VALM',len(tmpr),tuple((\
+      aster.putvectjev('%-19s.VALM' % ncham,len(tmpr),tuple((\
                        range(1,len(tmpr)+1))),tuple(tmpr),tuple(tmpc),1)
     # Sinon on arrete tout
     else:
index 1c48015acb604a81d5ddf17792a309ab24c3eea8..ae36e17ea8ee3367456f9c36b491f1443c17719f 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF co_vect_asse_gene SD  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+#@ MODIF co_vect_asse_gene SD  DATE 14/01/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -45,10 +45,6 @@ class vect_asse_gene(ASSD, sd_cham_gene):
          Attributs ne retourne rien """
       if self.par_lot():
          raise Accas.AsException("Erreur dans vect_asse_gene_r.RECU_VECT_GENE en PAR_LOT='OUI'")
-      from Utilitai.Utmess import UTMESS
-
-      # avertissement generique
-      UTMESS('A','SDVERI_3')
 
       Numeric.asarray(vecteur)
       ncham=self.get_name()
@@ -85,10 +81,6 @@ class vect_asse_gene(ASSD, sd_cham_gene):
          Attributs ne retourne rien """
       if self.par_lot():
          raise Accas.AsException("Erreur dans vect_asse_gene_c.RECU_VECT_GENE en PAR_LOT='OUI'")
-      from Utilitai.Utmess import UTMESS
-
-      # avertissement generique
-      UTMESS('A','SDVERI_3')
 
       Numeric.asarray(vecteur)
       ncham=self.get_name()
index ced947ab34b69f8ae252ad0d8aa77cc26ed9c5a4..d5fd1595e7b9213e1cbed1da2a65a57ae7f77f2b 100644 (file)
@@ -1,21 +1,21 @@
-#@ MODIF sd_cham_elem SD  DATE 13/02/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_cham_elem SD  DATE 18/03/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.
 # ======================================================================
 
 from SD import *
@@ -29,11 +29,21 @@ class sd_cham_elem(sd_titre):
     nomj = SDNom(fin=19)
     CELD = AsVI(docu='CHML', )
     CELV = AsObject(genr='V', xous='S', type=Parmi('C', 'I', 'K', 'R'), ltyp=Parmi(4,8,16), )
-    CELK = AsVK24(lonmax=6, )
+    CELK = AsVK24(lonmax=7, )
+
+
+    def exists(self):
+        # retourne "vrai" si la SD semble exister (et donc qu'elle peut etre vérifiée)
+        return self.CELK.exists
+
+    def check_1(self, checker):
+        if not self.exists() : return
+        celk=self.CELK.get_stripped()
+        sd2=sd_ligrel(celk[0]); sd2.check(checker)
+        assert celk[1] != '' , celk
+        assert celk[2] in ('ELNO','ELGA','ELEM') , celk
+        assert celk[4] in ('','INF','MOY','SUP') , celk
+        assert celk[5] != '' , celk
+        assert celk[6] in ('MPI_COMPLET','MPI_INCOMPLET') , celk
 
-    # indirection vers le LIGREL :
-    def check_cham_elem_i_LIGREL(self, checker):
-        if not self.CELK.get() : return
-        nom=self.CELK.get()[0]
-        sd2=sd_ligrel(nom); sd2.check(checker)
 
index 4ec3efa778e258255d23aff9abbbd9b173b1f74a..42ed3f331a2e15df3504f403c3d6276bb94e7279 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_cham_mater SD  DATE 10/07/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_cham_mater SD  DATE 28/01/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -21,6 +21,7 @@
 from SD import *
 
 from SD.sd_carte import sd_carte
+from SD.sd_champ import sd_champ
 from SD.sd_mater import sd_mater
 from SD.sd_compor import sd_compor
 from SD.sd_util import *
@@ -56,25 +57,41 @@ class sd_cham_mater_varc(AsBase):
         for nom in lnom :
            nom2=self.nomj()[:8]+'.'+nom+'.1'
            sd2=sd_carte(nom2)  ; sd2.check(checker)
+
            nom2=self.nomj()[:8]+'.'+nom+'.2'
            sd2=sd_carte(nom2)  ; sd2.check(checker)
 
+           # dans le cas de la temperature, on cree parfois des cartes sous-terraines
+           # (lorsque l'on indique VALE_REF sans donner de CHAMP_GD/EVOL) :
+           if nom.strip()=='TEMP':
+               desc=sd2.DESC.get()
+               ngdmax=desc[1]
+               ngdedi=desc[2]
+               vale=sd2.VALE.get_stripped()
+               ncmp=len(vale)/ngdmax
+               assert len(vale)==ncmp*ngdmax, (ngdmax, ncmp, vale)
+               for kedit in range(ngdedi):
+                   assert vale[ncmp*kedit+0]=='TEMP' , (vale, kedit,ncmp)
+                   if vale[ncmp*kedit+1]=='CHAMP' :
+                      sd3=sd_champ(vale[ncmp*kedit+2]) ; sd3.check(checker)
+
+
     # vérification des objets .CVRC* :
     def check_CVRC(self, checker):
         if not self.exists() : return
-        xcmp=self.CVRCCMP.get()
-        xnom=self.CVRCNOM.get()
-        xgd=self.CVRCGD.get()
-        xvarc=self.CVRCVARC.get()
-        xdef=self.CVRCDEF.get()
-
-        # Les 5 objets ont la meme longueur > 0 :
-        nbcvrc=len(xnom)
+        cvrccmp=self.CVRCCMP.get()
+        cvrcnom =self.CVRCNOM.get_stripped()
+        cvrcgd  =self.CVRCGD.get_stripped()
+        cvrcvarc=self.CVRCVARC.get_stripped()
+        cvrcdef =self.CVRCDEF.get()
+
+        # Les 6 objets ont la meme longueur > 0 :
+        nbcvrc=len(cvrcnom)
         assert nbcvrc > 0, (self)
-        assert len(xcmp)  == nbcvrc , (xcmp,xnom,self)
-        assert len(xgd)   == nbcvrc , (xgd,xnom,self)
-        assert len(xvarc) == nbcvrc , (xvarc,xnom,self)
-        assert len(xdef)  == nbcvrc , (xdef,xnom,self)
+        assert len(cvrccmp)  == nbcvrc , (cvrccmp,cvrcnom,self)
+        assert len(cvrcgd)   == nbcvrc , (cvrcgd,cvrcnom,self)
+        assert len(cvrcvarc) == nbcvrc , (cvrcvarc,cvrcnom,self)
+        assert len(cvrcdef)  == nbcvrc , (cvrcdef,cvrcnom,self)
 
         # Les 4 objets sont "non blancs" :
         sdu_tous_non_blancs(self.CVRCCMP,checker)
@@ -87,6 +104,7 @@ class sd_cham_mater_varc(AsBase):
 
 
 
+
 class sd_cham_mater(AsBase):
 #=============================
     nomj = SDNom(fin=8)
@@ -95,10 +113,6 @@ class sd_cham_mater(AsBase):
     # affectées sur les mailles du maillage.
     CHAMP_MAT = sd_carte()
 
-    # La carte TEMPE_REF n'existe pas si AFFE_VARC/NOM_VARC='TEMP' :
-    # (voir routine cmtref.f)
-    TEMPE_REF = Facultatif(sd_carte())
-
     # si AFFE_VARC :
     varc = Facultatif(sd_cham_mater_varc(SDNom(nomj='')))
 
index 3ba9765c58ce5c10007483e471819cacb3335cef..d14300cfd153a6aaa6748e1291e87b67d43e1e5f 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_char_contact SD  DATE 22/10/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_char_contact SD  DATE 01/04/2008   AUTEUR ABBAS M.ABBAS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -47,7 +47,8 @@ class sd_char_contact(AsBase):
     COMAFO    = Facultatif(AsVR())
     JEUSUR    = Facultatif(AsVR())
     CONVCO    = Facultatif(AsVI())
-    DIRCO     = Facultatif(AsVR())
+    DIRNOR    = Facultatif(AsVR())
+    DIRAPP    = Facultatif(AsVR())
     ECPDON    = Facultatif(AsVI())
     CARFRO    = Facultatif(AsVR())
     FROTE     = Facultatif(AsVR())
@@ -96,6 +97,10 @@ class sd_char_contact(AsBase):
     XFIMAI    = Facultatif(AsVK8())
     XNBASC    = Facultatif(AsVK24())
     XNRELL    = Facultatif(AsVK24())
+    TANINI    = Facultatif(AsVR())
+    NORMCO    = Facultatif(AsVR())
+    TANGCO    = Facultatif(AsVR())  
+    EXCLFR    = Facultatif(AsVR())  
     MODELX    = Facultatif(AsVK8(lonmax=1,))
 
     # si contact xfem :
index 1922c4317f0c78d217c3e5504a4408364e7e3c7a..1048b1771b8f30ec678ec62a71d6cd612e27c1ca 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_char_meca SD  DATE 17/07/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_char_meca SD  DATE 01/04/2008   AUTEUR ABBAS M.ABBAS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
index b50dcfce0207e1da6bfaddf31093010abbb3b077..fb9c0b4f547b81a2b2ad99dea323a219464d495f 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_fonction SD  DATE 19/06/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_fonction SD  DATE 19/02/2008   AUTEUR MACOCCO K.MACOCCO 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -35,14 +35,14 @@ from SD.sd_util import *
 class sd_formule(AsBase):
 #--------------------------------------
     nomj = SDNom(fin=19)
-    PROL = AsVK16(lonmax=6, )
+    PROL = AsVK24(lonmax=6, )
     NOVA = AsVK8()
 
 
 class sd_fonction_aster(sd_titre):
 #--------------------------------------
     nomj = SDNom(fin=19)
-    PROL = AsVK16()
+    PROL = AsVK24()
     VALE = AsObject(acces='NU', sd_stockage='CONTIG', modelong='VARIABLE', type='R', xous=Parmi('S', 'X'), genr='V', ltyp=8, )
     PARA = Facultatif(AsVR())
 
@@ -59,14 +59,14 @@ class sd_fonction_aster(sd_titre):
         assert prol , self
         typfon= prol[0].strip()
         assert typfon in ('CONSTANT', 'FONCTION', 'FONCT_C', 'NAPPE', 'INTERPRE')  ,prol
-
        #ltabul = True : la fonction est tabulée (et non interpretée)
         ltabul = typfon != 'INTERPRE'
 
         if typfon == 'NAPPE' :
-            assert len(prol) > 6  , (prol,self)
+            assert len(prol) > 7  , (prol,self)
         else :
-            assert len(prol) == 5  , (prol,self)
+            # tester que le prol[5] est bien le nom de la fonction 
+            assert len(prol) == 6  , (prol,self)
 
         if ltabul :  # type d'interpolation
             interp= prol[1].strip()
@@ -86,14 +86,14 @@ class sd_fonction_aster(sd_titre):
             assert prolgd[1] in ('E', 'C', 'L', 'I'), prol
 
         if typfon == 'NAPPE' :
-            nf= (len(prol) - 6)/2
-            assert len(prol)==6+2*nf, prol
+            nf= (len(prol) - 7)/2
+            assert len(prol)==7+2*nf, prol
             # 1er paramètre de la nappe
-            assert prol[5].strip() != ''  , prol
+            assert prol[6].strip() != ''  , prol
 
             for kf in range(nf):
-                interp= prol[5+2*kf+1].strip()
-                prolgd= prol[5+2*kf+2].strip()
+                interp= prol[6+2*kf+1].strip()
+                prolgd= prol[6+2*kf+2].strip()
                 assert interp[:3] in ('NON', 'LIN', 'LOG') , prol
                 assert interp[4:] in ('NON', 'LIN', 'LOG') , prol
                 assert prolgd[0] in ('E', 'C', 'L', 'I'), prol
@@ -152,7 +152,7 @@ class sd_fonction_aster(sd_titre):
 class sd_fonction(sd_titre):
 #---------------------------
     nomj = SDNom(fin=19)
-    PROL = AsVK16()
+    PROL = AsVK24()
     NOVA = Facultatif(AsVK8())
     VALE = Facultatif(AsObject())
     PARA = Facultatif(AsVR())
index 37aa650cb3d0daaaa0a018ea77eafcee5fc1b27c..5b7a01a3a27266e1193e1084e277677e3c058152 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_fond_fiss SD  DATE 13/02/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_fond_fiss SD  DATE 08/01/2008   AUTEUR MACOCCO K.MACOCCO 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -26,6 +26,8 @@ class sd_fond_fiss(AsBase):
     NORMALE = Facultatif(AsVR(lonmax=3, ))
     FOND_______TYPE = AsVK8(SDNom(nomj='.FOND      .TYPE'), lonmax=1, )
     FOND_______NOEU = AsVK8(SDNom(nomj='.FOND      .NOEU'), )
+    FONDSUP____NOEU = Facultatif(AsVK8(SDNom(nomj='.FOND_SUP  .NOEU'), ))
+    FONDINF____NOEU = Facultatif(AsVK8(SDNom(nomj='.FOND_INF  .NOEU'), ))
     DTAN_EXTREMITE = Facultatif(AsVR(lonmax=3, ))
     INFNORM____NOEU = Facultatif(AsVK8(SDNom(nomj='.INFNORM   .NOEU'), ))
     DTAN_ORIGINE = Facultatif(AsVR(lonmax=3, ))
index 896fa387e78930f3b2a081799cee93aafb6c02fe..2ac6be121fe4fc264e8072a5a7abf1e6e5dfad8a 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_maillage SD  DATE 19/06/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_maillage SD  DATE 06/05/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -26,6 +26,13 @@ from SD.sd_carte import sd_carte
 from SD.sd_l_table import sd_l_table
 
 
+class sd_voisinage(AsBase):
+#-------------------------------
+    nomj = SDNom(fin=12)
+    PTVOIS = AsVI()
+    ELVOIS = AsVI()
+
+
 class sd_maillage(sd_titre):
 #-------------------------------
     nomj = SDNom(fin=8)
@@ -57,6 +64,9 @@ class sd_maillage(sd_titre):
     # si le sd_maillage est linéique (tube_GV) :
     abs_curv  = Facultatif(sd_carte(SDNom(nomj='.ABS_CURV')))
 
+    # Lorsque le sd_maillage sert de support a un sd_modele contenant des volumes finis :
+    VGE  = Facultatif(sd_voisinage())
+
     ADAPTATION = Facultatif(AsVI(lonmax=1, ))
     FORM = Facultatif(AsVK32(SDNom(debut=19), lonmax=2, ))
 
index ff528b56d0946efda78bdcd69b4d8ac48369d515..2f5443fa061d0f5986d28dbf6ef9a9237b6f1cfb 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_mater SD  DATE 22/10/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_mater SD  DATE 06/05/2008   AUTEUR MARKOVIC D.MARKOVIC 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -28,7 +28,7 @@ class sd_mater_XDEP(AsBase):
 #---------------------------
     # on dirait une fonction, mais c'est plutot la concaténation de plusieurs fonctions
     nomj = SDNom(fin=19)
-    PROL = AsVK16()
+    PROL = AsVK24()
     VALE = AsVR()
 
 
@@ -54,6 +54,20 @@ class sd_compor1(AsBase):
                 k=k2-nbr-nbc
                 nomfon=valk[nbr+nbc+nbk/2+k]
                 sd2=sd_fonction(nomfon) ; sd2.check(checker)
+        if nom[8:16]=='.GLRC_DA' :
+            valk=list(self.VALK.get_stripped())
+            if valk :
+                nbk2=self.VALK.lonuti
+                nbr=self.VALR.lonuti
+                nbc=self.VALC.lonuti
+                nbk=nbk2-nbr-nbc
+                for fon in ('FMEX1'  ,'FMEX2'  ,'FMEY1'  ,'FMEY2' , 
+                            'DFMEX1' ,'DFMEX2' ,'DFMEY1' ,'DFMEY2',
+                            'DDFMEX1','DDFMEX2','DDFMEY1','DDFMEY2'):
+                    k2=valk.index(fon)
+                    k=k2-nbr-nbc
+                    nomfon=valk[nbr+nbc+nbk/2+k]
+                    sd2=sd_fonction(nomfon) ; sd2.check(checker)
 
 
 class sd_mater(AsBase):
index d6bcf0b1d0cc520200ed0a70887fe4feae95570e..9a18dfb749cee792857198aa4dc0d25c5be25bb4 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_matr_asse_com SD  DATE 02/10/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_matr_asse_com SD  DATE 25/03/2008   AUTEUR REZETTE C.REZETTE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -21,6 +21,7 @@
 from SD import *
 from SD.sd_titre import sd_titre
 
+from SD.sd_maillage import sd_maillage
 from SD.sd_nume_ddl import sd_nume_ddl
 from SD.sd_matr_cine import sd_matr_cine
 
@@ -29,14 +30,40 @@ class sd_matr_asse_com(sd_titre):
 #-----------------------------
     nomj = SDNom(fin=19)
 
-    REFA = AsVK24(SDNom(debut=19), lonmax=10, )
-    VALM = AsColl(acces='NU', stockage='DISPERSE', modelong='CONSTANT', type=Parmi('C', 'R'), ltyp=Parmi(16, 8), )
-    UALF = Facultatif(AsColl(acces='NU', stockage='DISPERSE', modelong='CONSTANT', type=Parmi('C', 'R'), ltyp=Parmi(16, 8), ))
-    VALF = Facultatif(AsColl(acces='NU', stockage='DISPERSE', modelong='VARIABLE', type=Parmi('C', 'R'), ltyp=Parmi(16, 8), ))
-    WALF = Facultatif(AsColl(acces='NU', stockage='DISPERSE', modelong='VARIABLE', type=Parmi('C', 'R'), ltyp=Parmi(16, 8), ))
+    REFA = AsVK24(lonmax=11,)
+    VALM = AsColl(acces='NU', stockage='DISPERSE', modelong='CONSTANT', type=Parmi('C', 'R'))
+    UALF = Facultatif(AsColl(acces='NU', stockage='DISPERSE', modelong='CONSTANT', type=Parmi('C', 'R')))
+    VALF = Facultatif(AsColl(acces='NU', stockage='DISPERSE', modelong='VARIABLE', type=Parmi('C', 'R')))
+    WALF = Facultatif(AsColl(acces='NU', stockage='DISPERSE', modelong='VARIABLE', type=Parmi('C', 'R')))
     CONL = Facultatif(OJBVect(type=Parmi('C', 'R')))
     DIGS = Facultatif(OJBVect(type=Parmi('C', 'R'))) # seulement si solveurs LDLT et MULT_FRONT
-    LIME = Facultatif(AsVK8(lonmax=1, ))
+    LIME = Facultatif(AsVK24())
     cine = Facultatif(sd_matr_cine(SDNom(nomj='')))
 
+    def exists(self):
+        # retourne "vrai" si la SD semble exister (et donc qu'elle peut etre vérifiée)
+        return self.REFA.exists
+
+    def check_REFA(self, checker):
+        if not self.exists() : return
+        refa=self.REFA.get_stripped()
+        assert refa[9] in ('NOEU','GENE') , refa
+        lgene = refa[9] == 'GENE'
+        # pour les matrices generalisees, on ne sait pas ce qui est stocké dans refa[0]='' :
+        if not lgene :
+            sd2=sd_maillage(refa[0]) ; sd2.check(checker)
+            sd2=sd_nume_ddl(refa[1]) ; sd2.check(checker)
+        assert refa[2] in ('ELIMF','ELIML','') , refa
+        assert refa[4] in ('FETI','') , refa
+        # pour les matrices generalisees, refa[7] n'est pas toujours rempli :
+        if not lgene :
+            # glute à résorber : j'ajoute '' à la liste permise pour le test yyyy108e :
+            assert refa[7] in ('ASSE','DECT','DECP','') , refa
+        assert refa[8] in ('MS','MR') , refa
+        if refa[8]=='MS' :
+            assert self.VALM.nmaxoc == 1 , (refa,self.VALM.nmaxoc)
+        elif refa[8]=='MR' :
+            assert self.VALM.nmaxoc == 2 , (refa,self.VALM.nmaxoc)
+        assert refa[10] in ('MPI_COMPLET','MPI_INCOMPLET') , refa
+
 
index 4fb519f7a74252a6be1acd2e1237b539e1d5339b..2aeadcdf872890b2d81be6075a37a2da6b3a5620 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_matr_cine SD  DATE 13/02/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_matr_cine SD  DATE 14/01/2008   AUTEUR DESOZA T.DESOZA 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -28,6 +28,6 @@ class sd_matr_cine(AsBase):
     CCID = AsVI()
     CCJJ = Facultatif(AsVI())
     CCLL = Facultatif(AsVI())
-    CCVA = Facultatif(AsVR())
+    CCVA = Facultatif(AsObject(genr='V', xous='S', type=Parmi('R','C')))
 
 
index 73202cbc1bd112b43b66c9680a5c8c20978da09f..4ae31b93271974f935ef369860d52658fcaea28a 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_matr_elem SD  DATE 22/10/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_matr_elem SD  DATE 25/03/2008   AUTEUR REZETTE C.REZETTE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -26,27 +26,27 @@ from SD.sd_cara_elem import sd_cara_elem
 
 
 class sd_matr_elem(AsBase):
-    nomj = SDNom(fin=8)
-    REFE_RESU  = AsVK24(lonmax=5, )
-    LISTE_RESU = Facultatif(AsVK24())
-
-
-    # indirection par LISTE_RESU :
-    def check_matr_elem_i_LISTE_RESU(self, checker):
-        if not self.LISTE_RESU.exists : return
-        lnom = self.LISTE_RESU.get_stripped()
+    nomj = SDNom(fin=19)
+    RERR = AsVK24(lonmax=5, )
+    RELR = Facultatif(AsVK24())
+    TITR = AsVK80(SDNom(debut=19), optional=True)
+    
+    # indirection par RELR :
+    def check_matr_elem_i_RELR(self, checker):
+        if not self.RELR.exists : return
+        lnom = self.RELR.get_stripped()
         for nom in lnom:
             if nom != '' :
                 sd2 = sd_resuelem(nom); sd2.check(checker)
 
 
     def check_1(self, checker):
-        refe = self.REFE_RESU.get_stripped()
+        refe = self.RERR.get_stripped()
         assert refe[2] in ('OUI_SOUS_STRUC', 'NON_SOUS_STRUC'), refe
 
-        # existence de LISTE_RESU :
+        # existence de RELR :
         if refe[2] == 'NON_SOUS_STRUC':
-            assert self.LISTE_RESU.exists
+            assert self.RELR.exists
 
         assert refe[1] != '', refe
 
index 5d968ae32a5b8d8386700763e6eb8ef91e053e5e..ccad7a4e981d2d5220080e3c573d978a28ccd649 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_melasflu SD  DATE 22/10/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_melasflu SD  DATE 21/04/2008   AUTEUR MACOCCO K.MACOCCO 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -44,6 +44,7 @@ class sd_melasflu(AsBase):
     # si FAISCEAU_TRANS + couplage fluide-structure + BASE_MODALE/AMOR_REDUIT_CONN :
     VCN  = Facultatif(AsVR())
     VEN  = Facultatif(AsVR())
+    RAP  = Facultatif(AsVR())
 
     sd_table   = sd_table(SDNom(nomj=''))
     sd_l_table = Facultatif(sd_l_table(SDNom(nomj=''))) # Si FAISCEAU_AXIAL
@@ -111,6 +112,7 @@ class sd_melasflu(AsBase):
         if self.VCN.exists : assert self.VEN.exists
         if self.VEN.exists : assert self.VCN.exists
         if self.VEN.exists : assert itypfl == 1 and couplage == 1
+        if self.RAP.exists : assert (self.VEN.exists and self.VCN.exists)
 
         # vérification de l'objet .VCN :
         #--------------------------------
@@ -120,13 +122,22 @@ class sd_melasflu(AsBase):
             nbval=0
             for i in range(nbzone) :
                 nbval=nbval+fsvi[2+nbzone+i]
-            assert self.VCN.lonmax == nbmode*nbval
+            assert self.VCN.lonmax == nbmode*nbval*2
 
         # vérification de l'objet .VEN :
         #--------------------------------
         if self.VEN.exists :
-            assert self.VEN.lonmax == nbmode
+            assert self.VEN.lonmax == nbmode*2
 
+        # vérification de l'objet .RAP :
+        #--------------------------------
+        if self.RAP.exists :
+            fsvi=typfl.FSVI.get()
+            nbzone=fsvi[1]
+            nbval=0
+            for i in range(nbzone) :
+                nbval=nbval+fsvi[2+nbzone+i]
+            assert self.RAP.lonmax == nbmode*nbval*2
 
         # vérification de la SD table contenant les cham_no :
         #----------------------------------------------------
index 7e401311d68868f5a0369090b07149443562237e..05e38d86d4e5d23399db9f25238a8f5172bf9637 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_modele SD  DATE 15/10/2007   AUTEUR GENIAUT S.GENIAU
+#@ MODIF sd_modele SD  DATE 06/05/2008   AUTEUR PELLET J.PELLE
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 from SD import *
 
 from SD.sd_ligrel    import sd_ligrel
+from SD.sd_maillage  import sd_maillage
 from SD.sd_prof_chno import sd_prof_chno
 from SD.sd_carte     import sd_carte
 from SD.sd_xfem      import sd_modele_xfem
+from SD.sd_l_table   import sd_l_table
 
 
 
@@ -35,6 +37,9 @@ class sd_modele(AsBase):
     NOEUD = Facultatif(AsVI())
     MAILLE = Facultatif(AsVI())
 
+    # une sd_modele peut avoir une "sd_l_table" contenant des grandeurs caractéristiques de l'étude :
+    lt = Facultatif(sd_l_table(SDNom(nomj='')))
+
     # Si le modèle vient de MODI_MODELE_XFEM :
     xfem = Facultatif(sd_modele_xfem(SDNom(nomj='')))
 
@@ -49,3 +54,9 @@ class sd_modele(AsBase):
             assert exi_maille
             assert exi_noeud
 
+
+    def check_maillage(self,checker) :
+        # on est obligé de checker le maillage pour permettre la creation de la sd_voisinage
+        lgrf=self.MODELE.LGRF.get_stripped()
+        sd2 = sd_maillage(lgrf[0]); sd2.check(checker)
+
index 295ae4d910353cd2425065219310a5c561c1fdc6..a9d5db97a0b9e31079fa7a8c9cac38433cfa491c 100644 (file)
@@ -1,21 +1,21 @@
-#@ MODIF sd_nume_eqge SD  DATE 13/02/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_nume_eqge SD  DATE 11/02/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.
 # ======================================================================
 
 from SD import *
@@ -23,7 +23,7 @@ from SD import *
 from SD.sd_prof_vgen import sd_prof_vgen
 class sd_nume_eqge(sd_prof_vgen):
     nomj = SDNom(fin=19)
-    REFN = AsVK24(SDNom(debut=19), lonmax=2, )
+    REFN = AsVK24(SDNom(debut=19), lonmax=4, )
     DESC = AsVI(SDNom(debut=19), lonmax=1, )
     NEQU = AsVI(SDNom(debut=19), lonmax=1, )
     ORIG = AsColl(SDNom(debut=19), acces='NU', stockage='DISPERSE', modelong='VARIABLE', type='I', )
index c95a2315cd4a5c7d87d4b06acb1ec49a98850843..42e3394a0676baf22253c1df066f59ef684066c8 100644 (file)
@@ -1,21 +1,21 @@
-#@ MODIF sd_nume_equa SD  DATE 13/02/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_nume_equa SD  DATE 11/02/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.
 # ======================================================================
 
 from SD import *
@@ -25,6 +25,6 @@ class sd_nume_equa(sd_prof_chno):
     nomj = SDNom(fin=19)
     NEQU = Facultatif(AsVI(SDNom(debut=19), lonmax=2, ))
     DELG = Facultatif(AsVI(SDNom(debut=19), ))
-    REFN = Facultatif(AsVK24(SDNom(debut=19), ))
+    REFN = Facultatif(AsVK24(SDNom(debut=19),lonmax=4,  ))
 
 
index 1be3a441f8d3e379ad40c6871fcaef63fa9035bd..17ad678e83ebb4f12912f717a45892365dc74f18 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_prof_vgen SD  DATE 13/02/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_prof_vgen SD  DATE 21/02/2008   AUTEUR ANDRIAM H.ANDRIAMBOLOLONA 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -26,5 +26,6 @@ class sd_prof_vgen(AsBase):
     LILI = AsObject(SDNom(debut=19), genr='N', xous='S', type='K', ltyp=8, )
     NUEQ = AsVI(SDNom(debut=19), )
     DEEQ = AsVI(SDNom(debut=19), )
+    DELG = AsVI(SDNom(debut=19), )
 
 
index a070cc729de8a6cc0b241ec45115da02aa3dc193..eb8e74432b397bf7ccae2eb068396397e88e32cd 100644 (file)
@@ -1,24 +1,25 @@
-#@ MODIF sd_proj_mesu SD  DATE 27/11/2007   AUTEUR ANDRIAM H.ANDRIAMBOLOLONA 
+#@ MODIF sd_proj_mesu SD  DATE 15/01/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  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.
 # ======================================================================
 
 from SD import *
+from sd_modele  import sd_modele
 
 
 
@@ -28,14 +29,14 @@ class sd_proj_mesu(AsBase):
     PJMNO = AsVI()
     PJMRG = AsVK8()
     PJMBP = AsVR()
-    PJMRF = AsVK16()
+    PJMRF = AsVK16(lonmax=5)
 
     # si PROJ_MESU_MODAL :
     PJMOR = Facultatif(AsVR())
 
     # si MACR_ELEM_STAT :
     PJMIG    = Facultatif(AsVR())
-    PJMMM = Facultatif(AsObject(genr='V',type=Parmi('C', 'R')))
+    PJMMM    = Facultatif(AsObject(genr='V',type=Parmi('C', 'R')))
 
 
     def exists(self):
@@ -56,6 +57,10 @@ class sd_proj_mesu(AsBase):
         nbmode=n1/nbutil
         assert n1==nbutil*nbmode , (nbmode,nbutil,n1)
         assert self.PJMRF.exists
+        pjmrf=self.PJMRF.get_stripped()
+        sd2=sd_modele(pjmrf[0]) ; sd2.check(checker)
+        assert pjmrf[1] != '' , pjmrf
+        assert pjmrf[2] != '' , pjmrf
 
         # quel cas de figure : PROJ_MESU_MODAL ou MACR_ELEM_STAT ?
         lproj=self.PJMOR.exists
@@ -65,18 +70,18 @@ class sd_proj_mesu(AsBase):
             nbcapt=nbutil
             assert self.PJMOR.lonmax >= 3*nbcapt
             assert not self.PJMIG.exists
+            assert pjmrf[3] == '' , pjmrf
+            assert pjmrf[4] == '' , pjmrf
 
         # si MACR_ELEM_STAT :
         else :
             nbddle=nbutil
             assert self.PJMIG.exists
+            assert self.PJMMM.exists
             n1=self.PJMIG.lonmax
             nbmoid=n1/nbddle
             assert n1==nbddle*nbmoid , (nbmodi,nbddle,n1)
 
-            assert self.PJMMM.exists
-            projref=self.PJMRF.get()
-            nomsdpj=projref[4]
-            assert nomsdpj!=None
-
+            assert pjmrf[3] != '' , pjmrf
+            sd2=sd_proj_mesu(pjmrf[4]) ; sd2.check(checker)
 
index a89f47e0d4a019cb49da8012c16d84fca70adf97..f2e3bd7817db32f1d51c2993fb7b252e35c27fa5 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_resuelem SD  DATE 22/10/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_resuelem SD  DATE 06/05/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -24,15 +24,23 @@ from SD.sd_ligrel import sd_ligrel
 
 class sd_resuelem(AsBase):
     nomj = SDNom(fin=19)
-    NOLI = AsVK24(SDNom(debut=19), lonmax=2, )
-    RESL = AsColl(SDNom(debut=19), acces='NU', stockage='DISPERSE', modelong='VARIABLE', type=Parmi('C', 'R'), ltyp=Parmi(16, 8), )
-    DESC = AsVI(SDNom(debut=19), docu='RESL', )
+    NOLI = AsVK24(lonmax=4, )
+    DESC = AsVI(docu='RESL', )
+    RESL = AsColl(acces='NU', stockage='DISPERSE', modelong='VARIABLE', type=Parmi('C', 'R'))
+    RSVI = Facultatif(AsColl(acces='NU', stockage='CONTIG', modelong='VARIABLE', type='I'))
 
+    def exists(self):
+        # retourne "vrai" si la SD semble exister (et donc qu'elle peut etre vérifiée)
+        return self.NOLI.exists
 
     def check_1(self, checker):
+        if not self.exists() : return
         noli = self.NOLI.get_stripped()
         sd2=sd_ligrel(noli[0]) ; sd2.check(checker)
         assert noli[1] != '' , noli
+        assert noli[2] in ('MPI_COMPLET','MPI_INCOMPLET') , noli
+        assert noli[3] in ('','VOISIN_VF') , noli
+        if noli[3]=='VOISIN_VF' : assert self.RSVI.exists
 
         desc = self.DESC.get()
         assert desc[0] > 0 and desc[0] < 1000 , desc
index c0bdacb563cc859460eedda68ab3a6ed3c8b45b6..6dab8958d8766e2bc96782d34964bd7c71c9dccf 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_resultat_dyn SD  DATE 27/11/2007   AUTEUR ANDRIAM H.ANDRIAMBOLOLONA 
+#@ MODIF sd_resultat_dyn SD  DATE 11/02/2008   AUTEUR PELLET J.PELLET 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -30,7 +30,7 @@ from SD.sd_proj_mesu import sd_proj_mesu
 class sd_resultat_dyn(sd_resultat):
 #--------------------------------------------------
     nomj = SDNom(fin=8)
-    PROFC_NUME_REFN = Facultatif(AsVK24(SDNom(nomj='.PROFC.NUME.REFN'), lonmax=2, ))
+    PROFC_NUME_REFN = Facultatif(AsVK24(SDNom(nomj='.PROFC.NUME.REFN'), lonmax=4, ))
     REFD = Facultatif(AsVK24(SDNom(debut=19), lonmax=6, )) # n'existe pas dans sdll23a
 
     # si utilisation de PROJ_MESU_MODAL :
@@ -39,13 +39,13 @@ class sd_resultat_dyn(sd_resultat):
 
     # indirection vers les SD de .REFD :
     def check_resultat_dyn_i_REFD(self, checker):
-        lnom = self.REFD.get()
-        if not lnom : return
+        refd = self.REFD.get_stripped()
+        if not refd : return
         for k in 0,1,2 :
-            if lnom[k].strip() :
-                sd2 = sd_matr_asse(lnom[0]); sd2.check(checker)
-        if lnom[3].strip() :
-            sd2 = sd_nume_ddl(lnom[3]); sd2.check(checker)
-        if lnom[4].strip() :
-            sd2 = sd_interf_dyna_clas(lnom[4]); sd2.check(checker)
+            if refd[k] :
+                sd2 = sd_matr_asse(refd[0]); sd2.check(checker)
+        if refd[3] :
+            sd2 = sd_nume_ddl(refd[3]); sd2.check(checker)
+        if refd[4] :
+            sd2 = sd_interf_dyna_clas(refd[4]); sd2.check(checker)
 
index f47c7c147484a8112956d0a067f7a42dffb865d4..0bd1afc8cf126458f3707cc31fe0158322b9e1f3 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_vect_elem SD  DATE 22/10/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_vect_elem SD  DATE 25/03/2008   AUTEUR REZETTE C.REZETTE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -23,13 +23,13 @@ from SD.sd_resuelem import sd_resuelem
 from SD.sd_matr_elem import sd_matr_elem
 
 class sd_vect_elem(sd_matr_elem):
-    nomj = SDNom(fin=8)
-    LISTE_CHAR = Facultatif(AsColl(acces='NO', stockage='CONTIG', modelong='CONSTANT', type='I', ))
+    nomj = SDNom(fin=19)
+    RELC = Facultatif(AsColl(acces='NO', stockage='CONTIG', modelong='CONSTANT', type='I', ))
 
 
-    def check_LISTE_CHAR(self, checker):
-        if not self.LISTE_CHAR.exists : return
-        lchar = self.LISTE_CHAR.get()
+    def check_RELC(self, checker):
+        if not self.RELC.exists : return
+        lchar = self.RELC.get()
         for nochar in lchar.keys() :
             for k in lchar[nochar] :
                 assert k in (0,1) , lchar
index af9cc2ca9166b4c2be3b61c5fa1599c9a84f23e0..ef81e21ee2ee633e76112b9d9912eb23dee2ed64 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_xfem SD  DATE 22/10/2007   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_xfem SD  DATE 04/02/2008   AUTEUR GALENNE E.GALENNE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -42,6 +42,7 @@ class sd_fiss_xfem(AsBase):
     GRLTNO = sd_cham_no()
     BASLOC = sd_cham_no()
     FONDFISS        = Facultatif(AsVR())
+    BASEFOND        = Facultatif(AsVR())
     FONDMULT        = Facultatif(AsVI())
     CARAFOND        = AsVR()
 
index 71e22d03a44137a51fd8754db41d9b3233489b65..6dd26b5bb3d3f026c8ec883e158a0262851a9a6f 100644 (file)
@@ -1,4 +1,4 @@
-#& MODIF ENTETE  DATE 28/11/2007   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF ENTETE  DATE 12/02/2008   AUTEUR REZETTE C.REZETTE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -213,6 +213,7 @@ from SD.co_matr_elem import matr_elem, \
 # table :
 from SD.co_table import table_sdaster, table_jeveux
 from SD.co_table_fonction import table_fonction
+from SD.co_table_container import table_container
 
 # -----------------------------------------------------------------------------
 # vect_asse_gene :
@@ -225,9 +226,8 @@ from SD.co_vect_elem import vect_elem, \
                             vect_elem_pres_r, vect_elem_pres_c, \
                             vect_elem_temp_r
 
-#& MODIF COMMUN  DATE 06/11/2007   AUTEUR KHAM M.KHAM 
+#& MODIF COMMUN  DATE 06/05/2008   AUTEUR MARKOVIC D.MARKOVIC 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
-# RESPONSABLE JMBHH01 J.M.PROIX
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
@@ -244,130 +244,133 @@ from SD.co_vect_elem import vect_elem, \
 # 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
 def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
            RELATION        =SIMP(statut='o',typ='TXM',defaut="VMIS_ISOT_TRAC",
                                  into=( "ELAS",
 # Spécial Discrets : début
-                                        "DIS_VISC",
-                                        "DIS_ECRO_CINE",
+                                        "DIS_VISC",        # RESP. : FLEJOU J.L.FLEJOU
+                                        "DIS_ECRO_CINE",   # RESP. : FLEJOU J.L.FLEJOU
+                                        "DIS_BILI_ELAS",   # RESP. : FLEJOU J.L.FLEJOU
 # Spécial Discrets : fin
-                                        "ELAS_HYPER",
-                                        "VMIS_ISOT_TRAC",
-                                        "VISC_ISOT_TRAC",
-                                        "VMIS_ISOT_LINE",
-                                        "VISC_ISOT_LINE",
-                                        "VMIS_ISOT_PUIS",
-                                        "VMIS_ECMI_TRAC",
-                                        "VMIS_ECMI_LINE",
-                                        "LABORD_1D",
-                                        "ENDO_FRAGILE",
-                                        "ENDO_ISOT_BETON",
-                                        "ENDO_ORTH_BETON",
-                                        "BETON_REGLE_PR",
-                                        "MAZARS",
-                                        "JOINT_BA",
-                                        "RUPT_FRAG",
-                                        "CZM_EXP_REG",
-                                        "CZM_LIN_REG",
-                                        "CZM_EXP",
-                                        "META_P_IL",
-                                        "META_P_IL_PT",
-                                        "META_P_IL_RE",
-                                        "META_P_IL_PT_RE",
-                                        "META_V_IL",
-                                        "META_V_IL_PT",
-                                        "META_V_IL_RE",
-                                        "META_V_IL_PT_RE",
-                                        "META_P_INL",
-                                        "META_P_INL_PT",
-                                        "META_P_INL_RE",
-                                        "META_P_INL_PT_RE",
-                                        "META_V_INL",
-                                        "META_V_INL_PT",
-                                        "META_V_INL_RE",
-                                        "META_V_INL_PT_RE",
-                                        "META_P_CL",
-                                        "META_P_CL_PT",
-                                        "META_P_CL_RE",
-                                        "META_P_CL_PT_RE",
-                                        "META_V_CL",
-                                        "META_V_CL_PT",
-                                        "META_V_CL_RE",
-                                        "META_V_CL_PT_RE",
-                                        "VMIS_CINE_LINE",
-                                        "VISC_TAHERI",
-                                        "VISCOCHAB",
-                                        "VMIS_CIN1_CHAB",
-                                        "VMIS_CIN2_CHAB",
-                                        "VISC_CIN1_CHAB",
-                                        "VISC_CIN2_CHAB",
-                                        "LMARC",
-                                        "LMARC_IRRA",
-                                        "ROUSSELIER",
-                                        "ROUSS_PR",
-                                        "ROUSS_VISC",
-                                        "VMIS_POU_LINE",
-                                        "VMIS_POU_FLEJOU",
-                                        "ARME",
-                                        "ASSE_CORN",
-                                        "NORTON_HOFF",
-                                        "LEMAITRE",
-                                        "LEMAITRE_IRRA",
-                                        "LEMA_SEUIL",
-                                        "IRRAD3M",
-                                        "ZIRC_CYRA2",
-                                        "VISC_IRRA_LOG",
-                                        "GRAN_IRRA_LOG",
-                                        "ZIRC_EPRI",
-                                        "VENDOCHAB",
-                                        "NADAI_B",
-                                        "DIS_CONTACT",
-                                        "DIS_CHOC",
-                                        "DIS_GRICRA",
-                                        "DIS_GOUJ2E_PLAS",
-                                        "DIS_GOUJ2E_ELAS",
-                                        "GRILLE_ISOT_LINE",
-                                        "GRILLE_CINE_LINE",
-                                        "GRILLE_PINTO_MEN",
-                                        "PINTO_MENEGOTTO",
-                                        "CJS",
-                                        "HUJEUX",
-                                        "CAM_CLAY",
-                                        "BARCELONE",
-                                        "LAIGLE",
-                                        "LETK",
-                                        "DRUCKER_PRAGER",
-                                        "HOEK_BROWN",
-                                        "HOEK_BROWN_EFF",
-                                        "HOEK_BROWN_TOT",
-                                        "GRANGER_FP",
-                                        "GRANGER_FP_INDT",
-                                        "GRANGER_FP_V",
-                                        "BAZANT_FD",
-                                        "BETON_UMLV_FP",
-                                        "BETON_DOUBLE_DP",
-                                        "KIT_HH",
-                                        "KIT_HM",
-                                        "KIT_HHM",
-                                        "KIT_THH",
-                                        "KIT_THV",
-                                        "KIT_THM",
-                                        "KIT_THHM",
-                                        "VMIS_ASYM_LINE",
-                                        "KIT_DDI",
-                                        "GLRC_DAMAGE",
-                                        "GLRC_DM",
-                                        "SANS",
-                                        "CORR_ACIER",
-                                        "MONOCRISTAL",
-                                        "POLYCRISTAL",
-                                        "ZMAT",
-                                        "GATT_MONERIE",
-                                        "MULTIFIBRE",
+                                        "ELAS_HYPER",      # RESP. : ABBAS M.ABBAS
+                                        "VMIS_ISOT_TRAC",  # RESP. : PROIX J.M.PROIX
+                                        "VISC_ISOT_TRAC",  # RESP. : PROIX J.M.PROIX
+                                        "VMIS_ISOT_LINE",  # RESP. : PROIX J.M.PROIX
+                                        "VISC_ISOT_LINE",  # RESP. : MICHEL S.MICHEL
+                                        "VMIS_ISOT_PUIS",  # RESP. : PROIX J.M.PROIX
+                                        "VMIS_ECMI_TRAC",  # RESP. : PROIX J.M.PROIX
+                                        "VMIS_ECMI_LINE",  # RESP. : PROIX J.M.PROIX
+                                        "LABORD_1D",       # RESP. : VOLDOIRE F.VOLDOIRE
+                                        "ENDO_FRAGILE",    # RESP. : MICHEL S.MICHEL
+                                        "ENDO_ISOT_BETON", # RESP. : MICHEL S.MICHEL
+                                        "ENDO_ORTH_BETON", # RESP. : MICHEL S.MICHEL
+                                        "BETON_REGLE_PR",  # RESP. : NECS
+                                        "MAZARS",          # RESP. : MICHEL S.MICHEL
+                                        "JOINT_BA",        # RESP. : MICHEL S.MICHEL
+                                        "RUPT_FRAG",       # RESP. : LAVERNE J.LAVERNE
+                                        "CZM_EXP_REG",     # RESP. : LAVERNE J.LAVERNE
+                                        "CZM_LIN_REG",     # RESP. : LAVERNE J.LAVERNE
+                                        "CZM_EXP",         # RESP. : LAVERNE J.LAVERNE
+                                        "META_P_IL",       # RESP. : CANO V.CANO
+                                        "META_P_IL_PT",    # RESP. : CANO V.CANO
+                                        "META_P_IL_RE",    # RESP. : CANO V.CANO
+                                        "META_P_IL_PT_RE", # RESP. : CANO V.CANO
+                                        "META_V_IL",       # RESP. : CANO V.CANO
+                                        "META_V_IL_PT",    # RESP. : CANO V.CANO
+                                        "META_V_IL_RE",    # RESP. : CANO V.CANO
+                                        "META_V_IL_PT_RE", # RESP. : CANO V.CANO
+                                        "META_P_INL",      # RESP. : CANO V.CANO
+                                        "META_P_INL_PT",   # RESP. : CANO V.CANO
+                                        "META_P_INL_RE",   # RESP. : CANO V.CANO
+                                        "META_P_INL_PT_RE",# RESP. : CANO V.CANO
+                                        "META_V_INL",      # RESP. : CANO V.CANO
+                                        "META_V_INL_PT",   # RESP. : CANO V.CANO
+                                        "META_V_INL_RE",   # RESP. : CANO V.CANO
+                                        "META_V_INL_PT_RE",# RESP. : CANO V.CANO
+                                        "META_P_CL",       # RESP. : CANO V.CANO
+                                        "META_P_CL_PT",    # RESP. : CANO V.CANO
+                                        "META_P_CL_RE",    # RESP. : CANO V.CANO
+                                        "META_P_CL_PT_RE", # RESP. : CANO V.CANO
+                                        "META_V_CL",       # RESP. : CANO V.CANO
+                                        "META_V_CL_PT",    # RESP. : CANO V.CANO
+                                        "META_V_CL_RE",    # RESP. : CANO V.CANO
+                                        "META_V_CL_PT_RE", # RESP. : CANO V.CANO
+                                        "META_LEMA_ANI",   # RESP. : CANO V.CANO                                     
+                                        "VMIS_CINE_LINE",  # RESP. : PROIX J.M.PROIX
+                                        "VISC_TAHERI",     # RESP. : TAHERI S.TAHERI
+                                        "VISCOCHAB",       # RESP. : None
+                                        "VMIS_CIN1_CHAB",  # RESP. : PROIX J.M.PROIX
+                                        "VMIS_CIN2_CHAB",  # RESP. : PROIX J.M.PROIX
+                                        "VISC_CIN1_CHAB",  # RESP. : PROIX J.M.PROIX
+                                        "VISC_CIN2_CHAB",  # RESP. : PROIX J.M.PROIX
+                                        "VMIS_CIN2_MEMO",  # RESP. : PROIX J.M.PROIX
+                                        "VISC_CIN2_MEMO",  # RESP. : PROIX J.M.PROIX
+                                        "LMARC",           # RESP. : None
+                                        "LMARC_IRRA",      # RESP. : FERNANDES R.FERNANDES
+                                        "ROUSSELIER",      # RESP. : CANO V.CANO
+                                        "ROUSS_PR",        # RESP. : PARROT A.PARROT
+                                        "ROUSS_VISC",      # RESP. : CANO V.CANO
+                                        "VMIS_POU_LINE",   # RESP. : PROIX J.M.PROIX
+                                        "VMIS_POU_FLEJOU", # RESP. : FLEJOU J.L.FLEJOU
+                                        "ARME",            # RESP. : PEYRARD C.PEYRARD
+                                        "ASSE_CORN",       # RESP. : PEYRARD C.PEYRARD
+                                        "NORTON_HOFF",     # RESP. : MICHEL S.MICHEL
+                                        "LEMAITRE",        # RESP. : DEBONNIERES P.DEBONNIERES
+                                        "LEMAITRE_IRRA",   # RESP. : FERNANDES R.FERNANDES
+                                        "LEMA_SEUIL",      # RESP. : LECLERC S.LECLERC
+                                        "IRRAD3M",         # RESP. : FLEJOU J.L.FLEJOU
+                                        "VISC_IRRA_LOG",   # RESP. : FERNANDES R.FERNANDES
+                                        "GRAN_IRRA_LOG",   # RESP. : FERNANDES R.FERNANDES
+                                        "VENDOCHAB",       # RESP. : None
+                                        "NADAI_B",         # RESP. : None
+                                        "DIS_CHOC",        # RESP. : DEVESA G.DEVESA
+                                        "DIS_GRICRA",      # RESP. : FERNANDES R.FERNANDES
+                                        "DIS_GOUJ2E_PLAS", # RESP. : ANGLES J.ANGLES
+                                        "DIS_GOUJ2E_ELAS", # RESP. : ANGLES J.ANGLES
+                                        "GRILLE_ISOT_LINE",# RESP. : ROSPARS C.ROSPARS
+                                        "GRILLE_CINE_LINE",# RESP. : ROSPARS C.ROSPARS
+                                        "GRILLE_PINTO_MEN",# RESP. : ROSPARS C.ROSPARS
+                                        "PINTO_MENEGOTTO", # RESP. : ROSPARS C.ROSPARS
+                                        "CJS",             # RESP. : CHAVANT C.CHAVANT
+                                        "HUJEUX",          # RESP. : FOUCAULT A.FOUCAULT
+                                        "CAM_CLAY",        # RESP. : ELGHARIB J.ELGHARIB
+                                        "BARCELONE",       # RESP. : ELGHARIB J.ELGHARIB
+                                        "LAIGLE",          # RESP. : ELGHARIB J.ELGHARIB
+                                        "LETK",            # RESP. : ELGHARIB J.ELGHARIB
+                                        "DRUCK_PRAGER",    # RESP. : FERNANDES R.FERNANDES
+                                        "DRUCK_PRAG_N_A",  # RESP. : FERNANDES R.FERNANDES
+                                        "HOEK_BROWN",      # RESP. : CHAVANT C.CHAVANT
+                                        "HOEK_BROWN_EFF",  # RESP. : CHAVANT C.CHAVANT
+                                        "HOEK_BROWN_TOT",  # RESP. : CHAVANT C.CHAVANT
+                                        "GRANGER_FP",      # RESP. : ROSPARS C.ROSPARS
+                                        "GRANGER_FP_INDT", # RESP. : ROSPARS C.ROSPARS
+                                        "GRANGER_FP_V",    # RESP. : ROSPARS C.ROSPARS
+                                        "BETON_UMLV_FP",   # RESP. : LEPAPE Y.LEPAPE
+                                        "BETON_DOUBLE_DP", # RESP. : ELGHARIB J.ELGHARIB
+                                        "KIT_HH",          # RESP. : GRANET S.GRANET
+                                        "KIT_HM",          # RESP. : GRANET S.GRANET
+                                        "KIT_HHM",         # RESP. : GRANET S.GRANET
+                                        "KIT_THH",         # RESP. : GRANET S.GRANET
+                                        "KIT_THV",         # RESP. : GRANET S.GRANET
+                                        "KIT_THM",         # RESP. : GRANET S.GRANET
+                                        "KIT_THHM",        # RESP. : GRANET S.GRANET
+                                        "VMIS_ASYM_LINE",  # RESP. : None
+                                        "KIT_DDI",         # RESP. : CHAVANT C.CHAVANT
+                                        "GLRC_DAMAGE",     # RESP. : MARKOVIC D.MARKOVIC
+                                        "GLRC_DM",         # RESP. : MARKOVIC D.MARKOVIC
+                                        "SANS",            # RESP. : None
+                                        "CORR_ACIER",      # RESP. : LEPAPE Y.LEPAPE
+                                        "MONOCRISTAL",     # RESP. : PROIX J.M.PROIX
+                                        "POLYCRISTAL",     # RESP. : PROIX J.M.PROIX
+                                        "ZMAT",            # RESP. : PROIX J.M.PROIX
+                                        "GATT_MONERIE",    # RESP. : DEBONNIERES P.DEBONNIERES
+                                        "MULTIFIBRE",      # RESP. : FLEJOU J.L.FLEJOU
                                      ) ),
 # Spécial discrets : début
           DIS_VISC       =SIMP(statut='c',typ='I',defaut=12,into=(12,)),
           DIS_ECRO_CINE  =SIMP(statut='c',typ='I',defaut=18,into=(18,)),
+          DIS_BILI_ELAS  =SIMP(statut='c',typ='I',defaut= 6,into=( 6,)),
 # Spécial discrets : fin
           ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
           ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
@@ -388,39 +391,42 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
           MAZARS          =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
           JOINT_BA        =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
           RUPT_FRAG       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          CZM_EXP_REG      =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
-          CZM_LIN_REG      =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
-          CZM_EXP          =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
-          META_P_IL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_P_IL_PT       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_P_IL_RE       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_P_IL_PT_RE    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_V_IL          =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_V_IL_PT       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_V_IL_RE       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_V_IL_PT_RE    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_P_INL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_P_INL_PT      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_P_INL_RE      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_P_INL_PT_RE   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_V_INL         =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_V_INL_PT      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_V_INL_RE      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_V_INL_PT_RE   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          META_P_CL          =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
-          META_P_CL_PT       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
-          META_P_CL_RE       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
-          META_P_CL_PT_RE    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
-          META_V_CL          =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
-          META_V_CL_PT       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
-          META_V_CL_RE       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
-          META_V_CL_PT_RE    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
+          CZM_EXP_REG     =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
+          CZM_LIN_REG     =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
+          CZM_EXP         =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
+          META_P_IL       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_P_IL_PT    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_P_IL_RE    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_P_IL_PT_RE =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_V_IL       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_V_IL_PT    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_V_IL_RE    =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_V_IL_PT_RE =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_P_INL      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_P_INL_PT   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_P_INL_RE   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_P_INL_PT_RE=SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_V_INL      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_V_INL_PT   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_V_INL_RE   =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_V_INL_PT_RE=SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          META_P_CL       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
+          META_P_CL_PT    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
+          META_P_CL_RE    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
+          META_P_CL_PT_RE =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
+          META_V_CL       =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
+          META_V_CL_PT    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
+          META_V_CL_RE    =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
+          META_V_CL_PT_RE =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
+          META_LEMA_ANI   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
           VMIS_CINE_LINE  =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
           VISCOCHAB       =SIMP(statut='c',typ='I',defaut=28,into=(28,)),
           VMIS_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
           VMIS_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
           VISC_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
           VISC_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
+          VMIS_CIN2_MEMO  =SIMP(statut='c',typ='I',defaut=28,into=(28,)),
+          VISC_CIN2_MEMO  =SIMP(statut='c',typ='I',defaut=28,into=(28,)),
           LMARC           =SIMP(statut='c',typ='I',defaut=20,into=(20,)),
           LMARC_IRRA      =SIMP(statut='c',typ='I',defaut=20,into=(20,)),
           VISC_TAHERI     =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
@@ -436,8 +442,6 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
           LEMA_SEUIL      =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
           IRRAD3M         =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
           LEMAITRE_IRRA   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
-          ZIRC_CYRA2      =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
-          ZIRC_EPRI       =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
           VISC_IRRA_LOG   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
           GRAN_IRRA_LOG   =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
           NADAI_B         =SIMP(statut='c',typ='I',defaut=34,into=(34,)),
@@ -445,26 +449,25 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
           GRILLE_ISOT_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
           GRILLE_CINE_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
           GRILLE_PINTO_MEN=SIMP(statut='c',typ='I',defaut=16,into=(16,)),
-          DIS_CONTACT     =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
           DIS_CHOC        =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
-          DIS_GRICRA     =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
+          DIS_GRICRA      =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
           DIS_GOUJ2E_PLAS =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
           DIS_GOUJ2E_ELAS =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
           PINTO_MENEGOTTO =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
           CJS             =SIMP(statut='c',typ='I',defaut=16,into=(16,)),
-          HUJEUX       =SIMP(statut='c',typ='I',defaut=32,into=(32,)),
+          HUJEUX          =SIMP(statut='c',typ='I',defaut=35,into=(35,)),
           CAM_CLAY        =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
           BARCELONE       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
           LAIGLE          =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
           LETK            =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
-          DRUCKER_PRAGER  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+          DRUCK_PRAGER    =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+          DRUCK_PRAG_N_A  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
           HOEK_BROWN      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
           HOEK_BROWN_EFF  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
           HOEK_BROWN_TOT  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
           GRANGER_FP      =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
           GRANGER_FP_INDT =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
           GRANGER_FP_V    =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
-          BAZANT_FD       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
           BETON_DOUBLE_DP =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
           KIT_HH          =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
           KIT_HM          =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
@@ -475,7 +478,7 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
           KIT_THHM        =SIMP(statut='c',typ='I',defaut=0,into=(0,)),
           VMIS_ASYM_LINE  =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
           BETON_UMLV_FP   =SIMP(statut='c',typ='I',defaut=21,into=(21,)),
-          GLRC_DAMAGE     =SIMP(statut='c',typ='I',defaut=21,into=(21,)),
+          GLRC_DAMAGE     =SIMP(statut='c',typ='I',defaut=19,into=(19,)),
           GLRC_DM         =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
           GATT_MONERIE    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
 
@@ -504,7 +507,8 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
                                        "BARCELONE",
                                        "LAIGLE",
                                        "LETK",
-                                       "DRUCKER_PRAGER",
+                                       "DRUCK_PRAGER",
+                                       "DRUCK_PRAG_N_A",
                                        "HOEK_BROWN_EFF",
                                        "HOEK_BROWN_TOT",
                                        "MAZARS",
@@ -557,7 +561,8 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
            ZIRC            =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
 
            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",
-                             into=("PETIT","PETIT_REAC","SIMO_MIEHE","GREEN_GR","GREEN","COROTATIONNEL","REAC_GEOM")),
+                             into=("PETIT","PETIT_REAC","SIMO_MIEHE","GREEN_GR","GREEN","COROTATIONNEL",
+                                   "REAC_GEOM","EULER_ALMANSI")),
            ALGO_C_PLAN     =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
 #           b_deborst      = BLOC(condition = " ALGO_C_PLAN == 'DEBORST' ",
 #                        fr="Tolérance relative sur la verification des contraintes planes",
@@ -577,11 +582,17 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
            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")),
-           b_perturb      = BLOC(condition = " TYPE_MATR_TANG != None ",
+           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. ),
          ) ;
 #& MODIF COMMUN  DATE 26/06/2007   AUTEUR REZETTE C.REZETTE 
@@ -777,7 +788,59 @@ def C_NOM_CHAM_INTO() : return  ("ACCE",    #COMMUN#
                         "VITE_ABSOLU",
                         "VITE_VENT",
                         )
-#& MODIF COMMUN  DATE 04/04/2006   AUTEUR CIBHHLV L.VIVAN 
+#& MODIF COMMUN  DATE 27/06/2005   AUTEUR D6BHHJP J.P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2004  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.        
+# ======================================================================
+#
+# ce fichier contient la liste des "into" possibles pour le mot cle TYPE_CHAM
+def C_TYPE_CHAM_INTO() : #COMMUN#
+   l=[]
+   for gd in C_NOM_GRANDEUR() :
+        for typ in ("ELEM","ELNO","ELGA","CART","NOEU") :
+             l.append(typ+"_"+gd)
+   return tuple(l)
+
+#& MODIF COMMUN  DATE 29/03/2007   AUTEUR GRANET S.GRANET 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2004  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.        
+# ======================================================================
+# ce fichier contient la liste des PARA possibles pour les fonctions et les nappes
+def C_PARA_FONCTION() : return  ( #COMMUN#
+                   "DX","DY","DZ","DRX","DRY","DRZ","TEMP","TSEC",
+                   "INST","X","Y","Z","EPSI","META","FREQ","PULS","DSP",
+                   "AMOR","ABSC","SIGM","HYDR","SECH","PORO","SAT",
+                   "PGAZ","PCAP","PLIQ","PVAP","PAD","VITE","ENDO",
+                   "NORM","EPAIS","NEUT1","NEUT2",)
+#& MODIF COMMUN  DATE 19/05/2008   AUTEUR DELMAS J.DELMAS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -838,7 +901,7 @@ def C_NOM_GRANDEUR() : return  ( #COMMUN#
 "ENER_R",
 "EPSI_F",
 "EPSI_R",
-"ERREUR",
+"ERRE_R",
 "FACY_R",
 "FELECR",
 "FISS_R",
@@ -923,35 +986,10 @@ def C_NOM_GRANDEUR() : return  ( #COMMUN#
 "WEIBULL",
 "XCONTAC",
                                  )
-#& MODIF COMMUN  DATE 29/03/2007   AUTEUR GRANET S.GRANET 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2004  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.        
-# ======================================================================
-# ce fichier contient la liste des PARA possibles pour les fonctions et les nappes
-def C_PARA_FONCTION() : return  ( #COMMUN#
-                   "DX","DY","DZ","DRX","DRY","DRZ","TEMP","TSEC",
-                   "INST","X","Y","Z","EPSI","META","FREQ","PULS","DSP",
-                   "AMOR","ABSC","SIGM","HYDR","SECH","PORO","SAT",
-                   "PGAZ","PCAP","PLIQ","PVAP","PAD","VITE","ENDO",
-                   "NORM","EPAIS","NEUT1","NEUT2",)
-#& MODIF COMMUN  DATE 27/06/2005   AUTEUR D6BHHJP J.P.LEFEBVRE 
+#& MODIF COMMUN  DATE 06/05/2008   AUTEUR CNGUYEN C.NGUYEN 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
+# 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     
@@ -966,700 +1004,1311 @@ def C_PARA_FONCTION() : return  ( #COMMUN#
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
-#
-# ce fichier contient la liste des "into" possibles pour le mot cle TYPE_CHAM
-def C_TYPE_CHAM_INTO() : #COMMUN#
-   l=[]
-   for gd in C_NOM_GRANDEUR() :
-        for typ in ("ELEM","ELNO","ELGA","CART","NOEU") :
-             l.append(typ+"_"+gd)
-   return tuple(l)
 
-#& MODIF COMMANDE  DATE 23/04/2007   AUTEUR FLEJOU J-L.FLEJOU 
-#            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.
+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") ),
 #
-# 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.
+# OPTIONS D'APPARIEMENT
 #
-# 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 MJBHHPE J.L.FLEJOU
-AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
-                    fr="Affectation de caractéristiques à des éléments de structure",
-                    reentrant='n',
-            UIinfo={"groupes":("Modélisation",)},
-         regles=(AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF',
-                             'GRILLE','MULTIFIBRE','RIGI_PARASOL'),
-                             PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE'),),
-         MODELE          =SIMP(statut='o',typ=modele_sdaster ),
-         INFO            =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
-         VERIF           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("MAILLE","NOEUD") ),
 
-#============================================================================
-         POUTRE          =FACT(statut='f',max='**',
-           regles=(UN_PARMI('MAILLE','GROUP_MA'),),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           SECTION         =SIMP(statut='o',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ),
-           PREC_AIRE       =SIMP(statut='f',typ='R',defaut=0.01),
-           PREC_INERTIE    =SIMP(statut='f',typ='R',defaut=0.1),
-           b_generale      =BLOC( condition = "SECTION=='GENERALE'",
-             VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
-             b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
-               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=4 ,max=15,
-                                 fr="A,IY,IZ,JX sont des paramètres obligatoires",
-                                 into=("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT",
-                                       "JG","IYR2","IZR2","AI") ),
-               VALE            =SIMP(statut='o',typ='R',min=4 ,max=15),
-             ),
-             b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
-               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=8 ,max=30,
-                                 fr="A1,A2,IY1,IY2,IZ1,IZ2,JX1,JX2 sont des paramètres obligatoires",
-                                 into=("A1","IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1",
-                                       "RZ1","RT1","JG1","IYR21","IZR21","AI1",
-                                       "A2","IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2",
-                                       "RZ2","RT2","JG2","IYR22","IZR22","AI2") ),
-               VALE            =SIMP(statut='o',typ='R',min=8 ,max=30),
-             ),
+           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='f',typ='R',min=3,max=3),
            ),
-           b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
-             VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut="CONSTANT"),
-             b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
-               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=4,
-                                 into=("H","EP", "HY","HZ","EPY","EPZ") ),
-               VALE            =SIMP(statut='o',typ='R',min=1 ,max=4),
-             ),
-             b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
-               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=8,
-                                     into=("H1","HZ1","HY1","EP1","EPY1","EPZ1",
-                                           "H2","HZ2","HY2","EP2","EPY2","EPZ2") ),
-               VALE            =SIMP(statut='o',typ='R',min=2 ,max=8),
-             ),
-             b_affine =BLOC( condition = "VARI_SECT=='AFFINE'",
-               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=3 ,max=6,
-                                     into=("HY","EPY", "HZ1","EPZ1","HZ2","EPZ2") ),
-               VALE            =SIMP(statut='o',typ='R',min=3 ,max=6),
-             ),
+
+           b_nmait_vecty    =BLOC(condition = "VECT_MAIT == 'VECT_Y'",
+             MAIT_VECT_Y   =SIMP(statut='f',typ='R',min=3,max=3),
            ),
-           b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
-             VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
-             b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
-               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=2,
-                                 fr="R est un paramètre obligatoire",
-                                     into=("R","EP") ),
-               VALE            =SIMP(statut='o',typ='R',min=1 ,max=2),
-             ),
-             b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
-               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=4,
-                                 fr="R1, R2 sont des paramètres obligatoires",
-                                     into=("R1","R2","EP1","EP2") ),
-               VALE            =SIMP(statut='o',typ='R',min=2 ,max=4),
-             ),
-             MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
-             FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-             TUYAU_NSEC      =SIMP(statut='f',typ='I',val_max=32,defaut=16),
-             TUYAU_NCOU      =SIMP(statut='f',typ='I',val_max=10,defaut=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='f',typ='R',min=3,max=3),
            ),
-         ),
 
-#============================================================================
-         BARRE           =FACT(statut='f',max='**',
-           regles=(UN_PARMI('MAILLE','GROUP_MA'),),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           SECTION         =SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ),
-           b_generale      =BLOC( condition = "SECTION=='GENERALE'",
-             CARA            =SIMP(statut='o',typ='TXM',into=("A",) ),
-             VALE            =SIMP(statut='o',typ='R',min=1,max=1 ),
+           b_nescl_vecty    =BLOC(condition = "VECT_ESCL == 'VECT_Y'",
+             ESCL_VECT_Y   =SIMP(statut='f',typ='R',min=3,max=3),
            ),
-           b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
-             CARA            =SIMP(statut='o',typ='TXM',into=("H","EP",
-                                                              "HZ","HY","EPY","EPZ"),
-                                                        validators=NoRepeat(),min=1,max=4 ),
-             VALE            =SIMP(statut='o',typ='R',min=1,max=4 ),
+
+
+           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),
            ),
-           b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
-             CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=2,into=("R","EP") ),
-             VALE            =SIMP(statut='o',typ='R',min=1,max=2 ),
+           
+           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) ),
+             ),
            ),
-           FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-         ),
+           
+           DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
 
-#============================================================================
-         COQUE           =FACT(statut='f',max='**',
-           regles=(UN_PARMI('MAILLE','GROUP_MA' ),
-                   PRESENT_PRESENT( 'EXCENTREMENT','INER_ROTA' ),
-                   EXCLUS('ANGL_REP','VECTEUR'),),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           EPAIS           =SIMP(statut='o',typ='R' ),
-           ANGL_REP        =SIMP(statut='f',typ='R',min=2,max=2),
-           VECTEUR         =SIMP(statut='f',typ='R',min=3,max=3),
-           A_CIS           =SIMP(statut='c',typ='R',defaut= 0.8333333E0),
-           COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-5 ),
-           COQUE_NCOU      =SIMP(statut='f',typ='I',defaut= 1 ),
-           EXCENTREMENT    =SIMP(statut='f',typ='R' ),
-           INER_ROTA       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-           MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
-         ),
 
-#============================================================================
-         CABLE           =FACT(statut='f',max='**',
-           regles=(UN_PARMI('MAILLE','GROUP_MA'),),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           N_INIT          =SIMP(statut='f',typ='R',defaut= 5000. ),
-           SECTION         =SIMP(statut='f',typ='R' ),
-           FCX             =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),  
+                
+                      
+           b_xfem         =BLOC(condition = "METHODE == 'XFEM' ",
+             FISS_MAIT      = SIMP(statut='o',typ=fiss_xfem,max=1),
+             FISS_ESCL      = SIMP(statut='f',typ=fiss_xfem,max=1),
+             SIGN_MAIT      = SIMP(statut='f',typ='TXM',into=("+","-",) ),
+             SIGN_ESCL      = SIMP(statut='f',typ='TXM',into=("+","-",) ),
+             INTEGRATION    = SIMP(statut='f',typ='TXM',defaut="FPG4",into=("GAUSS","FPG2","FPG3","FPG4","FPG6","FPG7","NOEUD",) ),
+             COEF_REGU_CONT = SIMP(statut='f',typ='R',defaut=100.E+0),
+             ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut=30),
+             ITER_GEOM_MAXI  =SIMP(statut='f',typ='I',defaut=0),
 
-#============================================================================
-         DISCRET         =FACT(statut='f',max='**',
-           REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
-           AMOR_HYST       =SIMP(statut='f',typ='R' ),
-           CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
-          fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
-                                 into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
-                                       "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
-                                       "M_T_D_N","M_TR_D_N","M_T_N",
-                                       "M_T_L",  "M_TR_N",  "M_TR_L",
-                                       "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
-                                       "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
+             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),
+               SEUIL_INIT     = SIMP(statut='f',typ='R',defaut=0.E+0),
+               ),
+           ),
 
-# affection des caractéristiques de RIGIDITE/AMORTISSEMENT
-              b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE     =SIMP(statut='f',typ='R',min=3 ,max=3 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
-              b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
-              b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
-              b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
-              b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
-              b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=21,max=21),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
-              b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=21,max=21),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
-              b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=78,max=78),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=78 ,max=78 ),),
+           b_notxfem         =BLOC(condition = "METHODE != 'XFEM' ",
+                                   regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_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='**'),
+           ),
 
-# affection des caractéristiques de MASSE
-              b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
-          fr="NOEUD: 1 valeur de masse",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=1 ,max=1 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=1 ,max=1 ),),
-              b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
-          fr="NOEUD: 1 valeur de masse, 6 valeurs du tenseur d'inertie, 3 composantes du vecteur d'excentricité",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=10,max=10),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=10 ,max=10 ),),
-              b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
-          fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
-              b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
-          fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=21,max=21),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
-              b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
-          fr="NOEUD: 21 valeurs de masse (triangulaire supérieure par colonne)",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=21,max=21),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
-              b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
-          fr="SEGMENT: 78 valeurs de masse (triangulaire supérieure par colonne)",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=78,max=78),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=78 ,max=78 ),),
-         ),
 
-#============================================================================
-         DISCRET_2D      =FACT(statut='f',max='**',
-           REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
-           AMOR_HYST       =SIMP(statut='f',typ='R' ),
-           CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
-          fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
-                                 into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
-                                       "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
-                                       "M_T_D_N","M_T_N",  "M_TR_D_N",
-                                       "M_T_L",  "M_TR_N",  "M_TR_L",
-                                       "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
-                                       "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
 
-# affection des caractéristiques de RIGIDITE/AMORTISSEMENT
-              b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=2 ,max=2 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=2 ,max=2 ),),
-              b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=2 ,max=2 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=2 ,max=2 ),),
-              b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
-              b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
-              b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
-              b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=10,max=10),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=10 ,max=10 ),),
-              b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=6 ,max=6),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
-              b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=21,max=21),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
+           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.),
 
-# affection des caractéristiques de MASSE
-              b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
-          fr="NOEUD: 1 valeur de masse",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=1 ,max=1 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=1 ,max=1 ),),
-              b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
-          fr="NOEUD: 1 valeur de masse(m), 1 valeur d'inertie(Izz), 2 composantes du vecteur d'excentricité(ex,ey) ",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=4 ,max=4 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=4 ,max=4 ),),
-              b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
-          fr="NOEUD: 3 valeurs de masse (triangulaire supérieure par colonne)",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
-              b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
-          fr="SEGMENT: 10 valeurs de masse (triangulaire supérieure par colonne)",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=10,max=10),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=10 ,max=10 ),),
-              b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
-          fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
-              b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
-          fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
-                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
-                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               VALE =SIMP(statut='f',typ='R',min=21,max=21),
-                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
-         ),
+                GROUP_MA_FOND   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           ),
 
-#============================================================================
-         ORIENTATION     =FACT(statut='f',max='**',
-           regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-           CARA            =SIMP(statut='o',typ='TXM',
-                                 into=("VECT_Y","ANGL_VRIL","VECT_X_Y","ANGL_NAUT","GENE_TUYAU") ),
-           VALE            =SIMP(statut='o',typ='R',max='**'),
-           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-4 ),
-           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-         ),
+           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.),
+                                 ),
 
-#============================================================================
-         DEFI_ARC        =FACT(statut='f',max='**',
-           regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                   UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE',
-                            'POIN_TANG','NOEUD_POIN_TANG','GROUP_NO_POIN_TG'),
-                   PRESENT_PRESENT('ORIE_ARC','RAYON'),
-                   EXCLUS('COEF_FLEX','COEF_FLEX_XY'),
-                   EXCLUS('COEF_FLEX','COEF_FLEX_XZ'),
-                   EXCLUS('INDI_SIGM','INDI_SIGM_XY'),
-                   EXCLUS('INDI_SIGM','INDI_SIGM_XZ'),
-                   PRESENT_PRESENT('COEF_FLEX_XY','COEF_FLEX_XZ'),
-                   PRESENT_PRESENT('INDI_SIGM_XY','INDI_SIGM_XZ'),),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           ORIE_ARC        =SIMP(statut='f',typ='R'),
-           CENTRE          =SIMP(statut='f',typ='R',max='**'),
-           NOEUD_CENTRE    =SIMP(statut='f',typ=no),
-           GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
-           POIN_TANG       =SIMP(statut='f',typ='R',max='**'),
-           NOEUD_POIN_TANG =SIMP(statut='f',typ=no),
-           GROUP_NO_POIN_TG=SIMP(statut='f',typ=grno),
-           RAYON           =SIMP(statut='f',typ='R'),
-           COEF_FLEX       =SIMP(statut='f',typ='R'),
-           INDI_SIGM       =SIMP(statut='f',typ='R'),
-           COEF_FLEX_XY    =SIMP(statut='f',typ='R'),
-           INDI_SIGM_XY    =SIMP(statut='f',typ='R'),
-           COEF_FLEX_XZ    =SIMP(statut='f',typ='R'),
-           INDI_SIGM_XZ    =SIMP(statut='f',typ='R'),
-           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
-           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-         ),
+                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")),
 
-#============================================================================
-         MASSIF          =FACT(statut='f',max='**',
-           regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                   UN_PARMI('ANGL_REP','ANGL_AXE','ANGL_EULER'),
-                   EXCLUS('ANGL_REP','ANGL_EULER'),
-                   EXCLUS('ANGL_REP','ANGL_AXE'),
-                   EXCLUS('ANGL_REP','ORIG_AXE'),
-                   PRESENT_PRESENT('ANGL_AXE','ORIG_AXE'), ),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           ANGL_REP        =SIMP(statut='f',typ='R',max=3),
-           ANGL_EULER      =SIMP(statut='f',typ='R',min=3,max=3),
-           ANGL_AXE        =SIMP(statut='f',typ='R',max=2),
-           ORIG_AXE        =SIMP(statut='f',typ='R',max=3),
-         ),
+                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='**'),
+                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
 
-#============================================================================
-         POUTRE_FLUI     =FACT(statut='f',max='**',
-           regles=(UN_PARMI('MAILLE','GROUP_MA'),),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           B_T             =SIMP(statut='o',typ='R'),
-           B_N             =SIMP(statut='o',typ='R'),
-           B_TN            =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
-           A_FLUI          =SIMP(statut='o',typ='R'),
-           A_CELL          =SIMP(statut='o',typ='R'),
-           COEF_ECHELLE    =SIMP(statut='o',typ='R'),
-         ),
+           ),
+           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),
 
-#============================================================================
-         GRILLE          =FACT(statut='f',max='**',
-           regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                   EXCLUS('ANGL_REP','ORIG_AXE'),
-                   ENSEMBLE('ORIG_AXE','AXE')),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           SECTION         =SIMP(statut='o',typ='R'),
-           ANGL_REP        =SIMP(statut='f',typ='R',max=2),
-           EXCENTREMENT    =SIMP(statut='f',typ='R'),
-           ORIG_AXE        =SIMP(statut='f',typ='R',max='**'),
-           AXE             =SIMP(statut='f',typ='R',max='**'),
-           COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-10 ),
-           GRILLE_NCOU     =SIMP(statut='f',typ='I',defaut= 1,),
-         ),
+                REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
+                                      into=("AUTOMATIQUE","CONTROLE","SANS")),
 
-#============================================================================
-         RIGI_PARASOL    =FACT(statut='f',max='**',
-            regles=(UN_PARMI('COEF_GROUP','FONC_GROUP'),
-                    UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),
-                    EXCLUS('GROUP_MA_POI1','GROUP_MA_SEG2'),),
-            GROUP_MA        =SIMP(statut='o',typ=ma,validators=NoRepeat(),max='**',
-               fr="Surface servant à répartir les caractéristiques des discrets"),
-            GROUP_MA_POI1   =SIMP(statut='f',typ=ma,validators=NoRepeat(),max=1,
-               fr="Mailles de type point correspondant aux discrets"),
-            GROUP_MA_SEG2   =SIMP(statut='f',typ=ma,validators=NoRepeat(),max=1,
-               fr="Mailles de type seg2 correspondant aux discrets"),
-            FONC_GROUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-            COEF_GROUP      =SIMP(statut='f',typ='R',max='**'),
-            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
-            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,
-                            into=("K_TR_D_N","K_T_D_N","K_TR_D_L","K_T_D_L",
-                                  "A_TR_D_N","A_T_D_N","A_TR_D_L","A_T_D_L") ),
-            VALE            =SIMP(statut='o',typ='R',max='**'),
-            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
-            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
-            COOR_CENTRE     =SIMP(statut='f',typ='R',min=2,max=3),
-         ),
+                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'),
 
-#============================================================================
-         RIGI_MISS_3D    =FACT(statut='f',max='**',
-           GROUP_MA_POI1   =SIMP(statut='o',typ=ma,max=1),
-           GROUP_MA_SEG2   =SIMP(statut='f',typ=ma,max=1),
-           FREQ_EXTR       =SIMP(statut='o',typ='R',max=1),
-           UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),
-         ),
+                                 ),
 
-#============================================================================
-         GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster,
-                   fr="Donner le nom de la SD regroupant tous les groupes de fibres (issue de DEFI_GEOM_FIBRE)"),
-         MULTIFIBRE     =FACT(statut='f',max='**',
-              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
 
-              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
 
-              GROUP_FIBRE     =SIMP(statut='o',typ='TXM',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",) ),
+                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'),
+                                 ),
 
-) ;
-#& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
-#
-# 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.      
-# ======================================================================
-AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op=  68,sd_prod=char_acou,
-                    fr="Affectation de charges et conditions aux limites acoustiques constantes",
-                    reentrant='n',
-            UIinfo={"groupes":("Modélisation",)},
-         regles=(AU_MOINS_UN('PRES_IMPO','VITE_FACE','IMPE_FACE','LIAISON_UNIF' ),),
-         MODELE          =SIMP(statut='o',typ=modele_sdaster ),
-         VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-         PRES_IMPO       =FACT(statut='f',max='**',
-           regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
-           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='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-           PRES            =SIMP(statut='o',typ='C' ),
-         ),
-         VITE_FACE       =FACT(statut='f',max='**',
-             regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
-                     PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
-           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='**'),
-           VNOR            =SIMP(statut='o',typ='C' ),
-         ),
-         IMPE_FACE       =FACT(statut='f',max='**',
-             regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
-                     PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
-           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='**'),
-           IMPE            =SIMP(statut='o',typ='C' ),
-         ),
-         LIAISON_UNIF    =FACT(statut='f',max='**',
-           regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE' ),),
-           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           DDL             =SIMP(statut='o',typ='TXM',max='**'),
-         ),
-)  ;
-#& MODIF COMMANDE  DATE 08/10/2007   AUTEUR PELLET J.PELLET 
+                SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
+                
+
+
+                b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
+                     COULOMB         =SIMP(statut='o',typ='R',),
+                     E_T             =SIMP(statut='f',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"),),
+                b_glissiere =BLOC(condition = "GLISSIERE == 'OUI' ",
+                                  ALARME_JEU  =SIMP(statut='f',typ='R',defaut=0.),),
+# --------------------------------
+                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=3, 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"),
+                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
+                                      into=("OUI","NON")),
+                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='**'),
+                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
+           ),
+         );
+
+
+
+#& MODIF COMMUN  DATE 22/04/2008   AUTEUR ABBAS M.ABBAS 
 #            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.
+# 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.        
+# ======================================================================
+
+def C_CONTACT_F() : 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") ),
 #
-# 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.
+# OPTIONS D'APPARIEMENT
 #
-# 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 VABHHTS J.PELLET
-def affe_char_cine_prod(MECA_IMPO,THER_IMPO,ACOU_IMPO,EVOL_IMPO,**args):
-  if MECA_IMPO != None  : return char_cine_meca
-  if THER_IMPO != None  : return char_cine_ther
-  if ACOU_IMPO != None  : return char_cine_acou
-  if EVOL_IMPO != None  :
-      if AsType(EVOL_IMPO) in (evol_elas,evol_noli) :
-          return char_cine_meca
-      elif AsType(EVOL_IMPO) in (evol_ther,) :
-          return char_cine_ther
-      else :
-          raise AsException("Extension à faire ...")
 
-  raise AsException("type de concept resultat non prevu")
+           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")),                      
 
-AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
-                    ,fr="Affectation de conditions aux limites cinématiques constantes pour un traitement sans dualisation",
-                     reentrant='n',
-            UIinfo={"groupes":("Modélisation",)},
-         regles=(UN_PARMI('MECA_IMPO','THER_IMPO','ACOU_IMPO','EVOL_IMPO'),
-                 ),
-         MODELE          =SIMP(statut='o',typ=modele_sdaster ),
-         EVOL_IMPO  =SIMP(statut='f',typ=(evol_noli,evol_elas,evol_ther),fr="Pour imposer tous les ddls d'un evol_xxx"),
-         MECA_IMPO       =FACT(statut='f',max='**',
-           regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
-                   AU_MOINS_UN('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','DCX','DCY','DCZ',
-                               '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'),),
-             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='**'),
-             GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-             NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-             DX              =SIMP(statut='f',typ='R' ),
-             DY              =SIMP(statut='f',typ='R' ),
-             DZ              =SIMP(statut='f',typ='R' ),
-             DRX             =SIMP(statut='f',typ='R' ),
-             DRY             =SIMP(statut='f',typ='R' ),
+           b_nmait_fixe     =BLOC(condition = "VECT_MAIT == 'FIXE'",
+             MAIT_FIXE     =SIMP(statut='f',typ='R',min=3,max=3),
+           ),
+
+           b_nmait_vecty    =BLOC(condition = "VECT_MAIT == 'VECT_Y'",
+             MAIT_VECT_Y   =SIMP(statut='f',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='f',typ='R',min=3,max=3),
+           ),
+
+           b_nescl_vecty    =BLOC(condition = "VECT_ESCL == 'VECT_Y'",
+             ESCL_VECT_Y   =SIMP(statut='f',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")),
+           DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),                     
+
+           b_cara         =BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'",
+             CARA_ELEM       =SIMP(statut='o',typ=(cara_elem) ),
+           ),
+
+           TOLE_APPA       =SIMP(statut='f',typ='R'  ,defaut=-1.0),
+           TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),  
+                
+                      
+           b_xfem         =BLOC(condition = "METHODE == 'XFEM' ",
+             FISS_MAIT      = SIMP(statut='o',typ=fiss_xfem,max=1),
+             FISS_ESCL      = SIMP(statut='f',typ=fiss_xfem,max=1),
+             SIGN_MAIT      = SIMP(statut='f',typ='TXM',into=("+","-",) ),
+             SIGN_ESCL      = SIMP(statut='f',typ='TXM',into=("+","-",) ),
+             INTEGRATION    = SIMP(statut='f',typ='TXM',defaut="FPG4",into=("GAUSS","FPG4","FPG6","FPG7",) ),
+             COEF_REGU_CONT = SIMP(statut='f',typ='R',defaut=100.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),
+               SEUIL_INIT     = SIMP(statut='f',typ='R',defaut=0.E+0),
+               ),
+           ),
+
+           b_notxfem         =BLOC(condition = "METHODE != 'XFEM' ",
+                                   regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_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='**'),
+           ),
+
+
+
+           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='**'),
+                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
+
+           ),
+           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='**'),
+                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
+
+                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",) ),
+                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='**'),
+                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
+                
+
+
+                b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
+                     COULOMB         =SIMP(statut='o',typ='R',),
+                     E_T             =SIMP(statut='f',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"),),
+                b_glissiere =BLOC(condition = "GLISSIERE == 'OUI' ",
+                                  ALARME_JEU  =SIMP(statut='f',typ='R',defaut=0.),),
+# --------------------------------
+                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=3, 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"),
+                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
+                                      into=("OUI","NON")),
+                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='**'),
+                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
+           ),
+         );
+
+
+
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.
+#
+# 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 FLEJOU J-L.FLEJOU
+AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
+                    fr="Affectation de caractéristiques à des éléments de structure",
+                    reentrant='n',
+            UIinfo={"groupes":("Modélisation",)},
+         regles=(AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF',
+                             'GRILLE','MULTIFIBRE','RIGI_PARASOL'),
+                             PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE'),),
+         MODELE          =SIMP(statut='o',typ=modele_sdaster ),
+         INFO            =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
+         VERIF           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("MAILLE","NOEUD") ),
+
+#============================================================================
+         POUTRE          =FACT(statut='f',max='**',
+           regles=(UN_PARMI('MAILLE','GROUP_MA'),),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           SECTION         =SIMP(statut='o',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ),
+           PREC_AIRE       =SIMP(statut='f',typ='R',defaut=0.01),
+           PREC_INERTIE    =SIMP(statut='f',typ='R',defaut=0.1),
+           b_generale      =BLOC( condition = "SECTION=='GENERALE'",
+             VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
+             b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=4 ,max=15,
+                                 fr="A,IY,IZ,JX sont des paramètres obligatoires",
+                                 into=("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT",
+                                       "JG","IYR2","IZR2","AI") ),
+               VALE            =SIMP(statut='o',typ='R',min=4 ,max=15),
+             ),
+             b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=8 ,max=30,
+                                 fr="A1,A2,IY1,IY2,IZ1,IZ2,JX1,JX2 sont des paramètres obligatoires",
+                                 into=("A1","IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1",
+                                       "RZ1","RT1","JG1","IYR21","IZR21","AI1",
+                                       "A2","IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2",
+                                       "RZ2","RT2","JG2","IYR22","IZR22","AI2") ),
+               VALE            =SIMP(statut='o',typ='R',min=8 ,max=30),
+             ),
+           ),
+           b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
+             VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut="CONSTANT"),
+             b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=4,
+                                 into=("H","EP", "HY","HZ","EPY","EPZ") ),
+               VALE            =SIMP(statut='o',typ='R',min=1 ,max=4),
+             ),
+             b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=8,
+                                     into=("H1","HZ1","HY1","EP1","EPY1","EPZ1",
+                                           "H2","HZ2","HY2","EP2","EPY2","EPZ2") ),
+               VALE            =SIMP(statut='o',typ='R',min=2 ,max=8),
+             ),
+             b_affine =BLOC( condition = "VARI_SECT=='AFFINE'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=3 ,max=6,
+                                     into=("HY","EPY", "HZ1","EPZ1","HZ2","EPZ2") ),
+               VALE            =SIMP(statut='o',typ='R',min=3 ,max=6),
+             ),
+           ),
+           b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
+             VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
+             b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=2,
+                                 fr="R est un paramètre obligatoire",
+                                     into=("R","EP") ),
+               VALE            =SIMP(statut='o',typ='R',min=1 ,max=2),
+             ),
+             b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=4,
+                                 fr="R1, R2 sont des paramètres obligatoires",
+                                     into=("R1","R2","EP1","EP2") ),
+               VALE            =SIMP(statut='o',typ='R',min=2 ,max=4),
+             ),
+             MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+             FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+             TUYAU_NSEC      =SIMP(statut='f',typ='I',val_max=32,defaut=16),
+             TUYAU_NCOU      =SIMP(statut='f',typ='I',val_max=10,defaut=3),
+           ),
+         ),
+
+#============================================================================
+         BARRE           =FACT(statut='f',max='**',
+           regles=(UN_PARMI('MAILLE','GROUP_MA'),),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           SECTION         =SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ),
+           b_generale      =BLOC( condition = "SECTION=='GENERALE'",
+             CARA            =SIMP(statut='o',typ='TXM',into=("A",) ),
+             VALE            =SIMP(statut='o',typ='R',min=1,max=1 ),
+           ),
+           b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
+             CARA            =SIMP(statut='o',typ='TXM',into=("H","EP",
+                                                              "HZ","HY","EPY","EPZ"),
+                                                        validators=NoRepeat(),min=1,max=4 ),
+             VALE            =SIMP(statut='o',typ='R',min=1,max=4 ),
+           ),
+           b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
+             CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=2,into=("R","EP") ),
+             VALE            =SIMP(statut='o',typ='R',min=1,max=2 ),
+           ),
+           FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         ),
+
+#============================================================================
+         COQUE           =FACT(statut='f',max='**',
+           regles=(UN_PARMI('MAILLE','GROUP_MA' ),
+                   PRESENT_PRESENT( 'EXCENTREMENT','INER_ROTA' ),
+                   AU_MOINS_UN('EPAIS','EPAIS_F',),PRESENT_ABSENT('EPAIS','EPAIS_F',),
+                   EXCLUS('ANGL_REP','VECTEUR'),),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           EPAIS           =SIMP(statut='f',typ='R' ),
+           EPAIS_F         =SIMP(statut='f',typ=(para_sensi,),min=1 ,max=1 ),
+           ANGL_REP        =SIMP(statut='f',typ='R',min=2,max=2),
+           VECTEUR         =SIMP(statut='f',typ='R',min=3,max=3),
+           A_CIS           =SIMP(statut='c',typ='R',defaut= 0.8333333E0),
+           COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-5 ),
+           COQUE_NCOU      =SIMP(statut='f',typ='I',defaut= 1 ),
+           EXCENTREMENT    =SIMP(statut='f',typ='R' ),
+           INER_ROTA       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+           MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+         ),
+
+#============================================================================
+         CABLE           =FACT(statut='f',max='**',
+           regles=(UN_PARMI('MAILLE','GROUP_MA'),),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           N_INIT          =SIMP(statut='f',typ='R',defaut= 5000. ),
+           SECTION         =SIMP(statut='f',typ='R' ),
+           FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         ),
+
+#============================================================================
+         DISCRET         =FACT(statut='f',max='**',
+           REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
+           AMOR_HYST       =SIMP(statut='f',typ='R' ),
+           CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
+          fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
+                                 into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
+                                       "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
+                                       "M_T_D_N","M_TR_D_N","M_T_N",
+                                       "M_T_L",  "M_TR_N",  "M_TR_L",
+                                       "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
+                                       "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
+
+# affection des caractéristiques de RIGIDITE/AMORTISSEMENT
+              b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE     =SIMP(statut='f',typ='R',min=3 ,max=3 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
+              b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
+              b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
+              b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
+              b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
+              b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=21,max=21),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
+              b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=21,max=21),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
+              b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=78,max=78),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=78 ,max=78 ),),
+
+# affection des caractéristiques de MASSE
+              b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
+          fr="NOEUD: 1 valeur de masse",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=1 ,max=1 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=1 ,max=1 ),),
+              b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
+          fr="NOEUD: 1 valeur de masse, 6 valeurs du tenseur d'inertie, 3 composantes du vecteur d'excentricité",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=10,max=10),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=10 ,max=10 ),),
+              b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
+          fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
+              b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
+          fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=21,max=21),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
+              b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
+          fr="NOEUD: 21 valeurs de masse (triangulaire supérieure par colonne)",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=21,max=21),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
+              b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
+          fr="SEGMENT: 78 valeurs de masse (triangulaire supérieure par colonne)",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=78,max=78),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=78 ,max=78 ),),
+         ),
+
+#============================================================================
+         DISCRET_2D      =FACT(statut='f',max='**',
+           REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
+           AMOR_HYST       =SIMP(statut='f',typ='R' ),
+           CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
+          fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
+                                 into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
+                                       "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
+                                       "M_T_D_N","M_T_N",  "M_TR_D_N",
+                                       "M_T_L",  "M_TR_N",  "M_TR_L",
+                                       "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
+                                       "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
+
+# affection des caractéristiques de RIGIDITE/AMORTISSEMENT
+              b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=2 ,max=2 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=2 ,max=2 ),),
+              b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=2 ,max=2 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=2 ,max=2 ),),
+              b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
+              b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
+              b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
+              b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=10,max=10),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=10 ,max=10 ),),
+              b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=6 ,max=6),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
+              b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=21,max=21),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
+
+# affection des caractéristiques de MASSE
+              b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
+          fr="NOEUD: 1 valeur de masse",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=1 ,max=1 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=1 ,max=1 ),),
+              b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
+          fr="NOEUD: 1 valeur de masse(m), 1 valeur d'inertie(Izz), 2 composantes du vecteur d'excentricité(ex,ey) ",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=4 ,max=4 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=4 ,max=4 ),),
+              b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
+          fr="NOEUD: 3 valeurs de masse (triangulaire supérieure par colonne)",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=3 ,max=3 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=3 ,max=3 ),),
+              b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
+          fr="SEGMENT: 10 valeurs de masse (triangulaire supérieure par colonne)",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=10,max=10),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=10 ,max=10 ),),
+              b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
+          fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               NOEUD    =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_NO =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=6 ,max=6 ),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=6 ,max=6 ),),
+              b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
+          fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
+                               regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                                       AU_MOINS_UN('VALE','VALE_F',),PRESENT_ABSENT('VALE','VALE_F',),),
+                               MAILLE   =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               VALE =SIMP(statut='f',typ='R',min=21,max=21),
+                               VALE_F =SIMP(statut='f',typ=(para_sensi,),min=21 ,max=21 ),),
+         ),
+
+#============================================================================
+         ORIENTATION     =FACT(statut='f',max='**',
+           regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+           CARA            =SIMP(statut='o',typ='TXM',
+                                 into=("VECT_Y","ANGL_VRIL","VECT_X_Y","ANGL_NAUT","GENE_TUYAU") ),
+           VALE            =SIMP(statut='o',typ='R',max='**'),
+           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-4 ),
+           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+         ),
+
+#============================================================================
+         DEFI_ARC        =FACT(statut='f',max='**',
+           regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                   UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE',
+                            'POIN_TANG','NOEUD_POIN_TANG','GROUP_NO_POIN_TG'),
+                   PRESENT_PRESENT('ORIE_ARC','RAYON'),
+                   EXCLUS('COEF_FLEX','COEF_FLEX_XY'),
+                   EXCLUS('COEF_FLEX','COEF_FLEX_XZ'),
+                   EXCLUS('INDI_SIGM','INDI_SIGM_XY'),
+                   EXCLUS('INDI_SIGM','INDI_SIGM_XZ'),
+                   PRESENT_PRESENT('COEF_FLEX_XY','COEF_FLEX_XZ'),
+                   PRESENT_PRESENT('INDI_SIGM_XY','INDI_SIGM_XZ'),),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           ORIE_ARC        =SIMP(statut='f',typ='R'),
+           CENTRE          =SIMP(statut='f',typ='R',max='**'),
+           NOEUD_CENTRE    =SIMP(statut='f',typ=no),
+           GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
+           POIN_TANG       =SIMP(statut='f',typ='R',max='**'),
+           NOEUD_POIN_TANG =SIMP(statut='f',typ=no),
+           GROUP_NO_POIN_TG=SIMP(statut='f',typ=grno),
+           RAYON           =SIMP(statut='f',typ='R'),
+           COEF_FLEX       =SIMP(statut='f',typ='R'),
+           INDI_SIGM       =SIMP(statut='f',typ='R'),
+           COEF_FLEX_XY    =SIMP(statut='f',typ='R'),
+           INDI_SIGM_XY    =SIMP(statut='f',typ='R'),
+           COEF_FLEX_XZ    =SIMP(statut='f',typ='R'),
+           INDI_SIGM_XZ    =SIMP(statut='f',typ='R'),
+           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
+           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+         ),
+
+#============================================================================
+         MASSIF          =FACT(statut='f',max='**',
+           regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                   UN_PARMI('ANGL_REP','ANGL_AXE','ANGL_EULER'),
+                   EXCLUS('ANGL_REP','ANGL_EULER'),
+                   EXCLUS('ANGL_REP','ANGL_AXE'),
+                   EXCLUS('ANGL_REP','ORIG_AXE'),
+                   PRESENT_PRESENT('ANGL_AXE','ORIG_AXE'), ),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           ANGL_REP        =SIMP(statut='f',typ='R',max=3),
+           ANGL_EULER      =SIMP(statut='f',typ='R',min=3,max=3),
+           ANGL_AXE        =SIMP(statut='f',typ='R',max=2),
+           ORIG_AXE        =SIMP(statut='f',typ='R',max=3),
+         ),
+
+
+#============================================================================
+         POUTRE_FLUI     =FACT(statut='f',max='**',
+           regles=(UN_PARMI('MAILLE','GROUP_MA'),),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           B_T             =SIMP(statut='o',typ='R'),
+           B_N             =SIMP(statut='o',typ='R'),
+           B_TN            =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
+           A_FLUI          =SIMP(statut='o',typ='R'),
+           A_CELL          =SIMP(statut='o',typ='R'),
+           COEF_ECHELLE    =SIMP(statut='o',typ='R'),
+         ),
+
+#============================================================================
+         GRILLE          =FACT(statut='f',max='**',
+           regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                   EXCLUS('ANGL_REP','ORIG_AXE'),
+                   ENSEMBLE('ORIG_AXE','AXE')),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           SECTION         =SIMP(statut='o',typ='R'),
+           ANGL_REP        =SIMP(statut='f',typ='R',max=2),
+           EXCENTREMENT    =SIMP(statut='f',typ='R'),
+           ORIG_AXE        =SIMP(statut='f',typ='R',max='**'),
+           AXE             =SIMP(statut='f',typ='R',max='**'),
+           COEF_RIGI_DRZ   =SIMP(statut='f',typ='R',defaut= 1.0E-10 ),
+           GRILLE_NCOU     =SIMP(statut='f',typ='I',defaut= 1,),
+         ),
+
+#============================================================================
+         RIGI_PARASOL    =FACT(statut='f',max='**',
+            regles=(UN_PARMI('COEF_GROUP','FONC_GROUP'),
+                    UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),
+                    EXCLUS('GROUP_MA_POI1','GROUP_MA_SEG2'),),
+            GROUP_MA        =SIMP(statut='o',typ=ma,validators=NoRepeat(),max='**',
+               fr="Surface servant à répartir les caractéristiques des discrets"),
+            GROUP_MA_POI1   =SIMP(statut='f',typ=ma,validators=NoRepeat(),max=1,
+               fr="Mailles de type point correspondant aux discrets"),
+            GROUP_MA_SEG2   =SIMP(statut='f',typ=ma,validators=NoRepeat(),max=1,
+               fr="Mailles de type seg2 correspondant aux discrets"),
+            FONC_GROUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+            COEF_GROUP      =SIMP(statut='f',typ='R',max='**'),
+            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
+            CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,
+                            into=("K_TR_D_N","K_T_D_N","K_TR_D_L","K_T_D_L",
+                                  "A_TR_D_N","A_T_D_N","A_TR_D_L","A_T_D_L") ),
+            VALE            =SIMP(statut='o',typ='R',max='**'),
+            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
+            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
+            COOR_CENTRE     =SIMP(statut='f',typ='R',min=2,max=3),
+         ),
+
+#============================================================================
+         RIGI_MISS_3D    =FACT(statut='f',max='**',
+           GROUP_MA_POI1   =SIMP(statut='o',typ=ma,max=1),
+           GROUP_MA_SEG2   =SIMP(statut='f',typ=ma,max=1),
+           FREQ_EXTR       =SIMP(statut='o',typ='R',max=1),
+           UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),
+         ),
+
+#============================================================================
+         GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster,
+                   fr="Donner le nom de la SD regroupant tous les groupes de fibres (issue de DEFI_GEOM_FIBRE)"),
+         MULTIFIBRE     =FACT(statut='f',max='**',
+              regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
+
+              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+
+              GROUP_FIBRE     =SIMP(statut='o',typ='TXM',max='**'),
+
+         ),
+
+
+
+) ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.                                 
+#
+# 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 None
+AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op=  68,sd_prod=char_acou,
+                    fr="Affectation de charges et conditions aux limites acoustiques constantes",
+                    reentrant='n',
+            UIinfo={"groupes":("Modélisation",)},
+         regles=(AU_MOINS_UN('PRES_IMPO','VITE_FACE','IMPE_FACE','LIAISON_UNIF' ),),
+         MODELE          =SIMP(statut='o',typ=modele_sdaster ),
+         VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+         PRES_IMPO       =FACT(statut='f',max='**',
+           regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
+           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='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+           PRES            =SIMP(statut='o',typ='C' ),
+         ),
+         VITE_FACE       =FACT(statut='f',max='**',
+             regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
+                     PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
+           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='**'),
+           VNOR            =SIMP(statut='o',typ='C' ),
+         ),
+         IMPE_FACE       =FACT(statut='f',max='**',
+             regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
+                     PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
+           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='**'),
+           IMPE            =SIMP(statut='o',typ='C' ),
+         ),
+         LIAISON_UNIF    =FACT(statut='f',max='**',
+           regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE' ),),
+           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           DDL             =SIMP(statut='o',typ='TXM',max='**'),
+         ),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.
+#
+# 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 PELLET J.PELLET
+def affe_char_cine_prod(MECA_IMPO,THER_IMPO,ACOU_IMPO,EVOL_IMPO,**args):
+  if MECA_IMPO != None  : return char_cine_meca
+  if THER_IMPO != None  : return char_cine_ther
+  if ACOU_IMPO != None  : return char_cine_acou
+  if EVOL_IMPO != None  :
+      if AsType(EVOL_IMPO) in (evol_elas,evol_noli) :
+          return char_cine_meca
+      elif AsType(EVOL_IMPO) in (evol_ther,) :
+          return char_cine_ther
+      else :
+          raise AsException("Extension à faire ...")
+
+  raise AsException("type de concept resultat non prevu")
+
+
+AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
+                    ,fr="Affectation de conditions aux limites cinématiques constantes pour un traitement sans dualisation",
+                     reentrant='n',
+            UIinfo={"groupes":("Modélisation",)},
+         regles=(UN_PARMI('MECA_IMPO','THER_IMPO','ACOU_IMPO','EVOL_IMPO'),
+                 ),
+         MODELE          =SIMP(statut='o',typ=modele_sdaster ),
+         EVOL_IMPO  =SIMP(statut='f',typ=(evol_noli,evol_elas,evol_ther),fr="Pour imposer tous les ddls d'un evol_xxx"),
+         MECA_IMPO       =FACT(statut='f',max='**',
+           regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
+                   AU_MOINS_UN('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','DCX','DCY','DCZ',
+                               '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'),),
+             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='**'),
+             GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+             NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+             DX              =SIMP(statut='f',typ='R' ),
+             DY              =SIMP(statut='f',typ='R' ),
+             DZ              =SIMP(statut='f',typ='R' ),
+             DRX             =SIMP(statut='f',typ='R' ),
+             DRY             =SIMP(statut='f',typ='R' ),
              DRZ             =SIMP(statut='f',typ='R' ),
              GRX             =SIMP(statut='f',typ='R' ),
              PRES            =SIMP(statut='f',typ='R' ),
@@ -1761,7 +2410,7 @@ AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
          ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 08/10/2007   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -1774,11 +2423,12 @@ AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
 # 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.
-#fon
+#
 # 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 PELLET J.PELLET
 def affe_char_cine_f_prod(MECA_IMPO,THER_IMPO,**args):
   if MECA_IMPO != None  : return char_cine_meca
   if THER_IMPO != None  : return char_cine_ther
@@ -1824,7 +2474,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 27/11/2007   AUTEUR BOYERE E.BOYERE 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -1842,7 +2492,7 @@ AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 101,sd_prod=affe_char_cine_f_pr
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE G8BHHXD X.DESROCHES
+# RESPONSABLE DESROCHES X.DESROCHES
 AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
                     fr="Affectation de charges et conditions aux limites mécaniques constantes",
                      reentrant='n',
@@ -1851,7 +2501,7 @@ 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','TEMP_CALCULEE','RELA_CINE_BP','EPSI_INIT','CONTACT',
+                             'VITE_FACE','RELA_CINE_BP','EPSI_INIT','CONTACT',
                              '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',
@@ -1860,8 +2510,6 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
                          ),
          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
          MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
-         TEMP_CALCULEE   =SIMP(statut='f',fr="Champ de température issu d'un autre calcul",
-                               typ=(evol_ther,cham_no_sdaster,carte_sdaster) ),
          EVOL_CHAR       =SIMP(statut='f',fr="Champ de pression issu d'un autre calcul",
                                typ=evol_char ),
 
@@ -2165,6 +2813,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
              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 ),
+             DIST_MIN        =SIMP(statut='f',typ='R'),
              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
            ),
 
@@ -2230,316 +2879,20 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
            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","GCPC",) ),
-
-
-        ),
-#
-# CONTACT
-#
-         CONTACT         =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") ),
-
-           APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
-                              into=("RIGIDE","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")),
-           RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_BOUCLE",
-                              into=("NOEUD_BOUCLE","NOEUD_VOISIN")),
-           LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",
-                              into=("OUI","NON")),
-           DIST_POUTRE     =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
-           DIST_COQUE      =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
-           NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",
-                              into=("MAIT","MAIT_ESCL")),
-
-           PROJECTION      =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",
-                                 into=("LINEAIRE","QUADRATIQUE") ),
-
-
-           b_xfem         =BLOC(condition = "METHODE == 'XFEM' ",
-             FISS_MAIT      = SIMP(statut='o',typ=fiss_xfem,max=1),
-             FISS_ESCL      = SIMP(statut='f',typ=fiss_xfem,max=1),
-             SIGN_MAIT      = SIMP(statut='f',typ='TXM',into=("+","-",) ),
-             SIGN_ESCL      = SIMP(statut='f',typ='TXM',into=("+","-",) ),
-             INTEGRATION    = SIMP(statut='f',typ='TXM',defaut="FPG4",into=("GAUSS","FPG4","FPG6","FPG7",) ),
-             COEF_REGU_CONT = SIMP(statut='f',typ='R',defaut=100.E+0),
-             ITER_CONT_MAXI = SIMP(statut='f',typ='I',defaut=30),
-             ITER_GEOM_MAXI  =SIMP(statut='f',typ='I',defaut=0),
-             TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
-             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),
-               SEUIL_INIT     = SIMP(statut='f',typ='R',defaut=0.E+0),
-               ),
-           ),
-
-           b_notxfem         =BLOC(condition = "METHODE != 'XFEM' ",
-                                   regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_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='**'),
-           ),
-
-           b_cara         =BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'",
-               CARA_ELEM       =SIMP(statut='o',typ=(cara_elem) ),
-           ),
-
-           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.),
-                DIST_MAIT       =SIMP(statut='f',typ='R'),
-                DIST_ESCL       =SIMP(statut='f',typ='R'),
-                VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
-                VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
-                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.),
-                                 ),
-                TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
-                TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
-                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='**'),
-                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
-                VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
-                VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
-                DIST_MAIT       =SIMP(statut='f',typ='R'),
-                DIST_ESCL       =SIMP(statut='f',typ='R'),
-
-           ),
-           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",) ),
-                TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
-                TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
-                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='**'),
-                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
-                DIST_MAIT       =SIMP(statut='f',typ='R'),
-                DIST_ESCL       =SIMP(statut='f',typ='R'),
-
-                regles=(EXCLUS('VECT_Y','VECT_ORIE_POU')),
-
-                VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
-                VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
-                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",) ),
-                TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
-                TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
-                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='**'),
-                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
-                DIST_MAIT       =SIMP(statut='f',typ='R'),
-                DIST_ESCL       =SIMP(statut='f',typ='R'),
-                regles=(EXCLUS('VECT_Y','VECT_ORIE_POU')),
-                VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
-                VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
-
-                b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
-                     COULOMB         =SIMP(statut='o',typ='R',),
-                     E_T             =SIMP(statut='f',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"),),
-                b_glissiere =BLOC(condition = "GLISSIERE == 'OUI' ",
-                                  ALARME_JEU  =SIMP(statut='f',typ='R',defaut=0.),),
-# --------------------------------
-                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"),),
-                DIRE_APPA        =SIMP(statut='f',typ='R',max=3,defaut=(0.,0.,0.,),),
-                ITER_GEOM_MAXI   =SIMP(statut='f',typ='I',defaut=2),
-                ITER_CONT_MAXI   =SIMP(statut='f',typ='I',defaut=30),
-                DIST_MAIT        =SIMP(statut='f',typ='R',defaut=0.),
-                DIST_ESCL        =SIMP(statut='f',typ='R',defaut=0.),
-                VECT_ORIE_POU    =SIMP(statut='f',typ='R',min=3,max=3),
-                TOLE_PROJ_EXT    =SIMP(statut='f',typ='R'  ,defaut=0.50),
-                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",
-                                                VECT_Y =SIMP(statut='f',typ='R',min=3,max=3),
-                                                VECT_Z =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=3, 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"),
-                TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
-                TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
-                TOLE_REAC_GEOM  =SIMP(statut='f',typ='R'  ,defaut=0.05),
-                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
-                                      into=("OUI","NON")),
-                REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
-                        into=("AUTOMATIQUE","CONTROLE","SANS")),
-                b_reac_sans     =BLOC(condition = "REAC_GEOM == 'SANS' ",
-                                 fr="Paramètre de la réactualisation géométrique",
-                      STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="NON",
-                                           into=("OUI","NON")),
-                                 ),
-                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'),
+           COEF_MULT       =SIMP(statut='f',typ='R',max='**'),
+
+           METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",
+                                 into=("CONTRAINTE","GCPC",) ),
 
-                      STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME",
-                                           into=("OUI","NON")),
-                                 ),
-                b_reac_auto     =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ",
-                      fr="Paramètre de la réactualisation géométrique auto",
-                      NB_REAC_MAXI   =SIMP(statut='o',typ='I',defaut = 10),
-                                 ),
-                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='**'),
-                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
-                VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
-                VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
-                DIST_MAIT       =SIMP(statut='f',typ='R'),
-                DIST_ESCL       =SIMP(statut='f',typ='R'),
-           ),
-         ),
 
+        ),
+#
+# CONTACT
+#
+         CONTACT         = C_CONTACT(),
+#
+# FORCES
+#         
          FORCE_NODALE    =FACT(statut='f',fr="Applique à des noeuds des forces nodales",max='**',
            regles=(AU_MOINS_UN('GROUP_NO','NOEUD'),
                    AU_MOINS_UN('FX','FY','FZ','MX','MY','MZ' ),),
@@ -2672,6 +3025,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
            POIDS_1        =SIMP(statut='f',typ='R'),
            POIDS_2        =SIMP(statut='f',typ='R'),
            POIDS_GROSSIER =SIMP(statut='f',typ='R'),
+           UNITE_GMSH     =SIMP(statut='f',typ='I',defaut=0,max=1),
            POIDS_FIN      =SIMP(statut='f',typ='R'),),
 
         FORCE_POUTRE    =FACT(statut='f',max='**',
@@ -2837,6 +3191,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
            CABLE_BP        =SIMP(statut='o',typ=cabl_precont ),
            SIGM_BPEL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
            RELA_CINE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           DIST_MIN        =SIMP(statut='f',typ='R'),
          ),
 
          FORCE_ELEC      =FACT(statut='f',max='**',
@@ -2932,7 +3287,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
 )  ;
 
 
-#& MODIF COMMANDE  DATE 24/08/2005   AUTEUR MABBAS M.ABBAS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -2950,7 +3305,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE G8BHHXD X.DESROCHES
+# RESPONSABLE DESROCHES X.DESROCHES
 AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op=   7,sd_prod=char_meca,
                      fr="Affectation de charges et conditions aux limites mécaniques complexes",
                      reentrant='n',
@@ -3011,7 +3366,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 02/10/2007   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 06/05/2008   AUTEUR CNGUYEN C.NGUYEN 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -3029,7 +3384,7 @@ AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op=   7,sd_prod=char_meca,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE G8BHHXD X.DESROCHES
+# RESPONSABLE DESROCHES X.DESROCHES
 AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
                       fr="Affectation de charges et conditions aux limites mécaniques fonction d'un (ou plusieurs) paramètres",
                       reentrant='n',
@@ -3039,8 +3394,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',
-
-'CONTACT','EFFE_FOND','FLUX_THM_REP','LIAISON_UNILATER'),),
+                            'EFFE_FOND','FLUX_THM_REP','LIAISON_UNILATER'),),
          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),
@@ -3221,202 +3575,6 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
 
 
         ),
-         CONTACT         =FACT(statut='f',
-           fr="Définit les zones soumises à des conditions de contact unilatéral avec ou \sans frottement, certaines valeurs"
-           +" sont données par l'intermédiaire de concept fonction",max='**',
-           regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),),
-           APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
-                                 into=("NODAL","MAIT_ESCL","MAIT_ESCL_SYME")),
-           RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_BOUCLE",into=("NOEUD_BOUCLE","NOEUD_VOISIN")),
-           LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
-           DIST_POUTRE     =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
-           DIST_COQUE      =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
-           NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")),
-           METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",
-                                 into=("CONTRAINTE","VERIF","LAGRANGIEN","PENALISATION","CONTINUE","GCP") ),
-           PROJECTION      =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","QUADRATIQUE") ),
-           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='**'),
-           b_cara         =BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'",
-               CARA_ELEM       =SIMP(statut='o',typ=(cara_elem) ),
-           ),
-
-           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.),
-                DIST_MAIT       =SIMP(statut='f',typ='R'),
-                DIST_ESCL       =SIMP(statut='f',typ='R'),
-                VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
-                VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
-           ),
-
-           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.),
-                                 ),
-                TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
-                TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
-                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="Parametre de la reactualisation geometrique",
-                      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='**'),
-                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
-                VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
-                VECT_ORIE_POU   =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)),
-            ),
-           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",) ),
-                TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
-                TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
-                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="Parametre de la reactualisation geometrique",
-                      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='**'),
-                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
-                DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                regles=(EXCLUS('VECT_Y','VECT_ORIE_POU')),
-                VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
-                VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
-                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",) ),
-                TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
-                TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
-                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='**'),
-                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
-                DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                regles=(EXCLUS('VECT_Y','VECT_ORIE_POU')),
-                VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
-                VECT_ORIE_POU   =SIMP(statut='f',typ='R',min=3,max=3),
-                b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
-                     COULOMB         =SIMP(statut='o',typ='R',),
-                     E_T             =SIMP(statut='f',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'),),
-                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.),
-                                 ),
-                FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
-                COMPLIANCE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
-                INTEGRATION     =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2",
-                                                                                                "NCOTES","NCOTES1","NCOTES2")),
-                COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
-                FORMULATION     =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),
-                DIRE_APPA       =SIMP(statut='f',typ='R',max=3),
-                ITER_GEOM_MAXI  =SIMP(statut='f',typ='I',defaut=2),
-                ITER_CONT_MAXI  =SIMP(statut='f',typ='I',defaut=30),
-                DIST_MAIT       =SIMP(statut='f',typ='R'),
-                DIST_ESCL       =SIMP(statut='f',typ='R'),
-                CONTACT_INIT    =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 de Coulomb",
-                     COULOMB         =SIMP(statut='o',typ='R',),
-                     SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                     SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                     VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
-                     VECT_Z          =SIMP(statut='f',typ='R',min=3,max=3),
-                     ITER_FROT_MAXI  =SIMP(statut='f',typ='I',defaut=2),
-                     COEF_REGU_FROT  =SIMP(statut='f',typ='R',defaut=100.E+0),
-                     SEUIL_INIT      =SIMP(statut='f',typ='I',defaut=0),),),
-
-           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=3, fr="Fréquence de réinitialisation de la conjugaison"),
-                TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
-                TOLE_PROJ_INT   =SIMP(statut='f',typ='R'  ,defaut=0.001),
-                TOLE_REAC_GEOM  =SIMP(statut='f',typ='R'  ,defaut=0.05),
-                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
-                                      into=("OUI","NON")),
-                REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
-                        into=("AUTOMATIQUE","CONTROLE","SANS")),
-                b_reac_sans     =BLOC(condition = "REAC_GEOM == 'SANS' ",
-                                 fr="Paramètre de la réactualisation géométrique",
-
-                      STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="NON",
-                                           into=("OUI","NON")),
-                                 ),
-                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'),
-
-                      STOP_REAC_GEOM =SIMP(statut='f',typ='TXM',defaut="ALARME",
-                                           into=("OUI","NON")),
-                                 ),
-                b_reac_auto     =BLOC(condition = "REAC_GEOM == 'AUTOMATIQUE' ",
-                      fr="Paramètre de la réactualisation géométrique auto",
-                      NB_REAC_MAXI   =SIMP(statut='o',typ='I',defaut = 10),
-                                 ),
-                SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                SANS_NOEUD_QUAD =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
-                VECT_NORM_ESCL  =SIMP(statut='f',typ='R',max=3),
-                VECT_ORIE_POU   =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)),
-           ),
-         ),
 
           LIAISON_UNIF    =FACT(statut='f',max='**',
            fr="Impose une meme valeur (inconnue) à des DDLs d'un ensemble de noeuds",
@@ -3441,6 +3599,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            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 ),
+           DIST_MIN        =SIMP(statut='f',typ='R'),
            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
          ),
 
@@ -3691,7 +3850,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
 )  ;
 
 
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -3709,6 +3868,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE None
 AFFE_CHAR_OPS011=OPER(nom="AFFE_CHAR_OPS011",op= 190,sd_prod=char_ther,
                       fr="Affectation de charges et conditions limites thermiques spécifique à CARA_TORSION",
                       reentrant='n',
@@ -3724,7 +3884,7 @@ AFFE_CHAR_OPS011=OPER(nom="AFFE_CHAR_OPS011",op= 190,sd_prod=char_ther,
          ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 16/05/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -3742,6 +3902,7 @@ AFFE_CHAR_OPS011=OPER(nom="AFFE_CHAR_OPS011",op= 190,sd_prod=char_ther,
 # 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
 AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther
                     ,fr="Affectation de charges et conditions aux limites thermiques constantes",
                     reentrant='n',
@@ -3928,7 +4089,7 @@ AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther
 
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 03/04/2007   AUTEUR DURAND C.DURAND 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -3946,6 +4107,7 @@ AFFE_CHAR_THER=OPER(nom="AFFE_CHAR_THER",op=34,sd_prod=char_ther
 # 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
 AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=34,sd_prod=char_ther,
                      fr="Affectation de charges et conditions aux limites thermiques fonction d'un (ou plusieurs)"
                          +" paramètres (temps, ...)",
@@ -4123,7 +4285,7 @@ AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=34,sd_prod=char_ther,
 
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 16/10/2007   AUTEUR SALMONA L.SALMONA 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4141,7 +4303,7 @@ AFFE_CHAR_THER_F=OPER(nom="AFFE_CHAR_THER_F",op=34,sd_prod=char_ther,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE PELLET J.PELLET
 AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
                    fr="Affecter des matériaux à des zones géométriques d'un maillage",
                          reentrant='n',
@@ -4157,7 +4319,6 @@ AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
            MATER           =SIMP(statut='o',typ=mater_sdaster,max=30),
-           TEMP_REF        =SIMP(statut='f',typ='R'),
          ),
 
          #  affectation du nom du matériau (par noeuds):
@@ -4190,36 +4351,26 @@ AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
           regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
                   PRESENT_ABSENT('GROUP_MA','TOUT'),
                   PRESENT_ABSENT('MAILLE','TOUT'),
-                  UN_PARMI('EVOL','CHAMP_GD'),),
+                  AU_MOINS_UN('EVOL','CHAMP_GD','VALE_REF'),
+                  EXCLUS('EVOL','CHAMP_GD'),
+                  ),
 
           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ), # [défaut]
           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
 
-          CHAMP_GD      =SIMP(statut='f',typ=cham_gd_sdaster,),
-          B_CHAMP_GD    =BLOC(condition="CHAMP_GD!=None",
-              NOM_VARC    =SIMP(statut='o',typ='TXM', into=("TEMP","CORR","IRRA","HYDR","SECH","M_ACIER","M_ZIRC",
+          NOM_VARC        =SIMP(statut='o',typ='TXM', into=("TEMP","CORR","IRRA","HYDR","SECH","M_ACIER","M_ZIRC",
                                                             "EPSA","NEUT1","NEUT2")),
-          ),
+          CHAMP_GD        =SIMP(statut='f',typ=cham_gd_sdaster,),
           EVOL            =SIMP(statut='f',typ=evol_sdaster,),
+
           B_EVOL          =BLOC(condition="EVOL!=None",
-              NOM_VARC    =SIMP(statut='o',typ='TXM', into=("TEMP","CORR","IRRA","HYDR","SECH","M_ACIER",
-                                                            "M_ZIRC","EPSA","NEUT1","NEUT2")),
-              B_NOM_TEMP    =BLOC(condition="NOM_VARC=='TEMP'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'TEMP',),),
-              B_NOM_CORR    =BLOC(condition="NOM_VARC=='CORR'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'CORR',),),
-              B_NOM_IRRA    =BLOC(condition="NOM_VARC=='IRRA'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'IRRA',),),
-              B_NOM_HYDR    =BLOC(condition="NOM_VARC=='HYDR'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'HYDR_ELNO_ELGA',),),
-              B_NOM_SECH    =BLOC(condition="NOM_VARC=='SECH'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'TEMP',),),
-              B_NOM_EPSA    =BLOC(condition="NOM_VARC=='EPSA'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'EPSA_ELNO',),),
-              B_NOM_M_ACIER =BLOC(condition="NOM_VARC=='M_ACIER'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'META_ELNO_TEMP',),),
-              B_NOM_M_ZIRC  =BLOC(condition="NOM_VARC=='M_ZIRC'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'META_ELNO_TEMP',),),
-              B_NOM_NEUT1   =BLOC(condition="NOM_VARC=='NEUT1'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'NEUT',),),
-              B_NOM_NEUT2   =BLOC(condition="NOM_VARC=='NEUT2'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'NEUT',),),
+              NOM_CHAM      =SIMP(statut='f',typ='TXM'),
               PROL_DROITE   =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
               PROL_GAUCHE   =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("CONSTANT","LINEAIRE","EXCLU") ),
               FONC_INST     =SIMP(statut='f',typ=(fonction_sdaster,formule)),
           ),
-          VALE_REF          =SIMP(statut='f',typ='R'),  # defaut=0. pour TEMP (fait dans le fortran : op0006.f)
+          VALE_REF          =SIMP(statut='f',typ='R'),
          ),
 
          #  mots clés cachés pour les variables de commande NEUTi :
@@ -4309,11 +4460,141 @@ AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
            CMP_VARC        =SIMP(statut='c',typ='TXM',max=3,min=3,defaut=("ALPHPUR","ALPHBETA","TZIRC",)),
          ),
 
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
-)  ;
+         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
+# ======================================================================
+# 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.                                 
+#
+# 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 LEFEBVRE J.P.LEFEBVRE
+AIDE=PROC(nom="AIDE",op=42,
+       UIinfo={"groupes":("Modélisation",)},
+       fr="Interroger et imprimer une documentation partielle sur les noms des concepts déjà définis et sur les couples"
+           +" (type d'éléments, option) disponibles dans la version.",
+       regles=(AU_MOINS_UN('CONCEPT','TYPE_ELEM', ),),
+       UNITE       =SIMP(statut='f',typ='I',defaut=8),  
+       TYPE_ELEM   =FACT(fr="couple type_elem option",statut='f',
+         INITEL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
+                        ),
+       CONCEPT     =FACT(statut='f',max='**',
+         NOM          =SIMP(fr="liste des noms de concept",statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="*"),
+         OPTION       =SIMP(fr="option d'édition de concept",statut='f',typ='TXM',defaut="TOUT_TYPE",
+                                 into=("TOUT_TYPE","CREER","A_CREER",) ),
+         ),
+) ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.
+#
+# 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 LEFEBVRE J.P.LEFEBVRE
+DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,repetable='n',
+            UIinfo={"groupes":("Gestion du travail",)},
+           fr="Ouverture d'une étude. Allocation des ressources mémoire et disque et fichiers",
+          sd_prod=ops.DEBUT,
+
+         PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
+                           into=("OUI","NON"),defaut="OUI"),
+         IMPR_MACRO      =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess",
+                           statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"),
+#         FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
+#                               typ='TXM',defaut="NON",into=("OUI","NON",) ),
+         BASE            =FACT(fr="définition des paramètres associés aux bases JEVEUX",
+                               statut='f',min=1,max=2,
+           FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM',
+                                 into=('GLOBALE','VOLATILE'),),
+           TITRE           =SIMP(statut='f',typ='TXM'),
+           CAS             =SIMP(statut='f',typ='TXM'),
+           NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
+           LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
+           LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
+         ),
+
+         IMPRESSION      =FACT(statut='f',min=1,max=3,
+           FICHIER         =SIMP(statut='o',typ='TXM'),
+           UNITE           =SIMP(statut='o',typ='I'),
+         ),
+
+         CATALOGUE       =FACT(statut='f',min=1,max=10,
+           FICHIER         =SIMP(statut='o',typ='TXM'),
+           TITRE           =SIMP(statut='f',typ='TXM'),
+           UNITE           =SIMP(statut='f',typ='I'),
+         ),
+
+         CODE            =FACT(fr="définition d'un nom pour l'ensemble d'une étude",
+                               statut='f',min=1,max=1,
+           NOM             =SIMP(statut='o',typ='TXM'),
+           NIV_PUB_WEB     =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')),
+           VISU_EFICAS     =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI'),
+         ),
+
+         ERREUR          =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1,
+           ERREUR_F        =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),defaut='ABORT'),
+         ),
+
+         DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
+                               statut='f',min=1,max=1,
+           JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
+                                 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
+           SDVERI          =SIMP(fr="vérifie la conformité des SD produites par les commandes",
+                                 statut='f',typ='TXM',into=('OUI','NON')),
+           JEVEUX          =SIMP(fr="force les déchargement sur disque",
+                                 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
+           ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
+                                 statut='f',typ='TXM',into=('TEST',)),
+         ),
+
+         MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
+           GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
+           TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
+           TAILLE          =SIMP(statut='f',typ='I'),
+           TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
+           PARTITION       =SIMP(statut='f',typ='R'),
+           DYNAMIQUE       =SIMP(statut='f',typ='I'),
+         ),
+         RESERVE_CPU     =FACT(fr="reserve de temps pour terminer une execution",statut='d',max=1,
+           regles=(EXCLUS('VALE','POURCENTAGE'),),
+#          par défaut VALE fixée à 10. dans le FORTRAN si CODE présent
+           VALE            =SIMP(statut='f',typ='I',val_min=0,),
+#          par défaut 10% dans le FORTRAN
+           POURCENTAGE     =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0),
+#          valeur en secondes de la réserve maximum bornée à 900 secondes
+           BORNE           =SIMP(statut='f',typ='I',val_min=0,defaut=900),),
 
+         IGNORE_ALARM = SIMP(statut='f', typ='TXM', max='**', fr="Alarmes que l'utilisateur souhaite délibérément ignorer"),
 
-#& MODIF COMMANDE  DATE 18/09/2007   AUTEUR PELLET J.PELLET 
+);
+#& MODIF COMMANDE  DATE 06/05/2008   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4331,7 +4612,7 @@ AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE JMBHH01 J.M.PROIX
+# RESPONSABLE PELLET J.PELLET
 AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster,
             UIinfo={"groupes":("Modélisation",)},
                  fr="Définir le phénomène physique modélisé et le type d'éléments finis sur le maillage",reentrant='n',
@@ -4339,6 +4620,25 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster,
          MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster) ),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
          VERIF           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,into=("MAILLE","NOEUD") ),
+#
+#====
+# Définition des grandeurs caractéristiques
+#====
+#
+         GRANDEUR_CARA =FACT(statut='f',max=1,
+         fr="Grandeurs caractéristiques pour l'adimensionnement des indicateurs d'erreur HM",
+         ang="Characteristic data for HM error estimators adimensionalisation",
+#
+            LONGUEUR      =SIMP(statut='f',typ='R',val_min=0,
+                                fr ="Longueur caractéristique",
+                                ang="Characteristic length",),
+            PRESSION      =SIMP(statut='f',typ='R',val_min=0,
+                                fr ="Pression caractéristique",
+                                ang="Characteristic pressure",),
+            TEMPERATURE   =SIMP(statut='f',typ='R',val_min=0,
+                                fr ="Température caractéristique",
+                                ang="Characteristic temperature",),),
+#
          AFFE_SOUS_STRUC =FACT(statut='f',
            regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
@@ -4357,223 +4657,191 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster,
                 b_mecanique     =BLOC( condition = "PHENOMENE=='MECANIQUE'",
                                         fr="modélisations mécaniques",
                     MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
-                                                                      "2D_DIS_T",
-                                                                      "2D_DIS_TR",
-                                                                      "2D_FLUI_ABSO",
-                                                                      "2D_FLUI_PESA",
-                                                                      "2D_FLUI_STRU",
-                                                                      "2D_FLUIDE",
-                                                                      "3D",
-                                                                      "3D_ABSO",
-                                                                      "3D_FAISCEAU",
-                                                                      "3D_FLUI_ABSO",
-                                                                      "3D_FLUIDE",
-                                                                      "3D_INCO",
-                                                                      "3D_INCO_GD",
-                                                                      "3D_SI",
-                                                                      "3D_GRAD_EPSI",
-                                                                      "3D_GRAD_VARI",
-                                                                      "3D_XFEM_CONT",
-                                                                      "3D_JOINT",
-                                                                      "AXIS",
-                                                                      "AXIS_FLUI_STRU",
-                                                                      "AXIS_FLUIDE",
-                                                                      "AXIS_FOURIER",
-                                                                      "AXIS_INCO",
-                                                                      "AXIS_INCO_GD",
-                                                                      "AXIS_NS",
-                                                                      "AXIS_SI",
-                                                                      "AXIS_GRAD_VARI",
-                                                                      "AXIS_JOINT",
-                                                                      "AXIS_ELDI",
-                                                                      "BARRE",
-                                                                      "2D_BARRE",
-                                                                      "C_PLAN",
-                                                                      "C_PLAN_XFEM_CONT",
-                                                                      "C_PLAN_NS",
-                                                                      "C_PLAN_SI",
-                                                                      "C_PLAN_GRAD_EPSI",
-                                                                      "CABLE",
-                                                                      "CABLE_POULIE",
-                                                                      "COQUE_3D",
-                                                                      "COQUE_AXIS",
-                                                                      "COQUE_C_PLAN",
-                                                                      "COQUE_D_PLAN",
-                                                                      "D_PLAN",
-                                                                      "D_PLAN_XFEM_CONT",
-                                                                      "D_PLAN_GRAD_EPSI",
-                                                                      "D_PLAN_GRAD_VARI",
-                                                                      "D_PLAN_NS",
-                                                                      "PLAN_JOINT",
-                                                                      "PLAN_ELDI",
-                                                                      "D_PLAN_ABSO",
-                                                                      "D_PLAN_INCO",
-                                                                      "D_PLAN_INCO_GD",
-                                                                      "D_PLAN_SI",
-                                                                      "DIS_T",
-                                                                      "DIS_TR",
-                                                                      "DKT",
-                                                                      "DKTG",
-                                                                      "DST",
-                                                                      "FLUI_STRU",
-                                                                      "GRILLE_EXCENTRE",
-                                                                      "GRILLE_MEMBRANE",
-                                                                      "POU_C_T",
-                                                                      "POU_D_E",
-                                                                      "POU_D_EM",
-                                                                      "POU_D_T",
-                                                                      "POU_D_T_GD",
-                                                                      "POU_D_TG",
-                                                                      "POU_D_TGM",
-                                                                      "Q4G",
-                                                                      "TUYAU_3M",
-                                                                      "TUYAU_6M",
-                                                                      "SHB8",
-                                                                      "D_PLAN_HHM",
-                                                                      "D_PLAN_HM",
-                                                                      "D_PLAN_THH",
-                                                                      "D_PLAN_THHM",
-                                                                      "D_PLAN_THM",
-                                                                      "D_PLAN_HHMD",
-                                                                      "D_PLAN_HH2MD",
-                                                                      "D_PLAN_HMD",
-                                                                      "D_PLAN_THHD",
-                                                                      "D_PLAN_THH2D",
-                                                                      "D_PLAN_THVD",
-                                                                      "D_PLAN_THH2MD",
-                                                                      "D_PLAN_THHMD",
-                                                                      "D_PLAN_THMD", 
-                                                                      "D_PLAN_HHMS",
-                                                                      "D_PLAN_HH2MS",
-                                                                      "D_PLAN_HMS",
-                                                                      "D_PLAN_THHS",
-                                                                      "D_PLAN_THH2S",
-                                                                      "D_PLAN_THVS",
-                                                                      "D_PLAN_THH2MS",
-                                                                      "D_PLAN_THHMS",
-                                                                      "D_PLAN_THMS", 
-                                                                      "D_PLAN_HM_P",
-                                                                      "D_PLAN_HHD",
-                                                                      "D_PLAN_HHS",
-                                                                      "D_PLAN_HH2D",
-                                                                      "D_PLAN_HH2S",
-                                                                      "AXIS_THH",
-                                                                      "AXIS_THHM",
-                                                                      "AXIS_THM",
-                                                                      "AXIS_HHM",
-                                                                      "AXIS_HM",
-                                                                      "AXIS_HH2MD",
-                                                                      "AXIS_HHMD",
-                                                                      "AXIS_HMD",
-                                                                      "AXIS_THHD",
-                                                                      "AXIS_THH2D",
-                                                                      "AXIS_THVD",
-                                                                      "AXIS_THHMD",
-                                                                      "AXIS_THH2MD",
-                                                                      "AXIS_THMD",
-                                                                      "AXIS_HH2MS",
-                                                                      "AXIS_HHMS",
-                                                                      "AXIS_HMS",
-                                                                      "AXIS_THHS",
-                                                                      "AXIS_THH2S",
-                                                                      "AXIS_THVS",
-                                                                      "AXIS_THHMS",
-                                                                      "AXIS_THH2MS",
-                                                                      "AXIS_THMS",
-                                                                      "AXIS_HHD",
-                                                                      "AXIS_HHS",
-                                                                      "AXIS_HH2D",
-                                                                      "AXIS_HH2S",
-                                                                      "3D_HHM" ,
-                                                                      "3D_HM",
-                                                                      "3D_THH",
-                                                                      "3D_THV",
-                                                                      "3D_THHM",
-                                                                      "3D_THM",
-                                                                      "3D_HHMD",
-                                                                      "3D_HMD",
-                                                                      "3D_THHD",
-                                                                      "3D_THVD",
-                                                                      "3D_THHMD",
-                                                                      "3D_THMD",
-                                                                      "3D_HHMS",
-                                                                      "3D_HMS",
-                                                                      "3D_THHS",
-                                                                      "3D_THVS",
-                                                                      "3D_THHMS",
-                                                                      "3D_THMS",
-                                                                      "3D_THH2MD",
-                                                                      "3D_THH2MS",
-                                                                      "3D_HH2MD",
-                                                                      "3D_HH2MS",
-                                                                      "3D_THH2S",
-                                                                      "3D_THH2D",
-                                                                      "3D_HHD",
-                                                                      "3D_HHS",
-                                                                      "3D_HH2D",
-                                                                      "3D_HH2S",
-                                                                      "D_PLAN_2DG",
-                                                                      "D_PLAN_DIL",
+                                  "2D_DIS_T",        # RESP. : FLEJOU J.L.FLEJOU
+                                  "2D_DIS_TR",       # RESP. : FLEJOU J.L.FLEJOU
+                                  "2D_FLUI_ABSO",    # RESP. : DEVESA G.DEVESA
+                                  "2D_FLUI_PESA",    # RESP. : GREFFET N.GREFFET
+                                  "2D_FLUI_STRU",    # RESP. : GREFFET N.GREFFET
+                                  "2D_FLUIDE",       # RESP. : GREFFET N.GREFFET
+                                  "3D",              # RESP. : DESROCHES X.DESROCHES
+                                  "3D_ABSO",         # RESP. : DEVESA G.DEVESA
+                                  "3D_FAISCEAU",     # RESP. : VOLDOIRE F.VOLDOIRE
+                                  "3D_FLUI_ABSO",    # RESP. : DEVESA G.DEVESA
+                                  "3D_FLUIDE",       # RESP. : GREFFET N.GREFFET
+                                  "3D_INCO",         # RESP. : MICHEL S.MICHEL
+                                  "3D_INCO_GD",      # RESP. : MICHEL S.MICHEL
+                                  "3D_SI",           # RESP. : DESROCHES X.DESROCHES
+                                  "3D_GRAD_EPSI",    # RESP. : MICHEL S.MICHEL
+                                  "3D_GRAD_VARI",    # RESP. : MICHEL S.MICHEL
+                                  "3D_XFEM_CONT",    # RESP. : GENIAUT S.GENIAUT
+                                  "3D_JOINT",        # RESP. : LAVERNE J.LAVERNE
+                                  "AXIS",            # RESP. : LEFEBVRE J.P.LEFEBVRE
+                                  "AXIS_FLUI_STRU",  # RESP. : GREFFET N.GREFFET
+                                  "AXIS_FLUIDE",     # RESP. : GREFFET N.GREFFET
+                                  "AXIS_FOURIER",    # RESP. : DESROCHES X.DESROCHES
+                                  "AXIS_INCO",       # RESP. : MICHEL S.MICHEL
+                                  "AXIS_INCO_GD",    # RESP. : MICHEL S.MICHEL
+                                  "AXIS_NS",         # RESP. : BADEL P.BADEL
+                                  "AXIS_SI",         # RESP. : DESROCHES X.DESROCHES
+                                  "AXIS_GRAD_VARI",  # RESP. : MICHEL S.MICHEL
+                                  "AXIS_JOINT",      # RESP. : LAVERNE J.LAVERNE
+                                  "AXIS_ELDI",       # RESP. : LAVERNE J.LAVERNE
+                                  "BARRE",           # RESP. : FLEJOU J.L.FLEJOU
+                                  "2D_BARRE",        # RESP. : FLEJOU J.L.FLEJOU
+                                  "C_PLAN",          # RESP. : LEFEBVRE J.P.LEFEBVRE
+                                  "C_PLAN_XFEM_CONT",# RESP. : GENIAUT S.GENIAUT
+                                  "C_PLAN_NS",       # RESP. : BADEL P.BADEL
+                                  "C_PLAN_SI",       # RESP. : DESROCHES X.DESROCHES
+                                  "C_PLAN_GRAD_EPSI",# RESP. : MICHEL S.MICHEL
+                                  "CABLE",           # RESP. : FLEJOU J.L.FLEJOU
+                                  "CABLE_POULIE",    # RESP. : None
+                                  "COQUE_3D",        # RESP. : DESROCHES X.DESROCHES
+                                  "COQUE_AXIS",      # RESP. : DESROCHES X.DESROCHES
+                                  "COQUE_C_PLAN",    # RESP. : DESROCHES X.DESROCHES
+                                  "COQUE_D_PLAN",    # RESP. : DESROCHES X.DESROCHES
+                                  "D_PLAN",          # RESP. : LEFEBVRE J.P.LEFEBVRE
+                                  "D_PLAN_XFEM_CONT",# RESP. : GENIAUT S.GENIAUT
+                                  "D_PLAN_GRAD_EPSI",# RESP. : MICHEL S.MICHEL
+                                  "D_PLAN_GRAD_VARI",# RESP. : MICHEL S.MICHEL
+                                  "D_PLAN_NS",       # RESP. : BADEL P.BADEL
+                                  "PLAN_JOINT",      # RESP. : LAVERNE J.LAVERNE
+                                  "PLAN_ELDI",       # RESP. : LAVERNE J.LAVERNE
+                                  "D_PLAN_ABSO",     # RESP. : DEVESA G.DEVESA
+                                  "D_PLAN_INCO",     # RESP. : MICHEL S.MICHEL
+                                  "D_PLAN_INCO_GD",  # RESP. : MICHEL S.MICHEL
+                                  "D_PLAN_SI",       # RESP. : DESROCHES X.DESROCHES
+                                  "DIS_T",           # RESP. : FLEJOU J.L.FLEJOU
+                                  "DIS_TR",          # RESP. : FLEJOU J.L.FLEJOU
+                                  "DKT",             # RESP. : DESROCHES X.DESROCHES
+                                  "DKTG",            # RESP. : MARKOVIC D.MARKOVIC
+                                  "DST",             # RESP. : DESROCHES X.DESROCHES
+                                  "FLUI_STRU",       # RESP. : GREFFET N.GREFFET
+                                  "GRILLE_EXCENTRE", # RESP. : ROSPARS C.ROSPARS
+                                  "GRILLE_MEMBRANE", # RESP. : ROSPARS C.ROSPARS
+                                  "POU_C_T",         # RESP. : FLEJOU J.L.FLEJOU
+                                  "POU_D_E",         # RESP. : FLEJOU J.L.FLEJOU
+                                  "POU_D_EM",        # RESP. : FLEJOU J.L.FLEJOU
+                                  "POU_D_T",         # RESP. : FLEJOU J.L.FLEJOU
+                                  "POU_D_T_GD",      # RESP. : FLEJOU J.L.FLEJOU
+                                  "POU_D_TG",        # RESP. : FLEJOU J.L.FLEJOU
+                                  "POU_D_TGM",       # RESP. : FLEJOU J.L.FLEJOU
+                                  "Q4G",             # RESP. : DESROCHES X.DESROCHES
+                                  "TUYAU_3M",        # RESP. : PROIX J.M.PROIX
+                                  "TUYAU_6M",        # RESP. : PROIX J.M.PROIX
+                                  "SHB8",            # RESP. : DESROCHES X.DESROCHES
+                                  "D_PLAN_HHM",      # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HM",       # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THH",      # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THHM",     # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THM",      # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HHMD",     # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HH2MD",    # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HMD",      # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THHD",     # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THH2D",    # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THVD",     # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THH2MD",   # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THHMD",    # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THMD",     # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HHMS",     # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HH2MS",    # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HMS",      # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THHS",     # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THH2S",    # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THVS",     # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THH2MS",   # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THHMS",    # RESP. : GRANET S.GRANET
+                                  "D_PLAN_THMS",     # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HM_P",     # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HHD",      # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HHS",      # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HH2D",     # RESP. : GRANET S.GRANET
+                                  "D_PLAN_HH2S",     # RESP. : GRANET S.GRANET
+                                  "D_PLAN_2DG",      # RESP. : GRANET S.GRANET
+                                  "D_PLAN_DIL",      # RESP. : GRANET S.GRANET
+                                  "AXIS_THH",        # RESP. : GRANET S.GRANET
+                                  "AXIS_THHM",       # RESP. : GRANET S.GRANET
+                                  "AXIS_THM",        # RESP. : GRANET S.GRANET
+                                  "AXIS_HHM",        # RESP. : GRANET S.GRANET
+                                  "AXIS_HM",         # RESP. : GRANET S.GRANET
+                                  "AXIS_HH2MD",      # RESP. : GRANET S.GRANET
+                                  "AXIS_HHMD",       # RESP. : GRANET S.GRANET
+                                  "AXIS_HMD",        # RESP. : GRANET S.GRANET
+                                  "AXIS_THHD",       # RESP. : GRANET S.GRANET
+                                  "AXIS_THH2D",      # RESP. : GRANET S.GRANET
+                                  "AXIS_THVD",       # RESP. : GRANET S.GRANET
+                                  "AXIS_THHMD",      # RESP. : GRANET S.GRANET
+                                  "AXIS_THH2MD",     # RESP. : GRANET S.GRANET
+                                  "AXIS_THMD",       # RESP. : GRANET S.GRANET
+                                  "AXIS_HH2MS",      # RESP. : GRANET S.GRANET
+                                  "AXIS_HHMS",       # RESP. : GRANET S.GRANET
+                                  "AXIS_HMS",        # RESP. : GRANET S.GRANET
+                                  "AXIS_THHS",       # RESP. : GRANET S.GRANET
+                                  "AXIS_THH2S",      # RESP. : GRANET S.GRANET
+                                  "AXIS_THVS",       # RESP. : GRANET S.GRANET
+                                  "AXIS_THHMS",      # RESP. : GRANET S.GRANET
+                                  "AXIS_THH2MS",     # RESP. : GRANET S.GRANET
+                                  "AXIS_THMS",       # RESP. : GRANET S.GRANET
+                                  "AXIS_HHD",        # RESP. : GRANET S.GRANET
+                                  "AXIS_HHS",        # RESP. : GRANET S.GRANET
+                                  "AXIS_HH2D",       # RESP. : GRANET S.GRANET
+                                  "AXIS_HH2S",       # RESP. : GRANET S.GRANET
+                                  "3D_HHM" ,         # RESP. : GRANET S.GRANET
+                                  "3D_HM",           # RESP. : GRANET S.GRANET
+                                  "3D_THH",          # RESP. : GRANET S.GRANET
+                                  "3D_THV",          # RESP. : GRANET S.GRANET
+                                  "3D_THHM",         # RESP. : GRANET S.GRANET
+                                  "3D_THM",          # RESP. : GRANET S.GRANET
+                                  "3D_HHMD",         # RESP. : GRANET S.GRANET
+                                  "3D_HMD",          # RESP. : GRANET S.GRANET
+                                  "3D_THHD",         # RESP. : GRANET S.GRANET
+                                  "3D_THVD",         # RESP. : GRANET S.GRANET
+                                  "3D_THHMD",        # RESP. : GRANET S.GRANET
+                                  "3D_THMD",         # RESP. : GRANET S.GRANET
+                                  "3D_HHMS",         # RESP. : GRANET S.GRANET
+                                  "3D_HMS",          # RESP. : GRANET S.GRANET
+                                  "3D_THHS",         # RESP. : GRANET S.GRANET
+                                  "3D_THVS",         # RESP. : GRANET S.GRANET
+                                  "3D_THHMS",        # RESP. : GRANET S.GRANET
+                                  "3D_THMS",         # RESP. : GRANET S.GRANET
+                                  "3D_THH2MD",       # RESP. : GRANET S.GRANET
+                                  "3D_THH2MS",       # RESP. : GRANET S.GRANET
+                                  "3D_HH2MD",        # RESP. : GRANET S.GRANET
+                                  "3D_HH2MS",        # RESP. : GRANET S.GRANET
+                                  "3D_THH2S",        # RESP. : GRANET S.GRANET
+                                  "3D_THH2D",        # RESP. : GRANET S.GRANET
+                                  "3D_HHD",          # RESP. : GRANET S.GRANET
+                                  "3D_HHS",          # RESP. : GRANET S.GRANET
+                                  "3D_HH2D",         # RESP. : GRANET S.GRANET
+                                  "3D_HH2S",         # RESP. : GRANET S.GRANET
+                                  "VF1",             # RESP. : GRANET S.GRANET
                                                                      )  )  ),
 
                 b_thermique     =BLOC( condition = "PHENOMENE=='THERMIQUE'",
                                         fr="modélisations thermiques",
                     MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
-                                                                      "3D",
-                                                                      "3D_DIAG",
-                                                                      "AXIS",
-                                                                      "AXIS_DIAG",
-                                                                      "AXIS_FOURIER",
-                                                                      "COQUE",
-                                                                      "COQUE_AXIS",
-                                                                      "COQUE_PLAN",
-                                                                      "PLAN",
-                                                                      "PLAN_DIAG",
+                                  "3D",              # RESP. : DURAND C.DURAND
+                                  "3D_DIAG",         # RESP. : DURAND C.DURAND
+                                  "AXIS",            # RESP. : DURAND C.DURAND
+                                  "AXIS_DIAG",       # RESP. : DURAND C.DURAND
+                                  "AXIS_FOURIER",    # RESP. : DESROCHES X.DESROCHES
+                                  "COQUE",           # RESP. : DESROCHES X.DESROCHES
+                                  "COQUE_AXIS",      # RESP. : DESROCHES X.DESROCHES
+                                  "COQUE_PLAN",      # RESP. : DESROCHES X.DESROCHES
+                                  "PLAN",            # RESP. : DURAND C.DURAND
+                                  "PLAN_DIAG",       # RESP. : DURAND C.DURAND
                                                                       ),),),
 
                 b_acoustique    =BLOC( condition = "PHENOMENE=='ACOUSTIQUE'",
                                         fr="modélisations acoustiques",
                      MODELISATION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=(
-                                                                       "3D",
-                                                                       "PLAN"
+                                  "3D",              # RESP. : None
+                                  "PLAN"             # RESP. : None
                                                                        ), ),),
 
          ),
 ) ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
-#
-# 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.      
-# ======================================================================
-AIDE=PROC(nom="AIDE",op=42,
-       UIinfo={"groupes":("Modélisation",)},
-       fr="Interroger et imprimer une documentation partielle sur les noms des concepts déjà définis et sur les couples"
-           +" (type d'éléments, option) disponibles dans la version.",
-       regles=(AU_MOINS_UN('CONCEPT','TYPE_ELEM', ),),
-       UNITE       =SIMP(statut='f',typ='I',defaut=8),  
-       TYPE_ELEM   =FACT(fr="couple type_elem option",statut='f',
-         INITEL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
-                        ),
-       CONCEPT     =FACT(statut='f',max='**',
-         NOM          =SIMP(fr="liste des noms de concept",statut='f',typ='TXM',validators=NoRepeat(),max='**',defaut="*"),
-         OPTION       =SIMP(fr="option d'édition de concept",statut='f',typ='TXM',defaut="TOUT_TYPE",
-                                 into=("TOUT_TYPE","CREER","A_CREER",) ),
-         ),
-) ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4591,7 +4859,7 @@ AIDE=PROC(nom="AIDE",op=42,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE PELLET J.PELLET
 ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage_sdaster,
                    fr="Assembler deux maillages pour en former un nouveau",
                    reentrant='n',
@@ -4606,7 +4874,7 @@ ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage_sdaster,
                              ),
                            ),
 )  ;
-#& MODIF COMMANDE  DATE 08/11/2007   AUTEUR SALMONA L.SALMONA 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4624,6 +4892,7 @@ ASSE_MAILLAGE=OPER(nom="ASSE_MAILLAGE",op= 105,sd_prod=maillage_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE BODEL C.BODEL
 def asse_matr_gene_prod(METHODE,**args):
     if   (METHODE=="INITIAL") : return matr_asse_gene_r
     elif (args['OPTION']=="RIGI_GENE_C") : return matr_asse_gene_c
@@ -4639,7 +4908,7 @@ ASSE_MATR_GENE=OPER(nom="ASSE_MATR_GENE",op= 128,sd_prod=asse_matr_gene_prod,
            OPTION          =SIMP(statut='o',typ='TXM',into=("RIGI_GENE","RIGI_GENE_C","MASS_GENE","AMOR_GENE") ),
            ),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4657,7 +4926,7 @@ ASSE_MATR_GENE=OPER(nom="ASSE_MATR_GENE",op= 128,sd_prod=asse_matr_gene_prod,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE PELLET J.PELLET
 def asse_matrice_prod(MATR_ELEM,**args):
   if AsType(MATR_ELEM) == matr_elem_depl_r : return matr_asse_depl_r
   if AsType(MATR_ELEM) == matr_elem_depl_c : return matr_asse_depl_c
@@ -4674,7 +4943,7 @@ ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod,
          CHAR_CINE       =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ),
          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4692,16 +4961,21 @@ ASSE_MATRICE=OPER(nom="ASSE_MATRICE",op=12,sd_prod=asse_matrice_prod,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
-
-ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=cham_no_sdaster,
-                  fr="Construire un champ aux noeuds par assemblage de vecteurs élémentaires",reentrant='n',
+# RESPONSABLE BODEL C.BODEL
+ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene,
+                    fr="Projection des chargements sur la base modale d'une sous structure",
+                    reentrant='n',
             UIinfo={"groupes":("Matrices/vecteurs",)},
-         VECT_ELEM       =SIMP(statut='o',typ=vect_elem,max='**'),
-         NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
-         INFO            =SIMP(statut='f',typ='I',into=(1,2,) ),
+         NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
+         METHODE          =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ),
+         b_nume     =BLOC(condition = "METHODE == 'CLASSIQUE'",
+             CHAR_SOUS_STRUC =FACT(statut='o',max='**',
+             SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
+             VECT_ASSE       =SIMP(statut='o',typ=cham_no_sdaster ),
+           ),
+         ),
 )  ;
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4719,20 +4993,16 @@ ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=cham_no_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene,
-                    fr="Projection des chargements sur la base modale d'une sous structure",
-                    reentrant='n',
+# RESPONSABLE PELLET J.PELLET
+
+ASSE_VECTEUR=OPER(nom="ASSE_VECTEUR",op=13,sd_prod=cham_no_sdaster,
+                  fr="Construire un champ aux noeuds par assemblage de vecteurs élémentaires",reentrant='n',
             UIinfo={"groupes":("Matrices/vecteurs",)},
-         NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
-         METHODE          =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("CLASSIQUE","INITIAL") ),
-         b_nume     =BLOC(condition = "METHODE == 'CLASSIQUE'",
-             CHAR_SOUS_STRUC =FACT(statut='o',max='**',
-             SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
-             VECT_ASSE       =SIMP(statut='o',typ=cham_no_sdaster ),
-           ),
-         ),
+         VECT_ELEM       =SIMP(statut='o',typ=vect_elem,max='**'),
+         NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
+         INFO            =SIMP(statut='f',typ='I',into=(1,2,) ),
 )  ;
-#& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4750,6 +5020,7 @@ ASSE_VECT_GENE=OPER(nom="ASSE_VECT_GENE",op= 140,sd_prod=vect_asse_gene,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE DEVESA G.DEVESA
 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',
@@ -4791,7 +5062,7 @@ CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster,
            SEUIL           =SIMP(statut='f',typ='R',defaut= 0.3 ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 16/05/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4809,7 +5080,7 @@ CALC_AMOR_MODAL=OPER(nom="CALC_AMOR_MODAL",op= 172,sd_prod=listr8_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE JMBHH01 J.M.PROIX
+# RESPONSABLE ASSIRE A.ASSIRE
 
 CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=cham_elem,
                     fr="Calculer un champ élémentaire en thermique et en accoustique à partir de champs déjà calculés",
@@ -4857,7 +5128,7 @@ CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=cham_elem,
          MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0 ),
          ANGLE           =SIMP(statut='f',typ='I',defaut= 0),
 )  ;
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4875,7 +5146,7 @@ CALC_CHAM_ELEM=OPER(nom="CALC_CHAM_ELEM",op=38,sd_prod=cham_elem,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE PELLET J.PELLET
 
 CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=cham_no_sdaster,
                     fr="Calcul des seconds membres associés à des charges cinématiques (conditions aux limites non dualisées)",
@@ -4886,7 +5157,7 @@ CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=cham_no_sdaster,
          INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
 )  ;
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4904,6 +5175,7 @@ CALC_CHAR_CINE=OPER(nom="CALC_CHAR_CINE",op= 102,sd_prod=cham_no_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE DEVESA G.DEVESA
 def calc_char_seisme_prod(MATR_MASS,**args ):
   if AsType(MATR_MASS) == matr_asse_depl_r : return cham_no_sdaster
   raise AsException("type de concept resultat non prevu")
@@ -4923,25 +5195,25 @@ 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 09/05/2007   AUTEUR VIVAN L.VIVAN 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            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 JMBHH01 J.M.PROIX
+# RESPONSABLE ASSIRE A.ASSIRE
 def calc_elem_prod(RESULTAT,**args):
    if AsType(RESULTAT) != None : return AsType(RESULTAT)
    raise AsException("type de concept resultat non prevu")
@@ -4955,7 +5227,7 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
 
      RESULTAT        =SIMP(statut='o',typ=resultat_sdaster,
                                       fr="Résultat d'une commande globale"),
-                                           
+
      regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
                     'NOEUD_CMP','LIST_INST','LIST_FREQ','LIST_ORDRE','NOM_CAS'),
              CONCEPT_SENSIBLE("SEPARE"),
@@ -4973,14 +5245,14 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
      PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
      CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
      LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
-     
+
      TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
      GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
                            fr="le calcul ne sera effectué que sur ces mailles là"),
      MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**',
                            fr="le calcul ne sera effectué que sur ces mailles là"),
 
-#    definition d'un repere local 
+#    definition d'un repere local
 
      REPE_COQUE      =FACT(statut='f',max='**',
                            fr="définiton du lieu de post-traitement",
@@ -5006,7 +5278,7 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
                            fr="définition du repere de post-traitement, par défaut VECTEUR=(1.,0.,0.)"),
                             ),
 
-#    options pour des resultats lineaires 
+#    options pour des resultats lineaires
 
      b_lineaire =BLOC( condition = "AsType(RESULTAT) in (evol_elas,dyna_trans,dyna_harmo,mode_meca,\
                                                                mode_stat,mode_stat_depl,mode_stat_acce,mode_stat_forc,\
@@ -5026,27 +5298,27 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
                                  "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELGA_DEPL","EPSG_ELNO_DEPL",
                                  "EPME_ELNO_DEPL","EPME_ELGA_DEPL","DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",
                                  "EPVC_ELNO","EPVC_ELGA",
-                              #  ENER    
+                              #  ENER
                                  "EPOT_ELEM_DEPL","ECIN_ELEM_DEPL","ENEL_ELGA","ENEL_ELNO_ELGA",
                                  "ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM",
-                              #  estimateurs erreur 
+                              #  estimateurs erreur
                                  "SIGM_NOZ1_ELGA","ERZ1_ELEM_SIGM","SIGM_NOZ2_ELGA","ERZ2_ELEM_SIGM",
                                  "SIRE_ELNO_DEPL","ERRE_ELEM_SIGM","ERRE_ELNO_ELEM",
                                  "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM",
                                  "SING_ELEM","SING_ELNO_ELEM",
-                              #  CRIT    
+                              #  CRIT
                                  "EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","CRIT_ELNO_RUPT",
                                  "EQUI_ELNO_EPSI","EQUI_ELGA_EPSI","EQUI_ELNO_EPME","EQUI_ELGA_EPME",
                                  "ENDO_ELGA","ENDO_ELNO_ELGA",
                                  "ENDO_ELNO_SIGA","ENDO_ELNO_SINO","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
-                              #  derivees    
+                              #  derivees
                                  "DEUL_ELGA_DEPL","DEDE_ELNO_DLDE","DESI_ELNO_DLSI",
-                              #  autres      
+                              #  autres
                                  "VALE_NCOU_MAXI","PRES_DBEL_DEPL"),),
 
                NOM_CHAM  =SIMP(statut='f',typ='TXM',fr="nom du champ pour VALE_NCOU_MAXI", ),
                NOM_CMP   =SIMP(statut='f',typ='TXM',fr="nom de la composante pour VALE_NCOU_MAXI",  ),
-              
+
                 b_erre_qi =BLOC(condition = "OPTION in ('QIRE_ELEM_SIGM','QIZ1_ELEM_SIGM','QIZ2_ELEM_SIGM') or \
                                         (type(OPTION)==type(()) and 'QIRE_ELEM_SIGM' in OPTION) or \
                                         (type(OPTION)==type(()) and 'QIZ1_ELEM_SIGM' in OPTION) or \
@@ -5056,8 +5328,8 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
                b_sing =BLOC(condition= "OPTION == 'SING_ELEM' or \
                                (type(OPTION)==type(()) and  'SING_ELEM' in OPTION)",
                     PREC_ERR=SIMP(statut='o',typ='R',val_min= 0.,val_max= 1.,
-                                  fr="precision demandee pour calculer la carte de taille des elements"),),   
-               
+                                  fr="precision demandee pour calculer la carte de taille des elements"),),
+
                EXCIT           =FACT(statut='f',max='**',
                                      fr="Charges contenant les températures, les efforts répartis pour les poutres...",
                                      regles=(EXCLUS('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),),
@@ -5069,8 +5341,8 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
                     PHAS_DEG        =SIMP(statut='f',typ='R'),
                     PUIS_PULS       =SIMP(statut='f',typ='I'),
                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
-                
-                                
+
+
                             ),
 #             fin bloc b_toutes
 
@@ -5079,7 +5351,7 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
               OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut='SIEF_ELNO_ELGA',
                             fr="option de calcul des contraintes",
                            into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL",),),
-                           
+
                     b_charge =BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL','SIEF_ELGA_DEPL',) or \
                                       (type(OPTION)==type(()) and  'SIGM_ELNO_DEPL' in OPTION ) or \
                                       (type(OPTION)==type(()) and  'SIEF_ELGA_DEPL' in OPTION ) ",
@@ -5088,7 +5360,7 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
                          CHARGE          =SIMP(statut='o',typ=char_meca ),),
                                     ),
                                   ),
-                                  
+
           b_sigm_struct =BLOC( condition = "TYPE_OPTION == 'SIGM_STRUCT'",
                                       fr="options de contraintes elasticite poutres, coques, tuyaux",
                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut='SIEF_ELNO_ELGA',
@@ -5096,7 +5368,7 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
                             into=( "SIEF_ELNO_ELGA","SIGM_ELNO_DEPL","SIEF_ELGA_DEPL","SIGM_ELNO_TUYO",
                                    "SIPO_ELNO_DEPL","EFGE_ELNO_DEPL","EFGE_ELNO_CART","SIGM_ELNO_CART",
                                    "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF"),),
-                           
+
                b_charge =BLOC( condition = "OPTION in ('SIGM_ELNO_DEPL','SIEF_ELGA_DEPL',\
                                                        'SIPO_ELNO_DEPL','EFGE_ELNO_DEPL',) or \
                                             (type(OPTION)==type(()) and  'SIGM_ELNO_DEPL' in OPTION ) or \
@@ -5115,8 +5387,8 @@ CALC_ELEM=OPER(nom="CALC_ELEM",op=58,sd_prod=calc_elem_prod,reentrant='f',
                          PUIS_PULS       =SIMP(statut='f',typ='I'),
                          TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
                              ),
-                          
-                                 
+
+
                             ),
 #          fin bloc contraintes struct
 
@@ -5151,7 +5423,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                          CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ),),
                               ),
                                  ),
-                                 
+
           b_crit         =BLOC( condition = "TYPE_OPTION=='CRIT'",
                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
                            into=("EQUI_ELNO_SIGM","EQUI_ELGA_SIGM",
@@ -5162,7 +5434,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                 EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
                      CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
                                  ),
-                                 
+
           b_derivees         =BLOC( condition = "TYPE_OPTION=='DERIVEES'",
                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
                            into=("DEUL_ELGA_DEPL","DEDE_ELNO_DLDE","DESI_ELNO_DLSI",
@@ -5185,7 +5457,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                                  "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM",
                                  "SING_ELEM","SING_ELNO_ELEM",
                                  )),
-               
+
                b_erre_qi =BLOC(condition = "OPTION in ('QIRE_ELEM_SIGM','QIZ1_ELEM_SIGM','QIZ2_ELEM_SIGM') or \
                                         (type(OPTION)==type(()) and 'QIRE_ELEM_SIGM' in OPTION) or \
                                         (type(OPTION)==type(()) and 'QIZ1_ELEM_SIGM' in OPTION) or \
@@ -5195,16 +5467,15 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                b_sing =BLOC(condition= "OPTION == 'SING_ELEM' or \
                                (type(OPTION)==type(()) and  'SING_ELEM' in OPTION)",
                     PREC_ERR=SIMP(statut='o',typ='R',val_min= 0.,val_max=1.,
-                                  fr="precision demandee pour calculer la carte de taille des elements" ),),     
+                                  fr="precision demandee pour calculer la carte de taille des elements" ),),
 
                EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
                      CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
                                  ),
                                  ),
-#    fin bloc lineaire                                
-                            
-                                 
-#    statique ou dynamique non lineaire : evol_noli                                
+#    fin bloc lineaire
+
+#    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",
@@ -5221,7 +5492,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                                  "DEGE_ELNO_DEPL","EPSI_ELNO_TUYO",
                                  "EPSP_ELNO","EPSP_ELGA",
                                  "EPFD_ELNO","EPFD_ELGA","EPVC_ELNO","EPVC_ELGA",
-                                 "EPFP_ELNO","EPFP_ELGA", 
+                                 "EPFP_ELNO","EPFP_ELGA",
                                  "VARI_ELNO_ELGA","VARI_ELNO_TUYO","VARI_ELNO_COQU","CRIT_ELNO_RUPT",
                                  "EXTR_ELGA_VARI","EXTR_ELNO_VARI",
                                  # CRIT
@@ -5238,22 +5509,10 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                NORME =SIMP(statut='f',typ='TXM',defaut="VMIS",
                                  into=("VMIS","TOTAL","VMIS_CINE","TOTAL_CINE"),
                                  fr="Type de norme pour les options RADI_ et DCHA_"),
-                                 
+
                NOM_CHAM  =SIMP(statut='f',typ='TXM',fr="Nom du champ pour VALE_NCOU_MAXI"),
                NOM_CMP   =SIMP(statut='f',typ='TXM',fr="Nom de la composante pour VALE_NCOU_MAXI"),
 
-               b_erreur_re=BLOC(condition ="OPTION in ('ERRE_ELEM_SIGM','ERRE_ELNO_ELEM') or \
-                                          (type(OPTION)==type(()) and 'ERRE_ELEM_SIGM' in OPTION) or \
-                                          (type(OPTION)==type(()) and 'ERRE_ELNO_ELEM' in OPTION)",
-                 ERRE_THM   =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
-                                   fr="Indicateur d'erreur spatiale pour les modélisations THM",
-                                   ang="Spatial error indicators for THM models"),
-                 b_ERRE_THM=BLOC(condition = "ERRE_THM == 'OUI'",
-                               regles=(ENSEMBLE('LONGUEUR','PRESSION'),),
-                   LONGUEUR=SIMP(statut='o',typ='R',val_min=0.0,fr="Longueur caractéristique du problème"),
-                   PRESSION=SIMP(statut='o',typ='R',val_min=0.0,fr="Pression caractéristique du problème"),
-                   TEMPERATURE=SIMP(statut='f',typ='R',val_min=0.0,fr="Température caractéristique du problème"),),),
-
                b_erre_qi =BLOC(condition = "OPTION in ('QIRE_ELEM_SIGM','QIZ1_ELEM_SIGM','QIZ2_ELEM_SIGM') or \
                                         (type(OPTION)==type(()) and 'QIRE_ELEM_SIGM' in OPTION) or \
                                         (type(OPTION)==type(()) and 'QIZ1_ELEM_SIGM' in OPTION) or \
@@ -5263,9 +5522,9 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                b_sing =BLOC(condition= "OPTION == 'SING_ELEM' or \
                                (type(OPTION)==type(()) and  'SING_ELEM' in OPTION)",
                     PREC_ERR=SIMP(statut='o',typ='R',val_min= 0.,val_max=1.,
-                                  fr="precision demandee pour calculer la carte de taille des elements" ),),     
+                                  fr="precision demandee pour calculer la carte de taille des elements" ),),
+
 
-               
                b_extr = BLOC( condition = "OPTION in ('EXTR_ELNO_VARI','EXTR_ELGA_VARI')",
                              NOM_VARI =SIMP(statut='o',typ='TXM',min= 1,max=1,fr="nom de la variable à extraire",
                          into=("DPORO","DRHOLQ","DPVP","SATLIQ","EVP","IND_ETA","D","IND_END","TEMP_MAX","GAMP","PCR",
@@ -5284,14 +5543,14 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                     PUIS_PULS       =SIMP(statut='f',typ='I'),
                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
                          ),
-                         
+
           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='**',
                               #  contraintes
                            into=( "SIEF_ELNO_ELGA",),),
                             ),
-                            
+
           b_sigm_struct =BLOC( condition = "TYPE_OPTION == 'SIGM_STRUCT'",
                                        fr="options de contraintes non lin poutres, coques",
                OPTION =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
@@ -5299,7 +5558,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                            into=( "SIEF_ELNO_ELGA","EFGE_ELNO_CART","SIGM_ELNO_TUYO","SIGM_ELNO_COQU",
                            "SIGM_ELNO_SIEF","SIPO_ELNO_SIEF",),),
                              ),
-                             
+
           b_epsi         =BLOC( condition = "TYPE_OPTION=='EPSI'",
                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
                            into=( "EPSI_ELNO_DEPL","EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL",
@@ -5315,7 +5574,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
               EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
                                ),
-                                 
+
           b_vari         =BLOC( condition = "TYPE_OPTION=='VARI'",
                                        fr="Calcul et extraction des variables internes",
                    OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
@@ -5330,7 +5589,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                                "RDEV_1","RDEV_2","RDEV_3","RISO","EPSIVPLA","IND_1","IND_2","IND_3","IND_4"),),
                             ),
                            ),
-                              
+
           b_ener         =BLOC( condition = "TYPE_OPTION=='ENER'",
                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
                            into=("ETOT_ELGA","ETOT_ELNO_ELGA","ETOT_ELEM","ENEL_ELGA","ENEL_ELNO_ELGA",),
@@ -5338,7 +5597,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                EXCIT           =FACT(statut='f',max='**',fr="charge contenant les temperatures",
                     CHARGE          =SIMP(statut='o',typ=(char_meca,char_ther,char_acou) ),),
                                  ),
-                                 
+
           b_crit         =BLOC( condition = "TYPE_OPTION=='CRIT'",
                OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
                            into=("EQUI_ELNO_SIGM","EQUI_ELGA_SIGM",
@@ -5348,7 +5607,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                                  "PMPB_ELNO_SIEF","PMPB_ELGA_SIEF","SIEQ_ELNO_TUYO","EPEQ_ELNO_TUYO",
                                  ) ),
                                  ),
-                                 
+
           b_autres         =BLOC( condition = "TYPE_OPTION=='AUTRES'",
                   OPTION    =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
                            into=("VALE_NCOU_MAXI",) ),
@@ -5365,18 +5624,6 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                                  "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM",
                                  "SING_ELEM","SING_ELNO_ELEM",) ),
 
-               b_erreur_re=BLOC(condition ="OPTION in ('ERRE_ELEM_SIGM','ERRE_ELNO_ELEM') or \
-                                          (type(OPTION)==type(()) and 'ERRE_ELEM_SIGM' in OPTION) or \
-                                          (type(OPTION)==type(()) and 'ERRE_ELNO_ELEM' in OPTION)",
-                 ERRE_THM   =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
-                                   fr="Indicateur d'erreur spatiale pour les modélisations THM",
-                                   ang="Spatial error indicators for THM models"),
-                 b_ERRE_THM=BLOC(condition = "ERRE_THM == 'OUI'",
-                               regles=(ENSEMBLE('LONGUEUR','PRESSION'),),
-                   LONGUEUR=SIMP(statut='o',typ='R',val_min=0.0,fr="Longueur caractéristique du problème"),
-                   PRESSION=SIMP(statut='o',typ='R',val_min=0.0,fr="Pression caractéristique du problème"),
-                   TEMPERATURE=SIMP(statut='f',typ='R',val_min=0.0,fr="Température caractéristique du problème"),),),
-
                b_erre_qi =BLOC(condition = "OPTION in ('QIRE_ELEM_SIGM','QIZ1_ELEM_SIGM','QIZ2_ELEM_SIGM') or \
                                         (type(OPTION)==type(()) and 'QIRE_ELEM_SIGM' in OPTION) or \
                                         (type(OPTION)==type(()) and 'QIZ1_ELEM_SIGM' in OPTION) or \
@@ -5386,8 +5633,8 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                b_sing =BLOC(condition= "OPTION == 'SING_ELEM' or \
                                (type(OPTION)==type(()) and  'SING_ELEM' in OPTION)",
                     PREC_ERR=SIMP(statut='o',typ='R',val_min= 0.,val_max=1.,
-                                  fr="precision demandee pour calculer la carte de taille des elements" ),), 
-               
+                                  fr="precision demandee pour calculer la carte de taille des elements" ),),
+
                b_indic = BLOC( condition ="OPTION in ('DCHA_ELNO_SIGM','DCHA_ELGA_SIGM','RADI_ELNO_SIGM','RADI_ELGA_SIGM') or\
                                             (type(OPTION)==type(()) and 'DCHA_ELNO_SIGM' in OPTION) or\
                                             (type(OPTION)==type(()) and 'DCHA_ELGA_SIGM' in OPTION) or\
@@ -5400,7 +5647,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                                  ),
 #          fin bloc evol_noli
 
-#           thermique : evol_ther, fourier_ther                                
+#           thermique : evol_ther, fourier_ther
      b_ther          =BLOC( condition = "AsType(RESULTAT) in (evol_ther,fourier_ther,)" ,fr="options thermiques",
           OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
                            into=("DEUL_ELGA_TEMP","DETE_ELNO_DLTE","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP",
@@ -5418,8 +5665,8 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                     TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),
                                      ),
                                  ),
-                                 
-#    acoustique                                
+
+#    acoustique
      b_acou          =BLOC( condition = "AsType(RESULTAT) in (acou_harmo,mode_acou,)",fr="options acoustiques",
           OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
                            into=("PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG",
@@ -5436,14 +5683,14 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
                 PUIS_PULS       =SIMP(statut='f',typ='I'),
                 TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",),),),
                                  ),
-             
+
      SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
                            fr="Liste des paramètres de sensibilité.",
                            ang="List of sensitivity parameters"),
      INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
      TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 ) ;
-#& MODIF COMMANDE  DATE 16/07/2007   AUTEUR ANGLES J.ANGLES 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5461,6 +5708,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE ANGLES J.ANGLES
 def calc_fatigue_prod(TYPE_CALCUL,OPTION,**args):
   if TYPE_CALCUL == "CUMUL_DOMMAGE" : return cham_elem
   if TYPE_CALCUL == "FATIGUE_MULTI" and OPTION == "DOMA_ELGA": return cham_elem
@@ -5528,7 +5776,7 @@ CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant
 
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5546,6 +5794,7 @@ CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE ADOBES A.ADOBES
 CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster,
                     reentrant='n',
                     fr="Calculer les paramètres modaux d'une structure soumise à un écoulement",
@@ -5572,7 +5821,7 @@ CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster,
            DEFORMEE        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 19/06/2007   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5590,6 +5839,7 @@ CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster,
 # 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
 def calc_fonc_interp_prod(FONCTION, NOM_PARA_FONC, **args):
    if   AsType(FONCTION) == nappe_sdaster:
       return nappe_sdaster
@@ -5632,7 +5882,7 @@ CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_pr
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
 )  ;
-#& MODIF COMMANDE  DATE 04/09/2007   AUTEUR DURAND C.DURAND 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5650,7 +5900,7 @@ CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_pr
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE MCOURTOI M.COURTOIS
+# RESPONSABLE COURTOIS M.COURTOIS
 from Macro.calc_fonction_ops import calc_fonction_ops
 def calc_fonction_prod(self,DERIVE,EXTRACTION,INTEGRE,INVERSE,COMB,COMB_C,
                        ENVELOPPE,FRACTILE,SPEC_OSCI,ASSE,FFT,COMPOSE,CORR_ACCE,PUISSANCE,
@@ -5763,7 +6013,7 @@ CALC_FONCTION=MACRO(nom="CALC_FONCTION",op=calc_fonction_ops,sd_prod=calc_foncti
          ),
          FRACTILE        =FACT(statut='f',fr="Fractile d une famille de fonctions ou de nappes",
            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ),
-           FRACT           =SIMP(statut='o',typ='R',defaut="SUP",val_min=0.,val_max=1.,fr="Valeur du fractile" ),
+           FRACT           =SIMP(statut='o',typ='R',defaut=1.,val_min=0.,val_max=1.,fr="Valeur du fractile" ),
          ),
          ASSE            =FACT(statut='f',fr="Concatenation de fonctions",
            FONCTION        =SIMP(statut='o',typ=fonction_sdaster,min=2,max=2 ),
@@ -5775,7 +6025,7 @@ CALC_FONCTION=MACRO(nom="CALC_FONCTION",op=calc_fonction_ops,sd_prod=calc_foncti
          ),
          PUISSANCE       =FACT(statut='f',fr="Fonction élevée à une puissance",
             FONCTION      =SIMP(statut='o', typ=(fonction_sdaster,nappe_sdaster) ),
-            EXPOSANT      =SIMP(statut='f', typ='R', defaut=1 ),
+            EXPOSANT      =SIMP(statut='f', typ='I', defaut=1 ),
          ),
          INVERSE         =FACT(statut='f',fr="Inverse d'une fonction",
             FONCTION      =SIMP(statut='o', typ=fonction_sdaster),
@@ -5791,7 +6041,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 21/02/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5809,6 +6059,7 @@ CALC_FONCTION=MACRO(nom="CALC_FONCTION",op=calc_fonction_ops,sd_prod=calc_foncti
 # 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 N.GREFFET
 CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene,
                    fr="Calculer l'effet de surpression hydrodynamique due au mouvement d'entrainement de la structure"
                        +" en analyse sismique",
@@ -5864,7 +6115,7 @@ CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene,
                            ),
 
            ) ;
-#& MODIF COMMANDE  DATE 16/10/2007   AUTEUR SALMONA L.SALMONA 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5882,131 +6133,265 @@ CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
-CALC_G=OPER(nom="CALC_G",op=100,sd_prod=table_sdaster,
-            fr="Calcul du taux de restitution d'énergie par la méthode theta en thermo-élasticité"
-                        +" et les facteurs d'intensité de contraintes.",
-                    reentrant='f',
-            UIinfo={"groupes":("Post traitements",)},
-         regles=(EXCLUS('COMP_ELAS','COMP_INCR'),
-                 CONCEPT_SENSIBLE("ENSEMBLE"),
-                 REUSE_SENSIBLE(),
-                 DERIVABLE('RESULTAT'),
-                 EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST',
-                           'TOUT_MODE','NUME_MODE','LIST_MODE','FREQ','LIST_FREQ',),),
-
-         THETA          =FACT(statut='o',
-           THETA           =SIMP(statut='f',typ=(theta_geom,cham_no_sdaster),),
-           FOND_FISS       =SIMP(statut='f',typ=fond_fiss,max=1),
-           FISSURE         =SIMP(statut='f',typ=fiss_xfem,max=1),
-           regles=(EXCLUS('FOND_FISS','FISSURE'),),
-         b_theta        =BLOC(condition="THETA == None",fr="calcul de theta",
-            regles=(UN_PARMI('R_INF','R_INF_FO'),
-                 EXCLUS('MODULE','MODULE_FO'),
-                 PRESENT_PRESENT('R_INF','R_SUP'),
-                 PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ),
-             NUME_FOND        =SIMP(statut='f',typ='I',defaut=1),
-             R_INF           =SIMP(statut='f',typ='R'),
-             R_SUP           =SIMP(statut='f',typ='R'),
-             MODULE          =SIMP(statut='f',typ='R'),
-             DIRE_THETA      =SIMP(statut='f',typ=cham_no_sdaster ),
-             DIRECTION       =SIMP(statut='f',typ='R',max='**'),
-             R_INF_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             R_SUP_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),             
-             MODULE_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             ),
-            ),
+# RESPONSABLE GALENNE E.GALENNE
 
-         RESULTAT        =SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,mode_meca),),
+from Macro.post_k_trans_ops import post_k_trans_ops
 
-         TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-         LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
-         INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
-         TOUT_MODE       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-         LIST_MODE       =SIMP(statut='f',typ=listis_sdaster),
-         LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
-         FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-           
-         b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)",
-           PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
-           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-         ),
-        
-         EXCIT           =FACT(statut='f',max='**',
-               CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),
-               FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-               TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
-         ),
-         SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ),
-         COMP_ELAS       =FACT(statut='f',
-               RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
-                                     into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC","ELAS_VMIS_PUIS") ),
-               ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,) ),
-               ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,) ),
-               ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,) ),
-               ELAS_VMIS_PUIS  =SIMP(statut='c',typ='I',defaut=1,into=(1,) ),
-               DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ),
-      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='**'),
-               MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
-         ),  
-         COMP_INCR       =FACT(statut='f',
-               RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
-                                     into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE","ELAS_VMIS_PUIS") ),
-               ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
-               VMIS_ISOT_TRAC  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
-               VMIS_ISOT_LINE  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
-               DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ),
-      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='**'),
-               MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
-         ),
-         ETAT_INIT       =FACT(statut='f',
-           SIGM            =SIMP(statut='f',typ=cham_elem),
-           DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
-         ),
-          
-         LISSAGE         =FACT(statut='d',
-           DEGRE           =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ),
-           LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_REGU"),),
-           LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE",
-                                 "LAGRANGE_NO_NO","LAGRANGE_REGU"),),
+POST_K_TRANS=MACRO(nom="POST_K_TRANS",op=post_k_trans_ops,sd_prod=table_sdaster,
+            fr="Calcul des facteurs d intensite des contrainte par recombinaison modale",reentrant='n',
+            UIinfo={"groupes":("Post traitements",)},
+        RESU_TRANS      =SIMP(statut='o',typ=tran_gene), 
+        K_MODAL         =FACT(statut='o',
+           TABL_K_MODA     =SIMP(statut='f',typ=table_sdaster,),
+           RESU_MODA       =SIMP(statut='f',typ=mode_meca,),
+           FOND_FISS       =SIMP(statut='f',typ=fond_fiss,),
+           FISSURE         =SIMP(statut='f',typ=fiss_xfem,),
+           THETA           =SIMP(statut='f',typ=(theta_geom,cham_no_sdaster)),
+           R_INF           =SIMP(statut='f',typ='R'),
+           R_SUP           =SIMP(statut='f',typ='R'),
+           MODULE          =SIMP(statut='f',typ='R'),
+           DIRE_THETA      =SIMP(statut='f',typ=cham_no_sdaster ),
+           DIRECTION       =SIMP(statut='f',typ='R',max='**'),
+           R_INF_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           R_SUP_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),             
+           MODULE_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           DEGRE           =SIMP(statut='f',typ='I',into=(0,1,2,3,4,5,6,7) ),
+           LISSAGE_THETA   =SIMP(statut='f',typ='TXM',into=("LEGENDRE","LAGRANGE","LAGRANGE_REGU"),),
+           LISSAGE_G       =SIMP(statut='f',typ='TXM',into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO","LAGRANGE_REGU"),),
+
+
+           regles=(UN_PARMI('TABL_K_MODA','RESU_MODA'),
+                   UN_PARMI('FISSURE','FOND_FISS'),
+                   EXCLUS('MODULE','MODULE_FO'),
+                   PRESENT_PRESENT('R_INF','R_SUP'),
+                   PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ),
          ),
+        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
+        TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+        NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+        LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
+        INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+        LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
+        PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
+        CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
 
-         OPTION          =SIMP(statut='o',typ='TXM',max=1,defaut='CALC_G',
-              into=("CALC_G","CALC_G_GLOB","CALC_K_G","K_G_MODA","G_MAX","G_MAX_GLOB","G_BILI",
-                    "G_BILI_GLOB","G_LAGR","G_LAGR_GLOB","CALC_K_MAX"),),
+        INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
+        TITRE           =SIMP(statut='f',typ='TXM'),
+)
 
-         b_g_max    =BLOC(condition="(OPTION=='G_MAX') or (OPTION=='G_MAX_GLOB')",
-           BORNES          =FACT(statut='o',max='**',
-                NUME_ORDRE     =SIMP(statut='o',typ='I'),
-                VALE_MIN       =SIMP(statut='o',typ='R'),
-                VALE_MAX       =SIMP(statut='o',typ='R'),
-                                ),
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2006  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
+# -*- coding: iso-8859-1 -*-
+
+from Macro.simu_point_mat_ops import simu_point_mat_ops
+
+SIMU_POINT_MAT=MACRO(nom="SIMU_POINT_MAT", op=simu_point_mat_ops,sd_prod=table_sdaster,
+                   UIinfo={"groupes":("Résolution",)},
+                   fr="Calcul de l'évolution mécanique, en quasi-statique,"
+                      +" d'un point matériel en non linéaire",
+   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_POUTRE_GR","CABLE","ELAS_HYPER")),
+           ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+           ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+           ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+           ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+           DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
          ),
-         b_k_max    =BLOC(condition="(OPTION=='CALC_K_MAX')",
-           SIGNES          =FACT(statut='o',max=1,
-                CHARGE_S       =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'),
-                CHARGE_NS      =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'),
-                                ),
+   MATER           =SIMP(statut='o',typ=mater_sdaster,max=30),
+   INCREMENT       =FACT(statut='o',
+           LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
+           NUME_INST_INIT  =SIMP(statut='f',typ='I'),
+           INST_INIT       =SIMP(statut='f',typ='R'),
+           NUME_INST_FIN   =SIMP(statut='f',typ='I'),
+           INST_FIN        =SIMP(statut='f',typ='R'),
+           PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
+           # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
+           SUBD_METHODE    =SIMP( statut='f',typ='TXM',
+              into =("AUCUNE","UNIFORME","EXTRAPOLE"),
+              defaut="AUCUNE",
+              fr="Méthode de subdivision des pas de temps en cas de non-convergence"
+           ),
+           b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
+             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
+             SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
+                fr="Coefficient multiplicateur de la 1ère subdivision"),
+             SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
+                fr="Nombre de subdivision d'un pas de temps"),
+             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
+                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
+             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
+                fr="Pas de temps en dessous duquel on ne subdivise plus"),
+           ),
+           b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
+             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
+             SUBD_OPTION    =SIMP(statut='f',typ='TXM',
+                into =("IGNORE_PREMIERES","GARDE_DERNIERES",), 
+                defaut="IGNORE_PREMIERES",
+                fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
+             SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
+                fr="Les n premières itérations sont ignorées pour l'extrapolation"),
+             SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
+                fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
+             SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
+                fr="Nombre de subdivision d'un pas de temps en cas divergence"),
+             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
+                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
+             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
+                fr="Pas de temps en dessous duquel on ne subdivise plus"),
+             SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
+                fr="% itération autorisée en plus"),
+           ),
+           # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS 
          ),
+   NEWTON          =FACT(statut='d',
+           PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL") ),
+           MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
+           PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
+           REAC_ITER       =SIMP(statut='f',typ='I',defaut=1),
+           REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
+         ),
+   RECH_LINEAIRE   =FACT(statut='f',                                          
+     RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),               
+     ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),                     
+     ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),                    
+     PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),                 
+     RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),                 
+     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.),      
+   ),                                                                         
+   CONVERGENCE     =FACT(statut='d',
+     regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
+     SIGM_REFE       =SIMP(statut='f',typ='R'),
+     EPSI_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'),
+     ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=50),
+     ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
+     ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
+   ),
+   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.0E-3),
+     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) ),
+                           ),
+             ),
 
-         PROPAGATION     =SIMP(statut='f',typ='R'),
-         THETA_LAGR      =SIMP(statut='f',typ=theta_geom),
-         DIRE_THETA_LAGR =SIMP(statut='f',typ=cham_no_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"),
+   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),
+                           ),
+         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),
+                           ),
+          VARI_INIT=FACT(statut='f',
+                 VALE    = SIMP(statut='o',typ='R',max='**'),
+                            ),
+             ),
+   INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
+)
 
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
-);
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6024,6 +6409,7 @@ CALC_G=OPER(nom="CALC_G",op=100,sd_prod=table_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE ZENTNER I.ZENTNER
 CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=table_fonction,
                     fr="Calcul d'une matrice interspectrale à partir d'une fonction du temps",
                     reentrant='n',
@@ -6037,7 +6423,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 21/02/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6055,6 +6441,7 @@ CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=table_fonction,
 # 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 N.GREFFET
 CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r,
                     fr="Calcul des matrices de masse, d'amortissement ou de rigidité ajoutés",
                     reentrant='n',
@@ -6100,7 +6487,7 @@ CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r,
            ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 23/10/2007   AUTEUR BOYERE E.BOYERE 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6118,11 +6505,10 @@ CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE PELLET J.PELLET
 def calc_matr_elem_prod(OPTION,**args):
   if OPTION == "RIGI_MECA"        : return matr_elem_depl_r
   if OPTION == "RIGI_FLUI_STRU"   : return matr_elem_depl_r
-  if OPTION == "RIGI_MECA_LAGR"   : return matr_elem_depl_r
   if OPTION == "MASS_ID_MDEP_R"   : return matr_elem_depl_r
   if OPTION == "MASS_ID_MDNS_R"   : return matr_elem_depl_r
   if OPTION == "MASS_ID_MTEM_R"   : return matr_elem_temp_r
@@ -6155,8 +6541,7 @@ CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op=   9,sd_prod=calc_matr_elem_prod
                                      "ONDE_FLUI","AMOR_MECA_ABSO","MASS_FLUI_STRU","RIGI_FLUI_STRU",
                                      "RIGI_ROTA","MECA_GYRO","MASS_MECA_DIAG","RIGI_ACOU",
                                      "MASS_ID_MDEP_R","MASS_ID_MDNS_R","MASS_ID_MTEM_R","MASS_ID_MTNS_R",
-                                     "MASS_ACOU","AMOR_ACOU","RIGI_MECA_HYST",
-                                     "RIGI_MECA_LAGR") ),
+                                     "MASS_ACOU","AMOR_ACOU","RIGI_MECA_HYST") ),
 
          # mots clés facultatifs que l'on a du mal à mettre dans les blocs
          # sans gener MACRO_MATR_ASSE :
@@ -6172,15 +6557,7 @@ CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op=   9,sd_prod=calc_matr_elem_prod
              CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
              MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0 ),
            ),
-           CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ),
-         ),
-
-         b_rigi_meca_lagr  =BLOC(condition = "OPTION=='RIGI_MECA_LAGR'",
-           MODELE            =SIMP(statut='o',typ=modele_sdaster ),
-           CHAM_MATER        =SIMP(statut='o',typ=cham_mater ),
-           CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'  ),
-           THETA           =SIMP(statut='o',typ=theta_geom ),
-           PROPAGATION     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
+           CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ),
          ),
 
          b_mass_meca       =BLOC(condition = "(OPTION=='MASS_MECA') or (OPTION=='MASS_MECA_DIAG')",
@@ -6217,6 +6594,7 @@ CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op=   9,sd_prod=calc_matr_elem_prod
            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
            CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
+           CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**' ),
          ),
 
          b_amor_meca       =BLOC(condition = "OPTION=='AMOR_MECA'",
@@ -6299,7 +6677,7 @@ CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op=   9,sd_prod=calc_matr_elem_prod
            CHARGE            =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**' ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6317,6 +6695,7 @@ CALC_MATR_ELEM=OPER(nom="CALC_MATR_ELEM",op=   9,sd_prod=calc_matr_elem_prod
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE CANO V.CANO
 CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o',
             UIinfo={"groupes":("Post traitements",)},
                fr="Calcule l'évolution métallurgique à partir du résultat d'un calcul thermique",
@@ -6349,7 +6728,7 @@ 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 09/05/2007   AUTEUR VIVAN L.VIVAN 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6367,7 +6746,7 @@ CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o',
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE G8BHHXD X.DESROCHES
+# RESPONSABLE DESROCHES X.DESROCHES
 def calc_no_prod(RESULTAT,**args):
    if AsType(RESULTAT) != None : return AsType(RESULTAT)
    raise AsException("type de concept resultat non prevu")
@@ -6409,316 +6788,50 @@ CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='o',
                                      "ENDO_NOEU_SINO",
                                      "ENEL_NOEU_ELGA",
                                      "EPMG_NOEU_DEPL",
-                                     "EPSA_NOEU",
-                                     "EPSG_NOEU_DEPL",
-                                     "EPSI_NOEU_DEPL",
-                                     "EPSP_NOEU"     ,"EPSP_NOEU_ZAC",
-                                     "EPVC_NOEU","EPFD_NOEU","EPFP_NOEU","EPFP_NOEU",
-                                     "EQUI_NOEU_EPME","EQUI_NOEU_EPSI","EQUI_NOEU_SIGM",
-                                     "ERRE_NOEU_ELEM","QIRE_NOEU_ELEM",
-                                     "FLUX_NOEU_TEMP",
-                                     "HYDR_NOEU_ELGA",
-                                     "INTE_NOEU_ACTI","INTE_NOEU_REAC",
-                                     "META_NOEU_TEMP",
-                                     "PMPB_NOEU_SIEF",
-                                     "PRES_NOEU_DBEL","PRES_NOEU_IMAG","PRES_NOEU_REEL",
-                                     "RADI_NOEU_SIGM",
-                                     "SIEF_NOEU"     ,"SIEF_NOEU_ELGA",
-                                     "SIGM_NOEU_CART","SIGM_NOEU_COQU","SIGM_NOEU_DEPL",
-                                     "SIGM_NOEU_SIEF","SIGM_NOEU_ZAC",
-                                     "SIPO_NOEU_DEPL","SIPO_NOEU_SIEF",
-                                     "SIRE_NOEU_DEPL",
-                                     "VARI_NOEU","EXTR_NOEU_VARI","VARI_NOEU_ELGA",
-                                     "ARCO_NOEU_SIGM",) ),
-
-         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)""",
-             MODELE          =SIMP(statut='f',typ=modele_sdaster),
-         ),
-
-         CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
-         CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
-         EXCIT           =FACT(statut='f',max='**',
-           CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ),
-           FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-           TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
-                                 into=("FIXE_CSTE","FIXE_PILO","SUIV") ),
-         ),
-         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='**'),
-         GROUP_MA_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-         MAILLE_RESU     =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
-         GROUP_NO_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-         NOEUD_RESU      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
-)  ;
-#& MODIF COMMANDE  DATE 26/06/2007   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.                                                  
-#                                                                       
-# 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 ASSIRE A.ASSIRE
-
-from Macro.calc_precont_ops import calc_precont_ops
-
-
-# ===========================================================================
-#           CATALOGUE DE LA MACRO "CALC_PRECONT"
-#           -----------------------------------------
-# USAGE :
-# 
-#  
-# ===========================================================================
-
-CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
-                   fr="Imposer la tension définie par le BPEL dans les cables",
-                   reentrant='f',UIinfo={"groupe":("Modélisation",)},
-         reuse =SIMP(statut='f',typ='evol_noli'),
-         MODELE           =SIMP(statut='o',typ=modele_sdaster),
-         CHAM_MATER       =SIMP(statut='o',typ=cham_mater),
-         CARA_ELEM        =SIMP(statut='o',typ=cara_elem),
-         CABLE_BP         =SIMP(statut='o',typ=cabl_precont,validators=NoRepeat(),max='**'),
-         CABLE_BP_INACTIF =SIMP(statut='f',typ=cabl_precont,validators=NoRepeat(),max='**'),
-         INCREMENT        =FACT(statut='o',
-           LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
-           INST_INIT       =SIMP(statut='f',typ='R'),
-           INST_FIN        =SIMP(statut='f',typ='R'),
-           PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
-           # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
-           SUBD_METHODE    =SIMP( statut='f',typ='TXM',
-              into =("AUCUNE","UNIFORME","EXTRAPOLE"),
-              defaut="AUCUNE",
-              fr="Méthode de subdivision des pas de temps en cas de non-convergence"
-           ),
-           b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
-             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
-             SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
-                fr="Coefficient multiplicateur de la 1ère subdivision"),
-             SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
-                fr="Nombre de subdivision d'un pas de temps"),
-             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
-                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
-             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
-                fr="Pas de temps en dessous duquel on ne subdivise plus"),
-           ),
-           b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
-             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
-             SUBD_OPTION    =SIMP(statut='f',typ='TXM',
-                into =("IGNORE_PREMIERES","GARDE_DERNIERES",), 
-                defaut="IGNORE_PREMIERES",
-                fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
-             SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
-                fr="Les n premières itérations sont ignorées pour l'extrapolation"),
-             SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
-                fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
-             SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
-                fr="Nombre de subdivision d'un pas de temps en cas divergence"),
-             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
-                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
-             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
-                fr="Pas de temps en dessous duquel on ne subdivise plus"),
-             SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
-                fr="% itération autorisée en plus"),
-           ),
-           # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS 
-         ),
-
-         NEWTON          =FACT(statut='d',
-            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
-            PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
-            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
-            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
-            REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
-            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
-          ),
-         RECH_LINEAIRE   =FACT(statut='f',
-           RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
-           ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
-         ),
-          CONVERGENCE     =FACT(statut='d',
-            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
-            RESI_GLOB_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),
-            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
-          ),
-          ETAT_INIT       =FACT(statut='f',
-            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',),
-                    EXCLUS('EVOL_NOLI','DEPL',),
-                    EXCLUS('EVOL_NOLI','SIGM',),
-                    EXCLUS('EVOL_NOLI','VARI',),
-                    EXCLUS('NUME_ORDRE','INST'), ),
-            DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
-            SIGM            =SIMP(statut='f',typ=(carte_sdaster,cham_elem)),
-            VARI            =SIMP(statut='f',typ=cham_elem),
-            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
-            NUME_ORDRE      =SIMP(statut='f',typ='I'),
-            INST            =SIMP(statut='f',typ='R'),
-            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
-            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-            NUME_DIDI       =SIMP(statut='f',typ='I'),
-            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
-          ),
-          SOLVEUR         =FACT(statut='d',
-            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
-            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
-              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
-            ),
-            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
-              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
-            ),
-            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
-                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
-              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
-              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") ),
-              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
-              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
-            ),
-            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
-          ),
-          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
-          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
-
-          EXCIT           =FACT(statut='o',max='**',
-            CHARGE          =SIMP(statut='o',typ=char_meca),
-          ),
-
-         COMP_INCR       =C_COMP_INCR(),
-  )  ;
-#& MODIF COMMANDE  DATE 03/07/2007   AUTEUR SALMONA L.SALMONA 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2005  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.        
-# ======================================================================
-# -*- coding: iso-8859-1 -*-
-
-# RESPONSABLE MCOURTOI M.COURTOIS
-
-def calc_table_prod(self, TABLE, ACTION, **kargs):
-   """Typage du concept produit.
-   """
-   l_typ = [AsType(TABLE),]
-   for mcf in ACTION:
-      dmc = mcf.cree_dict_valeurs(mcf.mc_liste)
-      if dmc.get('TABLE') != None:
-         l_typ.append(AsType(dmc['TABLE']))
-   # une table_fonction étant une table
-   if table_fonction in l_typ:
-      return table_fonction
-   else:
-      return table_sdaster
-
-
-from Macro.calc_table_ops import calc_table_ops
-
-CALC_TABLE=MACRO(nom="CALC_TABLE",op=calc_table_ops, sd_prod=calc_table_prod,
-                 fr="Opérations sur une table",
-                 reentrant='f',
-   regles=(DERIVABLE('TABLE'),),
-   TABLE  = SIMP(statut='o',typ=table_sdaster),
-   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', 'OPER',)),
-      
-      b_filtre = BLOC(condition="OPERATION == 'FILTRE'",
-                      fr="Sélectionne les lignes de la table vérifiant un critère",
-         NOM_PARA  = SIMP(statut='o',typ='TXM'),
-         CRIT_COMP = SIMP(statut='f',typ='TXM',defaut="EQ",
-                          into=('EQ','NE','GT','LT','GE','LE','REGEXP',
-                                'VIDE','NON_VIDE','MAXI','ABS_MAXI','MINI','ABS_MINI'),),
-         b_vale = BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
-            regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
-            VALE   = SIMP(statut='f',typ='R',max='**'),
-            VALE_I = SIMP(statut='f',typ='I',max='**'),
-            VALE_C = SIMP(statut='f',typ='C',max='**'),
-            VALE_K = SIMP(statut='f',typ='TXM',max='**'),
-         ),
-         b_regexp = BLOC(condition = "CRIT_COMP == 'REGEXP'",
-            VALE_K = SIMP(statut='f',typ='TXM',max='**'),
+                                     "EPSA_NOEU",
+                                     "EPSG_NOEU_DEPL",
+                                     "EPSI_NOEU_DEPL",
+                                     "EPSP_NOEU"     ,"EPSP_NOEU_ZAC",
+                                     "EPVC_NOEU","EPFD_NOEU","EPFP_NOEU","EPFP_NOEU",
+                                     "EQUI_NOEU_EPME","EQUI_NOEU_EPSI","EQUI_NOEU_SIGM",
+                                     "ERRE_NOEU_ELEM","QIRE_NOEU_ELEM",
+                                     "FLUX_NOEU_TEMP",
+                                     "HYDR_NOEU_ELGA",
+                                     "INTE_NOEU_ACTI","INTE_NOEU_REAC",
+                                     "META_NOEU_TEMP",
+                                     "PMPB_NOEU_SIEF",
+                                     "PRES_NOEU_DBEL","PRES_NOEU_IMAG","PRES_NOEU_REEL",
+                                     "RADI_NOEU_SIGM",
+                                     "SIEF_NOEU"     ,"SIEF_NOEU_ELGA",
+                                     "SIGM_NOEU_CART","SIGM_NOEU_COQU","SIGM_NOEU_DEPL",
+                                     "SIGM_NOEU_SIEF","SIGM_NOEU_ZAC",
+                                     "SIPO_NOEU_DEPL","SIPO_NOEU_SIEF",
+                                     "SIRE_NOEU_DEPL",
+                                     "VARI_NOEU","EXTR_NOEU_VARI","VARI_NOEU_ELGA",
+                                     "ARCO_NOEU_SIGM",) ),
+
+         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)""",
+             MODELE          =SIMP(statut='f',typ=modele_sdaster),
          ),
-         b_crit = BLOC(condition = "CRIT_COMP in ('EQ','NE')",
-            CRITERE   = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-            PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
+
+         CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
+         CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
+         EXCIT           =FACT(statut='f',max='**',
+           CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou) ),
+           FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
+                                 into=("FIXE_CSTE","FIXE_PILO","SUIV") ),
          ),
-      ),
-      
-      b_extr = BLOC(condition="OPERATION ==  'EXTR'",
-                    fr="Extrait une ou plusieurs colonnes de la table",
-         NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
-                         fr="Noms des colonnes à extraire"),
-      ),
-   
-      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,
-                         fr="Couple (ancien nom du paramètre, nouveau nom du paramètre)",),
-      ),
-   
-      b_tri = BLOC(condition="OPERATION == 'TRI'",
-                   fr="Ordonne les lignes de la table selon les valeurs d'un ou plusieurs paramètres",
-         NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
-         ORDRE    = SIMP(statut='f',typ='TXM',defaut="CROISSANT",
-                         into=("CROISSANT","DECROISSANT") ),
-      ),
-      
-      b_comb = BLOC(condition="OPERATION == 'COMB'",
-                    fr="Combine deux tables ayant éventuellement des paramètres communs",
-         TABLE    = SIMP(statut='o',typ=table_sdaster,
-                         fr="Table dont les colonnes vont venir surcharger la table initiale"),
-         NOM_PARA = SIMP(statut='f',typ='TXM',max='**',
-                         fr="Noms des paramètres dont les valeurs doivent etre identiques dans les deux tables "\
-                            "pour que les colonnes soient combinées"),
-      ),
-      
-      b_oper = BLOC(condition="OPERATION == 'OPER'",
-                    fr="Applique une formule dans laquelle les variables sont les paramètres de la table",
-         FORMULE  = SIMP(statut='o',typ=formule,
-                         fr="Formule à appliquer aux colonnes de la table"),
-         NOM_PARA = SIMP(statut='o',typ='TXM',
-                         fr="Nom de la nouvelle colonne"),
-      ),
-   ),
-   
-   SENSIBILITE = SIMP(statut='f',typ=(para_sensi,theta_geom),max=1,
-                      fr="Paramètre de sensibilité",
-                      ang="Sensitivity parameter"),
-   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 05/03/2007   AUTEUR GALENNE E.GALENNE 
+         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='**'),
+         GROUP_MA_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+         MAILLE_RESU     =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
+         GROUP_NO_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+         NOEUD_RESU      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6736,6 +6849,7 @@ CALC_TABLE=MACRO(nom="CALC_TABLE",op=calc_table_ops, sd_prod=calc_table_prod,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE GALENNE E.GALENNE
 CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n',
             UIinfo={"groupes":("Post traitements",)},
                 fr="Définir un champ theta pour le calcul du taux de restitution d'énergie"
@@ -6783,69 +6897,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 06/08/2007   AUTEUR TARDIEU N.TARDIEU 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2007  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 
-
-
-CALCUL=OPER(nom="CALCUL",op=26,sd_prod=table_sdaster,reentrant='n',
-            UIinfo={"groupes":("Résolution",)},
-            fr="Calculer des objets élémentaires comme une matrice tangente, intégrer une loi de comportement, etc...",
-     OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="COMPORTEMENT",
-                           into=( "COMPORTEMENT","MATR_TANG_ELEM","FORC_INT_ELEM"),),
-     MODELE          =SIMP(statut='o',typ=modele_sdaster),
-     CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
-     CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
-     EXCIT           =FACT(statut='o',max='**',
-       CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
-       FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-       TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
-                             into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
-     ),
-     DEPL            =SIMP(statut='o',typ=cham_no_sdaster ),
-     INCR_DEPL       =SIMP(statut='o',typ=cham_no_sdaster ),
-     SIGM            =SIMP(statut='o',typ=cham_elem),
-     VARI            =SIMP(statut='o',typ=cham_elem),
-     INCREMENT       =FACT(statut='o',
-          LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
-          NUME_ORDRE      =SIMP(statut='o',typ='I'),),
-     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 ),
-          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")),
-          RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
-                                into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
-                                     "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")),
-          ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
-          CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),),
-     INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
-) ;
-
-#& MODIF COMMANDE  DATE 12/03/2007   AUTEUR DEVESA G.DEVESA 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6863,10 +6915,9 @@ CALCUL=OPER(nom="CALCUL",op=26,sd_prod=table_sdaster,reentrant='n',
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE PELLET J.PELLET
 def calc_vect_elem_prod(OPTION,**args):
   if OPTION == "CHAR_MECA" :      return vect_elem_depl_r
-  if OPTION == "CHAR_MECA_LAGR" : return vect_elem_depl_r
   if OPTION == "CHAR_THER" :      return vect_elem_temp_r
   if OPTION == "CHAR_ACOU" :      return vect_elem_pres_c
   if OPTION == "FORC_NODA" :      return vect_elem_depl_r
@@ -6876,7 +6927,7 @@ CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentr
             UIinfo={"groupes":("Matrices/vecteurs",)},
                     fr="Calcul des seconds membres élémentaires",
          OPTION          =SIMP(statut='o',typ='TXM',into=("CHAR_MECA","CHAR_THER","CHAR_ACOU",
-                                                           "FORC_NODA","CHAR_MECA_LAGR") ),
+                                                           "FORC_NODA") ),
          b_char_meca     =BLOC(condition = "OPTION=='CHAR_MECA'",
            regles=(AU_MOINS_UN('CHARGE','MODELE'),),
            CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
@@ -6911,17 +6962,199 @@ CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentr
            SIEF_ELGA         =SIMP(statut='o',typ=cham_elem),
            CARA_ELEM         =SIMP(statut='f',typ=cara_elem),
            MODELE            =SIMP(statut='f',typ=modele_sdaster),
+         ),       
+) ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2006  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 WADIER Y.WADIER
+
+from Macro.post_gp_ops import post_gp_ops
+def post_gp_prod(self, TABL_RESU, **kargs):
+   """Typage des sd_prod
+   """
+   if TABL_RESU != None:
+      self.type_sdprod(TABL_RESU, table_sdaster)
+   return table_sdaster
+
+POST_GP=MACRO(nom="POST_GP", op=post_gp_ops, sd_prod=post_gp_prod,
+              fr="Calcul du critère énergétique Gp suite à un calcul thermo-mécanique",
+              reentrant='n',
+              UIinfo={"groupes":("Post traitements",)},
+              regles=(UN_PARMI('IDENTIFICATION', 'PREDICTION'),
+                      UN_PARMI('THETA_2D','THETA_3D'),
+                      UN_PARMI('PAS_ENTAILLE','LIST_EP_COPEAUX'),
+                      PRESENT_PRESENT('THETA_2D','DIRECTION'),),
+      
+      # Résultat, modèle, comportement, chargement
+      RESULTAT     = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,mode_meca),),
+      RESU_THER    = SIMP(statut='f',typ=evol_ther,),
+      MODELE       = SIMP(statut='o',typ=modele_sdaster),
+      MATER        = SIMP(statut='o',typ=mater_sdaster),
+      
+      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"),),
+      ),
+      
+      EXCIT        = FACT(statut='f', max='**',
+            CHARGE      = SIMP(statut='o', typ=(char_meca,char_cine_meca)),
+            FONC_MULT   = SIMP(statut='f', typ=(fonction_sdaster,nappe_sdaster,formule)),
+            TYPE_CHARGE = SIMP(statut='f', typ='TXM', defaut="FIXE", into=("FIXE",)),
+      ),
+      SYME_CHAR    = SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS")),
+      
+      DIRECTION    = SIMP(statut='f', typ='R', max=3),
+
+      THETA_2D     = FACT(statut='f', max='**',
+                          fr="paramètres de définition des champs theta",
+            GROUP_NO    = SIMP(statut='o', typ=grno, validators=NoRepeat(), max='**'),
+            R_INF       = SIMP(statut='o', typ='R'),
+            R_SUP       = SIMP(statut='o', typ='R'),
+      ),
+
+
+      THETA_3D        =FACT(statut='f',max='**',
+            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
+            R_INF           =SIMP(statut='o',typ='R'),
+            R_SUP           =SIMP(statut='o',typ='R'),
+                         ),
+         b_theta_3d     =BLOC(condition="THETA_3D != None",
+            LISSAGE         =FACT(statut='d',
+                DEGRE            =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ),
+                LISSAGE_THETA    =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",
+                                  into=("LEGENDRE","LAGRANGE","LAGRANGE_REGU"),),
+                LISSAGE_G        =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",
+                                  into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO","LAGRANGE_REGU"),),
+                             ),
+    
+            FOND_FISS       =SIMP(statut='o',typ=fond_fiss,max=1,),
+            NB_TRANCHES     =SIMP(statut='o',typ='I',max=1,
+                            fr="nombre de tranches: nombre de segments maillant le fond de fissure",),
+                         ),
+
+      # prise en compte de la traction compression
+      TRAC_COMP    = SIMP(statut='f',typ='TXM',into=("OUI",),
+                          fr="prise en compte de la traction-compression (plus lent)",
+                         ),
+
+      # copeaux
+      GROUP_MA        = SIMP(statut='o', typ=grma, validators=NoRepeat(), max='**'),
+      PAS_ENTAILLE    = SIMP(statut='f', typ='R', val_min=0.),
+      LIST_EP_COPEAUX = SIMP(statut='f', typ='R', max='**'),
+      
+      # critère sur Gp
+      CRIT_MAXI_GP = SIMP(statut='f', typ='TXM', defaut="ABSOLU",
+                          into=("RELATIF","ABSOLU")),
+      
+      # correction axisymétrie
+      RAYON_AXIS   = SIMP(statut='f', typ='R', val_min=0., defaut=1.),
+      
+      # identification
+      IDENTIFICATION = FACT(statut='f', max=1,
+            KJ_CRIT     = SIMP(statut='o', typ='R', val_min=0., max='**'),
+            TEMP        = SIMP(statut='o', typ='R', val_min=0., max='**'),
+      ),
+      
+      # prédiction
+      PREDICTION   = FACT(statut='f', max=1,
+            GP_CRIT     = SIMP(statut='o', typ='R', val_min=0., max='**'),
+            TEMP        = SIMP(statut='o', typ='R', val_min=0., max='**'),
+      ),
+      
+      # table résultat
+      TABL_RESU    = SIMP(statut='o', typ=CO,),
+      
+      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
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2006  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 VOLDOIRE F.VOLDOIRE
+
+from Macro.macr_spectre_ops import macr_spectre_ops
+
+MACR_SPECTRE=MACRO(nom="MACR_SPECTRE",op=macr_spectre_ops,sd_prod=table_sdaster,
+                       reentrant='n', UIinfo={"groupes":("Outils métier",)},
+                       fr="calcul de spectre, post-traitement de séisme",
+         MAILLAGE      =SIMP(statut='o',typ=maillage_sdaster,),
+         PLANCHER      =FACT(statut='o',max='**',
+            regles=(AU_MOINS_UN('NOEUD','GROUP_NO' ),),
+            NOM           =SIMP(statut='o',typ='TXM',),
+            GROUP_NO      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+            NOEUD         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'), ),
+         NOM_CHAM      =SIMP(statut='o',typ='TXM' ,into=('ACCE','DEPL')),
+         CALCUL        =SIMP(statut='o',typ='TXM' ,into=('ABSOLU','RELATIF'),position='global'),
+         b_acce  =BLOC( condition = "NOM_CHAM=='ACCE'",
+           regles=(UN_PARMI('LIST_FREQ','FREQ'),),
+           AMOR_SPEC     =SIMP(statut='o',typ='R',max='**'),
+           LIST_INST     =SIMP(statut='f',typ=listr8_sdaster ),
+           LIST_FREQ     =SIMP(statut='f',typ=listr8_sdaster ),
+           FREQ          =SIMP(statut='f',typ='R',max='**'),
+           NORME         =SIMP(statut='o',typ='R'),  
+           RESU          =FACT(statut='o',max='**',
+                regles=(UN_PARMI('RESU_GENE','RESULTAT'),),
+                RESU_GENE     =SIMP(statut='f',typ=tran_gene),
+                RESULTAT      =SIMP(statut='f',typ=(dyna_trans,evol_noli)),
+                b_calc  =BLOC( condition = "CALCUL=='RELATIF'",
+                   ACCE_X        =SIMP(statut='o',typ=fonction_sdaster),
+                   ACCE_Y        =SIMP(statut='o',typ=fonction_sdaster),
+                   ACCE_Z        =SIMP(statut='o',typ=fonction_sdaster),), ),
+           IMPRESSION    =FACT(statut='f',
+                TRI           =SIMP(statut='f',typ='TXM',defaut='AMOR_SPEC',into=("AMOR_SPEC","DIRECTION",),),
+                FORMAT        =SIMP(statut='f',typ='TXM',defaut='TABLEAU',into=("TABLEAU","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"),
+                b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'",
+                   PILOTE        =SIMP(statut='f',typ='TXM',defaut='',
+                                 into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),),),
+                TOUT          =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON",),),
+                              ),
          ),
-         
-         b_meca_lagr     =BLOC(condition = "OPTION=='CHAR_MECA_LAGR'",
-           CHAM_MATER        =SIMP(statut='o',typ=cham_mater),
-           THETA             =SIMP(statut='o',typ=theta_geom),
-           PROPAGATION       =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
-           CHARGE            =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
-           INST              =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
+         b_depl  =BLOC( condition = "NOM_CHAM=='DEPL'",
+           LIST_INST     =SIMP(statut='f',typ=listr8_sdaster),  
+           RESU          =FACT(statut='o',max=3,
+                regles=(UN_PARMI('RESU_GENE','RESULTAT'),),
+                RESU_GENE     =SIMP(statut='f',typ=tran_gene),
+                RESULTAT      =SIMP(statut='f',typ=(dyna_trans,evol_noli)),
+                b_calc  =BLOC( condition = "CALCUL=='ABSOLU'",
+                   DEPL_X        =SIMP(statut='o',typ=fonction_sdaster),
+                   DEPL_Y        =SIMP(statut='o',typ=fonction_sdaster),
+                   DEPL_Z        =SIMP(statut='o',typ=fonction_sdaster),),),
          ),
-) ;
-#& MODIF COMMANDE  DATE 12/09/2006   AUTEUR REZETTE C.REZETT
+)
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6939,7 +7172,7 @@ CALC_VECT_ELEM=OPER(nom="CALC_VECT_ELEM",op=8,sd_prod=calc_vect_elem_prod,reentr
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE G8BHHXD X.DESROCHES
+# RESPONSABLE DESROCHES X.DESROCHES
 COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier,
                   reentrant='n',fr="Recombiner les modes de Fourier d'une SD Résultat dans des directions particulières",
             UIinfo={"groupes":("Post traitements",)},
@@ -6948,7 +7181,7 @@ COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier,
          NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=6,
              into=("DEPL","REAC_NODA","SIEF_ELGA_DEPL","EPSI_ELNO_DEPL","SIGM_ELNO_DEPL","TEMP","FLUX_ELNO_TEMP"),),
 ) ;
-#& MODIF COMMANDE  DATE 29/01/2007   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6966,7 +7199,7 @@ COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE PELLET J.PELLET
 def comb_matr_asse_prod(COMB_R,COMB_C,CALC_AMOR_GENE,**args):
   if COMB_C != None:
     type_mat = AsType(COMB_C[0]['MATR_ASSE'])
@@ -7010,7 +7243,7 @@ COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op=  31,sd_prod=comb_matr_asse_prod,
          ),
          SANS_CMP        =SIMP(statut='f',typ='TXM',into=("LAGR",) ),
 )  ;
-#& MODIF COMMANDE  DATE 05/11/2007   AUTEUR VIVAN L.VIVAN 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7028,6 +7261,7 @@ COMB_MATR_ASSE=OPER(nom="COMB_MATR_ASSE",op=  31,sd_prod=comb_matr_asse_prod,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE AUDEBERT S.AUDEBERT
 COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_stat,
                      fr="Réponse sismique par recombinaison modale par une méthode spectrale",
                      reentrant='n',
@@ -7128,8 +7362,7 @@ COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_stat,
          ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 17/07/2007   AUTEUR MACOCCO K.MACOCCO 
-# RESPONSABLE VABHHTS J.PELLET
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7147,6 +7380,7 @@ COMB_SISM_MODAL=OPER(nom="COMB_SISM_MODAL",op= 109,sd_prod=mode_stat,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
+# RESPONSABLE PELLET J.PELLET
 def crea_champ_prod(TYPE_CHAM,**args):
   if TYPE_CHAM[0:5] == "CART_" :
      return carte_sdaster
@@ -7322,8 +7556,7 @@ CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod,
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
 )  ;
-#& MODIF COMMANDE  DATE 23/07/2007   AUTEUR SALMONA L.SALMONA 
-# RESPONSABLE MCOURTOI M.COURTOIS
+#& MODIF COMMANDE  DATE 19/05/2008   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7341,32 +7574,15 @@ CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
+# RESPONSABLE PELLET J.PELLET
 CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster,
             reentrant='n',fr="Crée un maillage à partir d'un maillage existant",
             UIinfo={"groupes":("Maillage",)},
-         regles=(EXCLUS('ECLA_PG','CREA_MAILLE'),
-                 EXCLUS('ECLA_PG','CREA_GROUP_MA'),
-                 EXCLUS('ECLA_PG','DETR_GROUP_MA'),
-                 EXCLUS('ECLA_PG','MODI_MAILLE'),
-                 EXCLUS('ECLA_PG','LINE_QUAD'),
-                 EXCLUS('ECLA_PG','CREA_FISS'),
-                 EXCLUS('ECLA_PG','COQU_VOLU'),
-                 EXCLUS('LINE_QUAD','MODI_MAILLE'),
-                 EXCLUS('LINE_QUAD','CREA_MAILLE'),
-                 EXCLUS('LINE_QUAD','CREA_GROUP_MA'),
-                 EXCLUS('LINE_QUAD','DETR_GROUP_MA'),
-                 EXCLUS('LINE_QUAD','CREA_FISS'),
-                 EXCLUS('LINE_QUAD','COQU_VOLU'),
-                 EXCLUS('CREA_FISS','MODI_MAILLE'),
-                 EXCLUS('CREA_FISS','CREA_MAILLE'),
-                 EXCLUS('CREA_FISS','CREA_GROUP_MA'),
-                 EXCLUS('CREA_FISS','DETR_GROUP_MA'),
-                 EXCLUS('CREA_FISS','COQU_VOLU'),
-                 EXCLUS('COQU_VOLU','MODI_MAILLE'),
-                 EXCLUS('COQU_VOLU','CREA_MAILLE'),
-                 EXCLUS('COQU_VOLU','CREA_GROUP_MA'),
-                 EXCLUS('COQU_VOLU','DETR_GROUP_MA'),
-                 ),
+         regles=(EXCLUS('COQU_VOLU', 'CREA_FISS', 'CREA_GROUP_MA', 'CREA_MAILLE', 'CREA_POI1',
+                        'DETR_GROUP_MA', 'ECLA_PG', 'HEXA20_27', 'LINE_QUAD', 'MODI_MAILLE',
+                        'QUAD_LINE', 'REPERE','RESTREINT'),),
+
+
 
          # le MAILLAGE est inutile si ECLA_PG
          MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
@@ -7402,6 +7618,12 @@ CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster,
            NB_MAILLE       =SIMP(statut='f',typ='I',defaut= 0,
                                  fr="Nombre minimal de mailles que doit contenir le groupe pour etre détruit",  ),
          ),
+         RESTREINT   =FACT(statut='f',fr="Restreindre un maillage à des groupes de mailles",max=1,
+           GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
+           TOUT_GROUP_MA   =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),),
+           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+           TOUT_GROUP_NO   =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),),
+         ),
          COQU_VOLU   =FACT(statut='f',
                            fr="Creation de mailles volumiques à partir de mailles surfaciques",
            NOM             =SIMP(statut='o',typ='TXM'),
@@ -7485,7 +7707,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 17/07/2007   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7503,6 +7725,7 @@ CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
+# RESPONSABLE LEFEBVRE J.P.LEFEBVRE
 def crea_resu_prod(TYPE_RESU,**args):
   if TYPE_RESU == "EVOL_ELAS"    : return evol_elas
   if TYPE_RESU == "EVOL_NOLI"    : return evol_noli
@@ -7606,7 +7829,7 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
            PERM_CHAM       =FACT(statut='o',max='**',
               GROUP_MA_FINAL =SIMP(statut='o',typ=grma),
               GROUP_MA_INIT  =SIMP(statut='o',typ=grma),
-              TRAN           =SIMP(statut='o',typ='R',max='**'),
+              TRAN           =SIMP(statut='o',typ='R',min=3,max=3),
               PRECISION      =SIMP(statut='f',typ='R',defaut=1.0E-3),
            ),
          ),
@@ -7656,199 +7879,11 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
            PREP_VRC2        =FACT(statut='o',max=1,
              EVOL_THER     =SIMP(statut='o',typ=(evol_ther)),       # evol_ther de type "coque" (TEMP/TEMP_INF/TEMP_SUP)
              MODELE        =SIMP(statut='o',typ=modele_sdaster),    # modèle mécanique contenant les coques multicouche
-             CARA_ELEM     =SIMP(statut='o',typ=cara_elem),         # CARA_ELEM pour connaitre EPAIS et COQU_NCOU
-           ),
-         ),
-)  ;
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
-#            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.                                                  
-#                                                                       
-# 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.        
-# ======================================================================
-
-def crea_table_prod(TYPE_TABLE, **args):
-   """Typage du concept résultat
-   """
-   if TYPE_TABLE == 'TABLE_FONCTION':
-      return table_fonction
-   else:
-      return table_sdaster
-
-CREA_TABLE=OPER(nom="CREA_TABLE",op=36,sd_prod=crea_table_prod,
-                fr="Création d'une table à partir d'une fonction ou de deux listes",
-                reentrant='f',UIinfo={"groupes":("Table",)},
-
-           regles=(EXCLUS('FONCTION','LISTE'),),
-
-           LISTE=FACT(statut='f',max='**',
-                 fr="Creation d'une table a partir de listes",
-                 regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')), 
-                        PARA     =SIMP(statut='o',typ='TXM'),
-                        TYPE_K   =SIMP(statut='f',typ='TXM',defaut='K8',
-                                    into=('K8','K16','K24')),
-                        NUME_LIGN=SIMP(statut='f',typ='I',max='**'),
-                        LISTE_I  =SIMP(statut='f',typ='I',max='**'),
-                        LISTE_R  =SIMP(statut='f',typ='R',max='**'),
-                        LISTE_K  =SIMP(statut='f',typ='TXM', max='**'),
-           ),
-           FONCTION=FACT(statut='f',
-                    fr="Creation d'une table a partir d'une fonction",
-                        FONCTION=SIMP(statut='o',typ=(fonction_c,fonction_sdaster)),
-                        PARA=SIMP(statut='f',typ='TXM',min=2,max=2),
-           ),
-           b_fonction = BLOC(condition='FONCTION != None',
-               regles=(CONCEPT_SENSIBLE('SEPARE'), REUSE_SENSIBLE(),
-                       DERIVABLE('FONCTION'),),
-               SENSIBILITE = SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
-                                    fr="Liste des paramètres de sensibilité.",
-                                    ang="List of sensitivity parameters"),
-           ),
-           TYPE_TABLE = SIMP(statut='f', typ='TXM', defaut="TABLE",
-                             into=('TABLE', 'TABLE_FONCTION'),),
-           
-           TITRE=SIMP(statut='f',typ='TXM',max='**'),
-)  ;
-
-
-
-#& MODIF COMMANDE  DATE 05/02/2007   AUTEUR PELLET J.PELLET 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2007  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.        
-# ======================================================================
-# ======================================================================
-DEBUG=PROC(nom="DEBUG",op=137,
-            UIinfo={"groupes":("Utilitaires",)},
-               fr="Permettre de changer entre 2 commandes quelques variables globales de debug",
-
-     SDVERI          =SIMP(fr="vérifie la conformité des SD produites par les commandes",
-                           statut='f',typ='TXM',into=('OUI','NON')),
-     JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
-                           statut='f',typ='TXM',into=('OUI','NON')),
-     JEVEUX          =SIMP(fr="force les déchargement sur disque",
-                           statut='f',typ='TXM',into=('OUI','NON')),
-     IMPR_MACRO      =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess",
-                           statut='f',typ='TXM',into=("OUI","NON")),
- );
-#& MODIF COMMANDE  DATE 12/11/2007   AUTEUR LEFEBVRE J-P.LEFEBVRE 
-#            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.
-#
-# 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.
-# ======================================================================
-DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,repetable='n',
-            UIinfo={"groupes":("Gestion du travail",)},
-           fr="Ouverture d'une étude. Allocation des ressources mémoire et disque et fichiers",
-          sd_prod=ops.DEBUT,
-
-         PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
-                           into=("OUI","NON"),defaut="OUI"),
-         IMPR_MACRO      =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess",
-                           statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"),
-#         FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
-#                               typ='TXM',defaut="NON",into=("OUI","NON",) ),
-         BASE            =FACT(fr="définition des paramètres associés aux bases JEVEUX",
-                               statut='f',min=1,max=2,
-           FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM',
-                                 into=('GLOBALE','VOLATILE'),),
-           TITRE           =SIMP(statut='f',typ='TXM'),
-           CAS             =SIMP(statut='f',typ='TXM'),
-           NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
-           LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
-           LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
-         ),
-
-         IMPRESSION      =FACT(statut='f',min=1,max=3,
-           FICHIER         =SIMP(statut='o',typ='TXM'),
-           UNITE           =SIMP(statut='o',typ='I'),
-         ),
-
-         CATALOGUE       =FACT(statut='f',min=1,max=10,
-           FICHIER         =SIMP(statut='o',typ='TXM'),
-           TITRE           =SIMP(statut='f',typ='TXM'),
-           UNITE           =SIMP(statut='f',typ='I'),
-         ),
-
-         CODE            =FACT(fr="définition d'un nom pour l'ensemble d'une étude",
-                               statut='f',min=1,max=1,
-           NOM             =SIMP(statut='o',typ='TXM'),
-           NIV_PUB_WEB     =SIMP(statut='o',typ='TXM',into=('INTERNET','INTRANET')),
-           VISU_EFICAS     =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI'),
-         ),
-
-         ERREUR          =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1,
-           ERREUR_F        =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),defaut='ABORT'),
-         ),
-
-         DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
-                               statut='f',min=1,max=1,
-           JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
-                                 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
-           SDVERI          =SIMP(fr="vérifie la conformité des SD produites par les commandes",
-                                 statut='f',typ='TXM',into=('OUI','NON')),
-           JEVEUX          =SIMP(fr="force les déchargement sur disque",
-                                 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
-           ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
-                                 statut='f',typ='TXM',into=('TEST',)),
-         ),
-
-         MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
-           GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
-           TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
-           TAILLE          =SIMP(statut='f',typ='I'),
-           TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
-           PARTITION       =SIMP(statut='f',typ='R'),
-           DYNAMIQUE       =SIMP(statut='f',typ='I'),
-         ),
-         RESERVE_CPU     =FACT(fr="reserve de temps pour terminer une execution",statut='d',max=1,
-           regles=(EXCLUS('VALE','POURCENTAGE'),),
-           VALE            =SIMP(statut='f',typ='I',val_min=0),
-#                            valeur par défaut fixée à 10. dans le FORTRAN si CODE présent
-           POURCENTAGE     =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0),
-#                           valeur par défaut fixée à 10% dans le FORTRAN
-           BORNE           =SIMP(statut='f',typ='I',val_min=0,defaut=900) ),
-#          valeur en pourcentage du temps maximum bornée à 900 secondes
-);
-#& MODIF COMMANDE  DATE 03/10/2005   AUTEUR NICOLAS O.NICOLAS 
+             CARA_ELEM     =SIMP(statut='o',typ=cara_elem),         # CARA_ELEM pour connaitre EPAIS et COQU_NCOU
+           ),
+         ),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7866,6 +7901,7 @@ DEBUT=MACRO(nom="DEBUT",op=ops.build_debut ,repetable='n',
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE NISTOR I.NISTOR
 DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op=  99,sd_prod=base_modale,
                      reentrant='f',
                      fr="Définit la base d'une sous-structuration dynamique ou d'une recombinaison modale",
@@ -7904,7 +7940,7 @@ DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op=  99,sd_prod=base_modale,
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 26/03/2007   AUTEUR ASSIRE A.ASSIRE 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7922,6 +7958,7 @@ DEFI_BASE_MODALE=OPER(nom="DEFI_BASE_MODALE",op=  99,sd_prod=base_modale,
 # 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
 
 from Macro.defi_cable_bp_ops import defi_cable_bp_ops
 
@@ -7957,266 +7994,28 @@ DEFI_CABLE_BP=MACRO(nom="DEFI_CABLE_BP",op=defi_cable_bp_ops,sd_prod=cabl_precon
          CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
          GROUP_MA_BETON  =SIMP(statut='o',typ=grma,max='**'),
          DEFI_CABLE      =FACT(statut='o',max='**',
-           regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                   UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
-           MAILLE          =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma),
-           NOEUD_ANCRAGE   =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=2),
-           GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
-         ),
-         TYPE_ANCRAGE    =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
-         TENSION_INIT    =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
-         RECUL_ANCRAGE   =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
-         RELAXATION      =FACT(statut='f',min=0,
-           R_J             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
-         ),
-         CONE            =FACT(statut='f',
-           RAYON             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
-           LONGUEUR          =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
-           PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
-         ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
-)  ;
-#& MODIF COMMANDE  DATE 22/06/2005   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.                                                  
-#                                                                       
-# 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.        
-# ======================================================================
-
-DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,reentrant='n',
-            fr="Définit les profils initiaux de tension d'une structure en béton le long des cables de précontrainte"
-               +" (utilisée par la macro DEFI_CABLE_BP)",
-            UIinfo={"groupes":("Modélisation",)},
-         MODELE          =SIMP(statut='o',typ=modele_sdaster ),
-         CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
-         CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
-         GROUP_MA_BETON  =SIMP(statut='o',typ=grma,max='**'),
-         DEFI_CABLE      =FACT(statut='o',max='**',
-           regles=(UN_PARMI('MAILLE','GROUP_MA'),
-                   UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
-           MAILLE          =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma),
-           NOEUD_ANCRAGE   =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=2),
-           GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
-           GROUP_NO_FUT    =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
-         ),
-         TYPE_ANCRAGE    =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
-         TENSION_INIT    =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
-         RECUL_ANCRAGE   =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
-         RELAXATION      =FACT(statut='f',min=0,
-           R_J             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
-         ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
-         CONE            =FACT(statut='f',min=0,
-           RAYON             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
-           LONGUEUR          =SIMP(statut='o',typ='R',val_min=0.E+0, defaut=0.E+0 ),  
-           PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
-         ),
-)  ;
-#& MODIF COMMANDE  DATE 19/06/2007   AUTEUR PELLET J.PELLET 
-# RESPONSABLE JMBHH01 J.M.PROIX
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2004  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.
-# ======================================================================
-DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
-                   fr="Définir le comportement d'un monocristal, d'un polycristal ou de groupes de fibres",
-                   reentrant='n',
-            UIinfo={"groupes":("Modélisation",)},
-# on exclut MULTIFBRE de MONOCRISTAL ou POLYCRISTAL car la structure de données n'est pas organisée pareil pour ces cas
-                  regles=(UN_PARMI('MONOCRISTAL','POLYCRISTAL','MULTIFIBRE'),
-                 PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE','MATER_SECT'),
-                         ),
-          MONOCRISTAL    =FACT(statut='f', max='**',
-             MATER           =SIMP(statut='o', typ=mater_sdaster, max=1),
-             ECOULEMENT      =SIMP(statut='o', typ='TXM', max=1,
-                   fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écoulement viscoplastique"),
-             ECRO_ISOT       =SIMP(statut='o', typ='TXM', max=1,
-                   fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage isotrope"),
-             ECRO_CINE       =SIMP(statut='o', typ='TXM', max=1,
-                   fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage cinématique"),
-             ELAS            =SIMP(statut='f', typ='TXM', max=1,
-                   fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le comportement élastique (un et un seul)"),
-             FAMI_SYST_GLIS  =SIMP(statut='o',typ='TXM', max=1,
-                                into=('BASAL', 'PRISMATIQUE', 'OCTAEDRIQUE', 'PYRAMIDAL1',
-                                'PYRAMIDAL2', 'CUBIQUE1', 'CUBIQUE2', 'MACLAGE', 'JOINT_GRAIN', 'RL', 'UNIAXIAL','BCC24'),),
-                                ),
-
-
-          POLYCRISTAL    =FACT(statut='f', max='**',
-           regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),),
-             MONOCRISTAL     =SIMP(statut='o', typ=compor_sdaster, max=1),
-             FRAC_VOL  =SIMP(statut='o', typ='R', max=1,fr="fraction volumique de la phase correspondant au monocristal"),
-             ANGL_REP  =SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles nautiques en degrés"),
-             ANGL_EULER=SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles d'Euler   en degrés"),
-                                ),
-
-
-          b_poly      =BLOC( condition = "POLYCRISTAL!='None'",
-          LOCALISATION     =SIMP(statut='f', typ='TXM', max=1, into=('BZ', 'BETA', 'RL',),
-                fr="Donner le nom de la règle de localisation"),
-
-           b_beta      =BLOC( condition = "LOCALISATION=='BETA'",
-             DL            =SIMP(statut='o',typ='R',max=1),
-             DA            =SIMP(statut='o',typ='R',max=1),
-             ),
-             ),
-
-#####################################################################################
-          GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster,
-                   fr="Donner le nom du concept regroupant tous les groupes de fibres (issu de DEFI_GEOM_FIBRE)"),
-          MATER_SECT = SIMP(statut='f',max=1,typ=mater_sdaster,
-                   fr="Donner le nom du materiau pour les caracteristiques homogeneisees sur la section"),
-          MULTIFIBRE    = FACT(statut='f',max='**',
-          GROUP_FIBRE        =SIMP(statut='o', typ='TXM', max='**'),
-             MATER           =SIMP(statut='o', typ=mater_sdaster, max=1,
-                                   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")),
-             RELATION        =SIMP(statut='f', typ='TXM', max=1,defaut="ELAS",
-#                                   into=c_relation_into,
-                                  fr="Donner le nom de la relation incrementale pour le groupe de fibres",
-                                 into=(
-                                        "ELAS",
-                                        "ELAS_HYPER",
-                                        "VMIS_ISOT_TRAC",
-                                        "VISC_ISOT_TRAC",
-                                        "VMIS_ISOT_LINE",
-                                        "VISC_ISOT_LINE",
-                                        "VMIS_ISOT_PUIS",
-                                        "VMIS_ECMI_TRAC",
-                                        "VMIS_ECMI_LINE",
-                                        "LABORD_1D",
-                                        "ENDO_FRAGILE",
-                                        "ENDO_ISOT_BETON",
-                                        "ENDO_ORTH_BETON",
-                                        "BETON_REGLE_PR",
-                                        "MAZARS",
-                                        "RUPT_FRAG",
-                                        "VMIS_CINE_LINE",
-                                        "VISC_TAHERI",
-                                        "VISCOCHAB",
-                                        "VMIS_CIN1_CHAB",
-                                        "VMIS_CIN2_CHAB",
-                                        "VISC_CIN1_CHAB",
-                                        "VISC_CIN2_CHAB",
-                                        "ROUSSELIER",
-                                        "ROUSS_PR",
-                                        "ROUSS_VISC",
-                                        "NORTON_HOFF",
-                                        "LEMAITRE",
-                                        "VENDOCHAB",
-                                        "DRUCKER_PRAGER",
-                                        "GRANGER_FP",
-                                        "GRANGER_FP_INDT",
-                                        "GRANGER_FP_V",
-                                        "BAZANT_FD",
-                                        "BETON_UMLV_FP",
-                                        "BETON_DOUBLE_DP",
-                                        "KIT_DDI",
-                                        "SANS",
-                                        "CORR_ACIER",
-                                        "ZMAT",
-                                        "GRAN_IRRA_LOG",
-                                     ) ),
-          ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          SANS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          CORR_ACIER      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
-          VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
-          VISC_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
-          VMIS_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
-          VISC_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
-          VMIS_ISOT_PUIS  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
-          VMIS_ECMI_TRAC  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
-          VMIS_ECMI_LINE  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
-          LABORD_1D       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
-          ENDO_FRAGILE    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
-          ENDO_ISOT_BETON =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
-          ENDO_ORTH_BETON =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
-          BETON_REGLE_PR  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          MAZARS          =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
-          RUPT_FRAG       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          VMIS_CINE_LINE  =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
-          VISCOCHAB       =SIMP(statut='c',typ='I',defaut=28,into=(28,)),
-          VMIS_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
-          VMIS_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
-          VISC_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
-          VISC_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
-          VISC_TAHERI     =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
-          ROUSSELIER      =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
-          ROUSS_PR        =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
-          ROUSS_VISC      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
-          VMIS_POU_LINE   =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
-          VMIS_POU_FLEJOU =SIMP(statut='c',typ='I',defaut=9 ,into=(9,)),
-          ASSE_CORN       =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
-          ARME            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          NORTON_HOFF     =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          LEMAITRE        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
-          VENDOCHAB       =SIMP(statut='c',typ='I',defaut=10,into=(10,)),
-          GRILLE_ISOT_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
-          DRUCKER_PRAGER  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
-          HOEK_BROWN      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
-          HOEK_BROWN_EFF  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
-          HOEK_BROWN_TOT  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
-          GRANGER_FP      =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
-          GRANGER_FP_INDT =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
-          GRANGER_FP_V    =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
-          BAZANT_FD       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          BETON_DOUBLE_DP =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
-          BETON_UMLV_FP   =SIMP(statut='c',typ='I',defaut=21,into=(21,)),
-          GRAN_IRRA_LOG   =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
-
-           RELATION_KIT    =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
-                                 into=(
-# MECA KIT_DDI
-                                       "VMIS_ISOT_TRAC",
-                                       "VMIS_ISOT_LINE",
-                                       "VMIS_ISOT_CINE",
-                                       "VMIS_ISOT_PUIS",
-                                       "GRANGER_FP",
-                                       "GRANGER_FP_INDT",
-                                       "GRANGER_FP_V",
-                                       "BETON_UMLV_FP",
-                                       "ROUSS_PR",
-                                       "NADAI_B",
-                                       "BETON_DOUBLE_DP",
-                                       ),),
-
-# on pourrait ajouter TOUT_GROUP_FIBRE
-
-                                ) );
-
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
+           regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                   UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
+           MAILLE          =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma),
+           NOEUD_ANCRAGE   =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=2),
+           GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
+         ),
+         TYPE_ANCRAGE    =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
+         TENSION_INIT    =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
+         RECUL_ANCRAGE   =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
+         RELAXATION      =FACT(statut='f',min=0,
+           R_J             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
+         ),
+         CONE            =FACT(statut='f',
+           RAYON             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
+           LONGUEUR          =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
+           PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
+         ),
+         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.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -8234,6 +8033,7 @@ DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
 # 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_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op=   2,sd_prod=fonction_sdaster,
                     fr="Définir la valeur d'une grandeur invariante",
                     reentrant='n',
@@ -8242,7 +8042,7 @@ 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 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -8260,6 +8060,7 @@ DEFI_CONSTANTE=OPER(nom="DEFI_CONSTANTE",op=   2,sd_prod=fonction_sdaster,
 # 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
 DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater_sdaster,reentrant='n',
             UIinfo={"groupes":("Modélisation",)},
                     fr="Déterminer les caractéristiques matériaux homogénéisées d'une coque multicouche à partir"
@@ -8274,126 +8075,7 @@ DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater_sdaster,reentrant='
            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
          ),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   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.                                                  
-#                                                                       
-# 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 D6BHHJP J.P.LEFEBVRE
-def DEFIC_prod(self,ACTION,UNITE,**args):
-  if ACTION == "ASSOCIER" or ACTION == "RESERVER":
-    if UNITE != None :
-      return
-    else :
-      return entier
-  elif ACTION == "LIBERER"  :
-    return
-  else :
-    raise AsException("ACTION non prevue : %s" % ACTION)
-
-DEFI_FICHIER=MACRO(nom="DEFI_FICHIER",op=ops.build_DEFI_FICHIER,sd_prod=DEFIC_prod,reentrant='n',
-                  UIinfo={"groupes":("Gestion du travail",)},
-                  fr="Ouvre ou ferme un fichier associé à un numéro d'unité logique",
-
-            ACTION        =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER","RESERVER"),defaut="ASSOCIER"),
-
-            b_associer    =BLOC(condition = "ACTION == 'ASSOCIER'",
-                                fr="Paramètres pour l'ouverture du fichier",
-                                regles=(AU_MOINS_UN('FICHIER','UNITE'),),
-               UNITE      =SIMP(statut='f',typ='I' ,val_min=1),
-               FICHIER    =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
-               TYPE       =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"),
-
-               b_type_ascii  =BLOC(condition = "TYPE == 'ASCII'",fr="Paramètres pour le type ASCII",
-                  ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"),
-               ),
-               b_type_autre  =BLOC(condition = "TYPE != 'ASCII'",fr="Paramètres pour les types BINARY et LIBRE",
-                  ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"),
-               ),
-            ),
-
-            b_reserver    =BLOC(condition = "ACTION == 'RESERVER'",
-                                fr="Paramètres pour la réservation de l'unité du fichier",
-                                regles=(AU_MOINS_UN('FICHIER','UNITE'),),
-               UNITE      =SIMP(statut='f',typ='I' ,val_min=1),
-               FICHIER    =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
-               TYPE       =SIMP(statut='f',typ='TXM',into=("ASCII",),defaut="ASCII"),
-               ACCES      =SIMP(statut='f',typ='TXM',into=("APPEND",),defaut="APPEND"),
-            ),
-
-            b_liberer    =BLOC(condition = "ACTION == 'LIBERER'",
-                               fr="Paramètres pour la fermeture du fichier",
-                               regles=(UN_PARMI('FICHIER','UNITE'),),
-                  UNITE         =SIMP(statut='f',typ='I' ,val_min=1),
-                  FICHIER   =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
-           ),
-
-           INFO          =SIMP(statut='f',typ='I',into=(1,2) ),           
-           )
-#& MODIF COMMANDE  DATE 15/05/2007   AUTEUR GENIAUT S.GENIAUT 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2004  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.
-# ======================================================================
-
-DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op=  41,sd_prod=fiss_xfem,reentrant='n',
-            UIinfo={"groupes":("Modélisation",)},
-               fr="Définition des caratéristiques d'une fissure avec X-FEM",
-
-    MODELE                =SIMP(statut='o',typ=modele_sdaster),
-    DEFI_FISS             =FACT(statut='o',max=01,
-      regles              =(UN_PARMI('GROUP_MA_FISS','FONC_LT','FORM_FISS'),
-                            ENSEMBLE('FONC_LT','FONC_LN'),
-                            ENSEMBLE('GROUP_MA_FISS','GROUP_MA_FOND')),
-      FONC_LT             =SIMP(statut='f',typ=(fonction_sdaster,formule) ),
-      FONC_LN             =SIMP(statut='f',typ=(fonction_sdaster,formule) ),
-      GROUP_MA_FISS       =SIMP(statut='f',typ=grma,max=01),
-      GROUP_MA_FOND       =SIMP(statut='f',typ=grma),
-      FORM_FISS           =SIMP(statut='f',typ='TXM',into=("ELLIPSE",) ),
-      b_ellipse           =BLOC(condition = "FORM_FISS == 'ELLIPSE' ",fr="Paramères de la fissure elliptique",           
-           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),
-           CENTRE         =SIMP(statut='o',typ='R',min=3,max=3),
-           VECT_X         =SIMP(statut='o',typ='R',min=3,max=3),
-           VECT_Y         =SIMP(statut='o',typ='R',min=3,max=3),
-           COTE_FISS      =SIMP(statut='f',typ='TXM',defaut="IN",into=("IN","OUT",) ),    ),
-    ),
-    GROUP_MA_ENRI         =SIMP(statut='o',typ=grma,max=01),
-    RAYON_ENRI            =SIMP(statut='f',typ='R',defaut=0.E+0),
-    ORIE_FOND             =FACT(statut='f',max=01,
-      PFON_INI            =SIMP(statut='o',typ='R',max=03),
-      VECT_ORIE           =SIMP(statut='o',typ='R',max=03),
-      PT_ORIGIN           =SIMP(statut='o',typ='R',max=03),
-    ),
-    INFO                  =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3,) ),
-)  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -8411,6 +8093,7 @@ DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op=  41,sd_prod=fiss_xfem,reentrant='n'
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE ADOBES A.ADOBES
 DEFI_FLUI_STRU=OPER(nom="DEFI_FLUI_STRU",op= 143,sd_prod=type_flui_stru,
                     reentrant='n',fr="Définit les caractéristiques nécessaires à l'étude dynamique d'une structure sous écoulement",
             UIinfo={"groupes":("Maillage",)},
@@ -8498,7 +8181,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 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -8516,6 +8199,7 @@ 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',
             UIinfo={"groupes":("Outils métier",)},
                     fr="Définir une fonction du temps intervenant dans le calcul des forces de LAPLACE",
@@ -8567,7 +8251,7 @@ DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction_sdaster,reentran
          ),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -8585,6 +8269,7 @@ DEFI_FONC_ELEC=OPER(nom="DEFI_FONC_ELEC",op=64,sd_prod=fonction_sdaster,reentran
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE ADOBES A.ADOBES
 DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster,
                     reentrant='n',
             fr="Définit un profil de vitesse d'écoulement fluide le long d'une poutre",
@@ -8606,7 +8291,7 @@ DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster,
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 04/09/2007   AUTEUR DURAND C.DURAND 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -8624,7 +8309,7 @@ DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE MCOURTOI M.COURTOIS
+# RESPONSABLE COURTOIS M.COURTOIS
 def defi_fonction_prod(VALE,VALE_PARA,VALE_C,NOEUD_PARA,ABSCISSE,**args):
   if VALE       != None  : return fonction_sdaster
   if VALE_C     != None  : return fonction_c
@@ -8669,7 +8354,7 @@ DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 05/03/2007   AUTEUR GALENNE E.GALENN
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -8687,6 +8372,7 @@ DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE GALENNE E.GALENNE
 DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,reentrant='n',
             UIinfo={"groupes":("Post traitements",)},
                     fr="Définition de lèvres et d'un fond de fissure en 3D",
@@ -8769,59 +8455,7 @@ DEFI_FOND_FISS=OPER(nom="DEFI_FOND_FISS",op=55,sd_prod=fond_fiss,reentrant='n',
            VECT_GRNO_EXTR  =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 13/02/2007   AUTEUR PELLET J.PELLET 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2007  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.        
-# ======================================================================
-# ======================================================================
-# 
-DEFI_GEOM_FIBRE=OPER(nom="DEFI_GEOM_FIBRE",op=  119, sd_prod=gfibre_sdaster,
-                    fr="Definition des groupes de fibres pour les elements multifibres",
-                    reentrant='n',
-            UIinfo={"groupes":("Modelisation",)},
-         regles=(AU_MOINS_UN('SECTION','FIBRE'),),
-
-         INFO       =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
-#============================================================================
-         SECTION     =FACT(statut='f',max='**',
-              regles=(AU_MOINS_UN('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),
-                      PRESENT_ABSENT('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),),
-
-              GROUP_FIBRE       =SIMP(statut='o',typ='TXM',min=1,max=1),
-              TOUT_SECT         =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-              GROUP_MA_SECT     =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-              MAILLE_SECT       =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-
-              MAILLAGE_SECT     =SIMP(statut='o',typ=maillage_sdaster),
-              COOR_AXE_POUTRE   =SIMP(statut='o',typ='R',min=2,max=2),
-         ),
-
-
-#============================================================================
-         FIBRE     =FACT(statut='f',max='**',
-              GROUP_FIBRE       =SIMP(statut='o',typ='TXM',min=1,max=1),
-              CARA              =SIMP(statut='f',typ='TXM',defaut='SURFACE',into=('SURFACE','DIAMETRE',)),
-              VALE              =SIMP(statut='o',typ='R',max='**'),
-              COOR_AXE_POUTRE   =SIMP(statut='o',typ='R',min=2,max=2),
-          ),
-
-
-) ;
-#& MODIF COMMANDE  DATE 04/07/2005   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -8839,7 +8473,7 @@ DEFI_GEOM_FIBRE=OPER(nom="DEFI_GEOM_FIBRE",op=  119, sd_prod=gfibre_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE PELLET J.PELLET
 def defi_group_prod(MAILLAGE,**args):
   if AsType(MAILLAGE) == maillage_sdaster : return maillage_sdaster
   if AsType(MAILLAGE) == squelette : return squelette
@@ -8989,78 +8623,41 @@ regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','INTERSEC','UNION','DIFFE','OPTION')
              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
              NOEUD_ORIG      =SIMP(statut='f',typ=no),
              GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
-             NOEUD_EXTR      =SIMP(statut='f',typ=no),
-             GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
-             PRECISION       =SIMP(statut='o',typ='R' ),
-             CRITERE         =SIMP(statut='o',typ='TXM',into=("ABSOLU","RELATIF") ),
-           ),
-           b_noeud_ordo    =BLOC(condition = "OPTION == 'NOEUD_ORDO'",
-             regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
-                     EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
-             NOM             =SIMP(statut='o',typ=geom),
-             GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
-             NOEUD_ORIG      =SIMP(statut='f',typ=no),
-             GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
-             NOEUD_EXTR      =SIMP(statut='f',typ=no),
-             GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
-           ),
-           b_tunnel    =BLOC(condition = "OPTION == 'TUNNEL'",
-             regles=(AU_MOINS_UN ('TOUT','GROUP_MA','MAILLE'),
-                     EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
-                     AU_MOINS_UN ('GROUP_MA_AXE','MAILLE_AXE'),),
-             NOM             =SIMP(statut='o',typ=geom),
-             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='**'),
-             GROUP_MA_AXE    =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-             MAILLE_AXE      =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-             NOEUD_ORIG      =SIMP(statut='f',typ=no),
-             GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
-             RAYON           =SIMP(statut='o',typ='R'),
-             LONGUEUR        =SIMP(statut='f',typ='R'),
-           ),
-         ),
-         ALARME          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-         INFO            =SIMP(statut='f',typ='I',into=( 1 , 2 ) ),
-)  ;
-#& MODIF COMMANDE  DATE 26/06/2006   AUTEUR CIBHHLV L.VIVAN 
-#            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.                                 
-#
-# 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.      
-# ======================================================================
-DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op=  98,sd_prod=interf_dyna_clas,
-                      reentrant='n',
-            UIinfo={"groupes":("Matrices/vecteurs",)},
-            fr="Définir les interfaces d'une structure et leur affecter un type",
-         NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
-         INTERFACE       =FACT(statut='o',max='**',
-           regles=(ENSEMBLE('NOM','TYPE'),
-#  erreur doc U sur la condition qui suit
-                   UN_PARMI('NOEUD','GROUP_NO'),),
-           NOM             =SIMP(statut='f',typ='TXM' ),
-           TYPE            =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO","AUCUN") ),
-           NOEUD           =SIMP(statut='f',typ=no,max='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
-#           DDL_ACTIF       =SIMP(statut='f',typ='TXM',max='**'),
-           MASQUE          =SIMP(statut='f',typ='TXM',max='**'),
+             NOEUD_EXTR      =SIMP(statut='f',typ=no),
+             GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
+             PRECISION       =SIMP(statut='o',typ='R' ),
+             CRITERE         =SIMP(statut='o',typ='TXM',into=("ABSOLU","RELATIF") ),
+           ),
+           b_noeud_ordo    =BLOC(condition = "OPTION == 'NOEUD_ORDO'",
+             regles=(EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
+                     EXCLUS('NOEUD_EXTR','GROUP_NO_EXTR'),),
+             NOM             =SIMP(statut='o',typ=geom),
+             GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
+             NOEUD_ORIG      =SIMP(statut='f',typ=no),
+             GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
+             NOEUD_EXTR      =SIMP(statut='f',typ=no),
+             GROUP_NO_EXTR   =SIMP(statut='f',typ=grno),
+           ),
+           b_tunnel    =BLOC(condition = "OPTION == 'TUNNEL'",
+             regles=(AU_MOINS_UN ('TOUT','GROUP_MA','MAILLE'),
+                     EXCLUS('NOEUD_ORIG','GROUP_NO_ORIG'),
+                     AU_MOINS_UN ('GROUP_MA_AXE','MAILLE_AXE'),),
+             NOM             =SIMP(statut='o',typ=geom),
+             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='**'),
+             GROUP_MA_AXE    =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+             MAILLE_AXE      =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+             NOEUD_ORIG      =SIMP(statut='f',typ=no),
+             GROUP_NO_ORIG   =SIMP(statut='f',typ=grno),
+             RAYON           =SIMP(statut='o',typ='R'),
+             LONGUEUR        =SIMP(statut='f',typ='R'),
+           ),
          ),
-         FREQ            =SIMP(statut='f',typ='R',defaut= 1.),
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
+         ALARME          =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+         INFO            =SIMP(statut='f',typ='I',into=( 1 , 2 ) ),
 )  ;
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -9078,6 +8675,7 @@ DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op=  98,sd_prod=interf_dyna_clas,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE ZENTNER I.ZENTNER
 from Macro.defi_inte_spec_ops import defi_inte_spec_ops
 
 DEFI_INTE_SPEC=MACRO(nom="DEFI_INTE_SPEC",op= defi_inte_spec_ops,sd_prod=table_fonction,
@@ -9123,7 +8721,46 @@ DEFI_INTE_SPEC=MACRO(nom="DEFI_INTE_SPEC",op= defi_inte_spec_ops,sd_prod=table_f
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),               
 )  ;
-#& MODIF COMMANDE  DATE 22/10/2007   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 06/05/2008   AUTEUR CORUS M.CORUS 
+#            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.                                 
+#
+# 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 CORUS M.CORUS
+
+DEFI_INTERF_DYNA=OPER(nom="DEFI_INTERF_DYNA",op=  98,sd_prod=interf_dyna_clas,
+                      reentrant='n',
+            UIinfo={"groupes":("Matrices/vecteurs",)},
+            fr="Définir les interfaces d'une structure et leur affecter un type",
+         NUME_DDL        =SIMP(statut='o',typ=nume_ddl_sdaster ),
+         INTERFACE       =FACT(statut='o',max='**',
+           regles=(ENSEMBLE('NOM','TYPE'),
+#  erreur doc U sur la condition qui suit
+                   UN_PARMI('NOEUD','GROUP_NO'),),
+           NOM             =SIMP(statut='f',typ='TXM' ),
+           TYPE            =SIMP(statut='f',typ='TXM',into=("MNEAL","CRAIGB","CB_HARMO","AUCUN") ),
+           NOEUD           =SIMP(statut='f',typ=no,max='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno,max='**'),
+#           DDL_ACTIF       =SIMP(statut='f',typ='TXM',max='**'),
+           MASQUE          =SIMP(statut='f',typ='TXM',max='**'),
+         ),
+         FREQ            =SIMP(statut='f',typ='R',defaut= 1.),
+         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
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -9141,7 +8778,7 @@ DEFI_INTE_SPEC=MACRO(nom="DEFI_INTE_SPEC",op= defi_inte_spec_ops,sd_prod=table_f
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE COURTOIS M.COURTOIS
 DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster,
                     fr="Définir une liste d'entiers strictement croissante",
                     reentrant='n',
@@ -9178,7 +8815,7 @@ DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster,
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -9196,7 +8833,7 @@ DEFI_LIST_ENTI=OPER(nom="DEFI_LIST_ENTI",op=22,sd_prod=listis_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE COURTOIS M.COURTOIS
 DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster,
                     fr="Définir une liste de réels strictement croissante",
                     reentrant='n',
@@ -9215,7 +8852,7 @@ DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster,
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 12/03/2007   AUTEUR DEVESA G.DEVESA 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -9233,7 +8870,7 @@ DEFI_LIST_REEL=OPER(nom="DEFI_LIST_REEL",op=24,sd_prod=listr8_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE PELLET J.PELLET
 DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op=  88,sd_prod=maillage_sdaster,
                    fr="Définition d'un nouveau maillage à partir de macro-éléments",
                    reentrant='n',
@@ -9294,7 +8931,7 @@ DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op=  88,sd_prod=maillage_sdaster,
            GROUP_NO_FIN    =SIMP(statut='f',typ=grno),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 06/11/2007   AUTEUR KHAM M.KHAM 
+#& MODIF COMMANDE  DATE 06/05/2008   AUTEUR MARKOVIC D.MARKOVIC 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -9312,6 +8949,7 @@ DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op=  88,sd_prod=maillage_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
+# RESPONSABLE LEFEBVRE J.P.LEFEBVRE
 DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                    fr="Définition des paramètres décrivant le comportement d un matériau",
                    reentrant='f',
@@ -9329,25 +8967,23 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                EXCLUS('CIN1_CHAB','CIN1_CHAB_FO'),
                EXCLUS('CIN2_CHAB','CIN2_CHAB_FO'),
                EXCLUS('VISCOCHAB','VISCOCHAB_FO'),
-               EXCLUS('LEMAITRE','LEMAITRE_FO','ZIRC_CYRA2','ZIRC_EPRI','VISC_IRRA_LOG',
+               EXCLUS('LEMAITRE','LEMAITRE_FO','VISC_IRRA_LOG',
                'LEMA_SEUIL','LEMA_SEUIL_FO','LEMAITRE_IRRA','LMARC_IRRA',),
                EXCLUS('LMARC','LMARC_FO'),
+               EXCLUS('META_LEMA_ANI','META_LEMA_ANI_FO'),
                EXCLUS('VMIS_POUTRE','VMIS_POUTRE_FO'),
                EXCLUS('VENDOCHAB','VENDOCHAB_FO'),
                PRESENT_PRESENT('BPEL_ACIER','ELAS'),
                EXCLUS('RCCM','RCCM_FO'),
                EXCLUS('WEIBULL','WEIBULL_FO'),
-               PRESENT_PRESENT('BARCELONE','CAM_CLAY','ELAS'),
-               PRESENT_PRESENT('CAM_CLAY','ELAS'),
+               PRESENT_PRESENT('BARCELONE','CAM_CLAY'),
                PRESENT_PRESENT('LAIGLE','ELAS'),
                PRESENT_PRESENT('LETK','ELAS'),
                PRESENT_PRESENT('DRUCK_PRAGER','ELAS'),
                PRESENT_PRESENT('HOEK_BROWN','ELAS'),
                EXCLUS('MAZARS','MAZARS_FO'),
-               PRESENT_PRESENT('BAZANT_FD','ELAS_FO'),
                PRESENT_PRESENT('JOINT_BA','ELAS'),
                PRESENT_PRESENT('CABLE','ELAS'),
-               EXCLUS('GLRC_DAMAGE','GLRC_DM'),
                ),
            MATER      =SIMP(statut='f',typ=mater_sdaster),
 #
@@ -9591,10 +9227,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              A4              =SIMP(statut='f',typ='R'),
              A5              =SIMP(statut='f',typ='R'),
            ),
-           APPUI_ELAS      =FACT(statut='f',
-             E_N             =SIMP(statut='o',typ='R'),
-             E_TAN           =SIMP(statut='f',typ='R',defaut= 0.E+0),
-           ),
            CABLE           =FACT(statut='f',
              EC_SUR_E        =SIMP(statut='f',typ='R',defaut= 1.E-4 ),
            ),
@@ -9761,6 +9393,19 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              A_I             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
            ),
+           MEMO_ECRO       =FACT(statut='f',
+             MU              =SIMP(statut='o',typ='R'),
+             Q_M             =SIMP(statut='o',typ='R'),
+             Q_0             =SIMP(statut='o',typ='R'),
+             ETA             =SIMP(statut='f',typ='R',defaut= 0.5E+0 ),
+           ),
+           MEMO_ECRO_FO        =FACT(statut='f',
+             MU              =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             Q_M             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             Q_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             ETA             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
+           ),
            VISCOCHAB       =FACT(statut='f',
              K_0             =SIMP(statut='o',typ='R'),
              A_K             =SIMP(statut='o',typ='R'),
@@ -9867,12 +9512,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              GRAN_B          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
              GRAN_S          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
            ),
-           ZIRC_CYRA2      =FACT(statut='f',
-             EPSI_FAB        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             TEMP_RECUIT     =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             FLUX_PHI        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
-           ),
           VISC_IRRA_LOG    =FACT(statut='f',
              A               =SIMP(statut='f',typ='R',defaut= 1.28E-1),
              B               =SIMP(statut='f',typ='R',defaut= 0.01159),
@@ -9914,11 +9553,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                TOLER_ET =SIMP(statut='c',typ='R',val_min=0.0,defaut=0.15 ),
                VERI_P   =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","IRRA") ),
          ),
-           ZIRC_EPRI       =FACT(statut='f',
-             FLUX_PHI        =SIMP(statut='o',typ='R'),
-             R_P             =SIMP(statut='o',typ='R'),
-             THETA_MAX       =SIMP(statut='o',typ='R'),
-           ),
            LEMAITRE_FO     =FACT(statut='f',
              N               =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
              UN_SUR_K        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -9988,6 +9622,58 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              R66             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
            ),
+             META_LEMA_ANI     =FACT(statut='f',
+             F1_A            =SIMP(statut='o',typ='R'),
+             F2_A            =SIMP(statut='o',typ='R'),
+             C_A             =SIMP(statut='o',typ='R'),
+             F1_M            =SIMP(statut='o',typ='R'),
+             F2_M            =SIMP(statut='o',typ='R'),
+             C_M             =SIMP(statut='o',typ='R'),
+             F1_N            =SIMP(statut='o',typ='R'),
+             F2_N            =SIMP(statut='o',typ='R'),
+             C_N             =SIMP(statut='o',typ='R'),
+             F1_Q            =SIMP(statut='o',typ='R'),
+             F2_Q            =SIMP(statut='o',typ='R'),
+             C_Q             =SIMP(statut='o',typ='R'),
+             F_MRR_RR        =SIMP(statut='o',typ='R'),
+             C_MRR_RR        =SIMP(statut='o',typ='R'),
+             F_MTT_TT        =SIMP(statut='o',typ='R'),
+             C_MTT_TT        =SIMP(statut='o',typ='R'),
+             F_MZZ_ZZ        =SIMP(statut='o',typ='R'),
+             C_MZZ_ZZ        =SIMP(statut='o',typ='R'),
+             F_MRT_RT        =SIMP(statut='o',typ='R'),
+             C_MRT_RT        =SIMP(statut='o',typ='R'),
+             F_MRZ_RZ        =SIMP(statut='o',typ='R'),
+             C_MRZ_RZ        =SIMP(statut='o',typ='R'),
+             F_MTZ_TZ        =SIMP(statut='o',typ='R'),
+             C_MTZ_TZ        =SIMP(statut='o',typ='R'),
+           ),
+             META_LEMA_ANI_FO  =FACT(statut='f',
+             F1_A            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             F2_A            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             C_A             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             F1_M            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             F2_M            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             C_M             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             F1_N            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             F2_N            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             C_N             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             F1_Q            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             F2_Q            =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             C_Q             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             F_MRR_RR        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             C_MRR_RR        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             F_MTT_TT        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             C_MTT_TT        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             F_MZZ_ZZ        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             C_MZZ_ZZ        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             F_MRT_RT        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             C_MRT_RT        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             F_MRZ_RZ        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             C_MRZ_RZ        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             F_MTZ_TZ        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             C_MTZ_TZ        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           ), 
            VMIS_POUTRE     =FACT(statut='f',
              NP              =SIMP(statut='o',typ='R'),
              MEY             =SIMP(statut='o',typ='R'),
@@ -10039,32 +9725,13 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
            ),
            DIS_CONTACT     =FACT(statut='f',
              RIGI_NOR        =SIMP(statut='f',typ='R' ),
-             DIST_1          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
-             DIST_2          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
              RIGI_TAN        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
              AMOR_NOR        =SIMP(statut='f',typ='R' ),
              AMOR_TAN        =SIMP(statut='f',typ='R' ),
              COULOMB         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
+             DIST_1          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
+             DIST_2          =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
              JEU             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
-             KT_ULTM         =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
-             EFFO_N_INIT     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             regles=(EXCLUS('RIGI_N_FO','RIGI_N_IRRA',),
-                     EXCLUS('RELA_MZ','ANGLE_1'),
-                     PRESENT_PRESENT('ANGLE_1','ANGLE_2','ANGLE_3','ANGLE_4',
-                                     'MOMENT_1','MOMENT_2','MOMENT_3','MOMENT_4'),),
-             RIGI_N_IRRA     =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             RIGI_N_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             RELA_MZ         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             ANGLE_1         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             ANGLE_2         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             ANGLE_3         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             ANGLE_4         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             MOMENT_1        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             MOMENT_2        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             MOMENT_3        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             MOMENT_4        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             C_PRAGER_MZ     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
-             VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("DRZ","INST","TEMP",) ),
            ),
            DIS_GRICRA    =FACT(statut='f',
              KN_AX       =SIMP(statut='o',typ='R' ),
@@ -10094,13 +9761,13 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              VERI_P      =SIMP(statut='c',typ='TXM',max='**',defaut=("DRZ","INST","TEMP",) ),
            ),
            NADAI_B         =FACT(statut='f',
-             F_C             =SIMP(statut='o',typ='R'),
-             F_T             =SIMP(statut='o',typ='R'),
-             CRIT_E_C        =SIMP(statut='o',typ='R'),
-             EPSP_P_C        =SIMP(statut='o',typ='R'),
-             EPSP_R_C        =SIMP(statut='o',typ='R'),
-             EPSI_R_T        =SIMP(statut='o',typ='R'),
-             FAC_T_C         =SIMP(statut='o',typ='R'),
+             F_C             =SIMP(statut='o',typ='R',val_min=0.E+0),
+             F_T             =SIMP(statut='o',typ='R',val_min=0.E+0),
+             CRIT_E_C        =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0),
+             EPSP_P_C        =SIMP(statut='o',typ='R',val_min=0.E+0),
+             EPSP_R_C        =SIMP(statut='o',typ='R',val_min=0.E+0),
+             EPSI_R_T        =SIMP(statut='o',typ='R',val_min=0.E+0),
+             FAC_T_C         =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0),
            ),
            BETON_DOUBLE_DP =FACT(statut='f',
              F_C             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -10108,8 +9775,8 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              COEF_BIAX       =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
              ENER_COMP_RUPT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
              ENER_TRAC_RUPT  =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             COEF_ELAS_COMP  =SIMP(statut='o',typ='R'),
-             LONG_CARA       =SIMP(statut='f',typ='R'),
+             COEF_ELAS_COMP  =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=100.E+0),
+             LONG_CARA       =SIMP(statut='f',typ='R',val_min=0.E+0),
              ECRO_COMP_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","PARABOLE") ),
              ECRO_TRAC_P_PIC =SIMP(statut='f',typ='TXM',defaut="LINEAIRE",into=("LINEAIRE","EXPONENT") ),
              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP","INST","HYDR","SECH",) ),
@@ -10209,6 +9876,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              FROT_LINE       =SIMP(statut='f',typ='R',defaut=0.E+0),
            ),
            CAM_CLAY      =FACT(statut='f',
+             MU              =SIMP(statut='o',typ='R'),
              PORO            =SIMP(statut='o',typ='R'),
              LAMBDA          =SIMP(statut='o',typ='R'),
              KAPA            =SIMP(statut='o',typ='R'),
@@ -10262,6 +9930,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              RD_CYC =SIMP(statut='o',typ='R' ),
              RI_CYC =SIMP(statut='o',typ='R' ),
              DILA   =SIMP(statut='o',typ='R' ),
+             PTRAC  =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
            ),
            ECRO_ASYM_LINE  =FACT(statut='f',
              DC_SIGM_EPSI    =SIMP(statut='o',typ='R'),
@@ -10311,9 +9980,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              FONC_V          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("INST",) ),
            ),
-           BAZANT_FD      =FACT(statut='f',
-             LAM_VISC      =SIMP(statut='o',typ='R'),
-           ),
            BETON_UMLV_FP   =FACT(statut='f',min=0 ,
              K_RS            =SIMP(statut='o',typ='R'),
              ETA_RS          =SIMP(statut='o',typ='R'),
@@ -10324,33 +9990,6 @@ 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'),
            ),
-           GLRC_DAMAGE       =FACT(statut='f',min=0,max=1,
-             FMEX1           =SIMP(statut='o',typ=(fonction_sdaster)),
-             FMEY1           =SIMP(statut='o',typ=(fonction_sdaster)),
-             FMEX2           =SIMP(statut='o',typ=(fonction_sdaster)),
-             FMEY2           =SIMP(statut='o',typ=(fonction_sdaster)),
-             DFMEX1           =SIMP(statut='o',typ=(fonction_sdaster)),
-             DFMEY1           =SIMP(statut='o',typ=(fonction_sdaster)),
-             DFMEX2           =SIMP(statut='o',typ=(fonction_sdaster)),
-             DFMEY2           =SIMP(statut='o',typ=(fonction_sdaster)),
-             DDFMEX1           =SIMP(statut='o',typ=(fonction_sdaster)),
-             DDFMEY1           =SIMP(statut='o',typ=(fonction_sdaster)),
-             DDFMEX2           =SIMP(statut='o',typ=(fonction_sdaster)),
-             DDFMEY2           =SIMP(statut='o',typ=(fonction_sdaster)),
-
-             CX1             =SIMP(statut='o',typ='R',val_min=0.E+0),
-             CY1             =SIMP(statut='o',typ='R',val_min=0.E+0),
-             CXY1            =SIMP(statut='o',typ='R',val_min=0.E+0),
-             CX2             =SIMP(statut='o',typ='R',val_min=0.E+0),
-             CY2             =SIMP(statut='o',typ='R',val_min=0.E+0),
-             CXY2            =SIMP(statut='o',typ='R',val_min=0.E+0),
-             MF1             =SIMP(statut='o',typ='R',val_min=0.E+0),
-             MF2             =SIMP(statut='o',typ='R',val_max=0.E+0),
-             QP1             =SIMP(statut='o',typ='R',val_min=0.E+0),
-             QP2             =SIMP(statut='o',typ='R',val_min=0.E+0),
-             GAMMA           =SIMP(statut='o',typ='R',val_min=0.E+0),
-             VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("X ",) ),
-           ),
            GLRC_DM         =FACT(statut='f',min=0,max=1,
              GAMMA_T         =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0),
              GAMMA_F         =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0),
@@ -10359,12 +9998,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              EF              =SIMP(statut='f',typ='R',val_min=0.E+0),
              NUF             =SIMP(statut='f',typ='R',val_min=0.E+0,val_max=0.5+0),
            ),
-           GLRC_ACIER        =FACT(statut='f',min=0,max=1,
-             AX              =SIMP(statut='o',typ='R',val_min=0.E+0),
-             AY              =SIMP(statut='o',typ='R',val_min=0.E+0),
-             E               =SIMP(statut='o',typ='R',val_min=0.E+0),
-             ENROB           =SIMP(statut='o',typ='R',val_min=0.E+0),
-           ),
            GATT_MONERIE    =FACT(statut='f',min=0,max=1,
              D_GRAIN         =SIMP(statut='o',typ='R',val_min=0.E+0),
              PORO_INIT       =SIMP(statut='o',typ='R',val_min=0.E+0),
@@ -10469,6 +10102,31 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
             COEF_RZ =SIMP(statut='f',typ='R',val_min = 0.0,
                fr="Coefficient C autour de la direction locale Rz de l'élément."),
          ),
+         DIS_BILI_ELAS  =FACT(statut='f',
+            fr="Loi bi-linéaire pour les discrets.",
+            regles=(PRESENT_PRESENT('KDEB_DX','KFIN_DX','FPRE_DX',),
+                    PRESENT_PRESENT('KDEB_DY','KFIN_DY','FPRE_DY',),
+                    PRESENT_PRESENT('KDEB_DZ','KFIN_DZ','FPRE_DZ',),),
+            KDEB_DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
+               fr="Raideur début suivant l'axe local x de l'élément."),
+            KDEB_DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
+               fr="Raideur début suivant l'axe local y de l'élément."),
+            KDEB_DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
+               fr="Raideur début  suivant l'axe local z de l'élément."),
+            KFIN_DX =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
+               fr="Raideur fin l'axe local x de l'élément."),
+            KFIN_DY =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
+               fr="Raideur fin l'axe local y de l'élément."),
+            KFIN_DZ =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),
+               fr="Raideur fin l'axe local z de l'élément."),
+            FPRE_DX =SIMP(statut='f',typ='R',
+               fr="Effort de préserrage suivant l'axe local x de l'élément."),
+            FPRE_DY =SIMP(statut='f',typ='R',
+               fr="Effort de préserrage suivant l'axe local y de l'élément."),
+            FPRE_DZ =SIMP(statut='f',typ='R',
+               fr="Effort de préserrage suivant l'axe local z de l'élément."),
+            VERI_P  =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",)),
+         ),
 # Discrets non-linéaires : fin
 #
 # comportement thermique
@@ -10714,18 +10372,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              CELE_C          =SIMP(statut='f',typ='C'),
              CELE_R          =SIMP(statut='f',typ='R'),
            ),
-           PORO_JOINT      =FACT(statut='f',
-             RHO_FLUI        =SIMP(statut='o',typ='R'),
-             ENTRO_FLUI      =SIMP(statut='o',typ='R'),
-             BIOT_M          =SIMP(statut='o',typ='R'),
-             C_0             =SIMP(statut='o',typ='R'),
-             T_R             =SIMP(statut='o',typ='R'),
-             ALPHA_M         =SIMP(statut='o',typ='R'),
-             LAMBDA_T        =SIMP(statut='o',typ='R'),
-             LAMBDA_H        =SIMP(statut='o',typ='R'),
-             SOURCE_INIT     =SIMP(statut='o',typ='R'),
-             OMEGA_0         =SIMP(statut='o',typ='R'),
-           ),
 # =================================================================================
 # COMPORTEMENT THERMO_HYDRO_MECANIQUE
 # LES DONNEES NECESSAIRES A LA DEFINITION DU MATERIAU SONT DEPENDANTES
@@ -11979,7 +11625,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              A_E        =SIMP(statut='o',typ='R',fr="a de la limite de clivage ou seuil intermédiaire"),
              A_PIC      =SIMP(statut='o',typ='R',fr="a du seuil de pic"),
              S_0        =SIMP(statut='o',typ='R',fr="s de la limite d'élasticité initiale"),
-             S_E        =SIMP(statut='f',typ='R',defaut= 0.,fr="s de la limite de clivage ou seuil intermédiaire"),
              M_0        =SIMP(statut='o',typ='R',fr="m de la limite d'élasticité initiale"),
              M_E        =SIMP(statut='o',typ='R',fr="m de la limite de clivage ou seuil intermédiaire"),
              M_PIC      =SIMP(statut='o',typ='R',fr="m du seuil de pic"),
@@ -11992,7 +11637,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              A          =SIMP(statut='o',typ='R',fr="parametre carcaterisant l amplitude de la vitesse de fluage"),
              N          =SIMP(statut='o',typ='R',fr="parametre intervenant dans la formule pilotant la cinetique de fluage"),
              SIGMA_P1   =SIMP(statut='o',typ='R',fr="SIG min de l intersection du seuil de pic et intermediaire "),
-             SIGMA_P2   =SIMP(statut='o',typ='R',fr="egal a SIGMA_P1 pour l instant"),
              MU0_V      =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance des mecanismes pre pic et viscoplastique"),
              XI0_V      =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance des mecanismes pre pic et viscoplastique"),
              MU1        =SIMP(statut='o',typ='R',fr="relatif à l angle de dilatance du mecanisme post pic "),
@@ -12013,8 +11657,9 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                     SY_ULTM         =SIMP(statut='o',typ='R'),
                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 2.0,),
              ),
-           ),
-           HOEK_BROWN          =FACT(statut='f',
+             DILAT           =SIMP(statut='f',typ='R',defaut=0.0),
+           ),           
+             HOEK_BROWN          =FACT(statut='f',
              GAMMA_RUP       =SIMP(statut='o',typ='R'),
              GAMMA_RES       =SIMP(statut='o',typ='R'),
              S_END           =SIMP(statut='o',typ='R'),
@@ -12140,12 +11785,13 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                     SY_ULTM         =SIMP(statut='o',typ=(fonction_sdaster,formule)),
                     TYPE_DP         =SIMP(statut='c',typ='R',defaut= 2.0,),
              ),
+            DILAT           =SIMP(statut='f',typ='R',defaut=0.0),
            ),
 
 
            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12163,6 +11809,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE BODEL C.BODEL
 DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene,
                       reentrant='n',
             fr="Créer la structure globale à partir des sous-structures en sous-structuration dynamique", 
@@ -12194,7 +11841,7 @@ DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene,
          ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 04/09/2007   AUTEUR DURAND C.DURAND 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12212,6 +11859,7 @@ DEFI_MODELE_GENE=OPER(nom="DEFI_MODELE_GENE",op= 126,sd_prod=modele_gene,
 # 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_NAPPE=OPER(nom="DEFI_NAPPE",op=4,sd_prod=nappe_sdaster,
                 fr="Définir une fonction réelle de deux variables réelles",
                 reentrant='n',UIinfo={"groupes":("Fonction",)},
@@ -12236,7 +11884,7 @@ DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op=4,sd_prod=nappe_sdaster,
          VERIF           =SIMP(statut='f',typ='TXM',into=("CROISSANT",) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12254,6 +11902,7 @@ DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op=4,sd_prod=nappe_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE KHAM M.KHAM
 DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op=  73,sd_prod=table_fonction,
                    fr="Définition d'un obstacle plan perpendiculaire à une structure filaire",
                    reentrant='n',
@@ -12264,223 +11913,64 @@ DEFI_OBSTACLE=OPER(nom="DEFI_OBSTACLE",op=  73,sd_prod=table_fonction,
                              "CRAYON_900","CRAYON_1300","GUID_A_CARTE_900",
                              "GUID_B_CARTE_900","GUID_C_CARTE_900",
                              "GUID_D_CARTE_900","GUID_E_CARTE_900",
-                             "GUID_F_CARTE_900","GUID_A_CARTE_1300",
-                             "GUID_B_CARTE_1300","GUID_C_CARTE_1300",
-                             "GUID_D_CARTE_1300","GUID_E_CARTE_1300",
-                             "GUID_F_CARTE_1300","GUID_A_CARSP_900",
-                             "GUID_B_CARSP_900","GUID_C_CARSP_900",
-                             "GUID_D_CARSP_900","GUID_E_CARSP_900",
-                             "GUID_F_CARSP_900","GUID_A_CARSP_1300",
-                             "GUID_B_CARSP_1300","GUID_C_CARSP_1300",
-                             "GUID_D_CARSP_1300","GUID_E_CARSP_1300",
-                             "GUID_F_CARSP_1300","GUID_A_GCONT_900",
-                             "GUID_B_GCONT_900","GUID_C_GCONT_900",
-                             "GUID_D_GCONT_900","GUID_E_GCONT_900",
-                             "GUID_F_GCONT_900","GUID_A_GCONT_1300",
-                             "GUID_B_GCONT_1300","GUID_C_GCONT_1300",
-                             "GUID_D_GCONT_1300","GUID_E_GCONT_1300",
-                             "GUID_F_GCONT_1300","GUID_A_GCOMB_900",
-                             "GUID_B_GCOMB_900","GUID_C_GCOMB_900",
-                             "GUID_D_GCOMB_900","GUID_E_GCOMB_900",
-                             "GUID_F_GCOMB_900","GUID_A_GCOMB_1300",
-                             "GUID_B_GCOMB_1300","GUID_C_GCOMB_1300",
-                             "GUID_D_GCOMB_1300","GUID_E_GCOMB_1300",
-                             "GUID_F_GCOMB_1300",) ),
-         VALE            =SIMP(statut='f',typ='R',max='**'),
-         VERIF           =SIMP(statut='f',typ='TXM',defaut="FERME"),
-)  ;
-#& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
-#
-# 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 GNICOLAS G.NICOLAS
-DEFI_PARA_SENSI=OPER(nom="DEFI_PARA_SENSI",op=   2,sd_prod=para_sensi,
-                    fr="Définition d'un paramètre de sensibilité",
-                    ang="Definition of a sensitive parameter",
-                    reentrant='n',
-            UIinfo={"groupes":("Fonction",)},
-         NOM_RESU        =SIMP(statut='c',typ='TXM',into=("TOUTRESU",),defaut="TOUTRESU",
-                               fr="Nom du concept créé",
-                               ang="Name of the concept"),
-         VALE            =SIMP(statut='o',typ='R',
-                               fr="Valeur du parametre",
-                               ang="Value of the parameter"),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-)  ;
-#& MODIF COMMANDE  DATE 30/08/2005   AUTEUR ASSIRE A.ASSIRE 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2004  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 ASSIRE A.ASSIRE
-
-from Macro.defi_part_feti_ops import defi_part_feti_ops
-
-DEFI_PART_FETI=MACRO(nom="DEFI_PART_FETI",op=defi_part_feti_ops,sd_prod=sd_feti_sdaster,
-                     reentrant='n',UIinfo={"groupe":("Maillage",)},
-                     fr="Creation partitionnement en sous-domaines pour FETI",
-         regles=(UN_PARMI('MAILLAGE','MODELE'),),
-         MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster),
-         MODELE          =SIMP(statut='f',typ=modele_sdaster),
-         NB_PART         =SIMP(statut='o',typ='I',val_min=2),
-         EXCIT           =FACT(statut='f',max='**',
-           CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),),
-
-         # Methode de partitionnement
-         METHODE         =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="SCOTCH" ),
-         
-         LOGICIEL      =SIMP(statut='f',typ='TXM'),
-
-         # Corrige les problemes possibles de non-connexite des sous-domaines
-         CORRECTION_CONNEX    =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
-
-         # Permet de grouper des mailles dans un meme sous-doamine
-         GROUPAGE        =FACT(statut='f',max='**',
-           GROUP_MA       =SIMP(statut='o',typ=grma,),
-                          ),
-         # Permet d'appliquer des poids sur certaines mailles
-         POIDS_MAILLES   =FACT(statut='f',max='**',
-           GROUP_MA       =SIMP(statut='o',typ=grma,),
-           POIDS          =SIMP(statut='f',typ='I',val_min=2),
-                          ),
-         # Prefixe pour le nom des group_ma definissant les sous-domaines 
-         NOM_GROUP_MA    =SIMP(statut='f',typ='TXM',defaut='SD' ),
-
-         # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees)
-         TRAITER_BORDS   =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ),
-         
-         # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords
-         # Note : le calcul FETI sera impossible
-         b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma",
-           NOM_GROUP_MA_BORD  =SIMP(statut='f',typ='TXM'),
-             ),
-
-         INFO            =SIMP(statut='f',typ='I',into=(1, 2), defaut=1),
-);
-#& MODIF COMMANDE  DATE 22/02/2005   AUTEUR DURAND C.DURAND 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2004  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 ASSIRE A.ASSIRE
-
-DEFI_PART_OPS=OPER(nom="DEFI_PART_OPS",op=21,sd_prod=sd_feti_sdaster,
-                    fr="Creation partitionnement en sous-domaines pour FETI",
-                    docu="U4.23.05",reentrant='n',
-                    UIinfo={"groupes":("Résolution",)},
-         MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
-         MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
-         NOM             =SIMP(statut='f',typ='TXM',defaut='SD'),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4) ),
-         DEFI          =FACT(statut='f',max='**',
-           GROUP_MA        =SIMP(statut='o',typ=grma),
-           GROUP_MA_BORD   =SIMP(statut='f',typ=grma),
-         ),
-         EXCIT           =FACT(statut='f',max='**',
-           CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),
-         ),
-);
-#& MODIF COMMANDE  DATE 26/03/2007   AUTEUR ASSIRE A.ASSIRE 
+                             "GUID_F_CARTE_900","GUID_A_CARTE_1300",
+                             "GUID_B_CARTE_1300","GUID_C_CARTE_1300",
+                             "GUID_D_CARTE_1300","GUID_E_CARTE_1300",
+                             "GUID_F_CARTE_1300","GUID_A_CARSP_900",
+                             "GUID_B_CARSP_900","GUID_C_CARSP_900",
+                             "GUID_D_CARSP_900","GUID_E_CARSP_900",
+                             "GUID_F_CARSP_900","GUID_A_CARSP_1300",
+                             "GUID_B_CARSP_1300","GUID_C_CARSP_1300",
+                             "GUID_D_CARSP_1300","GUID_E_CARSP_1300",
+                             "GUID_F_CARSP_1300","GUID_A_GCONT_900",
+                             "GUID_B_GCONT_900","GUID_C_GCONT_900",
+                             "GUID_D_GCONT_900","GUID_E_GCONT_900",
+                             "GUID_F_GCONT_900","GUID_A_GCONT_1300",
+                             "GUID_B_GCONT_1300","GUID_C_GCONT_1300",
+                             "GUID_D_GCONT_1300","GUID_E_GCONT_1300",
+                             "GUID_F_GCONT_1300","GUID_A_GCOMB_900",
+                             "GUID_B_GCOMB_900","GUID_C_GCOMB_900",
+                             "GUID_D_GCOMB_900","GUID_E_GCOMB_900",
+                             "GUID_F_GCOMB_900","GUID_A_GCOMB_1300",
+                             "GUID_B_GCOMB_1300","GUID_C_GCOMB_1300",
+                             "GUID_D_GCOMB_1300","GUID_E_GCOMB_1300",
+                             "GUID_F_GCOMB_1300",) ),
+         VALE            =SIMP(statut='f',typ='R',max='**'),
+         VERIF           =SIMP(statut='f',typ='TXM',defaut="FERME"),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2005  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.        
+# 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.                                 
+#
+# 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 ASSIRE A.ASSIRE
-
-DEFI_PART_PA_OPS=PROC(nom="DEFI_PART_PA_OPS",op=29,
-                    fr="Creation partitionnement en sous-domaines pour FETI",
-                    docu="U4.00.00",
-                    UIinfo={"groupes":("Résolution",)},
-         MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster,squelette) ),
-         MODELE          =SIMP(statut='f',typ=(modele_sdaster)),
-         NB_PART         =SIMP(statut='o',typ='I',),
-
-         # Methode de partitionnement
-         METHODE         =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="SCOTCH" ),
-         
-         LOGICIEL      =SIMP(statut='f',typ='TXM'),
-
-         # Corrige les problemes possibles de non-connexite des sous-domaines
-         CORRECTION_CONNEX    =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
-
-         # Permet de grouper des mailles dans un meme sous-doamine
-         GROUPAGE        =FACT(statut='f',max='**',
-           GROUP_MA       =SIMP(statut='o',typ=grma,),
-                          ),
-         # Permet d'appliquer des poids sur certaines mailles
-         POIDS_MAILLES   =FACT(statut='f',max='**',
-           GROUP_MA       =SIMP(statut='o',typ=grma,),
-           POIDS          =SIMP(statut='f',typ='I'),
-                          ),
-         # Prefixe pour le nom des group_ma definissant les sous-domaines 
-         NOM_GROUP_MA    =SIMP(statut='f',typ='TXM',defaut='SD' ),
-
-         # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees)
-         TRAITER_BORDS   =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ),
-
-         # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords
-         # Note : le calcul FETI sera impossible
-         b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma",
-           NOM_GROUP_MA_BORD  =SIMP(statut='f',typ='TXM'),
-             ),
-
-         INFO            =SIMP(statut='f',typ='I',into=(1, 2), defaut=1),
-
-);
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
+# RESPONSABLE GNICOLAS G.NICOLAS
+DEFI_PARA_SENSI=OPER(nom="DEFI_PARA_SENSI",op=   2,sd_prod=para_sensi,
+                    fr="Définition d'un paramètre de sensibilité",
+                    ang="Definition of a sensitive parameter",
+                    reentrant='n',
+            UIinfo={"groupes":("Fonction",)},
+         NOM_RESU        =SIMP(statut='c',typ='TXM',into=("TOUTRESU",),defaut="TOUTRESU",
+                               fr="Nom du concept créé",
+                               ang="Name of the concept"),
+         VALE            =SIMP(statut='o',typ='R',
+                               fr="Valeur du parametre",
+                               ang="Value of the parameter"),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12498,6 +11988,7 @@ DEFI_PART_PA_OPS=PROC(nom="DEFI_PART_PA_OPS",op=29,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE ADOBES A.ADOBES
 DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster,
                     fr="Définition d'un spectre d'excitation turbulente",
                     reentrant='n',
@@ -12586,9 +12077,227 @@ DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster,
            CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
            MODELE          =SIMP(statut='o',typ=modele_sdaster ),
          ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.                                 
+#
+# 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 BODEL C.BODEL
+DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette,
+                    fr="Définit un maillage pour visualiser les résultats d'une sous-structuration dynamique",
+                    reentrant='n',
+            UIinfo={"groupes":("Maillage",)},
+         regles=(UN_PARMI('CYCLIQUE','MODELE_GENE','MAILLAGE'),
+                 PRESENT_PRESENT('CYCLIQUE','SECTEUR'),
+                 EXCLUS('SOUS_STRUC','SECTEUR'),
+                 PRESENT_PRESENT('NOM_GROUP_MA','MODELE_GENE'),
+                 PRESENT_PRESENT('NOM_GROUP_MA','SOUS_STRUC'),),
+         CYCLIQUE    =FACT(statut='f',max='**',
+           regles=(UN_PARMI('MODE_CYCL','MAILLAGE'),
+                   PRESENT_PRESENT('NB_SECTEUR','MAILLAGE'),),
+           MODE_CYCL       =SIMP(statut='f',typ=mode_cycl ),
+           NB_SECTEUR      =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ),
+           MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
+         ),
+         MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
+         SQUELETTE       =SIMP(statut='f',typ=squelette ),
+         RECO_GLOBAL     =FACT(statut='f',max='**',
+           regles=(EXCLUS('TOUT','GROUP_NO_1'),
+                   PRESENT_PRESENT('GROUP_NO_1','GROUP_NO_2'),
+                   PRESENT_PRESENT('GROUP_NO_1','SOUS_STRUC_1'),
+                   PRESENT_PRESENT('GROUP_NO_2','SOUS_STRUC_2'),
+                   PRESENT_PRESENT('SOUS_STRUC_1','SOUS_STRUC_2'),),
+           TOUT            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ),
+           GROUP_NO_1      =SIMP(statut='f',typ=grno),
+           SOUS_STRUC_1    =SIMP(statut='f',typ='TXM' ),
+           GROUP_NO_2      =SIMP(statut='f',typ=grno),
+           SOUS_STRUC_2    =SIMP(statut='f',typ='TXM' ),
+           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
+           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+           DIST_REFE       =SIMP(statut='f',typ='R' ),
+         ),
+         NOM_GROUP_MA    =FACT(statut='f',max='**',
+           NOM             =SIMP(statut='o',typ='TXM' ),
+           SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
+           GROUP_MA        =SIMP(statut='o',typ=grma),
+         ),
+         EXCLUSIF        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+         MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
+         MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+         GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+         TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         TRANS           =SIMP(statut='f',typ='R',min=3,max=3),
+         ANGL_NAUT       =SIMP(statut='f',typ='R',min=3,max=3),
+         SOUS_STRUC      =FACT(statut='f',max='**',
+           NOM             =SIMP(statut='f',typ='TXM' ),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         ),
+         SECTEUR         =FACT(statut='f',max='**',
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         ),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2006  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 GENIAUT S.GENIAUT
+
+PROPA_XFEM=OPER(nom="PROPA_XFEM",op=10,sd_prod=fiss_xfem,reentrant='n',
+                UIinfo={"groupes":("Modélisation",)},
+                fr="Propagation de fissure avec X-FEM",
+    
+    MODELE        =SIMP(statut='o',typ=modele_sdaster),
+        
+    TABLE         =SIMP(statut='o',typ=table_sdaster),
+
+    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',),
+        M            =SIMP(statut='o',typ='R',),),
+            ),
+            
+    RAYON          =SIMP(statut='o',typ='R',),
+          
+    METHODE =SIMP(statut='f',typ='TXM',into=("SIMPLEXE","UPWIND",),defaut="SIMPLEXE"),
+
+#    RUNGE_KUTTA    =SIMP(statut='f',typ='I',into=("1","2",),defaut=1),
+
+    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
+# ======================================================================
+# 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.                                 
+#
+# 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 CANO V.CANO
+DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=table_sdaster,reentrant='n',
+            UIinfo={"groupes":("Modélisation",)},
+              fr="Définir d'un diagramme de transformations en refroidissement continu (TRC) de référence d'un acier"
+                +" pour les calculs métallurgiques.",
+         HIST_EXP        =FACT(statut='o',max='**',
+           VALE            =SIMP(statut='o',typ='R',max='**'),
+         ),
+         TEMP_MS         =FACT(statut='o',max='**',
+           SEUIL           =SIMP(statut='o',typ='R'),
+           AKM             =SIMP(statut='o',typ='R'),
+           BKM             =SIMP(statut='o',typ='R'),
+           TPLM            =SIMP(statut='o',typ='R'),
+         ),
+         GRAIN_AUST      =FACT(statut='f',max='**',
+           DREF           =SIMP(statut='f',typ='R'),
+           A              =SIMP(statut='f',typ='R'),
+         ),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2004  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 LEFEBVRE J.P.LEFEBVRE
+
+from Macro.macr_ecla_pg_ops import macr_ecla_pg_ops
+
+def macr_ecla_pg_prod(self,RESULTAT,MAILLAGE,RESU_INIT,**args):
+  self.type_sdprod(RESULTAT,AsType(RESU_INIT))
+  self.type_sdprod(MAILLAGE,maillage_sdaster)
+  return None
+
+
+MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG",op=macr_ecla_pg_ops,sd_prod=macr_ecla_pg_prod, reentrant='n',
+             UIinfo={"groupes":("Post traitements",)},
+             fr="Permettre la visualisation des champs aux points de Gauss d'une SD_RESULTAT sans lissage ni interpolation",
+
+
+             # SD résultat ,modèle et champs à "éclater" :
+             RESU_INIT       =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à éclater",),
+             MODELE_INIT     =SIMP(statut='o',typ=modele_sdaster,fr="MODELE à éclater"),
+             NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
+
+             # paramètres numériques de la commande :
+             SHRINK          =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
+             TAILLE_MIN      =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ),
+
+             # concepts produits par la commande :
+             RESULTAT        =SIMP(statut='o',typ=CO,fr="SD_RESULTAT résultat de la commande"),
+             MAILLAGE        =SIMP(statut='o',typ=CO,fr="MAILLAGE associé aux cham_no de la SD_RESULTAT"),
+
+             # Sélection éventuelle d'un sous-ensemble des éléments à visualiser :
+             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+
+             # Sélection des numéros d'ordre :
+             regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
+             TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+             NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+             LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
+             INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+             LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
+             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
+             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
+            )
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12606,65 +12315,24 @@ DEFI_SPEC_TURB=OPER(nom="DEFI_SPEC_TURB",op= 145,sd_prod=spectre_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette,
-                    fr="Définit un maillage pour visualiser les résultats d'une sous-structuration dynamique",
-                    reentrant='n',
-            UIinfo={"groupes":("Maillage",)},
-         regles=(UN_PARMI('CYCLIQUE','MODELE_GENE','MAILLAGE'),
-                 PRESENT_PRESENT('CYCLIQUE','SECTEUR'),
-                 EXCLUS('SOUS_STRUC','SECTEUR'),
-                 PRESENT_PRESENT('NOM_GROUP_MA','MODELE_GENE'),
-                 PRESENT_PRESENT('NOM_GROUP_MA','SOUS_STRUC'),),
-         CYCLIQUE    =FACT(statut='f',max='**',
-           regles=(UN_PARMI('MODE_CYCL','MAILLAGE'),
-                   PRESENT_PRESENT('NB_SECTEUR','MAILLAGE'),),
-           MODE_CYCL       =SIMP(statut='f',typ=mode_cycl ),
-           NB_SECTEUR      =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ),
-           MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
-         ),
-         MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
-         SQUELETTE       =SIMP(statut='f',typ=squelette ),
-         RECO_GLOBAL     =FACT(statut='f',max='**',
-           regles=(EXCLUS('TOUT','GROUP_NO_1'),
-                   PRESENT_PRESENT('GROUP_NO_1','GROUP_NO_2'),
-                   PRESENT_PRESENT('GROUP_NO_1','SOUS_STRUC_1'),
-                   PRESENT_PRESENT('GROUP_NO_2','SOUS_STRUC_2'),
-                   PRESENT_PRESENT('SOUS_STRUC_1','SOUS_STRUC_2'),),
-           TOUT            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI",) ),
-           GROUP_NO_1      =SIMP(statut='f',typ=grno),
-           SOUS_STRUC_1    =SIMP(statut='f',typ='TXM' ),
-           GROUP_NO_2      =SIMP(statut='f',typ=grno),
-           SOUS_STRUC_2    =SIMP(statut='f',typ='TXM' ),
-           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
-           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-           DIST_REFE       =SIMP(statut='f',typ='R' ),
-         ),
-         NOM_GROUP_MA    =FACT(statut='f',max='**',
-           NOM             =SIMP(statut='o',typ='TXM' ),
-           SOUS_STRUC      =SIMP(statut='o',typ='TXM' ),
-           GROUP_MA        =SIMP(statut='o',typ=grma),
-         ),
-         EXCLUSIF        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
-         MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster ),
-         MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-         GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-         TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         TRANS           =SIMP(statut='f',typ='R',min=3,max=3),
-         ANGL_NAUT       =SIMP(statut='f',typ='R',min=3,max=3),
-         SOUS_STRUC      =FACT(statut='f',max='**',
-           NOM             =SIMP(statut='f',typ='TXM' ),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         ),
-         SECTEUR         =FACT(statut='f',max='**',
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+# RESPONSABLE PELLET J.PELLET
+def depl_interne_prod(DEPL_GLOBAL,**args ):
+    if AsType(DEPL_GLOBAL)     == cham_no_sdaster: return cham_no_sdaster
+    if AsType(DEPL_GLOBAL)     == evol_elas      : return evol_elas
+    if AsType(DEPL_GLOBAL)     == dyna_trans     : return dyna_trans
+    if AsType(DEPL_GLOBAL)     == dyna_harmo     : return dyna_harmo
+    if AsType(DEPL_GLOBAL)     == mode_meca      : return mode_meca
+    if AsType(DEPL_GLOBAL)     == base_modale    : return base_modale
+    raise AsException("type de concept resultat non prevu")
+
+DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=depl_interne_prod,reentrant='n',
+            UIinfo={"groupes":("Matrices/vecteurs",)},
+                  fr="Calculer le champ de déplacement à l'intérieur d'une sous-structure statique",
+         DEPL_GLOBAL     =SIMP(statut='o',typ=(cham_no_sdaster,mode_meca,base_modale,evol_elas,dyna_trans,dyna_harmo),),
+         SUPER_MAILLE    =SIMP(statut='o',typ=ma,),
+         NOM_CAS         =SIMP(statut='f',typ='TXM',defaut=" "),
 )  ;
-#& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12682,97 +12350,179 @@ DEFI_SQUELETTE=OPER(nom="DEFI_SQUELETTE",op= 110,sd_prod=squelette,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-DEFI_TRC=OPER(nom="DEFI_TRC",op=94,sd_prod=table_sdaster,reentrant='n',
-            UIinfo={"groupes":("Modélisation",)},
-              fr="Définir d'un diagramme de transformations en refroidissement continu (TRC) de référence d'un acier"
-                +" pour les calculs métallurgiques.",
-         HIST_EXP        =FACT(statut='o',max='**',
-           VALE            =SIMP(statut='o',typ='R',max='**'),
+# RESPONSABLE LEFEBVRE J.P.LEFEBVRE
+DETRUIRE=MACRO(nom="DETRUIRE",op=-7,
+            UIinfo={"groupes":("Gestion du travail",)},
+              fr="Détruit des concepts utilisateurs dans la base GLOBALE ou des objets JEVEUX",
+             op_init=ops.detruire,
+             regles=(UN_PARMI('CONCEPT','OBJET',),),
+            CONCEPT     =FACT(statut='f',max='**',
+                regles=(DERIVABLE('NOM'),),
+                NOM         =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'),
+                SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),
+                                 fr="Paramètre de sensibilité.",
+                                 ang="Sensitivity parameter",max='**'),
+            ),
+            OBJET  =FACT(statut='f',max='**',
+               CLASSE      =SIMP(statut='f',typ='TXM',into=('G','V','L'),defaut='G'),  
+               CHAINE      =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
+               POSITION    =SIMP(statut='f',typ='I'  ,max='**'),
+            ),
+            ALARME        =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI',),
+            INFO          =SIMP(statut='f',typ='I',into=(1,2),defaut=2, ),           
+);
+#& MODIF COMMANDE  DATE 13/05/2008   AUTEUR GALENNE E.GALENNE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2006  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 GALENNE E.GALENNE
+CALC_G=OPER(nom="CALC_G",op=100,sd_prod=table_sdaster,
+            fr="Calcul du taux de restitution d'énergie par la méthode theta en thermo-élasticité"
+                        +" et les facteurs d'intensité de contraintes.",
+                    reentrant='f',
+            UIinfo={"groupes":("Post traitements",)},
+         regles=(EXCLUS('COMP_ELAS','COMP_INCR'),
+                 CONCEPT_SENSIBLE("ENSEMBLE"),
+                 REUSE_SENSIBLE(),
+                 DERIVABLE('RESULTAT'),),
+
+         THETA          =FACT(statut='o',
+           THETA           =SIMP(statut='f',typ=(theta_geom,cham_no_sdaster),),
+           FOND_FISS       =SIMP(statut='f',typ=fond_fiss,max=1),
+           FISSURE         =SIMP(statut='f',typ=fiss_xfem,max=1),
+           DTAN_ORIG       =SIMP(statut='f',typ='R',max='**'),
+           DTAN_EXTR       =SIMP(statut='f',typ='R',max='**'),
+           regles=(EXCLUS('FOND_FISS','FISSURE'),
+                 EXCLUS('FOND_FISS','DTAN_ORIG'),
+                 EXCLUS('FOND_FISS','DTAN_EXTR'),),
+          b_theta        =BLOC(condition="THETA == None",fr="calcul de theta",
+            regles=(UN_PARMI('R_INF','R_INF_FO'),
+                 PRESENT_PRESENT('R_INF','R_SUP'),
+                PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ),
+             NUME_FOND        =SIMP(statut='f',typ='I',defaut=1),
+             R_INF           =SIMP(statut='f',typ='R'),
+             R_SUP           =SIMP(statut='f',typ='R'),
+             MODULE          =SIMP(statut='f',typ='R',defaut=1.),
+             DIRE_THETA      =SIMP(statut='f',typ=cham_no_sdaster ),
+             DIRECTION       =SIMP(statut='f',typ='R',max='**'),
+             R_INF_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             R_SUP_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),             
+             MODULE_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             ),
+            ),
+
+         RESULTAT        =SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,mode_meca,mult_elas),),
+
+         b_no_mult          =BLOC(condition="(AsType(RESULTAT) != mult_elas)",
+         regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST',
+                  'TOUT_MODE','NUME_MODE','LIST_MODE','FREQ','LIST_FREQ'),),
+            
+            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+            NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+            LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
+            INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+            LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
+            TOUT_MODE       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+            LIST_MODE       =SIMP(statut='f',typ=listis_sdaster),
+            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
+            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+       
+           b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)",
+              PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
+              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+            ),
+         ),
+
+         b_mult_elas     =BLOC(condition="(AsType(RESULTAT) == mult_elas)",
+            NOM_CAS         =SIMP(statut='f',typ='TXM',validators=NoRepeat() ),
+         ),
+
+        
+         EXCIT           =FACT(statut='f',max='**',
+               CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),
+               FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+               TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
+         ),
+         SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS") ),
+         COMP_ELAS       =FACT(statut='f',
+               RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
+                                     into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC","ELAS_VMIS_PUIS") ),
+               ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,) ),
+               ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,) ),
+               ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,) ),
+               ELAS_VMIS_PUIS  =SIMP(statut='c',typ='I',defaut=1,into=(1,) ),
+               DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","GREEN") ),
+      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='**'),
+               MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
+         ),  
+         COMP_INCR       =FACT(statut='f',
+               RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
+                                     into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE","ELAS_VMIS_PUIS") ),
+               ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
+               VMIS_ISOT_TRAC  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
+               VMIS_ISOT_LINE  =SIMP(statut='f',typ='I',defaut=2,into=(2,) ),
+               DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",into=("PETIT","PETIT_REAC") ),
+      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='**'),
+               MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
+         ),
+         ETAT_INIT       =FACT(statut='f',
+           SIGM            =SIMP(statut='f',typ=cham_elem),
+           DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
+         ),
+          
+         LISSAGE         =FACT(statut='d',
+           DEGRE           =SIMP(statut='f',typ='I',defaut=5,into=(0,1,2,3,4,5,6,7) ),
+           LISSAGE_THETA   =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE","LAGRANGE_REGU"),),
+           LISSAGE_G       =SIMP(statut='f',typ='TXM',defaut="LEGENDRE",into=("LEGENDRE","LAGRANGE",
+                                 "LAGRANGE_NO_NO","LAGRANGE_REGU"),),
          ),
-         TEMP_MS         =FACT(statut='o',max='**',
-           SEUIL           =SIMP(statut='o',typ='R'),
-           AKM             =SIMP(statut='o',typ='R'),
-           BKM             =SIMP(statut='o',typ='R'),
-           TPLM            =SIMP(statut='o',typ='R'),
+
+         OPTION          =SIMP(statut='o',typ='TXM',max=1,defaut='CALC_G',
+              into=("CALC_G","CALC_G_GLOB","CALC_K_G","K_G_MODA","G_MAX","G_MAX_GLOB","G_BILI",
+                    "G_BILI_GLOB","CALC_K_MAX"),),
+
+         b_g_max    =BLOC(condition="(OPTION=='G_MAX') or (OPTION=='G_MAX_GLOB')",
+           BORNES          =FACT(statut='o',max='**',
+                NUME_ORDRE     =SIMP(statut='o',typ='I'),
+                VALE_MIN       =SIMP(statut='o',typ='R'),
+                VALE_MAX       =SIMP(statut='o',typ='R'),
+                                ),
          ),
-         GRAIN_AUST      =FACT(statut='f',max='**',
-           DREF           =SIMP(statut='f',typ='R'),
-           A              =SIMP(statut='f',typ='R'),
+         b_k_max    =BLOC(condition="(OPTION=='CALC_K_MAX')",
+           SIGNES          =FACT(statut='o',max=1,
+                CHARGE_S       =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'),
+                CHARGE_NS      =SIMP(statut='o',typ='I',validators=NoRepeat(),max='**'),
+                                ),
          ),
-)  ;
-#& MODIF COMMANDE  DATE 31/10/2006   AUTEUR A3BHHAE H.ANDRIAMBOLOLONA 
-#            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.                                 
-#
-# 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.      
-# ======================================================================
-def depl_interne_prod(DEPL_GLOBAL,**args ):
-    if AsType(DEPL_GLOBAL)     == cham_no_sdaster: return cham_no_sdaster
-    if AsType(DEPL_GLOBAL)     == evol_elas      : return evol_elas
-    if AsType(DEPL_GLOBAL)     == dyna_trans     : return dyna_trans
-    if AsType(DEPL_GLOBAL)     == dyna_harmo     : return dyna_harmo
-    if AsType(DEPL_GLOBAL)     == mode_meca      : return mode_meca
-    if AsType(DEPL_GLOBAL)     == base_modale    : return base_modale
-    raise AsException("type de concept resultat non prevu")
 
-DEPL_INTERNE=OPER(nom="DEPL_INTERNE",op=89,sd_prod=depl_interne_prod,reentrant='n',
-            UIinfo={"groupes":("Matrices/vecteurs",)},
-                  fr="Calculer le champ de déplacement à l'intérieur d'une sous-structure statique",
-         DEPL_GLOBAL     =SIMP(statut='o',typ=(cham_no_sdaster,mode_meca,base_modale,evol_elas,dyna_trans,dyna_harmo),),
-         SUPER_MAILLE    =SIMP(statut='o',typ=ma,),
-         NOM_CAS         =SIMP(statut='f',typ='TXM',defaut=" "),
-)  ;
-#& MODIF COMMANDE  DATE 10/05/2006   AUTEUR MCOURTOI M.COURTOIS 
-#            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.                                 
-#
-# 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.      
-# ======================================================================
-DETRUIRE=MACRO(nom="DETRUIRE",op=-7,
-            UIinfo={"groupes":("Gestion du travail",)},
-              fr="Détruit des concepts utilisateurs dans la base GLOBALE ou des objets JEVEUX",
-             op_init=ops.detruire,
-             regles=(UN_PARMI('CONCEPT','OBJET',),),
-            CONCEPT     =FACT(statut='f',max='**',
-                regles=(DERIVABLE('NOM'),),
-                NOM         =SIMP(statut='o',typ=assd,validators=NoRepeat(),max='**'),
-                SENSIBILITE =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),
-                                 fr="Paramètre de sensibilité.",
-                                 ang="Sensitivity parameter",max='**'),
-            ),
-            OBJET  =FACT(statut='f',max='**',
-               CLASSE      =SIMP(statut='f',typ='TXM',into=('G','V','L'),defaut='G'),  
-               CHAINE      =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
-               POSITION    =SIMP(statut='f',typ='I'  ,max='**'),
-            ),
-            ALARME        =SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='OUI',),
-            INFO          =SIMP(statut='f',typ='I',into=(1,2),defaut=2, ),           
+         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
+                           fr="Liste des paramètres de sensibilité.",
+                           ang="List of sensitivity parameters"),
+
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 );
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12790,6 +12540,7 @@ DETRUIRE=MACRO(nom="DETRUIRE",op=-7,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE ZENTNER I.ZENTNER
 DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=table_fonction,
                      fr="Calcul de la réponse spectrale d'une structure linéaire sous une excitation connue par sa DSP",
                      reentrant='n',
@@ -12874,7 +12625,7 @@ DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=table_fonction,
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 19/06/2007   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12892,6 +12643,7 @@ DYNA_ALEA_MODAL=OPER(nom="DYNA_ALEA_MODAL",op= 131,sd_prod=table_fonction,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE ANDRIAM H.ANDRIAMBOLOLONA
 def dyna_line_harm_prod(MATR_RIGI,**args):
    if (AsType(MATR_RIGI) == matr_asse_depl_r) : return dyna_harmo
    elif (AsType(MATR_RIGI) == matr_asse_depl_c) : return dyna_harmo
@@ -12940,6 +12692,67 @@ DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
            PHAS_DEG        =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
            PUIS_PULS       =SIMP(statut='f',typ='I',defaut= 0 ),
          ),
+
+         b_matr_gene =BLOC(condition = "AsType(MATR_MASS) in (matr_asse_gene_r,)",
+                           fr="Methode de resolution matrice generalisee",
+          SOLVEUR         =FACT(statut='d',
+           METHODE         =SIMP(statut='f',typ='TXM',defaut="LDLT",into=("LDLT","MUMPS",) ),
+
+           b_ldlt_gene      =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
+             NPREC           =SIMP(statut='f',typ='I',defaut=8),
+             STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           ),
+
+           b_mumps_gene     =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")),
+             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,),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
+             PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
+                                       into=("CENTRALISE","DISTRIBUE_MAILLE","DISTRIBUE_SD")),
+             PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+           ),
+          ),
+         ),
+
+         b_matr_phys =BLOC(condition = "AsType(MATR_MASS) in (matr_asse_depl_r,matr_asse_pres_c,)",
+                           fr="Methode de resolution matrice sur ddl physique",
+          SOLVEUR         =FACT(statut='d',
+           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","MUMPS",) ),
+
+           b_mult_front_phys=BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
+             NPREC           =SIMP(statut='f',typ='I',defaut=8),
+             STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           ),
+
+           b_ldlt_phys      =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
+             NPREC           =SIMP(statut='f',typ='I',defaut=8),
+             STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           ),
+
+           b_mumps_phys     =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")),
+             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,),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
+             PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
+                                       into=("CENTRALISE","DISTRIBUE_MAILLE","DISTRIBUE_SD")),
+             PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             ),
+          ),
+         ),
+
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
                                fr="Liste des paramètres de sensibilité.",
@@ -12948,7 +12761,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 23/10/2007   AUTEUR BOITEAU O.BOITEAU 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12966,6 +12779,7 @@ DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
+# RESPONSABLE BOYERE E.BOYERE
 DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op=  48,sd_prod=dyna_trans,
                     fr="Calcul de la réponse dynamique transitoire à une excitation temporelle quelconque",
                     reentrant='f',
@@ -13037,7 +12851,7 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op=  48,sd_prod=dyna_trans,
          ),
 
          SOLVEUR         =FACT(statut='d',
-         METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
+         METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS","PETSC") ),
 
            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
@@ -13069,6 +12883,14 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op=  48,sd_prod=dyna_trans,
              RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",into=("CENTRALISE","CENTRALISE")),
              ),
+
+           b_petsc          =BLOC(condition = "METHODE == 'PETSC' ",fr="Paramètres de la méthode PETSC",
+             VARIANTE        =SIMP(statut='f',typ='TXM',into=("GMRES","BCGS","CR","CG","BICG","CHEBYCHEV",),defaut="GMRES" ),
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("ILU","SOR","BJACOBI"),defaut="ILU" ),
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-8),
+             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= -1 ),
+           ),
          ),
 
          INCREMENT       =FACT(statut='o',max='**',
@@ -13106,7 +12928,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 27/11/2007   AUTEUR ABBAS M.ABBAS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -13124,6 +12946,7 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op=  48,sd_prod=dyna_trans,
 # 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 N.GREFFET
 DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
             fr="Calcul de l'évolution dynamique d'une structure dont le matériau ou la géométrie ont un comportement non linéaire",
             UIinfo={"groupes":("Résolution",)},
@@ -13154,7 +12977,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
          EXCIT_GENE      =FACT(statut='f',max='**',
            FONC_MULT       =SIMP(statut='f',typ=fonction_sdaster,max='**' ),
            VECT_GENE       =SIMP(statut='f',typ=vect_asse_gene,max='**' ),
-         ),         
+         ),
          SOUS_STRUC      =FACT(statut='f',min=01,max='**',
                 regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
                 CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
@@ -13177,7 +13000,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            MASS_GENE       =SIMP(statut='f',typ=matr_asse_gene_r),
            RIGI_GENE       =SIMP(statut='f',typ=matr_asse_gene_r),
            AMOR_GENE       =SIMP(statut='f',typ=matr_asse_gene_r),
-         ),         
+         ),
          COMP_INCR       =C_COMP_INCR(),
          COMP_ELAS       =FACT(statut='f',max='**',
            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
@@ -13329,7 +13152,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
          ),
          SOLVEUR         =FACT(statut='d',
-           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
+           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS","PETSC") ),
            b_mult_front    =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
            ),
@@ -13349,10 +13172,10 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
              PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=10,),
              RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
-                                   into=("CENTRALISE","DISTRIBUE_MAILLE","DISTRIBUE_SD")),
+                                   into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=0,min=0),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),       
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=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",),defaut="LDLT_INC" ),
@@ -13361,6 +13184,13 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
            ),
+           b_petsc          =BLOC(condition = "METHODE == 'PETSC' ",fr="Paramètres de la méthode PETSC",
+             VARIANTE        =SIMP(statut='f',typ='TXM',into=("GMRES","BCGS","CR","CG","BICG","CHEBYCHEV",),defaut="GMRES" ),
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("ILU","SOR","BJACOBI"),defaut="ILU" ),
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-8),
+             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= -1 ),
+           ),
            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
          ),
 #-------------------------------------------------------------------
@@ -13394,7 +13224,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
              POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-             NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
+             NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
                                    into=("DEPL","VITE","ACCE","SIEF_ELGA",
                                          "VARI_ELGA","FORC_NODA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU",)),
              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
@@ -13470,10 +13300,15 @@ 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"),
+           INST_CALCUL       =SIMP(statut='f',typ='TXM',defaut="LISTE_ARCHIVAGE",into=("LISTE_ARCHIVAGE","TOUT_PAS",) ),
          ),
          MODE_VIBR     =FACT(statut='f',min=1,max=1,
-           MATR_RIGI        =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE") ),
-           NB_FREQ         =SIMP(statut='f',typ='I',max=1,defaut=3),
+           MATR_RIGI        =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE","SECANTE",) ),
+           NB_FREQ          =SIMP(statut='f',typ='I',max=1,defaut=3,
+                            fr="Nombre de fréquences propres à calculer"),
+           BANDE            =SIMP(statut='f',typ='R',min=2,max=2,
+                            fr="Valeur des deux fréquences délimitant la bande de recherche",),
+           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='**',
@@ -13483,7 +13318,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 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -13501,6 +13336,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE ADOBES A.ADOBES
 DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=table_fonction,
                      fr="Calcul de la réponse par recombinaison modale d'une structure linéaire pour une excitation aléatoire",
                      reentrant='n',
@@ -13512,7 +13348,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 11/09/2007   AUTEUR LEBOUVIER F.LEBOUVIER 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -13530,6 +13366,7 @@ DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=table_fonction,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE BOYERE E.BOYERE
 DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
                      fr="Calcul de la réponse dynamique transitoire d'un système amorti ou non en coordonées généralisées"
                         +" par superposition modale ou par sous structuration",
@@ -13720,7 +13557,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
          ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
  )  ;
-#& MODIF COMMANDE  DATE 19/06/2007   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -13738,7 +13575,7 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE PELLET J.PELLET
 ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178,
                    UIinfo={"groupes":("Impression",)},
                    fr="Engendre des tests pour la non régression du code (pour développeurs)",
@@ -13760,7 +13597,7 @@ ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178,
             TYPE_TEST       =SIMP(statut='f',typ='TXM',defaut="SOMME",into=("SOMME",) ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 29/08/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -13778,6 +13615,7 @@ ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE LEFEBVRE J.P.LEFEBVRE
 
 from Macro.exec_logiciel_ops import exec_logiciel_ops
 def exec_logiciel_prod(self, MAILLAGE, **args):
@@ -13809,7 +13647,7 @@ EXEC_LOGICIEL = MACRO(nom="EXEC_LOGICIEL",op=exec_logiciel_ops, sd_prod=exec_log
       
       INFO     = SIMP(statut='f', typ='I', defaut=2, into=(1,2),),
 )
-#& MODIF COMMANDE  DATE 14/10/2005   AUTEUR CIBHHLV L.VIVAN 
+#& MODIF COMMANDE  DATE 05/05/2008   AUTEUR NISTOR I.NISTOR 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -13827,6 +13665,8 @@ EXEC_LOGICIEL = MACRO(nom="EXEC_LOGICIEL",op=exec_logiciel_ops, sd_prod=exec_log
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE NISTOR I.NISTOR
+
 def extr_mode_prod(FILTRE_MODE,**args):
   vale=FILTRE_MODE[0]['MODE']
   if AsType(vale) == mode_meca   : return mode_meca
@@ -13864,7 +13704,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 24/09/2007   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -13882,6 +13722,8 @@ EXTR_MODE=OPER(nom="EXTR_MODE",op= 168,sd_prod=extr_mode_prod,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
+# RESPONSABLE LEFEBVRE J.P.LEFEBVRE
+
 def extr_resu_prod(RESULTAT,**args):
   if AsType(RESULTAT) == evol_elas    : return evol_elas
   if AsType(RESULTAT) == evol_noli    : return evol_noli
@@ -13936,10 +13778,10 @@ EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f',
 
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
 )  ;
-#& MODIF COMMANDE  DATE 06/08/2007   AUTEUR TARDIEU N.TARDIEU 
+#& MODIF COMMANDE  DATE 19/05/2008   AUTEUR MARKOVIC D.MARKOVIC 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
+# 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     
@@ -13954,44 +13796,65 @@ EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f',
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
-def extr_table_prod(TYPE_RESU,**args):
-  from Cata import cata
-  typ = TYPE_RESU.lower()
-  if hasattr(cata, typ):
-     return getattr(cata, typ)
-  raise AsException("type de concept resultat non prevu")
-
-EXTR_TABLE=OPER(nom="EXTR_TABLE",op=173,sd_prod=extr_table_prod,reentrant='n',
-            UIinfo={"groupes":("Résultats et champs",)},
-         fr="Extraire d'une table des concepts Code_Aster",
-         TYPE_RESU       =SIMP(statut='o',typ='TXM',),
-
-         TABLE           =SIMP(statut='o',typ=table_sdaster),
-
-         NOM_PARA        =SIMP(statut='o',typ='TXM'),
-
-         FILTRE          =FACT(statut='f',min=1,max='**',
-           NOM_PARA        =SIMP(statut='o',typ='TXM'),
-           CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
-                                 into=("EQ","LT","GT","NE","LE","GE","VIDE",
-                                       "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
-           b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
-              regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
-              VALE            =SIMP(statut='f',typ='R'),
-              VALE_I          =SIMP(statut='f',typ='I'),
-              VALE_C          =SIMP(statut='f',typ='C'),
-              VALE_K          =SIMP(statut='f',typ='TXM'),),
-
-           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
+# RESPONSABLE MARKOVIC D.MARKOVIC
+DEFI_GLRC=OPER(nom="DEFI_GLRC",op=57,sd_prod=mater_sdaster,reentrant='f',
+            UIinfo={"groupes":("Modélisation",)},
+                    fr="Déterminer les caractéristiques du béton armé homogénéisées à partir des propriétés du béton et de  "
+                        +" plusieurs types d'armature",
+         reuse = SIMP(statut='f',typ=mater_sdaster), 
+         BETON          =FACT(statut='o',max=1,
+           MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
+           EPAIS           =SIMP(statut='o',typ='R',val_min=0.E+0 ),
+           OMT             =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0.0E+0), 
+           EAT             =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0.0E+0), 
+           BT1             =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0.0E+0), 
+           BT2             =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0.0E+0), 
+           GAMMA           =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), 
+           QP1             =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), 
+           QP2             =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), 
+
+           C1N1            =SIMP(statut='o',typ='R',val_min=0.E+0),
+           C1N2            =SIMP(statut='o',typ='R',val_min=0.E+0),
+           C1N3            =SIMP(statut='o',typ='R',val_min=0.E+0),
+           C2N1            =SIMP(statut='o',typ='R',val_min=0.E+0),
+           C2N2            =SIMP(statut='o',typ='R',val_min=0.E+0),
+           C2N3            =SIMP(statut='o',typ='R',val_min=0.E+0),
+           C1M1            =SIMP(statut='o',typ='R',val_min=0.E+0),
+           C1M2            =SIMP(statut='o',typ='R',val_min=0.E+0),
+           C1M3            =SIMP(statut='o',typ='R',val_min=0.E+0),
+           C2M1            =SIMP(statut='o',typ='R',val_min=0.E+0),
+           C2M2            =SIMP(statut='o',typ='R',val_min=0.E+0),
+           C2M3            =SIMP(statut='o',typ='R',val_min=0.E+0),
+         ),
+         NAPPE     =FACT(statut='o',max=10,
+           MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
+           OMX             =SIMP(statut='o',typ='R',val_min=0.E+0), 
+           OMY             =SIMP(statut='o',typ='R',val_min=0.E+0), 
+           RX              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), 
+           RY              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), 
+         ),
+         CABLE_PREC   =FACT(statut='f',max=1,
+           MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
+           OMX             =SIMP(statut='o',typ='R',val_min=0.E+0), 
+           OMY             =SIMP(statut='o',typ='R',val_min=0.E+0), 
+           RX              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), 
+           RY              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), 
+           PREX            =SIMP(statut='o',typ='R'), 
+           PREY            =SIMP(statut='o',typ='R'), 
+         ),
+         LINER           =FACT(statut='f',max=10,
+           MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
+           OML             =SIMP(statut='o',typ='R',val_min=0.E+0), 
+           RLR             =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), 
+         ),
+         IMPRESSION      =FACT(statut='f',
+           UNITE           =SIMP(statut='f',typ='I',defaut=8),  
          ),
-
-         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
 )  ;
-#& MODIF COMMANDE  DATE 19/11/2007   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2007  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2004  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     
@@ -14006,49 +13869,59 @@ EXTR_TABLE=OPER(nom="EXTR_TABLE",op=173,sd_prod=extr_table_prod,reentrant='n',
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
+# RESPONSABLE GNICOLAS G.NICOLAS
 
-def factoriser_prod(MATR_ASSE,**args):
-  if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
-  if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c
-  if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
-  if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c
-  if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
-  if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c
-  raise AsException("type de concept resultat non prevu")
-
-FACTORISER=OPER(nom="FACTORISER",op=14,sd_prod=factoriser_prod,
-               fr="Factoriser une matrice assemblée en un produit de deux matrices triangulaires"+
-                  "ou construire une matrice de préconditionnement pour une résolution par gradient conjugué",
-               reentrant='f', UIinfo={"groupes":("Résolution",)},
-         regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'),
-                 EXCLUS('BLOC_FIN','DDL_FIN'),),
-         MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
-                                               matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
-
-         # mots clés pour solveur LDLT et MULT_FRONT:
-         STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-         NPREC           =SIMP(statut='f',typ='I',defaut=8,val_min=0,),
-
-         # mots clés pour solveur LDLT :
-         BLOC_DEBUT      =SIMP(statut='f',typ='I',val_min=1,),
-         DDL_DEBUT       =SIMP(statut='f',typ='I',val_min=1,),
-         BLOC_FIN        =SIMP(statut='f',typ='I',val_min=1,),
-         DDL_FIN         =SIMP(statut='f',typ='I',val_min=1,),
-
-         # mots clés pour solveur 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")),
-         PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=10,),
-         ELIM_LAGR2      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
-
-         # mots clés pour solveur GCPC :
-         PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LDLT_INC",into=("LDLT_INC",) ),
-         NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),  
-
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-         INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
-)  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
+from Macro.macr_fiab_impr_ops import macr_fiab_impr_ops
+
+MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops,
+                     docu="U7.04.41",UIinfo={"groupe":("Impression",)},
+                     fr="Imprimer les valeurs à transmettre au logiciel de fiabilité.",
+                     ang="Print values for the fiability software",
+#
+# 1. Le niveau d'information
+#
+   INFO           = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
+#
+# 2. Impression de la valeur de la cible
+#
+# 2.1. ==> La table contenant la valeur à imprimer
+#
+   TABLE_CIBLE = SIMP(statut='o',typ=table_sdaster,
+                 fr="Table contenant la valeur cible.",
+                 ang="Table which includes the target value."),
+#
+# 2.2. ==> Le nom du paramètre associé à la valeur cible dans cette table
+#
+   NOM_PARA_CIBLE = SIMP(statut='o',typ='TXM',
+                    fr="Nom du paramètre associé à la valeur cible.",
+                    ang="Name of the parameter connected to the target value."),
+#
+# 3. Impressions des valeurs des éventuels gradients
+#
+   GRADIENTS = FACT(statut='f',min=1,max='**',
+#
+# 3.1. ==> La table contenant la valeur à imprimer
+#
+       TABLE = SIMP(statut='o',typ=table_sdaster,
+                    fr="Table contenant le gradient.",
+                    ang="Table which includes the gradient."),
+#
+# 3.2. ==> Le paramètre sensible
+#
+       PARA_SENSI = SIMP(statut='o',typ=(para_sensi,theta_geom),
+                       fr="Paramètre sensible associé au gradient.",
+                       ang="Sensitivity parameter connected to the gradient."),
+#
+# 3.3. ==> Le nom du paramètre associé au gradient dans cette table
+#
+       NOM_PARA = SIMP(statut='o',typ='TXM',
+                       fr="Nom du paramètre associé au gradient.",
+                       ang="Name of the parameter connected to the gradient."),
+#
+         ),
+#
+);
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14066,6 +13939,7 @@ FACTORISER=OPER(nom="FACTORISER",op=14,sd_prod=factoriser_prod,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE LEFEBVRE J.P.LEFEBVRE
 FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une étude, fin du travail engagé par une des commandes DEBUT ou POURSUITE",
             UIinfo={"groupes":("Gestion du travail",)},
          FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
@@ -14078,7 +13952,7 @@ FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une 
                                statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",) ),
          UNITE           =SIMP(statut='f',typ='I',defaut=6),  
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14096,12 +13970,13 @@ FIN=PROC(nom="FIN",op=9999,repetable='n',fr="Fin d'une 
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE ADOBES A.ADOBES
 FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster,
                     reentrant='n',fr="Crée une fonction constante paramètrée par l'abscisse curviligne",
             UIinfo={"groupes":("Fonction",)},
          TYPE_FLUI_STRU  =SIMP(statut='o',typ=(type_flui_stru) ),
 )  ;
-#& MODIF COMMANDE  DATE 19/06/2007   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14119,6 +13994,7 @@ FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE DURAND C.DURAND
 def formule_prod(self,VALE,VALE_C,**args):
    if   VALE   != None:
       return formule
@@ -14126,27 +14002,28 @@ def formule_prod(self,VALE,VALE_C,**args):
       return formule_c
 
 def form_pyth_ops(self,d):
-  import types,string
-  NOM_PARA=self.etape['NOM_PARA']
-  VALE    =self.etape['VALE']
-  VALE_C  =self.etape['VALE_C']
-  if type(NOM_PARA) not in (types.ListType,types.TupleType) : NOM_PARA=[NOM_PARA,]
-  if self.sd==None : return
-  if VALE     != None :
-     texte=string.join(VALE.splitlines())
-  elif VALE_C != None :
-     texte=string.join(VALE_C.splitlines())
-  self.sd.setFormule(NOM_PARA,string.strip(texte))
+   NOM_PARA=self.etape['NOM_PARA']
+   VALE    =self.etape['VALE']
+   VALE_C  =self.etape['VALE_C']
+   if type(NOM_PARA) not in (list, tuple):
+      NOM_PARA = [NOM_PARA,]
+   if self.sd == None:
+      return
+   if VALE     != None :
+      texte = ''.join(VALE.splitlines())
+   elif VALE_C != None :
+      texte = ''.join(VALE_C.splitlines())
+   self.sd.setFormule(NOM_PARA, texte.strip())
 
 FORMULE=FORM(nom="FORMULE",op_init=form_pyth_ops,op=-5,
              sd_prod=formule_prod,UIinfo={"groupes":("Fonction",)},
-             fr="Définit une flyingdformule réelle ou complexe à partir de son expression mathématique",
+             fr="Définit une formule réelle ou complexe à partir de son expression mathématique",
          regles=(UN_PARMI('VALE','VALE_C',),),
          VALE     =SIMP(statut='f',typ='TXM'),
          VALE_C   =SIMP(statut='f',typ='TXM'),
          NOM_PARA =SIMP(statut='o',typ='TXM',max='**'),
 );
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14164,7 +14041,7 @@ FORMULE=FORM(nom="FORMULE",op_init=form_pyth_ops,op=-5,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE CAMBIER S.CAMBIER
+# RESPONSABLE ZENTNER I.ZENTNER
 GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=table_fonction,
                     fr="Génération de la fonction temporelle à partir d une matrice interspectrale",
                     reentrant='n',
@@ -14183,60 +14060,36 @@ GENE_FONC_ALEA=OPER(nom="GENE_FONC_ALEA",op= 118,sd_prod=table_fonction,
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 11/07/2005   AUTEUR CAMBIER S.CAMBIER 
+#& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2002  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.        
+# 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.                                 
+#
+# 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 CAMBIER S.CAMBIER
-def gene_matr_alea_prod(MATR_MOYEN,**args ):
-  if (AsType(MATR_MOYEN) == matr_asse_gene_r )  : return matr_asse_gene_r
-  if (AsType(MATR_MOYEN) == macr_elem_dyna) : return macr_elem_dyna
-  raise AsException("type de concept resultat non prevu")
-
-GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op=  27,
-#sd_prod=matr_asse_gene_r,
-sd_prod=gene_matr_alea_prod,
-               fr="Générer une réalisation d'une matrice aléatoire réelle sym. déf. positive ou d'un macro élément dynamique",
-               reentrant='n',
-            UIinfo={"groupes":("Matrice",)},
-   MATR_MOYEN   = SIMP(statut='o', typ=(matr_asse_gene_r,macr_elem_dyna)),
-
-#    cas matrice generalisee 
-   b_matr =BLOC( condition = "AsType(MATR_MOYEN) in (matr_asse_gene_r,)",
-           COEF_VAR     = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 ,
-                                fr="coefficient de variation de la matrice a generer" ),
-           ),
-#    cas macr_elem_dyna 
-   b_macr =BLOC( condition = "AsType(MATR_MOYEN) in (macr_elem_dyna,)",
-           fr="cas macr_elem_dyna (sous-structuratio)",
-           COEF_VAR_RIGI     = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 ,
-                                fr="coefficient de variation de la matrice de raideur" ),
-           COEF_VAR_MASS     = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 ,
-                                fr="coefficient de variation de la matrice de masse" ),
-           COEF_VAR_AMOR     = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 ,
-                                fr="coefficient de variation de la matrice d'amortissement" ),),
-
-   INIT_ALEA    =SIMP(statut='f',typ='I'),
-) ;
-   
-#& MODIF COMMANDE  DATE 05/02/2007   AUTEUR ZENTNER I.ZENTNER 
+IMPR_CHARGE=PROC(nom="IMPR_CHARGE",op= 158,
+                 fr="Impression des charges mécaniques de type ddl imposés et relations linéaires entre les ddl",
+                 UIinfo={"groupes":("Fonction",)},
+         UNITE           =SIMP(statut='f',typ='I',defaut=30),  
+         FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",) ),
+         VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
+         CHARGE          =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**', ),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2007  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     
@@ -14251,57 +14104,139 @@ sd_prod=gene_matr_alea_prod,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
-# RESPONSABLE CAMBIER S.CAMBIER
-from Macro.gene_vari_alea_ops import gene_vari_alea_ops,gene_vari_alea_init
-GENE_VARI_ALEA=MACRO(nom="GENE_VARI_ALEA",
-               op_init=gene_vari_alea_init,op=gene_vari_alea_ops,
-               sd_prod=reel,reentrant='n',
-               fr="Générer une réalisation d'une variable aléatoire réelle de loi de probabilité donnée (Gamma ou Exponentielle)",
-               UIinfo={"groupes":("Fonction",)},
-   TYPE       = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="GAMMA"),
-   b_gamma    =BLOC(condition = "TYPE == 'GAMMA' ",fr="Parametres loi gamma",
-           VALE_MOY   = SIMP(statut='f', typ='R', defaut=1.),
-           BORNE_INF  = SIMP(statut='f', typ='R', defaut=0.),
-           COEF_VAR   = SIMP(statut='f', typ='R', defaut=0.1),
-             ),
-   b_expo    =BLOC(condition = "TYPE == 'EXPONENTIELLE' ",fr="Parametres loi exponentielle",
-           VALE_MOY   = SIMP(statut='f', typ='R', defaut=0.),
-           BORNE_INF  = SIMP(statut='f', typ='R', defaut=-1.),
-             ),
-   b_expo_tronq    =BLOC(condition = "TYPE == 'EXP_TRONQUEE' ",fr="Parametres loi exponentielle tronquee",
-           VALE_MOY   = SIMP(statut='f', typ='R', defaut=0.),
-           BORNE_INF  = SIMP(statut='f', typ='R', defaut=-1.),
-           BORNE_SUP  = SIMP(statut='f', typ='R', defaut=1.),
+# RESPONSABLE BODEL C.BODEL
+
+from Macro.observation_ops import observation_ops
+
+
+def observation_prod(self, RESULTAT, **args):
+    if AsType(RESULTAT) == base_modale or AsType(RESULTAT) == mode_meca :
+        return base_modale
+    elif AsType(RESULTAT) == evol_elas :
+        return evol_elas
+    elif AsType(RESULTAT) == dyna_harmo :
+        return dyna_harmo
+    else :
+        return None
+
+OBSERVATION=MACRO(nom="OBSERVATION",op=observation_ops,
+            UIinfo={"groupes":("Matrices/vecteurs",)},
+                      sd_prod=observation_prod,
+                      fr="Calcul de l'observabilite d'un champ aux noeuds ",
+#
+         MODELE_1        =SIMP(statut='o',typ=modele_sdaster),
+         MODELE_2        =SIMP(statut='o',typ=modele_sdaster),
+         RESULTAT        =SIMP(statut='o',typ=(mode_meca,base_modale) ),
+         NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1),
+
+#        ------------------------------------------------------------------
+
+         regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','FREQ','LIST_FREQ','NUME_MODE' ),),
+         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='**' ),
+         LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
+         NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
+         LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
+         INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
+         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
+         NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+
+#        ------------------------------------------------------------------
+#        OPTIONS DE PROJ_CHAMP (SANS MC FACTEUR PARTICULIER)
+#        ------------------------------------------------------------------
+         PROJECTION     =SIMP(statut='f',max=1,typ='TXM',into=("OUI","NON"),defaut="NON"),
+         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."),
+         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="Si le résultat est un mode_xxx ou une base_xxx, on peut prolonger"
+#                   +" les champs par zéro la ou la projection ne donne pas de valeurs."),
+
+         NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster) ),
+         VIS_A_VIS       =FACT(statut='f',max='**',
+             regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
+                     AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),),
+             TOUT_1          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+             GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+             MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+             GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+             NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+             TOUT_2          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+             GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+             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",) ),
              ),
-   INIT_ALEA       =SIMP(statut='f',typ='I'),
-)
-#& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
-#            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.                                 
+
+#        ------------------------------------------------------------------
+#        MODI_REPERE
+#        ------------------------------------------------------------------
+         MODI_REPERE     =FACT(statut='f',max='**',
+         regles=(UN_PARMI('REPERE'),
+                 AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
 #
-# 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.                            
+           TYPE_CHAM       =SIMP(statut='f',typ='TXM',
+                                 into=("VECT_2D","VECT_3D","TORS_3D","TENS_2D","TENS_3D"),
+                                       defaut="VECT_3D"),
+           b_vect_2d       =BLOC(condition = "TYPE_CHAM=='VECT_2D'",
+              NOM_CMP         =SIMP(statut='o',typ='TXM',min=2,max=2 ),),
+           b_vect_3d       =BLOC(condition = "TYPE_CHAM=='VECT_3D'",
+              NOM_CMP         =SIMP(statut='f',typ='TXM',min=3,max=3,defaut=('DX','DY','DZ') ),),
+           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 ),),
+           b_tens_3d       =BLOC(condition = "TYPE_CHAM=='TENS_3D'",
+              NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
+
+           REPERE          =SIMP(statut='o',typ='TXM',
+                                 into=("UTILISATEUR","CYLINDRIQUE","NORMALE"),),
+           b_normale       =BLOC(condition = "REPERE=='NORMALE'",
+             regles=(UN_PARMI('VECT_X','VECT_Y')),
+             VECT_X          =SIMP(statut='f',typ='R',min=3,max=3),
+             VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3), ),
+           b_utilisateur   =BLOC(condition = "REPERE=='UTILISATEUR'",
+             ANGL_NAUT       =SIMP(statut='o',typ='R',max=3)),
+           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)),
+         ),
+
+#        ------------------------------------------------------------------
+#        FILTRE DES DDL
+#        ------------------------------------------------------------------
+         FILTRE     =FACT(statut='f',max='**',
+           regles=(UN_PARMI('DDL_ACTIF'),
+#                           'MASQUE'),
+           AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
 #
-# 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.      
-# ======================================================================
-IMPR_CHARGE=PROC(nom="IMPR_CHARGE",op= 158,
-                 fr="Impression des charges mécaniques de type ddl imposés et relations linéaires entre les ddl",
-                 UIinfo={"groupes":("Fonction",)},
-         UNITE           =SIMP(statut='f',typ='I',defaut=30),  
-         FORMAT          =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",) ),
-         VERSION         =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,) ),
-         CHARGE          =SIMP(statut='o',typ=char_meca,validators=NoRepeat(),max='**', ),
-)  ;
-#& MODIF COMMANDE  DATE 10/05/2006   AUTEUR MCOURTOI M.COURTOIS 
+           DDL_ACTIF       =SIMP(statut='f',typ='TXM',max=6),
+# TODO : mettre en place le systeme de masques
+#           MASQUE          =SIMP(statut='f',typ='TXM',max=6),
+         ),
+#        ------------------------------------------------------------------
+
+         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.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14319,7 +14254,7 @@ IMPR_CHARGE=PROC(nom="IMPR_CHARGE",op= 158,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE LEFEBVRE J.P.LEFEBVRE
 IMPR_CO=PROC(nom="IMPR_CO",op=17,
             UIinfo={"groupes":("Impression",)},
              fr="Imprimer tous les objets JEVEUX qui constituent un concept utilisateur existant (pour les développeurs)",
@@ -14340,142 +14275,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 24/04/2007   AUTEUR COURTOIS M.COURTOIS 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2004  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 MCOURTOI M.COURTOIS
-from Macro.impr_fonction_ops import impr_fonction_ops
-
-IMPR_FONCTION=MACRO(nom="IMPR_FONCTION",op=impr_fonction_ops,sd_prod=None,
-                 fr="Imprime le contenu d'objets de type fonction ou liste de réels dans un fichier destiné à un traceur de courbe",
-            UIinfo={"groupes":("Fonction",)},
-         FORMAT          =SIMP(statut='o',typ='TXM',position='global',defaut='TABLEAU',
-                               into=("TABLEAU","AGRAF","XMGRACE",),),
-         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"),
-         ),
-         b_agraf = BLOC(condition = "FORMAT == 'AGRAF'",
-                        fr="Mots-clés propres à AGRAF",
-           UNITE           =SIMP(statut='o',typ='I',defaut=25,
-                                 fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
-           UNITE_DIGR      =SIMP(statut='o',typ='I',defaut=26,
-                                 fr="Unité logique définissant le fichier dans lequel on écrit les directives Agraf"),
-         ),
-         # unite pour TABLEAU dans le bloc de mise en forme spécifique
-
-         COURBE          =FACT(statut='o',max='**',fr="Définition de la fonction à tracer",
-           regles=(UN_PARMI('FONCTION','LIST_RESU','FONC_X','ABSCISSE'),),
-           FONCTION        =SIMP(statut='f',typ=(fonction_sdaster, formule, fonction_c, nappe_sdaster),
-                                 fr="Fonction réelle ou complexe", ),
-           LIST_RESU       =SIMP(statut='f',typ=listr8_sdaster,
-                                 fr="Liste des ordonnees d'une fonction réelle définie par deux listes", ),
-           FONC_X          =SIMP(statut='f',typ=(fonction_sdaster,formule),
-                                 fr="Fonction abscisses d'une fonction paramétrique",),
-           ABSCISSE        =SIMP(statut='f',typ='R',max='**',
-                                 fr="Valeurs des abscisses", ),
-           b_fonction      =BLOC(condition = "FONCTION != None",
-             LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
-           ),
-           b_fonction_c  =BLOC(condition = "AsType(FONCTION) == fonction_c",
-                                 fr="Fonction complexe définie par le mot-clé fonction",
-             PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
-           ),
-           b_list_resu     =BLOC(condition = "LIST_RESU != None",
-             LIST_PARA       =SIMP(statut='o',typ=listr8_sdaster ),
-           ),
-           b_fonc_x        =BLOC(condition = "FONC_X != None",
-             FONC_Y          =SIMP(statut='o',typ=(fonction_sdaster,formule),fr="Fonction ordonnées d une fonction paramétrique" ),
-             LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
-           ),
-           b_vale_resu     =BLOC(condition = "ABSCISSE != None",
-             ORDONNEE      =SIMP(statut='o',typ='R',max='**',
-                                 fr="Valeurs des ordonnées"),
-           ),
-
-           # mots-clés utilisant uniquement aux formats autres que TABLEAU
-           # mais ce serait trop pénible de devoir les supprimer quand on change de format
-           # donc on ne les met pas dans un bloc
-           # "pseudo" bloc mise en forme :
-               LEGENDE         =SIMP(statut='f',typ='TXM',
-                                    fr="Légende associée à la fonction" ),
-               STYLE           =SIMP(statut='f',typ='I',val_min=0,
-                                    fr="Style de la ligne représentant la fonction",),
-               COULEUR         =SIMP(statut='f',typ='I',val_min=0,
-                                    fr="Couleur associée à la fonction",),
-               MARQUEUR        =SIMP(statut='f',typ='I',val_min=0,
-                                    fr="Type du marqueur associé à la fonction",),
-               FREQ_MARQUEUR   =SIMP(statut='f',typ='I',defaut=0,
-                                    fr="Fréquence d impression du marqueur associé à la fonction", ),
-           # fin bloc mise en forme
-           
-           TRI             =SIMP(statut='f',typ='TXM',defaut="N",
-                                 fr="Choix du tri effectué sur les abscisses ou sur les ordonnées",
-                                 into=("N","X","Y","XY","YX") ),
-         ),
-         # Mise en page du tableau ou du graphique
-         b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'",
-                          fr="Mots-clés propres au format Tableau",
-           UNITE           =SIMP(statut='o',typ='I',defaut=8,
-                                 fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
-           TITRE           =SIMP(statut='f',typ='TXM',
-                                 fr="Titre associé au graphique" ),
-           SOUS_TITRE      =SIMP(statut='f',typ='TXM',
-                                 fr="Sous-titre du graphique" ),
-           SEPARATEUR      =SIMP(statut='f',typ='TXM',defaut=' ',
-                                 fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"),
-           COMMENTAIRE     =SIMP(statut='f',typ='TXM',defaut='#',
-                                 fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"),
-           DEBUT_LIGNE     =SIMP(statut='f',typ='TXM',defaut='',
-                                 fr="Caractère de debut de ligne"),
-           FIN_LIGNE       =SIMP(statut='f',typ='TXM',defaut='\n',
-                                 fr="Caractère de fin de ligne"),
-         ),
-         b_graphique = BLOC(condition = "FORMAT != 'TABLEAU'",
-                        fr="Mise en page du graphique",
-           TITRE           =SIMP(statut='f',typ='TXM',
-                                 fr="Titre associé au graphique" ),
-           SOUS_TITRE      =SIMP(statut='f',typ='TXM',
-                                 fr="Sous-titre du graphique" ),
-           BORNE_X         =SIMP(statut='f',typ='R',min=2,max=2,
-                                 fr="Intervalles de variation des abscisses"),
-           BORNE_Y         =SIMP(statut='f',typ='R',min=2,max=2,
-                                 fr="Intervalles de variation des ordonnées"),
-           ECHELLE_X       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
-                                 fr="Type d'échelle pour les abscisses" ),
-           ECHELLE_Y       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
-                                 fr="Type d'échelle pour les ordonnées" ),
-           GRILLE_X        =SIMP(statut='f',typ='R',max=1,val_min=0.,
-                                 fr="Pas du quadrillage vertical" ),
-           GRILLE_Y        =SIMP(statut='f',typ='R',max=1,val_min=0.,
-                                 fr="Pas du quadrillage horizontal" ),
-           LEGENDE_X       =SIMP(statut='f',typ='TXM',
-                                 fr="Légende associée à l'axe des abscisses" ),
-           LEGENDE_Y       =SIMP(statut='f',typ='TXM',
-                                 fr="Légende associée à l'axe des ordonnées" ),
-         ),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
-)  ;
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14493,6 +14293,7 @@ IMPR_FONCTION=MACRO(nom="IMPR_FONCTION",op=impr_fonction_ops,sd_prod=None,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE BOYERE E.BOYERE
 IMPR_GENE=PROC(nom="IMPR_GENE",op= 157,
             fr="Imprimer le résultat d'un calcul dynamique en variables généralisées au format RESULTAT",
             UIinfo={"groupes":("Impression",)},
@@ -14534,7 +14335,7 @@ IMPR_GENE=PROC(nom="IMPR_GENE",op= 157,
            INFO_GENE       =SIMP(statut='f',typ='TXM',into=("OUI","NON") ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14552,6 +14353,7 @@ IMPR_GENE=PROC(nom="IMPR_GENE",op= 157,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE LEFEBVRE J.P.LEFEBVRE
 IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,
             UIinfo={"groupes":("Impression",)},
                  fr="Imprimer le contenu des objets créés par JEVEUX (pour développeur)",
@@ -14589,7 +14391,7 @@ IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,
          ),
          COMMENTAIRE     =SIMP(statut='f',typ='TXM' ),  
 )  ;
-#& MODIF COMMANDE  DATE 29/05/2007   AUTEUR VOLDOIRE F.VOLDOIRE 
+#& MODIF COMMANDE  DATE 06/05/2008   AUTEUR CORUS M.CORUS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14607,6 +14409,8 @@ IMPR_JEVEUX=PROC(nom="IMPR_JEVEUX",op=16,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE CORUS M.CORUS
+
 IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160,
                     UIinfo={"groupes":("Impression",)},
          fr="Impression d'une structure de données MACR_ELEM_DYNA au format IDEAS MISS3D PLEXUS ou CADYRO",
@@ -14650,7 +14454,7 @@ IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160,
          ),
 
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14668,60 +14472,35 @@ IMPR_MACR_ELEM=PROC(nom="IMPR_MACR_ELEM",op= 160,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
+# RESPONSABLE PELLET J.PELLET
 IMPR_MATRICE=PROC(nom="IMPR_MATRICE",op= 159,
-                  fr="Imprimer sur un fichier au format IDEAS ou RESULTAT des matrices élémentaires et assemblées",
+                  fr="Imprimer sur un fichier au format IDEAS des matrices élémentaires et assemblées",
                   UIinfo={"groupes":("Impression",)},
                   regles=(AU_MOINS_UN('MATR_ELEM','MATR_ASSE'),),
 # ======================================================================
    MATR_ELEM       =FACT(statut='f',max='**',
 #
            MATRICE     =SIMP(statut='o',typ=(matr_elem, vect_elem)),
-           FORMAT      =SIMP(statut='f',typ='TXM',defaut="IDEAS",
-                                 into=("IDEAS","RESULTAT") ),
+           FORMAT      =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",) ),
 #
          b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS",
-           UNITE       =SIMP(statut='f',typ='I',defaut=30),  
+           UNITE       =SIMP(statut='f',typ='I',defaut=30),
            VERSION     =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,), ),  ),
-#
-         b_format_resultat  =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT",
-                             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
-           UNITE       =SIMP(statut='f',typ='I',defaut=8),
-           TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-           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='**'),
-           NOM_CMP     =SIMP(statut='f',typ='TXM',max='**'),
-           GRAIN       =SIMP(statut='f',typ='TXM',defaut="VALEUR",into=("VALEUR","NOEUD","MAILLE") ),
-           NB_CHIFFRE  =SIMP(statut='f',typ='I',defaut= 4 ),  ),
          ),
 # ======================================================================
    MATR_ASSE       =FACT(statut='f',max='**',
 #
            MATRICE     =SIMP(statut='o',typ=matr_asse_gd),
-           FORMAT      =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS","RESULTAT") ),
-# 
+           FORMAT      =SIMP(statut='f',typ='TXM',defaut="IDEAS",into=("IDEAS",) ),
+#
          b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="unité logique d'impression et version IDEAS",
-           UNITE       =SIMP(statut='f',typ='I',defaut=30),  
+           UNITE       =SIMP(statut='f',typ='I',defaut=30),
            VERSION     =SIMP(statut='f',typ='I',defaut= 5,into=( 5 ,), ),  ),
-# 
-         b_format_resultat  =BLOC(condition="FORMAT=='RESULTAT'",fr="unité logique d'impression au format RESULTAT",
-                             regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
-           UNITE       =SIMP(statut='f',typ='I',defaut=8),
-           TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-           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='**'),
-           OPTION      =SIMP(statut='f',typ='TXM',defaut="SOUS_MATRICE",into=("SOUS_MATRICE","LIGNE","COLONNE") ),
-           NOM_CMP     =SIMP(statut='f',typ='TXM',max='**'),
-           GRAIN       =SIMP(statut='f',typ='TXM',defaut="VALEUR",into=("VALEUR","NOEUD") ),
-           NB_CHIFFRE  =SIMP(statut='f',typ='I',defaut= 4 ),
-           VALE_ZERO   =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  ),
+#
          ),
 # ======================================================================
 )  ;
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14739,6 +14518,7 @@ IMPR_MATRICE=PROC(nom="IMPR_MATRICE",op= 159,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE DEVESA G.DEVESA
 IMPR_MISS_3D=PROC(nom="IMPR_MISS_3D",op= 162,
             UIinfo={"groupes":("Impression",)},
          fr="Impression des données d'entrée pour une étude sismique avec MISS3D",
@@ -14764,80 +14544,10 @@ IMPR_MISS_3D=PROC(nom="IMPR_MISS_3D",op= 162,
          FREQ_FIN        =SIMP(statut='f',typ='R' ),
          PAS             =SIMP(statut='o',typ='R' ),
          UNITE           =SIMP(statut='f',typ='I',defaut= 26 ),
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-)  ;
-#& MODIF COMMANDE  DATE 07/11/2006   AUTEUR DURAND C.DURAND 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2004  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 thomasso D.THOMASSON
-#
-from Macro.impr_oar_ops import impr_oar_ops
-IMPR_OAR =MACRO(nom="IMPR_OAR",op= impr_oar_ops, sd_prod=None,
-               fr="Impression au format OAR",
-               UIinfo={"groupes":("Impression",)},
-   TYPE_CALC = SIMP(statut='o', typ='TXM',into=('COMPOSANT', 'MEF', 'TUYAUTERIE')),
-   b_composant =BLOC(condition = "TYPE_CALC == 'COMPOSANT' ",
-      regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')),
-      DIAMETRE = SIMP(statut='o', typ='R'),
-      ORIGINE  = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')),
-      COEF_U   = SIMP(statut='f', typ='R',   defaut=1.0),
-      ANGLE_C  = SIMP(statut='o', typ='R',   defaut=0.0),
-      REVET    = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')),
-      RESU_MECA = FACT(statut='f', max='**',
-         NUM_CHAR  = SIMP(statut='o', typ='I'),
-         TYPE      = SIMP(statut='o', typ='TXM', defaut='FX', into=('FX', 'FY', 'FZ', 'MX', 'MY', 'MZ', 'PRE')),
-         TABLE     = SIMP(statut='o', typ=table_sdaster),
-         TABLE_S   = SIMP(statut='f', typ=table_sdaster)),
-      RESU_THER = FACT(statut='f', max='**',
-         NUM_TRAN  = SIMP(statut='o', typ='I'),
-         TABLE_T   = SIMP(statut='o', typ=table_sdaster),
-         TABLE_TEMP= SIMP(statut='o', typ=table_sdaster),
-         TABLE_S   = SIMP(statut='f', typ=table_sdaster),
-         TABLE_ST  = SIMP(statut='f', typ=table_sdaster)),
-         ),
-   b_mef = BLOC(condition = "TYPE_CALC == 'MEF' ",
-      regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')),
-      DIAMETRE = SIMP(statut='o', typ='R'),
-      ORIGINE  = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')),
-      COEF_U   = SIMP(statut='f', typ='R',   defaut=1.0),
-      RESU_MECA = FACT(statut='f', max='**',
-         AZI       = SIMP(statut='o', typ='R'),
-         TABLE_T   = SIMP(statut='o', typ=table_sdaster),
-         TABLE_F   = SIMP(statut='o', typ=table_sdaster),
-         TABLE_P   = SIMP(statut='o', typ=table_sdaster),
-         TABLE_CA  = SIMP(statut='o', typ=table_sdaster)),
-      RESU_THER=FACT(statut='f', max='**',
-         AZI       = SIMP(statut='o', typ='R'),
-         NUM_CHAR  = SIMP(statut='o', typ='I'),
-         TABLE_T   = SIMP(statut='o', typ=table_sdaster),
-         TABLE_TI  = SIMP(statut='o', typ=table_sdaster)),
-      ),
-   b_tuyauterie = BLOC(condition = "TYPE_CALC == 'TUYAUTERIE' ",
-      RESU_MECA = FACT(statut='o', max='**',
-         NUM_CHAR  = SIMP(statut='o', typ='I'),
-         TABLE     = SIMP(statut='o', typ=table_sdaster),
-         MAILLAGE  = SIMP(statut='o', typ=maillage_sdaster)),
-         ),
-   UNITE = SIMP(statut='f',typ='I',defaut=38),
-   AJOUT = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')),
-   );
-#& MODIF COMMANDE  DATE 11/09/2007   AUTEUR REZETTE C.REZETTE 
+         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
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14855,6 +14565,7 @@ IMPR_OAR =MACRO(nom="IMPR_OAR",op= impr_oar_ops, sd_prod=None,
 # 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
 IMPR_RESU=PROC(nom="IMPR_RESU",op=39,
             UIinfo={"groupes":("Impression",)},
                fr="Imprimer un maillage et/ou les résultats d'un calcul (différents formats)",
@@ -15002,7 +14713,7 @@ IMPR_RESU=PROC(nom="IMPR_RESU",op=39,
          ),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 ) ;
-#& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
+#& MODIF COMMANDE  DATE 05/05/2008   AUTEUR NISTOR I.NISTOR 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15020,6 +14731,8 @@ IMPR_RESU=PROC(nom="IMPR_RESU",op=39,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE NISTOR I.NISTOR
+
 IMPR_STURM=PROC(nom="IMPR_STURM",op=32,fr="Calculer et imprimer le nombre de valeurs propres dans un intervalle donné",
             UIinfo={"groupes":("Résolution",)},
          MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
@@ -15042,7 +14755,7 @@ IMPR_STURM=PROC(nom="IMPR_STURM",op=32,fr="Calculer et imprimer le nombre de val
          PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
          SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
 )  ;
-#& MODIF COMMANDE  DATE 03/07/2007   AUTEUR SALMONA L.SALMONA 
+#& MODIF COMMANDE  DATE 06/05/2008   AUTEUR CNGUYEN C.NGUYEN 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15060,7 +14773,7 @@ IMPR_STURM=PROC(nom="IMPR_STURM",op=32,fr="Calculer et imprimer le nombre de val
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE MCOURTOI M.COURTOIS
+# RESPONSABLE COURTOIS M.COURTOIS
 from Macro.impr_table_ops import impr_table_ops
 
 IMPR_TABLE=MACRO(nom="IMPR_TABLE",op=impr_table_ops,sd_prod=None,
@@ -15114,6 +14827,21 @@ IMPR_TABLE=MACRO(nom="IMPR_TABLE",op=impr_table_ops,sd_prod=None,
    NOM_PARA       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
    IMPR_FONCTION  =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
 
+   # Mise en page du tableau ou du graphique
+   b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'",
+                    fr="Mots-clés propres au format Tableau",
+      SEPARATEUR      =SIMP(statut='f',typ='TXM',defaut=' ',
+                            fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"),
+      COMMENTAIRE     =SIMP(statut='f',typ='TXM',defaut='#',
+                            fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"),
+      COMM_PARA       =SIMP(statut='f',typ='TXM',defaut='',
+                            fr="Caractère utilisé pour commentariser la ligne des labels de colonnes"),
+      DEBUT_LIGNE     =SIMP(statut='f',typ='TXM',defaut='',
+                            fr="Caractère de debut de ligne"),
+      FIN_LIGNE       =SIMP(statut='f',typ='TXM',defaut='\n',
+                            fr="Caractère de fin de ligne"),
+    ),
+
    # mise en forme pour les formats qui passent par Graph
    b_forme         =BLOC(condition = "FORMAT == 'XMGRACE'",
                          fr="Données de mise en forme du graphique",
@@ -15150,7 +14878,7 @@ IMPR_TABLE=MACRO(nom="IMPR_TABLE",op=impr_table_ops,sd_prod=None,
    TITRE          =SIMP(statut='f',typ='TXM',max='**'),
    INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )  
-#& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15168,6 +14896,7 @@ IMPR_TABLE=MACRO(nom="IMPR_TABLE",op=impr_table_ops,sd_prod=None,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE DURAND C.DURAND
 INCLUDE=MACRO(nom="INCLUDE",op=ops.build_include,
             UIinfo={"groupes":("Gestion du travail",)},
              fr="Débranchement vers un fichier de commandes secondaires",
@@ -15175,7 +14904,7 @@ INCLUDE=MACRO(nom="INCLUDE",op=ops.build_include,
          UNITE = SIMP(statut='o',typ='I'),
          INFO  = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
 );
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15193,6 +14922,7 @@ INCLUDE=MACRO(nom="INCLUDE",op=ops.build_include,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE DURAND C.DURAND
 INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14,
             UIinfo={"groupes":("Modélisation",)},
          fr="Récupérer les caractéristiques d'un matériau dans le Catalogue Materiaux d'Aster ",
@@ -15213,132 +14943,7 @@ INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14,
          UNITE_LONGUEUR  =SIMP(statut='f',typ='TXM',into=("M","MM"),defaut="M" ),  
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2002  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 D6BHHJP J.P.LEFEBVRE
-INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster,
-                    fr="Récupère différentes informations propres à l'exécution en cours",
-                    reentrant='n',
-                    UIinfo={"groupes":("Gestion du travail",)},
-
-         regles=(),
-         LISTE_INFO     =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=3,
-                              into=("CPU_RESTANT","UNITE_LIBRE","ETAT_UNITE"),),
-         b_etat_unite   =BLOC(condition = "'ETAT_UNITE' in LISTE_INFO", 
-            regles=(UN_PARMI('UNITE','FICHIER'),),
-            UNITE          =SIMP(statut='f',typ='I',val_min=1,val_max=99,max=1,
-                                 fr="Unité logique dont on veut obtenir l'état",),
-            FICHIER        =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),
-                                 fr="Nom du fichier dont on veut obtenir l'état",),
-         ),
-         TITRE          =SIMP(statut='f',typ='TXM',max='**'),
-         INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
-)  ;
-#& MODIF COMMANDE  DATE 30/05/2007   AUTEUR COURTOIS M.COURTOIS 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2005  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.        
-# ======================================================================
-from Macro.info_fonction_ops import info_fonction_ops
-def info_fonction_prod(self,ECART_TYPE,RMS,NOCI_SEISME,MAX,NORME, **args):
-   if (RMS         != None): return table_sdaster
-   if (MAX         != None): return table_sdaster
-   if (NOCI_SEISME != None): return table_sdaster
-   if (ECART_TYPE  != None): return table_sdaster
-   if (NORME       != None): return table_sdaster
-   raise AsException("type de concept resultat non prevu")
-
-INFO_FONCTION=MACRO(nom="INFO_FONCTION",op=info_fonction_ops,sd_prod=info_fonction_prod
-                    ,fr="Opérations mathématiques sur des concepts de type fonction, fonction_c ou nappe",
-                     reentrant='n',
-            UIinfo={"groupes":("Fonction",)},
-         regles=(UN_PARMI('MAX','RMS','NOCI_SEISME','NORME','ECART_TYPE',),),
-         RMS             =FACT(statut='f',fr="Valeur RMS d'une fonction",max='**',
-           METHODE         =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
-           FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
-           INST_INIT       =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
-           INST_FIN        =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
-           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3,val_min=0.E+0 ),
-         ),
-         NOCI_SEISME     =FACT(statut='f',
-           regles=(UN_PARMI('FONCTION','SPEC_OSCI',),),
-           FONCTION        =SIMP(statut='f',typ=fonction_sdaster ),
-           SPEC_OSCI       =SIMP(statut='f',typ=nappe_sdaster ),
-           b_option_f      =BLOC(condition="""FONCTION !=None""",
-             OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",validators=NoRepeat(),max='**',
-                                   into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU",
-                                         "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",), ),
-             b_amor_red          =BLOC(condition="""OPTION in ("TOUT", "INTE_SPEC") """,
-                AMOR_REDUIT     =SIMP(statut='o',typ='R'),),
-             b_pesanteur         =BLOC(condition="""OPTION in ("TOUT", "INTE_ARIAS", "POUV_DEST", "DUREE_PHAS_FORT") """,
-                PESANTEUR       =SIMP(statut='o',typ='R'),),
-           ),
-           b_option_n      =BLOC(condition="""SPEC_OSCI !=None""",
-             OPTION          =SIMP(statut='f',typ='TXM',defaut="INTE_SPEC",into=("INTE_SPEC",), ),
-             NATURE          =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE") ),
-             AMOR_REDUIT     =SIMP(statut='o',typ='R'), ),
-           INST_INIT       =SIMP(statut='f',typ='R'),
-           INST_FIN        =SIMP(statut='f',typ='R'),
-           COEF            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
-           FREQ_INIT       =SIMP(statut='f',typ='R',defaut= 4.E-1 ),
-           FREQ_FIN        =SIMP(statut='f',typ='R',defaut= 10.E+0 ),
-           LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
-           FREQ            =SIMP(statut='f',typ='R',max='**'),
-           NORME           =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
-           BORNE_INF       =SIMP(statut='f',typ='R',defaut= 0.05E+0 ),
-           BORNE_SUP       =SIMP(statut='f',typ='R',defaut= 0.95E+0 ),
-           b_acce_reel     =BLOC(condition="(INST_INIT != None)or(INST_FIN != None)or(FREQ_INIT != None)or(FREQ_FIN != None)",
-             PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,val_min=0.E+0),
-             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-           ),
-         ),
-         MAX             =FACT(statut='f',fr="Extrémas locaux d'une fonction",
-           FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ),
-         ),
-         NORME           =FACT(statut='f',fr="Norme L2 d'une fonction",
-            FONCTION      =SIMP(statut='o', typ=nappe_sdaster),
-         ),     
-         ECART_TYPE      =FACT(statut='f',fr="Ecart-type d'une fonction",
-            METHODE       =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
-            FONCTION      =SIMP(statut='o',typ=fonction_sdaster),
-            INST_INIT     =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
-            INST_FIN      =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
-            CRITERE       =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-            PRECISION     =SIMP(statut='f',typ='R',defaut= 1.E-3,val_min=0.E+0 ),
-         ),     
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
-)
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15356,7 +14961,7 @@ INFO_FONCTION=MACRO(nom="INFO_FONCTION",op=info_fonction_ops,sd_prod=info_foncti
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE G8BHHXD X.DESROCHES
+# RESPONSABLE DESROCHES X.DESROCHES
 INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster,
             UIinfo={"groupes":("Post traitements",)},
                   fr="Définition d'une courbe dans un maillage 2D",reentrant='n',
@@ -15420,7 +15025,7 @@ INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster,
          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),  
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15438,7 +15043,7 @@ INTE_MAIL_2D=OPER(nom="INTE_MAIL_2D",op=50,sd_prod=courbe_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE G8BHHXD X.DESROCHES
+# RESPONSABLE DESROCHES X.DESROCHES
 INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster,
             UIinfo={"groupes":("Post traitements",)},
                   fr="Définir un chemin de type segment de droite dans un maillage 3D",reentrant='n',
@@ -15459,7 +15064,7 @@ INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster,
          PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
 )  ;
-#& MODIF COMMANDE  DATE 16/05/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15477,6 +15082,7 @@ INTE_MAIL_3D=OPER(nom="INTE_MAIL_3D",op=96,sd_prod=surface_sdaster,
 # 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
 def lire_champ_prod(TYPE_CHAM=None,**args):
 # Remarque : si cette liste évolue, il faut penser à mettre à jour son
 #            homologue dans macr_adap_mail
@@ -15501,6 +15107,8 @@ LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod,
             NOM_CMP_IDEM =SIMP(statut='f',typ='TXM',into=("OUI",), ),
             NOM_CMP      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',),
             NOM_CMP_MED  =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',),
+            PROL_ZERO    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",),
+               fr="Affecte des valeurs nulles la ou le champ n'est pas defini (sinon il y a NaN)"),
             NUME_PT      =SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**',),
             NUME_ORDRE   =SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**',
                            fr="Numero d ordre du champ à lire",ang="Rank of the field to be read" ),
@@ -15523,7 +15131,7 @@ LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod,
                   ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15541,6 +15149,7 @@ LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod,
 # 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 Macro.lire_fonction_ops import lire_fonction_ops
 
@@ -15587,66 +15196,7 @@ LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_foncti
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2005  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.        
-# ======================================================================
-LIRE_FORC_MISS=OPER(nom="LIRE_FORC_MISS",op= 179,sd_prod=vect_asse_gene,
-                    fr="Création d un vecteur assemblé à partir de base modale",
-                    reentrant='n',
-            UIinfo={"groupes":("Matrices/vecteurs",)},           
-         BASE            =SIMP(statut='o',typ=base_modale ),
-         NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
-         FREQ_EXTR       =SIMP(statut='o',typ='R',max=1),
-         NOM_CMP         =SIMP(statut='o',typ='TXM',into=("DX","DY","DZ") ),
-         NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE"),defaut="DEPL"),
-         UNITE_RESU_FORC =SIMP(statut='f',typ='I',defaut=30),
-)  ;
-
-#& MODIF COMMANDE  DATE 19/09/2006   AUTEUR ACBHHCD G.DEVESA 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2005  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.        
-# ======================================================================
-LIRE_IMPE_MISS=OPER(nom="LIRE_IMPE_MISS",op= 164,sd_prod=matr_asse_gene_c,
-                    fr="Création d une matrice assemblée à partir de base modale",
-                    reentrant='n',
-            UIinfo={"groupes":("Matrices/vecteurs",)},           
-         BASE            =SIMP(statut='o',typ=base_modale ),
-         NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
-         FREQ_EXTR       =SIMP(statut='o',typ='R',max=1),
-         UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),
-         TYPE            =SIMP(statut='f',typ='TXM',defaut="ASCII",into=("BINAIRE","ASCII") ),         
-)  ;
-
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15664,6 +15214,7 @@ LIRE_IMPE_MISS=OPER(nom="LIRE_IMPE_MISS",op= 164,sd_prod=matr_asse_gene_c,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE ZENTNER I.ZENTNER
 
 from Macro.lire_inte_spec_ops import lire_inte_spec_ops
 
@@ -15672,7 +15223,8 @@ LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",op=lire_inte_spec_ops,sd_prod=table_fo
                     reentrant='n',
             UIinfo={"groupes":("Fonction",)},
          UNITE           =SIMP(statut='o',typ='I' ),
-         FORMAT          =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ),
+         FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ),
+         FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS") ),
          NOM_PARA        =SIMP(statut='f',typ='TXM',defaut="FREQ",
                                into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
                                      "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ),
@@ -15683,7 +15235,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/11/2006   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15701,7 +15253,7 @@ LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",op=lire_inte_spec_ops,sd_prod=table_fo
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE PELLET J.PELLET
 LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op=   1,sd_prod=maillage_sdaster,
                    fr="Crée un maillage par lecture d'un fichier au format Aster ou Med",
                    ang="Readings of a mesh file",
@@ -15746,7 +15298,7 @@ LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op=   1,sd_prod=maillage_sdaster,
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 #
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15764,6 +15316,7 @@ LIRE_MAILLAGE=OPER(nom="LIRE_MAILLAGE",op=   1,sd_prod=maillage_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE DEVESA G.DEVESA
 def lire_miss_3d_prod(TYPE_RESU,**args):
   if TYPE_RESU == "TRANS" : return dyna_trans
   if TYPE_RESU == "HARMO" : return dyna_harmo
@@ -15779,7 +15332,7 @@ LIRE_MISS_3D=OPER(nom="LIRE_MISS_3D",op= 163,sd_prod=lire_miss_3d_prod,
          TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="TRANS",into=("TRANS","HARMO") ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15797,6 +15350,8 @@ LIRE_MISS_3D=OPER(nom="LIRE_MISS_3D",op= 163,sd_prod=lire_miss_3d_prod,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE POTAPOV S.POTAPOV
+
 LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char,
                  fr="Lire le fichier de résultats au format IDEAS produit par le logiciel EUROPLEXUS",
                  reentrant='n',
@@ -15819,7 +15374,7 @@ LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char,
          ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 05/11/2007   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 02/06/2008   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15837,7 +15392,7 @@ LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
+# RESPONSABLE LEFEBVRE J.P.LEFEBVRE
 
 def lire_resu_prod(TYPE_RESU,**args):
   if TYPE_RESU == "EVOL_CHAR" :  return evol_char
@@ -15997,7 +15552,9 @@ LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n',
              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.", ),
            ),
-                  ),
+           PROL_ZERO       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",),
+            fr="Affecte des valeurs nulles la ou le champ n'est pas defini (sinon il y a NaN)"),
+         ),
 
 # 2) blocs selon le type du résultat :
 #---------------------------------
@@ -16019,75 +15576,13 @@ LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n',
            FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
 
-           b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)",
-             PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
-             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-           ),
-         ),
-)  ;
-#& MODIF COMMANDE  DATE 03/04/2006   AUTEUR MCOURTOI M.COURTOIS 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2002  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.        
-# ======================================================================
-
-from Macro.lire_table_ops import lire_table_ops
-
-LIRE_TABLE=MACRO(nom="LIRE_TABLE",op=lire_table_ops,sd_prod=table_sdaster,
-                 fr="Lecture d'un fichier contenant une table",
-            UIinfo={"groupes":("Table",)},
-         UNITE           =SIMP(statut='o',typ='I' ),
-         FORMAT          =SIMP(statut='f',typ='TXM',into=("ASTER",),defaut="ASTER"),
-         NUME_TABLE      =SIMP(statut='f',typ='I',defaut=1),
-         SEPARATEUR      =SIMP(statut='f',typ='TXM',defaut=' '),
-         PARA            =SIMP(statut='f',typ='TXM',max='**'),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-         )  ;
-
-#& MODIF COMMANDE  DATE 13/02/2006   AUTEUR DURAND C.DURAND 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2005  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.        
-# ======================================================================
-# ======================================================================
-
-MAC_MODES=OPER(nom="MAC_MODES",op=  141,sd_prod=table_sdaster,
-               fr="Normalisation de modes propres",
-               reentrant='n',
-            UIinfo={"groupes":("Résolution",)},
-         BASE_1       =SIMP(statut='o',typ=(mode_meca,mode_flamb,base_modale) ),
-         BASE_2       =SIMP(statut='o',typ=(mode_meca,mode_flamb,base_modale) ),
-         MATR_ASSE       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ),
-         TITRE      =SIMP(statut='f',typ='TXM',max='**'),
-         INFO       =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
+           b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)or(FREQ != None)or(LIST_FREQ != None)",
+             PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
+             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+           ),
+         ),
 )  ;
-#& MODIF COMMANDE  DATE 15/05/2007   AUTEUR GNICOLAS G.NICOLAS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -16141,8 +15636,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="V8_7",
-                        into=("V8_7", "V8_N", "V8_N_PERSO"),
+  VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V8_11",
+                        into=("V8_11", "V8_N", "V8_N_PERSO"),
                         fr="Version de HOMARD",
                         ang="HOMARD release"),
 #
@@ -16289,6 +15784,18 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
                                 ang="Absolute or relative value for error indicator" ),
 #
     ),
+#
+# 6.1.7. Type d'opération sur l'indicateur : la valeur par maille ou le max du saut entre mailles
+#
+    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",
+#
+      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" ),
+#
+    ),
 #
   ) ,
 #
@@ -16420,7 +15927,27 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
                     ang="Minimum level for unrefinement"),
   ) ,
 #
-# 10. Suivi d'une frontiere
+# 10. Filtrage de l'adaptation par des groupes
+#
+  b_filtrage_par_des_groupes = BLOC( condition = " (ADAPTATION == 'RAFF_DERA') or \
+                                                   (ADAPTATION == 'RAFFINEMENT') or \
+                                                   (ADAPTATION == 'RAFFINEMENT_UNIFORME') or \
+                                                   (ADAPTATION == 'RAFFINEMENT_ZONE') or \
+                                                   (ADAPTATION == 'DERAFFINEMENT') or \
+                                                   (ADAPTATION == 'DERAFFINEMENT_UNIFORME') " ,
+                                fr="Filtrage de l'adaptation par des groupes.",
+                                ang="Filtering of adaptation by 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." ),  
+#
+    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." ),  
+  ) ,
+#
+# 11. Suivi d'une frontiere
 #
   MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
                            fr="Maillage de la frontiere à suivre",
@@ -16430,41 +15957,41 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
                       fr="Information complémentaire sur la frontière",
                       ang="Further information about boundary",
 #
-    GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
-                    fr="Liste des groupes de mailles définissant la frontière",
-                    ang="Mesh groups which define the boundary" ),
+    GROUP_MA_FRONT = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
+                          fr="Liste des groupes de mailles définissant la frontière",
+                          ang="Mesh groups which define the boundary" ),
 #
   ) ,
 #
-# 11. Mise à jour de champs sur le nouveau maillage
+# 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.",
 #
-# 11.1. Le nom du champ de grandeur qui contiendra le resultat de la mise a jour
+# 12.1. Le nom du champ de grandeur qui contiendra le resultat de la mise a jour
 #
     CHAM_MAJ = SIMP(statut='o',typ=CO,
                     fr="Nom du champ de grandeur qui contiendra le champ mis à jour",
                     ang="Name of the field for the updated field"),
 #
-# 11.2. Le type du champ qui contiendra le resultat de la mise a jour
+# 12.2. Le type du champ qui contiendra le resultat de la mise a jour
 #
     TYPE_CHAM = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO(),
                      fr="Type du champ qui contiendra le champ mis à jour",
                      ang="Type of the field for the updated field" ),
 #
-# 11.3. Le champ a interpoler
+# 12.3. Le champ a interpoler
 #
     regles=(UN_PARMI('CHAM_GD','RESULTAT')),
 #
-# 11.3.1. Sous forme de champ de grandeur
+# 12.3.1. Sous forme de champ de grandeur
 #
     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" ),
 #
-# 11.3.2. Sous forme de champ dans un resultat
+# 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",
@@ -16480,13 +16007,13 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
     ),
 #
-# 11.4. Est-ce un champ dérivé
+# 12.4. Est-ce un champ dérivé
 #
     SENSIBILITE = SIMP(statut='f',typ=(para_sensi,theta_geom),
                        fr="Paramètre de sensibilité.",
                        ang="Sensitivity parameter"),
 #
-# 11.5. Le paramètre temporel pour le champ a interpoler
+# 12.5. Le paramètre temporel pour le champ a interpoler
 #
     b_parametre_temporel = BLOC(condition="(RESULTAT != None)",
                                 fr="Choix éventuel du paramètre temporel pour le champ à interpoler",
@@ -16494,20 +16021,20 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
       regles=(EXCLUS('NUME_ORDRE','INST'),),
 #
-# 11.5.1. Soit le numero d'ordre
+# 12.5.1. Soit le numero d'ordre
 #
       NUME_ORDRE = SIMP(statut='f',typ='I',
                         fr="Numero d ordre du champ à mettre à jour",
                         ang="Rank of the field to be updated" ),
 #
-# 11.5.2. Soit l'instant
-# 11.5.2.1. Sa valeur
+# 12.5.2. Soit l'instant
+# 12.5.2.1. Sa valeur
 #
       INST = SIMP(statut='f',typ='R',
                   fr="Instant associé",
                   ang="Instant" ),
 #
-# 11.5.2.2. La précision du choix de l'instant
+# 12.5.2.2. La précision du choix de l'instant
 #
       b_precision = BLOC(condition="(INST != None)",
                          fr="Choix de la précision du choix de l'instant",
@@ -16526,38 +16053,38 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
     ),
   ),
 #
-# 12. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres
-# 12.1. Nombre de noeuds et éléments
+# 13. Les options d'analyse de maillage ; par defaut, on ne fait que les nombres
+# 13.1. Nombre de noeuds et éléments
 #
   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" ),
 #
-# 12.2. Determination de la qualité des éléments du maillage
+# 13.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" ),
 #
-# 12.3. Connexite du maillage
+# 13.3. Connexite du maillage
 #
   CONNEXITE      = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
                           fr="Connexité du maillage.",
                           ang="Mesh connexity." ),
 #
-# 12.4. Taille des sous-domaines du maillage
+# 13.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." ),
 #
-# 12.5. Controle de la non-interpenetration des éléments
+# 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 éléments.",
                           ang="Overlapping checking." ),
 #
-# 13. Gestion des éléments autres que ceux compatibles avec HOMARD
+# 14. Gestion des éléments autres que ceux compatibles avec HOMARD
 #       "REFUSER" : ils sont refuses (defaut)
 #       "IGNORER" : ils sont ignorés
 #
@@ -16566,7 +16093,7 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
                              ang="Incompatible elements for HOMARD" ),
 #
 ) ;
-#& MODIF COMMANDE  DATE 25/09/2006   AUTEUR MJBHHPE J.L.FLEJOU 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -16584,7 +16111,7 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE F1BHHAJ J.ANGLES
+# RESPONSABLE GALENNE E.GALENNE
 from Macro.macr_ascouf_calc_ops import macr_ascouf_calc_ops
 def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,CHARGE,RESU_THER,**args):
   self.type_sdprod(MODELE,modele_sdaster)
@@ -16811,7 +16338,7 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=ma
 
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -16829,7 +16356,7 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=ma
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE F1BHHAJ J.ANGLES
+# RESPONSABLE GALENNE E.GALENNE
 from Macro.macr_ascouf_mail_ops import macr_ascouf_mail_ops
 MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op=macr_ascouf_mail_ops,sd_prod=maillage_sdaster,
             fr="Engendre le maillage d'un coude sain ou comportant une fissure ou une (ou plusieurs) sous-épaisseur(s)",
@@ -16959,7 +16486,7 @@ MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op=macr_ascouf_mail_ops,sd_prod=ma
 
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 25/09/2006   AUTEUR MJBHHPE J.L.FLEJOU 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -16977,7 +16504,7 @@ MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op=macr_ascouf_mail_ops,sd_prod=ma
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE F1BHHAJ J.ANGLES
+# RESPONSABLE GALENNE E.GALENNE
 from Macro.macr_aspic_calc_ops import macr_aspic_calc_ops
 
 def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_2,CHARGE,RESU_THER,**args):
@@ -17216,7 +16743,7 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_
 
          TITRE           =SIMP(statut='f',typ='TXM'),
 )
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17234,7 +16761,7 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE F1BHHAJ J.ANGLES
+# RESPONSABLE GALENNE E.GALENNE
 
 from Macro.macr_aspic_mail_ops import macr_aspic_mail_ops
 
@@ -17275,450 +16802,45 @@ MACR_ASPIC_MAIL=MACRO(nom="MACR_ASPIC_MAIL",op= macr_aspic_mail_ops,sd_prod=mail
            E_CORP          =SIMP(statut='o',typ='R'),  
            DEXT_CORP       =SIMP(statut='o',typ='R'),  
            X_MAX           =SIMP(statut='o',typ='R'),  
-         ),
-
-         FISS_SOUDURE    =FACT(statut='f',
-           TYPE            =SIMP(statut='o',typ='TXM',into=("LONGUE","COURTE")),
-           AXIS            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
-           PROFONDEUR      =SIMP(statut='o',typ='R'),  
-           LONGUEUR        =SIMP(statut='f',typ='R'),  
-           AZIMUT          =SIMP(statut='o',typ='R'),  
-           RAYON_TORE      =SIMP(statut='f',typ='R'),  
-           POSITION        =SIMP(statut='o',typ='TXM',into=("DROIT","INCLINE")),
-           FISSURE         =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT","NON_DEB","TRAVERS")),
-           LIGA_INT        =SIMP(statut='f',typ='R'),  
-           ANGL_OUVERTURE  =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
-           COEF_MULT_RC1   =SIMP(statut='f',typ='R'),  
-           COEF_MULT_RC2   =SIMP(statut='f',typ='R'),  
-           COEF_MULT_RC3   =SIMP(statut='f',typ='R'),  
-           NB_TRANCHE      =SIMP(statut='f',typ='I'),  
-           NB_SECTEUR      =SIMP(statut='f',typ='I'),  
-           NB_COURONNE     =SIMP(statut='f',typ='I'),  
-         ),
-
-         IMPRESSION      =FACT(statut='f',max='**',
-           regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
-           FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")),
-
-           b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
-             VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
-           ),  
-
-           b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
-             NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
-           ),
-           FICHIER         =SIMP(statut='f',typ='TXM'),  
-           UNITE           =SIMP(statut='f',typ='I'),  
-         ),
-
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-)  ;
-#& MODIF COMMANDE  DATE 25/09/2006   AUTEUR MJBHHPE J.L.FLEJOU 
-#            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.                                                  
-#                                                                       
-# 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.        
-# ======================================================================
-
-from Macro.macr_cabri_calc_ops import macr_cabri_calc_ops
-   
-def macr_cabri_calc_prod(self,MODELE_THER,MODELE_MECA,CHAM_MATER,
-                         CHAR_THER,CHAR_MECA,RESU_THER,**args):
-  if MODELE_THER != None:
-   self.type_sdprod(MODELE_THER,modele_sdaster)   
-  if MODELE_MECA != None:
-   self.type_sdprod(MODELE_MECA,modele_sdaster)  
-  if RESU_THER != None:
-   self.type_sdprod(RESU_THER,evol_ther)     
-  if CHAM_MATER != None:
-   self.type_sdprod(CHAM_MATER,cham_mater)     
-  if CHAR_THER != None: 
-    for m in CHAR_THER:
-      self.type_sdprod(m['CHARGE'],char_ther)
-  if CHAR_MECA != None: 
-    for m in CHAR_MECA:
-      self.type_sdprod(m['CHARGE'],char_meca)
-  return evol_noli
-
-
-MACR_CABRI_CALC=MACRO(nom="MACR_CABRI_CALC",
-                      op=macr_cabri_calc_ops,
-                      sd_prod=macr_cabri_calc_prod,
-                      fr="Calcul thermo-mécanique d'une jonction boulonnée de tuyauterie",
-                      reentrant='n',
-                      UIinfo={"groupes":("Outils métier",)},
-                      MAILLAGE   = SIMP(statut='o',typ=maillage_sdaster,),
-                      AFFE_MATERIAU = FACT(statut='o',max='**',
-                        regles=(UN_PARMI('TOUT','GROUP_MA',),),
-                        TOUT     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                        GROUP_MA = SIMP(statut='f',typ='TXM',into=(
-                                                                  "BRIDE",
-                                                                  "GOUJON",
-                                                                  "ROND",
-                                                                  "ECROU",
-                                                                  "JOINT",) ),
-                        MATER    = SIMP(statut='o',typ=mater_sdaster),
-                        TEMP_REF = SIMP(statut='d',typ='R',defaut= 25. ),
-                      ),                      
-                      CHAM_MATER = SIMP(statut = 'f',typ=CO,),
-                      MODELE_THER= SIMP(statut = 'f',typ=CO,),
-                      
-                      DEFI_CHAR_THER = FACT(statut ='d',
-                        TEMP_INIT     = SIMP(statut='d',typ='R',defaut= 25.,),
-                        COEF_H_FLUI   = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
-                        TEMP_EXT_FLUI = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
-                        COEF_H_AIR    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
-                        TEMP_EXT_AIR  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
-                        LIST_INST     = SIMP(statut='f',typ=listr8_sdaster),
-                      ),                      
-                      
-                      CHAR_THER  = FACT(statut = 'f',max=4,
-                        CHARGE    = SIMP(statut='o',typ=CO),
-                        TYPE      = SIMP(statut='o',typ='TXM',
-                                 into=("BRIDE_FLUIDE","BRIDE_AIR","ECROU_GOUJON",
-                                       "BRIDE_JOINT"),)
-                                       ),
-
-                      RESU_THER  = SIMP(statut = 'f',typ=CO,),                                       
-
-                                       
-                      MODELE_MECA= SIMP(statut = 'f',typ=CO,),
-
-                      DEFI_CHAR_MECA   = FACT(statut='o',
-                        PRETENS    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
-                        PRES_REP   = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
-                        EFFE_FOND  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster),),
-                      ),                                                             
-
-                      CHAR_MECA  = FACT(statut = 'f',max=11,
-                        CHARGE    = SIMP(statut='o',typ=CO),
-                        TYPE      = SIMP(statut='o',typ='TXM',
-                                 into=("BLOC_BAS_GOUJ","BLOC_BAS_JOINT",
-                                       "BLOC_LAT_ALES","BLOC_LAT_NALES",
-                                       "PLAN_TUBE",
-                                       "PRES_FLU","EFFET_FOND",
-                                       "CONT_JOINT",
-                                       "DEFO_THER",
-                                       "SERR_ECROU_1","SERR_ECROU_2",),)
-                                       ),
-                     
-                      RELATION = SIMP(statut='f',typ='TXM',
-                                       into=('VMIS_ISOT_TRAC','ELAS','ELAS_VMIS_TRAC',),),
-                        
-                      SOLVEUR   = FACT(statut='d',
-                        METHODE  = SIMP(statut='d',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT",) ),
-                        b_mult_front = BLOC(condition = "METHODE == 'MULT_FRONT' ",
-                           fr="Paramètres de la méthode multi frontale",
-                           RENUM           = SIMP(statut='d',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
-                           NPREC           = SIMP(statut='d',typ='I',defaut=8),
-                           STOP_SINGULIER  = SIMP(statut='d',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-                           ),                 
-                      ),                                             
-                      INCREMENT = FACT(statut='f',
-                        regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
-                                EXCLUS('NUME_INST_FIN','INST_FIN'),),
-                        LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
-                        EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
-                                 into=("CHRONOLOGIQUE",) ),                                 
-                        NUME_INST_INIT  =SIMP(statut='f',typ='I'),
-                        INST_INIT       =SIMP(statut='f',typ='R'),
-                        NUME_INST_FIN   =SIMP(statut='f',typ='I'),
-                        INST_FIN        =SIMP(statut='f',typ='R'),
-                        PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
-           # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
-           SUBD_METHODE    =SIMP( statut='f',typ='TXM',
-              into =("AUCUNE","UNIFORME","EXTRAPOLE"),
-              defaut="AUCUNE",
-              fr="Méthode de subdivision des pas de temps en cas de non-convergence"
-           ),
-           b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
-             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
-             SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
-                fr="Coefficient multiplicateur de la 1ère subdivision"),
-             SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
-                fr="Nombre de subdivision d'un pas de temps"),
-             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
-                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
-             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
-                fr="Pas de temps en dessous duquel on ne subdivise plus"),
-           ),
-           b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
-             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
-             SUBD_OPTION    =SIMP(statut='f',typ='TXM',
-                into =("IGNORE_PREMIERES","GARDE_DERNIERES",), 
-                defaut="IGNORE_PREMIERES",
-                fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
-             SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
-                fr="Les n premières itérations sont ignorées pour l'extrapolation"),
-             SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
-                fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
-             SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
-                fr="Nombre de subdivision d'un pas de temps en cas divergence"),
-             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
-                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
-             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
-                fr="Pas de temps en dessous duquel on ne subdivise plus"),
-             SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
-                fr="% itération autorisée en plus"),
-           ),
-           # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS 
-                        OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
-                        NOM_CHAM        =SIMP(statut='f',typ='TXM',),
-                        NOM_CMP         =SIMP(statut='f',typ='TXM',),
-                        VALE            =SIMP(statut='f',typ='R'),
-                      ),
-                      NEWTON          =FACT(statut='d',
-                        REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
-                        PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL") ),
-                        MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
-                        PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
-                        REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
-                        EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
-                      ),
-                      RESO_INTE       =SIMP(statut='f',typ='TXM',defaut="IMPLICITE",
-                                into=("IMPLICITE",)),
-                      CONVERGENCE     =FACT(statut='d',
-                        regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
-                        SIGM_REFE       =SIMP(statut='f',typ='R'),
-                        EPSI_REFE       =SIMP(statut='f',typ='R'),
-                        FLUX_THER_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'),
-                        ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
-                        ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
-                      ),
-                     );
-
-#& MODIF COMMANDE  DATE 07/02/2005   AUTEUR MABBAS M.ABBAS 
-#            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.                                                  
-#                                                                       
-# 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.        
-# ======================================================================
-
-from Macro.macr_cabri_mail_ops import macr_cabri_mail_ops
-
-MACR_CABRI_MAIL=MACRO(nom="MACR_CABRI_MAIL",
-                      op=macr_cabri_mail_ops,
-                      sd_prod=maillage_sdaster,
-                      fr="maillage d'une jonction boulonnée de tuyauterie",
-                      reentrant='n',
-                      UIinfo={"groupes":("Outils métier",)},
-                      EXEC_MAILLAGE = FACT(statut='o',
-                        LOGICIEL      = SIMP(statut = 'o',typ='TXM',into=("GIBI2000",),),
-                        UNITE_DATG    = SIMP(statut = 'f',typ='I',defaut=70,),
-                        UNITE_MGIB    = SIMP(statut = 'f',typ='I',defaut=19,),
-                        NIVE_GIBI     = SIMP(statut = 'f',typ='I',defaut=10,
-                                          into = (3,4,5,6,7,8,9,10,11),
-                                            ),
-                                          ),
-                      RAFF_MAILLAGE   = FACT(statut = 'd',
-                        NB_RADIAL    = SIMP(statut = 'f',typ='I',defaut=2,),
-                        NB_CIRCONF   = SIMP(statut = 'f',typ='I',defaut=3,),
-                        NB_VERTICAL  = SIMP(statut = 'f',typ='I',defaut=6,),
-                        NB_ALESAGE   = SIMP(statut = 'f',typ='I',defaut=5,),
-                                          ),
-                      VERI_MAIL     = FACT(statut='d',
-                        VERIF         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),  
-                        APLAT         = SIMP(statut='f',typ='R',defaut= 1.0E-3 ),  
-                                          ),                                          
-                      GEOM_BRID     = FACT(statut = 'o',
-                        NORME         = SIMP(statut = 'o',typ='TXM',into=("OUI","NON"),),
-                        b_bride_iso   = BLOC(condition = "NORME == 'OUI'",
-                          TYPE           = SIMP(statut='o',typ='TXM',
-                                                into=('A','AA','B','B1','C','D','D1','E','F',
-                                                      'FF','G','GG','H','H1','I','J','J1',
-                                                      'K','L','L1','M','N','O','P','S','T','W'), 
-                                               ),
-                                            ),
-                        b_bride_niso  = BLOC(condition = "NORME == 'NON'",
-                          TUBU_D_EXT     = SIMP(statut='o',typ='R',),
-                          TUBU_H         = SIMP(statut='o',typ='R',),
-                          BRID_D_EXT     = SIMP(statut='o',typ='R',),
-                          BRID_D_INT     = SIMP(statut='o',typ='R',),
-                          BRID_H         = SIMP(statut='o',typ='R',),
-                          BRID_D_CONGE   = SIMP(statut='o',typ='R',),
-                          BRID_R_CONGE   = SIMP(statut='o',typ='R',),
-                          BRID_D_EPAUL   = SIMP(statut='o',typ='R',),
-                          BRID_H_EPAUL   = SIMP(statut='o',typ='R',),
-                          BRID_D_ALESAG  = SIMP(statut='o',typ='R',),
-                          BRID_P_ALESAG  = SIMP(statut='o',typ='R',),
-                          BRID_H_ALESAG  = SIMP(statut='o',typ='R',),
-                          GOUJ_N_GOUJON  = SIMP(statut='o',typ='I',),
-                          GOUJ_D_GOUJON  = SIMP(statut='o',typ='R',),
-                          GOUJ_E_FILET   = SIMP(statut='o',typ='R',),
-                          GOUJ_D_RONDEL  = SIMP(statut='o',typ='R',),
-                          GOUJ_E_RONDEL  = SIMP(statut='o',typ='R',),
-                          GOUJ_D_ECROU   = SIMP(statut='o',typ='R',),
-                          GOUJ_E_ECROU   = SIMP(statut='o',typ='R',),
-                          ETAN_E_JOINT   = SIMP(statut='o',typ='R',),
-                                            ),
-                                         ),
-                      IMPRESSION    = FACT(statut='d',
-                        UNITE          = SIMP(statut='f',typ='I'),
-                        FORMAT         = SIMP(statut='f',typ='TXM',defaut="ASTER",    
-                                              into=("ASTER","CASTEM","IDEAS"),
-                                             ),
-                        b_impr_castem = BLOC(condition = "FORMAT == 'CASTEM'",
-                          NIVE_GIBI      = SIMP(statut='f',typ='I',defaut=10,into=(3,10),),
-                                            ),
-                        b_impr_ideas  = BLOC(condition = "FORMAT == 'IDEAS'",
-                          VERSION        = SIMP(statut='f',typ='I',defaut=5,into=(4,5),),
-                                            ),
-                                          ),
-                     );
-
-#& MODIF COMMANDE  DATE 04/09/2007   AUTEUR DURAND C.DURAND 
-#            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.                                                  
-#                                                                       
-# 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 JMBHH01 J.M.PROIX
-
-from Macro.macr_cara_poutre_ops import macr_cara_poutre_ops
-
-MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE",op=macr_cara_poutre_ops,sd_prod=table_sdaster,
-                       reentrant='n',
-          UIinfo={"groupes":("Modélisation",)},
-          fr="Calculer les caractéristiques d'une section transversale de poutre à partir d'un maillage 2D de la section",
-          regles=(EXCLUS('SYME_X','GROUP_MA_BORD'),
-                  EXCLUS('SYME_Y','GROUP_MA_BORD'),),
-                 
-          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut= 20 ),  
-          ORIG_INER       =SIMP(statut='f',typ='R',max=3,defaut=(0.E+0,0.E+0),
-                                fr="Point par rapport auquel sont calculées les inerties"),  
-          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-         
-          SYME_X          =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a x=0"),
-          SYME_Y          =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a y=0"),
-         
-          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
-          fr="Calcul des caractéristiques équivalentes a plusieurs sections disjointes"),
-          
-          GROUP_MA_BORD   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
-                               fr="Groupe(s) de mailles linéiques, bord(s) de(s) section(s)"),
-         
-               b_gma_bord = BLOC( condition = "GROUP_MA_BORD != None",
-                            fr=" calcul des carac. mecaniques",
-                            regles=(UN_PARMI('NOEUD','GROUP_NO')),
-
-                    NOEUD           =SIMP(statut='f',typ=no,  max='**',
-                    fr="Simplement pour empecher des pivots nuls le cas echeant. Fournir un noeud quelconque"),
-                    GROUP_NO        =SIMP(statut='f',typ=grno,max='**',
-                    fr="Simplement pour empecher des pivots nuls le cas echeant. Fournir un noeud quelconque"),
-                    GROUP_MA_INTE   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
-                    fr="groupes de mailles linéiques bordant des trous dans la section"),
-                    ),
-                    
-               b_reseau = BLOC( condition ="""(GROUP_MA_BORD != None) and (GROUP_MA != None)""",
-                           fr=" calcul des coef de cisaillement équivalents a un reseau de poutres",
-                            regles=(ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,),
-                            LONGUEUR        =SIMP(statut='f',typ='R',fr="Longueur du réseau de poutres"),  
-                            MATERIAU        =SIMP(statut='f',typ=mater_sdaster,fr="Materiau elastique lineaire du reseau"),
-                            LIAISON         =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT"),
-                            fr="type de conditions aux limites sur le plancher supérieur" ),
-                              ), 
-                    )
-#& MODIF COMMANDE  DATE 13/12/2006   AUTEUR PELLET J.PELLET 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2004  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.
-# ======================================================================
-
-
-from Macro.macr_ecla_pg_ops import macr_ecla_pg_ops
-
-def macr_ecla_pg_prod(self,RESULTAT,MAILLAGE,RESU_INIT,**args):
-  self.type_sdprod(RESULTAT,AsType(RESU_INIT))
-  self.type_sdprod(MAILLAGE,maillage_sdaster)
-  return None
-
-
-MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG",op=macr_ecla_pg_ops,sd_prod=macr_ecla_pg_prod, reentrant='n',
-             UIinfo={"groupes":("Post traitements",)},
-             fr="Permettre la visualisation des champs aux points de Gauss d'une SD_RESULTAT sans lissage ni interpolation",
-
-
-             # SD résultat ,modèle et champs à "éclater" :
-             RESU_INIT       =SIMP(statut='o',typ=resultat_sdaster,fr="RESULTAT à éclater",),
-             MODELE_INIT     =SIMP(statut='o',typ=modele_sdaster,fr="MODELE à éclater"),
-             NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
+         ),
 
-             # paramètres numériques de la commande :
-             SHRINK          =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
-             TAILLE_MIN      =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ),
+         FISS_SOUDURE    =FACT(statut='f',
+           TYPE            =SIMP(statut='o',typ='TXM',into=("LONGUE","COURTE")),
+           AXIS            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
+           PROFONDEUR      =SIMP(statut='o',typ='R'),  
+           LONGUEUR        =SIMP(statut='f',typ='R'),  
+           AZIMUT          =SIMP(statut='o',typ='R'),  
+           RAYON_TORE      =SIMP(statut='f',typ='R'),  
+           POSITION        =SIMP(statut='o',typ='TXM',into=("DROIT","INCLINE")),
+           FISSURE         =SIMP(statut='o',typ='TXM',into=("DEB_INT","DEB_EXT","NON_DEB","TRAVERS")),
+           LIGA_INT        =SIMP(statut='f',typ='R'),  
+           ANGL_OUVERTURE  =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
+           COEF_MULT_RC1   =SIMP(statut='f',typ='R'),  
+           COEF_MULT_RC2   =SIMP(statut='f',typ='R'),  
+           COEF_MULT_RC3   =SIMP(statut='f',typ='R'),  
+           NB_TRANCHE      =SIMP(statut='f',typ='I'),  
+           NB_SECTEUR      =SIMP(statut='f',typ='I'),  
+           NB_COURONNE     =SIMP(statut='f',typ='I'),  
+         ),
 
-             # concepts produits par la commande :
-             RESULTAT        =SIMP(statut='o',typ=CO,fr="SD_RESULTAT résultat de la commande"),
-             MAILLAGE        =SIMP(statut='o',typ=CO,fr="MAILLAGE associé aux cham_no de la SD_RESULTAT"),
+         IMPRESSION      =FACT(statut='f',max='**',
+           regles=(PRESENT_PRESENT('FICHIER','UNITE'),),
+           FORMAT          =SIMP(statut='f',typ='TXM',defaut="ASTER",into=("ASTER","IDEAS","CASTEM")),
 
-             # Sélection éventuelle d'un sous-ensemble des éléments à visualiser :
-             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           b_format_ideas  =BLOC(condition="FORMAT=='IDEAS'",fr="version Ideas",
+             VERSION         =SIMP(statut='f',typ='I',defaut=5,into=(4,5)),
+           ),  
 
-             # Sélection des numéros d'ordre :
-             regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
-             TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-             NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-             LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
-             INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-             LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
-             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
-             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
-            )
-#& MODIF COMMANDE  DATE 19/11/2007   AUTEUR DEVESA G.DEVESA 
+           b_format_castem =BLOC(condition="FORMAT=='CASTEM'",fr="version Castem",
+             NIVE_GIBI       =SIMP(statut='f',typ='I',defaut=10,into=(3,10)),
+           ),
+           FICHIER         =SIMP(statut='f',typ='TXM'),  
+           UNITE           =SIMP(statut='f',typ='I'),  
+         ),
+
+         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
+)  ;
+#& MODIF COMMANDE  DATE 06/05/2008   AUTEUR CORUS M.CORUS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17736,6 +16858,8 @@ MACR_ECLA_PG=MACRO(nom="MACR_ECLA_PG",op=macr_ecla_pg_ops,sd_prod=macr_ecla_pg_p
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE CORUS M.CORUS
+
 MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op=  81,sd_prod=macr_elem_dyna,
                     fr="Définition d'un macro élément pour analyse modale ou harmonique par sous structuration dynamique",
                     reentrant='n',
@@ -17758,7 +16882,7 @@ MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op=  81,sd_prod=macr_elem_dyna,
            VECT_ASSE_GENE  =SIMP(statut='o',typ=vect_asse_gene ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 31/10/2006   AUTEUR A3BHHAE H.ANDRIAMBOLOLONA 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17776,490 +16900,2012 @@ MACR_ELEM_DYNA=OPER(nom="MACR_ELEM_DYNA",op=  81,sd_prod=macr_elem_dyna,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE PELLET J.PELLET
 MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant='f',
             UIinfo={"groupes":("Matrices/vecteurs",)},
                     fr="Définition d'un macro-élément pour l'analyse statique par sous-structuration",
-        regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'),
-                ENSEMBLE('DEFINITION','EXTERIEUR'),),
-         DEFINITION      =FACT(statut='f',
-           regles=(PRESENT_PRESENT('PROJ_MESU','MODE_MESURE'),),
-           MODELE          =SIMP(statut='o',typ=modele_sdaster),
-           CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
-           CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
-           CHAR_MACR_ELEM  =SIMP(statut='f',typ=char_meca),
-           INST            =SIMP(statut='f',typ='R',defaut=0.0E+0 ),
-           NMAX_CAS        =SIMP(statut='f',typ='I',defaut=10),
-           NMAX_CHAR       =SIMP(statut='f',typ='I',defaut=10),
-           PROJ_MESU       =SIMP(statut='f',typ=(mode_gene,tran_gene,harm_gene),max=1),
-           MODE_MESURE     =SIMP(statut='f',typ=( mode_meca,base_modale) ),
-         ),
-         EXTERIEUR       =FACT(statut='f',
-           regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),),
-           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-         ),
-         RIGI_MECA       =FACT(statut='f',
-         ),
-         MASS_MECA       =FACT(statut='f',
-         ),
-         CAS_CHARGE      =FACT(statut='f',max='**',
-           NOM_CAS         =SIMP(statut='o',typ='TXM'),
-           SUIV            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
-           CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
-           INST            =SIMP(statut='f',typ='R',defaut=0.E+0),
-         ),
-
-)  ;
-#& MODIF COMMANDE  DATE 27/11/2006   AUTEUR GNICOLAS G.NICOLAS 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2004  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 GNICOLAS G.NICOLAS
-
-from Macro.macr_fiabilite_ops import macr_fiabilite_ops
-
-#
-#====
-# 1. Le retour : une liste de rééls.
-#====
-#
-def macr_fiabilite_prod ( self , **args ):
-  return listr8_sdaster
-#
-#====
-# 2. L'entete
-#====
-#
-MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops,
-                         docu="U7.03.31",UIinfo={"groupe":("Post traitements",)},
-                         sd_prod=macr_fiabilite_prod,
-                         fr="Calcule les probabiltés de dépassement de seuil (mécanique de fiabilité).",
-                         ang="Fiability mechanics.",
-#
-#====
-# 3. Le niveau d'information
-#====
-#
-   INFO           = SIMP(statut="f",typ="I",defaut=1,into=(1,2)),
-#
-#====
-# 4. Nom et Version du logiciel de fiabilité
-#====
-#
-   LOGICIEL = SIMP(statut="f",typ="TXM",defaut="MEFISTO",
-                   into=("MEFISTO",),
-                   fr="Nom du logiciel de fiabilité.",
-                   ang="Fiability software name."),
-#
-   VERSION = SIMP(statut="f",typ="TXM",defaut="V3_2",
-                  into=("V3_2", "V3_N"),
-                  fr="Version du logiciel de fiabilité.",
-                  ang="Fiability software release."),
-#
-#====
-# 5. Les entrees-sorties du calcul ASTER déterministe
-#====
-#
-# 5.1. ==> Le jeu de commandes déterministe
-#
-   UNITE_ESCL = SIMP(statut="o",typ="I",
-                     fr="Unité logique associée aux commandes du calcul ASTER déterministe.",
-                     ang="Logical unit for the commands of the ASTER deterministic calculation."),
-#
-# 5.2. ==> Le destin des messages produits par ASTER
-#
-   MESS_ASTER = SIMP(statut="f",typ="TXM",defaut="DERNIER",
-                        into=("AUCUN", "DERNIER", "TOUS"),
-                        fr="Quels messages ASTER récupérer.",
-                        ang="Which ASTER messages must be kept."),
-#
-#====
-# 6. Options
-#====
-# 6.1. ==> Générales
-#
-# 6.1.1. ==> La valeur du seuil
-#
-   SEUIL = SIMP(statut="o",typ="R",max=1,
-                fr="Le seuil de défaillance.",
-                ang="Failure threshold."),
-#
-# 6.1.2. ==> Le type du seuil : on a deux cas de figure selon que
-#            la défaillance a lieu au dessus d'un seuil maximum ou
-#            en dessous d'un seuil minimum
-#
-   SEUIL_TYPE = SIMP(statut="o",typ="TXM",max=1,
-                     into=("MINIMUM","MAXIMUM"),
-                     fr="Que faut-il ne pas dépasser : un maximum ou un minimum.",
-                     ang="What is the failure threshold : maximum or minimum."),
-#
-# 6.2. ==> Pour MEFISTO
-#
-### en attente de résolution de AL 2004-006 (1/2)   b_mefisto=BLOC( condition = "LOGICIEL=='MEFISTO'",
-#
-# 6.2.1. ==> Pilotage de la recherche du point de conception
-#
-     RECH_PT_CONCEPT = SIMP(statut="f",typ="TXM",defaut="OUI",
-                            into=("OUI","NON"),
-                            fr="Pour trouver le point de conception.",
-                            ang="To find the design point."),
-#
-     b_rech_pt_concept=BLOC( condition = "RECH_PT_CONCEPT=='OUI'",
-#
-       EPSILON_U = SIMP(statut="f",typ="R",defaut=1.0E-2,
-                        fr="Précision du test d'arret sur les points itératifs dans l'espace standard.",
-                        ang="Precision of stop test for iterative points in standard space."),
-#
-       EPSILON_G = SIMP(statut="f",typ="R",defaut=1.0E-2,
-                        fr="Précision du test d'arret sur la proximité de la surface d'état limite.",
-                        ang="Precision of stop test for limit state surface."),
-#
-       TAU       = SIMP(statut="f",typ="R",defaut=5.0E-1,
-                        fr="Paramètre de la méthode de minimisation.",
-                        ang="Parameter for the minimization method."),
-#
-       OMEGA     = SIMP(statut="f",typ="R",defaut=1.0E-4,
-                        fr="Paramètre de la méthode de minimisation.",
-                        ang="Parameter for the minimization method."),
-#
-       ITER_MAX  = SIMP(statut="f",typ="I",defaut=50,
-                        fr="Nombre maximum d'itérations.",
-                        ang="Maximum number of iterations."),
-     ),
-#
-# 6.2.2. ==> Méthode(s) employée(s) pour la probabilité de défaillance
-#
-     METHODE_FORM = SIMP(statut="f",typ="TXM",defaut="OUI",
-                         into=("OUI","NON"),
-                         fr="Recherche de la probabilité de défaillance avec la méthode FORM.",
-                         ang="Research of failure probability with FORM method."),
-#
-     METHODE_SORM = SIMP(statut="f",typ="TXM",defaut="NON",
-                         into=("OUI","NON"),
-                         fr="Recherche de la probabilité de défaillance avec la méthode SORM.",
-                         ang="Research of failure probability with SORM method."),
-#
-     TIRAGE_IMPORTANCE = SIMP(statut="f",typ="TXM",defaut="NON",
-                              into=("OUI","NON"),
-                              fr="Recherche de la probabilité de défaillance avec le tirage d'importance.",
-                              ang="Research of failure probability with ."),
-#
-     b_tirage_importance=BLOC( condition = "TIRAGE_IMPORTANCE=='OUI'",
-#
-       NB_SIMULATION = SIMP(statut="f",typ="I",defaut=3,
-                            fr="Nombre de simulations pour le tirage d'importance.",
-                            ang="Number of simulation for."),
-#
-     ),
-#
-# 6.2.3. ==> Création d'une surface de réponse polynomiale
-#
-     POLYNOME_TAYLOR   = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),),
-     HGRAD             = SIMP(statut="f",typ="R",defaut=1.0E-2,
-                              fr="Pas incrémental pour le calcul des gradients.",
-                              ang="Step for calculation of gradients."),
-     HHESS             = SIMP(statut="f",typ="R",defaut=1.0E-2,
-                              fr="Pas incrémental pour le calcul des dérivées secondes.",
-                              ang="Step for calculation of second derivatives."),
-#
-# 6.2.4. ==> Recherche d'un plan d'expérience
-#
-     PLAN_EXPERIENCE   = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
-                              fr="Construction d'un plan d'expérience.",
-                              ang="Construction of an experiment plan."),
+        regles=(AU_MOINS_UN('DEFINITION','RIGI_MECA','MASS_MECA','CAS_CHARGE'),
+                ENSEMBLE('DEFINITION','EXTERIEUR'),),
+         DEFINITION      =FACT(statut='f',
+           regles=(PRESENT_PRESENT('PROJ_MESU','MODE_MESURE'),),
+           MODELE          =SIMP(statut='o',typ=modele_sdaster),
+           CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
+           CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
+           CHAR_MACR_ELEM  =SIMP(statut='f',typ=char_meca),
+           INST            =SIMP(statut='f',typ='R',defaut=0.0E+0 ),
+           NMAX_CAS        =SIMP(statut='f',typ='I',defaut=10),
+           NMAX_CHAR       =SIMP(statut='f',typ='I',defaut=10),
+           PROJ_MESU       =SIMP(statut='f',typ=(mode_gene,tran_gene,harm_gene),max=1),
+           MODE_MESURE     =SIMP(statut='f',typ=( mode_meca,base_modale) ),
+         ),
+         EXTERIEUR       =FACT(statut='f',
+           regles=(AU_MOINS_UN('NOEUD','GROUP_NO'),),
+           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+         ),
+         RIGI_MECA       =FACT(statut='f',
+         ),
+         MASS_MECA       =FACT(statut='f',
+         ),
+         CAS_CHARGE      =FACT(statut='f',max='**',
+           NOM_CAS         =SIMP(statut='o',typ='TXM'),
+           SUIV            =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
+           CHARGE          =SIMP(statut='f',typ=char_meca,validators=NoRepeat(),max='**'),
+           INST            =SIMP(statut='f',typ='R',defaut=0.E+0),
+         ),
+
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2004  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 THOMASSON D.THOMASSON
 #
-     b_plan_experience=BLOC( condition = "PLAN_EXPERIENCE=='OUI'",
+from Macro.impr_oar_ops import impr_oar_ops
+IMPR_OAR =MACRO(nom="IMPR_OAR",op= impr_oar_ops, sd_prod=None,
+               fr="Impression au format OAR",
+               UIinfo={"groupes":("Impression",)},
+   TYPE_CALC = SIMP(statut='o', typ='TXM',into=('COMPOSANT', 'MEF', 'TUYAUTERIE')),
+   b_composant =BLOC(condition = "TYPE_CALC == 'COMPOSANT' ",
+      regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')),
+      DIAMETRE = SIMP(statut='o', typ='R'),
+      ORIGINE  = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')),
+      COEF_U   = SIMP(statut='f', typ='R',   defaut=1.0),
+      ANGLE_C  = SIMP(statut='o', typ='R',   defaut=0.0),
+      REVET    = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')),
+      RESU_MECA = FACT(statut='f', max='**',
+         NUM_CHAR  = SIMP(statut='o', typ='I'),
+         TYPE      = SIMP(statut='o', typ='TXM', defaut='FX', into=('FX', 'FY', 'FZ', 'MX', 'MY', 'MZ', 'PRE')),
+         TABLE     = SIMP(statut='o', typ=table_sdaster),
+         TABLE_S   = SIMP(statut='f', typ=table_sdaster)),
+      RESU_THER = FACT(statut='f', max='**',
+         NUM_TRAN  = SIMP(statut='o', typ='I'),
+         TABLE_T   = SIMP(statut='o', typ=table_sdaster),
+         TABLE_TEMP= SIMP(statut='o', typ=table_sdaster),
+         TABLE_S   = SIMP(statut='f', typ=table_sdaster),
+         TABLE_ST  = SIMP(statut='f', typ=table_sdaster)),
+         ),
+   b_mef = BLOC(condition = "TYPE_CALC == 'MEF' ",
+      regles = (AU_MOINS_UN('RESU_MECA','RESU_THER')),
+      DIAMETRE = SIMP(statut='o', typ='R'),
+      ORIGINE  = SIMP(statut='o', typ='TXM', defaut='INTERNE', into=('INTERNE', 'EXTERNE')),
+      COEF_U   = SIMP(statut='f', typ='R',   defaut=1.0),
+      RESU_MECA = FACT(statut='f', max='**',
+         AZI       = SIMP(statut='o', typ='R'),
+         TABLE_T   = SIMP(statut='o', typ=table_sdaster),
+         TABLE_F   = SIMP(statut='o', typ=table_sdaster),
+         TABLE_P   = SIMP(statut='o', typ=table_sdaster),
+         TABLE_CA  = SIMP(statut='o', typ=table_sdaster)),
+      RESU_THER=FACT(statut='f', max='**',
+         AZI       = SIMP(statut='o', typ='R'),
+         NUM_CHAR  = SIMP(statut='o', typ='I'),
+         TABLE_T   = SIMP(statut='o', typ=table_sdaster),
+         TABLE_TI  = SIMP(statut='o', typ=table_sdaster)),
+      ),
+   b_tuyauterie = BLOC(condition = "TYPE_CALC == 'TUYAUTERIE' ",
+      RESU_MECA = FACT(statut='o', max='**',
+         NUM_CHAR  = SIMP(statut='o', typ='I'),
+         TABLE     = SIMP(statut='o', typ=table_sdaster),
+         MAILLAGE  = SIMP(statut='o', typ=maillage_sdaster)),
+         ),
+   UNITE = SIMP(statut='f',typ='I',defaut=38),
+   AJOUT = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')),
+   );
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2004  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.
 #
-       ALPHA         = SIMP(statut="f",typ="R",defaut=2.0E-1,
-                            fr="Plan d'expérience : maille du plan de type composite centré.",
-                            ang="Experiment plane : mesh centered composite."),
+# 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.
 #
-       BETA          = SIMP(statut="f",typ="R",defaut=4.0E-1,
-                            fr="Plan d'expérience : maille du plan de type factoriel.",
-                            ang="Experiment plane : mesh factor."),
+# 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 GENIAUT S.GENIAUT
+
+DEFI_FISS_XFEM=OPER(nom="DEFI_FISS_XFEM",op=  41,sd_prod=fiss_xfem,reentrant='n',
+            UIinfo={"groupes":("Modélisation",)},
+               fr="Définition des caratéristiques d'une fissure avec X-FEM",
+
+    MODELE                =SIMP(statut='o',typ=modele_sdaster),
+    DEFI_FISS             =FACT(statut='o',max=01,
+      regles              =(UN_PARMI('GROUP_MA_FISS','FONC_LT','FORM_FISS'),
+                            ENSEMBLE('FONC_LT','FONC_LN'),
+                            ENSEMBLE('GROUP_MA_FISS','GROUP_MA_FOND')),
+      FONC_LT             =SIMP(statut='f',typ=(fonction_sdaster,formule) ),
+      FONC_LN             =SIMP(statut='f',typ=(fonction_sdaster,formule) ),
+      GROUP_MA_FISS       =SIMP(statut='f',typ=grma,max=01),
+      GROUP_MA_FOND       =SIMP(statut='f',typ=grma),
+      FORM_FISS           =SIMP(statut='f',typ='TXM',into=("ELLIPSE",) ),
+      b_ellipse           =BLOC(condition = "FORM_FISS == 'ELLIPSE' ",fr="Paramères de la fissure elliptique",           
+           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),
+           CENTRE         =SIMP(statut='o',typ='R',min=3,max=3),
+           VECT_X         =SIMP(statut='o',typ='R',min=3,max=3),
+           VECT_Y         =SIMP(statut='o',typ='R',min=3,max=3),
+           COTE_FISS      =SIMP(statut='f',typ='TXM',defaut="IN",into=("IN","OUT",) ),    ),
+    ),
+    GROUP_MA_ENRI         =SIMP(statut='o',typ=grma,max=01),
+    RAYON_ENRI            =SIMP(statut='f',typ='R',defaut=0.E+0),
+    ORIE_FOND             =FACT(statut='f',max=01,
+      PFON_INI            =SIMP(statut='o',typ='R',max=03),
+      VECT_ORIE           =SIMP(statut='o',typ='R',max=03),
+      PT_ORIGIN           =SIMP(statut='o',typ='R',max=03),
+    ),
+    INFO                  =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,3,) ),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.                                 
 #
-     ),
+# 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.                            
 #
-# 6.2.5. ==> Les tests
-# 6.2.5.1. ==> Test de la sphere
+# 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 GNICOLAS G.NICOLAS
+
+from Macro.macr_adap_mail_ops import macr_adap_mail_ops
+
+MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops,
+                     docu="U7.03.02-b",UIinfo={"groupe":("Maillage",)},
+                     fr="Donner des informations sur un maillage.",
+                     ang="To give information about a mesh.",
 #
-     T_SPHERE = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
-                     fr="Test de la sphère.",
-                     ang="Sphere test."),
+# 1. Le niveau d'information
 #
-     b_test_de_la_sphere=BLOC( condition = "T_SPHERE=='OUI'",
+  INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
 #
-       METHODE_TEST = SIMP(statut="f",typ="TXM",defaut="GAUSSIENNE",
-                           into=("GAUSSIENNE","PARAMETRIQUE","REJECTION"),
-                           fr="Type de méthode.",
-                           ang="Method."),
+# 2. Version de HOMARD
 #
-       NB_POINT     = SIMP(statut="f",typ="I",max=1,defaut=60,
-                           fr="Nombre de points de la sphere.",
-                           ang="Number of points over the sphere.")
-     ),
+  VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V8_11",
+                        into=("V8_11", "V8_N", "V8_N_PERSO"),
+                        fr="Version de HOMARD",
+                        ang="HOMARD release"),
 #
-# 6.2.5.2. ==> Test du maximum fort
+# 3. Langue des messages issus de HOMARD
 #
-     T_MAXIMUM_FORT = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
-                           fr="Test du maximum fort.",
-                           ang="Strong maximum test."),
+  LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
+                into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
+                fr="Langue des messages issus de HOMARD.",
+                ang="Language for HOMARD messages." ),
 #
-     b_test_du_maximum_fort=BLOC( condition = "T_MAXIMUM_FORT=='OUI'",
+# 4. Le nom du maillage a analyser
 #
-       COS_LIM = SIMP(statut="f",typ="R",max=1,defaut=1.0,
-                      fr="Cosinus de l'angle d'exclusion.",
-                      ang="Cosine of angle of exclusion."),
+  MAILLAGE = SIMP(statut='o',typ=maillage_sdaster,
+                  fr="Maillage à analyser.",
+                  ang="Mesh to be checked." ),
 #
-       DPROB   = SIMP(statut="f",typ="R",max=1,defaut=4.3E-1,
-                      fr="Fraction d'iso-densité de probabilité de défaillance.",
-                      ang="Fraction.")
+# 5. Suivi d'une frontiere
 #
-     ),
+  MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
+                           fr="Maillage de la frontiere à suivre",
+                           ang="Boundary mesh" ),
 #
-# 6.2.5.3. ==> Test du hessien
+  b_frontiere = BLOC( condition = " MAILLAGE_FRONTIERE != None " ,
+                      fr="Information complémentaire sur la frontière",
+                      ang="Further information about boundary",
 #
-     T_HESSIEN = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
-                      fr="Test du hessien.",
-                      ang="Hessian test."),
+    GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
+                    fr="Groupes de mailles définissant la frontière",
+                    ang="Mesh groups which define the boundary" ),
 #
-# 6.2.6. ==> Les correlations entre les variables
+                    ) ,
 #
-     MATRICE = SIMP(statut="f",typ="R",max="**",
-                    fr="Matrice de corrélation entre les variables.",
-                    ang="Correlation matrix."), 
+# 6. Les options ; par defaut, on controle tout
+# 6.1. Nombre de noeuds et elements
 #
-### en attente de résolution de AL 2004-006 (2/2)   ),
+  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" ),
 #
-#====
-# 7. Definition des paramètres
-#====
+# 6.2. Determination de la qualite des elements du maillage
 #
-   VARIABLE = FACT(statut="o",min=1,max="**",
+  QUALITE        = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
+                        fr="Qualité du maillage",
+                        ang="Mesh quality" ),
 #
-# 7.1. ==> Nom de la variable
+# 6.3. Connexite du maillage
 #
-       NOM = SIMP(statut="o",typ="TXM",
-                  fr="Nom de la variable, identique au nom de concept PARA_SENSI.",
-                  ang="Name of the variable, identical to the name of the PARA_SENSI conceipt."),
+  CONNEXITE      = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
+                        fr="Connexité du maillage.",
+                        ang="Mesh connexity." ),
 #
-# 7.2. ==> Loi de distribution
+# 6.4. Taille des sous-domaines du maillage
 #
-       LOI = SIMP(statut="o",typ="TXM",
-                  into=("UNIFORME","NORMALE","LOGNORMALE","NORMALE_TRONQUEE"),
-                  fr="Choix de la loi",
-                  ang="Law."),
+  TAILLE         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
+                        fr="Tailles des sous-domaines du maillage.",
+                        ang="Sizes of mesh sub-domains." ),
 #
-# 7.2.1. ==> Loi normale
+# 6.5. Controle de la non-interpenetration des elements
 #
-       b_normale=BLOC(condition="LOI=='NORMALE'",
+  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." ),
 #
-         VALE_MOY   = SIMP(statut="o",typ="R",max=1,
-                               fr="Valeur moyenne.",
-                               ang="Mean value."),
+# 7. Gestion des éléments autres que ceux compatibles avec HOMARD
+#       "REFUSER" : ils sont refuses (defaut)
+#       "IGNORER" : ils sont ignorés
 #
-         ECART_TYPE = SIMP(statut="o",typ="R",max=1,
-                               fr="Ecart type.",
-                               ang="Standard deviation."),
+  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" ),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.                                                  
+#                                                                       
+# 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
+
+from Macro.calc_precont_ops import calc_precont_ops
+
+
+# ===========================================================================
+#           CATALOGUE DE LA MACRO "CALC_PRECONT"
+#           -----------------------------------------
+# USAGE :
+# 
+#  
+# ===========================================================================
+
+CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
+                   fr="Imposer la tension définie par le BPEL dans les cables",
+                   reentrant='f',UIinfo={"groupe":("Modélisation",)},
+         reuse =SIMP(statut='f',typ='evol_noli'),
+         MODELE           =SIMP(statut='o',typ=modele_sdaster),
+         CHAM_MATER       =SIMP(statut='o',typ=cham_mater),
+         CARA_ELEM        =SIMP(statut='o',typ=cara_elem),
+         CABLE_BP         =SIMP(statut='o',typ=cabl_precont,validators=NoRepeat(),max='**'),
+         CABLE_BP_INACTIF =SIMP(statut='f',typ=cabl_precont,validators=NoRepeat(),max='**'),
+         INCREMENT        =FACT(statut='o',
+           LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
+           INST_INIT       =SIMP(statut='f',typ='R'),
+           INST_FIN        =SIMP(statut='f',typ='R'),
+           PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
+           # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
+           SUBD_METHODE    =SIMP( statut='f',typ='TXM',
+              into =("AUCUNE","UNIFORME","EXTRAPOLE"),
+              defaut="AUCUNE",
+              fr="Méthode de subdivision des pas de temps en cas de non-convergence"
+           ),
+           b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
+             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
+             SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
+                fr="Coefficient multiplicateur de la 1ère subdivision"),
+             SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
+                fr="Nombre de subdivision d'un pas de temps"),
+             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
+                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
+             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
+                fr="Pas de temps en dessous duquel on ne subdivise plus"),
+           ),
+           b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
+             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
+             SUBD_OPTION    =SIMP(statut='f',typ='TXM',
+                into =("IGNORE_PREMIERES","GARDE_DERNIERES",), 
+                defaut="IGNORE_PREMIERES",
+                fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
+             SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
+                fr="Les n premières itérations sont ignorées pour l'extrapolation"),
+             SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
+                fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
+             SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
+                fr="Nombre de subdivision d'un pas de temps en cas divergence"),
+             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
+                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
+             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
+                fr="Pas de temps en dessous duquel on ne subdivise plus"),
+             SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
+                fr="% itération autorisée en plus"),
+           ),
+           # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS 
+         ),
+
+         NEWTON          =FACT(statut='d',
+            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
+            PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
+            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
+            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
+            REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
+            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
+          ),
+         RECH_LINEAIRE   =FACT(statut='f',
+           RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
+           ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
+         ),
+          CONVERGENCE     =FACT(statut='d',
+            RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
+            RESI_GLOB_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),
+            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
+          ),
+          ETAT_INIT       =FACT(statut='f',
+            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',),
+                    EXCLUS('EVOL_NOLI','DEPL',),
+                    EXCLUS('EVOL_NOLI','SIGM',),
+                    EXCLUS('EVOL_NOLI','VARI',),
+                    EXCLUS('NUME_ORDRE','INST'), ),
+            DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
+            SIGM            =SIMP(statut='f',typ=(carte_sdaster,cham_elem)),
+            VARI            =SIMP(statut='f',typ=cham_elem),
+            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
+            NUME_ORDRE      =SIMP(statut='f',typ='I'),
+            INST            =SIMP(statut='f',typ='R'),
+            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
+            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+            NUME_DIDI       =SIMP(statut='f',typ='I'),
+            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
+          ),
+          SOLVEUR         =FACT(statut='d',
+            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
+            b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
+              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
+            ),
+            b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
+              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
+            ),
+            b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
+                                    fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
+              NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
+              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") ),
+              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
+              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
+            ),
+            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+          ),
+          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
+          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
+
+          EXCIT           =FACT(statut='o',max='**',
+            CHARGE          =SIMP(statut='o',typ=char_meca),
+          ),
+
+         COMP_INCR       =C_COMP_INCR(),
+  )  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.                                                  
+#                                                                       
+# 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
+
+DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,reentrant='n',
+            fr="Définit les profils initiaux de tension d'une structure en béton le long des cables de précontrainte"
+               +" (utilisée par la macro DEFI_CABLE_BP)",
+            UIinfo={"groupes":("Modélisation",)},
+         MODELE          =SIMP(statut='o',typ=modele_sdaster ),
+         CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
+         CARA_ELEM       =SIMP(statut='o',typ=cara_elem ),
+         GROUP_MA_BETON  =SIMP(statut='o',typ=grma,max='**'),
+         DEFI_CABLE      =FACT(statut='o',max='**',
+           regles=(UN_PARMI('MAILLE','GROUP_MA'),
+                   UN_PARMI('NOEUD_ANCRAGE','GROUP_NO_ANCRAGE'),),
+           MAILLE          =SIMP(statut='f',typ=ma,min=2,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma),
+           NOEUD_ANCRAGE   =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=2),
+           GROUP_NO_ANCRAGE=SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
+           GROUP_NO_FUT    =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=2),
+         ),
+         TYPE_ANCRAGE    =SIMP(statut='o',typ='TXM',min=2,max=2,into=("ACTIF","PASSIF") ),
+         TENSION_INIT    =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
+         RECUL_ANCRAGE   =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
+         RELAXATION      =FACT(statut='f',min=0,
+           R_J             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
+         ),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
+         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
+         CONE            =FACT(statut='f',min=0,
+           RAYON             =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
+           LONGUEUR          =SIMP(statut='o',typ='R',val_min=0.E+0, defaut=0.E+0 ),  
+           PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
+         ),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.                                 
 #
-       ),
+# 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.                            
 #
-# 7.2.2. ==> Loi lognormale
+# 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.macro_elas_mult_ops import macro_elas_mult_ops
+
+def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ):
+  if isinstance(NUME_DDL,CO) :
+    self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
+  else:
+    self.type_sdprod(NUME_DDL,NUME_DDL.__class__)
+  if CAS_CHARGE[0]['NOM_CAS']      != None : return mult_elas
+  if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas
+  raise AsException("type de concept resultat non prevu")
+
+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', ),),
+         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='**'),
+         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'),),
+           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='**'),
+           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",
+                                       "EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL","EPSP_ELNO","EPSP_ELGA",
+                                       "ECIN_ELEM_DEPL","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","SOUR_ELGA_ELEC",
+                                       "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG","INTE_ELNO_ACTI",
+                                       "INTE_ELNO_REAC","SIGM_NOZ1_ELGA","ERZ1_ELEM_SIGM","SIGM_NOZ2_ELGA",
+                                       "ERZ2_ELEM_SIGM","VNOR_ELEM_DEPL","ERRE_ELNO_ELEM","SIRE_ELNO_DEPL",
+                                       "ERRE_ELEM_SIGM","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","EQUI_ELNO_EPSI",
+                                       "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM",
+                                       "EQUI_ELGA_EPSI","FORC_NODA","REAC_NODA","EPSI_NOEU_DEPL","SIGM_NOEU_DEPL",
+                                       "EFGE_NOEU_DEPL","EQUI_NOEU_SIGM","EQUI_NOEU_EPSI","FLUX_NOEU_TEMP") ),
+           NUME_COUCHE     =SIMP(statut='f',typ='I',defaut=1),
+           NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY")),
+           SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
+           VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster),
+         ),
+         SOLVEUR         =FACT(statut='d',
+           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ),
+           b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",
+                                    fr="Paramètres de la méthode multi frontale",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
+           ),
+           b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
+            ),
+           b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
+                                   fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
+             NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
+             STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           ),
+         ),
+         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
+# ======================================================================
+# 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.                                                  
+#                                                                       
+# 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 LEFEBVRE J.P.LEFEBVRE
+def DEFIC_prod(self,ACTION,UNITE,**args):
+  if ACTION == "ASSOCIER" or ACTION == "RESERVER":
+    if UNITE != None :
+      return
+    else :
+      return entier
+  elif ACTION == "LIBERER"  :
+    return
+  else :
+    raise AsException("ACTION non prevue : %s" % ACTION)
+
+DEFI_FICHIER=MACRO(nom="DEFI_FICHIER",op=ops.build_DEFI_FICHIER,sd_prod=DEFIC_prod,reentrant='n',
+                  UIinfo={"groupes":("Gestion du travail",)},
+                  fr="Ouvre ou ferme un fichier associé à un numéro d'unité logique",
+
+            ACTION        =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER","RESERVER"),defaut="ASSOCIER"),
+
+            b_associer    =BLOC(condition = "ACTION == 'ASSOCIER'",
+                                fr="Paramètres pour l'ouverture du fichier",
+                                regles=(AU_MOINS_UN('FICHIER','UNITE'),),
+               UNITE      =SIMP(statut='f',typ='I' ,val_min=1),
+               FICHIER    =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
+               TYPE       =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"),
+
+               b_type_ascii  =BLOC(condition = "TYPE == 'ASCII'",fr="Paramètres pour le type ASCII",
+                  ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"),
+               ),
+               b_type_autre  =BLOC(condition = "TYPE != 'ASCII'",fr="Paramètres pour les types BINARY et LIBRE",
+                  ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"),
+               ),
+            ),
+
+            b_reserver    =BLOC(condition = "ACTION == 'RESERVER'",
+                                fr="Paramètres pour la réservation de l'unité du fichier",
+                                regles=(AU_MOINS_UN('FICHIER','UNITE'),),
+               UNITE      =SIMP(statut='f',typ='I' ,val_min=1),
+               FICHIER    =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
+               TYPE       =SIMP(statut='f',typ='TXM',into=("ASCII",),defaut="ASCII"),
+               ACCES      =SIMP(statut='f',typ='TXM',into=("APPEND",),defaut="APPEND"),
+            ),
+
+            b_liberer    =BLOC(condition = "ACTION == 'LIBERER'",
+                               fr="Paramètres pour la fermeture du fichier",
+                               regles=(UN_PARMI('FICHIER','UNITE'),),
+                  UNITE         =SIMP(statut='f',typ='I' ,val_min=1),
+                  FICHIER   =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
+           ),
+
+           INFO          =SIMP(statut='f',typ='I',into=(1,2) ),           
+           )
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.                                 
 #
-       b_lognormale=BLOC(condition="LOI=='LOGNORMALE'",
+# 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.                            
 #
-         VALE_MIN       = SIMP(statut="o",typ="R",max=1,
-                                   fr="Valeur minimale.",
-                                   ang="Minimal value."),
+# 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 N.GREFFET
+
+from Macro.macro_matr_ajou_ops import macro_matr_ajou_ops
+
+def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,FORC_AJOU,**args):
+  self.type_sdprod(MATR_AMOR_AJOU,matr_asse_gene_r)
+  self.type_sdprod(MATR_MASS_AJOU,matr_asse_gene_r)
+  self.type_sdprod(MATR_RIGI_AJOU,matr_asse_gene_r)
+  if FORC_AJOU != None:
+    for m in FORC_AJOU:
+      self.type_sdprod(m['VECTEUR'],vect_asse_gene)
+
+  return None
+
+MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=macro_matr_ajou_ops,sd_prod=macro_matr_ajou_prod,
+            UIinfo={"groupes":("Matrices/vecteurs",)},
+            fr="Calculer de facon plus condensée qu'avec CALC_MATR_AJOU des matrices de masse, d'amortissement"
+              +" ou de rigidité ajoutés",
+      regles=(AU_MOINS_UN('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
+              AU_MOINS_UN('MATR_MASS_AJOU','MATR_AMOR_AJOU','MATR_RIGI_AJOU'),
+              EXCLUS('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
+              EXCLUS('MONO_APPUI','MODE_STAT',),
+             ),
+         MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
+         GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma),
+         GROUP_MA_INTERF =SIMP(statut='o',typ=grma),
+         MODELISATION    =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")),
+         FLUIDE          =FACT(statut='o',max='**',
+           RHO             =SIMP(statut='o',typ='R'),
+           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
+           GROUP_MA        =SIMP(statut='f',typ=grma),
+           MAILLE          =SIMP(statut='f',typ=ma),
+         ),
+         DDL_IMPO        =FACT(statut='o',max='**',
+           regles=(UN_PARMI('NOEUD','GROUP_NO'),
+                   UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),),
+           NOEUD           =SIMP(statut='f',typ=no),
+           GROUP_NO        =SIMP(statut='f',typ=grno),
+           PRES_FLUIDE     =SIMP(statut='f',typ='R'),
+           PRES_SORTIE     =SIMP(statut='f',typ='R'),
+         ),
+         ECOULEMENT      =FACT(statut='f',
+           GROUP_MA_1      =SIMP(statut='o',typ=grma),
+           GROUP_MA_2      =SIMP(statut='o',typ=grma),
+           VNOR_1          =SIMP(statut='o',typ='R'),
+           VNOR_2          =SIMP(statut='f',typ='R'),
+           POTENTIEL       =SIMP(statut='f',typ=evol_ther),
+         ),
+         MODE_MECA       =SIMP(statut='f',typ=mode_meca),
+         DEPL_IMPO       =SIMP(statut='f',typ=cham_no_sdaster),
+         MODELE_GENE     =SIMP(statut='f',typ=modele_gene),
+         NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene),
+         DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.0E-2),
+         MATR_MASS_AJOU  =SIMP(statut='f',typ=CO,),
+         MATR_RIGI_AJOU  =SIMP(statut='f',typ=CO,),
+         MATR_AMOR_AJOU  =SIMP(statut='f',typ=CO,),
+         MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",),),
+         MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),),
+         FORC_AJOU       =FACT(statut='f',max='**',
+           DIRECTION     =SIMP(statut='o',typ='R',max=3),
+           NOEUD         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+           GROUP_NO      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+           VECTEUR       =SIMP(statut='o',typ=CO),
+         ),
+         SOLVEUR         =FACT(statut='d',
+           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
+           b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
+           ),
+           b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
+           ),
+           b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
+                                   fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
+             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") ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
+             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
+           ),
+         ),
+         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
+         NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
+         AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
+)
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.
 #
-         VALE_MOY       = SIMP(statut="f",typ="R",max=1,
-                                   fr="Valeur moyenne dans l'espace de la loi normale.",
-                                   ang="Mean value in the space of the normal law."),
+# 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.
 #
-         ECART_TYPE     = SIMP(statut="f",typ="R",max=1,
-                                   fr="Ecart type dans l'espace de la loi normale.",
-                                   ang="Standard deviation in the space of the normal law."),
+# 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 PELLET J.PELLET
+
+from Macro.macro_matr_asse_ops import macro_matr_asse_ops
+
+def macro_matr_asse_prod(self,NUME_DDL,MATR_ASSE,**args):
+  if not MATR_ASSE:  raise AsException("Impossible de typer les concepts resultats")
+  if not NUME_DDL :  raise AsException("Impossible de typer les concepts resultats")
+  if isinstance(NUME_DDL,CO) :
+    self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
+  else:
+    self.type_sdprod(NUME_DDL,NUME_DDL.__class__)
+  for m in MATR_ASSE:
+    opti=m['OPTION']
+
+    if opti in ( "RIGI_MECA","RIGI_FLUI_STRU","RIGI_MECA_LAGR" ,
+       "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA",
+       "AMOR_MECA","IMPE_MECA","MASS_ID_MDEP_R","MASS_ID_MDNS_R",
+       "ONDE_FLUI","MASS_MECA_DIAG","MECA_GYRO" ) : t=matr_asse_depl_r
+
+    if opti in ( "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) : t=matr_asse_pres_c
+
+    if opti in ( "RIGI_THER","MASS_THER","RIGI_THER_CONV" ,
+       "RIGI_THER_CONV_D","MASS_ID_MTEM_R","MASS_ID_MTNS_R",) : t=matr_asse_temp_r
+
+    if opti == "RIGI_MECA_HYST"   : t= matr_asse_depl_c
+
+    self.type_sdprod(m['MATRICE'],t)
+  return None
+
+MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops,
+            UIinfo={"groupes":("Matrices/vecteurs",)},
+                      sd_prod=macro_matr_asse_prod,
+                      fr="Calcul des matrices assemblées (rigidité, masse, amortissement,...) ",
+         MODELE          =SIMP(statut='o',typ=modele_sdaster),
+         CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
+         INST            =SIMP(statut='f',typ='R',defaut=0.),
+         CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
+         CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'),
+         CHAR_CINE       =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ),
+         NUME_DDL        =SIMP(statut='o',typ=(nume_ddl_sdaster,CO)),
+         SOLVEUR         =FACT(statut='d',
+           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
+         b_mult_front    =BLOC(condition="METHODE=='MULT_FRONT'",fr="Paramètres associés à la méthode multifrontale",
+           RENUM           =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ),
+         ),
+         b_ldlt          =BLOC(condition="METHODE=='LDLT'",fr="Paramètres associés à la méthode LDLT",
+           RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
+         ),
+         b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
+           RENUM         =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
+         ),
+         b_gcpc          =BLOC(condition="METHODE=='GCPC'",fr="Paramètres associés à la méthode gradient conjugué",
+           RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
+         ),
+         ),
+
+         MATR_ASSE       =FACT(statut='o',max='**',
+             MATRICE         =SIMP(statut='o',typ=CO),
+             OPTION          =SIMP(statut='o',typ='TXM',
+                                   into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG",
+                                         "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA",
+                                         "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU",
+                                         "RIGI_ROTA","RIGI_GEOM","RIGI_MECA_LAGR","MECA_GYRO",
+                                         "RIGI_THER","MASS_THER",
+                                         "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",
+                                         "MASS_ID_MTEM_R","MASS_ID_MTNS_R","MASS_ID_MDEP_R","MASS_ID_MDNS_R",)
+                                   ),
+
+             b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'",
+               MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
+             ),
+
+             b_rigi_geom = BLOC( condition = "OPTION=='RIGI_GEOM'",
+               SIEF_ELGA       =SIMP(statut='o',typ=cham_elem),
+               MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
+             ),
+
+             b_rigi_meca_lagr = BLOC( condition = "OPTION=='RIGI_MECA_LAGR'",
+               THETA           =SIMP(statut='o',typ=theta_geom),
+               PROPAGATION     =SIMP(statut='f',typ='R'),
+             ),
+
+             b_rigi_ther = BLOC( condition = "OPTION=='RIGI_THER'",
+               MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
+             ),
+
+         ), # fin MATR_ASSE
+
+         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 
+#            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.                                 
 #
-         VALE_MOY_PHY   = SIMP(statut="f",typ="R",max=1,
-                                   fr="Valeur moyenne dans l'espace physique.",
-                                   ang="Mean value in the physical space."),
+# 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.                            
 #
-         ECART_TYPE_PHY = SIMP(statut="f",typ="R",max=1,
-                                   fr="Ecart type dans l'espace physique.",
-                                   ang="Standard deviation in the physical space."),
+# 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 DEVESA G.DEVESA
+
+from Macro.macro_miss_3d_ops import macro_miss_3d_ops
+
+MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=macro_miss_3d_ops,
+            fr="Préparation des données puis exécution du logiciel MISS3D",
+            UIinfo={"groupes":("Matrices/vecteurs",)},
+         OPTION          =FACT(statut='o',
+           regles=(UN_PARMI('TOUT','MODULE'),),
+           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
+           MODULE          =SIMP(statut='f',typ='TXM',into=("PRE_MISS","MISS_EVOL","MISS_IMPE")),
+         ),
+         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"),
+         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('FREQ_MIN','FREQ_MAX','FREQ_PAS'),
+                   PRESENT_PRESENT('CONTR_NB','CONTR_LISTE'),
+                   PRESENT_PRESENT('LFREQ_NB','LFREQ_LISTE'),
+                   PRESENT_PRESENT('OFFSET_MAX','OFFSET_NB'),
+                   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'),
+           Z0              =SIMP(statut='f',typ='R'), 
+           SURF            =SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"),
+           RFIC            =SIMP(statut='f',typ='R'),
+           FICH_RESU_IMPE  =SIMP(statut='f',typ='TXM'),
+           FICH_RESU_FORC  =SIMP(statut='f',typ='TXM'),
+           TYPE            =SIMP(statut='f',typ='TXM',into=("BINAIRE","ASCII",),defaut="ASCII"),
+           DREF            =SIMP(statut='f',typ='R'),
+           ALGO            =SIMP(statut='f',typ='TXM',into=("DEPL","REGU")),
+           OFFSET_MAX      =SIMP(statut='f',typ='R'),
+           OFFSET_NB       =SIMP(statut='f',typ='I'),
+           SPEC_MAX        =SIMP(statut='f',typ='R'),
+           SPEC_NB         =SIMP(statut='f',typ='I'),
+           ISSF            =SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"),
+           FICH_POST_TRAI  =SIMP(statut='f',typ='TXM'),
+           CONTR_NB        =SIMP(statut='f',typ='I'),
+           CONTR_LISTE     =SIMP(statut='f',typ='R',max='**'),
+           LFREQ_NB        =SIMP(statut='f',typ='I'),
+           LFREQ_LISTE     =SIMP(statut='f',typ='R',max='**'),
+           DIRE_ONDE       =SIMP(statut='f',typ='R',max='**'),
+         ),
+)  ;
+#& MODIF COMMANDE  DATE 05/05/2008   AUTEUR NISTOR I.NISTOR 
+#            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.                                 
 #
-         regles=(AU_MOINS_UN("VALE_MOY"  ,"VALE_MOY_PHY"),
-                 AU_MOINS_UN("ECART_TYPE","ECART_TYPE_PHY"),
-                 EXCLUS  ("VALE_MOY"  ,"VALE_MOY_PHY"),
-                 EXCLUS  ("VALE_MOY"  ,"ECART_TYPE_PHY"),
-                 EXCLUS  ("ECART_TYPE","VALE_MOY_PHY"),
-                 EXCLUS  ("ECART_TYPE","ECART_TYPE_PHY")),
+# 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 NISTOR I.NISTOR
+
+from Macro.macro_mode_meca_ops import macro_mode_meca_ops
+
+MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=mode_meca,
+                     reentrant='n',fr="Lancer une succession de calculs de modes propres réels",
+            UIinfo={"groupes":("Résolution",)},
+         MATR_A          =SIMP(statut='o',typ=matr_asse_depl_r ),
+         MATR_B          =SIMP(statut='o',typ=matr_asse_depl_r ),
+         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
+#  ce mot cle ne devrait il pas etre dans calc_freq  
+         METHODE         =SIMP(statut='f',typ='TXM',defaut="SORENSEN",    
+                               into=("TRI_DIAG","JACOBI","SORENSEN",) ),
+         b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
+           PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
+           NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
+           PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
+           NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), 
+         ),
+         b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
+           PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
+           NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
+           PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
+           NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
+         ),
+         b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
+           PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),  
+           NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),  
+           PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ),
+         ),
+         OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",    
+                               into=("MODE_RIGIDE","SANS") ),
+         CALC_FREQ       =FACT(statut='d',min=0,
+           regles=(UN_PARMI('FREQ','FREQ_MAX'),
+                   PRESENT_PRESENT('FREQ_MIN','FREQ_MAX'),
+                   PRESENT_PRESENT('FREQ_MAX','NB_BLOC_FREQ'),
+                   EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
+           FREQ            =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max='**', ),  
+           FREQ_MIN        =SIMP(statut='f',typ='R' ),  
+           FREQ_MAX        =SIMP(statut='f',typ='R' ),  
+           NB_BLOC_FREQ    =SIMP(statut='f',typ='I' ),  
+           DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),  
+           COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
+           NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),  
+           NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),  
+           PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2 ),  
+           SEUIL_FREQ      =SIMP(statut='f',typ='R' ,defaut= 1.E-2 ),  
+           STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="NON" ,into=("OUI","NON") ),
+         ),
+         VERI_MODE       =FACT(statut='d',min=0,
+           STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6 ),  
+           PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3 ),  
+           STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+         ),
+         NORM_MODE       =FACT(statut='o',max='**',
+           NORME           =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA",    
+                                 into=("MASS_GENE","RIGI_GENE","EUCL",           
+                                       "EUCL_TRAN","TRAN","TRAN_ROTA") ),
+           INFO            =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ),
+         ),
+         FILTRE_MODE     =FACT(statut='f',
+           CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
+                                 into=("MASS_EFFE_UN","MASS_GENE") ),
+           SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
+         ),
+         IMPRESSION      =FACT(statut='d',
+           TOUT_PARA       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           CUMUL           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
+                                 into=("MASS_EFFE_UN","MASS_GENE",) ),
+         ),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.                                 
 #
-# 7.2.3. ==> Loi uniforme
+# 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.                            
 #
-       b_uniforme=BLOC(condition="LOI=='UNIFORME'",
+# 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 BOYERE E.BOYERE
+
+from Macro.macro_proj_base_ops import macro_proj_base_ops
+
+def macro_proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,**args ):
+  if MATR_ASSE_GENE != None:
+    for m in MATR_ASSE_GENE:
+      self.type_sdprod(m['MATRICE'],matr_asse_gene_r)
+  if VECT_ASSE_GENE != None:
+    for v in VECT_ASSE_GENE:
+      self.type_sdprod(v['VECTEUR'],vect_asse_gene)
+  return None
+
+MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=macro_proj_base_ops,
+         regles=(AU_MOINS_UN('MATR_ASSE_GENE','VECT_ASSE_GENE')),
+            UIinfo={"groupes":("Matrices/vecteurs",)},
+                      sd_prod=macro_proj_base_prod,
+         fr="Projection des matrices et/ou vecteurs assemblés sur une base (modale ou de RITZ)",
+         BASE            =SIMP(statut='o',typ=(mode_meca,mode_stat,base_modale,mode_gene) ),
+         NB_VECT         =SIMP(statut='f',typ='I',defaut= 9999),
+         PROFIL          =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("PLEIN","DIAG") ),
+         MATR_ASSE_GENE  =FACT(statut='f',max='**',
+           MATRICE         =SIMP(statut='o',typ=CO,),
+           regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE',),),
+           MATR_ASSE       =SIMP(statut='f',typ=matr_asse_depl_r),
+           MATR_ASSE_GENE  =SIMP(statut='f',typ=matr_asse_gene_r),
+         ),
+         VECT_ASSE_GENE  =FACT(statut='f',max='**',
+           VECTEUR         =SIMP(statut='o',typ=CO,),
+           regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE',),),
+           TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),
+           VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster),
+           VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene),
+         ),
+         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
+# ======================================================================
+# 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.                                 
 #
-         VALE_MIN = SIMP(statut="o",typ="R",max=1,
-                             fr="Valeur minimale.",
-                             ang="Minimal value."),
+# 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.                            
 #
-         VALE_MAX = SIMP(statut="o",typ="R",max=1,
-                             fr="Valeur maximale.",
-                             ang="Maximal value."),
+# 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 LEFEBVRE J.P.LEFEBVRE
+MAJ_CATA=PROC(nom="MAJ_CATA",op=20,
+            UIinfo={"groupes":("Gestion du travail",)},
+              fr="Compilation des catalogues de commandes et d'éléments",
+
+         ELEMENT         =FACT(statut='f',),
+
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.
 #
-       ),
+# 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.
 #
-# 7.2.4. ==> Loi normale tronquée
+# 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 PELLET J.PELLET
+MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas,
+                   fr="Résoudre un problème de mécanique statique linéaire",reentrant='f',
+            UIinfo={"groupes":("Résolution",)},
+         regles=(EXCLUS("INST","LIST_INST"),
+                 AU_MOINS_UN('CHAM_MATER','CARA_ELEM',),
+                 CONCEPT_SENSIBLE('ENSEMBLE'),),
+         MODELE          =SIMP(statut='o',typ=modele_sdaster),
+         CHAM_MATER      =SIMP(statut='f',typ=cham_mater,
+         fr="le CHAM_MATER est nécessaire, sauf si le modèle ne contient que des éléments discrets (modélisations DIS_XXX)",
+         ang="CHAM_MATER is compulsory, except if the model contains only discret elements (modelizations DIS_XXX)"),
+         CARA_ELEM       =SIMP(statut='f',typ=cara_elem,
+         fr="le CARA_ELEM est nécessaire dès que le modèle contient des éléments de structure : coques, poutres, ...",
+         ang="CARA_ELEM is compulsory as soon as the model contains structural elements : plates, beams, ..."),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+         EXCIT           =FACT(statut='o',max='**',
+           CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
+           FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
+         ),
+         INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
+         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
+         INST_FIN        =SIMP(statut='f',typ='R'),
+         OPTION          =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA_DEPL","SANS"),defaut="SIEF_ELGA_DEPL",max=1,
+             fr="seule option : contraintes aux points de Gauss. Utiliser CALC_ELEM pour les autres.",
+                          ),
+         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
+                               fr="Liste des paramètres de sensibilité.",
+                               ang="List of sensitivity parameters"),
+
+         SOLVEUR         =FACT(statut='d',
+         METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","FETI","MUMPS","PETSC") ),
+
+           b_feti          =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1",
+             PARTITION       =SIMP(statut='o',typ=sd_feti_sdaster),
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6,val_min=0.),
+             NMAX_ITER       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             REAC_RESI       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             TYPE_REORTHO_DD =SIMP(statut='f',typ='TXM',defaut="GSM",into=("SANS","GS","GSM","IGSM") ),
+             NB_REORTHO_DD   =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             NB_REORTHO_INST =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LUMPE",into=("LUMPE","SANS") ),
+             SCALING         =SIMP(statut='f',typ='TXM',defaut="MULT",into=("SANS","MULT") ),
+             VERIF_SDFETI    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+             TEST_CONTINU    =SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.),
+             INFO_FETI       =SIMP(statut='f',typ='TXM',defaut='FFFFFFFFFFFFFFFFFFFFFFFF'),
+             STOCKAGE_GI     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","CAL") ),
+             NB_SD_PROC0     =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             ACCELERATION_SM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           ),
+
+           b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
+           ),
+
+           b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
+           ),
+
+           b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' or METHODE == 'FETI' ",
+                                   fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
+             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") ),
+             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")),
+             PRETRAITEMENTS  =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
+             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,),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
+             PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
+                                   into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
+             PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             ),
+
+           b_petsc          =BLOC(condition = "METHODE == 'PETSC' ",fr="Paramètres de la méthode PETSC",
+             VARIANTE        =SIMP(statut='f',typ='TXM',into=("GMRES","BCGS","CR","CG","BICG","CHEBYCHEV",),defaut="GMRES" ),
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("ILU","SOR","BJACOBI"),defaut="ILU" ),
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-8),
+             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= -1 ),
+           ),
+         ),
+         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
+# ======================================================================
+# 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.                                 
 #
-       b_normale_tronquee=BLOC(condition="LOI=='NORMALE_TRONQUEE'",
+# 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.                            
 #
-         VALE_MOY   = SIMP(statut="o",typ="R",max=1,
-                               fr="Valeur moyenne de la loi normale complète.",
-                               ang="Mean value for the entire normal law."),
+# 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 BODEL C.BODEL
+MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op=  80,sd_prod=mode_cycl,
+                    fr="Calcul des modes propres d'une structure à répétitivité cyclique à partir"
+                        +" d'une base de modes propres réels",
+                    reentrant='n',
+            UIinfo={"groupes":("Résolution",)},
+         BASE_MODALE     =SIMP(statut='o',typ=base_modale ),
+         NB_MODE         =SIMP(statut='f',typ='I',defaut= 999 ),
+         NB_SECTEUR      =SIMP(statut='o',typ='I' ),
+         LIAISON         =FACT(statut='o',
+           DROITE          =SIMP(statut='o',typ='TXM' ),
+           GAUCHE          =SIMP(statut='o',typ='TXM' ),
+           AXE             =SIMP(statut='f',typ='TXM' ),
+         ),
+         VERI_CYCL       =FACT(statut='f',
+           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
+           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ),
+           DIST_REFE       =SIMP(statut='f',typ='R' ),
+         ),
+         CALCUL          =FACT(statut='o',
+           regles=(UN_PARMI('TOUT_DIAM','NB_DIAM'),),
+           TOUT_DIAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+           NB_DIAM         =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+           OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE"
+                                ,into=("PLUS_PETITE","CENTRE","BANDE") ),
+           b_centre      =BLOC(condition = "OPTION == 'CENTRE'",
+             FREQ            =SIMP(statut='o',typ='R',),
+           ),
+           b_bande       =BLOC(condition = "OPTION == 'BANDE'",
+             FREQ            =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2),
+           ),
+#  NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE                                
+           NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10 ),
+           PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 100. ),
+           PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
+           NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 50 ),
+         ),
+         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
+)  ;
+#& MODIF COMMANDE  DATE 05/05/2008   AUTEUR NISTOR I.NISTOR 
+#            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.                                 
 #
-         ECART_TYPE = SIMP(statut="o",typ="R",max=1,
-                               fr="Ecart type de la loi normale complète.",
-                               ang="Standard deviation for the entire normal law."),
+# 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.                            
 #
-         VALE_MIN   = SIMP(statut="o",typ="R",max=1,
-                               fr="Valeur minimale.",
-                               ang="Minimal value."),
+# 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 NISTOR I.NISTOR
+
+def mode_iter_inv_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
+  if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
+  if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
+  if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
+  if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
+  if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
+  raise AsException("type de concept resultat non prevu")
+
+MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op=  44,sd_prod=mode_iter_inv_prod
+                    ,fr="Calcul des modes propres par itérations inverses ; valeurs propres et modes réels ou complexes",
+                     reentrant='n',
+            UIinfo={"groupes":("Résolution",)},
+         regles=(CONCEPT_SENSIBLE('ENSEMBLE'),),
+         MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
+         MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
+         MATR_C          =SIMP(statut='f',typ=matr_asse_depl_r ),
+         TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",   
+                               into=("MODE_FLAMB","DYNAMIQUE"),fr="Type d analyse" ),
+         b_dynam         =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
+           CALC_FREQ       =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
+           
+             OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
+                                   fr="Choix de l option pour estimer les valeurs propres"  ),
+             FREQ            =SIMP(statut='o',typ='R',max='**'),
+             AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),     
+             NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),           
+             NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ),
+             PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ),
+             NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=0 ),
+             PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ),
+
+             NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
+             NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
+             PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
+             SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
+           ),
+         ),
+         b_flamb        =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
+           CALC_FREQ       =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
+           
+             OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
+                                 fr="Choix de l option pour estimer les valeurs propres"  ),
+             CHAR_CRIT       =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ),
+             NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),           
+             NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ),
+             PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ),
+             NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15 ),
+             PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ),
+           
+             NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
+             NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
+             PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
+             SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
+           ),
+         ),
+         CALC_MODE       =FACT(statut='d',min=0,fr="Choix des paramètres pour le calcul des vecteurs propres",
+           OPTION          =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ),
+           PREC            =SIMP(statut='f',typ='R',defaut= 1.E-5,val_min=0.E+0,fr="Précision de convergence" ),
+           NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ),
+         ),
+         VERI_MODE       =FACT(statut='d',min=0,
+           STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0,
+                                 fr="Valeur limite admise pour l ereur a posteriori des modes"  ),
+         ),
+         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
+                               fr="Liste des param\350tres de sensibilit\351.",
+                               ang="List of sensitivity parameters",
+         ),
+         b_sensibilite   =BLOC(condition = "SENSIBILITE != None",
+             CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
+             CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
+             EXCIT           =FACT(statut='f',max='**',),  # que pour NMDOME
+         ),
+         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
+         TITRE           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+)  ;
+#& MODIF COMMANDE  DATE 05/05/2008   AUTEUR NISTOR I.NISTOR 
+#            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.                                 
 #
-         VALE_MAX   = SIMP(statut="o",typ="R",max=1,
-                               fr="Valeur maximale.",
-                               ang="Maximal value."),
+# 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 NISTOR I.NISTOR
+
+def mode_iter_simult_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
+  if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
+  if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
+  if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
+  if AsType(MATR_A) == matr_asse_depl_c : return mode_meca_c
+  if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
+  if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
+  if AsType(MATR_A) == matr_asse_gene_c : return mode_gene
+
+  raise AsException("type de concept resultat non prevu")
+
+MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op=  45,sd_prod=mode_iter_simult_prod,
+                      fr="Calcul des modes propres par itérations simultanées ; valeurs propres et"
+                         +" modes propres réels ou complexes",
+                      reentrant='n',
+            UIinfo={"groupes":("Résolution",)},
+         regles=(CONCEPT_SENSIBLE('ENSEMBLE'),),
+         MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,
+                               matr_asse_gene_r,matr_asse_gene_c,matr_asse_pres_r ) ),
+         MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
+         MATR_C          =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
+         METHODE         =SIMP(statut='f',typ='TXM',defaut="SORENSEN",
+                               into=("TRI_DIAG","JACOBI","SORENSEN","QZ") ),
+         b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
+           PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
+           NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
+           PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
+           NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), 
+         ),
+         b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
+           PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
+           NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
+           PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
+           NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
+         ),
+         b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
+           PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),  
+           NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),  
+           PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ),
+         ),
+         b_qz =BLOC(condition = "METHODE == 'QZ'",
+           TYPE_QZ      =SIMP(statut='f',typ='TXM',defaut="QZ_SIMPLE",into=("QZ_QR","QZ_SIMPLE","QZ_EQUI") ),  
+         ),
+         TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",
+                               into=("MODE_FLAMB","DYNAMIQUE"),
+                               fr="Type d analyse" ),
+         OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"),
+                               fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ),
+
+         b_flamb         =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
+           CALC_FREQ       =FACT(statut='d',min=0,
+             OPTION       =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE","TOUT"),
+                                   fr="Choix de l option et par conséquent du shift du problème modal" ),
+             b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
+               NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
+             ),
+             b_centre      =BLOC(condition = "OPTION == 'CENTRE'",
+                                 fr="Recherche des valeurs propres les plus proches d une valeur donnée",
+               CHAR_CRIT       =SIMP(statut='o',typ='R',
+                                     fr="Charge critique autour de laquelle on cherche les charges critiques propres"),
+               NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
+             ),
+             b_bande       =BLOC(condition = "(OPTION == 'BANDE')",
+                                 fr="Recherche des valeurs propres dans une bande donnée",
+               CHAR_CRIT       =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2,
+                                     fr="Valeur des deux charges critiques délimitant la bande de recherche"),
+             ),           
+             APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"),
+                                   fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
+             regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
+             DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
+             COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
+             NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
+             NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
+             PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
+             SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
+           ),
+         ),
+
+         b_dynam        =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
+           CALC_FREQ       =FACT(statut='d',min=0,
+             OPTION      =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE","TOUT"),
+                                   fr="Choix de l option et par conséquent du shift du problème modal" ),
+             b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
+               NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
+             ),
+             b_centre       =BLOC(condition = "OPTION == 'CENTRE'",
+                                  fr="Recherche des valeurs propres les plus proches d une valeur donnée",
+               FREQ            =SIMP(statut='o',typ='R',
+                                     fr="Fréquence autour de laquelle on cherche les fréquences propres"),
+               AMOR_REDUIT     =SIMP(statut='f',typ='R',),
+               NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
+             ),
+             b_bande         =BLOC(condition = "(OPTION == 'BANDE')",
+                                   fr="Recherche des valeurs propres dans une bande donnée",
+               FREQ            =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2,
+                                     fr="Valeur des deux fréquences délimitant la bande de recherche"),
+             ),           
+             APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"),
+                                   fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
+             regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
+             DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
+             COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
+             NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
+             NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
+             PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
+             SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
+           ),
+         ),
+
+         VERI_MODE       =FACT(statut='d',min=0,
+           STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ),
+           SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0,
+                                 fr="Valeur limite admise pour l ereur a posteriori des modes" ),
+           STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+         ),
+         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
+                               fr="Liste des param\350tres de sensibilit\351.",
+                               ang="List of sensitivity parameters",
+         ),
+         b_sensibilite   =BLOC(condition = "SENSIBILITE != None",
+             CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
+             CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
+             EXCIT           =FACT(statut='f',max='**',),  # que pour NMDOME
+         ),
+         STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),        
+)  ;
+#& MODIF COMMANDE  DATE 05/05/2008   AUTEUR NISTOR I.NISTOR 
+#            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.                                 
 #
-# 7.3. ==> Paramètres de calcul
-# 7.3.1. ==> Soit on cherche le point de conception, soit on le connait deja
+# 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.                            
 #
-       regles=(EXCLUS("POINT_INI","POINT_CONCEPT"),
-               EXCLUS("POINT_REF","POINT_CONCEPT"),),
+# 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 NISTOR I.NISTOR
+
+def mode_stat_prod(MODE_STAT,FORCE_NODALE,PSEUDO_MODE,**args):
+ if (MODE_STAT != None)          : return mode_stat_depl
+ if (PSEUDO_MODE !=None)         : return mode_stat_acce
+ if (FORCE_NODALE != None)       : return mode_stat_forc
+ raise AsException("type de concept resultat non prevu")
+MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_stat_prod,
+                   fr="Calcul de modes statiques pour un déplacement, une force ou une accélération unitaire imposé",
+                   reentrant='n',
+            UIinfo={"groupes":("Résolution",)},
+         MATR_RIGI       =SIMP(statut='o',typ=matr_asse_depl_r ),
+         MATR_MASS       =SIMP(statut='f',typ=matr_asse_depl_r ),
+               regles=(UN_PARMI('MODE_STAT','FORCE_NODALE','PSEUDO_MODE'),),
+         MODE_STAT       =FACT(statut='f',max='**',
+           regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
+                   UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
+           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
+           NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
+           TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
+           AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
+           SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
+         ),
+         FORCE_NODALE    =FACT(statut='f',max='**',
+           regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
+                   UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
+           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",), ),
+           NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
+           TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",), ),
+           AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
+           SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
+         ),
+         PSEUDO_MODE       =FACT(statut='f',max='**',
+           regles=(UN_PARMI('AXE','DIRECTION','TOUT','NOEUD','GROUP_NO' ),),
+           AXE             =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=3),
+           DIRECTION       =SIMP(statut='f',typ='R',min=3,max=3),
+           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
+           NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
+           b_dir           =BLOC(condition = "DIRECTION != None",
+             NOM_DIR         =SIMP(statut='f',typ='TXM' ),),
+           b_cmp          =BLOC(condition="TOUT!= None or NOEUD!=None or GROUP_NO!=None",
+             regles=(UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
+             TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+             AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
+             SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'), 
+        ),
+         ),
+         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.LEFEBVRE 
+#            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.                                 
 #
-# 7.3.2. ==> Quand on cherche le point de conception, on peut préciser le départ de l'algorithme.
-#            Si on ne le fait pas, le programme prendra la valeur moyenne.
+# 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.                            
 #
-       POINT_INI = SIMP(statut="f",typ="R",max=1,
-                          fr="Point de démarrage de l'algorithme itératif.",
-                          ang="Initial point for iterative process."),
+# 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 ADOBES A.ADOBES
+MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca,
+                      reentrant='f',
+            fr="Définir la base modale d'une structure sous écoulement",
+            UIinfo={"groupes":("Matrices/vecteurs",)},
+#  la commande modi_base _modale : reentrant = f ou o                      
+         regles=(EXCLUS('AMOR_UNIF','AMOR_REDUIT', ),),
+         BASE            =SIMP(statut='o',typ=mode_meca ),
+         BASE_ELAS_FLUI  =SIMP(statut='o',typ=melasflu_sdaster ),
+         NUME_VITE_FLUI  =SIMP(statut='o',typ='I' ),
+         NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+         AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
+         AMOR_UNIF       =SIMP(statut='f',typ='R' ),
+         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+)  ;
+#& MODIF COMMANDE  DATE 06/05/2008   AUTEUR KHAM M.KHAM 
+#            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.                                 
 #
-# 7.3.3. ==> Quand on cherche le point de conception, on peut préciser un point de référence pour normaliser.
-#            Si on ne le fait pas, le programme prendra la valeur moyenne.
+# 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.                            
 #
-       POINT_REF = SIMP(statut="f",typ="R",max=1,
-                          fr="Point de référence de l'algorithme itératif.",
-                          ang="Reference point for iterative process."),
+# 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 PELLET J.PELLET
+MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
+                   fr="Effectuer des modifications sur un maillage existant: réorienter des mailles servant,"
+                      +" à l'application d'une pression, à la modélisation du contact,...",
+                   reentrant='o',
+            UIinfo={"groupes":("Maillage",)},
+      regles=(AU_MOINS_UN('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
+                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
+                       'TRANSLATION','ROTATION','MODI_BASE','ECHELLE','ORIE_SHB8','SYMETRIE',
+                       'ORIE_LIGNE',),
+              PRESENT_ABSENT('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
+                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
+                       'ORIE_LIGNE'),
+              PRESENT_ABSENT('DEFORME','ORIE_FISSURE','EQUE_PIQUA','ORIE_PEAU_2D',
+                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
+                       'ORIE_LIGNE'),
+              PRESENT_ABSENT('EQUE_PIQUA','ORIE_FISSURE','DEFORME','ORIE_PEAU_2D',
+                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
+                       'ORIE_LIGNE'),
+              PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_FISSURE','DEFORME','EQUE_PIQUA',
+                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
+                       'ORIE_LIGNE'),
+              PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
+                       'PLAQ_TUBE','MODI_MAILLE',),
+              PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
+                       'PLAQ_TUBE','MODI_MAILLE','ORIE_LIGNE'),
+              PRESENT_ABSENT('PLAQ_TUBE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
+                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE','ORIE_LIGNE'),
+              PRESENT_ABSENT('MODI_MAILLE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
+                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','ORIE_LIGNE'),
+              EXCLUS('EQUE_PIQUA','PLAQ_TUBE'),
+              EXCLUS('EQUE_PIQUA','TUBE_COUDE'),
+              EXCLUS('ROTATION','MODI_BASE'),
+              EXCLUS('SYMETRIE','ROTATION'),
+              EXCLUS('SYMETRIE','TRANSLATION'),
+              EXCLUS('SYMETRIE','MODI_BASE'),
+              EXCLUS('SYMETRIE','ECHELLE'),
+              ),
+         MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
+
+         ORIE_FISSURE    =FACT(statut='f',
+           GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
+         ),
+
+         DEFORME         =FACT(statut='f',
+           OPTION          =SIMP(statut='o',typ='TXM',into=("TRAN","TRAN_APPUI") ),
+           DEPL            =SIMP(statut='o',typ=cham_no_sdaster ),
+        b_deform        =BLOC(condition = "OPTION=='TRAN_APPUI'", 
+           GROUP_NO_APPUI = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),
+           GROUP_NO_STRU  = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),),
+         ),
+
+         EQUE_PIQUA      =FACT(statut='f',
+           GROUP_NO        =SIMP(statut='o',typ=grno),
+           E_BASE          =SIMP(statut='o',typ='R' ),
+           DEXT_BASE       =SIMP(statut='o',typ='R' ),
+           L_BASE          =SIMP(statut='o',typ='R' ),
+           L_CHANF         =SIMP(statut='o',typ='R' ),
+           TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")),
+           H_SOUD          =SIMP(statut='o',typ='R' ),
+           ANGL_SOUD       =SIMP(statut='o',typ='R' ),
+           JEU_SOUD        =SIMP(statut='o',typ='R' ),
+           E_CORP          =SIMP(statut='o',typ='R' ),
+           DEXT_CORP       =SIMP(statut='o',typ='R' ),
+           AZIMUT          =SIMP(statut='o',typ='R' ),
+           RAFF_MAIL       =SIMP(statut='o',typ='TXM' ),
+           X_MAX           =SIMP(statut='o',typ='R' ),
+         ),
+         ORIE_PEAU_2D    =FACT(statut='f',max='**',
+           GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
+         ),
+         ORIE_PEAU_3D    =FACT(statut='f',max='**',
+           GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
+           GROUP_MA_VOLU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+         ),
+         ORIE_SHB8       =FACT(statut='f',max=1,
+           GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
+         ),
+         ORIE_NORM_COQUE =FACT(statut='f',max='**',
+           regles=(EXCLUS('NOEUD','GROUP_NO'),
+                   PRESENT_PRESENT('NOEUD','VECT_NORM'),
+                   PRESENT_PRESENT('GROUP_NO','VECT_NORM'),),
+           GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
+           VECT_NORM       =SIMP(statut='f',typ='R',max=3),
+           NOEUD           =SIMP(statut='f',typ=no),
+           GROUP_NO        =SIMP(statut='f',typ=grno),
+         ),
+         ORIE_LIGNE =FACT(statut='f',max='**',
+           regles=(EXCLUS('NOEUD','GROUP_NO'),
+                   PRESENT_PRESENT('NOEUD','VECT_TANG'),
+                   PRESENT_PRESENT('GROUP_NO','VECT_TANG'),),
+           GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
+           VECT_TANG       =SIMP(statut='f',typ='R',max=3),
+           NOEUD           =SIMP(statut='f',typ=no),
+           GROUP_NO        =SIMP(statut='f',typ=grno),
+         ),
+         PLAQ_TUBE       =FACT(statut='f',
+           DEXT            =SIMP(statut='o',typ='R' ),
+           EPAIS           =SIMP(statut='o',typ='R' ),
+           L_TUBE_P1       =SIMP(statut='o',typ='R' ),
+           AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),
+           COUTURE         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",)  ),
+         ),
+         TUBE_COUDE      =FACT(statut='f',
+           ANGLE           =SIMP(statut='o',typ='R' ),
+           R_CINTR         =SIMP(statut='o',typ='R' ),
+           L_TUBE_P1       =SIMP(statut='o',typ='R' ),
+         ),
+         MODI_MAILLE     =FACT(statut='f',max=1,
+           regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),),
+           OPTION          =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ),
+           GROUP_MA_FOND   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1),
+           MAILLE_FOND     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max=1),
+           GROUP_NO_FOND   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
+           NOEUD_FOND      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
+         ),
+         MODI_BASE       =FACT(statut='f',
+           VECT_X          =SIMP(statut='o',typ='R',min=2,max=3),
+           VECT_Y          =SIMP(statut='f',typ='R',min=2,max=3),
+         ),
+         ECHELLE         =SIMP(statut='f',typ='R',),        
+         TRANSLATION     =SIMP(statut='f',typ='R',min=2,max=3),
+         ROTATION        =FACT(statut='f',max='**',
+           POIN_1           =SIMP(statut='o',typ='R',min=2,max=3),
+           ANGL             =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
+           regles=(EXCLUS('DIR','POIN_2'),),
+           POIN_2           =SIMP(statut='f',typ='R',min=2,max=3),
+           DIR              =SIMP(statut='f',typ='R',min=2,max=3),
+         ),
+         SYMETRIE        =FACT(statut='f',max='**',
+                          fr = "Symétrie du maillage par rapport à un plan en 3D ou à une droite en 2D.",
+           POINT           =SIMP(statut='o',typ='R',min=2,max=3,
+                            fr="Point appartenant à la droite ou au plan."),
+           AXE_1           =SIMP(statut='o',typ='R',min=2,max=3,
+                            fr="Vecteur directeur de la droite ou 1er vecteur appartenant au plan."),
+           AXE_2           =SIMP(statut='f',typ='R',min=3,max=3,
+                            fr="2nd vecteur appartenant du plan."),
+         ),
+         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
+# ======================================================================
+# 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.                                 
 #
-# 7.3.4. ==> Quand on cherche uniquement la probabilité de défaillance, il faut donner le point de conception
+# 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.                            
 #
-       POINT_CONCEPT = SIMP(statut="f",typ="R",max=1,
-                              fr="Point de conception.",
-                              ang="Design point."),
+# 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 KHAM M.KHAM
+MODI_OBSTACLE=OPER(nom="MODI_OBSTACLE",op=182,sd_prod=table_fonction,
+            fr="Calculer les obstacles dans les systèmes guidage-tube après usure",
+            reentrant='f',
+            UIinfo={"groupes":("Modélisation",)},
+      regles=(PRESENT_ABSENT('R_MOBILE','CRAYON'),
+              PRESENT_PRESENT('V_USUR_TUBE','V_USUR_OBST'),),
+         OBSTACLE        =SIMP(statut='f',typ=table_fonction),
+         GUIDE           =SIMP(statut='o',typ=table_sdaster),
+         CRAYON          =SIMP(statut='f',typ=table_sdaster),
+         TABL_USURE      =SIMP(statut='f',typ=table_sdaster),
+         INST            =SIMP(statut='f',typ='R'),  
+         R_MOBILE        =SIMP(statut='f',typ='R'),  
+         PERCEMENT       =SIMP(statut='f',typ='R',defaut=1),  
+         V_USUR_TUBE     =SIMP(statut='f',typ='R',max='**'),
+         V_USUR_OBST     =SIMP(statut='f',typ='R',max='**'),
+         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
+# ======================================================================
+# 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.
 #
-# 7.4. ==> Mode d'obtention du gradient par rapport à ce paramètre
+# 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.
 #
-       GRADIENT = SIMP(statut="o",typ="TXM",max=1,
-                           into=("OUI","NON"),
-                           fr="ASTER calcule directement le gradient.",
-                       ang="ASTER computes the gradient for this parameter."),
+# 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
+def modi_repere_prod(RESULTAT,**args):
+  if AsType(RESULTAT) != None : return AsType(RESULTAT)
 
-       b_gradient=BLOC(condition="GRADIENT=='NON'",
-         INCREMENT = SIMP(statut="o",typ="R",max=1,
-                             fr="Incrément dans la direction.",
-                         ang="Direction increment."),
-       ),
+MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='n',
+            UIinfo={"groupes":("Résultats et champs",)},
+                    fr="Calcule des résultats dans le repère cylindrique",
+         RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),
 
-   ),
-#
-);
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
+         regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
+                        'NOEUD_CMP','LIST_INST','LIST_FREQ','NOM_CAS'),),
+         TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+         NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+         NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+         NOM_CAS         =SIMP(statut='f',typ='TXM' ),
+
+         INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+         FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
+         LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
+
+         PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
+         CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
+
+         MODI_CHAM       =FACT(statut='o',max='**',
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+           TYPE_CHAM       =SIMP(statut='o',typ='TXM',
+                                 into=("VECT_2D","VECT_3D","TORS_3D","TENS_2D","TENS_3D"),),
+           NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
+           b_vect_2d       =BLOC(condition = "TYPE_CHAM=='VECT_2D'",
+              NOM_CMP         =SIMP(statut='o',typ='TXM',min=2,max=2 ),),
+           b_vect_3d       =BLOC(condition = "TYPE_CHAM=='VECT_3D'",
+              NOM_CMP         =SIMP(statut='o',typ='TXM',min=3,max=3 ),),
+           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 ),),
+           b_tens_3d       =BLOC(condition = "TYPE_CHAM=='TENS_3D'",
+              NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
+         ),
+         DEFI_REPERE     =FACT(statut='o',
+         regles=(UN_PARMI('ANGL_NAUT','ORIGINE'),),
+           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),
+         ),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
+)  ;
+#& MODIF COMMANDE  DATE 05/05/2008   AUTEUR NISTOR I.NISTOR 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2004  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.        
+# 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.                                 
+#
+# 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 GNICOLAS G.NICOLAS
+# RESPONSABLE NISTOR I.NISTOR
 
-from Macro.macr_fiab_impr_ops import macr_fiab_impr_ops
+def norm_mode_prod(MODE,**args ):
+  if AsType(MODE) == mode_meca   : return mode_meca
+  if AsType(MODE) == mode_meca_c : return mode_meca_c
+  if AsType(MODE) == mode_flamb  : return mode_flamb
+  if AsType(MODE) == base_modale : return base_modale
+  raise AsException("type de concept resultat non prevu")
 
-MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops,
-                     docu="U7.04.41",UIinfo={"groupe":("Impression",)},
-                     fr="Imprimer les valeurs à transmettre au logiciel de fiabilité.",
-                     ang="Print values for the fiability software",
-#
-# 1. Le niveau d'information
-#
-   INFO           = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-#
-# 2. Impression de la valeur de la cible
-#
-# 2.1. ==> La table contenant la valeur à imprimer
-#
-   TABLE_CIBLE = SIMP(statut='o',typ=table_sdaster,
-                 fr="Table contenant la valeur cible.",
-                 ang="Table which includes the target value."),
-#
-# 2.2. ==> Le nom du paramètre associé à la valeur cible dans cette table
-#
-   NOM_PARA_CIBLE = SIMP(statut='o',typ='TXM',
-                    fr="Nom du paramètre associé à la valeur cible.",
-                    ang="Name of the parameter connected to the target value."),
-#
-# 3. Impressions des valeurs des éventuels gradients
-#
-   GRADIENTS = FACT(statut='f',min=1,max='**',
-#
-# 3.1. ==> La table contenant la valeur à imprimer
-#
-       TABLE = SIMP(statut='o',typ=table_sdaster,
-                    fr="Table contenant le gradient.",
-                    ang="Table which includes the gradient."),
-#
-# 3.2. ==> Le paramètre sensible
-#
-       PARA_SENSI = SIMP(statut='o',typ=(para_sensi,theta_geom),
-                       fr="Paramètre sensible associé au gradient.",
-                       ang="Sensitivity parameter connected to the gradient."),
-#
-# 3.3. ==> Le nom du paramètre associé au gradient dans cette table
+NORM_MODE=OPER(nom="NORM_MODE",op=  37,sd_prod=norm_mode_prod,
+               fr="Normer des modes propres en fonction d'un critère choisi par l'utilisateur",
+               reentrant='f',
+            UIinfo={"groupes":("Résolution",)},
+         regles=(UN_PARMI('NORME','NOEUD','AVEC_CMP','SANS_CMP'),
+                 CONCEPT_SENSIBLE('SEPARE'),
+                 DERIVABLE('MODE'),),
+         MODE       =SIMP(statut='o',typ=(mode_meca,mode_flamb,base_modale) ),
+         NORME      =SIMP(statut='f',typ='TXM',fr="Norme prédéfinie : masse généralisée, euclidienne,...",
+                          into=("MASS_GENE","RIGI_GENE","EUCL","EUCL_TRAN","TRAN","TRAN_ROTA") ),
+         NOEUD      =SIMP(statut='f',typ=no, fr="Composante donnée d un noeud spécifié égale à 1"),
+         b_noeud    =BLOC(condition = "NOEUD != None",
+           NOM_CMP    =SIMP(statut='o',typ='TXM' ),
+         ),
+         AVEC_CMP   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+         SANS_CMP   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+         MODE_SIGNE =FACT(statut='f',fr="Imposer un signe sur une des composantes des modes",
+           NOEUD      =SIMP(statut='o',typ=no,fr="Noeud ou sera imposé le signe"),
+           NOM_CMP    =SIMP(statut='o',typ='TXM',fr="Composante du noeud ou sera imposé le signe" ),
+           SIGNE      =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"),
+                            fr="Choix du signe" ),
+         ),
+         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
+                               fr="Liste des param\350tres de sensibilit\351.",
+                               ang="List of sensitivity parameters",
+         ),
+         b_base    =BLOC(condition = "AsType(MODE) == base_modale",
+              MASSE = SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ), ),
+              RAIDE = SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ), ),
+              AMOR  = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
+         ),
+         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.LEFEBVRE 
+#            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.
 #
-       NOM_PARA = SIMP(statut='o',typ='TXM',
-                       fr="Nom du paramètre associé au gradient.",
-                       ang="Name of the parameter connected to the gradient."),
+# 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 PELLET J.PELLET
+NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n',
+            UIinfo={"groupes":("Matrices/vecteurs",)},
+              fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice",
+                  regles=(UN_PARMI('MATR_RIGI','MODELE'),),
+         MATR_RIGI       =SIMP(statut='f',validators=NoRepeat(),max=100,
+                               typ=(matr_elem_depl_r ,matr_elem_depl_c,matr_elem_temp_r ,matr_elem_pres_c) ),
+         MODELE          =SIMP(statut='f',typ=modele_sdaster ),
+         b_modele        =BLOC(condition = "MODELE != None",
+           CHARGE     =SIMP(statut='f',validators=NoRepeat(),max='**',typ=(char_meca,char_ther,char_acou, ),),
+         ),
+         METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
+         b_mult_front    =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale",
+           RENUM           =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ),
+         ),
+         b_ldlt          =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT",
+           RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
          ),
+         b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
+           RENUM         =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
+         ),
+         b_gcpc          =BLOC(condition="METHODE=='GCPC'",fr="paramètres associés à la méthode gradient conjugué",
+           RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
+         ),
+         INFO            =SIMP(statut='f',typ='I',into=(1,2)),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.                                 
 #
-);
-#& MODIF COMMANDE  DATE 15/05/2007   AUTEUR GNICOLAS G.NICOLAS 
+# 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 BODEL C.BODEL
+NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene,
+                   fr="Etablissement de la numérotation des ddl d'un modèle établi en coordonnées généralisées",
+                    reentrant='n',
+            UIinfo={"groupes":("Matrices/vecteurs",)},
+         regles=UN_PARMI('MODELE_GENE','BASE'),
+         MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
+             b_modele_gene     =BLOC(condition = "MODELE_GENE != None",
+               STOCKAGE     =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ),
+               METHODE            =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("INITIAL","CLASSIQUE") ),
+                                    ),
+         BASE     =SIMP(statut='f',typ=(mode_meca,mode_stat,base_modale,mode_gene ) ),
+             b_base     =BLOC(condition = "BASE != None",
+               STOCKAGE     =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("DIAG","PLEIN") ),
+               NB_VECT     =SIMP(statut='f',typ='I',defaut= 9999 ),
+                             ),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18277,210 +18923,535 @@ MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE GNICOLAS G.NICOLAS
-
-from Macro.macr_adap_mail_ops import macr_adap_mail_ops
-
-MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops,
-                     docu="U7.03.02-b",UIinfo={"groupe":("Maillage",)},
-                     fr="Donner des informations sur un maillage.",
-                     ang="To give information about a mesh.",
-#
-# 1. Le niveau d'information
-#
-  INFO = SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-#
-# 2. Version de HOMARD
-#
-  VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V8_7",
-                        into=("V8_7", "V8_N", "V8_N_PERSO"),
-                        fr="Version de HOMARD",
-                        ang="HOMARD release"),
-#
-# 3. Langue des messages issus de HOMARD
-#
-  LANGUE = SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
-                into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
-                fr="Langue des messages issus de HOMARD.",
-                ang="Language for HOMARD messages." ),
-#
-# 4. Le nom du maillage a analyser
-#
-  MAILLAGE = SIMP(statut='o',typ=maillage_sdaster,
-                  fr="Maillage à analyser.",
-                  ang="Mesh to be checked." ),
-#
-# 5. Suivi d'une frontiere
-#
-  MAILLAGE_FRONTIERE = SIMP(statut='f',typ=maillage_sdaster,
-                           fr="Maillage de la frontiere à suivre",
-                           ang="Boundary mesh" ),
-#
-  b_frontiere = BLOC( condition = " MAILLAGE_FRONTIERE != None " ,
-                      fr="Information complémentaire sur la frontière",
-                      ang="Further information about boundary",
-#
-    GROUP_MA = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
-                    fr="Groupes de mailles définissant la frontière",
-                    ang="Mesh groups which define the boundary" ),
-#
-                    ) ,
-#
-# 6. Les options ; par defaut, on controle tout
-# 6.1. Nombre de noeuds et elements
-#
-  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" ),
-#
-# 6.2. Determination de la qualite des elements du maillage
-#
-  QUALITE        = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
-                        fr="Qualité du maillage",
-                        ang="Mesh quality" ),
-#
-# 6.3. Connexite du maillage
-#
-  CONNEXITE      = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
-                        fr="Connexité du maillage.",
-                        ang="Mesh connexity." ),
-#
-# 6.4. Taille des sous-domaines du maillage
-#
-  TAILLE         = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),
-                        fr="Tailles des sous-domaines du maillage.",
-                        ang="Sizes of mesh sub-domains." ),
-#
-# 6.5. Controle de la non-interpenetration des elements
-#
-  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." ),
+# RESPONSABLE ZENTNER I.ZENTNER
+from Macro.post_dyna_alea_ops import post_dyna_alea_ops
+POST_DYNA_ALEA=MACRO(nom="POST_DYNA_ALEA",op= post_dyna_alea_ops,sd_prod=table_sdaster,
+                    fr="Traitements statistiques de résultats de type interspectre et impression sur fichiers",
+                    reentrant='n',
+            UIinfo={"groupes":("Post traitements",)},
+         regles=(UN_PARMI('FRAGILITE','INTE_SPEC'),),
+         FRAGILITE  =FACT(statut='f',fr="donnees pour courbe de fragilite",max='**', 
+                    TABL_RESU  =SIMP(statut='o',typ=table_sdaster),
+                    regles=(UN_PARMI('VALE','LIST_PARA'),),
+                    VALE       = SIMP(statut='f',typ='R', min=1,validators=NoRepeat(),max='**' ), 
+                    LIST_PARA  = SIMP(statut='f',typ=listr8_sdaster), 
+                    AM_INI     =  SIMP(statut='f',typ='R',defaut= 0.4 ), 
+                    BETA_INI   = SIMP(statut='f',typ='R',defaut= 0.3 ), 
+                    FRACTILE   = SIMP(statut='f',typ='R', min=1,validators=NoRepeat(),max='**'),
+                    b_inte_spec_f  = BLOC(condition="""FRACTILE !=None""",
+                        NB_TIRAGE =SIMP(statut='f',typ='I' ),),                   
+                 ),
+         INTE_SPEC       =SIMP(statut='f',typ=table_fonction),
+         b_inte_spec_f      =BLOC(condition="""INTE_SPEC !=None""",
+            regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),),
+            NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),  
+            TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+            NUME_ORDRE_I    =SIMP(statut='f',typ='I',max='**' ),
+            NOEUD_I         =SIMP(statut='f',typ=no,max='**'),         
+            OPTION          =SIMP(statut='f',typ='TXM',into=("DIAG",) ),
+            b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None",
+               NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**' ),   
+                                ),  
+            b_noeud_i      =BLOC(condition = "NOEUD_I != None",
+               NOEUD_J         =SIMP(statut='o',typ=no,max='**'),
+               NOM_CMP_I       =SIMP(statut='o',typ='TXM',max='**' ),  
+               NOM_CMP_J       =SIMP(statut='o',typ='TXM',max='**' ),     
+                                ), 
+            MOMENT          =SIMP(statut='f',typ='I',max='**',fr="Moments spectraux en complément des cinq premiers" ), 
+            ),  
+         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.LEFEBVRE 
+#            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.                                 
 #
-# 7. Gestion des éléments autres que ceux compatibles avec HOMARD
-#       "REFUSER" : ils sont refuses (defaut)
-#       "IGNORER" : ils sont ignorés
+# 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.                            
 #
-  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" ),
+# 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 BOYERE E.BOYERE
+POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=table_sdaster,
+                      fr="Post-traiter les résultats en coordonnées généralisées produit par DYNA_TRAN_MODAL",
+                      reentrant='n',
+            UIinfo={"groupes":("Post traitements",)},
+        regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),),
+         RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
+         CHOC            =FACT(statut='f',max='**',
+                               fr="Analyse des non linéarités de choc",
+           INST_INIT       =SIMP(statut='f',typ='R',defaut= -1. ),  
+           INST_FIN        =SIMP(statut='f',typ='R',defaut= 999. ),  
+           NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
+           SEUIL_FORCE     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
+           DUREE_REPOS     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
+           OPTION          =SIMP(statut='f',typ='TXM',defaut="USURE",into=("IMPACT","USURE") ),
+           NB_CLASSE       =SIMP(statut='f',typ='I',defaut= 10 ),  
+         ),
+         RELA_EFFO_DEPL  =FACT(statut='f',
+                               fr="Analyse des relationsnon linéaires effort-déplacement",
+           NOEUD           =SIMP(statut='o',typ=no),
+           NOM_CMP         =SIMP(statut='o',typ='TXM' ),  
+         ),
+         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
 )  ;
-#& MODIF COMMANDE  DATE 22/05/2007   AUTEUR GALENNE E.GALENNE 
+#& MODIF COMMANDE  DATE 20/05/2008   AUTEUR MAHFOUZ D.MAHFOUZ 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2002  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.        
+# 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.                                 
+#
+# 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
+POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=table_sdaster,reentrant='n',
+            UIinfo={"groupes":("Post traitements",)},
+               fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle",
 
-from Macro.macr_lign_coupe_ops import macr_lign_coupe_ops
+         regles=(UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN','TRAV_EXT','MINMAX',
+                          'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE',
+                          'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL',
+                          'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE','INTEGRALE'),
+                ),
 
-MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",op=macr_lign_coupe_ops,sd_prod=table_sdaster,
-                       reentrant='n',
-            UIinfo={"groupes":("Outils métier",)},
-            fr="Extraction des valeurs d'un résultat dans une ou plusieurs tables sur des lignes de coupe définies"
-             +" par deux points et un intervalle",
-            regles=(UN_PARMI("RESULTAT","CHAM_GD"),),
-                   
-         RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) ),
-         CHAM_GD         =SIMP(statut='f',typ=(cham_gd_sdaster)),
+         MASS_INER      = FACT(statut='f',max='**',
+                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               ORIG_INER    = SIMP(statut='f',typ='R',min=3,max=3 ),
+                              ),
+         b_mass_iner = BLOC(condition = "( MASS_INER != None )",
+                       fr="calcul de la masse, les inerties et le centre de gravité",
+                       regles=(EXCLUS('CHAM_GD','RESULTAT'),
+                               EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
+                                      'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
+                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
+                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_cine_meca,
+                                        char_ther,char_acou),validators=NoRepeat(),max='**' ),
+                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
+                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
+                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+                       GEOMETRIE      = SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE")),
+                       CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
+                       RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_noli,mult_elas,
+                                                             fourier_elas,dyna_trans) ),
+                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
+                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                       NUME_ORDRE     = SIMP(statut='f',typ='I',),
+                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
+                       INST           = SIMP(statut='f',typ='R',),
+                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+                       FREQ           = SIMP(statut='f',typ='R',),
+                       LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
+                       NUME_MODE      = SIMP(statut='f',typ='I',),
+                       NOEUD_CMP      = SIMP(statut='f',typ='TXM',min=2,validators=NoRepeat(),max=2),
+                       NOM_CAS        = SIMP(statut='f',typ='TXM',),
+         ),
 
-         b_extrac        =BLOC(condition = "RESULTAT != None",fr="extraction des résultats",
-                                 regles=(EXCLUS('NUME_ORDRE','LIST_ORDRE','INST','LIST_INST',), ),           
-             NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
-             LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
-             INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
-             LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
-             PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
-             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-           ),
+         ENER_POT       = FACT(statut='f',max='**',
+                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                              ),
+         b_ener_pot = BLOC(condition = "( ENER_POT  != None )",
+                       fr="calcul de l'énergie potentielle de déformation",
+                       regles=(UN_PARMI('CHAM_GD','RESULTAT'),
+                               EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
+                                      'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
+                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
+                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_cine_meca,
+                       char_ther,char_acou),validators=NoRepeat(),max='**' ),
+                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
+                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
+                       ANGLE          = SIMP(statut='f',typ='I',defaut=0),
+                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+                       CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
+                       RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans,mult_elas) ),
+                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
+                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
+                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+                       FREQ           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                       LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
+                       NUME_MODE      = SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**'),
+                       NOEUD_CMP      = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+                       NOM_CAS        = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+         ),
+
+         ENER_CIN       = FACT(statut='f',max='**',
+                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+                               OPTION       = SIMP(statut='f',typ='TXM',
+                                                   into=("MASS_MECA","MASS_MECA_DIAG"),
+                                                   defaut="MASS_MECA" ),
+                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                              ),
+         b_ener_cin = BLOC(condition = "( ENER_CIN != None )",
+                       fr="calcul de l'énergie cinétique",
+                       regles=(UN_PARMI('CHAM_GD','RESULTAT'),
+                               EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
+                                      'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
+                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
+                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_cine_meca,
+                       char_ther,char_acou),validators=NoRepeat(),max='**' ),
+                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
+                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
+                       ANGLE          = SIMP(statut='f',typ='I',defaut=0),
+                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+                       CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
+                       RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans) ),
+                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
+                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
+                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+                       FREQ           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                       LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
+                       NUME_MODE      = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+                       NOEUD_CMP      = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+                       NOM_CAS        = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+         ),
 
-# extraction des résultats
-         b_meca        =BLOC(condition = "AsType(RESULTAT) in (evol_elas,evol_noli)",fr="résultat mécanique",
-           NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut='SIGM_NOEU_DEPL' ),  
+         ENER_ELAS      = FACT(statut='f',max='**',
+                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                              ),
+         b_ener_elas = BLOC(condition = "( ENER_ELAS != None )",
+                       fr="calcul de l'énergie de déformation élastique",
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
+                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
+                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_cine_meca,
+                       char_ther,char_acou),validators=NoRepeat(),max='**' ),
+                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
+                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
+                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+                       RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
+                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
+                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
+                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
+                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
          ),
-         b_ther        =BLOC(condition = "AsType(RESULTAT) in (evol_ther,)",fr="résultat thermique",
-           NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut='TEMP' ),  
+
+         ENER_TOTALE    = FACT(statut='f',max='**',
+                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                              ),
+         b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )",
+                       fr="calcul de l'énergie de déformation totale",
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
+                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
+                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_cine_meca,
+                       char_ther,char_acou),validators=NoRepeat(),max='**' ),
+                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
+                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
+                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+                       RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
+                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
+                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
+                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
+                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
          ),
-         b_cham       =BLOC(condition = "CHAM_GD!=None",
-           NOM_CHAM        =SIMP(statut='f',typ='TXM',),),
 
-         UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=25),
-         MODELE          =SIMP(statut='f',typ=modele_sdaster ),
+         INTEGRALE  = FACT(statut='f',max='**',
+                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               NOM_CHAM       = SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
+                               NOM_CMP        = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
+                              ),
+         b_integrale = BLOC(condition = "( INTEGRALE != None )",
+                       fr="calcul de la moyenne d'une composante",
+                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       RESULTAT       = SIMP(statut='o',typ=(evol_noli,evol_ther,evol_elas) ),
+                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
+                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
+                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+         ),
 
-         VIS_A_VIS       =FACT(statut='f',max='**',
-                             regles=(EXCLUS('GROUP_MA_1','MAILLE_1'),),
-           GROUP_MA_1        =SIMP(statut='f',typ=grma),
-           MAILLE_1          =SIMP(statut='f',typ=ma,max='**'),),
-         
-         LIGN_COUPE     =FACT(statut='o',max='**',
-            regles=(EXCLUS("NOM_CMP","INVARIANT","ELEM_PRINCIPAUX","RESULTANTE"),
-                    PRESENT_PRESENT("TRAC_DIR","DIRECTION"),
-                    EXCLUS("TRAC_DIR","TRAC_NOR"), 
-                    PRESENT_PRESENT("TRAC_DIR","NOM_CMP"),
-                    PRESENT_PRESENT("TRAC_NOR","NOM_CMP"),),
 
-           INTITULE        =SIMP(statut='f',typ='TXM',),
-           TYPE            =SIMP(statut='o',typ='TXM',max=1,
-                                 into=("GROUP_NO","SEGMENT","ARC","GROUP_MA"),defaut="SEGMENT"),
-           REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL",
-                                into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),),
-           OPERATION       =SIMP(statut='f',typ='TXM',into=("EXTRACTION","MOYENNE",),defaut="EXTRACTION",),
+         MINMAX  = FACT(statut='f',max=1,
+                       fr="calcul des extrema en espace d'une CMP d'un champ, pour tous les instants spécifiés",
+                       regles=(UN_PARMI('CHAM_GD','RESULTAT'),
+                               PRESENT_PRESENT('CHAM_GD','MODELE'),
+                               PRESENT_PRESENT('RESULTAT','NOM_CHAM'),
+                               AU_MOINS_UN('TOUT','GROUP_MA'),),
+                       TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),                          
+                       GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),           
+                       RESULTAT       = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas) ),
+                       NOM_CHAM       = SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),                
+                       CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       NOM_CMP        = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),        
+              b_minmax = BLOC(condition = "( RESULTAT != None )",
+                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
+                              PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
+                              CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+                              TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                              NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+                              LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
+                              INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                              LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+                              ),
+         ),
 
-           NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
-           INVARIANT       =SIMP(statut='f',typ='TXM',into=("OUI",),),
-           ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",),),
-           RESULTANTE      =SIMP(statut='f',typ='TXM',max='**'),
-           TRAC_NOR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
-           TRAC_DIR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
-           DIRECTION       =SIMP(statut='f',typ='R',max='**'),  
+         WEIBULL        = FACT(statut='f',max='**',
+                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               OPTION       = SIMP(statut='f',typ='TXM',
+                                                   into=("SIGM_ELGA","SIGM_ELMOY"),
+                                                   defaut="SIGM_ELGA"),
+                               CORR_PLAST   = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
+                               COEF_MULT    = SIMP(statut='f',typ='R',defaut=1.),
+                              ),
+         b_weibull = BLOC(condition = "( WEIBULL != None )",
+                       fr="calcul du champ élémentaire de la puissance m-ième de la contrainte de Weibull",
+                       regles=(UN_PARMI('CHAM_GD','RESULTAT'),
+                               EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
+                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
+                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_cine_meca,
+                       char_ther,char_acou),validators=NoRepeat(),max='**' ),
+                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
+                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
+                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+                       CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
+                       RESULTAT       = SIMP(statut='f',typ=(evol_noli) ),
+                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
+                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
+                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+         ),
 
+         RICE_TRACEY    = FACT(statut='f',max='**',
+                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               OPTION       = SIMP(statut='f',typ='TXM',
+                                                   into=("SIGM_ELGA","SIGM_ELMOY"),
+                                                   defaut="SIGM_ELGA"),
+                               LOCAL        = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
+                              ),
+         b_rice_tracey = BLOC(condition = "( RICE_TRACEY != None )",
+                       fr="calcul du taux de croissance d'une cavité sphérique par rapport à un domaine",
+                       regles=(UN_PARMI('CHAM_GD','RESULTAT'),
+                               EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
+                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
+                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_cine_meca,
+                       char_ther,char_acou),validators=NoRepeat(),max='**' ),
+                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
+                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
+                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+                       CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
+                       RESULTAT       = SIMP(statut='f',typ=(evol_noli) ),
+                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
+                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
+                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+         ),
 
-           b_local        =BLOC(condition = "REPERE=='LOCAL' ",
-             VECT_Y          =SIMP(statut='o',typ='R',min=2,max=3),),
+         INDIC_ENER     = FACT(statut='f',max='**',
+                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                              ),
+         b_indic_ener = BLOC(condition = "( INDIC_ENER != None )",
+                       fr="calcul un indicateur global de perte de proportionnalité du chargement",
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
+                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_cine_meca,
+                       char_ther,char_acou),validators=NoRepeat(),max='**' ),
+                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+                       RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
+                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
+                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
+                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
+                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+         ),
 
-           b_utili        =BLOC(condition = "REPERE=='UTILISATEUR'",
-             ANGL_NAUT       =SIMP(statut='o',typ='R',min=3,max=3),),
+         INDIC_SEUIL    = FACT(statut='f',max='**',
+                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                              ),
+         b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )",
+                       fr="calcul un indicateur global de perte de proportionnalité du chargement",
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
+                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_cine_meca,
+                       char_ther,char_acou),validators=NoRepeat(),max='**' ),
+                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+                       RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
+                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
+                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
+                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
+                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+         ),
 
-           b_grno          =BLOC(condition = "TYPE=='GROUP_NO'",    
-             GROUP_NO        =SIMP(statut='o',typ=grno, max=1),),
+         CHAR_LIMITE    = FACT(statut='f',min=0,
+                               CHAR_CSTE = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON")
+                              ),
+         b_char_limite = BLOC(condition = "( CHAR_LIMITE != None )",
+                       fr="post-traitement du calcul de la charge limite",
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
+                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
+                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_cine_meca,
+                       char_ther,char_acou),validators=NoRepeat(),max='**' ),
+                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+                       RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
+                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
+                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
+                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
+                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+         ),
 
-           b_grma          =BLOC(condition = "TYPE=='GROUP_MA'",    
-             GROUP_MA        =SIMP(statut='o',typ=grma, max=1),
-             MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),),
+         CARA_GEOM      = FACT(statut='f',max='**',
+                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               SYME_X       = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+                               SYME_Y       = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+                               ORIG_INER    = SIMP(statut='f',typ='R',min=2,max=2),
+                              ),
+         b_cara_geom = BLOC(condition = "( CARA_GEOM != None )",
+                       fr="calcul des caractéristiques géométriques d'un section de poutre",
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
+                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_cine_meca,
+                       char_ther,char_acou),validators=NoRepeat(),max='**' ),
+                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+         ),
 
-           b_segment       =BLOC(condition = "TYPE=='SEGMENT'",    
-             NB_POINTS       =SIMP(statut='o',typ='I',max=1),
-             COOR_ORIG       =SIMP(statut='o',typ='R',min=2,max=3),  
-             COOR_EXTR       =SIMP(statut='o',typ='R',min=2,max=3),),
+         CARA_POUTRE    = FACT(statut='f',max='**',
+                               regles=(AU_MOINS_UN('TOUT','GROUP_MA'),
+                                       ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),),
+                               TOUT          = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                               GROUP_MA      = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               GROUP_MA_INTE = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+                               CARA_GEOM     = SIMP(statut='o',typ=table_sdaster),
+                               RT            = SIMP(statut='f',typ='R'),
+                               LAPL_PHI      = SIMP(statut='f',typ=evol_ther),
+                               LAPL_PHI_Y    = SIMP(statut='f',typ=evol_ther),
+                               LAPL_PHI_Z    = SIMP(statut='f',typ=evol_ther),
+                               LIAISON       = SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")),
+                               LONGUEUR      = SIMP(statut='f',typ='R'),
+                               MATERIAU      = SIMP(statut='f',typ=mater_sdaster),
+                               OPTION        = SIMP(statut='f',typ='TXM',
+                                                    into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ),
+                             ),
+         b_cara_poutre = BLOC(condition = "( CARA_POUTRE != None )",
+                       fr="calcul des caractéristiques mécaniques d'un section de poutre",
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
+                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_cine_meca,
+                       char_ther,char_acou),validators=NoRepeat(),max='**' ),
+                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+         ),
 
-           b_arc           =BLOC(condition = "TYPE=='ARC'",    
-             NB_POINTS       =SIMP(statut='o',typ='I',max=1),
-             COOR_ORIG       =SIMP(statut='o',typ='R',min=2,max=3),  
-             CENTRE          =SIMP(statut='o',typ='R',min=2,max=3),
-             ANGLE           =SIMP(statut='o',typ='R',max=1),
-             DNOR            =SIMP(statut='f',typ='R',min=2,max=3),),
+          AIRE_INTERNE   = FACT(statut='f',max='**',
+                                GROUP_MA_BORD  = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
+                               ),
+         b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )",
+                       fr="calcul de l'aire d'un trou dans un maillage 2D",
+                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+         ),
 
-           b_cylind       =BLOC(condition = ("REPERE=='CYLINDRIQUE' and TYPE!='ARC'"),
-             ORIGINE         =SIMP(statut='f',typ='R',min=2,max=3),  
-             AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),),
-           
+         TRAV_EXT       = FACT(statut='f',),
+         b_trav_ext = BLOC(condition = "( TRAV_EXT != None )",
+                       fr="calcul du travail des efforts extérieurs",
+                       RESULTAT       = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans) ),
+                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
+                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
          ),
-)  ;
 
+         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
+         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
 
-#& MODIF COMMANDE  DATE 04/04/2006   AUTEUR CIBHHLV L.VIVAN 
+ )  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18498,144 +19469,104 @@ MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",op=macr_lign_coupe_ops,sd_prod=table
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE G8BHHXD X.DESROCHES
-
-from Macro.macro_elas_mult_ops import macro_elas_mult_ops
-
-def macro_elas_mult_prod(self,NUME_DDL,CAS_CHARGE,**args ):
-  if isinstance(NUME_DDL,CO) :
-    self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
-  else:
-    self.type_sdprod(NUME_DDL,NUME_DDL.__class__)
-  if CAS_CHARGE[0]['NOM_CAS']      != None : return mult_elas
-  if CAS_CHARGE[0]['MODE_FOURIER'] != None : return fourier_elas
-  raise AsException("type de concept resultat non prevu")
-
-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', ),),
-         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='**'),
-         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'),),
-           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='**'),
-           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",
-                                       "EPSI_ELGA_DEPL","EPSG_ELNO_DEPL","EPSG_ELGA_DEPL","EPSP_ELNO","EPSP_ELGA",
-                                       "ECIN_ELEM_DEPL","FLUX_ELGA_TEMP","FLUX_ELNO_TEMP","SOUR_ELGA_ELEC",
-                                       "PRES_ELNO_DBEL","PRES_ELNO_REEL","PRES_ELNO_IMAG","INTE_ELNO_ACTI",
-                                       "INTE_ELNO_REAC","SIGM_NOZ1_ELGA","ERZ1_ELEM_SIGM","SIGM_NOZ2_ELGA",
-                                       "ERZ2_ELEM_SIGM","VNOR_ELEM_DEPL","ERRE_ELNO_ELEM","SIRE_ELNO_DEPL",
-                                       "ERRE_ELEM_SIGM","EQUI_ELNO_SIGM","EQUI_ELGA_SIGM","EQUI_ELNO_EPSI",
-                                       "QIRE_ELEM_SIGM","QIRE_ELNO_ELEM","QIZ1_ELEM_SIGM","QIZ2_ELEM_SIGM",
-                                       "EQUI_ELGA_EPSI","FORC_NODA","REAC_NODA","EPSI_NOEU_DEPL","SIGM_NOEU_DEPL",
-                                       "EFGE_NOEU_DEPL","EQUI_NOEU_SIGM","EQUI_NOEU_EPSI","FLUX_NOEU_TEMP") ),
-           NUME_COUCHE     =SIMP(statut='f',typ='I',defaut=1),
-           NIVE_COUCHE     =SIMP(statut='f',typ='TXM',defaut="MOY",into=("SUP","INF","MOY")),
-           SOUS_TITRE      =SIMP(statut='f',typ='TXM',max='**'),
-           VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster),
-         ),
-         SOLVEUR         =FACT(statut='d',
-           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT") ),
-           b_mult_front    = BLOC ( condition = "METHODE == 'MULT_FRONT' ",
-                                    fr="Paramètres de la méthode multi frontale",
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
-           ),
-           b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
-            ),
-           b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
-                                   fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
-             NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
-             STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-           ),
-         ),
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2)),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+# RESPONSABLE ZENTNER I.ZENTNER
+POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=table_sdaster,reentrant='n',
+            UIinfo={"groupes":("Post traitements",)},
+                    fr="Calculer le dommage de fatigue subi par une structure soumise à une sollicitation de type aléatoire",
+         regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'),
+                 PRESENT_PRESENT( 'MOMENT_SPEC_4','MOMENT_SPEC_0'),
+                 UN_PARMI('TABL_POST_ALEA','MOMENT_SPEC_0'), ),
+         MOMENT_SPEC_0   =SIMP(statut='f',typ='R'),  
+         MOMENT_SPEC_2   =SIMP(statut='f',typ='R'),  
+         MOMENT_SPEC_4   =SIMP(statut='f',typ='R'),  
+         TABL_POST_ALEA  =SIMP(statut='f',typ=table_sdaster),
+         COMPTAGE        =SIMP(statut='o',typ='TXM',into=("PIC","NIVEAU")),
+         DUREE           =SIMP(statut='f',typ='R',defaut= 1.),  
+         CORR_KE         =SIMP(statut='f',typ='TXM',into=("RCCM",)),
+         DOMMAGE         =SIMP(statut='o',typ='TXM',into=("WOHLER",)),
+         MATER           =SIMP(statut='o',typ=mater_sdaster),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
 )  ;
-#& MODIF COMMANDE  DATE 22/12/2006   AUTEUR BODEL C.BODEL 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2006  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.        
+# 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.
+#
+# 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 ANGLES J.ANGLES
+POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=table_sdaster,reentrant='n',
+            UIinfo={"groupes":("Post traitements",)},
+                  fr="Calculer en un point, le dommage de fatigue subi par une structure soumise à une histoire de chargement",
 
+         CHARGEMENT = SIMP(statut='o',typ='TXM',into=("UNIAXIAL","PERIODIQUE","QUELCONQUE")),
 
-from Macro.macro_expans_ops import macro_expans_ops
+         b_uniaxial = BLOC( condition = "CHARGEMENT=='UNIAXIAL'",
+                      regles=(PRESENT_PRESENT('CORR_KE','MATER'),
+                              PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'),
+                              PRESENT_PRESENT('DOMMAGE','MATER'),),
+             HISTOIRE       = FACT(statut='o',
+                                 regles=(UN_PARMI('SIGM','EPSI'),),
+                                 SIGM  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                 EPSI  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
+             COMPTAGE       = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RCCM","NATUREL")),
+             DELTA_OSCI     = SIMP(statut='f',typ='R',defaut= 0.0E+0),
+             COEF_MULT      = FACT(statut='f',
+                                 KT    = SIMP(statut='o',typ='R'),),
+             CORR_KE        = SIMP(statut='f',typ='TXM',into=("RCCM",)),
+             DOMMAGE        = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN",
+                                                              "TAHERI_MANSON","TAHERI_MIXTE")),
+             MATER          = SIMP(statut='f',typ=mater_sdaster),
+             CORR_SIGM_MOYE = SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")),
+             TAHERI_NAPPE   = SIMP(statut='f',typ=(nappe_sdaster,formule)),
+             TAHERI_FONC    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             CUMUL          = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
+         ),
 
-def macro_expans_prod(self, MODELE_MESURE, RESU_NX, RESU_EX, RESU_ET, RESU_RD, **args):
-    RESU_EXP = MODELE_MESURE['MESURE']
-    for res in (RESU_NX, RESU_EX, RESU_ET, RESU_RD):
-        if isinstance(res, CO):
-            if AsType(RESU_EXP) == mode_meca:
-                self.type_sdprod(res, mode_meca)
-            else:
-                self.type_sdprod(res, dyna_harmo)
-        else:
-            self.type_sdprod(res,res.__class__)
-    return None
+         b_periodique = BLOC( condition = "CHARGEMENT=='PERIODIQUE'",
+             HISTOIRE       = FACT(statut='o',
+                                 SIGM_XX  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                 SIGM_YY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                 SIGM_ZZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                 SIGM_XY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                 SIGM_XZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                 SIGM_YZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
+             CRITERE        = SIMP(statut='o',typ='TXM',into=("CROSSLAND","PAPADOPOULOS")),
+             DOMMAGE        = SIMP(statut='f',typ='TXM',into=("WOHLER",)),
+             MATER          = SIMP(statut='o',typ=mater_sdaster),
+             COEF_CORR      = SIMP(statut='f',typ='R'),
+         ),
+
+         b_quelconque = BLOC( condition = "CHARGEMENT=='QUELCONQUE'",
+             HISTOIRE       = FACT(statut='o',
+                                 SIGM_XX  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                 SIGM_YY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                 SIGM_ZZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                 SIGM_XY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                 SIGM_XZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                 SIGM_YZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                 EPSP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                 TEMP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),),
+             DOMMAGE        = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),),
+             MATER          = SIMP(statut='o',typ=mater_sdaster),
+             CUMUL          = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
+         ),
 
-MACRO_EXPANS=MACRO(nom="MACRO_EXPANS",
-                   op=macro_expans_ops,
-                   sd_prod=macro_expans_prod,
-                   reentrant='n',
-                   UIinfo={"groupes":("Outils métier",)},
-                   fr="Outil d'expansion de resultats exprimentaux sur une base definie sur un modele numerique",
-                        MODELE_CALCUL   = FACT(statut='o',
-                           MODELE          = SIMP(statut='o',typ=(modele_sdaster) ),
-                           BASE            = SIMP(statut='o',typ=(mode_meca,base_modale,) ), 
-                           NUME_MODE       = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0),
-                                             ),
-                        MODELE_MESURE   = FACT(statut='o',
-                           MODELE          = SIMP(statut='o',typ=(modele_sdaster) ),
-                           MESURE          = SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,mode_meca,mode_meca_c,) ),
-                           NOM_CHAM        = SIMP(statut='f',typ='TXM',defaut="DEPL",
-                                                  into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU_DEPL",) ),
-                           NUME_MODE       = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0),
-                                             ),
-                        NUME_DDL       = SIMP(statut='f',typ=(nume_ddl_sdaster)),
-                        RESU_NX        = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
-                        RESU_EX        = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
-                        RESU_ET        = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
-                        RESU_RD        = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
-                        RESOLUTION     = FACT(statut='f',
-                           METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ),
-                           b_svd   =BLOC(condition="METHODE=='SVD'",
-                                         EPS=SIMP(statut='f',typ='R',defaut=0. ),
-                                        ),
-                           REGUL   =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ),
-                           b_regul =BLOC(condition="REGUL!='NON'",
-                                         regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),),
-                                         COEF_PONDER   =SIMP(statut='f',typ='R',defaut=0.     ,max='**' ),
-                                         COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
-                                        ),
-                                             ),
-                   )
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
+         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
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18653,195 +19584,370 @@ MACRO_EXPANS=MACRO(nom="MACRO_EXPANS",
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
+# RESPONSABLE GALENNE E.GALENNE
+from Macro.post_k1_k2_k3_ops import post_k1_k2_k3_ops
+POST_K1_K2_K3=MACRO(nom="POST_K1_K2_K3",op=post_k1_k2_k3_ops,sd_prod=table_sdaster,
+                   fr="Calcul des facteurs d'intensité de contraintes en 2D et en 3D par extrapolation des sauts de déplacements"
+                     +" sur les lèvres de la fissure",
+                   reentrant='n',
+            UIinfo={"groupes":("Post traitements",)},
 
-from Macro.macro_matr_ajou_ops import macro_matr_ajou_ops
-
-def macro_matr_ajou_prod(self,MATR_AMOR_AJOU,MATR_MASS_AJOU,MATR_RIGI_AJOU,FORC_AJOU,**args):
-  self.type_sdprod(MATR_AMOR_AJOU,matr_asse_gene_r)
-  self.type_sdprod(MATR_MASS_AJOU,matr_asse_gene_r)
-  self.type_sdprod(MATR_RIGI_AJOU,matr_asse_gene_r)
-  if FORC_AJOU != None:
-    for m in FORC_AJOU:
-      self.type_sdprod(m['VECTEUR'],vect_asse_gene)
-
-  return None
+           regles=(UN_PARMI('RESULTAT','TABL_DEPL_SUP'),
+                  EXCLUS('FISSURE','FOND_FISS'),
+                  PRESENT_PRESENT('FISSURE','RESULTAT'),
+                  PRESENT_PRESENT('FOND_FISS','VECT_K1'),
+                  PRESENT_PRESENT('TABL_DEPL_SUP','VECT_K1'),
+                   #PRESENT_PRESENT('RESULTAT','FOND_FISS'),
+                   ),
 
-MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=macro_matr_ajou_ops,sd_prod=macro_matr_ajou_prod,
-            UIinfo={"groupes":("Matrices/vecteurs",)},
-            fr="Calculer de facon plus condensée qu'avec CALC_MATR_AJOU des matrices de masse, d'amortissement"
-              +" ou de rigidité ajoutés",
-      regles=(AU_MOINS_UN('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
-              AU_MOINS_UN('MATR_MASS_AJOU','MATR_AMOR_AJOU','MATR_RIGI_AJOU'),
-              EXCLUS('MODE_MECA','DEPL_IMPO','MODELE_GENE'),
-              EXCLUS('MONO_APPUI','MODE_STAT',),
+         MODELISATION  =SIMP(statut='o',typ='TXM',
+                             into=("3D","AXIS","D_PLAN","C_PLAN"),
+                             fr="Modélisation cohérente avec celle utilisée pour le calcul des déplacements"),
+         FOND_FISS     =SIMP(statut='f',typ=fond_fiss),
+         FISSURE     =SIMP(statut='f',typ=fiss_xfem),
+         b_fond_fiss   =BLOC (condition="(FOND_FISS!= None)",
+                         MAILLAGE      = SIMP(statut='o',typ=maillage_sdaster),
+                         TYPE_MAILLAGE = SIMP(statut='f',typ='TXM',into=("LIBRE","REGLE"),defaut="REGLE"),
+                         NB_NOEUD_COUPE= SIMP(statut='f',typ='I'),
+                         NOEUD         = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                         GROUP_NO      = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                         SANS_NOEUD    = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+                         SANS_GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+                         TOUT          = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                         EVOL_THER     = SIMP(statut='f',typ=(evol_ther),fr="Température sur le fond de fissure")
+                         ),
+         b_fissure   =BLOC (condition="(FISSURE!= None)",
+                         MAILLAGE       = SIMP(statut='o',typ=maillage_sdaster),
+                         NB_NOEUD_COUPE = SIMP(statut='f',typ='I' ,defaut=5 ),
+                         DTAN_ORIG      = SIMP(statut='f',typ='R',max='**'),
+                         DTAN_EXTR      = SIMP(statut='f',typ='R',max='**'),
+                         ),
+         MATER         =SIMP(statut='o',typ=mater_sdaster,
+                             fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"),
+         RESULTAT      =SIMP(statut='f',typ=(evol_elas,evol_noli),
+                             fr="Déplacement des noeuds de la lèvre supérieure et inférieure"),
+         TABL_DEPL_SUP =SIMP(statut='f',typ=table_sdaster,
+                             fr="Table issue de post_releve_t sur les noeuds de la lèvre supérieure"),
+         TABL_DEPL_INF =SIMP(statut='f',typ=table_sdaster,
+                             fr="Table issue de post_releve_t sur les noeuds de la lèvre inférieure"),
+         ABSC_CURV_MAXI=SIMP(statut='f',typ='R',
+                             fr="Distance maximum à partir du fond de fissure à utiliser pour le calcul"),  
+         PREC_VIS_A_VIS= SIMP(statut='f',typ='R',defaut=0.1),
+         TOUT_ORDRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         NUME_ORDRE    =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+         LIST_ORDRE    =SIMP(statut='f',typ=listis_sdaster),
+         INST          =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+         LIST_INST     =SIMP(statut='f',typ=listr8_sdaster),
+             b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
+               PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
+               CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
              ),
-         MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),
-         GROUP_MA_FLUIDE =SIMP(statut='o',typ=grma),
-         GROUP_MA_INTERF =SIMP(statut='o',typ=grma),
-         MODELISATION    =SIMP(statut='o',typ='TXM',into=("PLAN","AXIS","3D")),
-         FLUIDE          =FACT(statut='o',max='**',
-           RHO             =SIMP(statut='o',typ='R'),
-           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
-           GROUP_MA        =SIMP(statut='f',typ=grma),
-           MAILLE          =SIMP(statut='f',typ=ma),
-         ),
-         DDL_IMPO        =FACT(statut='o',max='**',
-           regles=(UN_PARMI('NOEUD','GROUP_NO'),
-                   UN_PARMI('PRES_FLUIDE','PRES_SORTIE'),),
-           NOEUD           =SIMP(statut='f',typ=no),
-           GROUP_NO        =SIMP(statut='f',typ=grno),
-           PRES_FLUIDE     =SIMP(statut='f',typ='R'),
-           PRES_SORTIE     =SIMP(statut='f',typ='R'),
-         ),
-         ECOULEMENT      =FACT(statut='f',
-           GROUP_MA_1      =SIMP(statut='o',typ=grma),
-           GROUP_MA_2      =SIMP(statut='o',typ=grma),
-           VNOR_1          =SIMP(statut='o',typ='R'),
-           VNOR_2          =SIMP(statut='f',typ='R'),
-           POTENTIEL       =SIMP(statut='f',typ=evol_ther),
-         ),
-         MODE_MECA       =SIMP(statut='f',typ=mode_meca),
-         DEPL_IMPO       =SIMP(statut='f',typ=cham_no_sdaster),
-         MODELE_GENE     =SIMP(statut='f',typ=modele_gene),
-         NUME_DDL_GENE   =SIMP(statut='f',typ=nume_ddl_gene),
-         DIST_REFE       =SIMP(statut='f',typ='R',defaut= 1.0E-2),
-         MATR_MASS_AJOU  =SIMP(statut='f',typ=CO,),
-         MATR_RIGI_AJOU  =SIMP(statut='f',typ=CO,),
-         MATR_AMOR_AJOU  =SIMP(statut='f',typ=CO,),
-         MONO_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",),),
-         MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,),),
-         FORC_AJOU       =FACT(statut='f',max='**',
-           DIRECTION     =SIMP(statut='o',typ='R',max=3),
-           NOEUD         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-           GROUP_NO      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-           VECTEUR       =SIMP(statut='o',typ=CO),
-         ),
-         SOLVEUR         =FACT(statut='d',
-           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
-           b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
-           ),
-           b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
-           ),
-           b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
-                                   fr="Paramètres relatifs à la non iversibilité de la matrice à factorise",
-             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") ),
-             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
-             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
-           ),
-         ),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-         NOEUD_DOUBLE    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
-         AVEC_MODE_STAT  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
-)
-#& MODIF COMMANDE  DATE 12/06/2006   AUTEUR CIBHHLV L.VIVAN 
+         SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","SANS") ),
+         INFO          =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
+         VECT_K1       =SIMP(statut='f',typ='R',max=3,
+                             fr="Vecteur normal au plan de fissure, orienté de la lèvre inférieure vers la lèvre supérieure"),  
+         TITRE         =SIMP(statut='f',typ='TXM',max='**'),  
+)  ;
+#& MODIF COMMANDE  DATE 03/06/2008   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2002  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 C.MESSELIER-GOUZE
+#
+POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=table_sdaster,
+                   fr="Calcul des facteurs d'intensité de contraintes par la méthode K_BETA",
+                   reentrant='n',
+            UIinfo={"groupes":("Post traitements",)},
+         MAILLAGE      = SIMP(statut='o',typ=maillage_sdaster),
+         MATER_REV     = SIMP(statut='o',typ=mater_sdaster),
+         EPAIS_REV     = SIMP(statut='o',typ='R'),
+         FISSURE       = FACT(statut='o',
+            DECALAGE       = SIMP(statut='f',typ='R',defaut=-2.e-04),
+            PROFONDEUR     = SIMP(statut='o',typ='R'),
+            LONGUEUR       = SIMP(statut='o',typ='R'),
+            ORIENTATION    = SIMP(statut='o',typ='TXM',
+                                 into=("CIRC","LONGI"),),
+         ),
+         K1D           = FACT(statut='o',max='**',
+            TABL_MECA_REV  = SIMP(statut='o',typ=(table_sdaster)),
+            TABL_MECA_MDB  = SIMP(statut='o',typ=(table_sdaster)),
+            TABL_THER      = SIMP(statut='o',typ=(table_sdaster)),
+            INTITULE       = SIMP(statut='o',typ='TXM' ), 
+         ),
+         TITRE         = SIMP(statut='f',typ='TXM',max='**'),  
+);
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.                                 
+#
+# 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 PARTIC               
+#
+# 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 GALENNE E.GALENNE
+POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=table_sdaster,
+               fr="Vérification des critères de niveau 0 et certains critères de niveau A du RCC-M-B3200 (Edition 1991)",
+               reentrant='n',
+            UIinfo={"groupes":("Post traitements",)},
+         TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","DETAILS") ),
+         INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+         TYPE_RESU_MECA  =SIMP(statut='o',typ='TXM',into=("EVOLUTION","UNITAIRE","TUYAUTERIE") ),
 
-from Macro.macro_matr_asse_ops import macro_matr_asse_ops
-
-def macro_matr_asse_prod(self,NUME_DDL,MATR_ASSE,**args):
-  if not MATR_ASSE:  raise AsException("Impossible de typer les concepts resultats")
-  if not NUME_DDL :  raise AsException("Impossible de typer les concepts resultats")
-  if isinstance(NUME_DDL,CO) :
-    self.type_sdprod(NUME_DDL,nume_ddl_sdaster)
-  else:
-    self.type_sdprod(NUME_DDL,NUME_DDL.__class__)
-  for m in MATR_ASSE:
-    opti=m['OPTION']
-
-    if opti in ( "RIGI_MECA","RIGI_FLUI_STRU","RIGI_MECA_LAGR" ,
-       "MASS_MECA" , "MASS_FLUI_STRU" ,"RIGI_GEOM" ,"RIGI_ROTA",
-       "AMOR_MECA","IMPE_MECA","MASS_ID_MDEP_R","MASS_ID_MDNS_R",
-       "ONDE_FLUI","MASS_MECA_DIAG" ) : t=matr_asse_depl_r
-
-    if opti in ( "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",) : t=matr_asse_pres_c
-
-    if opti in ( "RIGI_THER","MASS_THER","RIGI_THER_CONV" ,
-       "RIGI_THER_CONV_D","MASS_ID_MTEM_R","MASS_ID_MTNS_R",) : t=matr_asse_temp_r
-
-    if opti == "RIGI_MECA_HYST"   : t= matr_asse_depl_c
+# ======================================================================
+     b_evolution  =BLOC(condition="(TYPE_RESU_MECA == 'EVOLUTION')",
 
-    self.type_sdprod(m['MATRICE'],t)
-  return None
+         OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
+                               into=("PM_PB","SN","FATIGUE_ZH210","AMORCAGE") ),
+         MATER           =SIMP(statut='o',typ=mater_sdaster ),
+         SY_MAX          =SIMP(statut='f',typ='R',
+                               fr="limite élastique utilisée pour le calcul du rochet thermique" ),
 
-MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops,
-            UIinfo={"groupes":("Matrices/vecteurs",)},
-                      sd_prod=macro_matr_asse_prod,
-                      fr="Calcul des matrices assemblées (rigidité, masse, amortissement,...) ",
-         MODELE          =SIMP(statut='o',typ=modele_sdaster),
-         CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
-         INST            =SIMP(statut='f',typ='R',defaut=0.),
-         CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
-         CHARGE          =SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**'),
-         CHAR_CINE       =SIMP(statut='f',typ=(char_cine_meca,char_cine_ther,char_cine_acou) ),
-         NUME_DDL        =SIMP(statut='o',typ=(nume_ddl_sdaster,CO)),
-         SOLVEUR         =FACT(statut='d',
-           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",
-                                 into=("LDLT","MULT_FRONT","GCPC","MUMPS")),
-           RENUM           =SIMP(statut='f',typ='TXM',into=("SANS","RCMK","MD","MDA","METIS")),
+         TRANSITOIRE     =FACT(statut='o',max='**',fr="transitoire à dépouiller",
+           regles=(EXCLUS('TOUT_ORDRE','INST','LIST_INST'),
+                   UN_PARMI('TABL_RESU_MECA','TABL_SIGM_THETA'),),
+           NB_OCCUR        =SIMP(statut='f',typ='I',defaut= 1,
+                                 fr="nombre d occurences réelles de ce transitoire" ),
+           TABL_RESU_MECA  =SIMP(statut='f',typ=table_sdaster,
+                                 fr="relevé des contraintes sur le chemin"),
+           TABL_SIGM_THER  =SIMP(statut='f',typ=table_sdaster,
+                                 fr="résultat sous chargement thermique seul" ),
+           TABL_RESU_PRES  =SIMP(statut='f',typ=table_sdaster,
+                                 fr="table relevé des contraintes sous chargement de pression" ),
+           TABL_SIGM_THETA =SIMP(statut='f',typ=table_sdaster,
+                                 fr="table relevé des contraintes a la distance d de la singularité pour chacun des angles THETA" ),
+           TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+           INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+           LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
+           b_inst          =BLOC(condition = "(INST != None) or (LIST_INST != None)" ,
+             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
+             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
+                                 ), 
+                             ),
          ),
 
-         MATR_ASSE       =FACT(statut='o',max='**',
-             MATRICE         =SIMP(statut='o',typ=CO),
-             OPTION          =SIMP(statut='o',typ='TXM',
-                                   into=("RIGI_MECA","MASS_MECA","MASS_MECA_DIAG",
-                                         "AMOR_MECA","RIGI_MECA_HYST","IMPE_MECA",
-                                         "ONDE_FLUI","RIGI_FLUI_STRU","MASS_FLUI_STRU",
-                                         "RIGI_ROTA","RIGI_GEOM","RIGI_MECA_LAGR",
-                                         "RIGI_THER","MASS_THER",
-                                         "RIGI_ACOU","MASS_ACOU","AMOR_ACOU",
-                                         "MASS_ID_MTEM_R","MASS_ID_MTNS_R","MASS_ID_MDEP_R","MASS_ID_MDNS_R",)
-                                   ),
+# ======================================================================
+     b_unitaire  =BLOC(condition="(TYPE_RESU_MECA == 'UNITAIRE')",
 
-             b_rigi_meca = BLOC( condition = "OPTION=='RIGI_MECA'",
-               MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
-             ),
+         OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
+                               into=("PM_PB","SN","FATIGUE") ),
+         MATER           =SIMP(statut='o',typ=mater_sdaster ),
+         SY_MAX          =SIMP(statut='f',typ='R',
+                               fr="limite élastique utilisée pourle calcul du rochet thermique" ),
+         TYPE_KE         =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
+                               fr="Ke meca seul ou partition mecanique + thermique" ),
+         CHAR_MECA   =FACT(statut='o',max='**',fr="Chargements mécaniques",
+                           regles=(UN_PARMI('MX','MX_TUBU'),),
+           NUME_CHAR     =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
+           NOM_CHAR      =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
+           TYPE_CHAR     =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",),
+           MX            =SIMP(statut='f',typ='R',fr="moment suivant x", ),
+           MX_TUBU       =SIMP(statut='f',typ='R',fr="moment suivant x, tubulure", ),
+           b_1_tenseur     =BLOC( condition = "MX != None",
+             FX            =SIMP(statut='f',typ='R',fr="effort suivant x", ),
+             FY            =SIMP(statut='f',typ='R',fr="effort suivant y", ),
+             FZ            =SIMP(statut='f',typ='R',fr="effort suivant z", ),
+             MY            =SIMP(statut='o',typ='R',fr="moment suivant y", ),
+             MZ            =SIMP(statut='o',typ='R',fr="moment suivant z", ),
+           ),
+           b_2_tenseurs    =BLOC( condition = "MX_TUBU != None",
+             FX_TUBU       =SIMP(statut='f',typ='R',fr="effort suivant x, tubulure", ),
+             FY_TUBU       =SIMP(statut='f',typ='R',fr="effort suivant y, tubulure", ),
+             FZ_TUBU       =SIMP(statut='f',typ='R',fr="effort suivant z, tubulure", ),
+             MY_TUBU       =SIMP(statut='o',typ='R',fr="moment suivant y, tubulure", ),
+             MZ_TUBU       =SIMP(statut='o',typ='R',fr="moment suivant z, tubulure", ),
+             FX_CORP       =SIMP(statut='f',typ='R',fr="effort suivant x, corps du piquage", ),
+             FY_CORP       =SIMP(statut='f',typ='R',fr="effort suivant y, corps du piquage", ),
+             FZ_CORP       =SIMP(statut='f',typ='R',fr="effort suivant z, corps du piquage", ),
+             MX_CORP       =SIMP(statut='o',typ='R',fr="moment suivant x, corps du piquage", ),
+             MY_CORP       =SIMP(statut='o',typ='R',fr="moment suivant y, corps du piquage", ),
+             MZ_CORP       =SIMP(statut='o',typ='R',fr="moment suivant z, corps du piquage", ),
+           ),
 
-             b_rigi_geom = BLOC( condition = "OPTION=='RIGI_GEOM'",
-               SIEF_ELGA       =SIMP(statut='o',typ=cham_elem),
-               MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
-             ),
+                         ),
+         RESU_MECA_UNIT =FACT(statut='o',fr="resultats mécaniques unitaires",
+                              regles=(UN_PARMI('TABL_MX','TABL_MX_TUBU'),),
+           TABL_MX       =SIMP(statut='f',typ=table_sdaster,
+                               fr="table relevé des contraintes pour chargement unitaire MX"),
+           TABL_MX_TUBU  =SIMP(statut='f',typ=table_sdaster,
+                               fr="table relevé des contraintes pour chargement unitaire MX_TUBU"),
+           b_1_tenseur     =BLOC( condition = "TABL_MX != None",
+             TABL_FX       =SIMP(statut='f',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire FX"),
+             TABL_FY       =SIMP(statut='f',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire FY"),
+             TABL_FZ       =SIMP(statut='f',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire FZ"),
+             TABL_MY       =SIMP(statut='o',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire MY"),
+             TABL_MZ       =SIMP(statut='o',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire MZ"),
+           ),
+           b_2_tenseurs    =BLOC( condition = "TABL_MX_TUBU != None",
+             TABL_FX_TUBU  =SIMP(statut='f',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire FX_TUBU"),
+             TABL_FY_TUBU  =SIMP(statut='f',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire FY_TUBU"),
+             TABL_FZ_TUBU  =SIMP(statut='f',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire FZ_TUBU"),
+             TABL_MY_TUBU  =SIMP(statut='o',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire MY_TUBU"),
+             TABL_MZ_TUBU  =SIMP(statut='o',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire MZ_TUBU"),
+             TABL_FX_CORP  =SIMP(statut='f',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire FX_CORP"),
+             TABL_FY_CORP  =SIMP(statut='f',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire FY_CORP"),
+             TABL_FZ_CORP  =SIMP(statut='f',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire FZ_CORP"),
+             TABL_MX_CORP  =SIMP(statut='o',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire MX_CORP"),
+             TABL_MY_CORP  =SIMP(statut='o',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire MY_CORP"),
+             TABL_MZ_CORP  =SIMP(statut='o',typ=table_sdaster,
+                                 fr="table relevé des contraintes pour chargement unitaire MZ_CORP"),
+           ),
+           TABL_PRES     =SIMP(statut='o',typ=table_sdaster,
+                               fr="table relevé des contraintes pour chargement unitaire de pression"),
+                         ),
 
-             b_rigi_meca_lagr = BLOC( condition = "OPTION=='RIGI_MECA_LAGR'",
-               THETA           =SIMP(statut='o',typ=theta_geom),
-               PROPAGATION     =SIMP(statut='f',typ='R'),
-             ),
+          RESU_THER   =FACT(statut='f',max='**',fr="resultats thermiques",
+           NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
+           TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
+                              fr="table relevé des contraintes sous chargement thermique seul" ),
+                           ),
+         SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
+              NB_OCCUR         =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
+              NB_CYCL_SEISME   =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ),
+              NUME_SITU        =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
+              NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
+              COMBINABLE       =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
+              NUME_GROUPE      =SIMP(statut='f',typ='I',max=2,
+                 fr="numéro du groupe de la situation,si 2 numéros cette situation est une situation de passage" ),
+              NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
+              CHAR_ETAT_A      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
+              CHAR_ETAT_B      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
+              PRES_A           =SIMP(statut='o',typ='R',fr="pression etat A"),
+              PRES_B           =SIMP(statut='o',typ='R',fr="pression etat B"),
+              TEMP_REF_A       =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
+              TEMP_REF_B       =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
+                               ),
+                      ),
+# ======================================================================
+     b_tuyauterie  =BLOC(condition="(TYPE_RESU_MECA == 'TUYAUTERIE')",
 
-             b_rigi_ther = BLOC( condition = "OPTION=='RIGI_THER'",
-               MODE_FOURIER    =SIMP(statut='f',typ='I',defaut= 0),
+         OPTION          =SIMP(statut='o',typ='TXM',into=("FATIGUE",) ),
+         CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
+         TYPE_KE         =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
+                               fr="Ke meca seul ou partition mecanique + thermique" ),
+         MODELE          =SIMP(statut='o',typ=modele_sdaster),
+         CARA_ELEM       =SIMP(statut='o',typ=cara_elem),
+         ZONE_ANALYSE =FACT(statut='o',fr="liste des mailles ou des noeuds analysés",
+            regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+            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='**'),
+            ),
+         RESU_MECA   =FACT(statut='o',max='**',fr="Chargements mécaniques",
+           regles=(UN_PARMI('CHAM_GD','RESULTAT'),),
+           NUME_CHAR     =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
+           NOM_CHAR      =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
+           TYPE_CHAR     =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",),
+           CHAM_GD         =SIMP(statut='f',typ=cham_gd_sdaster),
+           RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
+           b_extrac        =BLOC(condition="RESULTAT != None",
+                                 fr="extraction d un champ de grandeur",
+             regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','NOEUD_CMP'),),
+             NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO_DEPL","SIEF_ELNO_ELGA"),),
+             TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+             NUME_ORDRE      =SIMP(statut='f',typ='I',),
+             INST            =SIMP(statut='f',typ='R',),
+             NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+             b_acce_reel     =BLOC(condition="(INST != None)",
+               PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
+               CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), ),
              ),
-
-         ), # fin MATR_ASSE
-
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
+           ),
+                          ),
+         INDI_SIGM =FACT(statut='o',max='**',fr="indices de contraintes",
+            regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+            C1              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C1 du RCCM"),
+            K1              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K1 du RCCM"),
+            C2              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C2 du RCCM"),
+            K2              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K2 du RCCM"),
+            C3              =SIMP(statut='f',typ='R',defaut=0.5,fr="indice de contraintes C3 du RCCM"),
+            K3              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K3 du RCCM"),
+            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),),
+            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
+                             fr="groupe(s) de mailles ou sont affectés les indices de contraintes"),
+            MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',
+                             fr="liste des mailles ou sont affectés les indices de contraintes"),
+            b_grma     =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
+               GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+               NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+            ),
+            TYPE_ELEM_STANDARD =SIMP(statut='f',typ='TXM',into=("DRO","COU","TRN","TEE"),
+                              fr="type d'élément de tuyauterie ou sont affectés les indices de contraintes"),
+                         ),
+          RESU_THER   =FACT(statut='f',max='**',fr="resultats thermiques",
+            regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
+            NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
+            TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
+                              fr="table relevé des températures sur la section"),
+            TABL_MOYE_THER =SIMP(statut='o',typ=table_sdaster,
+                              fr="table relevé des moyennes sur la section"),
+            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='**'),
+            b_grma     =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
+               GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+               NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+            ),
+                           ),
+         SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
+              NB_OCCUR         =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
+              NB_CYCL_SEISME   =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ),
+              NUME_SITU        =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
+              NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
+              COMBINABLE       =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
+              NUME_GROUPE      =SIMP(statut='f',typ='I',max=2,
+                 fr="numéro du groupe de la situation,si 2 numéros cette situation est une situation de passage" ),
+              NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
+              CHAR_ETAT_A      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
+              CHAR_ETAT_B      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
+              PRES_A           =SIMP(statut='o',typ='R',fr="pression etat A"),
+              PRES_B           =SIMP(statut='o',typ='R',fr="pression etat B"),
+              TEMP_REF_A       =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
+              TEMP_REF_B       =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
+                               ),
+               ),
 )  ;
-#& MODIF COMMANDE  DATE 29/05/2007   AUTEUR VOLDOIRE F.VOLDOIRE 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 # ======================================================================
+#            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
@@ -18857,145 +19963,143 @@ MACRO_MATR_ASSE=MACRO(nom="MACRO_MATR_ASSE",op=macro_matr_asse_ops,
 # 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
+POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=table_sdaster,reentrant='f',
+            fr="Extraire des valeurs de composantes de champs de grandeurs pour y effectuer des calculs (moyenne,invariants,..)"
+               +" ou pour les exprimer dans d'autres repères",
+            docu="U4.81.21",UIinfo={"groupes":("Post traitements",)},
 
-from Macro.macro_miss_3d_ops import macro_miss_3d_ops
+         ACTION          =FACT(statut='o',max='**',
+                               regles=(UN_PARMI('RESULTAT','CHAM_GD'),), 
 
-MACRO_MISS_3D=MACRO(nom="MACRO_MISS_3D",op=macro_miss_3d_ops,
-            fr="Préparation des données puis exécution du logiciel MISS3D",
-            UIinfo={"groupes":("Matrices/vecteurs",)},
-         OPTION          =FACT(statut='o',
-           regles=(UN_PARMI('TOUT','MODULE'),),
-           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
-           MODULE          =SIMP(statut='f',typ='TXM',into=("PRE_MISS","MISS_EVOL","MISS_IMPE")),
-         ),
-         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_3"),
-         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('FREQ_MIN','FREQ_MAX','FREQ_PAS'),
-                   PRESENT_PRESENT('CONTR_NB','CONTR_LISTE'),
-                   PRESENT_PRESENT('LFREQ_NB','LFREQ_LISTE'),
-                   PRESENT_PRESENT('OFFSET_MAX','OFFSET_NB'),
-                   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'),
-           Z0              =SIMP(statut='f',typ='R'), 
-           SURF            =SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"),
-           RFIC            =SIMP(statut='f',typ='R'),
-           FICH_RESU_IMPE  =SIMP(statut='f',typ='TXM'),
-           FICH_RESU_FORC  =SIMP(statut='f',typ='TXM'),
-           TYPE            =SIMP(statut='f',typ='TXM',into=("BINAIRE","ASCII",),defaut="ASCII"),
-           DREF            =SIMP(statut='f',typ='R'),
-           ALGO            =SIMP(statut='f',typ='TXM',into=("DEPL","REGU")),
-           OFFSET_MAX      =SIMP(statut='f',typ='R'),
-           OFFSET_NB       =SIMP(statut='f',typ='I'),
-           SPEC_MAX        =SIMP(statut='f',typ='R'),
-           SPEC_NB         =SIMP(statut='f',typ='I'),
-           ISSF            =SIMP(statut='f',typ='TXM',into=("OUI","NON",),defaut="NON"),
-           FICH_POST_TRAI  =SIMP(statut='f',typ='TXM'),
-           CONTR_NB        =SIMP(statut='f',typ='I'),
-           CONTR_LISTE     =SIMP(statut='f',typ='R',max='**'),
-           LFREQ_NB        =SIMP(statut='f',typ='I'),
-           LFREQ_LISTE     =SIMP(statut='f',typ='R',max='**'),
-         ),
-)  ;
-#& MODIF COMMANDE  DATE 30/10/2007   AUTEUR BOYERE E.BOYERE 
-#            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.                                 
+           OPERATION       =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE","EXTREMA"),validators=NoRepeat(),max=2),
+           INTITULE        =SIMP(statut='o',typ='TXM'),  
+
+           CHAM_GD         =SIMP(statut='f',typ=(cham_no_sdaster,
+                                                 cham_elem,),),
+           RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
 #
-# 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.                            
+#  1. Sensibilité
+#  1.1. Cas d'un résultat réel
+#       Cas d'un résultat harmonique dont on veut partie réelle ou imaginaire
 #
-# 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.      
-# ======================================================================
+           b_sensibilite   =BLOC(condition=" (RESULTAT != None) and \
+                                      (   AsType(RESULTAT) in (evol_elas,evol_ther,evol_noli,dyna_trans, \
+                                                               mode_meca,mode_flamb,mode_acou,base_modale,mode_stat, \
+                                                               mult_elas,fourier_elas,fourier_ther) or \
+                                        ( AsType(RESULTAT) in (dyna_harmo,acou_harmo) and FORMAT_C != 'MODULE' ) )",
+                                 fr="Définition des paramètres de sensibilité",
+                                 ang="Definition of sensitivity parameters",
+             regles=(CONCEPT_SENSIBLE("SEPARE"), REUSE_SENSIBLE(),
+                     DERIVABLE('RESULTAT'),),
+             SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
+                                   fr="Liste des paramètres de sensibilité.",
+                                   ang="List of sensitivity parameters"),
 
-from Macro.macro_mode_meca_ops import macro_mode_meca_ops
+           ),
+#
+#  1.2. Cas d'un résultat harmonique dont on veut le module
+#
+           b_sensibilite_harmo =BLOC(condition=" (RESULTAT != None) and \
+                                      ( AsType(RESULTAT) in (dyna_harmo,acou_harmo) and FORMAT_C == 'MODULE' )",
+                                     fr="Définition des paramètres de sensibilité",
+                                     ang="Definition of sensitivity parameters",
+             regles=(CONCEPT_SENSIBLE("SEPARE"), REUSE_SENSIBLE(),
+                     DERIVABLE('RESULTAT'),),
+             SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
+                                   fr="Liste des paramètres de sensibilité.",
+                                   ang="List of sensitivity parameters"),
+               b_sensibilite_harmo =BLOC(condition=" SENSIBILITE != None",
+                                         fr="Option pour la sensibilite",
+                                         ang="Option for sensitivity",
+               SENSIBILITE_OPTION =SIMP(statut='o',typ='TXM',into=("MODULE_SENSIBILITE","SENSIBILITE_MODULE",),
+                                        fr="Option : module de la dérivée ou dérivée du module",
+                                        ang="Option : modulus of derivative or derivative of modulus"),
+               ),
+           ),
+
+           b_extrac        =BLOC(condition = "RESULTAT != None",fr="extraction des résultats",
+                                 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','NUME_MODE','LIST_MODE',         
+                                                'INST','LIST_INST','FREQ','LIST_FREQ','NOEUD_CMP','NOM_CAS'), ),           
+             NOM_CHAM        =SIMP(statut='o',typ='TXM' ),  
+             TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+             NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
+             LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
+             NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
+             LIST_MODE       =SIMP(statut='f',typ=listis_sdaster),
+             NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+             NOM_CAS         =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),  
+             FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
+             LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
+             INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
+             LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
+             PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
+             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+           ),
+
+           b_extrema   =BLOC(condition="OPERATION == 'EXTREMA'",
+                             fr="recherche de MIN MAX",
+                             regles=(EXCLUS('TOUT_CMP','NOM_CMP'),),
+              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='**'),
+              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+              TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",)),
+              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),  
+           ),
+
+           b_autre   =BLOC(condition="OPERATION != 'EXTREMA'",
+                           fr="extraction et moyenne",
+                           regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'),
+                                   EXCLUS('CHEMIN','GROUP_NO'),
+                                   EXCLUS('CHEMIN','NOEUD'),
+                                   PRESENT_ABSENT('CHEMIN','GROUP_MA','MAILLE'),
+                                   UN_PARMI('TOUT_CMP','NOM_CMP','INVARIANT','ELEM_PRINCIPAUX','RESULTANTE'),
+                                   PRESENT_PRESENT('TRAC_DIR','DIRECTION'),          
+                                   ENSEMBLE('MOMENT','POINT'),
+                                   PRESENT_PRESENT('MOMENT','RESULTANTE'),
+                                   PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'),
+                                   EXCLUS('TRAC_DIR','TRAC_NOR'),
+                                   PRESENT_PRESENT('ORIGINE','AXE_Z'),),
+                   
+              CHEMIN          =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster) ),
+              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='**'),
+              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+
+              TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",)),
+              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),  
+              INVARIANT       =SIMP(statut='f',typ='TXM',into=("OUI",)),
+              ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+              RESULTANTE      =SIMP(statut='f',typ='TXM',max='**'),  
+
+              MOMENT          =SIMP(statut='f',typ='TXM',max='**'),  
+              POINT           =SIMP(statut='f',typ='R',max='**'),  
+
+              REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL",
+                                 into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),),
+              ANGL_NAUT       =SIMP(statut='f',typ='R',min=3,max=3),  
+              ORIGINE         =SIMP(statut='f',typ='R',min=3,max=3),  
+              AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),  
+
+              TRAC_NOR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
+              TRAC_DIR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
+              DIRECTION       =SIMP(statut='f',typ='R',max='**'),  
+              VECT_Y          =SIMP(statut='f',typ='R',max='**'),  
+              MOYE_NOEUD      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
+           ),
+
+           FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")),
 
-MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=mode_meca,
-                     reentrant='n',fr="Lancer une succession de calculs de modes propres réels",
-            UIinfo={"groupes":("Résolution",)},
-         MATR_A          =SIMP(statut='o',typ=matr_asse_depl_r ),
-         MATR_B          =SIMP(statut='o',typ=matr_asse_depl_r ),
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
-#  ce mot cle ne devrait il pas etre dans calc_freq  
-         METHODE         =SIMP(statut='f',typ='TXM',defaut="SORENSEN",    
-                               into=("TRI_DIAG","JACOBI","SORENSEN",) ),
-         b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
-           PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
-           NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
-           PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
-           NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), 
-         ),
-         b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
-           PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
-           NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
-           PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
-           NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
-         ),
-         b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
-           PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),  
-           NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),  
-           PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ),
-         ),
-         OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",    
-                               into=("MODE_RIGIDE","SANS") ),
-         CALC_FREQ       =FACT(statut='d',min=0,
-           regles=(UN_PARMI('FREQ','FREQ_MAX'),
-                   PRESENT_PRESENT('FREQ_MIN','FREQ_MAX'),
-                   PRESENT_PRESENT('FREQ_MAX','NB_BLOC_FREQ'),
-                   EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
-           FREQ            =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max='**', ),  
-           FREQ_MIN        =SIMP(statut='f',typ='R' ),  
-           FREQ_MAX        =SIMP(statut='f',typ='R' ),  
-           NB_BLOC_FREQ    =SIMP(statut='f',typ='I' ),  
-           DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),  
-           COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
-           NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8 ),  
-           NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5 ),  
-           PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2 ),  
-           SEUIL_FREQ      =SIMP(statut='f',typ='R' ,defaut= 1.E-2 ),  
-           STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="NON" ,into=("OUI","NON") ),
-         ),
-         VERI_MODE       =FACT(statut='d',min=0,
-           STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-           SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6 ),  
-           PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3 ),  
-           STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-         ),
-         NORM_MODE       =FACT(statut='o',max='**',
-           NORME           =SIMP(statut='f',typ='TXM',defaut="TRAN_ROTA",    
-                                 into=("MASS_GENE","RIGI_GENE","EUCL",           
-                                       "EUCL_TRAN","TRAN","TRAN_ROTA") ),
-           INFO            =SIMP(statut='f',typ='I',defaut= 1 ,into=(1,2) ),
-         ),
-         FILTRE_MODE     =FACT(statut='f',
-           CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
-                                 into=("MASS_EFFE_UN","MASS_GENE") ),
-           SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
-         ),
-         IMPRESSION      =FACT(statut='d',
-           TOUT_PARA       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-           CUMUL           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-           CRIT_EXTR       =SIMP(statut='f',typ='TXM',defaut="MASS_EFFE_UN",    
-                                 into=("MASS_EFFE_UN","MASS_GENE",) ),
          ),
+         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
 )  ;
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19013,263 +20117,109 @@ MACRO_MODE_MECA=MACRO(nom="MACRO_MODE_MECA",op=macro_mode_meca_ops,sd_prod=mode_
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-
-from Macro.macro_proj_base_ops import macro_proj_base_ops
-
-def macro_proj_base_prod(self,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,**args ):
-  if MATR_ASSE_GENE != None:
-    for m in MATR_ASSE_GENE:
-      self.type_sdprod(m['MATRICE'],matr_asse_gene_r)
-  if VECT_ASSE_GENE != None:
-    for v in VECT_ASSE_GENE:
-      self.type_sdprod(v['VECTEUR'],vect_asse_gene)
-  return None
-
-MACRO_PROJ_BASE=MACRO(nom="MACRO_PROJ_BASE",op=macro_proj_base_ops,
-         regles=(AU_MOINS_UN('MATR_ASSE_GENE','VECT_ASSE_GENE')),
-            UIinfo={"groupes":("Matrices/vecteurs",)},
-                      sd_prod=macro_proj_base_prod,
-         fr="Projection des matrices et/ou vecteurs assemblés sur une base (modale ou de RITZ)",
-         BASE            =SIMP(statut='o',typ=(mode_meca,mode_stat,base_modale,mode_gene) ),
-         NB_VECT         =SIMP(statut='f',typ='I',defaut= 9999),
-         PROFIL          =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("PLEIN","DIAG") ),
-         MATR_ASSE_GENE  =FACT(statut='f',max='**',
-           MATRICE         =SIMP(statut='o',typ=CO,),
-           regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE',),),
-           MATR_ASSE       =SIMP(statut='f',typ=matr_asse_depl_r),
-           MATR_ASSE_GENE  =SIMP(statut='f',typ=matr_asse_gene_r),
-         ),
-         VECT_ASSE_GENE  =FACT(statut='f',max='**',
-           VECTEUR         =SIMP(statut='o',typ=CO,),
-           regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE',),),
-           TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),
-           VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster),
-           VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene),
-         ),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-)  ;
-#& MODIF COMMANDE  DATE 02/04/2007   AUTEUR BODEL C.BODEL 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2006  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.        
-# ======================================================================
-
-from Macro.macro_visu_meidee_ops import macro_visu_meidee_ops
-
-def macro_visu_meidee_prod(self,RESULTATS,**args):
-    if RESULTATS != None:
-        for res in RESULTATS:
-            if isinstance(res['TABLE'],CO) :
-                if res['TYPE_TABLE'] == 'TABLE':
-                    self.type_sdprod(res['TABLE'],table_sdaster)
-                else:
-                    self.type_sdprod(res['TABLE'],table_fonction)
-
-    return None
-
-MACRO_VISU_MEIDEE=MACRO(nom       = 'MACRO_VISU_MEIDEE',
-                        op        = macro_visu_meidee_ops,
-                        sd_prod   = macro_visu_meidee_prod,
-                        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' ),
-                        RESULTATS   = FACT( statut='f',max='**',
-                                            TABLE  = SIMP(statut='o',typ=(table_sdaster,table_fonction,CO)),
-                                            TYPE_TABLE = SIMP(statut='f',typ='TXM',defaut='TABLE', into=('TABLE','TABLE_FONCTION')),
-                                          ),
-                        UNITE_RESU = SIMP( statut='f',typ='I',defaut=6),
-
-                        b_inter    = BLOC( condition="INTERACTIF=='NON'",
-
-                             EXPANSION        = FACT( statut='f',max='**',
-                                                      CALCUL     = SIMP(statut='o',typ=mode_meca),
-                                                      MESURE     = SIMP(statut='o',typ=mode_meca),
-                                                      RESOLUTION = SIMP(statut='f',typ='TXM',defaut='SVD',into=('SVD','LU')),
-                                                      b_reso     = BLOC(condition = "RESOLUTION=='SVD'",
-                                                                        EPS = SIMP(statut='f',typ='R', defaut = 0.)
-                                                                       )
-                                                    ),
-                             FLUIDE_ELASTIQUE = 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),
-                                                      RESU_EXPANSION = SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
-                                                      b_base   = BLOC(condition = "RESU_EXPANSION=='NON'",
-                                                                      BASE = SIMP(statut='o',typ=mode_meca),
-                                                                     ) 
-                                                    ),
-                             TURBULENT        = FACT( statut='f',max='**',   
-                                                      ALPHA   = SIMP(statut='f',typ='R', defaut = 0.),
-                                                      EPS     = SIMP(statut='f',typ='R', defaut = 0.),
-                                                      IDENTIFICATION_MOMENTS = SIMP(statut='f',typ='TXM',defaut='NON',
-                                                                                    into=('OUI','NON')),
-                                                      OBSERVABILITE  = SIMP(statut='o',typ=mode_meca),
-                                                      COMMANDABILITE = SIMP(statut='o',typ=mode_meca),
-                                                      INTE_SPEC      = SIMP(statut='o',typ=table_sdaster),
-                                                      RESU_EXPANSION = SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
-                                                      b_base         = BLOC(condition = "RESU_EXPANSION=='NON'",
-                                                                            BASE = SIMP(statut='o',typ=mode_meca),
-                                                                           ),
-                                                     )
-                                         )
-                        )
-
-#& MODIF COMMANDE  DATE 15/05/2007   AUTEUR ASSIRE A.ASSIRE 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2002  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.        
-# ======================================================================
-   
-from Macro.macr_recal_ops import macr_recal_ops
-
-def macr_recal_prod(self,**args ):
-  return listr8_sdaster
-
-MACR_RECAL = MACRO(nom="MACR_RECAL",op=macr_recal_ops,
-            UIinfo={"groupes":("Résultats et champs",)},
-                      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'),
-                            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"),
-         ),
-
-         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"),),
-
-         METHODE         =SIMP(statut='f',typ='TXM',defaut='LEVENBERG',into=("LEVENBERG","FMIN","FMINBFGS","FMINNCG","EXTERNE")),
-
-         b_gradient =BLOC(condition = "METHODE == 'FMINBFGS' or METHODE == 'FMINNCG'" ,
-            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_type_fonctionnelle =BLOC(condition = "METHODE == 'EXTERNE'" ,
-            FONCTIONNELLE   =SIMP(statut='f',typ='TXM',defaut='SCALAIRE',into=("SCALAIRE","VECTORIELLE")),
-         ),
-
-         INFO            =SIMP(statut='f',typ='I',defaut=2,into=( 1, 2 ) ),
-);
-#& MODIF COMMANDE  DATE 09/01/2007   AUTEUR ABBAS M.ABBAS 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2006  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.        
-# ======================================================================
-
-from Macro.macr_spectre_ops import macr_spectre_ops
-
-MACR_SPECTRE=MACRO(nom="MACR_SPECTRE",op=macr_spectre_ops,sd_prod=table_sdaster,
-                       reentrant='n', UIinfo={"groupes":("Outils métier",)},
-                       fr="calcul de spectre, post-traitement de séisme",
-         MAILLAGE      =SIMP(statut='o',typ=maillage_sdaster,),
-         PLANCHER      =FACT(statut='o',max='**',
-            regles=(AU_MOINS_UN('NOEUD','GROUP_NO' ),),
-            NOM           =SIMP(statut='o',typ='TXM',),
-            GROUP_NO      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-            NOEUD         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'), ),
-         NOM_CHAM      =SIMP(statut='o',typ='TXM' ,into=('ACCE','DEPL')),
-         CALCUL        =SIMP(statut='o',typ='TXM' ,into=('ABSOLU','RELATIF'),position='global'),
-         b_acce  =BLOC( condition = "NOM_CHAM=='ACCE'",
-           regles=(UN_PARMI('LIST_FREQ','FREQ'),),
-           AMOR_SPEC     =SIMP(statut='o',typ='R',max='**'),
-           LIST_INST     =SIMP(statut='f',typ=listr8_sdaster ),
-           LIST_FREQ     =SIMP(statut='f',typ=listr8_sdaster ),
-           FREQ          =SIMP(statut='f',typ='R',max='**'),
-           NORME         =SIMP(statut='o',typ='R'),  
-           RESU          =FACT(statut='o',max='**',
-                regles=(UN_PARMI('RESU_GENE','RESULTAT'),),
-                RESU_GENE     =SIMP(statut='f',typ=tran_gene),
-                RESULTAT      =SIMP(statut='f',typ=(dyna_trans,evol_noli)),
-                b_calc  =BLOC( condition = "CALCUL=='RELATIF'",
-                   ACCE_X        =SIMP(statut='o',typ=fonction_sdaster),
-                   ACCE_Y        =SIMP(statut='o',typ=fonction_sdaster),
-                   ACCE_Z        =SIMP(statut='o',typ=fonction_sdaster),), ),
-           IMPRESSION    =FACT(statut='f',
-                TRI           =SIMP(statut='f',typ='TXM',defaut='AMOR_SPEC',into=("AMOR_SPEC","DIRECTION",),),
-                FORMAT        =SIMP(statut='f',typ='TXM',defaut='TABLEAU',into=("TABLEAU","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"),
-                b_pilote = BLOC(condition = "FORMAT == 'XMGRACE'",
-                   PILOTE        =SIMP(statut='f',typ='TXM',defaut='',
-                                 into=('','POSTSCRIPT','EPS','MIF','SVG','PNM','PNG','JPEG','PDF','INTERACTIF'),),),
-                TOUT          =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON",),),
-                              ),
+# RESPONSABLE ZENTNER I.ZENTNER
+POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=table_sdaster,reentrant='f',
+            UIinfo={"groupes":("Post traitements",)},
+                fr="Calcul des volumes d'usure et des profondeurs d'usure d'après la puissance d'usure",
+         regles=(UN_PARMI('TUBE_NEUF','RESU_GENE','PUIS_USURE'),
+                 PRESENT_PRESENT('RESU_GENE','NOEUD','LOI_USURE'),
+                 PRESENT_PRESENT('PUIS_USURE','LOI_USURE'),),
+         TUBE_NEUF       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         ETAT_INIT       =FACT(statut='f',
+           TABL_USURE      =SIMP(statut='f',typ=table_sdaster),
+           INST_INIT       =SIMP(statut='f',typ='R'),  
+                         ),
+         RESU_GENE       =SIMP(statut='f',typ=tran_gene),
+         NOEUD           =SIMP(statut='f',typ=no,),
+         INST_INIT       =SIMP(statut='f',typ='R',defaut=-1.0E+0),  
+         INST_FIN        =SIMP(statut='f',typ='R'),  
+         NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
+         PUIS_USURE      =SIMP(statut='f',typ='R'),  
+         LOI_USURE       =SIMP(statut='f',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")),
+         b_archard       =BLOC(condition = "LOI_USURE == 'ARCHARD'",
+           regles=(UN_PARMI('MOBILE','MATER_USURE','SECTEUR'), 
+                   EXCLUS('MATER_USURE','OBSTACLE'),
+                   EXCLUS('MOBILE','USURE_OBST'),),
+           MOBILE          =FACT(statut='f',
+             COEF_USURE      =SIMP(statut='o',typ='R'), 
+           ),   
+           OBSTACLE        =FACT(statut='f',
+             COEF_USURE      =SIMP(statut='o',typ='R'), 
+           ),
+           SECTEUR         =FACT(statut='f',max='**',
+             CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",  
+                                                              "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", 
+                                                              "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
+             COEF_USUR_MOBILE=SIMP(statut='f',typ='R'),  
+             COEF_USUR_OBST  =SIMP(statut='f',typ='R'),  
+             ANGL_INIT       =SIMP(statut='f',typ='R'),  
+             ANGL_FIN        =SIMP(statut='f',typ='R'),  
+           ),
+           MATER_USURE     =SIMP(statut='f',typ='TXM'),  
+           USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
          ),
-         b_depl  =BLOC( condition = "NOM_CHAM=='DEPL'",
-           LIST_INST     =SIMP(statut='f',typ=listr8_sdaster),  
-           RESU          =FACT(statut='o',max=3,
-                regles=(UN_PARMI('RESU_GENE','RESULTAT'),),
-                RESU_GENE     =SIMP(statut='f',typ=tran_gene),
-                RESULTAT      =SIMP(statut='f',typ=(dyna_trans,evol_noli)),
-                b_calc  =BLOC( condition = "CALCUL=='ABSOLU'",
-                   DEPL_X        =SIMP(statut='o',typ=fonction_sdaster),
-                   DEPL_Y        =SIMP(statut='o',typ=fonction_sdaster),
-                   DEPL_Z        =SIMP(statut='o',typ=fonction_sdaster),),),
+         b_kwu_epri        =BLOC(condition = "LOI_USURE == 'KWU_EPRI'",
+           regles=(UN_PARMI('MOBILE','MATER_USURE'), 
+                   EXCLUS('MATER_USURE','OBSTACLE'),
+                   EXCLUS('MOBILE','USURE_OBST'),),
+           MOBILE          =FACT(statut='f',
+             COEF_FNOR       =SIMP(statut='f',typ='R'),  
+             COEF_VTAN       =SIMP(statut='f',typ='R'),  
+             COEF_USURE      =SIMP(statut='f',typ='R'),  
+             COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
+             COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
+           ),   
+           OBSTACLE        =FACT(statut='f',
+             COEF_FNOR       =SIMP(statut='f',typ='R' ),  
+             COEF_VTAN       =SIMP(statut='f',typ='R' ),  
+             COEF_USURE      =SIMP(statut='o',typ='R'), 
+             COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
+             COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
+           ),   
+           MATER_USURE     =SIMP(statut='f',typ='TXM'),  
+           USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
+           FNOR_MAXI       =SIMP(statut='f',typ='R' ),  
+           VTAN_MAXI       =SIMP(statut='f',typ='R' ),  
          ),
-)
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
+         b_edf_mz          =BLOC(condition = "LOI_USURE == 'EDF_MZ'",
+           regles=(UN_PARMI('MOBILE','MATER_USURE'), 
+                   EXCLUS('MATER_USURE','OBSTACLE'),
+                   EXCLUS('MOBILE','USURE_OBST'),),
+           MOBILE          =FACT(statut='f',
+             COEF_USURE      =SIMP(statut='f',typ='R',defaut=1.0E-13),  
+             COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
+             COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
+             COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
+           ),   
+           OBSTACLE        =FACT(statut='f',
+             COEF_USURE      =SIMP(statut='o',typ='R',defaut=1.0E-13), 
+             COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
+             COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
+             COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
+           ),   
+           MATER_USURE     =SIMP(statut='f',typ='TXM'),  
+           USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
+         ),
+         b_tube_neuf       =BLOC(condition = "TUBE_NEUF == 'OUI'",
+            TABL_USURE      =SIMP(statut='o',typ=table_sdaster),
+            INST            =SIMP(statut='f',typ='R'),
+         ),
+         CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",    
+                                                          "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE",        
+                                                          "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
+         RAYON_MOBILE    =SIMP(statut='f',typ='R'),  
+         RAYON_OBST      =SIMP(statut='f',typ='R'),  
+         LARGEUR_OBST    =SIMP(statut='f',typ='R'),  
+         ANGL_INCLI      =SIMP(statut='f',typ='R'),  
+         ANGL_ISTHME     =SIMP(statut='f',typ='R'),  
+         ANGL_IMPACT     =SIMP(statut='f',typ='R'),  
+         INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
+         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
+         COEF_INST       =SIMP(statut='f',typ='R',defaut=1.0E+0),  
+         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
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19287,14 +20237,35 @@ MACR_SPECTRE=MACRO(nom="MACR_SPECTRE",op=macr_spectre_ops,sd_prod=table_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-MAJ_CATA=PROC(nom="MAJ_CATA",op=20,
-            UIinfo={"groupes":("Gestion du travail",)},
-              fr="Compilation des catalogues de commandes et d'éléments",
-
-         ELEMENT         =FACT(statut='f',),
+# RESPONSABLE TAHERI S.TAHERI
+POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,reentrant='n',
+            UIinfo={"groupes":("Post traitements",)},
+              fr="Déterminer l'état adapté ou accommodé par la méthode de Zarka-Casier d'une structure sous"
+                +" chargement cyclique élastique affine ou non",
+         MODELE          =SIMP(statut='o',typ=modele_sdaster),
+         CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
+         EXCIT           =FACT(statut='o',max='**',
+           CHARGE          =SIMP(statut='o',typ=char_meca),
+           FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",into=("FIXE_CSTE",)),
+         ),
+         EVOL_ELAS       =SIMP(statut='o',typ=evol_elas),
+         b_evol_elas     =BLOC(condition="EVOL_ELAS != None",
+           regles=(UN_PARMI('NUME_ORDRE','LIST_INST','INST'),),
+           NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
+           LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
+           INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
+         ),
+         TEMP_ZAC        =SIMP(statut='f',typ='R',defaut=0.0E+0),  
+         EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
+         b_evol_noli     =BLOC(condition="EVOL_NOLI != None",
+           INST_MAX        =SIMP(statut='o',typ='R'),  
+         ),
+         PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),  
+         CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
 
 )  ;
-#& MODIF COMMANDE  DATE 23/10/2007   AUTEUR BOITEAU O.BOITEAU 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19312,97 +20283,125 @@ MAJ_CATA=PROC(nom="MAJ_CATA",op=20,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
-MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas,
-                   fr="Résoudre un problème de mécanique statique linéaire",reentrant='f',
-            UIinfo={"groupes":("Résolution",)},
-         regles=(EXCLUS("INST","LIST_INST"),
-                 AU_MOINS_UN('CHAM_MATER','CARA_ELEM',),
-                 CONCEPT_SENSIBLE('ENSEMBLE'),),
-         MODELE          =SIMP(statut='o',typ=modele_sdaster),
-         CHAM_MATER      =SIMP(statut='f',typ=cham_mater,
-         fr="le CHAM_MATER est nécessaire, sauf si le modèle ne contient que des éléments discrets (modélisations DIS_XXX)",
-         ang="CHAM_MATER is compulsory, except if the model contains only discret elements (modelizations DIS_XXX)"),
-         CARA_ELEM       =SIMP(statut='f',typ=cara_elem,
-         fr="le CARA_ELEM est nécessaire dès que le modèle contient des éléments de structure : coques, poutres, ...",
-         ang="CARA_ELEM is compulsory as soon as the model contains structural elements : plates, beams, ..."),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-         EXCIT           =FACT(statut='o',max='**',
-           CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
-           FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-           TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
+# RESPONSABLE LEFEBVRE J.P.LEFEBVRE
+
+POURSUITE=MACRO(nom="POURSUITE",op=ops.build_poursuite,repetable='n',
+                fr="Poursuite d'une étude à partir de la sauvegarde au format JEVEUX ou HDF de sa base globale",
+                sd_prod = ops.POURSUITE,
+            UIinfo={"groupes":("Gestion du travail",)},
+                op_init = ops.POURSUITE_context,fichier_ini = 1,
+         FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
+                               typ='TXM',defaut="NON",into=("OUI","NON",) ),
+         PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
+                           into=("OUI","NON"),defaut="OUI"),
+         IMPR_MACRO      =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess",
+                           statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"),
+         BASE            =FACT(fr="définition des paramètres associés aux bases JEVEUX",
+                               statut='f',min=1,max=2,
+           FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM'),
+           TITRE           =SIMP(statut='f',typ='TXM'),
+           CAS             =SIMP(statut='f',typ='TXM'),
+           NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
+           LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
+           LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
          ),
-         INST            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
-         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
-         INST_FIN        =SIMP(statut='f',typ='R'),
-         OPTION          =SIMP(statut='f',typ='TXM',into=("SIEF_ELGA_DEPL","SANS"),defaut="SIEF_ELGA_DEPL",max=1,
-             fr="seule option : contraintes aux points de Gauss. Utiliser CALC_ELEM pour les autres.",
-                          ),
-         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
-                               fr="Liste des paramètres de sensibilité.",
-                               ang="List of sensitivity parameters"),
+         IMPRESSION      =FACT(statut='f',min=1,max=3,
+           FICHIER         =SIMP(statut='o',typ='TXM'),
+           UNITE           =SIMP(statut='o',typ='I'),
+         ),
+         CATALOGUE       =FACT(statut='f',min=1,max=10,
+           FICHIER         =SIMP(statut='o',typ='TXM'),
+           TITRE           =SIMP(statut='f',typ='TXM'),
+           UNITE           =SIMP(statut='f',typ='I'),
+         ),
+         ERREUR          =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1,
+           ERREUR_F        =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),defaut='ABORT'),
+         ),
+         DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
+                               statut='f',min=1,max=1,
+           JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
+                                 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
+           SDVERI          =SIMP(fr="vérifie la conformité des SD produites par les commandes",
+                                 statut='f',typ='TXM',into=('OUI','NON')),
+           JEVEUX          =SIMP(fr="force les déchargement sur disque",
+                                 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
+           ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
+                                 statut='f',typ='TXM',into=('TEST',)),
+         ),
+         MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
+           GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
+           TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
+           TAILLE          =SIMP(statut='f',typ='I'),
+           TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
+           PARTITION       =SIMP(statut='f',typ='R' ),
+           DYNAMIQUE       =SIMP(statut='f',typ='I'),
+         ),
+         RESERVE_CPU     =FACT(fr="reserve de temps pour terminer une execution",statut='d',max=1,
+           regles=(EXCLUS('VALE','POURCENTAGE'),),
+           VALE            =SIMP(statut='f',typ='I',val_min=0),
+#                            valeur par défaut fixée à 10. dans le FORTRAN si CODE présent
+           POURCENTAGE     =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0),
+#                           valeur par défaut fixée à 10% dans le FORTRAN
+           BORNE           =SIMP(statut='f',typ='I',val_min=0,defaut=900) ),
+#          valeur en pourcentage du temps maximum bornée à 900 secondes
 
-         SOLVEUR         =FACT(statut='d',
-         METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","FETI","MUMPS") ),
+         CODE            =FACT("définition d'un nom pour l'ensemble d'une étude",
+                               statut='f',min=1,max=1,
+           NOM             =SIMP(statut='o',typ='TXM'),
+         ),
 
-           b_feti          =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1",
-             PARTITION       =SIMP(statut='o',typ=sd_feti_sdaster),
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
-             RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6,val_min=0.),
-             NMAX_ITER       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
-             REAC_RESI       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
-             TYPE_REORTHO_DD =SIMP(statut='f',typ='TXM',defaut="GSM",into=("SANS","GS","GSM","IGSM") ),
-             NB_REORTHO_DD   =SIMP(statut='f',typ='I',defaut=0,val_min=0),
-             NB_REORTHO_INST =SIMP(statut='f',typ='I',defaut=0,val_min=0),
-             PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LUMPE",into=("LUMPE","SANS") ),
-             SCALING         =SIMP(statut='f',typ='TXM',defaut="MULT",into=("SANS","MULT") ),
-             VERIF_SDFETI    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-             TEST_CONTINU    =SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.),
-             INFO_FETI       =SIMP(statut='f',typ='TXM',defaut='FFFFFFFFFFFFFFFFFFFFFFFF'),
-             STOCKAGE_GI     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","CAL") ),
-             NB_SD_PROC0     =SIMP(statut='f',typ='I',defaut=0,val_min=0),
-             ACCELERATION_SM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-           ),
 
-           b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
-           ),
+         IGNORE_ALARM = SIMP(statut='f', typ='TXM', max='**', fr="Alarmes que l'utilisateur souhaite délibérément ignorer"),
+
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2004  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 Macro.test_fichier_ops import test_fichier_ops
 
-           b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
-           ),
+TEST_FICHIER=MACRO(nom="TEST_FICHIER", op=test_fichier_ops,
+                   UIinfo={"groupes":("Impression",)},
+                   fr="Tester la non régression de fichiers produits par des commandes aster",
+   FICHIER          =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)),
+   EXPR_IGNORE      =SIMP(statut='f',typ='TXM',max='**',
+                          fr="Liste d'expressions régulières permettant d'ignorer certaines lignes"),
 
-           b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' or METHODE == 'FETI' ",
-                                   fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
-             NPREC           =SIMP(statut='f',typ='I',defaut=8),
-             STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-           ),
+   TYPE_TEST       =SIMP(statut='f',typ='TXM',defaut='SOMM',into=("SOMM_ABS","SOMM","MAXI","MINI","MAXI_ABS","MINI_ABS")),
+   NB_VALE         =SIMP(statut='o',typ='I',),
+   VALE            =SIMP(statut='f',typ='R',max='**'),
+   VALE_K          =SIMP(statut='f',typ='TXM'),
 
-           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),
-             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
-           ),
+   CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+   PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
 
-           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")),
-             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,),
-             RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
-             PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
-                                   into=("CENTRALISE","DISTRIBUE_MAILLE","DISTRIBUE_SD")),
-             PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=0,min=0),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
-             ),
-         ),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
-)  ;
-#& MODIF COMMANDE  DATE 10/09/2007   AUTEUR COURTOIS M.COURTOIS 
+   REFERENCE       =SIMP(statut='f',typ='TXM',
+                         into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
+
+   b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
+      VERSION         =SIMP(statut='f',typ='TXM' ),
+   ),
+
+   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
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19420,59 +20419,41 @@ MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE GNICOLAS G.NICOLAS
-from Macro.Sensibilite import memo_nom_sensi_ops
-
-def memo_nom_sensi_prod(self, NOM, **kwargs):
-   """Typage des concepts sensibles produits par les commandes principales (de calcul)
-   """
-   TYPE_SD_DERIV = NOM[0]['TYPE_SD_DERIV']
-   NOM_COMPOSE   = NOM[0]['NOM_COMPOSE']
-   if TYPE_SD_DERIV:
-      from Cata import cata
-      typsd = getattr(cata, TYPE_SD_DERIV)
-      self.type_sdprod(NOM_COMPOSE, typsd)
-
-
-MEMO_NOM_SENSI=MACRO(nom="MEMO_NOM_SENSI",op=memo_nom_sensi_ops,sd_prod=memo_nom_sensi_prod,
-            UIinfo={"groupes":("Fonction",)},
-                    fr="Mémorisation des noms des concepts dérivés.",
-                    ang="Memorisation of the names of the sensitive concepts.",
-
-         NOM=FACT(statut='o',
-             regles=(PRESENT_PRESENT('MOT_CLE','VALEUR','MOT_FACT' ),),
-
-             NOM_SD=SIMP(statut='o',typ='TXM',
-                         fr="Nom de la structure de base",
-                         ang="Name of the basic structure"),
-
-             PARA_SENSI=SIMP(statut='o',typ=(para_sensi,theta_geom),
-                         fr="Nom du paramètre sensible",
-                         ang="Name of the sensitive parameter"),
-
-             NOM_COMPOSE=SIMP(statut='f',typ=('TXM', CO),defaut=" ",
-                         fr="Nom de la structure composée",
-                         ang="Name of the built structure"),
-
-             TYPE_SD_DERIV=SIMP(statut='f',typ='TXM',
-                         fr="type de la structure composée (usage interne seulement)",
-                         ang="Type of the built structure (internal usage only)"),
-
-             MOT_FACT=SIMP(statut='f',typ='TXM',max='**',
-                         fr="Liste des mots clés facteurs concernés par la dérivation",
-                         ang="Factor keyword list involved in derivation"),
-
-             MOT_CLE=SIMP(statut='f',typ='TXM',max='**',
-                         fr="Liste des mots clés concernés par la dérivation",
-                         ang="Keyword list involved in derivation"),
+# RESPONSABLE COURTOIS M.COURTOIS
 
-             VALEUR=SIMP(statut='f',typ='TXM',max='**',
-                         fr="Liste des objets concernés par la dérivation",
-                         ang="Object list involved in derivation"),
+PRE_GIBI=PROC(nom="PRE_GIBI",op=49,
+            UIinfo={"groupes":("Gestion du travail",)},
+              fr="Conversion d'un fichier de maillage GIBI au format Aster",
+         UNITE_GIBI      =SIMP(statut='f',typ='I',defaut=19),  
+         UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.                                 
+#
+# 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
 
-         ),
-)
-#& MODIF COMMANDE  DATE 18/09/2007   AUTEUR DURAND C.DURAND 
+PRE_GMSH=PROC(nom="PRE_GMSH",op=47,
+            UIinfo={"groupes":("Gestion du travail",)},
+               fr="Conversion d'un fichier de maillage GMSH au format Aster",
+         UNITE_GMSH      =SIMP(statut='f',typ='I',defaut=19),  
+         UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19490,45 +20471,50 @@ MEMO_NOM_SENSI=MACRO(nom="MEMO_NOM_SENSI",op=memo_nom_sensi_ops,sd_prod=memo_nom
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op=  80,sd_prod=mode_cycl,
-                    fr="Calcul des modes propres d'une structure à répétitivité cyclique à partir"
-                        +" d'une base de modes propres réels",
-                    reentrant='n',
-            UIinfo={"groupes":("Résolution",)},
-         BASE_MODALE     =SIMP(statut='o',typ=base_modale ),
-         NB_MODE         =SIMP(statut='f',typ='I',defaut= 999 ),
-         NB_SECTEUR      =SIMP(statut='o',typ='I' ),
-         LIAISON         =FACT(statut='o',
-           DROITE          =SIMP(statut='o',typ='TXM' ),
-           GAUCHE          =SIMP(statut='o',typ='TXM' ),
-           AXE             =SIMP(statut='f',typ='TXM' ),
-         ),
-         VERI_CYCL       =FACT(statut='f',
-           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
-           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF",) ),
-           DIST_REFE       =SIMP(statut='f',typ='R' ),
-         ),
-         CALCUL          =FACT(statut='o',
-           regles=(UN_PARMI('TOUT_DIAM','NB_DIAM'),),
-           TOUT_DIAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-           NB_DIAM         =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-           OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE"
-                                ,into=("PLUS_PETITE","CENTRE","BANDE") ),
-           b_centre      =BLOC(condition = "OPTION == 'CENTRE'",
-             FREQ            =SIMP(statut='o',typ='R',),
-           ),
-           b_bande       =BLOC(condition = "OPTION == 'BANDE'",
-             FREQ            =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2),
-           ),
-#  NMAX_FREQ n a-t-il pas un sens qu avec OPTION CENTRE                                
-           NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10 ),
-           PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 100. ),
-           PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
-           NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 50 ),
-         ),
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
+# RESPONSABLE MIKCHEVITCH A.MIKCHEVITCH
+PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47,
+            UIinfo={"groupes":("Gestion du travail",)},
+               fr="Conversion d'un fichier universel IDEAS-SUPERTAB au format Aster",
+         UNITE_IDEAS     =SIMP(statut='f',typ='I',defaut=19),  
+         UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
+         CREA_GROUP_COUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2004  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 ASSIRE A.ASSIRE
+
+from Macro.stanley_ops import stanley_ops
+
+STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None,
+                       reentrant='n',
+              UIinfo={"groupes":("Outils métier",)},
+                       fr="Outil de post-traitement interactif Stanley ",
+         RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther,mode_meca,mode_stat,dyna_harmo,dyna_trans) ),
+         MODELE          =SIMP(statut='f',typ=modele_sdaster),
+         CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
+         CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
+         DISPLAY         =SIMP(statut='f',typ='TXM'),
+         UNITE_VALIDATION=SIMP(statut='c',typ='I',val_min=10,val_max=90,
+                               fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit les md5"),
+
 )  ;
-#& MODIF COMMANDE  DATE 10/05/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19546,84 +20532,140 @@ MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op=  80,sd_prod=mode_cycl,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-def mode_iter_inv_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
-  if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
-  if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
-  if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
-  if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
-  if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
-  raise AsException("type de concept resultat non prevu")
+# RESPONSABLE PELLET J.PELLET
+
+PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=cham_no_sdaster,
+                    fr="Effectuer le produit d'une matrice par un vecteur",
+                    reentrant='n',
+            UIinfo={"groupes":("Résultats et champs",)},
+         MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_pres_c ) ),
+         CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.
+#
+# 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 PELLET J.PELLET
+def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ):
+    if AsType(RESULTAT) != None : return AsType(RESULTAT)
+    if CHAM_NO_REFE     != None : return cham_no_sdaster
+    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",
+
+
+         METHODE         =SIMP(statut='f',typ='TXM',defaut="ELEM",
+                               into=("NUAGE_DEG_0","NUAGE_DEG_1","ELEM",) ),
+
+
+         # 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),
+         ),
+
+
+
+         # Méthode ELEM :
+         #--------------------
+         b_elem          =BLOC(condition="METHODE=='ELEM'",
+                              fr="Utilisation des fonctions de forme du maillage initial",
+           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",) ),
+           NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
 
-MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op=  44,sd_prod=mode_iter_inv_prod
-                    ,fr="Calcul des modes propres par itérations inverses ; valeurs propres et modes réels ou complexes",
-                     reentrant='n',
-            UIinfo={"groupes":("Résolution",)},
-         regles=(CONCEPT_SENSIBLE('ENSEMBLE'),),
-         MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
-         MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
-         MATR_C          =SIMP(statut='f',typ=matr_asse_depl_r ),
-         TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",   
-                               into=("MODE_FLAMB","DYNAMIQUE"),fr="Type d analyse" ),
-         b_dynam         =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
-           CALC_FREQ       =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
-           
-             OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
-                                   fr="Choix de l option pour estimer les valeurs propres"  ),
-             FREQ            =SIMP(statut='o',typ='R',max='**'),
-             AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),     
-             NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),           
-             NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ),
-             PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ),
-             NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15,val_min=0 ),
-             PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0 ),
+           NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster),
+                fr="Utile en dynamique pour pouvoir imoser la numérotation des cham_no."),
+
+
+           TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+           NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
+           LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
+           INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
+           LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
+           FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
+           LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
+           NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
+           NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+
+
+           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_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."),
 
-             NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
-             NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
-             PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
-             SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
-           ),
-         ),
-         b_flamb        =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
-           CALC_FREQ       =FACT(statut='o',fr="Choix des paramètres pour le calcul des valeurs propres",
-           
-             OPTION          =SIMP(statut='f',typ='TXM',defaut="AJUSTE",into=("SEPARE","AJUSTE","PROCHE"),
-                                 fr="Choix de l option pour estimer les valeurs propres"  ),
-             CHAR_CRIT       =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ),
-             NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 0,val_min=0 ),           
-             NMAX_ITER_SEPARE=SIMP(statut='f',typ='I' ,defaut= 30,val_min=0 ),
-             PREC_SEPARE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ),
-             NMAX_ITER_AJUSTE=SIMP(statut='f',typ='I',defaut= 15 ),
-             PREC_AJUSTE     =SIMP(statut='f',typ='R',defaut= 1.E-4,val_min=0.E+0, ),
-           
-             NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
-             NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
-             PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0, ),
-             SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0, ),
-           ),
-         ),
-         CALC_MODE       =FACT(statut='d',min=0,fr="Choix des paramètres pour le calcul des vecteurs propres",
-           OPTION          =SIMP(statut='f',typ='TXM',defaut="DIRECT",into=("DIRECT","RAYLEIGH") ),
-           PREC            =SIMP(statut='f',typ='R',defaut= 1.E-5,val_min=0.E+0,fr="Précision de convergence" ),
-           NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ),
-         ),
-         VERI_MODE       =FACT(statut='d',min=0,
-           STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-           SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0,
-                                 fr="Valeur limite admise pour l ereur a posteriori des modes"  ),
-         ),
-         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
-                               fr="Liste des param\350tres de sensibilit\351.",
-                               ang="List of sensitivity parameters",
          ),
-         b_sensibilite   =BLOC(condition = "SENSIBILITE != None",
-             CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
-             CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
-             EXCIT           =FACT(statut='f',max='**',),  # que pour NMDOME
+
+
+
+         # Mots clés utilisables avec les 2 méthodes :
+         #---------------------------------------------
+         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
+         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
+
+         VIS_A_VIS       =FACT(statut='f',max='**',
+           regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
+                   AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),),
+           TOUT_1          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+           GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+           NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+           TOUT_2          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+           GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           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_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."),
          ),
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
-         TITRE           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 13/03/2007   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19641,134 +20683,26 @@ MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op=  44,sd_prod=mode_iter_inv_prod
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-def mode_iter_simult_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
-  if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
-  if AsType(MATR_C) == matr_asse_depl_r : return mode_meca_c
-  if AsType(MATR_A) == matr_asse_depl_r : return mode_meca
-  if AsType(MATR_A) == matr_asse_depl_c : return mode_meca_c
-  if AsType(MATR_A) == matr_asse_pres_r : return mode_acou
-  if AsType(MATR_A) == matr_asse_gene_r : return mode_gene
-  if AsType(MATR_A) == matr_asse_gene_c : return mode_gene
-
+# RESPONSABLE BOYERE E.BOYERE
+def matr_asse_gene_prod(MATR_ASSE,MATR_ASSE_GENE,**args):
+  if AsType(MATR_ASSE) == matr_asse_depl_r  : return matr_asse_gene_r
+  if AsType(MATR_ASSE_GENE) == matr_asse_gene_r  : return matr_asse_gene_r
+  if AsType(MATR_ASSE) == matr_asse_depl_c  : return matr_asse_gene_c
+  if AsType(MATR_ASSE_GENE) == matr_asse_gene_c  : return matr_asse_gene_c
   raise AsException("type de concept resultat non prevu")
 
-MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op=  45,sd_prod=mode_iter_simult_prod,
-                      fr="Calcul des modes propres par itérations simultanées ; valeurs propres et"
-                         +" modes propres réels ou complexes",
-                      reentrant='n',
-            UIinfo={"groupes":("Résolution",)},
-         regles=(CONCEPT_SENSIBLE('ENSEMBLE'),),
-         MATR_A          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,
-                               matr_asse_gene_r,matr_asse_gene_c,matr_asse_pres_r ) ),
-         MATR_B          =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ) ),
-         MATR_C          =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
-         METHODE         =SIMP(statut='f',typ='TXM',defaut="SORENSEN",
-                               into=("TRI_DIAG","JACOBI","SORENSEN") ),
-         b_tri_diag =BLOC(condition = "METHODE == 'TRI_DIAG'",
-           PREC_ORTHO      =SIMP(statut='f',typ='R',defaut= 1.E-12,val_min=0.E+0 ),
-           NMAX_ITER_ORTHO =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
-           PREC_LANCZOS    =SIMP(statut='f',typ='R',defaut= 1.E-8,val_min=0.E+0 ),
-           NMAX_ITER_QR    =SIMP(statut='f',typ='I',defaut= 30,val_min=0 ), 
-         ),
-         b_jacobi =BLOC(condition = "METHODE == 'JACOBI'",
-           PREC_BATHE      =SIMP(statut='f',typ='R',defaut= 1.E-10,val_min=0.E+0 ),
-           NMAX_ITER_BATHE =SIMP(statut='f',typ='I',defaut= 40,val_min=0 ),
-           PREC_JACOBI     =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
-           NMAX_ITER_JACOBI=SIMP(statut='f',typ='I',defaut= 12,val_min=0 ),
-         ),
-         b_sorensen =BLOC(condition = "METHODE == 'SORENSEN'",
-           PREC_SOREN      =SIMP(statut='f',typ='R',defaut= 0.E+0,val_min=0.E+0 ),  
-           NMAX_ITER_SOREN =SIMP(statut='f',typ='I',defaut= 20,val_min=0 ),  
-           PARA_ORTHO_SOREN=SIMP(statut='f',typ='R',defaut= 0.717,val_min=0.E+0 ),
-         ),
-         TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="DYNAMIQUE",
-                               into=("MODE_FLAMB","DYNAMIQUE"),
-                               fr="Type d analyse" ),
-         OPTION          =SIMP(statut='f',typ='TXM',defaut="SANS",into=("MODE_RIGIDE","SANS"),
-                               fr="Calcul des modes de corps rigide, uniquement pour la méthode TRI_DIAG" ),
-
-         b_flamb         =BLOC(condition = "TYPE_RESU == 'MODE_FLAMB'",
-           CALC_FREQ       =FACT(statut='d',min=0,
-             OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"),
-                                   fr="Choix de l option et par conséquent du shift du problème modal" ),
-             b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
-               NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
-             ),
-             b_centre      =BLOC(condition = "OPTION == 'CENTRE'",
-                                 fr="Recherche des valeurs propres les plus proches d une valeur donnée",
-               CHAR_CRIT       =SIMP(statut='o',typ='R',
-                                     fr="Charge critique autour de laquelle on cherche les charges critiques propres"),
-               NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
-             ),
-             b_bande       =BLOC(condition = "(OPTION == 'BANDE')",
-                                 fr="Recherche des valeurs propres dans une bande donnée",
-               CHAR_CRIT       =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2,
-                                     fr="Valeur des deux charges critiques délimitant la bande de recherche"),
-             ),           
-             APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG"),
-                                   fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
-             regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
-             DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
-             COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
-             NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
-             NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
-             PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
-             SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
-           ),
-         ),
-
-         b_dynam        =BLOC(condition = "TYPE_RESU == 'DYNAMIQUE'",
-           CALC_FREQ       =FACT(statut='d',min=0,
-             OPTION          =SIMP(statut='f',typ='TXM',defaut="PLUS_PETITE",into=("PLUS_PETITE","BANDE","CENTRE"),
-                                   fr="Choix de l option et par conséquent du shift du problème modal" ),
-             b_plus_petite =BLOC(condition = "OPTION == 'PLUS_PETITE'",fr="Recherche des plus petites valeurs propres",
-               NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
-             ),
-             b_centre       =BLOC(condition = "OPTION == 'CENTRE'",
-                                  fr="Recherche des valeurs propres les plus proches d une valeur donnée",
-               FREQ            =SIMP(statut='o',typ='R',
-                                     fr="Fréquence autour de laquelle on cherche les fréquences propres"),
-               AMOR_REDUIT     =SIMP(statut='f',typ='R',),
-               NMAX_FREQ       =SIMP(statut='f',typ='I',defaut= 10,val_min=0 ),
-             ),
-             b_bande         =BLOC(condition = "(OPTION == 'BANDE')",
-                                   fr="Recherche des valeurs propres dans une bande donnée",
-               FREQ            =SIMP(statut='o',typ='R',min=2,validators=NoRepeat(),max=2,
-                                     fr="Valeur des deux fréquences délimitant la bande de recherche"),
-             ),           
-             APPROCHE        =SIMP(statut='f',typ='TXM',defaut="REEL",into=("REEL","IMAG","COMPLEXE"),
-                                   fr="Choix du pseudo-produit scalaire pour la résolution du problème quadratique" ),           
-             regles=(EXCLUS('DIM_SOUS_ESPACE','COEF_DIM_ESPACE'),),
-             DIM_SOUS_ESPACE =SIMP(statut='f',typ='I' ),
-             COEF_DIM_ESPACE =SIMP(statut='f',typ='I' ),
-             NPREC_SOLVEUR   =SIMP(statut='f',typ='I',defaut= 8,val_min=0 ),
-             NMAX_ITER_SHIFT =SIMP(statut='f',typ='I',defaut= 5,val_min=0 ),
-             PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-2,val_min=0.E+0 ),
-             SEUIL_FREQ      =SIMP(statut='f',typ='R',defaut= 1.E-2,val_min=0.E+0 ),
-           ),
-         ),
-
-         VERI_MODE       =FACT(statut='d',min=0,
-           STOP_ERREUR     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-           PREC_SHIFT      =SIMP(statut='f',typ='R',defaut= 5.E-3,val_min=0.E+0 ),
-           SEUIL           =SIMP(statut='f',typ='R',defaut= 1.E-6,val_min=0.E+0,
-                                 fr="Valeur limite admise pour l ereur a posteriori des modes" ),
-           STURM           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-         ),
-         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
-                               fr="Liste des param\350tres de sensibilit\351.",
-                               ang="List of sensitivity parameters",
-         ),
-         b_sensibilite   =BLOC(condition = "SENSIBILITE != None",
-             CHAM_MATER      =SIMP(statut='f',typ=cham_mater ),
-             CARA_ELEM       =SIMP(statut='f',typ=cara_elem ),
-             EXCIT           =FACT(statut='f',max='**',),  # que pour NMDOME
-         ),
-         STOP_FREQ_VIDE  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),        
+PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op=  71,sd_prod=matr_asse_gene_prod,
+                    fr="Projection d'une matrice assemblée sur une base (modale ou de RITZ)",
+                    reentrant='n',
+            UIinfo={"groupes":("Matrices/vecteurs",)},
+         regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE'),),            
+         BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ),
+         NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
+         MATR_ASSE       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ),
+         MATR_ASSE_GENE  =SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c) ),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
+
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19786,58 +20720,52 @@ MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op=  45,sd_prod=mode_iter_simult_pr
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-def mode_stat_prod(MODE_STAT,FORCE_NODALE,PSEUDO_MODE,**args):
- if (MODE_STAT != None)          : return mode_stat_depl
- if (PSEUDO_MODE !=None)         : return mode_stat_acce
- if (FORCE_NODALE != None)       : return mode_stat_forc
- raise AsException("type de concept resultat non prevu")
-MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_stat_prod,
-                   fr="Calcul de modes statiques pour un déplacement, une force ou une accélération unitaire imposé",
-                   reentrant='n',
-            UIinfo={"groupes":("Résolution",)},
-         MATR_RIGI       =SIMP(statut='o',typ=matr_asse_depl_r ),
-         MATR_MASS       =SIMP(statut='f',typ=matr_asse_depl_r ),
-               regles=(UN_PARMI('MODE_STAT','FORCE_NODALE','PSEUDO_MODE'),),
-         MODE_STAT       =FACT(statut='f',max='**',
-           regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
-                   UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
-           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
-           NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
-           TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ,),
-           AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
-           SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
-         ),
-         FORCE_NODALE    =FACT(statut='f',max='**',
-           regles=(UN_PARMI('TOUT','NOEUD','GROUP_NO'),
-                   UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
-           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",), ),
-           NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
-           TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",), ),
-           AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
-           SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'),
-         ),
-         PSEUDO_MODE       =FACT(statut='f',max='**',
-           regles=(UN_PARMI('AXE','DIRECTION','TOUT','NOEUD','GROUP_NO' ),),
-           AXE             =SIMP(statut='f',typ='TXM',into=("X","Y","Z"),max=3),
-           DIRECTION       =SIMP(statut='f',typ='R',min=3,max=3),
-           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",)),
-           NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
-           b_dir           =BLOC(condition = "DIRECTION != None",
-             NOM_DIR         =SIMP(statut='f',typ='TXM' ),),
-           b_cmp          =BLOC(condition="TOUT!= None or NOEUD!=None or GROUP_NO!=None",
-             regles=(UN_PARMI('TOUT_CMP','AVEC_CMP','SANS_CMP'),),
-             TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-             AVEC_CMP        =SIMP(statut='f',typ='TXM',max='**'),
-             SANS_CMP        =SIMP(statut='f',typ='TXM',max='**'), 
-        ),
-         ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
-)  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
+# RESPONSABLE ANDRIAM H.ANDRIAMBOLOLONA
+def proj_mesu_modal_prod(MODELE_MESURE,**args):
+     vale=MODELE_MESURE['MESURE']
+     if  AsType(vale) == dyna_trans   : return tran_gene
+     if  AsType(vale) == dyna_harmo   : return harm_gene
+     if  AsType(vale) == mode_meca    : return mode_gene
+#     if  AsType(vale) == mode_meca_c  : return mode_gene_c
+     if  AsType(vale) == base_modale  : return mode_gene
+     raise AsException("type de concept resultat non prevu")
+
+PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193,
+                     sd_prod=proj_mesu_modal_prod,
+                     reentrant='n',
+            UIinfo={"groupes":("Résultats et champs",)},
+                     fr="Calcul des coordonnees généralisees de mesure experimentale relatives a une base de projection",
+
+         MODELE_CALCUL   =FACT(statut='o',
+           MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
+           BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,) ),
+                         ),
+         MODELE_MESURE   =FACT(statut='o',
+           MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
+           MESURE          =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,mode_meca,mode_meca_c,) ),
+           NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU_DEPL",) ),
+                         ),
+         CORR_MANU       =FACT(statut='f',max='**',
+           regles=(PRESENT_PRESENT('NOEU_CALCUL','NOEU_MESURE'),),
+           NOEU_CALCUL     =SIMP(statut='f',typ=no),
+           NOEU_MESURE     =SIMP(statut='f',typ=no),
+                         ),
+         NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
+         RESOLUTION      =FACT(statut='f',
+           METHODE         =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ),
+           b_svd =BLOC(condition="METHODE=='SVD'",
+                       EPS=SIMP(statut='f',typ='R',defaut=0. ),
+                      ),
+           REGUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ),
+           b_regul =BLOC(condition="REGUL!='NON'",
+                         regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),),
+                         COEF_PONDER   =SIMP(statut='f',typ='R',defaut=0.     ,max='**' ),  
+                         COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
+                        ),
+             ),
+
+          ); 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19855,22 +20783,29 @@ MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_stat_prod,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca,
-                      reentrant='f',
-            fr="Définir la base modale d'une structure sous écoulement",
+# RESPONSABLE ADOBES A.ADOBES
+PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=table_fonction,reentrant='n',
             UIinfo={"groupes":("Matrices/vecteurs",)},
-#  la commande modi_base _modale : reentrant = f ou o                      
-         regles=(EXCLUS('AMOR_UNIF','AMOR_REDUIT', ),),
-         BASE            =SIMP(statut='o',typ=mode_meca ),
-         BASE_ELAS_FLUI  =SIMP(statut='o',typ=melasflu_sdaster ),
-         NUME_VITE_FLUI  =SIMP(statut='o',typ='I' ),
-         NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-         AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
-         AMOR_UNIF       =SIMP(statut='f',typ='R' ),
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+            fr="Projecter un ou plusieurs spectres de turbulence sur une (ou plusieurs) base(s) modale(s) ",
+      regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'),),
+         SPEC_TURB       =SIMP(statut='o',typ=spectre_sdaster,validators=NoRepeat(),max='**' ),
+         TOUT_CMP        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
+         BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
+         MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
+         CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster),
+         FREQ_INIT       =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
+         FREQ_FIN        =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
+         NB_POIN         =SIMP(statut='o',typ='I' ),  
+         OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG")),
+         GROUP_MA        =SIMP(statut='f',typ=grma),
+#  Quel est le type attendu derriere  MODELE_INTERFACE         
+         MODELE_INTERFACE=SIMP(statut='f',typ=modele_sdaster),
+         VECT_X          =SIMP(statut='f',typ='R',min=3,max=3 ),  
+         VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3 ),  
+         ORIG_AXE        =SIMP(statut='f',typ='R',min=3,max=3 ),  
+         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
 )  ;
-#& MODIF COMMANDE  DATE 10/07/2006   AUTEUR LEBOUVIE F.LEBOUVIER 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19879,148 +20814,82 @@ MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca,
 # 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 G8BHHXD X.DESROCHES
-MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
-                   fr="Effectuer des modifications sur un maillage existant: réorienter des mailles servant,"
-                      +" à l'application d'une pression, à la modélisation du contact,...",
-                   reentrant='o',
-            UIinfo={"groupes":("Maillage",)},
-      regles=(AU_MOINS_UN('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
-                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
-                       'TRANSLATION','ROTATION','MODI_BASE','ECHELLE','ORIE_SHB8','SYMETRIE',
-                       ),
-              PRESENT_ABSENT('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
-                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
-              PRESENT_ABSENT('DEFORME','ORIE_FISSURE','EQUE_PIQUA','ORIE_PEAU_2D',
-                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
-              PRESENT_ABSENT('EQUE_PIQUA','ORIE_FISSURE','DEFORME','ORIE_PEAU_2D',
-                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
-              PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_FISSURE','DEFORME','EQUE_PIQUA',
-                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
-              PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
-                       'PLAQ_TUBE','MODI_MAILLE',),
-              PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
-                       'PLAQ_TUBE','MODI_MAILLE',),
-              PRESENT_ABSENT('PLAQ_TUBE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
-                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE',),
-              PRESENT_ABSENT('MODI_MAILLE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
-                       'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE',),
-              EXCLUS('EQUE_PIQUA','PLAQ_TUBE'),
-              EXCLUS('EQUE_PIQUA','TUBE_COUDE'),
-              EXCLUS('ROTATION','MODI_BASE'),
-              EXCLUS('SYMETRIE','ROTATION'),
-              EXCLUS('SYMETRIE','TRANSLATION'),
-              EXCLUS('SYMETRIE','MODI_BASE'),
-              EXCLUS('SYMETRIE','ECHELLE'),
-              ),
-         MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
-
-         ORIE_FISSURE    =FACT(statut='f',
-           GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
-         ),
-
-         DEFORME         =FACT(statut='f',
-           OPTION          =SIMP(statut='o',typ='TXM',into=("TRAN","TRAN_APPUI") ),
-           DEPL            =SIMP(statut='o',typ=cham_no_sdaster ),
-        b_deform        =BLOC(condition = "OPTION=='TRAN_APPUI'", 
-           GROUP_NO_APPUI = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),
-           GROUP_NO_STRU  = SIMP(statut='o',typ=grno,validators=NoRepeat(),max='**' ),),
-         ),
-
-         EQUE_PIQUA      =FACT(statut='f',
-           GROUP_NO        =SIMP(statut='o',typ=grno),
-           E_BASE          =SIMP(statut='o',typ='R' ),
-           DEXT_BASE       =SIMP(statut='o',typ='R' ),
-           L_BASE          =SIMP(statut='o',typ='R' ),
-           L_CHANF         =SIMP(statut='o',typ='R' ),
-           TYPE            =SIMP(statut='o',typ='TXM',into=("TYPE_1","TYPE_2")),
-           H_SOUD          =SIMP(statut='o',typ='R' ),
-           ANGL_SOUD       =SIMP(statut='o',typ='R' ),
-           JEU_SOUD        =SIMP(statut='o',typ='R' ),
-           E_CORP          =SIMP(statut='o',typ='R' ),
-           DEXT_CORP       =SIMP(statut='o',typ='R' ),
-           AZIMUT          =SIMP(statut='o',typ='R' ),
-           RAFF_MAIL       =SIMP(statut='o',typ='TXM' ),
-           X_MAX           =SIMP(statut='o',typ='R' ),
-         ),
-         ORIE_PEAU_2D    =FACT(statut='f',max='**',
-           GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
-         ),
-         ORIE_PEAU_3D    =FACT(statut='f',max='**',
-           GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
-         ),
-         ORIE_SHB8       =FACT(statut='f',max=1,
-           GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
-         ),
-         ORIE_NORM_COQUE =FACT(statut='f',max='**',
-           regles=(EXCLUS('NOEUD','GROUP_NO'),
-                   PRESENT_PRESENT('NOEUD','VECT_NORM'),
-                   PRESENT_PRESENT('GROUP_NO','VECT_NORM'),),
-           GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
-           VECT_NORM       =SIMP(statut='f',typ='R',max=3),
-           NOEUD           =SIMP(statut='f',typ=no),
-           GROUP_NO        =SIMP(statut='f',typ=grno),
-         ),
-         PLAQ_TUBE       =FACT(statut='f',
-           DEXT            =SIMP(statut='o',typ='R' ),
-           EPAIS           =SIMP(statut='o',typ='R' ),
-           L_TUBE_P1       =SIMP(statut='o',typ='R' ),
-           AZIMUT          =SIMP(statut='f',typ='R',defaut= 90. ),
-           COUTURE         =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON",)  ),
-         ),
-         TUBE_COUDE      =FACT(statut='f',
-           ANGLE           =SIMP(statut='o',typ='R' ),
-           R_CINTR         =SIMP(statut='o',typ='R' ),
-           L_TUBE_P1       =SIMP(statut='o',typ='R' ),
-         ),
-         MODI_MAILLE     =FACT(statut='f',max=1,
-           regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),),
-           OPTION          =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ),
-           GROUP_MA_FOND   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1),
-           MAILLE_FOND     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max=1),
-           GROUP_NO_FOND   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
-           NOEUD_FOND      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
-         ),
-         MODI_BASE       =FACT(statut='f',
-           VECT_X          =SIMP(statut='o',typ='R',min=2,max=3),
-           VECT_Y          =SIMP(statut='f',typ='R',min=2,max=3),
-         ),
-         ECHELLE         =SIMP(statut='f',typ='R',),        
-         TRANSLATION     =SIMP(statut='f',typ='R',min=2,max=3),
-         ROTATION        =FACT(statut='f',max='**',
-           POIN_1           =SIMP(statut='o',typ='R',min=2,max=3),
-           ANGL             =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
-           regles=(EXCLUS('DIR','POIN_2'),),
-           POIN_2           =SIMP(statut='f',typ='R',min=2,max=3),
-           DIR              =SIMP(statut='f',typ='R',min=2,max=3),
-         ),
-         SYMETRIE        =FACT(statut='f',max='**',
-                          fr = "Symétrie du maillage par rapport à un plan en 3D ou à une droite en 2D.",
-           POINT           =SIMP(statut='o',typ='R',min=2,max=3,
-                            fr="Point appartenant à la droite ou au plan."),
-           AXE_1           =SIMP(statut='o',typ='R',min=2,max=3,
-                            fr="Vecteur directeur de la droite ou 1er vecteur appartenant au plan."),
-           AXE_2           =SIMP(statut='f',typ='R',min=3,max=3,
-                            fr="2nd vecteur appartenant du plan."),
-         ),
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
+# 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 BOYERE E.BOYERE
+
+PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op=  72,sd_prod=vect_asse_gene,
+                    fr="Projection d'un vecteur assemblé sur une base (modale ou de RITZ)",
+                    reentrant='n',
+            UIinfo={"groupes":("Matrices/vecteurs",)},
+         regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE'),),              
+         BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ),
+         NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
+         TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),
+         VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster),
+         VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
 )  ;
-#& MODIF COMMANDE  DATE 18/09/2007   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
-# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
+# 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     
+# 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 PARROT A.PARROT
+RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=table_sdaster,
+                     fr="Recaler les paramètres du modèle de WEIBULL sur des données expérimentales",reentrant='n',
+            UIinfo={"groupes":("Post traitements",)},
+         LIST_PARA       =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("SIGM_REFE","M",) ),
+         RESU            =FACT(statut='o',max='**',
+           regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',),
+                   AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),),
+           EVOL_NOLI       =SIMP(statut='o',typ=(evol_noli) ),
+           MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
+           CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
+           TEMPE           =SIMP(statut='f',typ='R' ),
+           LIST_INST_RUPT  =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ),
+           TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+           NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
+           INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
+           LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
+           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='**'),
+           COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.E0 ),
+                         ),
+         OPTION          =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ),
+         CORR_PLAST      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
+         METHODE         =SIMP(statut='f',typ='TXM',defaut="MAXI_VRAI",into=("MAXI_VRAI","REGR_LINE",) ),
+         INCO_GLOB_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
+         ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
+         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
+# ======================================================================
+# 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.
 #
 # THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
@@ -20032,18 +20901,219 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
 # 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
+def recu_fonction_prod(RESULTAT=None,TABLE=None,RESU_GENE=None,
+                       BASE_ELAS_FLUI=None,CHAM_GD=None,NAPPE=None,
+                       NOM_PARA_TABL=None,**args):
+   if AsType(RESULTAT)  == dyna_harmo or \
+      AsType(RESU_GENE) == harm_gene or \
+      (TABLE != None and NOM_PARA_TABL == "FONCTION_C"):
+      return fonction_c
+   else:
+      return fonction_sdaster
+
+RECU_FONCTION=OPER(nom="RECU_FONCTION",op=90,sd_prod=recu_fonction_prod,
+                   fr="Extraire sous forme d'une fonction, l'évolution d'une grandeur en fonction d'une autre",
+                   reentrant='f',
+            UIinfo={"groupes":("Fonction",)},
+         regles=(UN_PARMI('CHAM_GD','RESULTAT','RESU_GENE','TABLE','BASE_ELAS_FLUI','NAPPE'),),
+
+         CHAM_GD         =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem,),),
+         RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
+         RESU_GENE       =SIMP(statut='f',typ=(tran_gene, mode_gene, harm_gene)),
+         TABLE           =SIMP(statut='f',typ=(table_sdaster,table_fonction)),
+         BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster),
+         NAPPE           =SIMP(statut='f',typ=nappe_sdaster),
+
+# ======= SENSIBILITE =================================================
+         b_sensibilite   =BLOC(condition="RESULTAT != None",
+                                 fr="Définition des paramètres de sensibilité",
+                                 ang="Definition of sensitivity parameters",
+           regles=(CONCEPT_SENSIBLE('SEPARE'), REUSE_SENSIBLE(),
+                   DERIVABLE('RESULTAT'),),
+           SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
+                                   fr="Liste des paramètres de sensibilité.",
+                                   ang="List of sensitivity parameters"),),
+# ======= ACCES A LA SD RESULTAT =================================================
+         b_acces = BLOC ( condition = "(RESULTAT != None) or (RESU_GENE != None)",
+                          fr="acces a une SD résultat",
+# on ne peut pas mettre de regles, le défaut TOUT_ORDRE est pris en compte dans le fortran
+           TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+           NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+           LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
+           TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+           INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+           LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
+           FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+           LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
+           NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+           b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)",
+             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
+             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+             INTERP_NUME     =SIMP(statut='f',typ='TXM',into=("NON","LIN") ),
+           ),
+         ),
+# ======= BASE_ELAS_FLUI =================================================
+         b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None",
+                                   fr="Récupération de la fonction à partir d un concept melasflu",
+           regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),),
+           TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+           NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+           NUME_MODE       =SIMP(statut='o',typ='I' ),
+           PARA_X          =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ),
+           PARA_Y          =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ),
+         ),
+
+# ======= TABLE =================================================
+         b_table = BLOC ( condition = "TABLE != None",
+                          fr="Récupération de la fonction à partir d un concept table",
+                          regles=(UN_PARMI('PARA_X','NOM_PARA_TABL'),
+                                  PRESENT_PRESENT('PARA_X','PARA_Y'),),
+           PARA_X        = SIMP(statut='f',typ='TXM',
+                                 fr="1ère colonne de la table qui définit la fonction à récupérer", ),
+           PARA_Y        = SIMP(statut='f',typ='TXM',
+                                 fr="2ème colonne de la table qui définit la fonction à récupérer", ),
+           #b_tabl_fonc = BLOC(condition = "AsType(TABLE) == table_fonction",
+           NOM_PARA_TABL = SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C"),
+                                fr="Nom du paramètre de la table contenant la fonction" ),
+           #),
+
+           FILTRE        = FACT(statut='f',max='**',
+              NOM_PARA        =SIMP(statut='o',typ='TXM' ),
+              CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
+                                    into=("EQ","LT","GT","NE","LE","GE","VIDE",
+                                          "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
+              b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
+                 regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
+                 VALE            =SIMP(statut='f',typ='R' ),
+                 VALE_I          =SIMP(statut='f',typ='I' ),
+                 VALE_C          =SIMP(statut='f',typ='C' ),
+                 VALE_K          =SIMP(statut='f',typ='TXM' ),),
+
+              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
+           ),
+         ),
+
+# ======= RESULTAT =================================================
+         b_resu = BLOC ( condition = "RESULTAT != None", fr="Opérandes en cas de RESULTAT",
+                         regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
+           NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
+           NOM_PARA_RESU   =SIMP(statut='f',typ='TXM' ),
+           b_cham = BLOC ( condition = "NOM_CHAM != None",
+                           regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'),
+                                   PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'),
+                                   PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'),
+                                   EXCLUS('GROUP_MA','MAILLE'),
+                                   EXCLUS('GROUP_NO','NOEUD'),),
+             NOM_CMP         =SIMP(statut='o',typ='TXM' ),
+             MAILLE          =SIMP(statut='f',typ=ma),
+             GROUP_MA        =SIMP(statut='f',typ=grma),
+             NOEUD           =SIMP(statut='f',typ=no),
+             GROUP_NO        =SIMP(statut='f',typ=grno),
+             POINT           =SIMP(statut='f',typ='I' ),
+             SOUS_POINT      =SIMP(statut='f',typ='I' ),
+           ),
+         ),
+
+# ======= RESU_GENE =================================================
+         b_tran_gene = BLOC ( condition = "AsType(RESU_GENE) == tran_gene",
+                              fr="Récupération d'une fonction à partir d un concept TRAN_GENE",
+                              regles=(UN_PARMI('NOM_CHAM','NOEUD_CHOC','GROUP_NO_CHOC'),),
+             NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ),
+             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'),
+                                   EXCLUS('MULT_APPUI','CORR_STAT'),),
+             NOM_CMP         =SIMP(statut='o',typ='TXM' ),
+             NOEUD           =SIMP(statut='f',typ=no),
+             GROUP_NO        =SIMP(statut='f',typ=grno),
+             MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+             CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+             ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,formule)),
+           ),
+           b_choc = BLOC ( condition = "(NOEUD_CHOC != None) or (GROUP_NO_CHOC != None)",
+                           regles=(PRESENT_PRESENT('SOUS_STRUC','INTITULE'),),
+             PARA_X          =SIMP(statut='o',typ='TXM',
+                              into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ),
+             PARA_Y          =SIMP(statut='o',typ='TXM',
+                              into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ),
+             LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
+             INTITULE        =SIMP(statut='f',typ='TXM' ),
+             SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
+           ),
+         ),
+         b_harm_gene = BLOC ( condition = "AsType(RESU_GENE)==harm_gene",
+                              fr="Récupération d'une fonction à partir d un concept HARM_GENE",
+                              regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
+             NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
+             NOM_PARA_RESU   =SIMP(statut='f',typ='TXM' ),
+           b_cham = BLOC ( condition = "NOM_CHAM != None",
+                           regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),),
+             NUME_CMP_GENE   =SIMP(statut='f',typ='I' ),
+             NOM_CMP         =SIMP(statut='f',typ='TXM' ),
+             b_cmp = BLOC ( condition = "NOM_CMP != None",
+                            regles=(UN_PARMI('NOEUD','GROUP_NO'),),
+               NOEUD         =SIMP(statut='f',typ=no),
+               GROUP_NO      =SIMP(statut='f',typ=grno),
+             ),
+           ),
+         ),
+         b_mode_gene = BLOC ( condition = "AsType(RESU_GENE)==mode_gene",
+                              fr="Récupération d'une fonction à partir d un concept MODE_GENE",
+                              regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
+             NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
+             NOM_PARA_RESU   =SIMP(statut='f',typ='TXM' ),
+           b_cham = BLOC ( condition = "NOM_CHAM != None",
+                           regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),),
+             NUME_CMP_GENE   =SIMP(statut='f',typ='I' ),
+             NOM_CMP         =SIMP(statut='f',typ='TXM' ),
+             b_cmp = BLOC ( condition = "NOM_CMP != None",
+                            regles=(UN_PARMI('NOEUD','GROUP_NO'),
+                                    UN_PARMI('SQUELETTE','SOUS_STRUC'),),
+               NOEUD         =SIMP(statut='f',typ=no),
+               GROUP_NO      =SIMP(statut='f',typ=grno),
+               SQUELETTE     =SIMP(statut='f',typ=squelette ),
+               SOUS_STRUC    =SIMP(statut='f',typ='TXM' ),  
+             ),
+           ),
+         ),
+
+# ======= CHAM_GD =================================================
+         b_cham_gd = BLOC ( condition = "(CHAM_GD != None)", fr="Opérandes en cas de CHAM_GD",
+                            regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'),
+                                    PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'),
+                                    PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'),
+                                    EXCLUS('GROUP_MA','MAILLE'),
+                                    EXCLUS('GROUP_NO','NOEUD'),),
+           NOM_CMP         =SIMP(statut='o',typ='TXM' ),
+           MAILLE          =SIMP(statut='f',typ=ma),
+           GROUP_MA        =SIMP(statut='f',typ=grma),
+           NOEUD           =SIMP(statut='f',typ=no),
+           GROUP_NO        =SIMP(statut='f',typ=grno),
+           POINT           =SIMP(statut='f',typ='I' ),
+           SOUS_POINT      =SIMP(statut='f',typ='I' ),
+         ),
 
-MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu="U4.44.12-e",reentrant='f',
-            UIinfo={"groupes":("Modélisation",)},
-                           fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes",
-                           
-    MODELE_IN       =SIMP(statut='o',typ=modele_sdaster,min=1,max=1,),
-    FISSURE         =SIMP(statut='o',typ=fiss_xfem,min=1,max=100,),
-    CRITERE         =SIMP(statut='f',typ='R',defaut=1.67E-8),
-    INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)),
-    CONTACT         =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON"),min=1,max=1,),
+# ======= NAPPE =================================================
+         b_nappe = BLOC ( condition = "(NAPPE != None)", fr="Opérandes en cas de NAPPE",
+         VALE_PARA_FONC  =SIMP(statut='o',typ='R' ),
+         PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
+         CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+         ),
+
+# ======= SURCHARGE DES ATTRIBUTS =================================================
+         NOM_PARA        =SIMP(statut='f',typ='TXM', into=C_PARA_FONCTION() ),
+         NOM_RESU        =SIMP(statut='f',typ='TXM' ),
+         INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
+         PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
+         PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
+
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
 )  ;
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20061,97 +21131,102 @@ MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-MODI_OBSTACLE=OPER(nom="MODI_OBSTACLE",op=182,sd_prod=table_fonction,
-            fr="Calculer les obstacles dans les systèmes guidage-tube après usure",
-            reentrant='f',
-            UIinfo={"groupes":("Modélisation",)},
-      regles=(PRESENT_ABSENT('R_MOBILE','CRAYON'),
-              PRESENT_PRESENT('V_USUR_TUBE','V_USUR_OBST'),),
-         OBSTACLE        =SIMP(statut='f',typ=table_fonction),
-         GUIDE           =SIMP(statut='o',typ=table_sdaster),
-         CRAYON          =SIMP(statut='f',typ=table_sdaster),
-         TABL_USURE      =SIMP(statut='f',typ=table_sdaster),
-         INST            =SIMP(statut='f',typ='R'),  
-         R_MOBILE        =SIMP(statut='f',typ='R'),  
-         PERCEMENT       =SIMP(statut='f',typ='R',defaut=1),  
-         V_USUR_TUBE     =SIMP(statut='f',typ='R',max='**'),
-         V_USUR_OBST     =SIMP(statut='f',typ='R',max='**'),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
+# RESPONSABLE BOYERE E.BOYERE
+RECU_GENE=OPER(nom="RECU_GENE",op=  76,sd_prod=vect_asse_gene,reentrant='n',
+            UIinfo={"groupes":("Résultats et champs",)},
+               fr="Extraire d'un champ de grandeur (déplacements, vitesses ou accélérations) à partir de résultats"
+                  +" en coordonnées généralisées",
+         RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
+         INST            =SIMP(statut='o',typ='R' ),
+         NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE") ),
+         INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
+         CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF" ,into=("ABSOLU","RELATIF") ),
+         PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
 )  ;
-#& MODIF COMMANDE  DATE 09/05/2007   AUTEUR VIVAN L.VIVAN 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            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 JMBHH01 J.M.PROIX
-def modi_repere_prod(RESULTAT,**args):
-  if AsType(RESULTAT) != None : return AsType(RESULTAT)
-
-MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='n',
-            UIinfo={"groupes":("Résultats et champs",)},
-                    fr="Calcule des résultats dans le repère cylindrique",
-         RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),
-
-         regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
-                        'NOEUD_CMP','LIST_INST','LIST_FREQ','NOM_CAS'),),
-         TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-         NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-         NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
-         NOM_CAS         =SIMP(statut='f',typ='TXM' ),
-
-         INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-         FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
-         LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
-
-         PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
-         CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
-
-         MODI_CHAM       =FACT(statut='o',max='**',
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-           TYPE_CHAM       =SIMP(statut='o',typ='TXM',
-                                 into=("VECT_2D","VECT_3D","TORS_3D","TENS_2D","TENS_3D"),),
-           NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
-           b_vect_2d       =BLOC(condition = "TYPE_CHAM=='VECT_2D'",
-              NOM_CMP         =SIMP(statut='o',typ='TXM',min=2,max=2 ),),
-           b_vect_3d       =BLOC(condition = "TYPE_CHAM=='VECT_3D'",
-              NOM_CMP         =SIMP(statut='o',typ='TXM',min=3,max=3 ),),
-           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 ),),
-           b_tens_3d       =BLOC(condition = "TYPE_CHAM=='TENS_3D'",
-              NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
-         ),
-         DEFI_REPERE     =FACT(statut='o',
-         regles=(UN_PARMI('ANGL_NAUT','ORIGINE'),),
-           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),
-         ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
+# RESPONSABLE COURTOIS M.COURTOIS
+RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster,
+         fr="Récupérer dans une table les valeurs d'un paramètre d'une SD Résultat ou d'extraire une table contenue"
+            +" dans une autre SD pour celles qui le permettent",
+         UIinfo={"groupes":("Résultats et champs",)},reentrant='n',
+         CO              =SIMP(statut='o',typ=assd),
+         regles=(UN_PARMI('NOM_TABLE','NOM_PARA')),
+         NOM_TABLE       =SIMP(statut='f',typ='TXM' ),
+         NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),  
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
 )  ;
-#& MODIF COMMANDE  DATE 30/10/2007   AUTEUR BOYERE E.BOYERE 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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 ZENTNER I.ZENTNER
+from Macro.dyna_iss_vari_ops import dyna_iss_vari_ops
+#
+DYNA_ISS_VARI=MACRO(nom="DYNA_ISS_VARI",op=dyna_iss_vari_ops ,sd_prod=table_fonction,
+                    fr="Calcul du spectre de réponse ou de la reponse temporelle sismique incoherente par decomposition spectrale",
+                    reentrant='n',
+                    UIinfo={"groupes":("Outils métier",)},        
+         NOM_CMP         =SIMP(statut='o',typ='TXM',into=("DX","DY","DZ") ),
+         PRECISION       =SIMP(statut='f',typ='R',defaut=0.999 ),
+         INTERF           =FACT(statut='o',
+            GROUP_NO_INTERF =SIMP(statut='o',typ=grma ,max='**'), 
+            MODE_INTERF  =SIMP(statut='o',typ='TXM',into=("CORP_RIGI","TOUT")),
+         ),      
+         MATR_COHE       =FACT(statut='o',
+            VITE_ONDE       =SIMP(statut='o',typ='R'),
+            PARA_ALPHA     =SIMP(statut='f',typ='R',defaut=0.5),           
+         ),
+#        FONC_MULT     =SIMP(statut='f',typ='R' ),
+         FREQ_INIT       =SIMP(statut='o',typ='R' ),
+         NB_FREQ       =SIMP(statut='o',typ='I' ),
+         PAS             =SIMP(statut='o',typ='R' ),     
+#        LIST_FREQ        =SIMP(statut='o',typ='liste' ),  
+         UNITE_RESU_FORC = SIMP(statut='f',typ='I',defaut=33),
+         UNITE_RESU_IMPE  = SIMP(statut='f',typ='I',defaut=32), 
+         TYPE             = SIMP(statut='f',typ='TXM',into=("BINAIRE","ASCII"), defaut="ASCII"),
+#
+         MATR_GENE         = FACT(statut='o',
+            MATR_MASS     = SIMP(statut='o',typ=(matr_asse_gene_r ) ),
+            MATR_RIGI     = SIMP(statut='o',typ=(matr_asse_gene_r,matr_asse_gene_c ) ),
+            MATR_AMOR     = SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c ) ), 
+         ),         
+#         
+#         OPTION        =SIMP(statut='f',typ='TXM',into=("TOUT","DIAG"),defaut="TOUT"),
+#             
+         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
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20169,92 +21244,84 @@ MODI_REPERE=OPER(nom="MODI_REPERE",op=191,sd_prod=modi_repere_prod,reentrant='n'
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-def norm_mode_prod(MODE,**args ):
-  if AsType(MODE) == mode_meca   : return mode_meca
-  if AsType(MODE) == mode_meca_c : return mode_meca_c
-  if AsType(MODE) == mode_flamb  : return mode_flamb
-  if AsType(MODE) == base_modale : return base_modale
+# RESPONSABLE BOYERE E.BOYERE
+def rest_base_phys_prod(RESU_GENE,RESU_PHYS,RESULTAT,**args ):
+  if AsType(RESU_GENE) == tran_gene : return dyna_trans
+  if AsType(RESU_GENE) == mode_gene : return mode_meca
+  if AsType(RESU_GENE) == mode_cycl : return mode_meca
+  if AsType(RESU_GENE) == harm_gene : return dyna_harmo
+  if AsType(RESU_PHYS) == evol_noli : return dyna_trans
+  if AsType(RESULTAT)  == evol_elas      : return evol_elas
+  if AsType(RESULTAT)  == evol_noli      : return evol_noli
+  if AsType(RESULTAT)  == evol_char      : return evol_char
+  if AsType(RESULTAT)  == dyna_trans     : return dyna_trans
+  if AsType(RESULTAT)  == mode_meca      : return mode_meca
+  if AsType(RESULTAT)  == mode_stat_depl : return mode_stat_depl
+  if AsType(RESULTAT)  == base_modale    : return base_modale
   raise AsException("type de concept resultat non prevu")
 
-NORM_MODE=OPER(nom="NORM_MODE",op=  37,sd_prod=norm_mode_prod,
-               fr="Normer des modes propres en fonction d'un critère choisi par l'utilisateur",
-               reentrant='f',
-            UIinfo={"groupes":("Résolution",)},
-         regles=(UN_PARMI('NORME','NOEUD','AVEC_CMP','SANS_CMP'),
-                 CONCEPT_SENSIBLE('SEPARE'),
-                 DERIVABLE('MODE'),),
-         MODE       =SIMP(statut='o',typ=(mode_meca,mode_flamb,base_modale) ),
-         NORME      =SIMP(statut='f',typ='TXM',fr="Norme prédéfinie : masse généralisée, euclidienne,...",
-                          into=("MASS_GENE","RIGI_GENE","EUCL","EUCL_TRAN","TRAN","TRAN_ROTA") ),
-         NOEUD      =SIMP(statut='f',typ=no, fr="Composante donnée d un noeud spécifié égale à 1"),
-         b_noeud    =BLOC(condition = "NOEUD != None",
-           NOM_CMP    =SIMP(statut='o',typ='TXM' ),
-         ),
-         AVEC_CMP   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
-         SANS_CMP   =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
-         MODE_SIGNE =FACT(statut='f',fr="Imposer un signe sur une des composantes des modes",
-           NOEUD      =SIMP(statut='o',typ=no,fr="Noeud ou sera imposé le signe"),
-           NOM_CMP    =SIMP(statut='o',typ='TXM',fr="Composante du noeud ou sera imposé le signe" ),
-           SIGNE      =SIMP(statut='f',typ='TXM',defaut="POSITIF",into=("NEGATIF","POSITIF"),
-                            fr="Choix du signe" ),
-         ),
-         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
-                               fr="Liste des param\350tres de sensibilit\351.",
-                               ang="List of sensitivity parameters",
-         ),
-         b_base    =BLOC(condition = "AsType(MODE) == base_modale",
-              MASSE = SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_gene_r,matr_asse_pres_r ), ),
-              RAIDE = SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_gene_r,matr_asse_pres_r ), ),
-              AMOR  = SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_gene_r) ),
-         ),
-         TITRE      =SIMP(statut='f',typ='TXM',max='**'),
-         INFO       =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
-)  ;
-#& MODIF COMMANDE  DATE 10/09/2007   AUTEUR LEFEBVRE J-P.LEFEBVRE 
-#            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.
-#
-# 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 VABHHTS J.PELLET
-NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n',
+REST_BASE_PHYS=OPER(nom="REST_BASE_PHYS",op=  75,sd_prod=rest_base_phys_prod,
+                    fr="Restituer dans la base physique des résultats en coordonnées généralisées",
+                    reentrant='n',
             UIinfo={"groupes":("Matrices/vecteurs",)},
-              fr="Etablissement de la numérotation des ddl avec ou sans renumérotation et du stockage de la matrice",
-                  regles=(UN_PARMI('MATR_RIGI','MODELE'),),
-         MATR_RIGI       =SIMP(statut='f',validators=NoRepeat(),max=100,
-                               typ=(matr_elem_depl_r ,matr_elem_depl_c,matr_elem_temp_r ,matr_elem_pres_c) ),
-         MODELE          =SIMP(statut='f',typ=modele_sdaster ),
-         b_modele        =BLOC(condition = "MODELE != None",
-           CHARGE     =SIMP(statut='f',validators=NoRepeat(),max='**',typ=(char_meca,char_ther,char_acou, ),),
-         ),
-         METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
-         b_mult_front    =BLOC(condition="METHODE=='MULT_FRONT'",fr="paramètres associés à la méthode multifrontale",
-           RENUM           =SIMP(statut='f',typ='TXM',into=("MD","MDA","METIS"),defaut="METIS" ),
-         ),
-         b_ldlt          =BLOC(condition="METHODE=='LDLT'",fr="paramètres associés à la méthode LDLT",
-           RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
-         ),
-         b_mumps        =BLOC(condition = "METHODE == 'MUMPS' ",fr="Paramètres de la méthode MUMPS",
-           RENUM         =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("AMD","AMF","PORD","METIS","QAMD","AUTO")),
-         ),
-         b_gcpc          =BLOC(condition="METHODE=='GCPC'",fr="paramètres associés à la méthode gradient conjugué",
-           RENUM           =SIMP(statut='f',typ='TXM',into=("RCMK","SANS"),defaut="RCMK"  ),
+        regles=(UN_PARMI('RESU_GENE','RESU_PHYS','RESULTAT'),
+                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'),
+                EXCLUS('TOUT_INST','NUME_ORDRE','INST','LIST_INST','TOUT_ORDRE'),
+#  Doc U à revoir
+                EXCLUS('MULT_APPUI','CORR_STAT'),
+                EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'),
+                EXCLUS('CORR_STAT','NOEUD','GROUP_NO'),             
+                EXCLUS('NOEUD','GROUP_NO'),
+                EXCLUS('MACR_ELEM_DYNA','BASE_MODALE'),
+                PRESENT_PRESENT('RESULTAT','SQUELETTE'),
+                PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),),
+         RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans,evol_char,
+                                               mode_meca,mode_stat_depl,base_modale) ),
+         
+         RESU_GENE       =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene) ),
+         RESU_PHYS       =SIMP(statut='f',typ=evol_noli ),
+         BASE_MODALE     =SIMP(statut='f',typ=(base_modale,mode_meca) ),
+         NUME_DDL        =SIMP(statut='f',typ=nume_ddl_sdaster ),
+         MACR_ELEM_DYNA  =SIMP(statut='f',typ=macr_elem_dyna),
+         MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
+         TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),  
+         NUME_MODE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),  
+         TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),  
+         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
+         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=("ABSOLU","RELATIF") ),
+         PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
+         INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
+         MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",   
+                               into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL",                 
+                                     "SIGM_ELNO_DEPL","FORC_NODA",) ),
+         TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+         NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+         GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+         MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+         ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+         DIRECTION       =SIMP(statut='f',typ='R',min=3,max=3 ),
+
+         CYCLIQUE    =FACT(statut='f',max='**',
+           NB_SECTEUR      =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ),
+           NUME_DIAMETRE    =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ),
+           RESULTAT2       =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans,evol_char,
+                                               mode_meca,mode_stat_depl,base_modale) ),
          ),
-         INFO            =SIMP(statut='f',typ='I',into=(1,2)),
+
+         SQUELETTE       =SIMP(statut='f',typ=squelette ),
+         SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),  
+         SECTEUR         =SIMP(statut='f',typ='I',defaut= 1 ),  
+         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20272,248 +21339,408 @@ NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n',
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-NUME_DDL_GENE=OPER(nom="NUME_DDL_GENE",op= 127,sd_prod=nume_ddl_gene,
-                   fr="Etablissement de la numérotation des ddl d'un modèle établi en coordonnées généralisées",
+# RESPONSABLE ADOBES A.ADOBES
+REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=table_fonction,
                     reentrant='n',
+            fr="Calculer la réponse d'une structure dans la base physique",
             UIinfo={"groupes":("Matrices/vecteurs",)},
-         regles=UN_PARMI('MODELE_GENE','BASE'),
-         MODELE_GENE     =SIMP(statut='f',typ=modele_gene ),
-             b_modele_gene     =BLOC(condition = "MODELE_GENE != None",
-               STOCKAGE     =SIMP(statut='f',typ='TXM',defaut="LIGN_CIEL",into=("LIGN_CIEL","PLEIN") ),
-               METHODE            =SIMP(statut='f',typ='TXM',defaut="CLASSIQUE",into=("INITIAL","CLASSIQUE") ),
-                                    ),
-         BASE     =SIMP(statut='f',typ=(mode_meca,mode_stat,base_modale,mode_gene ) ),
-             b_base     =BLOC(condition = "BASE != None",
-               STOCKAGE     =SIMP(statut='f',typ='TXM',defaut="DIAG",into=("DIAG","PLEIN") ),
-               NB_VECT     =SIMP(statut='f',typ='I',defaut= 9999 ),
-                             ),
+         regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),),        
+         BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
+         MODE_MECA       =SIMP(statut='f',typ=(mode_meca, base_modale ),),
+         BANDE           =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max=2    ),  
+         NUME_ORDRE      =SIMP(statut='f',typ='I'      ,validators=NoRepeat(),max='**' ),
+         TOUT_ORDRE       =SIMP(statut='f',typ='TXM',defaut="NON",  into=("OUI","NON")  ),
+         INTE_SPEC_GENE  =SIMP(statut='o',typ=table_fonction),
+         NOEUD           =SIMP(statut='o',typ=no   ,max='**'),
+         MAILLE          =SIMP(statut='f',typ=ma   ,max='**'),
+         NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),  
+         NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=7,    
+                               into=("DEPL","VITE","ACCE","EFGE_ELNO_DEPL",
+                                     "SIPO_ELNO_DEPL","SIGM_ELNO_DEPL","FORC_NODA") ),
+         MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc), ),
+         EXCIT           =FACT(statut='f',
+           NOEUD           =SIMP(statut='o',typ=no   ,max='**'),
+           NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),  
+         ),
+         MOUVEMENT       =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ),
+         OPTION          =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG",    
+                               into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
 )  ;
-#& MODIF COMMANDE  DATE 22/05/2007   AUTEUR BODEL C.BODEL 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2007  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.        
-# ======================================================================
-
-from Macro.observation_ops import observation_ops
-
-
-def observation_prod(self, RESULTAT, **args):
-    if AsType(RESULTAT) == base_modale or AsType(RESULTAT) == mode_meca :
-        return base_modale
-    elif AsType(RESULTAT) == evol_elas :
-        return evol_elas
-    elif AsType(RESULTAT) == dyna_harmo :
-        return dyna_harmo
-    else :
-        return None
-
-OBSERVATION=MACRO(nom="OBSERVATION",op=observation_ops,
-            UIinfo={"groupes":("Matrices/vecteurs",)},
-                      sd_prod=observation_prod,
-                      fr="Calcul de l'observabilite d'un champ aux noeuds ",
+# 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.
 #
-         MODELE_1        =SIMP(statut='o',typ=modele_sdaster),
-         MODELE_2        =SIMP(statut='o',typ=modele_sdaster),
-         RESULTAT        =SIMP(statut='o',typ=(mode_meca,base_modale) ),
-         NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1),
-
-#        ------------------------------------------------------------------
+# 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
+STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
+                   fr="Calcul de l'évolution mécanique ou thermo-hydro-mécanique couplée, en quasi-statique,"
+                      +" d'une structure en non linéaire",
+                   reentrant='f',
+            UIinfo={"groupes":("Résolution",)},
+         regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS'),
+                 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),
+         EXCIT           =FACT(statut='o',max='**',
+           CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
+           FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
+                                 into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
+         ),
+         SOUS_STRUC      =FACT(statut='f',min=01,max='**',
+                regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
+                CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
+                TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
+                FONC_MULT   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+              ),
+         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 ),
+           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")),
+           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")),
+           ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+           ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+           ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+           ELAS_VMIS_PUIS  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+           ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+           ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+           CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+           DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
+      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='**'),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+         ),
+         b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
+           ETAT_INIT       =FACT(statut='o',
+             regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',),
+                     EXCLUS('EVOL_NOLI','DEPL',),
+                     EXCLUS('EVOL_NOLI','SIGM',),
+                     EXCLUS('EVOL_NOLI','VARI',),
+                     EXCLUS('NUME_ORDRE','INST'), ),
+             DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
+             SIGM            =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
+             VARI            =SIMP(statut='f',typ=cham_elem),
+             EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
+             NUME_ORDRE      =SIMP(statut='f',typ='I'),
+             INST            =SIMP(statut='f',typ='R'),
+             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
+             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+             NUME_DIDI       =SIMP(statut='f',typ='I'),
+             INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
+         ),),
+         b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
+           ETAT_INIT       =FACT(statut='f',
+             regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',),
+                     EXCLUS('EVOL_NOLI','DEPL',),
+                     EXCLUS('EVOL_NOLI','SIGM',),
+                     EXCLUS('EVOL_NOLI','VARI',),
+                     EXCLUS('NUME_ORDRE','INST'), ),
+             DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
+             SIGM            =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
+             VARI            =SIMP(statut='f',typ=cham_elem),
+             EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
+             NUME_ORDRE      =SIMP(statut='f',typ='I'),
+             INST            =SIMP(statut='f',typ='R'),
+             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
+             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+             NUME_DIDI       =SIMP(statut='f',typ='I'),
+             INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
+         ),),
+         INCREMENT       =FACT(statut='o',
+           regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
+                   EXCLUS('NUME_INST_FIN','INST_FIN'),),
+           LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
+           EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
+                                 into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
+           NUME_INST_INIT  =SIMP(statut='f',typ='I'),
+           INST_INIT       =SIMP(statut='f',typ='R'),
+           NUME_INST_FIN   =SIMP(statut='f',typ='I'),
+           INST_FIN        =SIMP(statut='f',typ='R'),
+           ERRE_TEMPS      =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
+                                 fr="Adaptation temporelle pour les modélisations HM instationnaires",
+                                 ang="Time adaptation for unstationary HM models"),
+           PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
+           # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
+           SUBD_METHODE    =SIMP( statut='f',typ='TXM',
+              into =("AUCUNE","UNIFORME","EXTRAPOLE"),
+              defaut="AUCUNE",
+              fr="Méthode de subdivision des pas de temps en cas de non-convergence"
+           ),
+           b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
+             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
+             SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
+                fr="Coefficient multiplicateur de la 1ère subdivision"),
+             SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
+                fr="Nombre de subdivision d'un pas de temps"),
+             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
+                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
+             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
+                fr="Pas de temps en dessous duquel on ne subdivise plus"),
+           ),
+           b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
+             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
+             SUBD_OPTION    =SIMP(statut='f',typ='TXM',
+                into =("IGNORE_PREMIERES","GARDE_DERNIERES",),
+                defaut="IGNORE_PREMIERES",
+                fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
+             SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
+                fr="Les n premières itérations sont ignorées pour l'extrapolation"),
+             SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
+                fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
+             SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
+                fr="Nombre de subdivision d'un pas de temps en cas divergence"),
+             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
+                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
+             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
+                fr="Pas de temps en dessous duquel on ne subdivise plus"),
+             SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
+                fr="% itération autorisée en plus"),
+           ),
+           # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
+           OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
+           NOM_CHAM        =SIMP(statut='f',typ='TXM',),
+           NOM_CMP         =SIMP(statut='f',typ='TXM',),
+           VALE            =SIMP(statut='f',typ='R'),
+         ),
+         NEWTON          =FACT(statut='d',
+           REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
+           PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
+           MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
+           PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
+           REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
+           REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
+           EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
+         ),
+         RECH_LINEAIRE   =FACT(statut='f',
+           METHODE         =SIMP(statut='f',typ='TXM',defaut="CORDE",into=("CORDE","MIXTE") ),
+           RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
+           ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
+           ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),
+           PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),
+           RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),
+           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.),
+         ),
+         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","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
+           COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
+           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'),
+           ETA_PILO_R_MIN  =SIMP(statut='f',typ='R'),
+           PROJ_BORNES     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
+           SELECTION       =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ),
+           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='**'),
+           NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
+           NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
+                         ),
+         CONVERGENCE     =FACT(statut='d',
+           regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_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'),),
+             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'),
+             EPSI_REFE       =SIMP(statut='f',typ='R'),
+             FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
+             FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
+             FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),
+             VARI_REFE       =SIMP(statut='f',typ='R'),
+           ),
 
-         regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','FREQ','LIST_FREQ','NUME_MODE' ),),
-         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='**' ),
-         LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
-         NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
-         LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
-         INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
-         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
-         NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
 
-#        ------------------------------------------------------------------
-#        OPTIONS DE PROJ_CHAMP (SANS MC FACTEUR PARTICULIER)
-#        ------------------------------------------------------------------
-         PROJECTION     =SIMP(statut='f',max=1,typ='TXM',into=("OUI","NON"),defaut="NON"),
-         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."),
-         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"),
+           RESI_REFE_RELA  =SIMP(statut='f',typ='R'),
+           RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
+           RESI_GLOB_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),
+           ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
+         ),
+         SOLVEUR         =FACT(statut='d',
+           METHODE=SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS","FETI","PETSC") ),
+          
+           b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
+           ),
+           b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
+           ),
+           b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' or METHODE == 'FETI'",
+                                   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","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") ),
+             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")),
+             PRETRAITEMENTS  =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
+             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,),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
+             PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
+                                   into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
+             PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             ),
+           b_petsc          =BLOC(condition = "METHODE == 'PETSC' ",fr="Paramètres de la méthode PETSC",
+             VARIANTE        =SIMP(statut='f',typ='TXM',into=("GMRES","BCGS","CR","CG","BICG","CHEBYCHEV",),defaut="GMRES" ),
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("ILU","SOR","BJACOBI"),defaut="ILU" ),
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-8),
+             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= -1 ),
+           ),
+           b_feti          =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1",
+             PARTITION       =SIMP(statut='o',typ=sd_feti_sdaster),
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6,val_min=0.),
+             NMAX_ITER       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             REAC_RESI       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             TYPE_REORTHO_DD =SIMP(statut='f',typ='TXM',defaut="GSM",into=("SANS","GS","GSM","IGSM") ),
+             NB_REORTHO_DD   =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             NB_REORTHO_INST =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LUMPE",into=("LUMPE","SANS") ),
+             SCALING         =SIMP(statut='f',typ='TXM',defaut="MULT",into=("SANS","MULT") ),
+             VERIF_SDFETI    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+             TEST_CONTINU    =SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.),
+             INFO_FETI       =SIMP(statut='f',typ='TXM',defaut='FFFFFFFFFFFFFFFFFFFFFFFF'),
+             STOCKAGE_GI     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","CAL") ),
+             NB_SD_PROC0     =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             ACCELERATION_SM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           ),
+           SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+         ),
+         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.0E-3),
+           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")),
+         ),
+         OBSERVATION     =FACT(statut='f',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'),
+                                                  PRESENT_PRESENT('MAILLE','POINT'),),
+             NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+             GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+             POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
+             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+             NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
+                                   into=("DEPL","VITE","ACCE","SIEF_ELGA",
+                                         "VARI_ELGA","FORC_NODA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU",)),
+             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+             NUME_SUIVI      =SIMP(statut='o',typ='I' ,min=1,max=4),
+             VALE_MAX        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,into=("OUI",) ),
+             VALE_MIN        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,into=("OUI",) ),),
+         b_non_suivi      =BLOC(condition = "SUIVI_DDL == 'NON' ",
+                                regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),PRESENT_PRESENT('MAILLE','POINT'),),
+             NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+             GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+             POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
+             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+             NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE","SIEF_ELGA",
+                                              "VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU","VALE_CONT")),
+             INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
+             LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
+             PAS_OBSE        =SIMP(statut='f',typ='I'),
+             LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
+             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
+             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),),
+         ),
 
-#           PROL_ZERO       =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON",
-#                fr="Si le résultat est un mode_xxx ou une base_xxx, on peut prolonger"
-#                   +" les champs par zéro la ou la projection ne donne pas de valeurs."),
+         AFFICHAGE      = FACT(statut='f',max=16,
 
-         NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster) ),
-         VIS_A_VIS       =FACT(statut='f',max='**',
-             regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
-                     AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),),
-             TOUT_1          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-             GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-             MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-             GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-             NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-             TOUT_2          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-             GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-             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",) ),
-             ),
+            UNITE       = SIMP(statut='f',typ='I',val_min=1),
 
-#        ------------------------------------------------------------------
-#        MODI_REPERE
-#        ------------------------------------------------------------------
-         MODI_REPERE     =FACT(statut='f',max='**',
-         regles=(UN_PARMI('REPERE'),
-                 AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-#
-           TYPE_CHAM       =SIMP(statut='f',typ='TXM',
-                                 into=("VECT_2D","VECT_3D","TORS_3D","TENS_2D","TENS_3D"),
-                                       defaut="VECT_3D"),
-           b_vect_2d       =BLOC(condition = "TYPE_CHAM=='VECT_2D'",
-              NOM_CMP         =SIMP(statut='o',typ='TXM',min=2,max=2 ),),
-           b_vect_3d       =BLOC(condition = "TYPE_CHAM=='VECT_3D'",
-              NOM_CMP         =SIMP(statut='f',typ='TXM',min=3,max=3,defaut=('DX','DY','DZ') ),),
-           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 ),),
-           b_tens_3d       =BLOC(condition = "TYPE_CHAM=='TENS_3D'",
-              NOM_CMP         =SIMP(statut='o',typ='TXM',min=6,max=6 ),),
+            LONG_R      = SIMP(statut='f',typ='I',defaut=12,val_min=1,val_max=12),
+            PREC_R      = SIMP(statut='f',typ='I',defaut=5, val_min=1,val_max=8),
+            LONG_I      = SIMP(statut='f',typ='I',defaut=6, val_min=1,val_max=12),
 
-           REPERE          =SIMP(statut='o',typ='TXM',
-                                 into=("UTILISATEUR","CYLINDRIQUE","NORMALE"),),
-           b_normale       =BLOC(condition = "REPERE=='NORMALE'",
-             regles=(UN_PARMI('VECT_X','VECT_Y')),
-             VECT_X          =SIMP(statut='f',typ='R',min=3,max=3),
-             VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3), ),
-           b_utilisateur   =BLOC(condition = "REPERE=='UTILISATEUR'",
-             ANGL_NAUT       =SIMP(statut='o',typ='R',max=3)),
-           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)),
+            NOM_COLONNE = SIMP(statut='o',typ='TXM',defaut="STANDARD",
+                                into=("STANDARD","MINIMUM",
+                                      "ITER_NEWT",
+                                      "INCR_TPS",
+                                      "RESI_RELA","RELA_NOEU",
+                                      "RESI_MAXI","MAXI_NOEU",
+                                      "RESI_REFE","REFE_NOEU",
+                                      "RELI_ITER","RELI_COEF",
+                                      "PILO_PARA",
+                                      "LAGR_ECAR","LAGR_INCR","LAGR_ITER",
+                                      "MATR_ASSE",
+                                      "ITER_DEBO",
+                                      "CTCD_ITER","CTCD_INFO","CTCD_GEOM","CTCD_NOEU",
+                                      "CTCC_GEOM","CTCC_FROT","CTCC_CONT",
+                                      "SUIV_1","SUIV_2","SUIV_3","SUIV_4","ITER_FETI",
+                                     ),
+                               ),
+            b_residu    = BLOC(condition = " NOM_COLONNE == 'RESI_RELA' or \
+                    NOM_COLONNE == 'RESI_MAXI' or\
+                    NOM_COLONNE == 'RESI_REFE' or\
+                    NOM_COLONNE == 'CTCD_GEOM' or\
+                    NOM_COLONNE == 'STANDARD' ",
+                            INFO_RESIDU = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
+                          ),
          ),
 
-#        ------------------------------------------------------------------
-#        FILTRE DES DDL
-#        ------------------------------------------------------------------
-         FILTRE     =FACT(statut='f',max='**',
-           regles=(UN_PARMI('DDL_ACTIF'),
-#                           'MASQUE'),
-           AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-#
-           DDL_ACTIF       =SIMP(statut='f',typ='TXM',max=6),
-# TODO : mettre en place le systeme de masques
-#           MASQUE          =SIMP(statut='f',typ='TXM',max=6),
-         ),
-#        ------------------------------------------------------------------
 
+
+         CRIT_FLAMB     =FACT(statut='f',min=1,max=1,
+           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"),
+           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é",
+                               ang="List of sensitivity parameters"),
+         INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-      )  ;
-#& MODIF COMMANDE  DATE 10/07/2007   AUTEUR MARKOVIC D.MARKOVIC 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2005  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.        
-# ======================================================================
-POST_CHAM_XFEM=OPER(nom="POST_CHAM_XFEM",op= 196,sd_prod=evol_noli,
-                    reentrant='n',UIinfo={"groupes":("Post traitements",)},
-            fr="Calcul des champs DEPL et SIEF_ELGA sur le maillage fissuré",
-    MAILLAGE_SAIN = SIMP(statut='o',typ=maillage_sdaster),
-    MAILLAGE_FISS = SIMP(statut='o',typ=maillage_sdaster),
-    NOM_CHAM      = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","SIEF_ELGA","VARI_ELGA"),),
-    MODELE        = SIMP(statut='o',typ=modele_sdaster,),
-    RESULTAT      = SIMP(statut='o',typ=resultat_sdaster),
-      b_elga      = BLOC(condition = "NOM_CHAM in ('SIEF_ELGA','VARI_ELGA') or \
-                                      (type(NOM_CHAM)==type(()) and 'SIEF_ELGA' in NOM_CHAM) or \
-                                      (type(NOM_CHAM)==type(()) and 'VARI_ELGA' in NOM_CHAM)",
-      MODELE_VISU = SIMP(statut='o',typ=modele_sdaster,),
-                         ),
-    INFO           =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
-);                     
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
-#            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.                                 
-#
-# 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.      
-# ======================================================================
-from Macro.post_dyna_alea_ops import post_dyna_alea_ops
+ )
 
-POST_DYNA_ALEA=MACRO(nom="POST_DYNA_ALEA",op= post_dyna_alea_ops,sd_prod=table_sdaster,
-                    fr="Traitements statistiques de résultats de type interspectre et impression sur fichiers",
-                    reentrant='n',
-            UIinfo={"groupes":("Post traitements",)},
-         regles=(UN_PARMI('NOEUD_I','NUME_ORDRE_I','OPTION'),),
-         INTE_SPEC       =SIMP(statut='o',typ=table_fonction),
-         NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),  
-         TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         NUME_ORDRE_I    =SIMP(statut='f',typ='I',max='**' ),
-         NOEUD_I         =SIMP(statut='f',typ=no,max='**'),         
-         OPTION          =SIMP(statut='f',typ='TXM',into=("DIAG",) ),
-         b_nume_ordre_i =BLOC(condition = "NUME_ORDRE_I != None",
-           NUME_ORDRE_J    =SIMP(statut='o',typ='I',max='**' ),   
-         ),  
-         b_noeud_i      =BLOC(condition = "NOEUD_I != None",
-           NOEUD_J         =SIMP(statut='o',typ=no,max='**'),
-           NOM_CMP_I       =SIMP(statut='o',typ='TXM',max='**' ),  
-           NOM_CMP_J       =SIMP(statut='o',typ='TXM',max='**' ),     
-         ),  
-         MOMENT          =SIMP(statut='f',typ='I',max='**',fr="Moments spectraux en complément des cinq premiers" ),  
-         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
-)  ;
-#& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20531,500 +21758,629 @@ POST_DYNA_ALEA=MACRO(nom="POST_DYNA_ALEA",op= post_dyna_alea_ops,sd_prod=table_s
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-POST_DYNA_MODA_T=OPER(nom="POST_DYNA_MODA_T",op= 130,sd_prod=table_sdaster,
-                      fr="Post-traiter les résultats en coordonnées généralisées produit par DYNA_TRAN_MODAL",
-                      reentrant='n',
-            UIinfo={"groupes":("Post traitements",)},
-        regles=(UN_PARMI('CHOC','RELA_EFFO_DEPL', ),),
-         RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
-         CHOC            =FACT(statut='f',max='**',
-                               fr="Analyse des non linéarités de choc",
-           INST_INIT       =SIMP(statut='f',typ='R',defaut= -1. ),  
-           INST_FIN        =SIMP(statut='f',typ='R',defaut= 999. ),  
-           NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
-           SEUIL_FORCE     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
-           DUREE_REPOS     =SIMP(statut='f',typ='R',defaut= 0.E+0 ),  
-           OPTION          =SIMP(statut='f',typ='TXM',defaut="USURE",into=("IMPACT","USURE") ),
-           NB_CLASSE       =SIMP(statut='f',typ='I',defaut= 10 ),  
+# RESPONSABLE COURTOIS M.COURTOIS
+TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,
+            fr="Extraction d'une valeur numérique ou d'un attribut de fonction pour comparaison à une valeur de référence",
+            UIinfo={"groupes":("Impression",)},
+         TEST_NOOK       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+         VALEUR          =FACT(statut='f',max='**',
+                               fr="Tester la valeur d une fonction ou d une nappe",
+           regles=(UN_PARMI('VALE_REFE','VALE_REFE_C',),
+                   DERIVABLE('FONCTION'),),
+           FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
+           SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
+                                 fr="Paramètre de sensibilité.",
+                                 ang="Sensitivity parameter"),
+           NOM_PARA        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2),
+           VALE_PARA       =SIMP(statut='o',typ='R'  ,validators=NoRepeat(),max=2),
+           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") ),
+           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",
+                                 defaut= 1.E-3 ),
+           REFERENCE       =SIMP(statut='f',typ='TXM',
+                                 into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
+           b_version = BLOC (condition = "REFERENCE == 'NON_REGRESSION'", 
+             VERSION         =SIMP(statut='f',typ='TXM' ),
+           ),
          ),
-         RELA_EFFO_DEPL  =FACT(statut='f',
-                               fr="Analyse des relationsnon linéaires effort-déplacement",
-           NOEUD           =SIMP(statut='o',typ=no),
-           NOM_CMP         =SIMP(statut='o',typ='TXM' ),  
+         ATTRIBUT        =FACT(statut='f',max='**',
+                               fr="Tester la valeur d un attribut d une fonction ou d''une nappe",
+           FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
+           PARA            =SIMP(statut='f',typ='R' ),
+           CRIT_PARA       =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+           PREC_PARA       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
+           ATTR            =SIMP(statut='o',typ='TXM',
+                                 into=("NOM_PARA","NOM_RESU","PROL_DROITE","PROL_GAUCHE","INTERPOL",
+                                       "PROL_GAUCHE_FONC","PROL_DROITE_FONC","INTERPOL_FONC","NOM_PARA_FONC") ),
+           ATTR_REFE       =SIMP(statut='o',typ='TXM' ),
+           REFERENCE       =SIMP(statut='f',typ='TXM',
+                                 into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
+           b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
+             VERSION         =SIMP(statut='f',typ='TXM' ),
+           ),
          ),
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
-)  ;
-#& MODIF COMMANDE  DATE 05/11/2007   AUTEUR PROIX J-M.PROIX 
-#            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.                                 
-#
-# 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 G8BHHXD X.DESROCHES
-POST_ELEM=OPER(nom="POST_ELEM",op=107,sd_prod=table_sdaster,reentrant='n',
-            UIinfo={"groupes":("Post traitements",)},
-               fr="Calcul de quantités globales (masse, inerties, énergie, ...) sur tout ou partie du modèle",
-
-         regles=(UN_PARMI('MASS_INER', 'ENER_POT', 'ENER_CIN','TRAV_EXT','MINMAX',
-                          'WEIBULL', 'RICE_TRACEY', 'CARA_GEOM','CHAR_LIMITE',
-                          'CARA_POUTRE', 'INDIC_ENER', 'INDIC_SEUIL',
-                          'AIRE_INTERNE','ENER_ELAS','ENER_TOTALE','INTEGRALE'),
-                ),
-
-         MASS_INER      = FACT(statut='f',max='**',
-                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               ORIG_INER    = SIMP(statut='f',typ='R',min=3,max=3 ),
-                              ),
-         b_mass_iner = BLOC(condition = "( MASS_INER != None )",
-                       fr="calcul de la masse, les inerties et le centre de gravité",
-                       regles=(EXCLUS('CHAM_GD','RESULTAT'),
-                               EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
-                                      'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
-                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
-                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
-                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
-                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
-                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
-                       GEOMETRIE      = SIMP(statut='f',typ='TXM',defaut="INITIALE",into=("INITIALE","DEFORMEE")),
-                       CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
-                       RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_noli,mult_elas,
-                                                             fourier_elas,dyna_trans) ),
-                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
-                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                       NUME_ORDRE     = SIMP(statut='f',typ='I',),
-                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
-                       INST           = SIMP(statut='f',typ='R',),
-                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
-                       FREQ           = SIMP(statut='f',typ='R',),
-                       LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
-                       NUME_MODE      = SIMP(statut='f',typ='I',),
-                       NOEUD_CMP      = SIMP(statut='f',typ='TXM',min=2,validators=NoRepeat(),max=2),
-                       NOM_CAS        = SIMP(statut='f',typ='TXM',),
+         TABL_INTSP      =FACT(statut='f',max='**',
+                               fr="Tester la valeur d une fonction contenue dans une table interspectrale",
+           regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),),
+           INTE_SPEC       =SIMP(statut='o',typ=table_fonction),
+           NOEUD_I         =SIMP(statut='f',typ=no),
+           NUME_ORDRE_I    =SIMP(statut='f',typ='I' ),
+           b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", 
+             NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
+           ),
+           b_noeud_i = BLOC (condition = "NOEUD_I != None",             
+             NOEUD_J         =SIMP(statut='o',typ=no),
+             NOM_CMP_I       =SIMP(statut='o',typ='TXM' ),
+             NOM_CMP_J       =SIMP(statut='o',typ='TXM' ),
+           ),
+           NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
+           VALE_PARA       =SIMP(statut='o',typ='R' ),
+           VALE_REFE_C     =SIMP(statut='o',typ='C',max='**' ),
+           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",
+                                 defaut= 1.E-3 ),
+           REFERENCE       =SIMP(statut='f',typ='TXM',
+                                 into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
+           b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
+             VERSION         =SIMP(statut='f',typ='TXM' ),
+           ),
          ),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.
+#
+# 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 LEFEBVRE J.P.LEFEBVRE
+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')),
 
-         ENER_POT       = FACT(statut='f',max='**',
-                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                              ),
-         b_ener_pot = BLOC(condition = "( ENER_POT  != None )",
-                       fr="calcul de l'énergie potentielle de déformation",
-                       regles=(UN_PARMI('CHAM_GD','RESULTAT'),
-                               EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
-                                      'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
-                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
-                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
-                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
-                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
-                       ANGLE          = SIMP(statut='f',typ='I',defaut=0),
-                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
-                       CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
-                       RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans,mult_elas) ),
-                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
-                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
-                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
-                       FREQ           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-                       LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
-                       NUME_MODE      = SIMP(statut='f',typ='I'  ,validators=NoRepeat(),max='**'),
-                       NOEUD_CMP      = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
-                       NOM_CAS        = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+         CHAM_NO         =FACT(statut='f',max='**',
+           regles=(UN_PARMI('NOEUD','GROUP_NO','TYPE_TEST'),
+                   EXCLUS('NOEUD','GROUP_NO'),
+                   PRESENT_PRESENT('NOEUD','NOM_CMP'),
+                   PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'),
+                   UN_PARMI('VALE','VALE_I','VALE_C'),),
+           CHAM_GD         =SIMP(statut='o',typ=cham_no_sdaster),
+           NOEUD           =SIMP(statut='f',typ=no   ),
+           GROUP_NO        =SIMP(statut='f',typ=grno ),
+           NOM_CMP         =SIMP(statut='f',typ='TXM'),
+           TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
+           VALE            =SIMP(statut='f',typ='R',max='**'),
+           VALE_I          =SIMP(statut='f',typ='I',max='**'),
+           VALE_C          =SIMP(statut='f',typ='C',max='**'),
+           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.0E-3),
+           REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
+                                                            "NON_REGRESSION","AUTRE_ASTER")),
+           VERSION         =SIMP(statut='f',typ='TXM'),
          ),
 
-         ENER_CIN       = FACT(statut='f',max='**',
-                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-                               OPTION       = SIMP(statut='f',typ='TXM',
-                                                   into=("MASS_MECA","MASS_MECA_DIAG"),
-                                                   defaut="MASS_MECA" ),
-                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                              ),
-         b_ener_cin = BLOC(condition = "( ENER_CIN != None )",
-                       fr="calcul de l'énergie cinétique",
-                       regles=(UN_PARMI('CHAM_GD','RESULTAT'),
-                               EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','FREQ','NUME_MODE',
-                                      'NOEUD_CMP','LIST_ORDRE','LIST_INST','LIST_FREQ','NOM_CAS'),),
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
-                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
-                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
-                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
-                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
-                       ANGLE          = SIMP(statut='f',typ='I',defaut=0),
-                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
-                       CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
-                       RESULTAT       = SIMP(statut='f',typ=(mode_meca,evol_elas,evol_ther,evol_noli,dyna_trans) ),
-                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
-                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
-                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
-                       FREQ           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-                       LIST_FREQ      = SIMP(statut='f',typ=listr8_sdaster),
-                       NUME_MODE      = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-                       NOEUD_CMP      = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
-                       NOM_CAS        = SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
+         CHAM_ELEM       =FACT(statut='f',max='**',
+           regles=(UN_PARMI('MAILLE','TYPE_TEST',),
+                   EXCLUS('NOEUD','GROUP_NO','POINT'),
+                   PRESENT_PRESENT('NOEUD','NOM_CMP'),
+                   PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
+                   PRESENT_PRESENT('POINT','NOM_CMP'),
+                   UN_PARMI('VALE','VALE_I','VALE_C'), ),
+           CHAM_GD         =SIMP(statut='o',typ=cham_elem),
+           MAILLE          =SIMP(statut='f',typ=ma),
+           POINT           =SIMP(statut='f',typ='I' ),
+           SOUS_POINT      =SIMP(statut='f',typ='I'),
+           NOEUD           =SIMP(statut='f',typ=no),
+           GROUP_NO        =SIMP(statut='f',typ=grno),
+           NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
+           TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
+           VALE            =SIMP(statut='f',typ='R',max='**' ),
+           VALE_I          =SIMP(statut='f',typ='I',max='**' ),
+           VALE_C          =SIMP(statut='f',typ='C',max='**' ),
+           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.0E-3 ),
+           REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
+                                                            "NON_REGRESSION","AUTRE_ASTER") ),
+           VERSION         =SIMP(statut='f',typ='TXM' ),
          ),
 
-         ENER_ELAS      = FACT(statut='f',max='**',
-                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                              ),
-         b_ener_elas = BLOC(condition = "( ENER_ELAS != None )",
-                       fr="calcul de l'énergie de déformation élastique",
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
-                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
-                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
-                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
-                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
-                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
-                       RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
-                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
-                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
-                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
-                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+         RESU            =FACT(statut='f',max='**',
+           regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),
+                   UN_PARMI('NOM_CHAM','PARA'),
+                   PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP','TYPE_TEST'),
+                   PRESENT_PRESENT('NOM_CMP','NOM_CHAM'),
+                   EXCLUS('NOEUD','GROUP_NO','POINT','TYPE_TEST'),
+                   PRESENT_PRESENT('NOEUD','NOM_CMP'),
+                   PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
+                   PRESENT_PRESENT('POINT','NOM_CMP'),
+                   UN_PARMI('VALE','VALE_I','VALE_C'),
+                   DERIVABLE('RESULTAT'),),
+           RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),
+           SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
+                                 fr="Paramètre de sensibilité.",
+                                 ang="Sensitivity parameter"),
+           NUME_ORDRE      =SIMP(statut='f',typ='I'),
+           INST            =SIMP(statut='f',typ='R'),
+           FREQ            =SIMP(statut='f',typ='R'),
+           NUME_MODE       =SIMP(statut='f',typ='I'),
+           NOEUD_CMP       =SIMP(statut='f',typ='TXM',min=2,max=2),
+           NOM_CAS         =SIMP(statut='f',typ='TXM'),
+           ANGL            =SIMP(statut='f',typ='R'),
+           PARA            =SIMP(statut='f',typ='TXM'),
+           NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
+           NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
+           MAILLE          =SIMP(statut='f',typ=ma   ,max='**'),
+           NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
+           POINT           =SIMP(statut='f',typ='I'),
+           SOUS_POINT      =SIMP(statut='f',typ='I'),
+           TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
+           VALE            =SIMP(statut='f',typ='R',max='**'),
+           VALE_I          =SIMP(statut='f',typ='I',max='**'),
+           VALE_C          =SIMP(statut='f',typ='C',max='**'),
+           VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+           CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2),
+           PRECISION       =SIMP(statut='f',typ='R',max=2),
+           REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
+                                                            "NON_REGRESSION","AUTRE_ASTER",) ),
+           VERSION         =SIMP(statut='f',typ='TXM' ),
          ),
 
-         ENER_TOTALE    = FACT(statut='f',max='**',
-                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                              ),
-         b_ener_totale = BLOC(condition = "( ENER_TOTALE != None )",
-                       fr="calcul de l'énergie de déformation totale",
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
-                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
-                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
-                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
-                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
-                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
-                       RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
-                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
-                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
-                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
-                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+         GENE            =FACT(statut='f',max='**',
+           regles=(UN_PARMI('VALE','VALE_I','VALE_C') ,),
+           RESU_GENE       =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)),
+           b_vect_asse     =BLOC(condition = "AsType(RESU_GENE) == vect_asse_gene",
+             NUME_CMP_GENE   =SIMP(statut='o',typ='I'),
+           ),
+           b_mode          =BLOC(condition = "(AsType(RESU_GENE) == harm_gene) or (AsType(RESU_GENE) == mode_gene)",
+                            regles=(UN_PARMI('NUME_ORDRE','FREQ','NUME_MODE'),
+                                    UN_PARMI('NOM_CHAM','PARA'),
+                                    PRESENT_PRESENT('NOM_CHAM','NUME_CMP_GENE'),),
+             NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
+             NUME_CMP_GENE   =SIMP(statut='f',typ='I'),
+             PARA            =SIMP(statut='f',typ='TXM'),
+             NUME_ORDRE      =SIMP(statut='f',typ='I'),
+             NUME_MODE       =SIMP(statut='f',typ='I'),
+             FREQ            =SIMP(statut='f',typ='R'),
+           ),
+           b_tran          =BLOC(condition = "AsType(RESU_GENE) == tran_gene",
+                            regles=(UN_PARMI('NUME_ORDRE','INST') ,),
+             NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
+             NUME_CMP_GENE   =SIMP(statut='o',typ='I'),
+             NUME_ORDRE      =SIMP(statut='f',typ='I'),
+             INST            =SIMP(statut='f',typ='R'),
+           ),
+           VALE            =SIMP(statut='f',typ='R',max='**'),
+           VALE_I          =SIMP(statut='f',typ='I',max='**'),
+           VALE_C          =SIMP(statut='f',typ='C',max='**'),
+           VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+           CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2),
+           PRECISION       =SIMP(statut='f',typ='R',max=2),
+           REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
+                                                            "NON_REGRESSION","AUTRE_ASTER",) ),
+           VERSION         =SIMP(statut='f',typ='TXM' ),
          ),
 
-         INTEGRALE  = FACT(statut='f',max='**',
-                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               NOM_CHAM       = SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
-                               NOM_CMP        = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
-                              ),
-         b_integrale = BLOC(condition = "( INTEGRALE != None )",
-                       fr="calcul de la moyenne d'une composante",
-                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       RESULTAT       = SIMP(statut='o',typ=(evol_noli,evol_ther,evol_elas) ),
-                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
-                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
-                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+         OBJET           =FACT(statut='f',max='**',
+           regles=(UN_PARMI('S_I','S_R',),
+                   UN_PARMI('VALE','VALE_I','VALE_C','S_R','S_I'),),
+           NOM             =SIMP(statut='o',typ='TXM'),
+           S_R             =SIMP(statut='f',typ='R'),
+           S_I             =SIMP(statut='f',typ='I'),
+           VALE            =SIMP(statut='f',typ='R'),
+           VALE_I          =SIMP(statut='f',typ='I'),
+           VALE_C          =SIMP(statut='f',typ='C'),
+           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.0E-3 ),
+           REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
+                                                            "NON_REGRESSION","AUTRE_ASTER",) ),
+           VERSION         =SIMP(statut='f',typ='TXM' ),
          ),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.                                 
+#
+# 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
+TEST_TABLE=PROC(nom="TEST_TABLE",op= 177,
+            UIinfo={"groupes":("Impression",)},
+         fr="Tester une cellule ou une colonne d'une table",
+         regles=(UN_PARMI('VALE','VALE_I','VALE_C', ),
+                 DERIVABLE('TABLE'),),
+#  concept table_sdaster à tester
+         TABLE           =SIMP(statut='o',typ=table_sdaster),
 
+         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
+                                 fr="Paramètre de sensibilité.",
+                                 ang="Sensitivity parameter"),
+         FILTRE          =FACT(statut='f',max='**',
+           NOM_PARA        =SIMP(statut='o',typ='TXM' ),
+           CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
+                                 into=("EQ","LT","GT","NE","LE","GE","VIDE",
+                                       "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
+           b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
+              regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
+              VALE            =SIMP(statut='f',typ='R',),
+              VALE_I          =SIMP(statut='f',typ='I',),
+              VALE_C          =SIMP(statut='f',typ='C',),
+              VALE_K          =SIMP(statut='f',typ='TXM' ),),
 
-         MINMAX  = FACT(statut='f',max=1,
-                       fr="calcul des extrema en espace d'une CMP d'un champ, pour tous les instants spécifiés",
-                       regles=(UN_PARMI('CHAM_GD','RESULTAT'),
-                               PRESENT_PRESENT('CHAM_GD','MODELE'),
-                               PRESENT_PRESENT('RESULTAT','NOM_CHAM'),
-                               AU_MOINS_UN('TOUT','GROUP_MA'),),
-                       TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),                          
-                       GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),           
-                       RESULTAT       = SIMP(statut='f',typ=(evol_noli,evol_ther,evol_elas) ),
-                       NOM_CHAM       = SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),                
-                       CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       NOM_CMP        = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),        
-              b_minmax = BLOC(condition = "( RESULTAT != None )",
-                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
-                              PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
-                              CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-                              TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                              NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-                              LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
-                              INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-                              LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
-                              ),
+           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
+         ),
+         TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
+         NOM_PARA        =SIMP(statut='o',typ='TXM' ),
+         VALE            =SIMP(statut='f',typ='R',max='**' ),
+         VALE_I          =SIMP(statut='f',typ='I',max='**' ),
+         VALE_C          =SIMP(statut='f',typ='C',max='**' ),
+         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 ),
+         REFERENCE       =SIMP(statut='f',typ='TXM',
+                               into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
+         b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
+             VERSION         =SIMP(statut='f',typ='TXM' ),
+         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
+# ======================================================================
+# 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.
+#
+# 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 DURAND C.DURAND
+THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f',
+            UIinfo={"groupes":("Résolution",)},
+                   fr="Résoudre un problème thermique linéaire stationnaire ou transitoire",
+         regles=(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),
+         EXCIT           =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)),
+         ),
+         INCREMENT       =FACT(statut='f',
+           regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
+                   EXCLUS('NUME_INST_FIN','INST_FIN'),),
+           LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
+           EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
+                                 into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
+           NUME_INST_INIT  =SIMP(statut='f',typ='I'),
+           INST_INIT       =SIMP(statut='f',typ='R'),
+           NUME_INST_FIN   =SIMP(statut='f',typ='I'),
+           INST_FIN        =SIMP(statut='f',typ='R'),
+           PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
+         ),
+         ETAT_INIT       =FACT(statut='f',
+           regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
+           STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",)),
+           EVOL_THER       =SIMP(statut='f',typ=evol_ther),
+           CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster),
+           VALE            =SIMP(statut='f',typ='R'),
+           NUME_ORDRE      =SIMP(statut='f',typ='I'),
+           INST            =SIMP(statut='f',typ='R'),
+           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
+           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+           INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
          ),
+         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
+                               fr="Liste des paramètres de sensibilité.",
+                               ang="List of sensitivity parameters",
+         ),
+           SENS_INIT       =FACT(statut='f',
+             regles=(EXCLUS('STATIONNAIRE','EVOL_THER', ),),
+             STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+             EVOL_THER       =SIMP(statut='f',typ=evol_ther),
+             NUME_INIT       =SIMP(statut='f',typ='I'),
+           ),
+         SOLVEUR         =FACT(statut='d',
+           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS","PETSC") ),
+           b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
+           ),
+           b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
+           ),
+           b_ldlt_mult      =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
+                                   fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
+             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") ),
+             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")),
+             PRETRAITEMENTS  =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
+             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,),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
+             PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
+                                   into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
+             PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             ),
 
-         WEIBULL        = FACT(statut='f',max='**',
-                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               OPTION       = SIMP(statut='f',typ='TXM',
-                                                   into=("SIGM_ELGA","SIGM_ELMOY"),
-                                                   defaut="SIGM_ELGA"),
-                               CORR_PLAST   = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
-                               COEF_MULT    = SIMP(statut='f',typ='R',defaut=1.),
-                              ),
-         b_weibull = BLOC(condition = "( WEIBULL != None )",
-                       fr="calcul du champ élémentaire de la puissance m-ième de la contrainte de Weibull",
-                       regles=(UN_PARMI('CHAM_GD','RESULTAT'),
-                               EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
-                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
-                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
-                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
-                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
-                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
-                       CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
-                       RESULTAT       = SIMP(statut='f',typ=(evol_noli) ),
-                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
-                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
-                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+           b_petsc          =BLOC(condition = "METHODE == 'PETSC' ",fr="Paramètres de la méthode PETSC",
+             VARIANTE        =SIMP(statut='f',typ='TXM',into=("GMRES","BCGS","CR","CG","BICG","CHEBYCHEV",),defaut="GMRES" ),
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("ILU","SOR","BJACOBI"),defaut="ILU" ),
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-8),
+             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= -1 ),
+           ),
+         ),
+         PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57),
+         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.0E-3),
+           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=("VARI",)),
+         ),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+         INFO            =SIMP(statut='f',typ='I',into=(1,2)),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.
+#
+# 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 DURAND C.DURAND
+THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f',
+            UIinfo={"groupes":("Résolution",)},
+                   fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)"
+                      +" stationnaire ou transitoire" ,
+         regles=(CONCEPT_SENSIBLE('ENSEMBLE'),),
+         MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
+         CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
+         CARA_ELEM       =SIMP(statut='c',typ=(cara_elem) ),
+         COMP_THER_NL    =FACT(statut='d',max='**',
+           RELATION        =SIMP(statut='f',typ='TXM',defaut="THER_NL",
+                                 into=("THER_NL",
+                                       "THER_HYDR",
+                                       "SECH_GRANGER",
+                                       "SECH_MENSI",
+                                       "SECH_BAZANT",
+                                       "SECH_NAPPE"
+                                       ) ),
+         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='**'),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
          ),
-
-         RICE_TRACEY    = FACT(statut='f',max='**',
-                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               OPTION       = SIMP(statut='f',typ='TXM',
-                                                   into=("SIGM_ELGA","SIGM_ELMOY"),
-                                                   defaut="SIGM_ELGA"),
-                               LOCAL        = SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
-                              ),
-         b_rice_tracey = BLOC(condition = "( RICE_TRACEY != None )",
-                       fr="calcul du taux de croissance d'une cavité sphérique par rapport à un domaine",
-                       regles=(UN_PARMI('CHAM_GD','RESULTAT'),
-                               EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
-                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
-                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
-                       NUME_COUCHE    = SIMP(statut='f',typ='I',defaut=1),
-                       NIVE_COUCHE    = SIMP(statut='f',typ='TXM',defaut="MOY",into=("INF","SUP","MOY"),),
-                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
-                       CHAM_GD        = SIMP(statut='f',typ=(cham_no_sdaster,cham_elem) ),
-                       RESULTAT       = SIMP(statut='f',typ=(evol_noli) ),
-                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
-                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
-                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+         EVOL_THER_SECH  =SIMP(statut='f',typ=evol_ther),
+         EXCIT           =FACT(statut='o',max='**',
+           CHARGE          =SIMP(statut='o',typ=char_ther),
+           FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
          ),
-
-         INDIC_ENER     = FACT(statut='f',max='**',
-                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                              ),
-         b_indic_ener = BLOC(condition = "( INDIC_ENER != None )",
-                       fr="calcul un indicateur global de perte de proportionnalité du chargement",
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
-                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
-                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
-                       RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
-                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
-                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
-                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
-                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+         INCREMENT       =FACT(statut='f',
+           regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
+                   EXCLUS('NUME_INST_FIN','INST_FIN'),),
+           LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
+           EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
+                                 into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
+           NUME_INST_INIT  =SIMP(statut='f',typ='I'),
+           INST_INIT       =SIMP(statut='f',typ='R'),
+           NUME_INST_FIN   =SIMP(statut='f',typ='I'),
+           INST_FIN        =SIMP(statut='f',typ='R'),
+           PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
+           # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
+           SUBD_METHODE    =SIMP( statut='f',typ='TXM',
+              into =("AUCUNE","UNIFORME","EXTRAPOLE"),
+              defaut="AUCUNE",
+              fr="Méthode de subdivision des pas de temps en cas de non-convergence"
+           ),
+           b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
+             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
+             SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
+                fr="Coefficient multiplicateur de la 1ère subdivision"),
+             SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
+                fr="Nombre de subdivision d'un pas de temps"),
+             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
+                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
+             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
+                fr="Pas de temps en dessous duquel on ne subdivise plus"),
+           ),
+           b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
+             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
+             SUBD_OPTION    =SIMP(statut='f',typ='TXM',
+                into =("IGNORE_PREMIERES","GARDE_DERNIERES",),
+                defaut="IGNORE_PREMIERES",
+                fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
+             SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
+                fr="Les n premières itérations sont ignorées pour l'extrapolation"),
+             SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
+                fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
+             SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
+                fr="Nombre de subdivision d'un pas de temps en cas divergence"),
+             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
+                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
+             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
+                fr="Pas de temps en dessous duquel on ne subdivise plus"),
+             SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
+                fr="% itération autorisée en plus"),
+           ),
+           # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
          ),
-
-         INDIC_SEUIL    = FACT(statut='f',max='**',
-                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                              ),
-         b_indic_seuil = BLOC(condition = "( INDIC_SEUIL != None )",
-                       fr="calcul un indicateur global de perte de proportionnalité du chargement",
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
-                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
-                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
-                       RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
-                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
-                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
-                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
-                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+         ETAT_INIT       =FACT(statut='f',
+           regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
+           STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",)),
+           EVOL_THER       =SIMP(statut='f',typ=evol_ther),
+           CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster),
+           VALE            =SIMP(statut='f',typ='R'),
+           NUME_ORDRE      =SIMP(statut='f',typ='I'),
+           INST            =SIMP(statut='f',typ='R'),
+           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
+           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+           INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
          ),
-
-         CHAR_LIMITE    = FACT(statut='f',min=0,
-                               CHAR_CSTE = SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON")
-                              ),
-         b_char_limite = BLOC(condition = "( CHAR_LIMITE != None )",
-                       fr="post-traitement du calcul de la charge limite",
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
-                       CARA_ELEM      = SIMP(statut='f',typ=cara_elem),
-                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
-                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
-                       RESULTAT       = SIMP(statut='o',typ=(evol_noli) ),
-                       regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','INST','LIST_INST'),),
-                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
-                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                       NUME_ORDRE     = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-                       LIST_ORDRE     = SIMP(statut='f',typ=listis_sdaster),
-                       INST           = SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-                       LIST_INST      = SIMP(statut='f',typ=listr8_sdaster),
+         NEWTON          =FACT(statut='d',
+           REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
+           RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
+           ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 0 ),
          ),
-
-         CARA_GEOM      = FACT(statut='f',max='**',
-                               regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-                               TOUT         = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                               MAILLE       = SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-                               GROUP_MA     = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               SYME_X       = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
-                               SYME_Y       = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
-                               ORIG_INER    = SIMP(statut='f',typ='R',min=2,max=2),
-                              ),
-         b_cara_geom = BLOC(condition = "( CARA_GEOM != None )",
-                       fr="calcul des caractéristiques géométriques d'un section de poutre",
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
-                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
-                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+         CONVERGENCE     =FACT(statut='d',
+           RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
+           RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
+           ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
          ),
-
-         CARA_POUTRE    = FACT(statut='f',max='**',
-                               regles=(AU_MOINS_UN('TOUT','GROUP_MA'),
-                                       ENSEMBLE('LONGUEUR','LIAISON','MATERIAU'),),
-                               TOUT          = SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                               GROUP_MA      = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               GROUP_MA_INTE = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-                               CARA_GEOM     = SIMP(statut='o',typ=table_sdaster),
-                               RT            = SIMP(statut='f',typ='R'),
-                               LAPL_PHI      = SIMP(statut='f',typ=evol_ther),
-                               LAPL_PHI_Y    = SIMP(statut='f',typ=evol_ther),
-                               LAPL_PHI_Z    = SIMP(statut='f',typ=evol_ther),
-                               LIAISON       = SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT")),
-                               LONGUEUR      = SIMP(statut='f',typ='R'),
-                               MATERIAU      = SIMP(statut='f',typ=mater_sdaster),
-                               OPTION        = SIMP(statut='f',typ='TXM',
-                                                    into=("CARA_TORSION","CARA_CISAILLEMENT","CARA_GAUCHI") ),
-                             ),
-         b_cara_poutre = BLOC(condition = "( CARA_POUTRE != None )",
-                       fr="calcul des caractéristiques mécaniques d'un section de poutre",
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
-                       CHAM_MATER     = SIMP(statut='f',typ=cham_mater),
-                       CHARGE         = SIMP(statut='f',typ=(char_meca,char_ther,char_acou),validators=NoRepeat(),max='**' ),
-                       MODE_FOURIER   = SIMP(statut='f',typ='I',defaut=0),
+         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
+                               fr="Liste des paramètres de sensibilité.",
+                               ang="List of sensitivity parameters",
          ),
+         SOLVEUR         =FACT(statut='d',
+           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS","PETSC") ),
+           b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Parametres de la méthode multi frontale",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
+           ),
+           b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Parametres de la méthode LDLT",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
+           ),
+           b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
+                                   fr="Parametres relatifs a la non inversibilité de la matrice a factorise",
+             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_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")),
+             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,),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
+             PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
+                                   into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
+             PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             ),
 
-          AIRE_INTERNE   = FACT(statut='f',max='**',
-                                GROUP_MA_BORD  = SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
-                               ),
-         b_aire_interne = BLOC(condition = "( AIRE_INTERNE != None )",
-                       fr="calcul de l'aire d'un trou dans un maillage 2D",
-                       MODELE         = SIMP(statut='f',typ=modele_sdaster),
+           b_petsc          =BLOC(condition = "METHODE == 'PETSC' ",fr="Paramètres de la méthode PETSC",
+             VARIANTE        =SIMP(statut='f',typ='TXM',into=("GMRES","BCGS","CR","CG","BICG","CHEBYCHEV",),defaut="GMRES" ),
+             PRE_COND        =SIMP(statut='f',typ='TXM',into=("ILU","SOR","BJACOBI"),defaut="ILU" ),
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-8),
+             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= -1 ),
+           ),
+           SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
          ),
-
-         TRAV_EXT       = FACT(statut='f',),
-         b_trav_ext = BLOC(condition = "( TRAV_EXT != None )",
-                       fr="calcul du travail des efforts extérieurs",
-                       RESULTAT       = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans) ),
-                       PRECISION      = SIMP(statut='f',typ='R',defaut= 1.0E-3),
-                       CRITERE        = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-                       TOUT_ORDRE     = SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57 ),
+         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.0E-3),
+           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=("VARI",)),
          ),
+         OBSERVATION     =FACT(statut='f',max='**',
+           NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
+           SUIVI_DDL       =SIMP(statut='c',typ='TXM',defaut="NON",max=1,into=("NON",)),
+         b_non_suivi      =BLOC(condition = "SUIVI_DDL == 'NON' ",
+                                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='**'),
+             NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("TEMP",)),
+             INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
+             LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
+             PAS_OBSE        =SIMP(statut='f',typ='I'),
+             LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
+             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
+             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),),
+         ),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+         OPTION          =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,
+                               into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP") ),
+         INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
 
-         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-
- )  ;
-#& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
-#
-# 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.      
-# ======================================================================
-POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=table_sdaster,reentrant='n',
-            UIinfo={"groupes":("Post traitements",)},
-                    fr="Calculer le dommage de fatigue subi par une structure soumise à une sollicitation de type aléatoire",
-         regles=(ENSEMBLE('MOMENT_SPEC_0','MOMENT_SPEC_2'),
-                 PRESENT_PRESENT( 'MOMENT_SPEC_4','MOMENT_SPEC_0'),
-                 UN_PARMI('TABL_POST_ALEA','MOMENT_SPEC_0'), ),
-         MOMENT_SPEC_0   =SIMP(statut='f',typ='R'),  
-         MOMENT_SPEC_2   =SIMP(statut='f',typ='R'),  
-         MOMENT_SPEC_4   =SIMP(statut='f',typ='R'),  
-         TABL_POST_ALEA  =SIMP(statut='f',typ=table_sdaster),
-         COMPTAGE        =SIMP(statut='o',typ='TXM',into=("PIC","NIVEAU")),
-         DUREE           =SIMP(statut='f',typ='R',defaut= 1.),  
-         CORR_KE         =SIMP(statut='f',typ='TXM',into=("RCCM",)),
-         DOMMAGE         =SIMP(statut='o',typ='TXM',into=("WOHLER",)),
-         MATER           =SIMP(statut='o',typ=mater_sdaster),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
 )  ;
-#& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -21042,70 +22398,207 @@ POST_FATI_ALEA=OPER(nom="POST_FATI_ALEA",op=170,sd_prod=table_sdaster,reentrant=
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=table_sdaster,reentrant='n',
-            UIinfo={"groupes":("Post traitements",)},
-                  fr="Calculer en un point, le dommage de fatigue subi par une structure soumise à une histoire de chargement",
+# RESPONSABLE DURAND C.DURAND
+THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther,
+                     fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)"
+                        +" stationnaire avec chargement mobile",
+                     reentrant='n',
+            UIinfo={"groupes":("Résolution",)},
+         MODELE          =SIMP(statut='o',typ=modele_sdaster ),
+         CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
+         CARA_ELEM       =SIMP(statut='c',typ=cara_elem ),
+         EXCIT           =FACT(statut='o',max='**',
+           CHARGE          =SIMP(statut='o',typ=char_ther ),
+           FONC_MULT       =SIMP(statut='c',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         ),
+         ETAT_INIT       =FACT(statut='f',
+           EVOL_THER       =SIMP(statut='f',typ=evol_ther ),
+           NUME_ORDRE      =SIMP(statut='f',typ='I',defaut= 0 ),
+         ),
+         CONVERGENCE     =FACT(statut='d',
+           CRIT_TEMP_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
+           CRIT_ENTH_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
+           ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
+           ARRET           =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+         ),
+         SOLVEUR         =FACT(statut='d',
+           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
+           b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
+           ),
+           b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
+             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
+           ),
+           b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
+                                   fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
+             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") ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
+             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
+           ),
+           SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+         ),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
+         INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
+)  ;
 
-         CHARGEMENT = SIMP(statut='o',typ='TXM',into=("UNIAXIAL","PERIODIQUE","QUELCONQUE")),
 
-         b_uniaxial = BLOC( condition = "CHARGEMENT=='UNIAXIAL'",
-                      regles=(PRESENT_PRESENT('CORR_KE','MATER'),
-                              PRESENT_PRESENT('CORR_SIGM_MOYE','MATER'),
-                              PRESENT_PRESENT('DOMMAGE','MATER'),),
-             HISTOIRE       = FACT(statut='o',
-                                 regles=(UN_PARMI('SIGM','EPSI'),),
-                                 SIGM  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                 EPSI  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
-             COMPTAGE       = SIMP(statut='o',typ='TXM',into=("RAINFLOW","RCCM","NATUREL")),
-             DELTA_OSCI     = SIMP(statut='f',typ='R',defaut= 0.0E+0),
-             COEF_MULT      = FACT(statut='f',
-                                 KT    = SIMP(statut='o',typ='R'),),
-             CORR_KE        = SIMP(statut='f',typ='TXM',into=("RCCM",)),
-             DOMMAGE        = SIMP(statut='f',typ='TXM',into=("WOHLER","MANSON_COFFIN",
-                                                              "TAHERI_MANSON","TAHERI_MIXTE")),
-             MATER          = SIMP(statut='f',typ=mater_sdaster),
-             CORR_SIGM_MOYE = SIMP(statut='f',typ='TXM',into=("GOODMAN","GERBER")),
-             TAHERI_NAPPE   = SIMP(statut='f',typ=(nappe_sdaster,formule)),
-             TAHERI_FONC    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-             CUMUL          = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
+
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            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.                                                  
+#                                                                       
+# 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
+
+def extr_table_prod(TYPE_RESU,**args):
+  from Cata import cata
+  typ = TYPE_RESU.lower()
+  if hasattr(cata, typ):
+     return getattr(cata, typ)
+  raise AsException("type de concept resultat non prevu")
+
+EXTR_TABLE=OPER(nom="EXTR_TABLE",op=173,sd_prod=extr_table_prod,reentrant='n',
+            UIinfo={"groupes":("Résultats et champs",)},
+         fr="Extraire d'une table des concepts Code_Aster",
+         TYPE_RESU       =SIMP(statut='o',typ='TXM',),
+
+         TABLE           =SIMP(statut='o',typ=(table_sdaster,table_container)),
+
+         NOM_PARA        =SIMP(statut='o',typ='TXM'),
+
+         FILTRE          =FACT(statut='f',min=1,max='**',
+           NOM_PARA        =SIMP(statut='o',typ='TXM'),
+           CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
+                                 into=("EQ","LT","GT","NE","LE","GE","VIDE",
+                                       "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
+           b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
+              regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
+              VALE            =SIMP(statut='f',typ='R'),
+              VALE_I          =SIMP(statut='f',typ='I'),
+              VALE_C          =SIMP(statut='f',typ='C'),
+              VALE_K          =SIMP(statut='f',typ='TXM'),),
+
+           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
          ),
 
-         b_periodique = BLOC( condition = "CHARGEMENT=='PERIODIQUE'",
-             HISTOIRE       = FACT(statut='o',
-                                 SIGM_XX  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                 SIGM_YY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                 SIGM_ZZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                 SIGM_XY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                 SIGM_XZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                 SIGM_YZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),),
-             CRITERE        = SIMP(statut='o',typ='TXM',into=("CROSSLAND","PAPADOPOULOS")),
-             DOMMAGE        = SIMP(statut='f',typ='TXM',into=("WOHLER",)),
-             MATER          = SIMP(statut='o',typ=mater_sdaster),
-             COEF_CORR      = SIMP(statut='f',typ='R'),
-         ),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  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 ZENTNER I.ZENTNER
+from Macro.gene_vari_alea_ops import gene_vari_alea_ops,gene_vari_alea_init
+GENE_VARI_ALEA=MACRO(nom="GENE_VARI_ALEA",
+               op_init=gene_vari_alea_init,op=gene_vari_alea_ops,
+               sd_prod=reel,reentrant='n',
+               fr="Générer une réalisation d'une variable aléatoire réelle de loi de probabilité donnée (Gamma ou Exponentielle)",
+               UIinfo={"groupes":("Fonction",)},
+   TYPE       = SIMP(statut='f', typ='TXM', into=("EXP_TRONQUEE", "EXPONENTIELLE", "GAMMA"), defaut="GAMMA"),
+   b_gamma    =BLOC(condition = "TYPE == 'GAMMA' ",fr="Parametres loi gamma",
+           VALE_MOY   = SIMP(statut='f', typ='R', defaut=1.),
+           BORNE_INF  = SIMP(statut='f', typ='R', defaut=0.),
+           COEF_VAR   = SIMP(statut='f', typ='R', defaut=0.1),
+             ),
+   b_expo    =BLOC(condition = "TYPE == 'EXPONENTIELLE' ",fr="Parametres loi exponentielle",
+           VALE_MOY   = SIMP(statut='f', typ='R', defaut=0.),
+           BORNE_INF  = SIMP(statut='f', typ='R', defaut=-1.),
+             ),
+   b_expo_tronq    =BLOC(condition = "TYPE == 'EXP_TRONQUEE' ",fr="Parametres loi exponentielle tronquee",
+           VALE_MOY   = SIMP(statut='f', typ='R', defaut=0.),
+           BORNE_INF  = SIMP(statut='f', typ='R', defaut=-1.),
+           BORNE_SUP  = SIMP(statut='f', typ='R', defaut=1.),
+             ),
+   INIT_ALEA       =SIMP(statut='f',typ='I'),
+)
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  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 ZENTNER I.ZENTNER
+def gene_matr_alea_prod(MATR_MOYEN,**args ):
+  if (AsType(MATR_MOYEN) == matr_asse_gene_r )  : return matr_asse_gene_r
+  if (AsType(MATR_MOYEN) == macr_elem_dyna) : return macr_elem_dyna
+  raise AsException("type de concept resultat non prevu")
+
+GENE_MATR_ALEA=OPER(nom="GENE_MATR_ALEA",op=  27,
+#sd_prod=matr_asse_gene_r,
+sd_prod=gene_matr_alea_prod,
+               fr="Générer une réalisation d'une matrice aléatoire réelle sym. déf. positive ou d'un macro élément dynamique",
+               reentrant='n',
+            UIinfo={"groupes":("Matrice",)},
+   MATR_MOYEN   = SIMP(statut='o', typ=(matr_asse_gene_r,macr_elem_dyna)),
 
-         b_quelconque = BLOC( condition = "CHARGEMENT=='QUELCONQUE'",
-             HISTOIRE       = FACT(statut='o',
-                                 SIGM_XX  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                 SIGM_YY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                 SIGM_ZZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                 SIGM_XY  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                 SIGM_XZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                 SIGM_YZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                 EPSP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                 TEMP     = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),),
-             DOMMAGE        = SIMP(statut='f',typ='TXM',into=("LEMAITRE",),),
-             MATER          = SIMP(statut='o',typ=mater_sdaster),
-             CUMUL          = SIMP(statut='f',typ='TXM',into=("LINEAIRE",)),
-         ),
+#    cas matrice generalisee 
+   b_matr =BLOC( condition = "AsType(MATR_MOYEN) in (matr_asse_gene_r,)",
+           COEF_VAR     = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 ,
+                                fr="coefficient de variation de la matrice a generer" ),
+           ),
+#    cas macr_elem_dyna 
+   b_macr =BLOC( condition = "AsType(MATR_MOYEN) in (macr_elem_dyna,)",
+           fr="cas macr_elem_dyna (sous-structuratio)",
+           COEF_VAR_RIGI     = SIMP(statut='f', typ='R', defaut=0.1, val_min=0.E+0 ,
+                                fr="coefficient de variation de la matrice de raideur" ),
+           COEF_VAR_MASS     = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 ,
+                                fr="coefficient de variation de la matrice de masse" ),
+           COEF_VAR_AMOR     = SIMP(statut='f', typ='R', defaut=0., val_min=0.E+0 ,
+                                fr="coefficient de variation de la matrice d'amortissement" ),),
 
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-)  ;
-#& MODIF COMMANDE  DATE 23/07/2007   AUTEUR COURTOIS M.COURTOIS 
+   INIT_ALEA    =SIMP(statut='f',typ='I'),
+) ;
+   
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2002  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     
@@ -21120,202 +22613,216 @@ POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=table_sdaster,reentrant='n',
 # 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 Macro.post_gp_ops import post_gp_ops
-def post_gp_prod(self, TABL_RESU, **kargs):
-   """Typage des sd_prod
-   """
-   if TABL_RESU != None:
-      self.type_sdprod(TABL_RESU, table_sdaster)
-   return table_sdaster
+from Macro.lire_table_ops import lire_table_ops
 
-POST_GP=MACRO(nom="POST_GP", op=post_gp_ops, sd_prod=post_gp_prod,
-              fr="Calcul du critère énergétique Gp suite à un calcul thermo-mécanique",
-              reentrant='n',
-              UIinfo={"groupes":("Post traitements",)},
-              regles=(UN_PARMI('IDENTIFICATION', 'PREDICTION'),),
-      
-      # Résultat, modèle, comportement, chargement
-      RESULTAT     = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,mode_meca),),
-      RESU_THER    = SIMP(statut='f',typ=evol_ther,),
-      MODELE       = SIMP(statut='o',typ=modele_sdaster),
-      MATER        = SIMP(statut='o',typ=mater_sdaster),
-      
-      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"),),
-      ),
-      
-      EXCIT        = FACT(statut='f', max='**',
-            CHARGE      = SIMP(statut='o', typ=(char_meca,char_cine_meca)),
-            FONC_MULT   = SIMP(statut='f', typ=(fonction_sdaster,nappe_sdaster,formule)),
-            TYPE_CHARGE = SIMP(statut='f', typ='TXM', defaut="FIXE", into=("FIXE",)),
-      ),
-      SYME_CHAR    = SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","ANTI","SANS")),
-      
-      DIRECTION    = SIMP(statut='o', typ='R', max=3),
-      THETA_2D     = FACT(statut='o', max='**',
-                          fr="paramètres de définition des champs theta",
-            GROUP_NO    = SIMP(statut='o', typ=grno, validators=NoRepeat(), max='**'),
-            R_INF       = SIMP(statut='o', typ='R'),
-            R_SUP       = SIMP(statut='o', typ='R'),
-      ),
-      
-      # copeaux
-      GROUP_MA     = SIMP(statut='o', typ=grma, validators=NoRepeat(), max='**'),
-      PAS_ENTAILLE = SIMP(statut='o', typ='R', val_min=0.),
-      
-      # critère sur Gp
-      CRIT_MAXI_GP = SIMP(statut='f', typ='TXM', defaut="ABSOLU",
-                          into=("RELATIF","ABSOLU")),
-      
-      # correction axisymétrie
-      RAYON_AXIS   = SIMP(statut='f', typ='R', val_min=0., defaut=1.),
-      
-      # identification
-      IDENTIFICATION = FACT(statut='f', max=1,
-            KJ_CRIT     = SIMP(statut='o', typ='R', val_min=0., max='**'),
-            TEMP        = SIMP(statut='o', typ='R', val_min=0., max='**'),
-      ),
-      
-      # prédiction
-      PREDICTION   = FACT(statut='f', max=1,
-            GP_CRIT     = SIMP(statut='o', typ='R', val_min=0., max='**'),
-            TEMP        = SIMP(statut='o', typ='R', val_min=0., max='**'),
-      ),
-      
-      # table résultat
-      TABL_RESU    = SIMP(statut='o', typ=CO,),
-      
-      INFO         = SIMP(statut='f', typ='I', defaut=1, into=(1, 2),),
-)
-#& MODIF COMMANDE  DATE 05/03/2007   AUTEUR GALENNE E.GALENNE 
+LIRE_TABLE=MACRO(nom="LIRE_TABLE",op=lire_table_ops,sd_prod=table_sdaster,
+                 fr="Lecture d'un fichier contenant une table",
+            UIinfo={"groupes":("Table",)},
+         UNITE           =SIMP(statut='o',typ='I' ),
+         FORMAT          =SIMP(statut='f',typ='TXM',into=("ASTER",),defaut="ASTER"),
+         NUME_TABLE      =SIMP(statut='f',typ='I',defaut=1),
+         SEPARATEUR      =SIMP(statut='f',typ='TXM',defaut=' '),
+         PARA            =SIMP(statut='f',typ='TXM',max='**'),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+         )  ;
+
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2002  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 GALENNE E.GALENNE
-from Macro.post_k1_k2_k3_ops import post_k1_k2_k3_ops
-POST_K1_K2_K3=MACRO(nom="POST_K1_K2_K3",op=post_k1_k2_k3_ops,sd_prod=table_sdaster,
-                   fr="Calcul des facteurs d'intensité de contraintes en 2D et en 3D par extrapolation des sauts de déplacements"
-                     +" sur les lèvres de la fissure",
-                   reentrant='n',
-            UIinfo={"groupes":("Post traitements",)},
+# RESPONSABLE DURAND C.DURAND
+
+from Macro.macr_lign_coupe_ops import macr_lign_coupe_ops
+
+MACR_LIGN_COUPE=MACRO(nom="MACR_LIGN_COUPE",op=macr_lign_coupe_ops,sd_prod=table_sdaster,
+                       reentrant='n',
+            UIinfo={"groupes":("Outils métier",)},
+            fr="Extraction des valeurs d'un résultat dans une ou plusieurs tables sur des lignes de coupe définies"
+             +" par deux points et un intervalle",
+            regles=(UN_PARMI("RESULTAT","CHAM_GD"),),
+
+         RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther) ),
+         CHAM_GD         =SIMP(statut='f',typ=(cham_gd_sdaster)),
+
+         b_extrac        =BLOC(condition = "RESULTAT != None",fr="extraction des résultats",
+                                 regles=(EXCLUS('NUME_ORDRE','LIST_ORDRE','INST','LIST_INST',), ),
+             NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
+             LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
+             INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
+             LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
+             PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
+             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
+           ),
+
+# extraction des résultats
+         b_meca        =BLOC(condition = "AsType(RESULTAT) in (evol_elas,evol_noli)",fr="résultat mécanique",
+           NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut='SIGM_NOEU_DEPL' ),
+         ),
+         b_ther        =BLOC(condition = "AsType(RESULTAT) in (evol_ther,)",fr="résultat thermique",
+           NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut='TEMP' ),
+         ),
+         b_cham       =BLOC(condition = "CHAM_GD!=None",
+           NOM_CHAM        =SIMP(statut='f',typ='TXM',),),
+
+         UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=25),
+         MODELE          =SIMP(statut='f',typ=modele_sdaster ),
+
+         VIS_A_VIS       =FACT(statut='f',max='**',
+                             regles=(EXCLUS('GROUP_MA_1','MAILLE_1'),),
+           GROUP_MA_1        =SIMP(statut='f',typ=grma),
+           MAILLE_1          =SIMP(statut='f',typ=ma,max='**'),),
+
+         LIGN_COUPE     =FACT(statut='o',max='**',
+            regles=(EXCLUS("NOM_CMP","INVARIANT","ELEM_PRINCIPAUX","RESULTANTE"),
+                    PRESENT_PRESENT("TRAC_DIR","DIRECTION"),
+                    EXCLUS("TRAC_DIR","TRAC_NOR"),
+                    PRESENT_PRESENT("TRAC_DIR","NOM_CMP"),
+                    PRESENT_PRESENT("TRAC_NOR","NOM_CMP"),),
+
+           INTITULE        =SIMP(statut='f',typ='TXM',),
+           TYPE            =SIMP(statut='o',typ='TXM',max=1,
+                                 into=("GROUP_NO","SEGMENT","ARC","GROUP_MA"),defaut="SEGMENT"),
+           REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL",
+                                into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),),
+           OPERATION       =SIMP(statut='f',typ='TXM',into=("EXTRACTION","MOYENNE",),defaut="EXTRACTION",),
+
+           NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
+           INVARIANT       =SIMP(statut='f',typ='TXM',into=("OUI",),),
+           ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",),),
+           RESULTANTE      =SIMP(statut='f',typ='TXM',max='**'),
+           TRAC_NOR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
+           TRAC_DIR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
+           DIRECTION       =SIMP(statut='f',typ='R',max='**'),
+
+
+           b_local        =BLOC(condition = "REPERE=='LOCAL' ",
+             VECT_Y          =SIMP(statut='o',typ='R',min=2,max=3),),
+
+           b_utili        =BLOC(condition = "REPERE=='UTILISATEUR'",
+             ANGL_NAUT       =SIMP(statut='o',typ='R',min=3,max=3),),
+
+           b_grno          =BLOC(condition = "TYPE=='GROUP_NO'",
+             GROUP_NO        =SIMP(statut='o',typ=grno, max=1),),
+
+           b_grma          =BLOC(condition = "TYPE=='GROUP_MA'",
+             GROUP_MA        =SIMP(statut='o',typ=grma, max=1),
+             MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster),),
 
-           regles=(UN_PARMI('RESULTAT','TABL_DEPL_SUP'),
-                  EXCLUS('FISSURE','FOND_FISS'),
-                  PRESENT_PRESENT('FISSURE','RESULTAT'),
-                   #PRESENT_PRESENT('RESULTAT','FOND_FISS'),
-                   ),
+           b_segment       =BLOC(condition = "TYPE=='SEGMENT'",
+             NB_POINTS       =SIMP(statut='o',typ='I',max=1),
+             COOR_ORIG       =SIMP(statut='o',typ='R',min=2,max=3),
+             COOR_EXTR       =SIMP(statut='o',typ='R',min=2,max=3),),
 
-         MODELISATION  =SIMP(statut='o',typ='TXM',
-                             into=("3D","AXIS","D_PLAN","C_PLAN"),
-                             fr="Modélisation cohérente avec celle utilisée pour le calcul des déplacements"),
-         FOND_FISS     =SIMP(statut='f',typ=fond_fiss),
-         FISSURE     =SIMP(statut='f',typ=fiss_xfem),
-         b_fond_fiss   =BLOC (condition="(FOND_FISS!= None)",
-                         MAILLAGE      = SIMP(statut='o',typ=maillage_sdaster),
-                         TYPE_MAILLAGE = SIMP(statut='f',typ='TXM',into=("LIBRE","REGLE"),defaut="REGLE"),
-                         NB_NOEUD_COUPE= SIMP(statut='f',typ='I'),
-                         NOEUD         = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                         GROUP_NO      = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                         SANS_NOEUD    = SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-                         SANS_GROUP_NO = SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                         TOUT          = SIMP(statut='f',typ='TXM',into=("OUI",) )
-                         ),
-         b_fissure   =BLOC (condition="(FISSURE!= None)",
-                         MAILLAGE       = SIMP(statut='o',typ=maillage_sdaster),
-                         NB_NOEUD_COUPE = SIMP(statut='f',typ='I' ,defaut=5 ),
-                         DTAN_ORIG      = SIMP(statut='f',typ='R',max='**'),
-                         DTAN_EXTR      = SIMP(statut='f',typ='R',max='**'),
-                         ),
-         MATER         =SIMP(statut='o',typ=mater_sdaster,
-                             fr="Matériau homogène et isotrope cohérent avec celui utilisé pour le calcul des déplacements"),
-         RESULTAT      =SIMP(statut='f',typ=(evol_elas,evol_noli),
-                             fr="Déplacement des noeuds de la lèvre supérieure et inférieure"),
-         TABL_DEPL_SUP =SIMP(statut='f',typ=table_sdaster,
-                             fr="Table issue de post_releve_t sur les noeuds de la lèvre supérieure"),
-         TABL_DEPL_INF =SIMP(statut='f',typ=table_sdaster,
-                             fr="Table issue de post_releve_t sur les noeuds de la lèvre inférieure"),
-         ABSC_CURV_MAXI=SIMP(statut='f',typ='R',
-                             fr="Distance maximum à partir du fond de fissure à utiliser pour le calcul"),  
-         PREC_VIS_A_VIS= SIMP(statut='f',typ='R',defaut=0.1),
-         TOUT_ORDRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         NUME_ORDRE    =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-         LIST_ORDRE    =SIMP(statut='f',typ=listis_sdaster),
-         INST          =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-         LIST_INST     =SIMP(statut='f',typ=listr8_sdaster),
-             b_acce_reel     =BLOC(condition="(INST != None)or(LIST_INST != None)",
-               PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),
-               CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-             ),
-         SYME_CHAR       =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SYME","SANS") ),
-         INFO          =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-         VECT_K1       =SIMP(statut='o',typ='R',max=3,
-                             fr="Vecteur normal au plan de fissure, orienté de la lèvre inférieure vers la lèvre supérieure"),  
-         TITRE         =SIMP(statut='f',typ='TXM',max='**'),  
+           b_arc           =BLOC(condition = "TYPE=='ARC'",
+             NB_POINTS       =SIMP(statut='o',typ='I',max=1),
+             COOR_ORIG       =SIMP(statut='o',typ='R',min=2,max=3),
+             CENTRE          =SIMP(statut='o',typ='R',min=2,max=3),
+             ANGLE           =SIMP(statut='o',typ='R',max=1),
+             DNOR            =SIMP(statut='f',typ='R',min=2,max=3),),
+
+           b_cylind       =BLOC(condition = ("REPERE=='CYLINDRIQUE' and TYPE!='ARC'"),
+             ORIGINE         =SIMP(statut='f',typ='R',min=2,max=3),
+             AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),),
+
+           DISTANCE_MAX    =SIMP(statut='f',typ='R',defaut=0.,
+                fr="Si la distance entre un noeud de la ligne de coupe et le maillage coupé "
+                +"est > DISTANCE_MAX, ce noeud sera ignoré."),
+
+         ),
 )  ;
-#& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
+
+
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  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.        
 # ======================================================================
-#
-POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=table_sdaster,
-                   fr="Calcul des facteurs d'intensité de contraintes par la méthode K_BETA",
-                   reentrant='n',
-            UIinfo={"groupes":("Post traitements",)},
-         MAILLAGE      = SIMP(statut='o',typ=maillage_sdaster),
-         MATER_REV     = SIMP(statut='o',typ=mater_sdaster),
-         EPAIS_REV     = SIMP(statut='o',typ='R'),
-         FISSURE       = FACT(statut='o',
-            DECALAGE       = SIMP(statut='f',typ='R',defaut=-2.e-04),
-            PROFONDEUR     = SIMP(statut='o',typ='R'),
-            LONGUEUR       = SIMP(statut='o',typ='R'),
-            ORIENTATION    = SIMP(statut='o',typ='TXM',
-                                 into=("CIRC","LONGI"),),
+# RESPONSABLE ASSIRE A.ASSIRE
+
+from Macro.macr_recal_ops import macr_recal_ops
+
+def macr_recal_prod(self,**args ):
+  return listr8_sdaster
+
+MACR_RECAL = MACRO(nom="MACR_RECAL",op=macr_recal_ops,
+            UIinfo={"groupes":("Résultats et champs",)},
+                      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'),
+                            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"),
          ),
-         K1D           = FACT(statut='o',max='**',
-            TABL_MECA_REV  = SIMP(statut='o',typ=(table_sdaster)),
-            TABL_MECA_MDB  = SIMP(statut='o',typ=(table_sdaster)),
-            TABL_THER      = SIMP(statut='o',typ=(table_sdaster)),
-            INTITULE       = SIMP(statut='o',typ='TXM' ), 
+
+         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"),),
+
+         METHODE         =SIMP(statut='f',typ='TXM',defaut='LEVENBERG',into=("LEVENBERG","FMIN","FMINBFGS","FMINNCG","EXTERNE")),
+
+         b_gradient =BLOC(condition = "METHODE == 'FMINBFGS' or METHODE == 'FMINNCG'" ,
+            GRADIENT        =SIMP(statut='f',typ='TXM',defaut='NON_CALCULE', into=("NON_CALCULE", "NORMAL", "ADIMENSIONNE" )),
          ),
-         TITRE         = SIMP(statut='f',typ='TXM',max='**'),  
+
+         b_gradient_externe =BLOC(condition = "METHODE == 'EXTERNE'" ,
+            GRADIENT        =SIMP(statut='f',typ='TXM',defaut='NON_CALCULE', into=("NON_CALCULE", "NORMAL", "ADIMENSIONNE" )),
+         ),
+
+         b_type_fonctionnelle =BLOC(condition = "METHODE == 'EXTERNE'" ,
+            FONCTIONNELLE   =SIMP(statut='f',typ='TXM',defaut='SCALAIRE',into=("SCALAIRE","VECTORIELLE")),
+         ),
+
+         INFO            =SIMP(statut='f',typ='I',defaut=2,into=( 1, 2 ) ),
 );
-#& MODIF COMMANDE  DATE 31/10/2006   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVR
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2002  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     
@@ -21330,55 +22837,93 @@ POST_K_BETA=OPER(nom="POST_K_BETA",op=198,sd_prod=table_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
+# RESPONSABLE LEFEBVRE J.P.LEFEBVRE
+INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster,
+                    fr="Récupère différentes informations propres à l'exécution en cours",
+                    reentrant='n',
+                    UIinfo={"groupes":("Gestion du travail",)},
 
-from Macro.post_k_trans_ops import post_k_trans_ops
-
-POST_K_TRANS=MACRO(nom="POST_K_TRANS",op=post_k_trans_ops,sd_prod=table_sdaster,
-            fr="Calcul des facteurs d intensite des contrainte par recombinaison modale",reentrant='n',
-            UIinfo={"groupes":("Post traitements",)},
-        RESU_TRANS      =SIMP(statut='o',typ=tran_gene), 
-        K_MODAL         =FACT(statut='o',
-           TABL_K_MODA     =SIMP(statut='f',typ=table_sdaster,),
-           RESU_MODA       =SIMP(statut='f',typ=mode_meca,),
-           FOND_FISS       =SIMP(statut='f',typ=fond_fiss,),
-           FISSURE         =SIMP(statut='f',typ=fiss_xfem,),
-           THETA           =SIMP(statut='f',typ=(theta_geom,cham_no_sdaster)),
-           R_INF           =SIMP(statut='f',typ='R'),
-           R_SUP           =SIMP(statut='f',typ='R'),
-           MODULE          =SIMP(statut='f',typ='R'),
-           DIRE_THETA      =SIMP(statut='f',typ=cham_no_sdaster ),
-           DIRECTION       =SIMP(statut='f',typ='R',max='**'),
-           R_INF_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-           R_SUP_FO        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),             
-           MODULE_FO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-           DEGRE           =SIMP(statut='f',typ='I',into=(0,1,2,3,4,5,6,7) ),
-           LISSAGE_THETA   =SIMP(statut='f',typ='TXM',into=("LEGENDRE","LAGRANGE","LAGRANGE_REGU"),),
-           LISSAGE_G       =SIMP(statut='f',typ='TXM',into=("LEGENDRE","LAGRANGE","LAGRANGE_NO_NO","LAGRANGE_REGU"),),
-
-
-           regles=(UN_PARMI('TABL_K_MODA','RESU_MODA'),
-                   UN_PARMI('FISSURE','FOND_FISS'),
-                   EXCLUS('MODULE','MODULE_FO'),
-                   PRESENT_PRESENT('R_INF','R_SUP'),
-                   PRESENT_PRESENT('R_INF_FO','R_SUP_FO'), ),
+         regles=(),
+         LISTE_INFO     =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=3,
+                              into=("CPU_RESTANT","UNITE_LIBRE","ETAT_UNITE"),),
+         b_etat_unite   =BLOC(condition = "'ETAT_UNITE' in LISTE_INFO", 
+            regles=(UN_PARMI('UNITE','FICHIER'),),
+            UNITE          =SIMP(statut='f',typ='I',val_min=1,val_max=99,max=1,
+                                 fr="Unité logique dont on veut obtenir l'état",),
+            FICHIER        =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),
+                                 fr="Nom du fichier dont on veut obtenir l'état",),
          ),
-        regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','LIST_ORDRE'),),
-        TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-        NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-        LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
-        INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-        LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
-        PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
-        CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",) ),
+         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.LEFEBVRE 
+#            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.                                                  
+#                                                                       
+# 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 FLEJOU J.L.FLEJOU
 
-        INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-        TITRE           =SIMP(statut='f',typ='TXM'),
-)
+from Macro.macr_cara_poutre_ops import macr_cara_poutre_ops
+
+MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE",op=macr_cara_poutre_ops,sd_prod=table_sdaster,
+                       reentrant='n',
+          UIinfo={"groupes":("Modélisation",)},
+          fr="Calculer les caractéristiques d'une section transversale de poutre à partir d'un maillage 2D de la section",
+          regles=(EXCLUS('SYME_X','GROUP_MA_BORD'),
+                  EXCLUS('SYME_Y','GROUP_MA_BORD'),),
+                 
+          UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut= 20 ),  
+          ORIG_INER       =SIMP(statut='f',typ='R',max=3,defaut=(0.E+0,0.E+0),
+                                fr="Point par rapport auquel sont calculées les inerties"),  
+          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
+         
+          SYME_X          =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a x=0"),
+          SYME_Y          =SIMP(statut='f',typ='TXM',into=("OUI",),fr="demi maillage par rapport a y=0"),
+         
+          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
+          fr="Calcul des caractéristiques équivalentes a plusieurs sections disjointes"),
+          
+          GROUP_MA_BORD   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
+                               fr="Groupe(s) de mailles linéiques, bord(s) de(s) section(s)"),
+         
+               b_gma_bord = BLOC( condition = "GROUP_MA_BORD != None",
+                            fr=" calcul des carac. mecaniques",
+                            regles=(UN_PARMI('NOEUD','GROUP_NO')),
 
-#& MODIF COMMANDE  DATE 17/07/2007   AUTEUR GENIAUT S.GENIAUT 
+                    NOEUD           =SIMP(statut='f',typ=no,  max='**',
+                    fr="Simplement pour empecher des pivots nuls le cas echeant. Fournir un noeud quelconque"),
+                    GROUP_NO        =SIMP(statut='f',typ=grno,max='**',
+                    fr="Simplement pour empecher des pivots nuls le cas echeant. Fournir un noeud quelconque"),
+                    GROUP_MA_INTE   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
+                    fr="groupes de mailles linéiques bordant des trous dans la section"),
+                    ),
+                    
+               b_reseau = BLOC( condition ="""(GROUP_MA_BORD != None) and (GROUP_MA != None)""",
+                           fr=" calcul des coef de cisaillement équivalents a un reseau de poutres",
+                            regles=(ENSEMBLE('LONGUEUR','LIAISON','MATERIAU') ,),
+                            LONGUEUR        =SIMP(statut='f',typ='R',fr="Longueur du réseau de poutres"),  
+                            MATERIAU        =SIMP(statut='f',typ=mater_sdaster,fr="Materiau elastique lineaire du reseau"),
+                            LIAISON         =SIMP(statut='f',typ='TXM',into=("ROTULE","ENCASTREMENT"),
+                            fr="type de conditions aux limites sur le plancher supérieur" ),
+                              ), 
+                    )
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2007  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     
@@ -21393,1159 +22938,497 @@ POST_K_TRANS=MACRO(nom="POST_K_TRANS",op=post_k_trans_ops,sd_prod=table_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
-POST_MAIL_XFEM=OPER(nom="POST_MAIL_XFEM",op= 187,sd_prod=maillage_sdaster,
-                    reentrant='n',UIinfo={"groupes":("Maillage",)},
-            fr="Crée un maillage se conformant à la fissure pour le post-traitement des éléments XFEM",
-    MODELE        = SIMP(statut='o',typ=modele_sdaster),
-    MAILLAGE_SAIN = SIMP(statut='o',typ=maillage_sdaster),
-    PREF_NOEUD_X   =SIMP(statut='f',typ='TXM',defaut="NX",validators=LongStr(1,2),),
-    PREF_NOEUD_M   =SIMP(statut='f',typ='TXM',defaut="NM",validators=LongStr(1,2),),
-    PREF_NOEUD_P   =SIMP(statut='f',typ='TXM',defaut="NP",validators=LongStr(1,2),),
-    PREF_MAILLE_X  =SIMP(statut='f',typ='TXM',defaut="MX",validators=LongStr(1,2),),
-    TITRE         = SIMP(statut='f',typ='TXM',max='**'),
-    INFO           =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
+# RESPONSABLE ABBAS M.ABBAS
 
-);                     
-#& MODIF COMMANDE  DATE 27/11/2007   AUTEUR VIVAN L.VIVAN 
-#            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.                                 
-#
-# 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 PARTIC               
-#
-# 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 JMBHH01 J.M.PROIX
-POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=table_sdaster,
-               fr="Vérification des critères de niveau 0 et certains critères de niveau A du RCC-M-B3200 (Edition 1991)",
-               reentrant='n',
-            UIinfo={"groupes":("Post traitements",)},
-         TYPE_RESU       =SIMP(statut='f',typ='TXM',defaut="VALE_MAX",into=("VALE_MAX","DETAILS") ),
-         INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-         TYPE_RESU_MECA  =SIMP(statut='o',typ='TXM',into=("EVOLUTION","UNITAIRE","TUYAUTERIE") ),
+CALCUL=OPER(nom="CALCUL",op=26,sd_prod=table_container,reentrant='n',
+            UIinfo={"groupes":("Résolution",)},
+            fr="Calculer des objets élémentaires comme une matrice tangente, intégrer une loi de comportement, etc...",
+     OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',defaut="COMPORTEMENT",
+                           into=( "COMPORTEMENT","MATR_TANG_ELEM","FORC_INT_ELEM"),),
+     MODELE          =SIMP(statut='o',typ=modele_sdaster),
+     CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
+     CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
+     EXCIT           =FACT(statut='o',max='**',
+       CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
+       FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+       TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
+                             into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
+     ),
+     DEPL            =SIMP(statut='o',typ=cham_no_sdaster ),
+     INCR_DEPL       =SIMP(statut='o',typ=cham_no_sdaster ),
+     SIGM            =SIMP(statut='o',typ=cham_elem),
+     VARI            =SIMP(statut='o',typ=cham_elem),
+     INCREMENT       =FACT(statut='o',
+          LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
+          NUME_ORDRE      =SIMP(statut='o',typ='I'),),
+     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 ),
+          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")),
+          RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
+                                into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
+                                     "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")),
+          ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+          CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),),
+     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
 # ======================================================================
-     b_evolution  =BLOC(condition="(TYPE_RESU_MECA == 'EVOLUTION')",
-
-         OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
-                               into=("PM_PB","SN","FATIGUE_ZH210","AMORCAGE") ),
-         MATER           =SIMP(statut='o',typ=mater_sdaster ),
-         SY_MAX          =SIMP(statut='f',typ='R',
-                               fr="limite élastique utilisée pour le calcul du rochet thermique" ),
-
-         TRANSITOIRE     =FACT(statut='o',max='**',fr="transitoire à dépouiller",
-           regles=(EXCLUS('TOUT_ORDRE','INST','LIST_INST'),
-                   UN_PARMI('TABL_RESU_MECA','TABL_SIGM_THETA'),),
-           NB_OCCUR        =SIMP(statut='f',typ='I',defaut= 1,
-                                 fr="nombre d occurences réelles de ce transitoire" ),
-           TABL_RESU_MECA  =SIMP(statut='f',typ=table_sdaster,
-                                 fr="relevé des contraintes sur le chemin"),
-           TABL_SIGM_THER  =SIMP(statut='f',typ=table_sdaster,
-                                 fr="résultat sous chargement thermique seul" ),
-           TABL_RESU_PRES  =SIMP(statut='f',typ=table_sdaster,
-                                 fr="table relevé des contraintes sous chargement de pression" ),
-           TABL_SIGM_THETA =SIMP(statut='f',typ=table_sdaster,
-                                 fr="table relevé des contraintes a la distance d de la singularité pour chacun des angles THETA" ),
-           TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-           INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-           LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
-           b_inst          =BLOC(condition = "(INST != None) or (LIST_INST != None)" ,
-             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
-             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
-                                 ), 
-                             ),
-         ),
-
+# 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.                                                  
+#                                                                       
+# 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.        
 # ======================================================================
-     b_unitaire  =BLOC(condition="(TYPE_RESU_MECA == 'UNITAIRE')",
-
-         OPTION          =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
-                               into=("PM_PB","SN","FATIGUE") ),
-         MATER           =SIMP(statut='o',typ=mater_sdaster ),
-         SY_MAX          =SIMP(statut='f',typ='R',
-                               fr="limite élastique utilisée pourle calcul du rochet thermique" ),
-         TYPE_KE         =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
-                               fr="Ke meca seul ou partition mecanique + thermique" ),
-         CHAR_MECA   =FACT(statut='o',max='**',fr="Chargements mécaniques",
-                           regles=(UN_PARMI('MX','MX_TUBU'),),
-           NUME_CHAR     =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
-           NOM_CHAR      =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
-           TYPE_CHAR     =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",),
-           MX            =SIMP(statut='f',typ='R',fr="moment suivant x", ),
-           MX_TUBU       =SIMP(statut='f',typ='R',fr="moment suivant x, tubulure", ),
-           b_1_tenseur     =BLOC( condition = "MX != None",
-             FX            =SIMP(statut='f',typ='R',fr="effort suivant x", ),
-             FY            =SIMP(statut='f',typ='R',fr="effort suivant y", ),
-             FZ            =SIMP(statut='f',typ='R',fr="effort suivant z", ),
-             MY            =SIMP(statut='o',typ='R',fr="moment suivant y", ),
-             MZ            =SIMP(statut='o',typ='R',fr="moment suivant z", ),
-           ),
-           b_2_tenseurs    =BLOC( condition = "MX_TUBU != None",
-             FX_TUBU       =SIMP(statut='f',typ='R',fr="effort suivant x, tubulure", ),
-             FY_TUBU       =SIMP(statut='f',typ='R',fr="effort suivant y, tubulure", ),
-             FZ_TUBU       =SIMP(statut='f',typ='R',fr="effort suivant z, tubulure", ),
-             MY_TUBU       =SIMP(statut='o',typ='R',fr="moment suivant y, tubulure", ),
-             MZ_TUBU       =SIMP(statut='o',typ='R',fr="moment suivant z, tubulure", ),
-             FX_CORP       =SIMP(statut='f',typ='R',fr="effort suivant x, corps du piquage", ),
-             FY_CORP       =SIMP(statut='f',typ='R',fr="effort suivant y, corps du piquage", ),
-             FZ_CORP       =SIMP(statut='f',typ='R',fr="effort suivant z, corps du piquage", ),
-             MX_CORP       =SIMP(statut='o',typ='R',fr="moment suivant x, corps du piquage", ),
-             MY_CORP       =SIMP(statut='o',typ='R',fr="moment suivant y, corps du piquage", ),
-             MZ_CORP       =SIMP(statut='o',typ='R',fr="moment suivant z, corps du piquage", ),
-           ),
-
-                         ),
-         RESU_MECA_UNIT =FACT(statut='o',fr="resultats mécaniques unitaires",
-                              regles=(UN_PARMI('TABL_MX','TABL_MX_TUBU'),),
-           TABL_MX       =SIMP(statut='f',typ=table_sdaster,
-                               fr="table relevé des contraintes pour chargement unitaire MX"),
-           TABL_MX_TUBU  =SIMP(statut='f',typ=table_sdaster,
-                               fr="table relevé des contraintes pour chargement unitaire MX_TUBU"),
-           b_1_tenseur     =BLOC( condition = "TABL_MX != None",
-             TABL_FX       =SIMP(statut='f',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire FX"),
-             TABL_FY       =SIMP(statut='f',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire FY"),
-             TABL_FZ       =SIMP(statut='f',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire FZ"),
-             TABL_MY       =SIMP(statut='o',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire MY"),
-             TABL_MZ       =SIMP(statut='o',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire MZ"),
-           ),
-           b_2_tenseurs    =BLOC( condition = "TABL_MX_TUBU != None",
-             TABL_FX_TUBU  =SIMP(statut='f',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire FX_TUBU"),
-             TABL_FY_TUBU  =SIMP(statut='f',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire FY_TUBU"),
-             TABL_FZ_TUBU  =SIMP(statut='f',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire FZ_TUBU"),
-             TABL_MY_TUBU  =SIMP(statut='o',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire MY_TUBU"),
-             TABL_MZ_TUBU  =SIMP(statut='o',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire MZ_TUBU"),
-             TABL_FX_CORP  =SIMP(statut='f',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire FX_CORP"),
-             TABL_FY_CORP  =SIMP(statut='f',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire FY_CORP"),
-             TABL_FZ_CORP  =SIMP(statut='f',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire FZ_CORP"),
-             TABL_MX_CORP  =SIMP(statut='o',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire MX_CORP"),
-             TABL_MY_CORP  =SIMP(statut='o',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire MY_CORP"),
-             TABL_MZ_CORP  =SIMP(statut='o',typ=table_sdaster,
-                                 fr="table relevé des contraintes pour chargement unitaire MZ_CORP"),
-           ),
-           TABL_PRES     =SIMP(statut='o',typ=table_sdaster,
-                               fr="table relevé des contraintes pour chargement unitaire de pression"),
-                         ),
+# RESPONSABLE COURTOIS M.COURTOIS
 
-          RESU_THER   =FACT(statut='f',max='**',fr="resultats thermiques",
-           NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
-           TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
-                              fr="table relevé des contraintes sous chargement thermique seul" ),
-                           ),
-         SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
-              NB_OCCUR         =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
-              NB_CYCL_SEISME   =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ),
-              NUME_SITU        =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
-              NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
-              COMBINABLE       =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
-              NUME_GROUPE      =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ),
-              NUME_PASSAGE     =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ),
-              NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
-              CHAR_ETAT_A      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
-              CHAR_ETAT_B      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
-              PRES_A           =SIMP(statut='o',typ='R',fr="pression etat A"),
-              PRES_B           =SIMP(statut='o',typ='R',fr="pression etat B"),
-              TEMP_REF_A       =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
-              TEMP_REF_B       =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
-                               ),
-                      ),
-# ======================================================================
-     b_tuyauterie  =BLOC(condition="(TYPE_RESU_MECA == 'TUYAUTERIE')",
+def crea_table_prod(TYPE_TABLE, **args):
+   """Typage du concept résultat
+   """
+   if TYPE_TABLE == 'TABLE_FONCTION':
+      return table_fonction
+   else:
+      return table_sdaster
 
-         OPTION          =SIMP(statut='o',typ='TXM',into=("FATIGUE",) ),
-         CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
-         TYPE_KE         =SIMP(statut='f',typ='TXM',defaut="KE_MECA",into=("KE_MECA","KE_MIXTE"),
-                               fr="Ke meca seul ou partition mecanique + thermique" ),
-         MODELE          =SIMP(statut='o',typ=modele_sdaster),
-         CARA_ELEM       =SIMP(statut='o',typ=cara_elem),
-         ZONE_ANALYSE =FACT(statut='o',fr="liste des mailles ou des noeuds analysés",
-            regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-            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='**'),
-            ),
-         RESU_MECA   =FACT(statut='o',max='**',fr="Chargements mécaniques",
-           regles=(UN_PARMI('CHAM_GD','RESULTAT'),),
-           NUME_CHAR     =SIMP(statut='o',typ='I',fr="numéro du chargement" ),
-           NOM_CHAR      =SIMP(statut='f',typ='TXM',fr="nom du chargement" ),
-           TYPE_CHAR     =SIMP(statut='f',typ='TXM',fr="nature du chargement",into=( "SEISME","AUTRE"),defaut="AUTRE",),
-           CHAM_GD         =SIMP(statut='f',typ=cham_gd_sdaster),
-           RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
-           b_extrac        =BLOC(condition="RESULTAT != None",
-                                 fr="extraction d un champ de grandeur",
-             regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE','INST','NOEUD_CMP'),),
-             NOM_CHAM        =SIMP(statut='o',typ='TXM',into=("EFGE_ELNO_DEPL","SIEF_ELNO_ELGA"),),
-             TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-             NUME_ORDRE      =SIMP(statut='f',typ='I',),
-             INST            =SIMP(statut='f',typ='R',),
-             NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
-             b_acce_reel     =BLOC(condition="(INST != None)",
-               PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3),
-               CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"), ),
-             ),
+CREA_TABLE=OPER(nom="CREA_TABLE",op=36,sd_prod=crea_table_prod,
+                fr="Création d'une table à partir d'une fonction ou de deux listes",
+                reentrant='f',UIinfo={"groupes":("Table",)},
+
+           regles=(EXCLUS('FONCTION','LISTE'),),
+
+           LISTE=FACT(statut='f',max='**',
+                 fr="Creation d'une table a partir de listes",
+                 regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')), 
+                        PARA     =SIMP(statut='o',typ='TXM'),
+                        TYPE_K   =SIMP(statut='f',typ='TXM',defaut='K8',
+                                    into=('K8','K16','K24')),
+                        NUME_LIGN=SIMP(statut='f',typ='I',max='**'),
+                        LISTE_I  =SIMP(statut='f',typ='I',max='**'),
+                        LISTE_R  =SIMP(statut='f',typ='R',max='**'),
+                        LISTE_K  =SIMP(statut='f',typ='TXM', max='**'),
            ),
-                          ),
-         INDI_SIGM =FACT(statut='o',max='**',fr="indices de contraintes",
-            regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-            C1              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C1 du RCCM"),
-            K1              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K1 du RCCM"),
-            C2              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes C2 du RCCM"),
-            K2              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K2 du RCCM"),
-            C3              =SIMP(statut='f',typ='R',defaut=0.5,fr="indice de contraintes C3 du RCCM"),
-            K3              =SIMP(statut='f',typ='R',defaut=1.0,fr="indice de contraintes K3 du RCCM"),
-            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",),),
-            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**',
-                             fr="groupe(s) de mailles ou sont affectés les indices de contraintes"),
-            MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',
-                             fr="liste des mailles ou sont affectés les indices de contraintes"),
-            b_grma     =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
-               GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-               NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-            ),
-            TYPE_ELEM_STANDARD =SIMP(statut='f',typ='TXM',into=("DRO","COU","TRN","TEE"),
-                              fr="type d'élément de tuyauterie ou sont affectés les indices de contraintes"),
-                         ),
-          RESU_THER   =FACT(statut='f',max='**',fr="resultats thermiques",
-            regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),),
-            NUME_RESU_THER =SIMP(statut='o',typ='I',fr="numéro de la table de résultat thermique" ),
-            TABL_RESU_THER =SIMP(statut='o',typ=table_sdaster,
-                              fr="table relevé des températures sur la section"),
-            TABL_MOYE_THER =SIMP(statut='o',typ=table_sdaster,
-                              fr="table relevé des moyennes sur la section"),
-            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='**'),
-            b_grma     =BLOC(condition="(GROUP_MA != None)or(MAILLE != None)",
-               GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-               NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-            ),
-                           ),
-         SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
-              NB_OCCUR         =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
-              NB_CYCL_SEISME   =SIMP(statut='f',typ='I',fr="nombre de cycles associé au séisme" ),
-              NUME_SITU        =SIMP(statut='o',typ='I',fr="numéro de la situation" ),
-              NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
-              COMBINABLE       =SIMP(statut='f',typ='TXM',defaut= "OUI",into=("OUI","NON"),fr="non = sous-cycle" ),
-              NUME_GROUPE      =SIMP(statut='o',typ='I',fr="numéro du groupe de la situation" ),
-#              NUME_PASSAGE     =SIMP(statut='f',typ='I',max=2,fr="numéro des deux groupes en relation" ),
-              NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
-              CHAR_ETAT_A      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
-              CHAR_ETAT_B      =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat B" ),
-              PRES_A           =SIMP(statut='o',typ='R',fr="pression etat A"),
-              PRES_B           =SIMP(statut='o',typ='R',fr="pression etat B"),
-              TEMP_REF_A       =SIMP(statut='f',typ='R',fr="temperature référence etat A"),
-              TEMP_REF_B       =SIMP(statut='f',typ='R',fr="temperature référence etat B"),
-                               ),
-               ),
+           FONCTION=FACT(statut='f',
+                    fr="Creation d'une table a partir d'une fonction",
+                        FONCTION=SIMP(statut='o',typ=(fonction_c,fonction_sdaster)),
+                        PARA=SIMP(statut='f',typ='TXM',min=2,max=2),
+           ),
+           b_fonction = BLOC(condition='FONCTION != None',
+               regles=(CONCEPT_SENSIBLE('SEPARE'), REUSE_SENSIBLE(),
+                       DERIVABLE('FONCTION'),),
+               SENSIBILITE = SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
+                                    fr="Liste des paramètres de sensibilité.",
+                                    ang="List of sensitivity parameters"),
+           ),
+           TYPE_TABLE = SIMP(statut='f', typ='TXM', defaut="TABLE",
+                             into=('TABLE', 'TABLE_FONCTION'),),
+           
+           TITRE=SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 09/05/2007   AUTEUR VIVAN L.VIVAN 
-# ======================================================================
+
+
+
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            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.                                 
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2004  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 GNICOLAS G.NICOLAS
+
+from Macro.macr_fiabilite_ops import macr_fiabilite_ops
+
+#
+#====
+# 1. Le retour : une liste de rééls.
+#====
+#
+def macr_fiabilite_prod ( self , **args ):
+  return listr8_sdaster
+#
+#====
+# 2. L'entete
+#====
+#
+MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops,
+                         docu="U7.03.31",UIinfo={"groupe":("Post traitements",)},
+                         sd_prod=macr_fiabilite_prod,
+                         fr="Calcule les probabiltés de dépassement de seuil (mécanique de fiabilité).",
+                         ang="Fiability mechanics.",
+#
+#====
+# 3. Le niveau d'information
+#====
+#
+   INFO           = SIMP(statut="f",typ="I",defaut=1,into=(1,2)),
+#
+#====
+# 4. Nom et Version du logiciel de fiabilité
+#====
+#
+   LOGICIEL = SIMP(statut="f",typ="TXM",defaut="MEFISTO",
+                   into=("MEFISTO",),
+                   fr="Nom du logiciel de fiabilité.",
+                   ang="Fiability software name."),
+#
+   VERSION = SIMP(statut="f",typ="TXM",defaut="V3_2",
+                  into=("V3_2", "V3_N"),
+                  fr="Version du logiciel de fiabilité.",
+                  ang="Fiability software release."),
+#
+#====
+# 5. Les entrees-sorties du calcul ASTER déterministe
+#====
+#
+# 5.1. ==> Le jeu de commandes déterministe
+#
+   UNITE_ESCL = SIMP(statut="o",typ="I",
+                     fr="Unité logique associée aux commandes du calcul ASTER déterministe.",
+                     ang="Logical unit for the commands of the ASTER deterministic calculation."),
+#
+# 5.2. ==> Le destin des messages produits par ASTER
+#
+   MESS_ASTER = SIMP(statut="f",typ="TXM",defaut="DERNIER",
+                        into=("AUCUN", "DERNIER", "TOUS"),
+                        fr="Quels messages ASTER récupérer.",
+                        ang="Which ASTER messages must be kept."),
+#
+#====
+# 6. Options
+#====
+# 6.1. ==> Générales
+#
+# 6.1.1. ==> La valeur du seuil
+#
+   SEUIL = SIMP(statut="o",typ="R",max=1,
+                fr="Le seuil de défaillance.",
+                ang="Failure threshold."),
+#
+# 6.1.2. ==> Le type du seuil : on a deux cas de figure selon que
+#            la défaillance a lieu au dessus d'un seuil maximum ou
+#            en dessous d'un seuil minimum
+#
+   SEUIL_TYPE = SIMP(statut="o",typ="TXM",max=1,
+                     into=("MINIMUM","MAXIMUM"),
+                     fr="Que faut-il ne pas dépasser : un maximum ou un minimum.",
+                     ang="What is the failure threshold : maximum or minimum."),
+#
+# 6.2. ==> Pour MEFISTO
+#
+### en attente de résolution de AL 2004-006 (1/2)   b_mefisto=BLOC( condition = "LOGICIEL=='MEFISTO'",
+#
+# 6.2.1. ==> Pilotage de la recherche du point de conception
+#
+     RECH_PT_CONCEPT = SIMP(statut="f",typ="TXM",defaut="OUI",
+                            into=("OUI","NON"),
+                            fr="Pour trouver le point de conception.",
+                            ang="To find the design point."),
+#
+     b_rech_pt_concept=BLOC( condition = "RECH_PT_CONCEPT=='OUI'",
+#
+       EPSILON_U = SIMP(statut="f",typ="R",defaut=1.0E-2,
+                        fr="Précision du test d'arret sur les points itératifs dans l'espace standard.",
+                        ang="Precision of stop test for iterative points in standard space."),
+#
+       EPSILON_G = SIMP(statut="f",typ="R",defaut=1.0E-2,
+                        fr="Précision du test d'arret sur la proximité de la surface d'état limite.",
+                        ang="Precision of stop test for limit state surface."),
+#
+       TAU       = SIMP(statut="f",typ="R",defaut=5.0E-1,
+                        fr="Paramètre de la méthode de minimisation.",
+                        ang="Parameter for the minimization method."),
+#
+       OMEGA     = SIMP(statut="f",typ="R",defaut=1.0E-4,
+                        fr="Paramètre de la méthode de minimisation.",
+                        ang="Parameter for the minimization method."),
+#
+       ITER_MAX  = SIMP(statut="f",typ="I",defaut=50,
+                        fr="Nombre maximum d'itérations.",
+                        ang="Maximum number of iterations."),
+     ),
+#
+# 6.2.2. ==> Méthode(s) employée(s) pour la probabilité de défaillance
+#
+     METHODE_FORM = SIMP(statut="f",typ="TXM",defaut="OUI",
+                         into=("OUI","NON"),
+                         fr="Recherche de la probabilité de défaillance avec la méthode FORM.",
+                         ang="Research of failure probability with FORM method."),
 #
-# 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.                            
+     METHODE_SORM = SIMP(statut="f",typ="TXM",defaut="NON",
+                         into=("OUI","NON"),
+                         fr="Recherche de la probabilité de défaillance avec la méthode SORM.",
+                         ang="Research of failure probability with SORM method."),
 #
-# 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 G8BHHXD X.DESROCHES
-POST_RELEVE_T=OPER(nom="POST_RELEVE_T",op=51,sd_prod=table_sdaster,reentrant='f',
-            fr="Extraire des valeurs de composantes de champs de grandeurs pour y effectuer des calculs (moyenne,invariants,..)"
-               +" ou pour les exprimer dans d'autres repères",
-            docu="U4.81.21",UIinfo={"groupes":("Post traitements",)},
-
-         ACTION          =FACT(statut='o',max='**',
-                               regles=(UN_PARMI('RESULTAT','CHAM_GD'),), 
-
-           OPERATION       =SIMP(statut='o',typ='TXM',into=("EXTRACTION","MOYENNE","EXTREMA"),validators=NoRepeat(),max=2),
-           INTITULE        =SIMP(statut='o',typ='TXM'),  
-
-           CHAM_GD         =SIMP(statut='f',typ=(cham_no_sdaster,
-                                                 cham_elem,),),
-           RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
+     TIRAGE_IMPORTANCE = SIMP(statut="f",typ="TXM",defaut="NON",
+                              into=("OUI","NON"),
+                              fr="Recherche de la probabilité de défaillance avec le tirage d'importance.",
+                              ang="Research of failure probability with ."),
 #
-#  1. Sensibilité
-#  1.1. Cas d'un résultat réel
-#       Cas d'un résultat harmonique dont on veut partie réelle ou imaginaire
+     b_tirage_importance=BLOC( condition = "TIRAGE_IMPORTANCE=='OUI'",
 #
-           b_sensibilite   =BLOC(condition=" (RESULTAT != None) and \
-                                      (   AsType(RESULTAT) in (evol_elas,evol_ther,evol_noli,dyna_trans, \
-                                                               mode_meca,mode_flamb,mode_acou,base_modale,mode_stat, \
-                                                               mult_elas,fourier_elas,fourier_ther) or \
-                                        ( AsType(RESULTAT) in (dyna_harmo,acou_harmo) and FORMAT_C != 'MODULE' ) )",
-                                 fr="Définition des paramètres de sensibilité",
-                                 ang="Definition of sensitivity parameters",
-             regles=(CONCEPT_SENSIBLE("SEPARE"), REUSE_SENSIBLE(),
-                     DERIVABLE('RESULTAT'),),
-             SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
-                                   fr="Liste des paramètres de sensibilité.",
-                                   ang="List of sensitivity parameters"),
-
-           ),
+       NB_SIMULATION = SIMP(statut="f",typ="I",defaut=3,
+                            fr="Nombre de simulations pour le tirage d'importance.",
+                            ang="Number of simulation for."),
 #
-#  1.2. Cas d'un résultat harmonique dont on veut le module
+     ),
 #
-           b_sensibilite_harmo =BLOC(condition=" (RESULTAT != None) and \
-                                      ( AsType(RESULTAT) in (dyna_harmo,acou_harmo) and FORMAT_C == 'MODULE' )",
-                                     fr="Définition des paramètres de sensibilité",
-                                     ang="Definition of sensitivity parameters",
-             regles=(CONCEPT_SENSIBLE("SEPARE"), REUSE_SENSIBLE(),
-                     DERIVABLE('RESULTAT'),),
-             SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
-                                   fr="Liste des paramètres de sensibilité.",
-                                   ang="List of sensitivity parameters"),
-               b_sensibilite_harmo =BLOC(condition=" SENSIBILITE != None",
-                                         fr="Option pour la sensibilite",
-                                         ang="Option for sensitivity",
-               SENSIBILITE_OPTION =SIMP(statut='o',typ='TXM',into=("MODULE_SENSIBILITE","SENSIBILITE_MODULE",),
-                                        fr="Option : module de la dérivée ou dérivée du module",
-                                        ang="Option : modulus of derivative or derivative of modulus"),
-               ),
-           ),
-
-           b_extrac        =BLOC(condition = "RESULTAT != None",fr="extraction des résultats",
-                                 regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','LIST_ORDRE','NUME_MODE','LIST_MODE',         
-                                                'INST','LIST_INST','FREQ','LIST_FREQ','NOEUD_CMP','NOM_CAS'), ),           
-             NOM_CHAM        =SIMP(statut='o',typ='TXM' ),  
-             TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-             NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
-             LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
-             NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
-             LIST_MODE       =SIMP(statut='f',typ=listis_sdaster),
-             NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
-             NOM_CAS         =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),  
-             FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
-             LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
-             INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
-             LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
-             PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-6),  
-             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-           ),
-
-           b_extrema   =BLOC(condition="OPERATION == 'EXTREMA'",
-                             fr="recherche de MIN MAX",
-                             regles=(EXCLUS('TOUT_CMP','NOM_CMP'),),
-              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='**'),
-              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-              TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",)),
-              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),  
-           ),
-
-           b_autre   =BLOC(condition="OPERATION != 'EXTREMA'",
-                           fr="extraction et moyenne",
-                           regles=(AU_MOINS_UN('CHEMIN','GROUP_NO','NOEUD'),
-                                   EXCLUS('CHEMIN','GROUP_NO'),
-                                   EXCLUS('CHEMIN','NOEUD'),
-                                   PRESENT_ABSENT('CHEMIN','GROUP_MA','MAILLE'),
-                                   UN_PARMI('TOUT_CMP','NOM_CMP','INVARIANT','ELEM_PRINCIPAUX','RESULTANTE'),
-                                   PRESENT_PRESENT('TRAC_DIR','DIRECTION'),          
-                                   ENSEMBLE('MOMENT','POINT'),
-                                   PRESENT_PRESENT('MOMENT','RESULTANTE'),
-                                   PRESENT_ABSENT('TOUT_CMP','TRAC_DIR','TRAC_NOR'),
-                                   EXCLUS('TRAC_DIR','TRAC_NOR'),
-                                   PRESENT_PRESENT('ORIGINE','AXE_Z'),),
-                   
-              CHEMIN          =SIMP(statut='f',typ=(courbe_sdaster,surface_sdaster) ),
-              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='**'),
-              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-
-              TOUT_CMP        =SIMP(statut='f',typ='TXM',into=("OUI",)),
-              NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),  
-              INVARIANT       =SIMP(statut='f',typ='TXM',into=("OUI",)),
-              ELEM_PRINCIPAUX =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-              RESULTANTE      =SIMP(statut='f',typ='TXM',max='**'),  
-
-              MOMENT          =SIMP(statut='f',typ='TXM',max='**'),  
-              POINT           =SIMP(statut='f',typ='R',max='**'),  
-
-              REPERE          =SIMP(statut='f',typ='TXM',defaut="GLOBAL",
-                                 into=("GLOBAL","LOCAL","POLAIRE","UTILISATEUR","CYLINDRIQUE"),),
-              ANGL_NAUT       =SIMP(statut='f',typ='R',min=3,max=3),  
-              ORIGINE         =SIMP(statut='f',typ='R',min=3,max=3),  
-              AXE_Z           =SIMP(statut='f',typ='R',min=3,max=3),  
-
-              TRAC_NOR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
-              TRAC_DIR        =SIMP(statut='f',typ='TXM',into=("OUI",)),
-              DIRECTION       =SIMP(statut='f',typ='R',max='**'),  
-              VECT_Y          =SIMP(statut='f',typ='R',max='**'),  
-              MOYE_NOEUD      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
-           ),
-
-           FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="MODULE",into=("MODULE","REEL","IMAG")),
-
-         ),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
-)  ;
-#& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
+# 6.2.3. ==> Création d'une surface de réponse polynomiale
+#
+     POLYNOME_TAYLOR   = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),),
+     HGRAD             = SIMP(statut="f",typ="R",defaut=1.0E-2,
+                              fr="Pas incrémental pour le calcul des gradients.",
+                              ang="Step for calculation of gradients."),
+     HHESS             = SIMP(statut="f",typ="R",defaut=1.0E-2,
+                              fr="Pas incrémental pour le calcul des dérivées secondes.",
+                              ang="Step for calculation of second derivatives."),
+#
+# 6.2.4. ==> Recherche d'un plan d'expérience
+#
+     PLAN_EXPERIENCE   = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
+                              fr="Construction d'un plan d'expérience.",
+                              ang="Construction of an experiment plan."),
+#
+     b_plan_experience=BLOC( condition = "PLAN_EXPERIENCE=='OUI'",
+#
+       ALPHA         = SIMP(statut="f",typ="R",defaut=2.0E-1,
+                            fr="Plan d'expérience : maille du plan de type composite centré.",
+                            ang="Experiment plane : mesh centered composite."),
+#
+       BETA          = SIMP(statut="f",typ="R",defaut=4.0E-1,
+                            fr="Plan d'expérience : maille du plan de type factoriel.",
+                            ang="Experiment plane : mesh factor."),
+#
+     ),
+#
+# 6.2.5. ==> Les tests
+# 6.2.5.1. ==> Test de la sphere
+#
+     T_SPHERE = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
+                     fr="Test de la sphère.",
+                     ang="Sphere test."),
+#
+     b_test_de_la_sphere=BLOC( condition = "T_SPHERE=='OUI'",
+#
+       METHODE_TEST = SIMP(statut="f",typ="TXM",defaut="GAUSSIENNE",
+                           into=("GAUSSIENNE","PARAMETRIQUE","REJECTION"),
+                           fr="Type de méthode.",
+                           ang="Method."),
+#
+       NB_POINT     = SIMP(statut="f",typ="I",max=1,defaut=60,
+                           fr="Nombre de points de la sphere.",
+                           ang="Number of points over the sphere.")
+     ),
+#
+# 6.2.5.2. ==> Test du maximum fort
+#
+     T_MAXIMUM_FORT = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
+                           fr="Test du maximum fort.",
+                           ang="Strong maximum test."),
+#
+     b_test_du_maximum_fort=BLOC( condition = "T_MAXIMUM_FORT=='OUI'",
+#
+       COS_LIM = SIMP(statut="f",typ="R",max=1,defaut=1.0,
+                      fr="Cosinus de l'angle d'exclusion.",
+                      ang="Cosine of angle of exclusion."),
+#
+       DPROB   = SIMP(statut="f",typ="R",max=1,defaut=4.3E-1,
+                      fr="Fraction d'iso-densité de probabilité de défaillance.",
+                      ang="Fraction.")
+#
+     ),
+#
+# 6.2.5.3. ==> Test du hessien
+#
+     T_HESSIEN = SIMP(statut="f",typ="TXM",defaut="NON",into=("OUI","NON"),
+                      fr="Test du hessien.",
+                      ang="Hessian test."),
+#
+# 6.2.6. ==> Les correlations entre les variables
+#
+     MATRICE = SIMP(statut="f",typ="R",max="**",
+                    fr="Matrice de corrélation entre les variables.",
+                    ang="Correlation matrix."), 
+#
+### en attente de résolution de AL 2004-006 (2/2)   ),
+#
+#====
+# 7. Definition des paramètres
+#====
+#
+   VARIABLE = FACT(statut="o",min=1,max="**",
+#
+# 7.1. ==> Nom de la variable
+#
+       NOM = SIMP(statut="o",typ="TXM",
+                  fr="Nom de la variable, identique au nom de concept PARA_SENSI.",
+                  ang="Name of the variable, identical to the name of the PARA_SENSI conceipt."),
+#
+# 7.2. ==> Loi de distribution
+#
+       LOI = SIMP(statut="o",typ="TXM",
+                  into=("UNIFORME","NORMALE","LOGNORMALE","NORMALE_TRONQUEE"),
+                  fr="Choix de la loi",
+                  ang="Law."),
 #
-# 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.                            
+# 7.2.1. ==> Loi normale
 #
-# 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.      
-# ======================================================================
-POST_USURE=OPER(nom="POST_USURE",op=153,sd_prod=table_sdaster,reentrant='f',
-            UIinfo={"groupes":("Post traitements",)},
-                fr="Calcul des volumes d'usure et des profondeurs d'usure d'après la puissance d'usure",
-         regles=(UN_PARMI('TUBE_NEUF','RESU_GENE','PUIS_USURE'),
-                 PRESENT_PRESENT('RESU_GENE','NOEUD','LOI_USURE'),
-                 PRESENT_PRESENT('PUIS_USURE','LOI_USURE'),),
-         TUBE_NEUF       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         ETAT_INIT       =FACT(statut='f',
-           TABL_USURE      =SIMP(statut='f',typ=table_sdaster),
-           INST_INIT       =SIMP(statut='f',typ='R'),  
-                         ),
-         RESU_GENE       =SIMP(statut='f',typ=tran_gene),
-         NOEUD           =SIMP(statut='f',typ=no,),
-         INST_INIT       =SIMP(statut='f',typ='R',defaut=-1.0E+0),  
-         INST_FIN        =SIMP(statut='f',typ='R'),  
-         NB_BLOC         =SIMP(statut='f',typ='I',defaut= 1 ),  
-         PUIS_USURE      =SIMP(statut='f',typ='R'),  
-         LOI_USURE       =SIMP(statut='f',typ='TXM',into=("ARCHARD","KWU_EPRI","EDF_MZ")),
-         b_archard       =BLOC(condition = "LOI_USURE == 'ARCHARD'",
-           regles=(UN_PARMI('MOBILE','MATER_USURE','SECTEUR'), 
-                   EXCLUS('MATER_USURE','OBSTACLE'),
-                   EXCLUS('MOBILE','USURE_OBST'),),
-           MOBILE          =FACT(statut='f',
-             COEF_USURE      =SIMP(statut='o',typ='R'), 
-           ),   
-           OBSTACLE        =FACT(statut='f',
-             COEF_USURE      =SIMP(statut='o',typ='R'), 
-           ),
-           SECTEUR         =FACT(statut='f',max='**',
-             CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",  
-                                                              "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE", 
-                                                              "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
-             COEF_USUR_MOBILE=SIMP(statut='f',typ='R'),  
-             COEF_USUR_OBST  =SIMP(statut='f',typ='R'),  
-             ANGL_INIT       =SIMP(statut='f',typ='R'),  
-             ANGL_FIN        =SIMP(statut='f',typ='R'),  
-           ),
-           MATER_USURE     =SIMP(statut='f',typ='TXM'),  
-           USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
-         ),
-         b_kwu_epri        =BLOC(condition = "LOI_USURE == 'KWU_EPRI'",
-           regles=(UN_PARMI('MOBILE','MATER_USURE'), 
-                   EXCLUS('MATER_USURE','OBSTACLE'),
-                   EXCLUS('MOBILE','USURE_OBST'),),
-           MOBILE          =FACT(statut='f',
-             COEF_FNOR       =SIMP(statut='f',typ='R'),  
-             COEF_VTAN       =SIMP(statut='f',typ='R'),  
-             COEF_USURE      =SIMP(statut='f',typ='R'),  
-             COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
-             COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
-           ),   
-           OBSTACLE        =FACT(statut='f',
-             COEF_FNOR       =SIMP(statut='f',typ='R' ),  
-             COEF_VTAN       =SIMP(statut='f',typ='R' ),  
-             COEF_USURE      =SIMP(statut='o',typ='R'), 
-             COEF_K          =SIMP(statut='f',typ='R',defaut=5.0E+0),  
-             COEF_C          =SIMP(statut='f',typ='R',defaut=10.0E+0),  
-           ),   
-           MATER_USURE     =SIMP(statut='f',typ='TXM'),  
-           USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
-           FNOR_MAXI       =SIMP(statut='f',typ='R' ),  
-           VTAN_MAXI       =SIMP(statut='f',typ='R' ),  
-         ),
-         b_edf_mz          =BLOC(condition = "LOI_USURE == 'EDF_MZ'",
-           regles=(UN_PARMI('MOBILE','MATER_USURE'), 
-                   EXCLUS('MATER_USURE','OBSTACLE'),
-                   EXCLUS('MOBILE','USURE_OBST'),),
-           MOBILE          =FACT(statut='f',
-             COEF_USURE      =SIMP(statut='f',typ='R',defaut=1.0E-13),  
-             COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
-             COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
-             COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
-           ),   
-           OBSTACLE        =FACT(statut='f',
-             COEF_USURE      =SIMP(statut='o',typ='R',defaut=1.0E-13), 
-             COEF_B          =SIMP(statut='f',typ='R',defaut=1.2E+0),  
-             COEF_N          =SIMP(statut='f',typ='R',defaut=2.44E-8),  
-             COEF_S          =SIMP(statut='f',typ='R',defaut=1.14E-16),  
-           ),   
-           MATER_USURE     =SIMP(statut='f',typ='TXM'),  
-           USURE_OBST      =SIMP(statut='f',typ='TXM',into=("OUI",)),
-         ),
-         b_tube_neuf       =BLOC(condition = "TUBE_NEUF == 'OUI'",
-            TABL_USURE      =SIMP(statut='o',typ=table_sdaster),
-            INST            =SIMP(statut='f',typ='R'),
-         ),
-         CONTACT         =SIMP(statut='f',typ='TXM',into=("TUBE_BAV","TUBE_ALESAGE","TUBE_4_ENCO",    
-                                                          "GRAPPE_ALESAGE","TUBE_3_ENCO","TUBE_TUBE",        
-                                                          "GRAPPE_1_ENCO","GRAPPE_2_ENCO")),
-         RAYON_MOBILE    =SIMP(statut='f',typ='R'),  
-         RAYON_OBST      =SIMP(statut='f',typ='R'),  
-         LARGEUR_OBST    =SIMP(statut='f',typ='R'),  
-         ANGL_INCLI      =SIMP(statut='f',typ='R'),  
-         ANGL_ISTHME     =SIMP(statut='f',typ='R'),  
-         ANGL_IMPACT     =SIMP(statut='f',typ='R'),  
-         INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
-         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
-         COEF_INST       =SIMP(statut='f',typ='R',defaut=1.0E+0),  
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
-)  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
+       b_normale=BLOC(condition="LOI=='NORMALE'",
 #
-# 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.                            
+         VALE_MOY   = SIMP(statut="o",typ="R",max=1,
+                               fr="Valeur moyenne.",
+                               ang="Mean value."),
 #
-# 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.      
-# ======================================================================
-POST_ZAC=OPER(nom="POST_ZAC",op= 175,sd_prod=mult_elas,reentrant='n',
-            UIinfo={"groupes":("Post traitements",)},
-              fr="Déterminer l'état adapté ou accommodé par la méthode de Zarka-Casier d'une structure sous"
-                +" chargement cyclique élastique affine ou non",
-         MODELE          =SIMP(statut='o',typ=modele_sdaster),
-         CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
-         EXCIT           =FACT(statut='o',max='**',
-           CHARGE          =SIMP(statut='o',typ=char_meca),
-           FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-           TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",into=("FIXE_CSTE",)),
-         ),
-         EVOL_ELAS       =SIMP(statut='o',typ=evol_elas),
-         b_evol_elas     =BLOC(condition="EVOL_ELAS != None",
-           regles=(UN_PARMI('NUME_ORDRE','LIST_INST','INST'),),
-           NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),  
-           LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
-           INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),  
-         ),
-         TEMP_ZAC        =SIMP(statut='f',typ='R',defaut=0.0E+0),  
-         EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
-         b_evol_noli     =BLOC(condition="EVOL_NOLI != None",
-           INST_MAX        =SIMP(statut='o',typ='R'),  
-         ),
-         PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),  
-         CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-
-)  ;
-#& MODIF COMMANDE  DATE 12/11/2007   AUTEUR LEFEBVRE J-P.LEFEBVRE 
-#            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.
+         ECART_TYPE = SIMP(statut="o",typ="R",max=1,
+                               fr="Ecart type.",
+                               ang="Standard deviation."),
 #
-# 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.
-# ======================================================================
-POURSUITE=MACRO(nom="POURSUITE",op=ops.build_poursuite,repetable='n',
-                fr="Poursuite d'une étude à partir de la sauvegarde au format JEVEUX ou HDF de sa base globale",
-                sd_prod = ops.POURSUITE,
-            UIinfo={"groupes":("Gestion du travail",)},
-                op_init = ops.POURSUITE_context,fichier_ini = 1,
-         FORMAT_HDF      =SIMP(fr="sauvegarde de la base GLOBALE au format HDF",statut='f',
-                               typ='TXM',defaut="NON",into=("OUI","NON",) ),
-         PAR_LOT         =SIMP(fr="mode de traitement des commandes",statut='f',typ='TXM',
-                           into=("OUI","NON"),defaut="OUI"),
-         IMPR_MACRO      =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess",
-                           statut='f',typ='TXM',into=("OUI","NON"),defaut="NON"),
-         BASE            =FACT(fr="définition des paramètres associés aux bases JEVEUX",
-                               statut='f',min=1,max=2,
-           FICHIER         =SIMP(fr="nom de la base",statut='o',typ='TXM'),
-           TITRE           =SIMP(statut='f',typ='TXM'),
-           CAS             =SIMP(statut='f',typ='TXM'),
-           NMAX_ENRE       =SIMP(fr="nombre maximum d enregistrements",statut='f',typ='I'),
-           LONG_ENRE       =SIMP(fr="longueur des enregistrements",statut='f',typ='I'),
-           LONG_REPE       =SIMP(fr="longueur du répertoire",statut='f',typ='I'),
-         ),
-         IMPRESSION      =FACT(statut='f',min=1,max=3,
-           FICHIER         =SIMP(statut='o',typ='TXM'),
-           UNITE           =SIMP(statut='o',typ='I'),
-         ),
-         CATALOGUE       =FACT(statut='f',min=1,max=10,
-           FICHIER         =SIMP(statut='o',typ='TXM'),
-           TITRE           =SIMP(statut='f',typ='TXM'),
-           UNITE           =SIMP(statut='f',typ='I'),
-         ),
-         ERREUR          =FACT(fr="comportement en cas d'erreur",statut='f',min=1,max=1,
-           ERREUR_F        =SIMP(statut='f',typ='TXM',into=('ABORT','EXCEPTION'),defaut='ABORT'),
-         ),
-         DEBUG           =FACT(fr="option de déboggage reservée aux développeurs",
-                               statut='f',min=1,max=1,
-           JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
-                                 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
-           SDVERI          =SIMP(fr="vérifie la conformité des SD produites par les commandes",
-                                 statut='f',typ='TXM',into=('OUI','NON')),
-           JEVEUX          =SIMP(fr="force les déchargement sur disque",
-                                 statut='f',typ='TXM',into=('OUI','NON'),defaut='NON'),
-           ENVIMA          =SIMP(fr="imprime les valeurs définies dans ENVIMA",
-                                 statut='f',typ='TXM',into=('TEST',)),
-         ),
-         MEMOIRE         =FACT(fr="mode de gestion mémoire utilisé",statut='f',min=1,max=1,
-           GESTION         =SIMP(statut='f',typ='TXM',into=('COMPACTE','RAPIDE'),defaut='RAPIDE'),
-           TYPE_ALLOCATION =SIMP(statut='f',typ='I',into=(1,2,3,4),defaut=1),
-           TAILLE          =SIMP(statut='f',typ='I'),
-           TAILLE_BLOC     =SIMP(statut='f',typ='R',defaut=800.),
-           PARTITION       =SIMP(statut='f',typ='R' ),
-           DYNAMIQUE       =SIMP(statut='f',typ='I'),
-         ),
-         RESERVE_CPU     =FACT(fr="reserve de temps pour terminer une execution",statut='d',max=1,
-           regles=(EXCLUS('VALE','POURCENTAGE'),),
-           VALE            =SIMP(statut='f',typ='I',val_min=0),
-#                            valeur par défaut fixée à 10. dans le FORTRAN si CODE présent
-           POURCENTAGE     =SIMP(statut='f',typ='R',val_min=0.,val_max=1.0),
-#                           valeur par défaut fixée à 10% dans le FORTRAN
-           BORNE           =SIMP(statut='f',typ='I',val_min=0,defaut=900) ),
-#          valeur en pourcentage du temps maximum bornée à 900 secondes
-
-         CODE            =FACT("définition d'un nom pour l'ensemble d'une étude",
-                               statut='f',min=1,max=1,
-           NOM             =SIMP(statut='o',typ='TXM'),
-         ),
-)  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
+# 7.2.2. ==> Loi lognormale
+#
+       b_lognormale=BLOC(condition="LOI=='LOGNORMALE'",
+#
+         VALE_MIN       = SIMP(statut="o",typ="R",max=1,
+                                   fr="Valeur minimale.",
+                                   ang="Minimal value."),
 #
-# 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.                            
+         VALE_MOY       = SIMP(statut="f",typ="R",max=1,
+                                   fr="Valeur moyenne dans l'espace de la loi normale.",
+                                   ang="Mean value in the space of the normal law."),
 #
-# 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.      
-# ======================================================================
-PRE_GIBI=PROC(nom="PRE_GIBI",op=49,
-            UIinfo={"groupes":("Gestion du travail",)},
-              fr="Conversion d'un fichier de maillage GIBI au format Aster",
-         UNITE_GIBI      =SIMP(statut='f',typ='I',defaut=19),  
-         UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
-)  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
+         ECART_TYPE     = SIMP(statut="f",typ="R",max=1,
+                                   fr="Ecart type dans l'espace de la loi normale.",
+                                   ang="Standard deviation in the space of the normal law."),
 #
-# 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.                            
+         VALE_MOY_PHY   = SIMP(statut="f",typ="R",max=1,
+                                   fr="Valeur moyenne dans l'espace physique.",
+                                   ang="Mean value in the physical space."),
 #
-# 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.      
-# ======================================================================
-
-PRE_GMSH=PROC(nom="PRE_GMSH",op=47,
-            UIinfo={"groupes":("Gestion du travail",)},
-               fr="Conversion d'un fichier de maillage GMSH au format Aster",
-         UNITE_GMSH      =SIMP(statut='f',typ='I',defaut=19),  
-         UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
-)  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
+         ECART_TYPE_PHY = SIMP(statut="f",typ="R",max=1,
+                                   fr="Ecart type dans l'espace physique.",
+                                   ang="Standard deviation in the physical space."),
 #
-# 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.                            
+         regles=(AU_MOINS_UN("VALE_MOY"  ,"VALE_MOY_PHY"),
+                 AU_MOINS_UN("ECART_TYPE","ECART_TYPE_PHY"),
+                 EXCLUS  ("VALE_MOY"  ,"VALE_MOY_PHY"),
+                 EXCLUS  ("VALE_MOY"  ,"ECART_TYPE_PHY"),
+                 EXCLUS  ("ECART_TYPE","VALE_MOY_PHY"),
+                 EXCLUS  ("ECART_TYPE","ECART_TYPE_PHY")),
 #
-# 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.      
-# ======================================================================
-PRE_IDEAS=PROC(nom="PRE_IDEAS",op=47,
-            UIinfo={"groupes":("Gestion du travail",)},
-               fr="Conversion d'un fichier universel IDEAS-SUPERTAB au format Aster",
-         UNITE_IDEAS     =SIMP(statut='f',typ='I',defaut=19),  
-         UNITE_MAILLAGE  =SIMP(statut='f',typ='I',defaut=20),  
-         CREA_GROUP_COUL =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
-)  ;
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
+       ),
 #
-# 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.                            
+# 7.2.3. ==> Loi uniforme
 #
-# 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.      
-# ======================================================================
-
-PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=cham_no_sdaster,
-                    fr="Effectuer le produit d'une matrice par un vecteur",
-                    reentrant='n',
-            UIinfo={"groupes":("Résultats et champs",)},
-         MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,matr_asse_pres_c ) ),
-         CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-)  ;
-#& MODIF COMMANDE  DATE 02/10/2007   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.
+       b_uniforme=BLOC(condition="LOI=='UNIFORME'",
 #
-# 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.
+         VALE_MIN = SIMP(statut="o",typ="R",max=1,
+                             fr="Valeur minimale.",
+                             ang="Minimal value."),
 #
-# 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 VABHHTS J.PELLET
-def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ):
-    if AsType(RESULTAT) != None : return AsType(RESULTAT)
-    if CHAM_NO_REFE     != None : return cham_no_sdaster
-    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",
-
-
-         METHODE         =SIMP(statut='f',typ='TXM',defaut="ELEM",
-                               into=("NUAGE_DEG_0","NUAGE_DEG_1","ELEM",) ),
-
-
-         # 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),
-         ),
-
-
-
-         # Méthode ELEM :
-         #--------------------
-         b_elem          =BLOC(condition="METHODE=='ELEM'",
-                              fr="Utilisation des fonctions de forme du maillage initial",
-           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",) ),
-           NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
-
-           NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster),
-                fr="Utile en dynamique pour pouvoir imoser la numérotation des cham_no."),
-
-
-           TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-           NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
-           LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster),
-           INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
-           LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
-           FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
-           LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster),
-           NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
-           NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
-
-
-           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_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 :
-         #---------------------------------------------
-         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
-
-         VIS_A_VIS       =FACT(statut='f',max='**',
-           regles=(AU_MOINS_UN('TOUT_1','GROUP_MA_1','MAILLE_1','GROUP_NO_1','NOEUD_1'),
-                   AU_MOINS_UN('TOUT_2','GROUP_MA_2','MAILLE_2','GROUP_NO_2','NOEUD_2'),),
-           TOUT_1          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-           GROUP_MA_1      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           MAILLE_1        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           GROUP_NO_1      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-           NOEUD_1         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-           TOUT_2          =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-           GROUP_MA_2      =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           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_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 22/06/2005   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
+         VALE_MAX = SIMP(statut="o",typ="R",max=1,
+                             fr="Valeur maximale.",
+                             ang="Maximal value."),
+#
+       ),
+#
+# 7.2.4. ==> Loi normale tronquée
+#
+       b_normale_tronquee=BLOC(condition="LOI=='NORMALE_TRONQUEE'",
+#
+         VALE_MOY   = SIMP(statut="o",typ="R",max=1,
+                               fr="Valeur moyenne de la loi normale complète.",
+                               ang="Mean value for the entire normal law."),
+#
+         ECART_TYPE = SIMP(statut="o",typ="R",max=1,
+                               fr="Ecart type de la loi normale complète.",
+                               ang="Standard deviation for the entire normal law."),
+#
+         VALE_MIN   = SIMP(statut="o",typ="R",max=1,
+                               fr="Valeur minimale.",
+                               ang="Minimal value."),
+#
+         VALE_MAX   = SIMP(statut="o",typ="R",max=1,
+                               fr="Valeur maximale.",
+                               ang="Maximal value."),
 #
-# 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.      
-# ======================================================================
-def matr_asse_gene_prod(MATR_ASSE,MATR_ASSE_GENE,**args):
-  if AsType(MATR_ASSE) == matr_asse_depl_r  : return matr_asse_gene_r
-  if AsType(MATR_ASSE_GENE) == matr_asse_gene_r  : return matr_asse_gene_r
-  if AsType(MATR_ASSE) == matr_asse_depl_c  : return matr_asse_gene_c
-  if AsType(MATR_ASSE_GENE) == matr_asse_gene_c  : return matr_asse_gene_c
-  raise AsException("type de concept resultat non prevu")
-
-PROJ_MATR_BASE=OPER(nom="PROJ_MATR_BASE",op=  71,sd_prod=matr_asse_gene_prod,
-                    fr="Projection d'une matrice assemblée sur une base (modale ou de RITZ)",
-                    reentrant='n',
-            UIinfo={"groupes":("Matrices/vecteurs",)},
-         regles=(UN_PARMI('MATR_ASSE','MATR_ASSE_GENE'),),            
-         BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ),
-         NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
-         MATR_ASSE       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ),
-         MATR_ASSE_GENE  =SIMP(statut='f',typ=(matr_asse_gene_r,matr_asse_gene_c) ),
-)  ;
-
-#& MODIF COMMANDE  DATE 19/06/2006   AUTEUR VABHHTS 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.                                 
+# 7.3. ==> Paramètres de calcul
+# 7.3.1. ==> Soit on cherche le point de conception, soit on le connait deja
 #
-# 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.                            
+       regles=(EXCLUS("POINT_INI","POINT_CONCEPT"),
+               EXCLUS("POINT_REF","POINT_CONCEPT"),),
 #
-# 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.      
-# ======================================================================
-def proj_mesu_modal_prod(MODELE_MESURE,**args):
-     vale=MODELE_MESURE['MESURE']
-     if  AsType(vale) == dyna_trans   : return tran_gene
-     if  AsType(vale) == dyna_harmo   : return harm_gene
-     if  AsType(vale) == mode_meca    : return mode_gene
-#     if  AsType(vale) == mode_meca_c  : return mode_gene_c
-     if  AsType(vale) == base_modale  : return mode_gene
-     raise AsException("type de concept resultat non prevu")
-
-PROJ_MESU_MODAL=OPER(nom="PROJ_MESU_MODAL",op= 193,
-                     sd_prod=proj_mesu_modal_prod,
-                     reentrant='n',
-            UIinfo={"groupes":("Résultats et champs",)},
-                     fr="Calcul des coordonnees généralisees de mesure experimentale relatives a une base de projection",
-
-         MODELE_CALCUL   =FACT(statut='o',
-           MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
-           BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,) ),
-                         ),
-         MODELE_MESURE   =FACT(statut='o',
-           MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
-           MESURE          =SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,mode_meca,mode_meca_c,) ),
-           NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU_DEPL",) ),
-                         ),
-         CORR_MANU       =FACT(statut='f',max='**',
-           regles=(PRESENT_PRESENT('NOEU_CALCUL','NOEU_MESURE'),),
-           NOEU_CALCUL     =SIMP(statut='f',typ=no),
-           NOEU_MESURE     =SIMP(statut='f',typ=no),
-                         ),
-         NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),
-         RESOLUTION      =FACT(statut='f',
-           METHODE         =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ),
-           b_svd =BLOC(condition="METHODE=='SVD'",
-                       EPS=SIMP(statut='f',typ='R',defaut=0. ),
-                      ),
-           REGUL           =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ),
-           b_regul =BLOC(condition="REGUL!='NON'",
-                         regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),),
-                         COEF_PONDER   =SIMP(statut='f',typ='R',defaut=0.     ,max='**' ),  
-                         COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
-                        ),
-             ),
-
-          ); 
-#& MODIF COMMANDE  DATE 30/05/2007   AUTEUR ADOBES A.ADOBES 
-#            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.                                 
+# 7.3.2. ==> Quand on cherche le point de conception, on peut préciser le départ de l'algorithme.
+#            Si on ne le fait pas, le programme prendra la valeur moyenne.
 #
-# 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.                            
+       POINT_INI = SIMP(statut="f",typ="R",max=1,
+                          fr="Point de démarrage de l'algorithme itératif.",
+                          ang="Initial point for iterative process."),
 #
-# 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.      
-# ======================================================================
-PROJ_SPEC_BASE=OPER(nom="PROJ_SPEC_BASE",op= 146,sd_prod=table_fonction,reentrant='n',
-            UIinfo={"groupes":("Matrices/vecteurs",)},
-            fr="Projecter un ou plusieurs spectres de turbulence sur une (ou plusieurs) base(s) modale(s) ",
-      regles=(UN_PARMI('BASE_ELAS_FLUI','MODE_MECA','CHAM_NO'),),
-         SPEC_TURB       =SIMP(statut='o',typ=spectre_sdaster,validators=NoRepeat(),max='**' ),
-         TOUT_CMP        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
-         BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
-         MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
-         CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster),
-         FREQ_INIT       =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
-         FREQ_FIN        =SIMP(statut='o',typ='R',val_min=0.E+0 ),  
-         NB_POIN         =SIMP(statut='o',typ='I' ),  
-         OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG")),
-         GROUP_MA        =SIMP(statut='f',typ=grma),
-#  Quel est le type attendu derriere  MODELE_INTERFACE         
-         MODELE_INTERFACE=SIMP(statut='f',typ=modele_sdaster),
-         VECT_X          =SIMP(statut='f',typ='R',min=3,max=3 ),  
-         VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3 ),  
-         ORIG_AXE        =SIMP(statut='f',typ='R',min=3,max=3 ),  
-         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
-)  ;
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
+# 7.3.3. ==> Quand on cherche le point de conception, on peut préciser un point de référence pour normaliser.
+#            Si on ne le fait pas, le programme prendra la valeur moyenne.
 #
-# 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.                            
+       POINT_REF = SIMP(statut="f",typ="R",max=1,
+                          fr="Point de référence de l'algorithme itératif.",
+                          ang="Reference point for iterative process."),
 #
-# 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.      
-# ======================================================================
-
-PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op=  72,sd_prod=vect_asse_gene,
-                    fr="Projection d'un vecteur assemblé sur une base (modale ou de RITZ)",
-                    reentrant='n',
-            UIinfo={"groupes":("Matrices/vecteurs",)},
-         regles=(UN_PARMI('VECT_ASSE','VECT_ASSE_GENE'),),              
-         BASE            =SIMP(statut='o',typ=(mode_meca,base_modale,mode_gene,mode_stat ) ),
-         NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
-         TYPE_VECT       =SIMP(statut='f',typ='TXM',defaut="FORC"),
-         VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster),
-         VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
-)  ;
-#& MODIF COMMANDE  DATE 30/04/2007   AUTEUR ABBAS M.ABBAS 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2006  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.        
-# ======================================================================
-
-PROPA_XFEM=OPER(nom="PROPA_XFEM",op=10,sd_prod=fiss_xfem,reentrant='n',
-                UIinfo={"groupes":("Modélisation",)},
-                fr="Propagation de fissure avec X-FEM",
-    
-    MODELE        =SIMP(statut='o',typ=modele_sdaster),
-        
-    TABLE         =SIMP(statut='o',typ=table_sdaster),
-
-    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',),
-        M            =SIMP(statut='o',typ='R',),),
-            ),
-            
-    RAYON          =SIMP(statut='o',typ='R',),
-          
-    METHODE =SIMP(statut='f',typ='TXM',into=("SIMPLEXE","UPWIND",),defaut="SIMPLEXE"),
-
-#    RUNGE_KUTTA    =SIMP(statut='f',typ='I',into=("1","2",),defaut=1),
-
-    INFO           =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
-)  ;
-#& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
+# 7.3.4. ==> Quand on cherche uniquement la probabilité de défaillance, il faut donner le point de conception
 #
-# 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.                            
+       POINT_CONCEPT = SIMP(statut="f",typ="R",max=1,
+                              fr="Point de conception.",
+                              ang="Design point."),
 #
-# 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.      
-# ======================================================================
-RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=table_sdaster,
-                     fr="Recaler les paramètres du modèle de WEIBULL sur des données expérimentales",reentrant='n',
-            UIinfo={"groupes":("Post traitements",)},
-         LIST_PARA       =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("SIGM_REFE","M",) ),
-         RESU            =FACT(statut='o',max='**',
-           regles=(EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST',),
-                   AU_MOINS_UN('TOUT','GROUP_MA','MAILLE', ),),
-           EVOL_NOLI       =SIMP(statut='o',typ=(evol_noli) ),
-           MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
-           CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
-           TEMPE           =SIMP(statut='f',typ='R' ),
-           LIST_INST_RUPT  =SIMP(statut='o',typ='R',validators=NoRepeat(),max='**' ),
-           TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-           NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
-           INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
-           LIST_INST       =SIMP(statut='f',typ=(listr8_sdaster) ),
-           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='**'),
-           COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.E0 ),
-                         ),
-         OPTION          =SIMP(statut='f',typ='TXM',defaut="SIGM_ELGA",into=("SIGM_ELGA","SIGM_ELMOY",) ),
-         CORR_PLAST      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
-         METHODE         =SIMP(statut='f',typ='TXM',defaut="MAXI_VRAI",into=("MAXI_VRAI","REGR_LINE",) ),
-         INCO_GLOB_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
-         ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ,) ),
-                       )  ;
-#& MODIF COMMANDE  DATE 09/05/2007   AUTEUR VIVAN L.VIVAN 
+# 7.4. ==> Mode d'obtention du gradient par rapport à ce paramètre
+#
+       GRADIENT = SIMP(statut="o",typ="TXM",max=1,
+                           into=("OUI","NON"),
+                           fr="ASTER calcule directement le gradient.",
+                       ang="ASTER computes the gradient for this parameter."),
+
+       b_gradient=BLOC(condition="GRADIENT=='NON'",
+         INCREMENT = SIMP(statut="o",typ="R",max=1,
+                             fr="Incrément dans la direction.",
+                         ang="Direction increment."),
+       ),
+
+   ),
+#
+);
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2004  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
@@ -22560,280 +23443,180 @@ RECA_WEIBULL=OPER(nom="RECA_WEIBULL",op= 197,sd_prod=table_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE MCOURTOI M.COURTOIS
-def recu_fonction_prod(RESULTAT=None,TABLE=None,RESU_GENE=None,
-                       BASE_ELAS_FLUI=None,CHAM_GD=None,NAPPE=None,
-                       NOM_PARA_TABL=None,**args):
-   if AsType(RESULTAT)  == dyna_harmo or \
-      AsType(RESU_GENE) == harm_gene or \
-      (TABLE != None and NOM_PARA_TABL == "FONCTION_C"):
-      return fonction_c
-   else:
-      return fonction_sdaster
-
-RECU_FONCTION=OPER(nom="RECU_FONCTION",op=90,sd_prod=recu_fonction_prod,
-                   fr="Extraire sous forme d'une fonction, l'évolution d'une grandeur en fonction d'une autre",
-                   reentrant='f',
-            UIinfo={"groupes":("Fonction",)},
-         regles=(UN_PARMI('CHAM_GD','RESULTAT','RESU_GENE','TABLE','BASE_ELAS_FLUI','NAPPE'),),
-
-         CHAM_GD         =SIMP(statut='f',typ=(cham_no_sdaster,cham_elem,),),
-         RESULTAT        =SIMP(statut='f',typ=resultat_sdaster),
-         RESU_GENE       =SIMP(statut='f',typ=(tran_gene, mode_gene, harm_gene)),
-         TABLE           =SIMP(statut='f',typ=(table_sdaster,table_fonction)),
-         BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster),
-         NAPPE           =SIMP(statut='f',typ=nappe_sdaster),
-
-# ======= SENSIBILITE =================================================
-         b_sensibilite   =BLOC(condition="RESULTAT != None",
-                                 fr="Définition des paramètres de sensibilité",
-                                 ang="Definition of sensitivity parameters",
-           regles=(CONCEPT_SENSIBLE('SEPARE'), REUSE_SENSIBLE(),
-                   DERIVABLE('RESULTAT'),),
-           SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
-                                   fr="Liste des paramètres de sensibilité.",
-                                   ang="List of sensitivity parameters"),),
-# ======= ACCES A LA SD RESULTAT =================================================
-         b_acces = BLOC ( condition = "(RESULTAT != None) or (RESU_GENE != None)",
-                          fr="acces a une SD résultat",
-# on ne peut pas mettre de regles, le défaut TOUT_ORDRE est pris en compte dans le fortran
-           TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-           NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-           LIST_ORDRE      =SIMP(statut='f',typ=listis_sdaster ),
-           TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-           INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-           LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
-           FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**'),
-           LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
-           NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-           b_prec = BLOC ( condition = "(INST != None) or (LIST_INST != None) or (FREQ != None) or (LIST_FREQ != None)",
-             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
-             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-             INTERP_NUME     =SIMP(statut='f',typ='TXM',into=("NON","LIN") ),
-           ),
-         ),
-# ======= BASE_ELAS_FLUI =================================================
-         b_base_elas_flui = BLOC ( condition = "BASE_ELAS_FLUI != None",
-                                   fr="Récupération de la fonction à partir d un concept melasflu",
-           regles=(UN_PARMI('TOUT_ORDRE','NUME_ORDRE'),),
-           TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-           NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),
-           NUME_MODE       =SIMP(statut='o',typ='I' ),
-           PARA_X          =SIMP(statut='o',typ='TXM',into=("VITE_FLU",) ),
-           PARA_Y          =SIMP(statut='o',typ='TXM',into=("FREQ","AMOR") ),
-         ),
+# RESPONSABLE PROIX J.M.PROIX
+DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
+                   fr="Définir le comportement d'un monocristal, d'un polycristal ou de groupes de fibres",
+                   reentrant='n',
+            UIinfo={"groupes":("Modélisation",)},
+# on exclut MULTIFBRE de MONOCRISTAL ou POLYCRISTAL car la structure de données n'est pas organisée pareil pour ces cas
+                  regles=(UN_PARMI('MONOCRISTAL','POLYCRISTAL','MULTIFIBRE'),
+                 PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE','MATER_SECT'),
+                         ),
+          MONOCRISTAL    =FACT(statut='f', max='**',
+             MATER           =SIMP(statut='o', typ=mater_sdaster, max=1),
+             ECOULEMENT      =SIMP(statut='o', typ='TXM', max=1,
+                   fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écoulement viscoplastique"),
+             ECRO_ISOT       =SIMP(statut='o', typ='TXM', max=1,
+                   fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage isotrope"),
+             ECRO_CINE       =SIMP(statut='o', typ='TXM', max=1,
+                   fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écrouissage cinématique"),
+             ELAS            =SIMP(statut='f', typ='TXM', max=1,
+                   fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le comportement élastique (un et un seul)"),
+             FAMI_SYST_GLIS  =SIMP(statut='o',typ='TXM', max=1,
+                                into=('BASAL', 'PRISMATIQUE', 'OCTAEDRIQUE', 'PYRAMIDAL1',
+                                'PYRAMIDAL2', 'CUBIQUE1', 'CUBIQUE2', 'MACLAGE', 'JOINT_GRAIN', 'RL', 'UNIAXIAL','BCC24'),),
+                                ),
 
-# ======= TABLE =================================================
-         b_table = BLOC ( condition = "TABLE != None",
-                          fr="Récupération de la fonction à partir d un concept table",
-                          regles=(UN_PARMI('PARA_X','NOM_PARA_TABL'),
-                                  PRESENT_PRESENT('PARA_X','PARA_Y'),),
-           PARA_X        = SIMP(statut='f',typ='TXM',
-                                 fr="1ère colonne de la table qui définit la fonction à récupérer", ),
-           PARA_Y        = SIMP(statut='f',typ='TXM',
-                                 fr="2ème colonne de la table qui définit la fonction à récupérer", ),
-           #b_tabl_fonc = BLOC(condition = "AsType(TABLE) == table_fonction",
-           NOM_PARA_TABL = SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C"),
-                                fr="Nom du paramètre de la table contenant la fonction" ),
-           #),
 
-           FILTRE        = FACT(statut='f',max='**',
-              NOM_PARA        =SIMP(statut='o',typ='TXM' ),
-              CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
-                                    into=("EQ","LT","GT","NE","LE","GE","VIDE",
-                                          "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
-              b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
-                 regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
-                 VALE            =SIMP(statut='f',typ='R' ),
-                 VALE_I          =SIMP(statut='f',typ='I' ),
-                 VALE_C          =SIMP(statut='f',typ='C' ),
-                 VALE_K          =SIMP(statut='f',typ='TXM' ),),
+          POLYCRISTAL    =FACT(statut='f', max='**',
+           regles=(UN_PARMI('ANGL_REP','ANGL_EULER'),),
+             MONOCRISTAL     =SIMP(statut='o', typ=compor_sdaster, max=1),
+             FRAC_VOL  =SIMP(statut='o', typ='R', max=1,fr="fraction volumique de la phase correspondant au monocristal"),
+             ANGL_REP  =SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles nautiques en degrés"),
+             ANGL_EULER=SIMP(statut='f',typ='R',max=3,fr="orientation du monocristal : 3 angles d'Euler   en degrés"),
+                                ),
 
-              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
-           ),
-         ),
 
-# ======= RESULTAT =================================================
-         b_resu = BLOC ( condition = "RESULTAT != None", fr="Opérandes en cas de RESULTAT",
-                         regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
-           NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
-           NOM_PARA_RESU   =SIMP(statut='f',typ='TXM' ),
-           b_cham = BLOC ( condition = "NOM_CHAM != None",
-                           regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'),
-                                   PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'),
-                                   PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'),
-                                   EXCLUS('GROUP_MA','MAILLE'),
-                                   EXCLUS('GROUP_NO','NOEUD'),),
-             NOM_CMP         =SIMP(statut='o',typ='TXM' ),
-             MAILLE          =SIMP(statut='f',typ=ma),
-             GROUP_MA        =SIMP(statut='f',typ=grma),
-             NOEUD           =SIMP(statut='f',typ=no),
-             GROUP_NO        =SIMP(statut='f',typ=grno),
-             POINT           =SIMP(statut='f',typ='I' ),
-             SOUS_POINT      =SIMP(statut='f',typ='I' ),
-           ),
-         ),
+          b_poly      =BLOC( condition = "POLYCRISTAL!='None'",
+          LOCALISATION     =SIMP(statut='f', typ='TXM', max=1, into=('BZ', 'BETA', 'RL',),
+                fr="Donner le nom de la règle de localisation"),
 
-# ======= RESU_GENE =================================================
-         b_tran_gene = BLOC ( condition = "AsType(RESU_GENE) == tran_gene",
-                              fr="Récupération d'une fonction à partir d un concept TRAN_GENE",
-                              regles=(UN_PARMI('NOM_CHAM','NOEUD_CHOC','GROUP_NO_CHOC'),),
-             NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE","PTEM") ),
-             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'),
-                                   EXCLUS('MULT_APPUI','CORR_STAT'),),
-             NOM_CMP         =SIMP(statut='o',typ='TXM' ),
-             NOEUD           =SIMP(statut='f',typ=no),
-             GROUP_NO        =SIMP(statut='f',typ=grno),
-             MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-             CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-             ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,formule)),
-           ),
-           b_choc = BLOC ( condition = "(NOEUD_CHOC != None) or (GROUP_NO_CHOC != None)",
-                           regles=(PRESENT_PRESENT('SOUS_STRUC','INTITULE'),),
-             PARA_X          =SIMP(statut='o',typ='TXM',
-                              into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ),
-             PARA_Y          =SIMP(statut='o',typ='TXM',
-                              into=("INST","FN","FT1","FT2","VN","VT1","VT2","DXLOC","DYLOC","DZLOC") ),
-             LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
-             INTITULE        =SIMP(statut='f',typ='TXM' ),
-             SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),
-           ),
-         ),
-         b_harm_gene = BLOC ( condition = "AsType(RESU_GENE)==harm_gene",
-                              fr="Récupération d'une fonction à partir d un concept HARM_GENE",
-                              regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
-             NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
-             NOM_PARA_RESU   =SIMP(statut='f',typ='TXM' ),
-           b_cham = BLOC ( condition = "NOM_CHAM != None",
-                           regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),),
-             NUME_CMP_GENE   =SIMP(statut='f',typ='I' ),
-             NOM_CMP         =SIMP(statut='f',typ='TXM' ),
-             b_cmp = BLOC ( condition = "NOM_CMP != None",
-                            regles=(UN_PARMI('NOEUD','GROUP_NO'),),
-               NOEUD         =SIMP(statut='f',typ=no),
-               GROUP_NO      =SIMP(statut='f',typ=grno),
+           b_beta      =BLOC( condition = "LOCALISATION=='BETA'",
+             DL            =SIMP(statut='o',typ='R',max=1),
+             DA            =SIMP(statut='o',typ='R',max=1),
              ),
-           ),
-         ),
-         b_mode_gene = BLOC ( condition = "AsType(RESU_GENE)==mode_gene",
-                              fr="Récupération d'une fonction à partir d un concept MODE_GENE",
-                              regles=(UN_PARMI('NOM_CHAM','NOM_PARA_RESU'),),
-             NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
-             NOM_PARA_RESU   =SIMP(statut='f',typ='TXM' ),
-           b_cham = BLOC ( condition = "NOM_CHAM != None",
-                           regles=(UN_PARMI('NUME_CMP_GENE','NOM_CMP'),),
-             NUME_CMP_GENE   =SIMP(statut='f',typ='I' ),
-             NOM_CMP         =SIMP(statut='f',typ='TXM' ),
-             b_cmp = BLOC ( condition = "NOM_CMP != None",
-                            regles=(UN_PARMI('NOEUD','GROUP_NO'),
-                                    UN_PARMI('SQUELETTE','SOUS_STRUC'),),
-               NOEUD         =SIMP(statut='f',typ=no),
-               GROUP_NO      =SIMP(statut='f',typ=grno),
-               SQUELETTE     =SIMP(statut='f',typ=squelette ),
-               SOUS_STRUC    =SIMP(statut='f',typ='TXM' ),  
              ),
-           ),
-         ),
 
-# ======= CHAM_GD =================================================
-         b_cham_gd = BLOC ( condition = "(CHAM_GD != None)", fr="Opérandes en cas de CHAM_GD",
-                            regles=(AU_MOINS_UN('MAILLE','GROUP_MA','GROUP_NO','NOEUD'),
-                                    PRESENT_ABSENT('POINT','NOEUD','GROUP_NO'),
-                                    PRESENT_ABSENT('SOUS_POINT','NOEUD','GROUP_NO'),
-                                    EXCLUS('GROUP_MA','MAILLE'),
-                                    EXCLUS('GROUP_NO','NOEUD'),),
-           NOM_CMP         =SIMP(statut='o',typ='TXM' ),
-           MAILLE          =SIMP(statut='f',typ=ma),
-           GROUP_MA        =SIMP(statut='f',typ=grma),
-           NOEUD           =SIMP(statut='f',typ=no),
-           GROUP_NO        =SIMP(statut='f',typ=grno),
-           POINT           =SIMP(statut='f',typ='I' ),
-           SOUS_POINT      =SIMP(statut='f',typ='I' ),
-         ),
+#####################################################################################
+          GEOM_FIBRE = SIMP(statut='f',max=1,typ=gfibre_sdaster,
+                   fr="Donner le nom du concept regroupant tous les groupes de fibres (issu de DEFI_GEOM_FIBRE)"),
+          MATER_SECT = SIMP(statut='f',max=1,typ=mater_sdaster,
+                   fr="Donner le nom du materiau pour les caracteristiques homogeneisees sur la section"),
+          MULTIFIBRE    = FACT(statut='f',max='**',
+          GROUP_FIBRE        =SIMP(statut='o', typ='TXM', max='**'),
+             MATER           =SIMP(statut='o', typ=mater_sdaster, max=1,
+                                   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")),
+             RELATION        =SIMP(statut='f', typ='TXM', max=1,defaut="ELAS",
+#                                   into=c_relation_into,
+                                  fr="Donner le nom de la relation incrementale pour le groupe de fibres",
+                                 into=(
+                                        "ELAS",
+                                        "ELAS_HYPER",
+                                        "VMIS_ISOT_TRAC",
+                                        "VISC_ISOT_TRAC",
+                                        "VMIS_ISOT_LINE",
+                                        "VISC_ISOT_LINE",
+                                        "VMIS_ISOT_PUIS",
+                                        "VMIS_ECMI_TRAC",
+                                        "VMIS_ECMI_LINE",
+                                        "LABORD_1D",
+                                        "ENDO_FRAGILE",
+                                        "ENDO_ISOT_BETON",
+                                        "ENDO_ORTH_BETON",
+                                        "BETON_REGLE_PR",
+                                        "MAZARS",
+                                        "RUPT_FRAG",
+                                        "VMIS_CINE_LINE",
+                                        "VISC_TAHERI",
+                                        "VISCOCHAB",
+                                        "VMIS_CIN1_CHAB",
+                                        "VMIS_CIN2_CHAB",
+                                        "VISC_CIN1_CHAB",
+                                        "VISC_CIN2_CHAB",
+                                        "ROUSSELIER",
+                                        "ROUSS_PR",
+                                        "ROUSS_VISC",
+                                        "NORTON_HOFF",
+                                        "LEMAITRE",
+                                        "VENDOCHAB",
+                                        "DRUCK_PRAGER",
+                                        "DRUCK_PRAG_N_A",
+                                        "GRANGER_FP",
+                                        "GRANGER_FP_INDT",
+                                        "GRANGER_FP_V",
+                                        "BETON_UMLV_FP",
+                                        "BETON_DOUBLE_DP",
+                                        "KIT_DDI",
+                                        "SANS",
+                                        "CORR_ACIER",
+                                        "ZMAT",
+                                        "GRAN_IRRA_LOG",
+                                     ) ),
+          ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          SANS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          CORR_ACIER      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+          VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
+          VISC_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+          VMIS_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
+          VISC_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+          VMIS_ISOT_PUIS  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
+          VMIS_ECMI_TRAC  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
+          VMIS_ECMI_LINE  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
+          LABORD_1D       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
+          ENDO_FRAGILE    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
+          ENDO_ISOT_BETON =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
+          ENDO_ORTH_BETON =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
+          BETON_REGLE_PR  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          MAZARS          =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
+          RUPT_FRAG       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          VMIS_CINE_LINE  =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
+          VISCOCHAB       =SIMP(statut='c',typ='I',defaut=28,into=(28,)),
+          VMIS_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
+          VMIS_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
+          VISC_CIN1_CHAB  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
+          VISC_CIN2_CHAB  =SIMP(statut='c',typ='I',defaut=14,into=(14,)),
+          VISC_TAHERI     =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
+          ROUSSELIER      =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
+          ROUSS_PR        =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+          ROUSS_VISC      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+          VMIS_POU_LINE   =SIMP(statut='c',typ='I',defaut=9,into=(9,)),
+          VMIS_POU_FLEJOU =SIMP(statut='c',typ='I',defaut=9 ,into=(9,)),
+          ASSE_CORN       =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
+          ARME            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          NORTON_HOFF     =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+          LEMAITRE        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
+          VENDOCHAB       =SIMP(statut='c',typ='I',defaut=10,into=(10,)),
+          GRILLE_ISOT_LINE=SIMP(statut='c',typ='I',defaut=4,into=(4,)),
+          DRUCK_PRAGER  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+          DRUCK_PRAG_N_A  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+          HOEK_BROWN      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+          HOEK_BROWN_EFF  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+          HOEK_BROWN_TOT  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
+          GRANGER_FP      =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
+          GRANGER_FP_INDT =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
+          GRANGER_FP_V    =SIMP(statut='c',typ='I',defaut=55,into=(55,)),
+          BETON_DOUBLE_DP =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
+          BETON_UMLV_FP   =SIMP(statut='c',typ='I',defaut=21,into=(21,)),
+          GRAN_IRRA_LOG   =SIMP(statut='c',typ='I',defaut=4,into=(4,)),
+
+           RELATION_KIT    =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
+                                 into=(
+# MECA KIT_DDI
+                                       "VMIS_ISOT_TRAC",
+                                       "VMIS_ISOT_LINE",
+                                       "VMIS_ISOT_CINE",
+                                       "VMIS_ISOT_PUIS",
+                                       "GRANGER_FP",
+                                       "GRANGER_FP_INDT",
+                                       "GRANGER_FP_V",
+                                       "BETON_UMLV_FP",
+                                       "ROUSS_PR",
+                                       "NADAI_B",
+                                       "BETON_DOUBLE_DP",
+                                       ),),
 
-# ======= NAPPE =================================================
-         b_nappe = BLOC ( condition = "(NAPPE != None)", fr="Opérandes en cas de NAPPE",
-         VALE_PARA_FONC  =SIMP(statut='o',typ='R' ),
-         PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
-         CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-         ),
+# on pourrait ajouter TOUT_GROUP_FIBRE
 
-# ======= SURCHARGE DES ATTRIBUTS =================================================
-         NOM_PARA        =SIMP(statut='f',typ='TXM', into=C_PARA_FONCTION() ),
-         NOM_RESU        =SIMP(statut='f',typ='TXM' ),
-         INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
-         PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
-         PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
+                                ) );
 
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-         INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
-)  ;
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
-#
-# 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.      
-# ======================================================================
-RECU_GENE=OPER(nom="RECU_GENE",op=  76,sd_prod=vect_asse_gene,reentrant='n',
-            UIinfo={"groupes":("Résultats et champs",)},
-               fr="Extraire d'un champ de grandeur (déplacements, vitesses ou accélérations) à partir de résultats"
-                  +" en coordonnées généralisées",
-         RESU_GENE       =SIMP(statut='o',typ=tran_gene ),
-         INST            =SIMP(statut='o',typ='R' ),
-         NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE","ACCE") ),
-         INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
-         CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF" ,into=("ABSOLU","RELATIF") ),
-         PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
-)  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
-#            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.                                 
-#
-# 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 VABHHTS J.PELLET
-RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster,
-         fr="Récupérer dans une table les valeurs d'un paramètre d'une SD Résultat ou d'extraire une table contenue"
-            +" dans une autre SD pour celles qui le permettent",
-         UIinfo={"groupes":("Résultats et champs",)},reentrant='n',
-         CO              =SIMP(statut='o',typ=assd),
-         regles=(UN_PARMI('NOM_TABLE','NOM_PARA')),
-         NOM_TABLE       =SIMP(statut='f',typ='TXM' ),
-         NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),  
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
-)  ;
-#& MODIF COMMANDE  DATE 08/10/2007   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2007  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2004  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     
@@ -22848,170 +23631,258 @@ RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
+# RESPONSABLE ASSIRE A.ASSIRE
 
-RESOUDRE=OPER(nom="RESOUDRE",op=15,sd_prod=cham_no_sdaster,reentrant='f',
-               fr="Résolution par méthode directe un système d'équations linéaires préalablement factorisé par FACT_LDLT"+
-                  "ou Résolution d'un système linéaire par la méthode du gradient conjugué préconditionné",
-               UIinfo={"groupes":("Résolution",)},
-         MATR           =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
-                                               matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
-         CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),
-         CHAM_CINE       =SIMP(statut='f',typ=cham_no_sdaster),
+from Macro.defi_part_feti_ops import defi_part_feti_ops
 
-         # mot-clé commun aux solveurs MUMPS et GCPC:
-         RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6),
+DEFI_PART_FETI=MACRO(nom="DEFI_PART_FETI",op=defi_part_feti_ops,sd_prod=sd_feti_sdaster,
+                     reentrant='n',UIinfo={"groupe":("Maillage",)},
+                     fr="Creation partitionnement en sous-domaines pour FETI",
+         regles=(UN_PARMI('MAILLAGE','MODELE'),),
+         MAILLAGE        =SIMP(statut='f',typ=maillage_sdaster),
+         MODELE          =SIMP(statut='f',typ=modele_sdaster),
+         NB_PART         =SIMP(statut='o',typ='I',val_min=2),
+         EXCIT           =FACT(statut='f',max='**',
+           CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),),
 
-         # mots-clés pour solver GCPC:
-         MATR_PREC       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
-         NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),  
-         REPRISE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+         # Methode de partitionnement
+         METHODE         =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="SCOTCH" ),
+         
+         LOGICIEL      =SIMP(statut='f',typ='TXM'),
 
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-         INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
-)  ;
-#& MODIF COMMANDE  DATE 12/03/2007   AUTEUR DEVESA G.DEVESA 
-#            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.                                 
-#
-# 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 BOYERE E.BOYERE
-def rest_base_phys_prod(RESU_GENE,RESU_PHYS,RESULTAT,**args ):
-  if AsType(RESU_GENE) == tran_gene : return dyna_trans
-  if AsType(RESU_GENE) == mode_gene : return mode_meca
-  if AsType(RESU_GENE) == mode_cycl : return mode_meca
-  if AsType(RESU_GENE) == harm_gene : return dyna_harmo
-  if AsType(RESU_PHYS) == evol_noli : return dyna_trans
-  if AsType(RESULTAT)  == evol_elas      : return evol_elas
-  if AsType(RESULTAT)  == evol_noli      : return evol_noli
-  if AsType(RESULTAT)  == evol_char      : return evol_char
-  if AsType(RESULTAT)  == dyna_trans     : return dyna_trans
-  if AsType(RESULTAT)  == mode_meca      : return mode_meca
-  if AsType(RESULTAT)  == mode_stat_depl : return mode_stat_depl
-  if AsType(RESULTAT)  == base_modale    : return base_modale
-  raise AsException("type de concept resultat non prevu")
+         # Corrige les problemes possibles de non-connexite des sous-domaines
+         CORRECTION_CONNEX    =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
 
-REST_BASE_PHYS=OPER(nom="REST_BASE_PHYS",op=  75,sd_prod=rest_base_phys_prod,
-                    fr="Restituer dans la base physique des résultats en coordonnées généralisées",
-                    reentrant='n',
-            UIinfo={"groupes":("Matrices/vecteurs",)},
-        regles=(UN_PARMI('RESU_GENE','RESU_PHYS','RESULTAT'),
-                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'),
-                EXCLUS('TOUT_INST','NUME_ORDRE','INST','LIST_INST','TOUT_ORDRE'),
-#  Doc U à revoir
-                EXCLUS('MULT_APPUI','CORR_STAT'),
-                EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'),
-                EXCLUS('CORR_STAT','NOEUD','GROUP_NO'),             
-                EXCLUS('NOEUD','GROUP_NO'),
-                EXCLUS('MACR_ELEM_DYNA','BASE_MODALE'),
-                PRESENT_PRESENT('RESULTAT','SQUELETTE'),
-                PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),),
-         RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans,evol_char,
-                                               mode_meca,mode_stat_depl,base_modale) ),
+         # Permet de grouper des mailles dans un meme sous-doamine
+         GROUPAGE        =FACT(statut='f',max='**',
+           GROUP_MA       =SIMP(statut='o',typ=grma,),
+                          ),
+         # Permet d'appliquer des poids sur certaines mailles
+         POIDS_MAILLES   =FACT(statut='f',max='**',
+           GROUP_MA       =SIMP(statut='o',typ=grma,),
+           POIDS          =SIMP(statut='f',typ='I',val_min=2),
+                          ),
+         # Prefixe pour le nom des group_ma definissant les sous-domaines 
+         NOM_GROUP_MA    =SIMP(statut='f',typ='TXM',defaut='SD' ),
+
+         # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees)
+         TRAITER_BORDS   =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ),
          
-         RESU_GENE       =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene) ),
-         RESU_PHYS       =SIMP(statut='f',typ=evol_noli ),
-         BASE_MODALE     =SIMP(statut='f',typ=(base_modale,mode_meca) ),
-         NUME_DDL        =SIMP(statut='f',typ=nume_ddl_sdaster ),
-         MACR_ELEM_DYNA  =SIMP(statut='f',typ=macr_elem_dyna),
-         MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
-         TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),  
-         NUME_MODE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),  
-         TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),  
-         LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
-         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=("ABSOLU","RELATIF") ),
-         PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),  
-         INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
-         MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",   
-                               into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL",                 
-                                     "SIGM_ELNO_DEPL","FORC_NODA",) ),
-         TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-         NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-         GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-         MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-         ACCE_MONO_APPUI =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-         DIRECTION       =SIMP(statut='f',typ='R',min=3,max=3 ),
+         # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords
+         # Note : le calcul FETI sera impossible
+         b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma",
+           NOM_GROUP_MA_BORD  =SIMP(statut='f',typ='TXM'),
+             ),
 
-         CYCLIQUE    =FACT(statut='f',max='**',
-           NB_SECTEUR      =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ),
-           NUME_DIAMETRE    =SIMP(statut='f',typ='I',validators=NoRepeat(),max=1 ),
-           RESULTAT2       =SIMP(statut='f',typ=(evol_elas,evol_noli,dyna_trans,evol_char,
-                                               mode_meca,mode_stat_depl,base_modale) ),
-         ),
+         INFO            =SIMP(statut='f',typ='I',into=(1, 2), defaut=1),
+);
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2004  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 ASSIRE A.ASSIRE
 
-         SQUELETTE       =SIMP(statut='f',typ=squelette ),
-         SOUS_STRUC      =SIMP(statut='f',typ='TXM' ),  
-         SECTEUR         =SIMP(statut='f',typ='I',defaut= 1 ),  
-         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
-)  ;
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
+DEFI_PART_OPS=OPER(nom="DEFI_PART_OPS",op=21,sd_prod=sd_feti_sdaster,
+                    fr="Creation partitionnement en sous-domaines pour FETI",
+                    docu="U4.23.05",reentrant='n',
+                    UIinfo={"groupes":("Résolution",)},
+         MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
+         MAILLAGE        =SIMP(statut='f',typ=(maillage_sdaster) ),
+         NOM             =SIMP(statut='f',typ='TXM',defaut='SD'),
+         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2,3,4) ),
+         DEFI          =FACT(statut='f',max='**',
+           GROUP_MA        =SIMP(statut='o',typ=grma),
+           GROUP_MA_BORD   =SIMP(statut='f',typ=grma),
+         ),
+         EXCIT           =FACT(statut='f',max='**',
+           CHARGE          =SIMP(statut='f',typ=(char_meca,char_cine_meca)),
+         ),
+);
+#& MODIF COMMANDE  DATE 06/05/2008   AUTEUR CNGUYEN C.NGUYEN 
 #            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.                                 
-#
-# 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.      
+# COPYRIGHT (C) 1991 - 2004  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.        
 # ======================================================================
-REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=table_fonction,
-                    reentrant='n',
-            fr="Calculer la réponse d'une structure dans la base physique",
-            UIinfo={"groupes":("Matrices/vecteurs",)},
-         regles=(AU_MOINS_UN('BASE_ELAS_FLUI','MODE_MECA'),),
-         BASE_ELAS_FLUI  =SIMP(statut='f',typ=melasflu_sdaster ),
-         MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
-         BANDE           =SIMP(statut='f',typ='R',min=2,validators=NoRepeat(),max=2    ),  
-         NUME_ORDRE      =SIMP(statut='f',typ='I'      ,validators=NoRepeat(),max='**' ),  
-         INTE_SPEC_GENE  =SIMP(statut='o',typ=table_fonction),
-         NOEUD           =SIMP(statut='o',typ=no   ,max='**'),
-         MAILLE          =SIMP(statut='f',typ=ma   ,max='**'),
-         NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),  
-         NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=7,    
-                               into=("DEPL","VITE","ACCE","EFGE_ELNO_DEPL",
-                                     "SIPO_ELNO_DEPL","SIGM_ELNO_DEPL","FORC_NODA") ),
-         MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc), ),
-         EXCIT           =FACT(statut='f',
-           NOEUD           =SIMP(statut='o',typ=no   ,max='**'),
-           NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),  
+# RESPONSABLE COURTOIS M.COURTOIS
+from Macro.impr_fonction_ops import impr_fonction_ops
+
+IMPR_FONCTION=MACRO(nom="IMPR_FONCTION",op=impr_fonction_ops,sd_prod=None,
+                 fr="Imprime le contenu d'objets de type fonction ou liste de réels dans un fichier destiné à un traceur de courbe",
+            UIinfo={"groupes":("Fonction",)},
+         FORMAT          =SIMP(statut='o',typ='TXM',position='global',defaut='TABLEAU',
+                               into=("TABLEAU","AGRAF","XMGRACE",),),
+         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"),
          ),
-         MOUVEMENT       =SIMP(statut='f',typ='TXM',defaut="ABSOLU",into=("RELATIF","ABSOLU","DIFFERENTIEL") ),
-         OPTION          =SIMP(statut='f',typ='TXM',defaut="DIAG_DIAG",    
-                               into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
+         b_agraf = BLOC(condition = "FORMAT == 'AGRAF'",
+                        fr="Mots-clés propres à AGRAF",
+           UNITE           =SIMP(statut='o',typ='I',defaut=25,
+                                 fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
+           UNITE_DIGR      =SIMP(statut='o',typ='I',defaut=26,
+                                 fr="Unité logique définissant le fichier dans lequel on écrit les directives Agraf"),
+         ),
+         # unite pour TABLEAU dans le bloc de mise en forme spécifique
+
+         COURBE          =FACT(statut='o',max='**',fr="Définition de la fonction à tracer",
+           regles=(UN_PARMI('FONCTION','LIST_RESU','FONC_X','ABSCISSE'),),
+           FONCTION        =SIMP(statut='f',typ=(fonction_sdaster, formule, fonction_c, nappe_sdaster),
+                                 fr="Fonction réelle ou complexe", ),
+           LIST_RESU       =SIMP(statut='f',typ=listr8_sdaster,
+                                 fr="Liste des ordonnees d'une fonction réelle définie par deux listes", ),
+           FONC_X          =SIMP(statut='f',typ=(fonction_sdaster,formule),
+                                 fr="Fonction abscisses d'une fonction paramétrique",),
+           ABSCISSE        =SIMP(statut='f',typ='R',max='**',
+                                 fr="Valeurs des abscisses", ),
+           b_fonction      =BLOC(condition = "FONCTION != None",
+             LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
+           ),
+           b_fonction_c  =BLOC(condition = "AsType(FONCTION) in (fonction_c, formule_c)",
+                                 fr="Fonction complexe définie par le mot-clé fonction",
+             PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
+           ),
+           b_list_resu     =BLOC(condition = "LIST_RESU != None",
+             LIST_PARA       =SIMP(statut='o',typ=listr8_sdaster ),
+           ),
+           b_fonc_x        =BLOC(condition = "FONC_X != None",
+             FONC_Y          =SIMP(statut='o',typ=(fonction_sdaster,formule),fr="Fonction ordonnées d une fonction paramétrique" ),
+             LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
+           ),
+           b_vale_resu     =BLOC(condition = "ABSCISSE != None",
+             ORDONNEE      =SIMP(statut='o',typ='R',max='**',
+                                 fr="Valeurs des ordonnées"),
+           ),
+
+           # mots-clés utilisant uniquement aux formats autres que TABLEAU
+           # mais ce serait trop pénible de devoir les supprimer quand on change de format
+           # donc on ne les met pas dans un bloc
+           # "pseudo" bloc mise en forme :
+               LEGENDE         =SIMP(statut='f',typ='TXM',
+                                    fr="Légende associée à la fonction" ),
+               STYLE           =SIMP(statut='f',typ='I',val_min=0,
+                                    fr="Style de la ligne représentant la fonction",),
+               COULEUR         =SIMP(statut='f',typ='I',val_min=0,
+                                    fr="Couleur associée à la fonction",),
+               MARQUEUR        =SIMP(statut='f',typ='I',val_min=0,
+                                    fr="Type du marqueur associé à la fonction",),
+               FREQ_MARQUEUR   =SIMP(statut='f',typ='I',defaut=0,
+                                    fr="Fréquence d impression du marqueur associé à la fonction", ),
+           # fin bloc mise en forme
+           
+           TRI             =SIMP(statut='f',typ='TXM',defaut="N",
+                                 fr="Choix du tri effectué sur les abscisses ou sur les ordonnées",
+                                 into=("N","X","Y","XY","YX") ),
+         ),
+         # Mise en page du tableau ou du graphique
+         b_tableau = BLOC(condition = "FORMAT == 'TABLEAU'",
+                          fr="Mots-clés propres au format Tableau",
+           UNITE           =SIMP(statut='o',typ='I',defaut=8,
+                                 fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit"),
+           TITRE           =SIMP(statut='f',typ='TXM',
+                                 fr="Titre associé au graphique" ),
+           SOUS_TITRE      =SIMP(statut='f',typ='TXM',
+                                 fr="Sous-titre du graphique" ),
+           SEPARATEUR      =SIMP(statut='f',typ='TXM',defaut=' ',
+                                 fr="Séparateur des colonnes du tableau (ex : ' ', ';'...)"),
+           COMMENTAIRE     =SIMP(statut='f',typ='TXM',defaut='#',
+                                 fr="Caractère indiquant au traceur de fonction que la ligne peut etre ignorée"),
+           COMM_PARA       =SIMP(statut='f',typ='TXM',defaut='',
+                                 fr="Caractère utilisé pour commentariser la ligne des labels de colonnes"),
+           DEBUT_LIGNE     =SIMP(statut='f',typ='TXM',defaut='',
+                                 fr="Caractère de debut de ligne"),
+           FIN_LIGNE       =SIMP(statut='f',typ='TXM',defaut='\n',
+                                 fr="Caractère de fin de ligne"),
+         ),
+         b_graphique = BLOC(condition = "FORMAT != 'TABLEAU'",
+                        fr="Mise en page du graphique",
+           TITRE           =SIMP(statut='f',typ='TXM',
+                                 fr="Titre associé au graphique" ),
+           SOUS_TITRE      =SIMP(statut='f',typ='TXM',
+                                 fr="Sous-titre du graphique" ),
+           BORNE_X         =SIMP(statut='f',typ='R',min=2,max=2,
+                                 fr="Intervalles de variation des abscisses"),
+           BORNE_Y         =SIMP(statut='f',typ='R',min=2,max=2,
+                                 fr="Intervalles de variation des ordonnées"),
+           ECHELLE_X       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
+                                 fr="Type d'échelle pour les abscisses" ),
+           ECHELLE_Y       =SIMP(statut='f',typ='TXM',defaut="LIN",into=("LIN","LOG"),
+                                 fr="Type d'échelle pour les ordonnées" ),
+           GRILLE_X        =SIMP(statut='f',typ='R',max=1,val_min=0.,
+                                 fr="Pas du quadrillage vertical" ),
+           GRILLE_Y        =SIMP(statut='f',typ='R',max=1,val_min=0.,
+                                 fr="Pas du quadrillage horizontal" ),
+           LEGENDE_X       =SIMP(statut='f',typ='TXM',
+                                 fr="Légende associée à l'axe des abscisses" ),
+           LEGENDE_Y       =SIMP(statut='f',typ='TXM',
+                                 fr="Légende associée à l'axe des ordonnées" ),
+         ),
+         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 26/06/2007   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR GENIAUT S.GENIAUT 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2004  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 GENIAUT S.GENIAUT
+
+MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu="U4.44.12-e",reentrant='f',
+            UIinfo={"groupes":("Modélisation",)},
+                           fr="Engendrer ou enrichir une structure de donnees en affectant les cham_gd associes",
+                           
+    MODELE_IN       =SIMP(statut='o',typ=modele_sdaster,min=1,max=1,),
+    FISSURE         =SIMP(statut='o',typ=fiss_xfem,min=1,max='**',),
+    CRITERE         =SIMP(statut='f',typ='R',defaut=1.67E-8),
+    INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)),
+    CONTACT         =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON"),min=1,max=1,),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2005  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     
@@ -23026,203 +23897,58 @@ REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=table_fonction,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
-# -*- coding: iso-8859-1 -*-
-
-from Macro.simu_point_mat_ops import simu_point_mat_ops
-
-SIMU_POINT_MAT=MACRO(nom="SIMU_POINT_MAT", op=simu_point_mat_ops,sd_prod=table_sdaster,
-                   UIinfo={"groupes":("Résolution",)},
-                   fr="Calcul de l'évolution mécanique, en quasi-statique,"
-                      +" d'un point matériel en non linéaire",
-   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_POUTRE_GR","CABLE","ELAS_HYPER")),
-           ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-           ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-           ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-           ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-           DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
-         ),
-   MATER           =SIMP(statut='o',typ=mater_sdaster,max=30),
-   INCREMENT       =FACT(statut='o',
-           LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
-           NUME_INST_INIT  =SIMP(statut='f',typ='I'),
-           INST_INIT       =SIMP(statut='f',typ='R'),
-           NUME_INST_FIN   =SIMP(statut='f',typ='I'),
-           INST_FIN        =SIMP(statut='f',typ='R'),
-           PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
-           # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
-           SUBD_METHODE    =SIMP( statut='f',typ='TXM',
-              into =("AUCUNE","UNIFORME","EXTRAPOLE"),
-              defaut="AUCUNE",
-              fr="Méthode de subdivision des pas de temps en cas de non-convergence"
-           ),
-           b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
-             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
-             SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
-                fr="Coefficient multiplicateur de la 1ère subdivision"),
-             SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
-                fr="Nombre de subdivision d'un pas de temps"),
-             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
-                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
-             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
-                fr="Pas de temps en dessous duquel on ne subdivise plus"),
-           ),
-           b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
-             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
-             SUBD_OPTION    =SIMP(statut='f',typ='TXM',
-                into =("IGNORE_PREMIERES","GARDE_DERNIERES",), 
-                defaut="IGNORE_PREMIERES",
-                fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
-             SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
-                fr="Les n premières itérations sont ignorées pour l'extrapolation"),
-             SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
-                fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
-             SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
-                fr="Nombre de subdivision d'un pas de temps en cas divergence"),
-             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
-                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
-             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
-                fr="Pas de temps en dessous duquel on ne subdivise plus"),
-             SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
-                fr="% itération autorisée en plus"),
-           ),
-           # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS 
-         ),
-   NEWTON          =FACT(statut='d',
-           PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE","EXTRAPOL") ),
-           MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
-           PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
-           REAC_ITER       =SIMP(statut='f',typ='I',defaut=1),
-           REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
-         ),
-   RECH_LINEAIRE   =FACT(statut='f',                                          
-     RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),               
-     ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),                     
-     ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),                    
-     PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),                 
-     RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),                 
-     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.),      
-   ),                                                                         
-   CONVERGENCE     =FACT(statut='d',
-     regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_RELA'),),
-     SIGM_REFE       =SIMP(statut='f',typ='R'),
-     EPSI_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'),
-     ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=50),
-     ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
-     ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
-   ),
-   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.0E-3),
-     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),
-                           ),
-         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),
-                           ),
-          VARI_INIT=FACT(statut='f',
-                 VALE    = SIMP(statut='o',typ='R',max='**'),
-                            ),
-             ),
-   INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
-)
+# RESPONSABLE GENIAUT S.GENIAUT
+POST_CHAM_XFEM=OPER(nom="POST_CHAM_XFEM",op= 196,sd_prod=evol_noli,
+                    reentrant='n',UIinfo={"groupes":("Post traitements",)},
+            fr="Calcul des champs DEPL et SIEF_ELGA sur le maillage fissuré",
+    MAILLAGE_SAIN = SIMP(statut='o',typ=maillage_sdaster),
+    MAILLAGE_FISS = SIMP(statut='o',typ=maillage_sdaster),
+    NOM_CHAM      = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","SIEF_ELGA","VARI_ELGA"),),
+    MODELE        = SIMP(statut='o',typ=modele_sdaster,),
+    RESULTAT      = SIMP(statut='o',typ=resultat_sdaster),
+      b_elga      = BLOC(condition = "NOM_CHAM in ('SIEF_ELGA','VARI_ELGA') or \
+                                      (type(NOM_CHAM)==type(()) and 'SIEF_ELGA' in NOM_CHAM) or \
+                                      (type(NOM_CHAM)==type(()) and 'VARI_ELGA' in NOM_CHAM)",
+      MODELE_VISU = SIMP(statut='o',typ=modele_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
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2005  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 GENIAUT S.GENIAUT
+POST_MAIL_XFEM=OPER(nom="POST_MAIL_XFEM",op= 187,sd_prod=maillage_sdaster,
+                    reentrant='n',UIinfo={"groupes":("Maillage",)},
+            fr="Crée un maillage se conformant à la fissure pour le post-traitement des éléments XFEM",
+    MODELE        = SIMP(statut='o',typ=modele_sdaster),
+    MAILLAGE_SAIN = SIMP(statut='o',typ=maillage_sdaster),
+    PREF_NOEUD_X   =SIMP(statut='f',typ='TXM',defaut="NX",validators=LongStr(1,2),),
+    PREF_NOEUD_M   =SIMP(statut='f',typ='TXM',defaut="NM",validators=LongStr(1,2),),
+    PREF_NOEUD_P   =SIMP(statut='f',typ='TXM',defaut="NP",validators=LongStr(1,2),),
+    PREF_MAILLE_X  =SIMP(statut='f',typ='TXM',defaut="MX",validators=LongStr(1,2),),
+    TITRE         = SIMP(statut='f',typ='TXM',max='**'),
+    INFO           =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
 
-#& MODIF COMMANDE  DATE 15/05/2006   AUTEUR ASSIRE A.ASSIRE 
+);                     
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2005  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     
@@ -23237,385 +23963,262 @@ SIMU_POINT_MAT=MACRO(nom="SIMU_POINT_MAT", op=simu_point_mat_ops,sd_prod=table_s
 # 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 Macro.info_fonction_ops import info_fonction_ops
+def info_fonction_prod(self,ECART_TYPE,RMS,NOCI_SEISME,MAX,NORME, **args):
+   if (RMS         != None): return table_sdaster
+   if (MAX         != None): return table_sdaster
+   if (NOCI_SEISME != None): return table_sdaster
+   if (ECART_TYPE  != None): return table_sdaster
+   if (NORME       != None): return table_sdaster
+   raise AsException("type de concept resultat non prevu")
 
-from Macro.stanley_ops import stanley_ops
-
-STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None,
-                       reentrant='n',
-              UIinfo={"groupes":("Outils métier",)},
-                       fr="Outil de post-traitement interactif Stanley ",
-         RESULTAT        =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther,mode_meca,mode_stat,dyna_harmo,dyna_trans) ),
-         MODELE          =SIMP(statut='f',typ=modele_sdaster),
-         CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
-         CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
-         DISPLAY         =SIMP(statut='f',typ='TXM'),
-         UNITE_VALIDATION=SIMP(statut='c',typ='I',val_min=10,val_max=90,
-                               fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit les md5"),
-
-)  ;
-#& MODIF COMMANDE  DATE 23/10/2007   AUTEUR BOITEAU O.BOITEAU 
-#            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.
-#
-# 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 MABBAS M.ABBAS
-STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
-                   fr="Calcul de l'évolution mécanique ou thermo-hydro-mécanique couplée, en quasi-statique,"
-                      +" d'une structure en non linéaire",
-                   reentrant='f',
-            UIinfo={"groupes":("Résolution",)},
-         regles=(AU_MOINS_UN('COMP_INCR','COMP_ELAS'),
-                 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),
-         EXCIT           =FACT(statut='o',max='**',
-           CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
-           FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-           TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
-                                 into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
-         ),
-         SOUS_STRUC      =FACT(statut='f',min=01,max='**',
-                regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
-                CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
-                TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-                SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
-                FONC_MULT   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-              ),
-         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 ),
-           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")),
-           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")),
-           ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-           ELAS_VMIS_TRAC  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-           ELAS_VMIS_LINE  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-           ELAS_VMIS_PUIS  =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-           ELAS_HYPER      =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-           ELAS_POUTRE_GR  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
-           CABLE           =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-           DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
-      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='**'),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-         ),
-         b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
-           ETAT_INIT       =FACT(statut='o',
-             regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',),
-                     EXCLUS('EVOL_NOLI','DEPL',),
-                     EXCLUS('EVOL_NOLI','SIGM',),
-                     EXCLUS('EVOL_NOLI','VARI',),
-                     EXCLUS('NUME_ORDRE','INST'), ),
-             DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
-             SIGM            =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
-             VARI            =SIMP(statut='f',typ=cham_elem),
-             EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
-             NUME_ORDRE      =SIMP(statut='f',typ='I'),
-             INST            =SIMP(statut='f',typ='R'),
-             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
-             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-             NUME_DIDI       =SIMP(statut='f',typ='I'),
-             INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
-         ),),
-         b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
-           ETAT_INIT       =FACT(statut='f',
-             regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',),
-                     EXCLUS('EVOL_NOLI','DEPL',),
-                     EXCLUS('EVOL_NOLI','SIGM',),
-                     EXCLUS('EVOL_NOLI','VARI',),
-                     EXCLUS('NUME_ORDRE','INST'), ),
-             DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
-             SIGM            =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
-             VARI            =SIMP(statut='f',typ=cham_elem),
-             EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
-             NUME_ORDRE      =SIMP(statut='f',typ='I'),
-             INST            =SIMP(statut='f',typ='R'),
-             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
-             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-             NUME_DIDI       =SIMP(statut='f',typ='I'),
-             INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
-         ),),
-         INCREMENT       =FACT(statut='o',
-           regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
-                   EXCLUS('NUME_INST_FIN','INST_FIN'),),
-           LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
-           EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
-                                 into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
-           NUME_INST_INIT  =SIMP(statut='f',typ='I'),
-           INST_INIT       =SIMP(statut='f',typ='R'),
-           NUME_INST_FIN   =SIMP(statut='f',typ='I'),
-           INST_FIN        =SIMP(statut='f',typ='R'),
-           PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
-           # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
-           SUBD_METHODE    =SIMP( statut='f',typ='TXM',
-              into =("AUCUNE","UNIFORME","EXTRAPOLE"),
-              defaut="AUCUNE",
-              fr="Méthode de subdivision des pas de temps en cas de non-convergence"
-           ),
-           b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
-             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
-             SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
-                fr="Coefficient multiplicateur de la 1ère subdivision"),
-             SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
-                fr="Nombre de subdivision d'un pas de temps"),
-             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
-                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
-             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
-                fr="Pas de temps en dessous duquel on ne subdivise plus"),
-           ),
-           b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
-             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
-             SUBD_OPTION    =SIMP(statut='f',typ='TXM',
-                into =("IGNORE_PREMIERES","GARDE_DERNIERES",),
-                defaut="IGNORE_PREMIERES",
-                fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
-             SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
-                fr="Les n premières itérations sont ignorées pour l'extrapolation"),
-             SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
-                fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
-             SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
-                fr="Nombre de subdivision d'un pas de temps en cas divergence"),
-             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
-                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
-             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
-                fr="Pas de temps en dessous duquel on ne subdivise plus"),
-             SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
-                fr="% itération autorisée en plus"),
-           ),
-           # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
-           OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
-           NOM_CHAM        =SIMP(statut='f',typ='TXM',),
-           NOM_CMP         =SIMP(statut='f',typ='TXM',),
-           VALE            =SIMP(statut='f',typ='R'),
-         ),
-         NEWTON          =FACT(statut='d',
-           REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
-           PREDICTION      =SIMP(statut='f',typ='TXM',into=("DEPL_CALCULE","TANGENTE","ELASTIQUE","EXTRAPOL") ),
-           MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
-           PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
-           REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
-           REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
-           EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
-         ),
-         RECH_LINEAIRE   =FACT(statut='f',
-           METHODE         =SIMP(statut='f',typ='TXM',defaut="CORDE",into=("CORDE","MIXTE") ),         
-           RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-1 ),
-           ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 3),
-           ITER_LINE_CRIT  =SIMP(statut='f',typ='I',defaut= 20),
-           PAS_MINI_CRIT   =SIMP(statut='f',typ='R',defaut=0.0E+0),
-           RHO_MIN         =SIMP(statut='f',typ='R',defaut=1.0E-2),
-           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.),
-         ),
-         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","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
-           COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
-           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'),
-           ETA_PILO_R_MIN  =SIMP(statut='f',typ='R'),
-           PROJ_BORNES     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
-           SELECTION       =SIMP(statut='f',typ='TXM',defaut="NORM_INCR_DEPL", into=("RESIDU","ANGL_INCR_DEPL","NORM_INCR_DEPL") ),
-           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='**'),
-           NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
-           NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
-                         ),
-         CONVERGENCE     =FACT(statut='d',
-           regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_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'),),
-             SIGM_REFE       =SIMP(statut='f',typ='R'),
-             EPSI_REFE       =SIMP(statut='f',typ='R'),
-             FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
-             FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
-             FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),
-             VARI_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'),
-           ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
-           ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
-           ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
+INFO_FONCTION=MACRO(nom="INFO_FONCTION",op=info_fonction_ops,sd_prod=info_fonction_prod
+                    ,fr="Opérations mathématiques sur des concepts de type fonction, fonction_c ou nappe",
+                     reentrant='n',
+            UIinfo={"groupes":("Fonction",)},
+         regles=(UN_PARMI('MAX','RMS','NOCI_SEISME','NORME','ECART_TYPE',),),
+         RMS             =FACT(statut='f',fr="Valeur RMS d'une fonction",max='**',
+           METHODE         =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
+           FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
+           INST_INIT       =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
+           INST_FIN        =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
+           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3,val_min=0.E+0 ),
          ),
-         SOLVEUR         =FACT(statut='d',
-           METHODE=SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS","FETI") ),
-           b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
-           ),
-           b_ldlt         =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
-           ),
-           b_ldlt_mult    =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' or METHODE == 'FETI'",
-                                   fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
-             NPREC           =SIMP(statut='f',typ='I',defaut= 8 ),
-             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") ),
-             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
-             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
+         NOCI_SEISME     =FACT(statut='f',
+           regles=(UN_PARMI('FONCTION','SPEC_OSCI',),),
+           FONCTION        =SIMP(statut='f',typ=fonction_sdaster ),
+           SPEC_OSCI       =SIMP(statut='f',typ=nappe_sdaster ),
+           b_option_f      =BLOC(condition="""FONCTION !=None""",
+             OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",validators=NoRepeat(),max='**',
+                                   into=("INTE_ARIAS","POUV_DEST","INTE_SPEC","VITE_ABSO_CUMU",
+                                         "DUREE_PHAS_FORT","MAXI","ACCE_SUR_VITE","TOUT",), ),
+             b_amor_red          =BLOC(condition="""OPTION in ("TOUT", "INTE_SPEC") """,
+                AMOR_REDUIT     =SIMP(statut='o',typ='R'),),
+             b_pesanteur         =BLOC(condition="""OPTION in ("TOUT", "INTE_ARIAS", "POUV_DEST", "DUREE_PHAS_FORT") """,
+                PESANTEUR       =SIMP(statut='o',typ='R'),),
            ),
-           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")),
-             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,),
-             RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
-             PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
-                                   into=("CENTRALISE","DISTRIBUE_MAILLE","DISTRIBUE_SD")),
-             PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=0,min=0),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
-             ),
-           b_feti          =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1",
-             PARTITION       =SIMP(statut='o',typ=sd_feti_sdaster),
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
-             RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6,val_min=0.),
-             NMAX_ITER       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
-             REAC_RESI       =SIMP(statut='f',typ='I',defaut=0,val_min=0),
-             TYPE_REORTHO_DD =SIMP(statut='f',typ='TXM',defaut="GSM",into=("SANS","GS","GSM","IGSM") ),
-             NB_REORTHO_DD   =SIMP(statut='f',typ='I',defaut=0,val_min=0),
-             NB_REORTHO_INST =SIMP(statut='f',typ='I',defaut=0,val_min=0),
-             PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LUMPE",into=("LUMPE","SANS") ),
-             SCALING         =SIMP(statut='f',typ='TXM',defaut="MULT",into=("SANS","MULT") ),
-             VERIF_SDFETI    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
-             TEST_CONTINU    =SIMP(statut='f',typ='R',defaut=1.E-8,val_min=0.),
-             INFO_FETI       =SIMP(statut='f',typ='TXM',defaut='FFFFFFFFFFFFFFFFFFFFFFFF'),
-             STOCKAGE_GI     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","CAL") ),
-             NB_SD_PROC0     =SIMP(statut='f',typ='I',defaut=0,val_min=0),
-             ACCELERATION_SM =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+           b_option_n      =BLOC(condition="""SPEC_OSCI !=None""",
+             OPTION          =SIMP(statut='f',typ='TXM',defaut="INTE_SPEC",into=("INTE_SPEC",), ),
+             NATURE          =SIMP(statut='o',typ='TXM',into=("DEPL","VITE","ACCE") ),
+             AMOR_REDUIT     =SIMP(statut='o',typ='R'), ),
+           INST_INIT       =SIMP(statut='f',typ='R'),
+           INST_FIN        =SIMP(statut='f',typ='R'),
+           COEF            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
+           FREQ_INIT       =SIMP(statut='f',typ='R',defaut= 4.E-1 ),
+           FREQ_FIN        =SIMP(statut='f',typ='R',defaut= 10.E+0 ),
+           LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
+           FREQ            =SIMP(statut='f',typ='R',max='**'),
+           NORME           =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
+           BORNE_INF       =SIMP(statut='f',typ='R',defaut= 0.05E+0 ),
+           BORNE_SUP       =SIMP(statut='f',typ='R',defaut= 0.95E+0 ),
+           b_acce_reel     =BLOC(condition="(INST_INIT != None)or(INST_FIN != None)or(FREQ_INIT != None)or(FREQ_FIN != None)",
+             PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,val_min=0.E+0),
+             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
            ),
-           SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
          ),
-         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.0E-3),
-           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")),
+         MAX             =FACT(statut='f',fr="Extrémas locaux d'une fonction",
+           FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ),
          ),
-         OBSERVATION     =FACT(statut='f',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'),
-                                                  PRESENT_PRESENT('MAILLE','POINT'),),
-             NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-             GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-             POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
-             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-             NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
-                                   into=("DEPL","VITE","ACCE","SIEF_ELGA",
-                                         "VARI_ELGA","FORC_NODA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU",)),
-             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-             NUME_SUIVI      =SIMP(statut='o',typ='I' ,min=1,max=4),
-             VALE_MAX        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,into=("OUI",) ),
-             VALE_MIN        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,into=("OUI",) ),),
-         b_non_suivi      =BLOC(condition = "SUIVI_DDL == 'NON' ",
-                                regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),PRESENT_PRESENT('MAILLE','POINT'),),
-             NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-             GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-             POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
-             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-             NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE","SIEF_ELGA",
-                                              "VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU","VALE_CONT")),
-             INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
-             LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
-             PAS_OBSE        =SIMP(statut='f',typ='I'),
-             LIST_ARCH       =SIMP(statut='f',typ=listis_sdaster),
-             PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
-             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),),
+         NORME           =FACT(statut='f',fr="Norme L2 d'une fonction",
+            FONCTION      =SIMP(statut='o', typ=nappe_sdaster),
+         ),     
+         ECART_TYPE      =FACT(statut='f',fr="Ecart-type d'une fonction",
+            METHODE       =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
+            FONCTION      =SIMP(statut='o',typ=fonction_sdaster),
+            INST_INIT     =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
+            INST_FIN      =SIMP(statut='f',typ='R',fr="Instant final définissant la fin du signal" ),
+            CRITERE       =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+            PRECISION     =SIMP(statut='f',typ='R',defaut= 1.E-3,val_min=0.E+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
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2005  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.        
+# ======================================================================
+# -*- coding: iso-8859-1 -*-
+# RESPONSABLE COURTOIS M.COURTOIS
+
+def calc_table_prod(self, TABLE, ACTION, **kargs):
+   """Typage du concept produit.
+   """
+   l_typ = [AsType(TABLE),]
+   for mcf in ACTION:
+      dmc = mcf.cree_dict_valeurs(mcf.mc_liste)
+      if dmc.get('TABLE') != None:
+         l_typ.append(AsType(dmc['TABLE']))
+   # une table_fonction étant une table
+   if table_fonction in l_typ:
+      return table_fonction
+   else:
+      return table_sdaster
+
+
+from Macro.calc_table_ops import calc_table_ops
+
+CALC_TABLE=MACRO(nom="CALC_TABLE",op=calc_table_ops, sd_prod=calc_table_prod,
+                 fr="Opérations sur une table",
+                 reentrant='f',
+   regles=(DERIVABLE('TABLE'),),
+   TABLE  = SIMP(statut='o',typ=table_sdaster),
+   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',)),
+      
+      b_filtre = BLOC(condition="OPERATION == 'FILTRE'",
+                      fr="Sélectionne les lignes de la table vérifiant un critère",
+         NOM_PARA  = SIMP(statut='o',typ='TXM'),
+         CRIT_COMP = SIMP(statut='f',typ='TXM',defaut="EQ",
+                          into=('EQ','NE','GT','LT','GE','LE','REGEXP',
+                                'VIDE','NON_VIDE','MAXI','ABS_MAXI','MINI','ABS_MINI'),),
+         b_vale = BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
+            regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
+            VALE   = SIMP(statut='f',typ='R',max='**'),
+            VALE_I = SIMP(statut='f',typ='I',max='**'),
+            VALE_C = SIMP(statut='f',typ='C',max='**'),
+            VALE_K = SIMP(statut='f',typ='TXM',max='**'),
          ),
+         b_regexp = BLOC(condition = "CRIT_COMP == 'REGEXP'",
+            VALE_K = SIMP(statut='f',typ='TXM',max='**'),
+         ),
+         b_crit = BLOC(condition = "CRIT_COMP in ('EQ','NE')",
+            CRITERE   = SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+            PRECISION = SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
+         ),
+      ),
+      
+      b_extr = BLOC(condition="OPERATION ==  'EXTR'",
+                    fr="Extrait une ou plusieurs colonnes de la table",
+         NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
+                         fr="Noms des colonnes à extraire"),
+      ),
+   
+      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,
+                         fr="Couple (ancien nom du paramètre, nouveau nom du paramètre)",),
+      ),
+   
+      b_tri = BLOC(condition="OPERATION == 'TRI'",
+                   fr="Ordonne les lignes de la table selon les valeurs d'un ou plusieurs paramètres",
+         NOM_PARA = SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**'),
+         ORDRE    = SIMP(statut='f',typ='TXM',defaut="CROISSANT",
+                         into=("CROISSANT","DECROISSANT") ),
+      ),
+      
+      b_comb = BLOC(condition="OPERATION == 'COMB'",
+                    fr="Combine deux tables ayant éventuellement des paramètres communs",
+         TABLE    = SIMP(statut='o',typ=table_sdaster,
+                         fr="Table dont les colonnes vont venir surcharger la table initiale"),
+         NOM_PARA = SIMP(statut='f',typ='TXM',max='**',
+                         fr="Noms des paramètres dont les valeurs doivent etre identiques dans les deux tables "\
+                            "pour que les colonnes soient combinées"),
+      ),
+      
+      b_append = BLOC(condition="OPERATION == 'AJOUT'",
+                    fr="Ajoute une ligne à la table initiale",
+         NOM_PARA = SIMP(statut='o',typ='TXM',max='**',
+                         fr="Noms des paramètres dont les valeurs sont fournies sous VALE"),
+         VALE     = SIMP(statut='o',typ=assd,max='**', fr='Valeurs des paramètres'),
+      ),
+      
+      b_oper = BLOC(condition="OPERATION == 'OPER'",
+                    fr="Applique une formule dans laquelle les variables sont les paramètres de la table",
+         FORMULE  = SIMP(statut='o',typ=formule,
+                         fr="Formule à appliquer aux colonnes de la table"),
+         NOM_PARA = SIMP(statut='o',typ='TXM',
+                         fr="Nom de la nouvelle colonne"),
+      ),
+   ),
+   
+   SENSIBILITE = SIMP(statut='f',typ=(para_sensi,theta_geom),max=1,
+                      fr="Paramètre de sensibilité",
+                      ang="Sensitivity parameter"),
+   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
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2005  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 ASSIRE A.ASSIRE
 
-         AFFICHAGE      = FACT(statut='f',max=16,
+DEFI_PART_PA_OPS=PROC(nom="DEFI_PART_PA_OPS",op=29,
+                    fr="Creation partitionnement en sous-domaines pour FETI",
+                    docu="U4.00.00",
+                    UIinfo={"groupes":("Résolution",)},
+         MAILLAGE        =SIMP(statut='o',typ=(maillage_sdaster,squelette) ),
+         MODELE          =SIMP(statut='f',typ=(modele_sdaster)),
+         NB_PART         =SIMP(statut='o',typ='I',),
 
-            UNITE       = SIMP(statut='f',typ='I',val_min=1),
+         # Methode de partitionnement
+         METHODE         =SIMP(statut='f',typ='TXM',into=("PMETIS","SCOTCH","KMETIS",), defaut="SCOTCH" ),
+         
+         LOGICIEL      =SIMP(statut='f',typ='TXM'),
 
-            LONG_R      = SIMP(statut='f',typ='I',defaut=12,val_min=1,val_max=12),
-            PREC_R      = SIMP(statut='f',typ='I',defaut=5, val_min=1,val_max=8),
-            LONG_I      = SIMP(statut='f',typ='I',defaut=6, val_min=1,val_max=12),
+         # Corrige les problemes possibles de non-connexite des sous-domaines
+         CORRECTION_CONNEX    =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
 
-            NOM_COLONNE = SIMP(statut='o',typ='TXM',defaut="STANDARD",
-                                into=("STANDARD","MINIMUM",
-                                      "ITER_NEWT",
-                                      "INCR_TPS",
-                                      "RESI_RELA","RELA_NOEU",
-                                      "RESI_MAXI","MAXI_NOEU",
-                                      "RESI_REFE","REFE_NOEU",
-                                      "RELI_ITER","RELI_COEF",
-                                      "PILO_PARA",
-                                      "LAGR_ECAR","LAGR_INCR","LAGR_ITER",
-                                      "MATR_ASSE",
-                                      "ITER_DEBO",
-                                      "CTCD_ITER","CTCD_INFO","CTCD_GEOM","CTCD_NOEU",
-                                      "CTCC_GEOM","CTCC_FROT","CTCC_CONT",
-                                      "SUIV_1","SUIV_2","SUIV_3","SUIV_4","ITER_FETI",
-                                     ),
-                               ),
-            b_residu    = BLOC(condition = " NOM_COLONNE == 'RESI_RELA' or \
-                    NOM_COLONNE == 'RESI_MAXI' or\
-                    NOM_COLONNE == 'RESI_REFE' or\
-                    NOM_COLONNE == 'CTCD_GEOM' or\
-                    NOM_COLONNE == 'STANDARD' ",
-                            INFO_RESIDU = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
+         # Permet de grouper des mailles dans un meme sous-doamine
+         GROUPAGE        =FACT(statut='f',max='**',
+           GROUP_MA       =SIMP(statut='o',typ=grma,),
                           ),
-         ),
+         # Permet d'appliquer des poids sur certaines mailles
+         POIDS_MAILLES   =FACT(statut='f',max='**',
+           GROUP_MA       =SIMP(statut='o',typ=grma,),
+           POIDS          =SIMP(statut='f',typ='I'),
+                          ),
+         # Prefixe pour le nom des group_ma definissant les sous-domaines 
+         NOM_GROUP_MA    =SIMP(statut='f',typ='TXM',defaut='SD' ),
 
+         # Traiter les mailles de bords (elles sont enlevees du graphe puis reinjectees)
+         TRAITER_BORDS   =SIMP(statut='f',typ='TXM',defaut='OUI',into=('OUI','NON') ),
 
+         # Si le mot-clé suivant est renseigné, crée de nouveau group_ma a partir des bords
+         # Note : le calcul FETI sera impossible
+         b_traiter_bords =BLOC(condition="TRAITER_BORDS == 'OUI'", fr="Crée t on des nouveaux group_ma",
+           NOM_GROUP_MA_BORD  =SIMP(statut='f',typ='TXM'),
+             ),
 
-         CRIT_FLAMB     =FACT(statut='f',min=1,max=1,
-           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"),
-         ),
-           SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
-                               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='**' ),
- )
+         INFO            =SIMP(statut='f',typ='I',into=(1, 2), defaut=1),
 
-#& MODIF COMMANDE  DATE 19/11/2007   AUTEUR COURTOIS M.COURTOIS 
+);
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2005  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     
@@ -23630,471 +24233,479 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
+# RESPONSABLE ANDRIAM H.ANDRIAMBOLOLONA
 
-# RESPONSABLE MCOURTOI M.COURTOIS
-
-from Macro.test_fichier_ops import test_fichier_ops
-
-TEST_FICHIER=MACRO(nom="TEST_FICHIER", op=test_fichier_ops,
-                   UIinfo={"groupes":("Impression",)},
-                   fr="Tester la non régression de fichiers produits par des commandes aster",
-   FICHIER          =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)),
-   EXPR_IGNORE      =SIMP(statut='f',typ='TXM',max='**',
-                          fr="Liste d'expressions régulières permettant d'ignorer certaines lignes"),
-
-   TYPE_TEST       =SIMP(statut='f',typ='TXM',defaut='SOMM',into=("SOMM_ABS","SOMM","MAXI","MINI","MAXI_ABS","MINI_ABS")),
-   NB_VALE         =SIMP(statut='o',typ='I',),
-   VALE            =SIMP(statut='f',typ='R',max='**'),
-   VALE_K          =SIMP(statut='f',typ='TXM'),
-
-   CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU")),
-   PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3),
-
-   REFERENCE       =SIMP(statut='f',typ='TXM',
-                         into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
-
-   b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
-      VERSION         =SIMP(statut='f',typ='TXM' ),
-   ),
+MAC_MODES=OPER(nom="MAC_MODES",op=  141,sd_prod=table_sdaster,
+               fr="Normalisation de modes propres",
+               reentrant='n',
+            UIinfo={"groupes":("Résolution",)},
+         BASE_1       =SIMP(statut='o',typ=(mode_meca,mode_flamb,base_modale) ),
+         BASE_2       =SIMP(statut='o',typ=(mode_meca,mode_flamb,base_modale) ),
+         MATR_ASSE       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_depl_c) ),
+         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.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2005  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 DEVESA G.DEVESA
+LIRE_IMPE_MISS=OPER(nom="LIRE_IMPE_MISS",op= 164,sd_prod=matr_asse_gene_c,
+                    fr="Création d une matrice assemblée à partir de base modale",
+                    reentrant='n',
+            UIinfo={"groupes":("Matrices/vecteurs",)},           
+         BASE            =SIMP(statut='o',typ=base_modale ),
+         NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
+         FREQ_EXTR       =SIMP(statut='o',typ='R',max=1),
+         UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),
+         TYPE            =SIMP(statut='f',typ='TXM',defaut="ASCII",into=("BINAIRE","ASCII") ),         
+)  ;
 
-   INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
-)
-#& MODIF COMMANDE  DATE 17/10/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            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.                                 
-#
-# 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.      
+# COPYRIGHT (C) 1991 - 2005  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 MCOURTOI M.COURTOIS
-TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,
-            fr="Extraction d'une valeur numérique ou d'un attribut de fonction pour comparaison à une valeur de référence",
-            UIinfo={"groupes":("Impression",)},
-         TEST_NOOK       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
-         VALEUR          =FACT(statut='f',max='**',
-                               fr="Tester la valeur d une fonction ou d une nappe",
-           regles=(UN_PARMI('VALE_REFE','VALE_REFE_C',),
-                   DERIVABLE('FONCTION'),),
-           FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
-           SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
-                                 fr="Paramètre de sensibilité.",
-                                 ang="Sensitivity parameter"),
-           NOM_PARA        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2),
-           VALE_PARA       =SIMP(statut='o',typ='R'  ,validators=NoRepeat(),max=2),
-           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") ),
-           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",
-                                 defaut= 1.E-3 ),
-           REFERENCE       =SIMP(statut='f',typ='TXM',
-                                 into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
-           b_version = BLOC (condition = "REFERENCE == 'NON_REGRESSION'", 
-             VERSION         =SIMP(statut='f',typ='TXM' ),
-           ),
-         ),
-         ATTRIBUT        =FACT(statut='f',max='**',
-                               fr="Tester la valeur d un attribut d une fonction ou d''une nappe",
-           FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c,nappe_sdaster,formule) ),
-           PARA            =SIMP(statut='f',typ='R' ),
-           CRIT_PARA       =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-           PREC_PARA       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
-           ATTR            =SIMP(statut='o',typ='TXM',
-                                 into=("NOM_PARA","NOM_RESU","PROL_DROITE","PROL_GAUCHE","INTERPOL",
-                                       "PROL_GAUCHE_FONC","PROL_DROITE_FONC","INTERPOL_FONC","NOM_PARA_FONC") ),
-           ATTR_REFE       =SIMP(statut='o',typ='TXM' ),
-           REFERENCE       =SIMP(statut='f',typ='TXM',
-                                 into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
-           b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
-             VERSION         =SIMP(statut='f',typ='TXM' ),
-           ),
-         ),
-         TABL_INTSP      =FACT(statut='f',max='**',
-                               fr="Tester la valeur d une fonction contenue dans une table interspectrale",
-           regles=(UN_PARMI('NUME_ORDRE_I','NOEUD_I'),),
-           INTE_SPEC       =SIMP(statut='o',typ=table_fonction),
-           NOEUD_I         =SIMP(statut='f',typ=no),
-           NUME_ORDRE_I    =SIMP(statut='f',typ='I' ),
-           b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", 
-             NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
-           ),
-           b_noeud_i = BLOC (condition = "NOEUD_I != None",             
-             NOEUD_J         =SIMP(statut='o',typ=no),
-             NOM_CMP_I       =SIMP(statut='o',typ='TXM' ),
-             NOM_CMP_J       =SIMP(statut='o',typ='TXM' ),
-           ),
-           NUME_VITE_FLUI  =SIMP(statut='f',typ='I' ),
-           VALE_PARA       =SIMP(statut='o',typ='R' ),
-           VALE_REFE_C     =SIMP(statut='o',typ='C',max='**' ),
-           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",
-                                 defaut= 1.E-3 ),
-           REFERENCE       =SIMP(statut='f',typ='TXM',
-                                 into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
-           b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
-             VERSION         =SIMP(statut='f',typ='TXM' ),
-           ),
-         ),
+# RESPONSABLE DEVESA G.DEVESA
+LIRE_FORC_MISS=OPER(nom="LIRE_FORC_MISS",op= 179,sd_prod=vect_asse_gene,
+                    fr="Création d un vecteur assemblé à partir de base modale",
+                    reentrant='n',
+            UIinfo={"groupes":("Matrices/vecteurs",)},           
+         BASE            =SIMP(statut='o',typ=base_modale ),
+         NUME_DDL_GENE   =SIMP(statut='o',typ=nume_ddl_gene ),
+         FREQ_EXTR       =SIMP(statut='o',typ='R',max=1),
+         NOM_CMP         =SIMP(statut='o',typ='TXM',into=("DX","DY","DZ") ),
+         NOM_CHAM        =SIMP(statut='f',typ='TXM',into=("DEPL","VITE","ACCE"),defaut="DEPL"),
+         UNITE_RESU_FORC =SIMP(statut='f',typ='I',defaut=30),
 )  ;
-#& MODIF COMMANDE  DATE 19/06/2007   AUTEUR PELLET J.PELLET 
-# RESPONSABLE VABHHTS J.PELLET
+
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            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.
-#
-# 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.
-#
-#
+# COPYRIGHT (C) 1991 - 2007  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.        
 # ======================================================================
-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')),
+# RESPONSABLE LEFEBVRE J.P.LEFEBVRE
 
-         CHAM_NO         =FACT(statut='f',max='**',
-           regles=(UN_PARMI('NOEUD','GROUP_NO','TYPE_TEST'),
-                   EXCLUS('NOEUD','GROUP_NO'),
-                   PRESENT_PRESENT('NOEUD','NOM_CMP'),
-                   PRESENT_PRESENT( 'GROUP_NO','NOM_CMP'),
-                   UN_PARMI('VALE','VALE_I','VALE_C'),),
-           CHAM_GD         =SIMP(statut='o',typ=cham_no_sdaster),
-           NOEUD           =SIMP(statut='f',typ=no   ),
-           GROUP_NO        =SIMP(statut='f',typ=grno ),
-           NOM_CMP         =SIMP(statut='f',typ='TXM'),
-           TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
-           VALE            =SIMP(statut='f',typ='R',max='**'),
-           VALE_I          =SIMP(statut='f',typ='I',max='**'),
-           VALE_C          =SIMP(statut='f',typ='C',max='**'),
-           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.0E-3),
-           REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
-                                                            "NON_REGRESSION","AUTRE_ASTER")),
-           VERSION         =SIMP(statut='f',typ='TXM'),
-         ),
+DEBUG=PROC(nom="DEBUG",op=137,
+            UIinfo={"groupes":("Utilitaires",)},
+               fr="Permettre de changer entre 2 commandes quelques variables globales de debug",
 
-         CHAM_ELEM       =FACT(statut='f',max='**',
-           regles=(UN_PARMI('MAILLE','TYPE_TEST',),
-                   EXCLUS('NOEUD','GROUP_NO','POINT'),
-                   PRESENT_PRESENT('NOEUD','NOM_CMP'),
-                   PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
-                   PRESENT_PRESENT('POINT','NOM_CMP'),
-                   UN_PARMI('VALE','VALE_I','VALE_C'), ),
-           CHAM_GD         =SIMP(statut='o',typ=cham_elem),
-           MAILLE          =SIMP(statut='f',typ=ma),
-           POINT           =SIMP(statut='f',typ='I' ),
-           SOUS_POINT      =SIMP(statut='f',typ='I'),
-           NOEUD           =SIMP(statut='f',typ=no),
-           GROUP_NO        =SIMP(statut='f',typ=grno),
-           NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
-           TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
-           VALE            =SIMP(statut='f',typ='R',max='**' ),
-           VALE_I          =SIMP(statut='f',typ='I',max='**' ),
-           VALE_C          =SIMP(statut='f',typ='C',max='**' ),
-           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.0E-3 ),
-           REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
-                                                            "NON_REGRESSION","AUTRE_ASTER") ),
-           VERSION         =SIMP(statut='f',typ='TXM' ),
-         ),
+     SDVERI          =SIMP(fr="vérifie la conformité des SD produites par les commandes",
+                           statut='f',typ='TXM',into=('OUI','NON')),
+     JXVERI          =SIMP(fr="vérifie l intégrité de la segmentation mémoire",
+                           statut='f',typ='TXM',into=('OUI','NON')),
+     JEVEUX          =SIMP(fr="force les déchargement sur disque",
+                           statut='f',typ='TXM',into=('OUI','NON')),
+     IMPR_MACRO      =SIMP(fr="affichage des sous-commandes produites par les macros dans le fichier mess",
+                           statut='f',typ='TXM',into=("OUI","NON")),
+ );
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2006  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 BODEL C.BODEL
 
-         RESU            =FACT(statut='f',max='**',
-           regles=(UN_PARMI('NUME_ORDRE','INST','FREQ','NUME_MODE','NOEUD_CMP','NOM_CAS','ANGL'),
-                   UN_PARMI('NOM_CHAM','PARA'),
-                   PRESENT_ABSENT('PARA','NOEUD','GROUP_NO','POINT','NOM_CMP','TYPE_TEST'),
-                   PRESENT_PRESENT('NOM_CMP','NOM_CHAM'),
-                   EXCLUS('NOEUD','GROUP_NO','POINT','TYPE_TEST'),
-                   PRESENT_PRESENT('NOEUD','NOM_CMP'),
-                   PRESENT_PRESENT('GROUP_NO','NOM_CMP'),
-                   PRESENT_PRESENT('POINT','NOM_CMP'),
-                   UN_PARMI('VALE','VALE_I','VALE_C'),
-                   DERIVABLE('RESULTAT'),),
-           RESULTAT        =SIMP(statut='o',typ=resultat_sdaster),
-           SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
-                                 fr="Paramètre de sensibilité.",
-                                 ang="Sensitivity parameter"),
-           NUME_ORDRE      =SIMP(statut='f',typ='I'),
-           INST            =SIMP(statut='f',typ='R'),
-           FREQ            =SIMP(statut='f',typ='R'),
-           NUME_MODE       =SIMP(statut='f',typ='I'),
-           NOEUD_CMP       =SIMP(statut='f',typ='TXM',min=2,max=2),
-           NOM_CAS         =SIMP(statut='f',typ='TXM'),
-           ANGL            =SIMP(statut='f',typ='R'),
-           PARA            =SIMP(statut='f',typ='TXM'),
-           NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
-           NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
-           MAILLE          =SIMP(statut='f',typ=ma   ,max='**'),
-           NOEUD           =SIMP(statut='f',typ=no   ,max='**'),
-           GROUP_NO        =SIMP(statut='f',typ=grno ,max='**'),
-           POINT           =SIMP(statut='f',typ='I'),
-           SOUS_POINT      =SIMP(statut='f',typ='I'),
-           TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN")),
-           VALE            =SIMP(statut='f',typ='R',max='**'),
-           VALE_I          =SIMP(statut='f',typ='I',max='**'),
-           VALE_C          =SIMP(statut='f',typ='C',max='**'),
-           VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
-           CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2),
-           PRECISION       =SIMP(statut='f',typ='R',max=2),
-           REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
-                                                            "NON_REGRESSION","AUTRE_ASTER",) ),
-           VERSION         =SIMP(statut='f',typ='TXM' ),
-         ),
+from Macro.macro_expans_ops import macro_expans_ops
+
+def macro_expans_prod(self, MODELE_MESURE, RESU_NX, RESU_EX, RESU_ET, RESU_RD, **args):
+    RESU_EXP = MODELE_MESURE['MESURE']
+    for res in (RESU_NX, RESU_EX, RESU_ET, RESU_RD):
+        if isinstance(res, CO):
+            if AsType(RESU_EXP) == mode_meca:
+                self.type_sdprod(res, mode_meca)
+            else:
+                self.type_sdprod(res, dyna_harmo)
+        else:
+            self.type_sdprod(res,res.__class__)
+    return None
+
+MACRO_EXPANS=MACRO(nom="MACRO_EXPANS",
+                   op=macro_expans_ops,
+                   sd_prod=macro_expans_prod,
+                   reentrant='n',
+                   UIinfo={"groupes":("Outils métier",)},
+                   fr="Outil d'expansion de resultats exprimentaux sur une base definie sur un modele numerique",
+                        MODELE_CALCUL   = FACT(statut='o',
+                           MODELE          = SIMP(statut='o',typ=(modele_sdaster) ),
+                           BASE            = SIMP(statut='o',typ=(mode_meca,base_modale,) ), 
+                           NUME_MODE       = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0),
+                                             ),
+                        MODELE_MESURE   = FACT(statut='o',
+                           MODELE          = SIMP(statut='o',typ=(modele_sdaster) ),
+                           MESURE          = SIMP(statut='o',typ=(dyna_trans,dyna_harmo,base_modale,mode_meca,mode_meca_c,) ),
+                           NOM_CHAM        = SIMP(statut='f',typ='TXM',defaut="DEPL",
+                                                  into=("DEPL","VITE","ACCE","SIEF_NOEU","EPSI_NOEU_DEPL",) ),
+                           NUME_MODE       = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**',defaut=0),
+                                             ),
+                        NUME_DDL       = SIMP(statut='f',typ=(nume_ddl_sdaster)),
+                        RESU_NX        = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
+                        RESU_EX        = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
+                        RESU_ET        = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
+                        RESU_RD        = SIMP(statut='f',typ=(mode_meca,dyna_harmo, CO)),
+                        RESOLUTION     = FACT(statut='f',
+                           METHODE =SIMP(statut='f',typ='TXM',defaut="LU",into=("LU","SVD",) ),
+                           b_svd   =BLOC(condition="METHODE=='SVD'",
+                                         EPS=SIMP(statut='f',typ='R',defaut=0. ),
+                                        ),
+                           REGUL   =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","NORM_MIN","TIK_RELA",) ),
+                           b_regul =BLOC(condition="REGUL!='NON'",
+                                         regles=(PRESENT_ABSENT('COEF_PONDER','COEF_PONDER_F', ),),
+                                         COEF_PONDER   =SIMP(statut='f',typ='R',defaut=0.     ,max='**' ),
+                                         COEF_PONDER_F =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
+                                        ),
+                                             ),
+                   )
+#& MODIF COMMANDE  DATE 03/06/2008   AUTEUR BODEL C.BODEL 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2006  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 BODEL C.BODEL
+
+from Macro.macro_visu_meidee_ops import macro_visu_meidee_ops
+
+def macro_visu_meidee_prod(self,RESU_FLUDELA,RESU_TURBULENT,RESU_MODIFSTRU,**args):
+
+    if RESU_FLUDELA != None:
+        for res in RESU_FLUDELA:
+            self.type_sdprod(res['TABLE'],table_sdaster)
+    if RESU_TURBULENT != None:
+        for res in RESU_TURBULENT:
+            self.type_sdprod(res['TABLE'],table_fonction)
+
+    MTYPES = {
+        'MODELE'    : modele_sdaster,
+        'MODE_MECA' : mode_meca,
+        'NUME_DDL'  : nume_ddl_sdaster,
+        'MAILLAGE'  : maillage_sdaster,
+        'MASS_MECA' : matr_asse_depl_r,
+        'RIGI_MECA' : matr_asse_depl_r,
+        'AMOR_MECA' : matr_asse_depl_r,
+        'MACR_ELEM' : macr_elem_stat,
+        'PROJ_MESU' : mode_gene,
+              }
+    if RESU_MODIFSTRU != None:
+        for res in RESU_MODIFSTRU:
+            for mc, typ in MTYPES.items():
+                if res[mc]:
+                    self.type_sdprod(res[mc], typ)
+    return None
+
+
+MACRO_VISU_MEIDEE=MACRO(nom       = 'MACRO_VISU_MEIDEE',
+                        op        = macro_visu_meidee_ops,
+                        sd_prod   = macro_visu_meidee_prod,
+                        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='**',
+                                                 TABLE = SIMP(statut='f', typ=CO),
+                                                ),
+                        RESU_MODIFSTRU = FACT( statut='f', max=1,
+                                               MODELE=SIMP(statut='f',typ=CO,defaut=None),
+                                               MODE_MECA=SIMP(statut='f',typ=CO,defaut=None),
+                                               MAILLAGE=SIMP(statut='f',typ=CO,defaut=None),
+                                               NUME_DDL=SIMP(statut='f',typ=CO,defaut=None),
+                                               MASS_MECA=SIMP(statut='f',typ=CO,defaut=None),
+                                               RIGI_MECA=SIMP(statut='f',typ=CO,defaut=None),
+                                               AMOR_MECA=SIMP(statut='f',typ=CO,defaut=None),
+                                               MACR_ELEM=SIMP(statut='f',typ=CO,defaut=None),
+                                               PROJ_MESU=SIMP(statut='f',typ=CO,defaut=None),
+                                             ),
+                        UNITE_RESU = SIMP( statut='f',typ='I'),
+
+                        b_inter    = BLOC( condition="INTERACTIF=='NON'",
+
+                             EXPANSION        = FACT( statut='f',max='**',
+                                                      CALCUL           = SIMP(statut='o',typ=mode_meca),
+                                                      NUME_MODE_CALCUL = SIMP(statut='f',typ='I',validators=NoRepeat(),
+                                                                              max='**',defaut=0),
+                                                      MESURE           = SIMP(statut='o',typ=mode_meca),
+                                                      NUME_MODE_MESURE = SIMP(statut='f',typ='I',validators=NoRepeat(),
+                                                                              max='**',defaut=0),
+                                                      RESOLUTION       = SIMP(statut='f',typ='TXM',defaut='SVD',into=('SVD','LU')),
+                                                      b_reso           = BLOC(condition = "RESOLUTION=='SVD'",
+                                                                              EPS = SIMP(statut='f',typ='R', defaut = 0.)
+                                                                       )
+                                                    ),
+                             FLUIDE_ELASTIQUE = 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),
+                                                      RESU_EXPANSION = SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
+                                                      b_base   = BLOC(condition = "RESU_EXPANSION=='NON'",
+                                                                      BASE = SIMP(statut='o',typ=mode_meca),
+                                                                     ) 
+                                                    ),
+                             TURBULENT        = FACT( statut='f',max='**',   
+                                                      ALPHA   = SIMP(statut='f',typ='R', defaut = 0.),
+                                                      EPS     = SIMP(statut='f',typ='R', defaut = 0.),
+                                                      OBSERVABILITE  = SIMP(statut='o',typ=(mode_meca, base_modale)),
+                                                      COMMANDABILITE = SIMP(statut='o',typ=(mode_meca, base_modale)),
+                                                      INTE_SPEC      = SIMP(statut='o',typ=table_sdaster),
+                                                      RESU_EXPANSION = SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON')),
+                                                      b_base         = BLOC(condition = "RESU_EXPANSION=='NON'",
+                                                                            BASE = SIMP(statut='o',typ=mode_meca),
+                                                                           ),
+                                                     ),
+                             MODIFSTRUCT = FACT( statut='f', max=1,
+                                                 MESURE = SIMP(statut='o', typ=mode_meca),
+                                                 MODELE_SUP = SIMP(statut='o', typ=modele_sdaster),
+                                                 MATR_RIGI = SIMP(statut='o', typ=matr_asse_depl_r),
+                                                 RESOLUTION = SIMP(statut='o', typ='TXM',
+                                                               into=('ES', 'LMME')),
+                                                 b_resol = BLOC( condition = "RESOLUTION=='LMME'",
+                                                                 MATR_MASS = SIMP(statut='o', typ=matr_asse_depl_r),
+                                                                ),
+                                                 NUME_MODE_MESU   = SIMP(statut='o', typ='I',max='**'),
+                                                 NUME_MODE_CALCUL = SIMP(statut='o', typ='I',max='**'),
+                                                 MAILLE_MODIF = SIMP(statut='o', typ=maillage_sdaster),
+                                                 MODELE_MODIF = SIMP(statut='o', typ=modele_sdaster),
+                                               ),
 
-         GENE            =FACT(statut='f',max='**',
-           regles=(UN_PARMI('VALE','VALE_I','VALE_C') ,),
-           RESU_GENE       =SIMP(statut='o',typ=(vect_asse_gene, tran_gene, mode_gene, harm_gene)),
-           b_vect_asse     =BLOC(condition = "AsType(RESU_GENE) == vect_asse_gene",
-             NUME_CMP_GENE   =SIMP(statut='o',typ='I'),
-           ),
-           b_mode          =BLOC(condition = "(AsType(RESU_GENE) == harm_gene) or (AsType(RESU_GENE) == mode_gene)",
-                            regles=(UN_PARMI('NUME_ORDRE','FREQ','NUME_MODE'),
-                                    UN_PARMI('NOM_CHAM','PARA'),
-                                    PRESENT_PRESENT('NOM_CHAM','NUME_CMP_GENE'),),
-             NOM_CHAM        =SIMP(statut='f',typ='TXM',into=C_NOM_CHAM_INTO()),
-             NUME_CMP_GENE   =SIMP(statut='f',typ='I'),
-             PARA            =SIMP(statut='f',typ='TXM'),
-             NUME_ORDRE      =SIMP(statut='f',typ='I'),
-             NUME_MODE       =SIMP(statut='f',typ='I'),
-             FREQ            =SIMP(statut='f',typ='R'),
-           ),
-           b_tran          =BLOC(condition = "AsType(RESU_GENE) == tran_gene",
-                            regles=(UN_PARMI('NUME_ORDRE','INST') ,),
-             NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO()),
-             NUME_CMP_GENE   =SIMP(statut='o',typ='I'),
-             NUME_ORDRE      =SIMP(statut='f',typ='I'),
-             INST            =SIMP(statut='f',typ='R'),
-           ),
-           VALE            =SIMP(statut='f',typ='R',max='**'),
-           VALE_I          =SIMP(statut='f',typ='I',max='**'),
-           VALE_C          =SIMP(statut='f',typ='C',max='**'),
-           VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
-           CRITERE         =SIMP(statut='f',typ='TXM',into=("RELATIF","ABSOLU"),max=2),
-           PRECISION       =SIMP(statut='f',typ='R',max=2),
-           REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
-                                                            "NON_REGRESSION","AUTRE_ASTER",) ),
-           VERSION         =SIMP(statut='f',typ='TXM' ),
-         ),
+                            # Si on realise une modification structurale, on donne les DDL capteurs et interface
+                            b_inter    = BLOC( condition="MODIFSTRUCT!=None",
+                                GROUP_NO_CAPTEURS  = FACT( statut='f', max='**',
+                                                           GROUP_NO = SIMP(statut='f',typ='TXM', max='**'),
+                                                           NOM_CMP  = SIMP(statut='f',typ='TXM', max='**'),
+                                                         ),
+                                GROUP_NO_EXTERIEUR = FACT( statut='f', max='**',
+                                                           GROUP_NO = SIMP(statut='f',typ='TXM', max='**'),
+                                                           NOM_CMP  = SIMP(statut='f',typ='TXM', max='**'),
+                                                         ),
+                                              ),
+                                          ),
+                        );
 
-         OBJET           =FACT(statut='f',max='**',
-           regles=(UN_PARMI('S_I','S_R',),
-                   UN_PARMI('VALE','VALE_I','VALE_C','S_R','S_I'),),
-           NOM             =SIMP(statut='o',typ='TXM'),
-           S_R             =SIMP(statut='f',typ='R'),
-           S_I             =SIMP(statut='f',typ='I'),
-           VALE            =SIMP(statut='f',typ='R'),
-           VALE_I          =SIMP(statut='f',typ='I'),
-           VALE_C          =SIMP(statut='f',typ='C'),
-           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.0E-3 ),
-           REFERENCE       =SIMP(statut='f',typ='TXM',into=("ANALYTIQUE","SOURCE_EXTERNE",
-                                                            "NON_REGRESSION","AUTRE_ASTER",) ),
-           VERSION         =SIMP(statut='f',typ='TXM' ),
-         ),
-)  ;
-#& MODIF COMMANDE  DATE 17/04/2007   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            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.                                 
-#
-# 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.      
+# COPYRIGHT (C) 1991 - 2007  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 VABHHTS J.PELLET
-TEST_TABLE=PROC(nom="TEST_TABLE",op= 177,
-            UIinfo={"groupes":("Impression",)},
-         fr="Tester une cellule ou une colonne d'une table",
-         regles=(UN_PARMI('VALE','VALE_I','VALE_C', ),
-                 DERIVABLE('TABLE'),),
-#  concept table_sdaster à tester
-         TABLE           =SIMP(statut='o',typ=table_sdaster),
+# RESPONSABLE FLEJOU J.L.FLEJOU
+# 
+DEFI_GEOM_FIBRE=OPER(nom="DEFI_GEOM_FIBRE",op=  119, sd_prod=gfibre_sdaster,
+                    fr="Definition des groupes de fibres pour les elements multifibres",
+                    reentrant='n',
+            UIinfo={"groupes":("Modelisation",)},
+         regles=(AU_MOINS_UN('SECTION','FIBRE'),),
 
-         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),
-                                 fr="Paramètre de sensibilité.",
-                                 ang="Sensitivity parameter"),
-         FILTRE          =FACT(statut='f',max='**',
-           NOM_PARA        =SIMP(statut='o',typ='TXM' ),
-           CRIT_COMP       =SIMP(statut='f',typ='TXM',defaut="EQ",
-                                 into=("EQ","LT","GT","NE","LE","GE","VIDE",
-                                       "NON_VIDE","MAXI","ABS_MAXI","MINI","ABS_MINI") ),
-           b_vale          =BLOC(condition = "(CRIT_COMP in ('EQ','NE','GT','LT','GE','LE'))",
-              regles=(UN_PARMI('VALE','VALE_I','VALE_K','VALE_C',),),
-              VALE            =SIMP(statut='f',typ='R',),
-              VALE_I          =SIMP(statut='f',typ='I',),
-              VALE_C          =SIMP(statut='f',typ='C',),
-              VALE_K          =SIMP(statut='f',typ='TXM' ),),
+         INFO       =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
+#============================================================================
+         SECTION     =FACT(statut='f',max='**',
+              regles=(AU_MOINS_UN('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),
+                      PRESENT_ABSENT('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),),
 
-           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
-         ),
-         TYPE_TEST       =SIMP(statut='f',typ='TXM',into=("SOMM_ABS","SOMM","MAX","MIN") ),
-         NOM_PARA        =SIMP(statut='o',typ='TXM' ),
-         VALE            =SIMP(statut='f',typ='R',max='**' ),
-         VALE_I          =SIMP(statut='f',typ='I',max='**' ),
-         VALE_C          =SIMP(statut='f',typ='C',max='**' ),
-         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 ),
-         REFERENCE       =SIMP(statut='f',typ='TXM',
-                               into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
-         b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
-             VERSION         =SIMP(statut='f',typ='TXM' ),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
-         ),
-)  ;
-#& MODIF COMMANDE  DATE 08/11/2007   AUTEUR SALMONA L.SALMONA 
-#            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.
-#
-# 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.
-# ======================================================================
-THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f',
-            UIinfo={"groupes":("Résolution",)},
-                   fr="Résoudre un problème thermique linéaire stationnaire ou transitoire",
-         regles=(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),
-         EXCIT           =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)),
-         ),
-         INCREMENT       =FACT(statut='f',
-           regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
-                   EXCLUS('NUME_INST_FIN','INST_FIN'),),
-           LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
-           EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
-                                 into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
-           NUME_INST_INIT  =SIMP(statut='f',typ='I'),
-           INST_INIT       =SIMP(statut='f',typ='R'),
-           NUME_INST_FIN   =SIMP(statut='f',typ='I'),
-           INST_FIN        =SIMP(statut='f',typ='R'),
-           PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
-         ),
-         ETAT_INIT       =FACT(statut='f',
-           regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
-           STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",)),
-           EVOL_THER       =SIMP(statut='f',typ=evol_ther),
-           CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster),
-           VALE            =SIMP(statut='f',typ='R'),
-           NUME_ORDRE      =SIMP(statut='f',typ='I'),
-           INST            =SIMP(statut='f',typ='R'),
-           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
-           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
-           INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
-         ),
-         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
-                               fr="Liste des paramètres de sensibilité.",
-                               ang="List of sensitivity parameters",
-         ),
-           SENS_INIT       =FACT(statut='f',
-             regles=(EXCLUS('STATIONNAIRE','EVOL_THER', ),),
-             STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-             EVOL_THER       =SIMP(statut='f',typ=evol_ther),
-             NUME_INIT       =SIMP(statut='f',typ='I'),
-           ),
-         SOLVEUR         =FACT(statut='d',
-           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
-           b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
-           ),
-           b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
-           ),
-           b_ldlt_mult      =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
-                                   fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
-             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") ),
-             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")),
-             PRETRAITEMENTS  =SIMP(statut='f',typ='TXM',defaut="AUTO",into=("SANS","AUTO")),
-             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,),
-             RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
-             PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
-                                   into=("CENTRALISE","DISTRIBUE_MAILLE","DISTRIBUE_SD")),
-             PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=0,min=0),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
-             ),
-         ),
-         PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57),
-         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.0E-3),
-           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=("VARI",)),
+              GROUP_FIBRE       =SIMP(statut='o',typ='TXM',min=1,max=1),
+              TOUT_SECT         =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+              GROUP_MA_SECT     =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+              MAILLE_SECT       =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+
+              MAILLAGE_SECT     =SIMP(statut='o',typ=maillage_sdaster),
+              COOR_AXE_POUTRE   =SIMP(statut='o',typ='R',min=2,max=2),
          ),
+
+
+#============================================================================
+         FIBRE     =FACT(statut='f',max='**',
+              GROUP_FIBRE       =SIMP(statut='o',typ='TXM',min=1,max=1),
+              CARA              =SIMP(statut='f',typ='TXM',defaut='SURFACE',into=('SURFACE','DIAMETRE',)),
+              VALE              =SIMP(statut='o',typ='R',max='**'),
+              COOR_AXE_POUTRE   =SIMP(statut='o',typ='R',min=2,max=2),
+          ),
+
+
+) ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2007  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 PELLET J.PELLET
+
+def factoriser_prod(MATR_ASSE,**args):
+  if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
+  if AsType(MATR_ASSE) == matr_asse_depl_c : return matr_asse_depl_c
+  if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
+  if AsType(MATR_ASSE) == matr_asse_temp_c : return matr_asse_temp_c
+  if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
+  if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c
+  raise AsException("type de concept resultat non prevu")
+
+FACTORISER=OPER(nom="FACTORISER",op=14,sd_prod=factoriser_prod,
+               fr="Factoriser une matrice assemblée en un produit de deux matrices triangulaires"+
+                  "ou construire une matrice de préconditionnement pour une résolution par gradient conjugué",
+               reentrant='f', UIinfo={"groupes":("Résolution",)},
+         regles=(EXCLUS('BLOC_DEBUT','DDL_DEBUT'),
+                 EXCLUS('BLOC_FIN','DDL_FIN'),),
+         MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
+                                               matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
+
+         # mots clés pour solveur LDLT et MULT_FRONT:
+         STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+         NPREC           =SIMP(statut='f',typ='I',defaut=8,val_min=0,),
+
+         # mots clés pour solveur LDLT :
+         BLOC_DEBUT      =SIMP(statut='f',typ='I',val_min=1,),
+         DDL_DEBUT       =SIMP(statut='f',typ='I',val_min=1,),
+         BLOC_FIN        =SIMP(statut='f',typ='I',val_min=1,),
+         DDL_FIN         =SIMP(statut='f',typ='I',val_min=1,),
+
+         # mots clés pour solveur 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")),
+         PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=10,),
+         ELIM_LAGR2      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
+
+         # mots clés pour solveur GCPC :
+         PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LDLT_INC",into=("LDLT_INC",) ),
+         NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),  
+
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-         INFO            =SIMP(statut='f',typ='I',into=(1,2)),
+         INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 08/11/2007   AUTEUR SALMONA L.SALMONA 
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
-# COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
+# COPYRIGHT (C) 1991 - 2007  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 PELLET J.PELLET
+
+RESOUDRE=OPER(nom="RESOUDRE",op=15,sd_prod=cham_no_sdaster,reentrant='f',
+               fr="Résolution par méthode directe un système d'équations linéaires préalablement factorisé par FACT_LDLT"+
+                  "ou Résolution d'un système linéaire par la méthode du gradient conjugué préconditionné",
+               UIinfo={"groupes":("Résolution",)},
+         MATR           =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_depl_c,matr_asse_temp_r,
+                                               matr_asse_temp_c,matr_asse_pres_r,matr_asse_pres_c) ),
+         CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),
+         CHAM_CINE       =SIMP(statut='f',typ=cham_no_sdaster),
+
+         # mot-clé commun aux solveurs MUMPS et GCPC:
+         RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.E-6),
+
+         # mots-clés pour solver GCPC:
+         MATR_PREC       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
+         NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),  
+         REPRISE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+         INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
+)  ;
+#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2007  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
@@ -24109,127 +24720,128 @@ THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f',
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f',
+# RESPONSABLE GREFFET N.GREFFET
+
+from Intranet.macro_bascule_schema_ops import macro_bascule_schema_ops
+
+MACRO_BASCULE_SCHEMA = MACRO(nom="MACRO_BASCULE_SCHEMA", op=macro_bascule_schema_ops, sd_prod=evol_noli,reentrant='f',
+            fr="Macro permettant la bascule de schema en temps dans DYNA_NON_LINE",
             UIinfo={"groupes":("Résolution",)},
-                   fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)"
-                      +" stationnaire ou transitoire" ,
-         regles=(CONCEPT_SENSIBLE('ENSEMBLE'),),
-         MODELE          =SIMP(statut='o',typ=(modele_sdaster) ),
-         CHAM_MATER      =SIMP(statut='o',typ=(cham_mater) ),
-         CARA_ELEM       =SIMP(statut='c',typ=(cara_elem) ),
-         COMP_THER_NL    =FACT(statut='d',max='**',
-           RELATION        =SIMP(statut='f',typ='TXM',defaut="THER_NL",
-                                 into=("THER_NL",
-                                       "THER_HYDR",
-                                       "SECH_GRANGER",
-                                       "SECH_MENSI",
-                                       "SECH_BAZANT",
-                                       "SECH_NAPPE"
-                                       ) ),
-         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='**'),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-         ),
-         EVOL_THER_SECH  =SIMP(statut='f',typ=evol_ther),
-         EXCIT           =FACT(statut='o',max='**',
-           CHARGE          =SIMP(statut='o',typ=char_ther),
+            regles=(CONCEPT_SENSIBLE('ENSEMBLE'),),
+         MODE          =SIMP(statut='o',typ=modele_sdaster),
+         MATE      =SIMP(statut='o',typ=cham_mater),
+         MODE_STAT       =SIMP(statut='f',typ=(mode_stat_depl,mode_stat_acce,mode_stat_forc,)),
+         CARA       =SIMP(statut='f',typ=cara_elem),
+         MASS_DIAG       =SIMP(statut='f',typ='TXM',into=("OUI","NON",) ),
+         EXC_T           =FACT(statut='o',max='**',
+           regles=(PRESENT_ABSENT('FONC_MULT','ACCE'),
+                   PRESENT_PRESENT('ACCE','VITE','DEPL'),
+                   # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
+                   ),
+           TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
+                                 into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
+           CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           ACCE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           VITE            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+           MULT_APPUI      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+           DIRECTION       =SIMP(statut='f',typ='R',max='**'),
+           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
          ),
-         INCREMENT       =FACT(statut='f',
-           regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
-                   EXCLUS('NUME_INST_FIN','INST_FIN'),),
-           LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
-           EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
-                                 into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
-           NUME_INST_INIT  =SIMP(statut='f',typ='I'),
-           INST_INIT       =SIMP(statut='f',typ='R'),
-           NUME_INST_FIN   =SIMP(statut='f',typ='I'),
-           INST_FIN        =SIMP(statut='f',typ='R'),
-           PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
-           # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
-           SUBD_METHODE    =SIMP( statut='f',typ='TXM',
-              into =("AUCUNE","UNIFORME","EXTRAPOLE"),
-              defaut="AUCUNE",
-              fr="Méthode de subdivision des pas de temps en cas de non-convergence"
-           ),
-           b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
-             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
-             SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
-                fr="Coefficient multiplicateur de la 1ère subdivision"),
-             SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
-                fr="Nombre de subdivision d'un pas de temps"),
-             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
-                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
-             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
-                fr="Pas de temps en dessous duquel on ne subdivise plus"),
-           ),
-           b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
-             regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
-             SUBD_OPTION    =SIMP(statut='f',typ='TXM',
-                into =("IGNORE_PREMIERES","GARDE_DERNIERES",),
-                defaut="IGNORE_PREMIERES",
-                fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
-             SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
-                fr="Les n premières itérations sont ignorées pour l'extrapolation"),
-             SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
-                fr="Seules les n dernières itérations sont prises pour l'extrapolation"),
-             SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
-                fr="Nombre de subdivision d'un pas de temps en cas divergence"),
-             SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
-                fr="Nombre maximum de niveau de subdivision d'un pas de temps"),
-             SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
-                fr="Pas de temps en dessous duquel on ne subdivise plus"),
-             SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
-                fr="% itération autorisée en plus"),
-           ),
-           # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
+         EXCIT_GENE      =FACT(statut='f',max='**',
+           FONC_MULT       =SIMP(statut='f',typ=fonction_sdaster,max='**' ),
+           VECT_GENE       =SIMP(statut='f',typ=vect_asse_gene,max='**' ),
          ),
-         ETAT_INIT       =FACT(statut='f',
-           regles=(EXCLUS('STATIONNAIRE','EVOL_THER','CHAM_NO','VALE'),),
-           STATIONNAIRE    =SIMP(statut='f',typ='TXM',into=("OUI",)),
-           EVOL_THER       =SIMP(statut='f',typ=evol_ther),
-           CHAM_NO         =SIMP(statut='f',typ=cham_no_sdaster),
-           VALE            =SIMP(statut='f',typ='R'),
+         SOUS_STRUC      =FACT(statut='f',min=01,max='**',
+                regles=(UN_PARMI('TOUT','SUPER_MAILLE'),),
+                CAS_CHARGE  =SIMP(statut='o',typ='TXM' ),
+                TOUT        =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+                SUPER_MAILLE=SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**',),
+                FONC_MULT   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+              ),
+         AMOR_MODAL      =FACT(statut='f',
+           regles=(EXCLUS('AMOR_REDUIT','LIST_AMOR'),),
+           MODE_MECA       =SIMP(statut='f',typ=mode_meca),
+           AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**' ),
+           LIST_AMOR       =SIMP(statut='f',typ=listr8_sdaster ),
+           NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
+           REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+         ),
+         PROJ_MODAL      =FACT(statut='f',max='**',
+           MODE_MECA       =SIMP(statut='o',typ=mode_meca),
+           NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
+           regles=(PRESENT_PRESENT('MASS_GENE','RIGI_GENE'),),
+           MASS_GENE       =SIMP(statut='f',typ=matr_asse_gene_r),
+           RIGI_GENE       =SIMP(statut='f',typ=matr_asse_gene_r),
+           AMOR_GENE       =SIMP(statut='f',typ=matr_asse_gene_r),
+         ),
+#-------------------------------------------------------------------
+         b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : ETAT_INIT obligatoire",
+         INIT       =FACT(statut='o',
+           regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',),
+                   EXCLUS('EVOL_NOLI','DEPL',),
+                   EXCLUS('EVOL_NOLI','VITE'),
+                   EXCLUS('EVOL_NOLI','ACCE'),
+                   EXCLUS('EVOL_NOLI','SIGM',),
+                   EXCLUS('EVOL_NOLI','VARI',),
+                   EXCLUS('NUME_ORDRE','INST'), ),
+           DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
+           VITE            =SIMP(statut='f',typ=cham_no_sdaster),
+           ACCE            =SIMP(statut='f',typ=cham_no_sdaster),
+           SIGM            =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
+           VARI            =SIMP(statut='f',typ=cham_elem),
+           EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
+           NUME_ORDRE      =SIMP(statut='f',typ='I'),
+           INST            =SIMP(statut='f',typ='R'),
+           PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
+           CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+           NUME_DIDI       =SIMP(statut='f',typ='I'),
+           INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
+         ),),
+         b_not_reuse =BLOC(condition = "not reuse",fr="en mode concept non reentrant : ETAT_INIT facultatif",
+         INIT       =FACT(statut='f',
+           regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','VITE','ACCE','SIGM','VARI',),
+                   EXCLUS('EVOL_NOLI','DEPL',),
+                   EXCLUS('EVOL_NOLI','VITE'),
+                   EXCLUS('EVOL_NOLI','ACCE'),
+                   EXCLUS('EVOL_NOLI','SIGM',),
+                   EXCLUS('EVOL_NOLI','VARI',),
+                   EXCLUS('NUME_ORDRE','INST'), ),
+           DEPL            =SIMP(statut='f',typ=cham_no_sdaster),
+           VITE            =SIMP(statut='f',typ=cham_no_sdaster),
+           ACCE            =SIMP(statut='f',typ=cham_no_sdaster),
+           SIGM            =SIMP(statut='f',typ=(cham_elem,carte_sdaster)),
+           VARI            =SIMP(statut='f',typ=cham_elem),
+           EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
            NUME_ORDRE      =SIMP(statut='f',typ='I'),
            INST            =SIMP(statut='f',typ='R'),
            PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
+           NUME_DIDI       =SIMP(statut='f',typ='I'),
            INST_ETAT_INIT  =SIMP(statut='f',typ='R'),
-         ),
-         NEWTON          =FACT(statut='d',
-           REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
-           RESI_LINE_RELA  =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
-           ITER_LINE_MAXI  =SIMP(statut='f',typ='I',defaut= 0 ),
-         ),
-         CONVERGENCE     =FACT(statut='d',
-           RESI_GLOB_MAXI  =SIMP(statut='f',typ='R'),
-           RESI_GLOB_RELA  =SIMP(statut='f',typ='R'),
-           ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
-         ),
-         SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
-                               fr="Liste des paramètres de sensibilité.",
-                               ang="List of sensitivity parameters",
+         ),),
+         NEWT          =FACT(statut='d',
+           REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
+           PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ),
+           MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
+           REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
+           REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
+           PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
          ),
          SOLVEUR         =FACT(statut='d',
            METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC","MUMPS") ),
-           b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Parametres de la méthode multi frontale",
+           b_mult_front    =BLOC(condition= "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
              RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
            ),
-           b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Parametres de la méthode LDLT",
+           b_ldlt          =BLOC(condition= "METHODE == 'LDLT'",fr="Paramètres de la méthode LDLT",
              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
            ),
-           b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
-                                   fr="Parametres relatifs a la non inversibilité de la matrice a factorise",
+           b_ldlt_mult     =BLOC(condition="METHODE == 'LDLT' or METHODE == 'MULT_FRONT'",
+                                   fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
              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 ),
+             STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON","DECOUPE") ),
            ),
            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")),
@@ -24239,35 +24851,66 @@ THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f',
              PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=10,),
              RESI_RELA       =SIMP(statut='f',typ='R',defaut=-1.0,),
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
-                                   into=("CENTRALISE","DISTRIBUE_MAILLE","DISTRIBUE_SD")),
+                                   into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
              CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
              ),
-           SYME            =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") ),
+             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
+             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
+           ),
+           SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
          ),
-         PARM_THETA      =SIMP(statut='f',typ='R',defaut= 0.57 ),
-         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.0E-3),
-           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=("VARI",)),
+#-------------------------------------------------------------------
+         CONVERGENCE     =FACT(statut='d',
+           regles=(PRESENT_ABSENT('RESI_REFE_RELA','RESI_GLOB_MAXI','RESI_GLOB_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'),),
+             SIGM_REFE       =SIMP(statut='f',typ='R'),
+             EPSI_REFE       =SIMP(statut='f',typ='R'),
+             FLUX_THER_REFE  =SIMP(statut='f',typ='R'),
+             FLUX_HYD1_REFE  =SIMP(statut='f',typ='R'),
+             FLUX_HYD2_REFE  =SIMP(statut='f',typ='R'),
+             VARI_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'),
+           ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut=10),
+           ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
+           ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
          ),
+#-------------------------------------------------------------------
          OBSERVATION     =FACT(statut='f',max='**',
            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
-           SUIVI_DDL       =SIMP(statut='c',typ='TXM',defaut="NON",max=1,into=("NON",)),
+           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'),
+                                                  PRESENT_PRESENT('MAILLE','POINT'),),
+             NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+             GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+             POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
+             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+             NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
+                                   into=("DEPL","VITE","ACCE","SIEF_ELGA",
+                                         "VARI_ELGA","FORC_NODA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU",)),
+             GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+             NUME_SUIVI      =SIMP(statut='o',typ='I' ,min=1,max=4),
+             VALE_MAX        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,into=("OUI",) ),
+             VALE_MIN        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=1,into=("OUI",) ),),
          b_non_suivi      =BLOC(condition = "SUIVI_DDL == 'NON' ",
-                                regles=(UN_PARMI('NOEUD','GROUP_NO')),
+                                regles=(UN_PARMI('NOEUD','GROUP_NO','MAILLE'),PRESENT_PRESENT('MAILLE','POINT'),),
              NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
              GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-             NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("TEMP",)),
+             POINT           =SIMP(statut='f',typ='I' ,validators=NoRepeat(),max='**'),
+             MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+             NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("DEPL","VITE","ACCE","SIEF_ELGA",
+                                              "VARI_ELGA","DEPL_ABSOLU","VITE_ABSOLU","ACCE_ABSOLU")),
              INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),
              LIST_INST       =SIMP(statut='f',typ=listr8_sdaster),
              PAS_OBSE        =SIMP(statut='f',typ='I'),
@@ -24275,77 +24918,228 @@ THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f',
              PRECISION       =SIMP(statut='f',typ='R',defaut= 1.0E-3 ),
              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),),
          ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-         OPTION          =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2,
-                               into=("FLUX_ELGA_TEMP","FLUX_ELNO_TEMP") ),
-         INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
 
-)  ;
-#& MODIF COMMANDE  DATE 08/11/2007   AUTEUR SALMONA L.SALMONA 
-#            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.
-#
-# 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.
-# ======================================================================
-THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther,
-                     fr="Résoudre un problème thermique non linéaire (conditions limites ou comportement matériau)"
-                        +" stationnaire avec chargement mobile",
-                     reentrant='n',
-            UIinfo={"groupes":("Résolution",)},
-         MODELE          =SIMP(statut='o',typ=modele_sdaster ),
-         CHAM_MATER      =SIMP(statut='o',typ=cham_mater ),
-         CARA_ELEM       =SIMP(statut='c',typ=cara_elem ),
-         EXCIT           =FACT(statut='o',max='**',
-           CHARGE          =SIMP(statut='o',typ=char_ther ),
-           FONC_MULT       =SIMP(statut='c',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+         AFFICHAGE      = FACT(statut='f',max=16,
+
+            UNITE       = SIMP(statut='f',typ='I',val_min=1),
+
+            LONG_R      = SIMP(statut='f',typ='I',defaut=12,val_min=1,val_max=12),
+            PREC_R      = SIMP(statut='f',typ='I',defaut=5, val_min=1,val_max=8),
+            LONG_I      = SIMP(statut='f',typ='I',defaut=6, val_min=1,val_max=12),
+
+            NOM_COLONNE = SIMP(statut='o',typ='TXM',defaut="STANDARD",
+                                into=("STANDARD","MINIMUM",
+                                      "ITER_NEWT",
+                                      "INCR_TPS",
+                                      "RESI_RELA","RELA_NOEU",
+                                      "RESI_MAXI","MAXI_NOEU",
+                                      "RESI_REFE","REFE_NOEU",
+                                      "RELI_ITER","RELI_COEF",
+                                      "PILO_PARA",
+                                      "LAGR_ECAR","LAGR_INCR","LAGR_ITER",
+                                      "MATR_ASSE",
+                                      "ITER_DEBO",
+                                      "CTCD_ITER","CTCD_INFO","CTCD_GEOM","CTCD_NOEU",
+                                      "CTCC_GEOM","CTCC_FROT","CTCC_CONT",
+                                      "SUIV_1","SUIV_2","SUIV_3","SUIV_4",
+                                     ),
+                               ),
+            b_residu    = BLOC(condition = " NOM_COLONNE == 'RESI_RELA' or \
+                    NOM_COLONNE == 'RESI_MAXI' or\
+                    NOM_COLONNE == 'RESI_REFE' or\
+                    NOM_COLONNE == 'CTCD_GEOM' or\
+                    NOM_COLONNE == 'STANDARD' ",
+                            INFO_RESIDU = SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
+                          ),
          ),
-         ETAT_INIT       =FACT(statut='f',
-           EVOL_THER       =SIMP(statut='f',typ=evol_ther ),
-           NUME_ORDRE      =SIMP(statut='f',typ='I',defaut= 0 ),
+#-------------------------------------------------------------------
+         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.0E-3),
+           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","ACCE","VITE","LANL_ELGA")),
          ),
-         CONVERGENCE     =FACT(statut='d',
-           CRIT_TEMP_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-3 ),
-           CRIT_ENTH_RELA  =SIMP(statut='f',typ='R',defaut= 1.E-2 ),
-           ITER_GLOB_MAXI  =SIMP(statut='f',typ='I',defaut= 10 ),
-           ARRET           =SIMP(statut='c',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+
+#-------------------------------------------------------------------
+         CRIT_FLAMB     =FACT(statut='f',min=1,max=1,
+           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"),
          ),
-         SOLVEUR         =FACT(statut='d',
-           METHODE         =SIMP(statut='f',typ='TXM',defaut="MULT_FRONT",into=("MULT_FRONT","LDLT","GCPC") ),
-           b_mult_front    =BLOC(condition = "METHODE == 'MULT_FRONT' ",fr="Paramètres de la méthode multi frontale",
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="METIS",into=("MD","MDA","METIS") ),
-           ),
-           b_ldlt          =BLOC(condition = "METHODE == 'LDLT' ",fr="Paramètres de la méthode LDLT",
-             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("RCMK","SANS") ),
-           ),
-           b_ldlt_mult     =BLOC(condition = "METHODE == 'LDLT' or METHODE == 'MULT_FRONT' ",
-                                   fr="Paramètres relatifs à la non inversibilité de la matrice à factorise",
-             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") ),
-             RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
-             NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
-           ),
-           SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+         MODE_VIBR     =FACT(statut='f',min=1,max=1,
+           MATR_RIGI        =SIMP(statut='f',typ='TXM',defaut="ELASTIQUE",into=("ELASTIQUE","TANGENTE") ),
+           NB_FREQ         =SIMP(statut='f',typ='I',max=1,defaut=3),
          ),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
-         INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
-)  ;
-
-
-
+#-------------------------------------------------------------------
+           SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
+                               fr="Liste des paramètres de sensibilité",
+                               ang="List of sensitivity parameters"),
+#
+#  Specificite bascules
+#
+                     INCR_I       =FACT(statut='o',
+                       regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
+                               EXCLUS('NUME_INST_FIN','INST_FIN'),),
+                       LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
+                       EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
+                                             into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
+                       NUME_INST_INIT  =SIMP(statut='f',typ='I'),
+                       INST_INIT       =SIMP(statut='f',typ='R'),
+                       NUME_INST_FIN   =SIMP(statut='f',typ='I'),
+                       INST_FIN        =SIMP(statut='f',typ='R'),
+                       PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
+                       # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
+                       SUBD_METHODE    =SIMP( statut='f',typ='TXM',
+                          into =("AUCUNE","UNIFORME","EXTRAPOLE"),
+                          defaut="AUCUNE",
+                          fr="Méthode de subdivision des pas de temps en cas de non-convergence"
+                       ),
+                       b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
+                         regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
+                         SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
+                            fr="Coefficient multiplicateur de la 1ère subdivision"),
+                         SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
+                            fr="Nombre de subdivision d''un pas de temps"),
+                         SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
+                            fr="Nombre maximum de niveau de subdivision d''un pas de temps"),
+                         SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
+                            fr="Pas de temps en dessous duquel on ne subdivise plus"),
+                       ),
+                       b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
+                         regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
+                       SUBD_OPTION    =SIMP(statut='f',typ='TXM',
+                         into =("IGNORE_PREMIERES","GARDE_DERNIERES",),
+                         defaut="IGNORE_PREMIERES",
+                         fr="Technique d'' extrapolation  les 1 ere itérations sont ignorées ou les dernières sont gardées"),
+                       SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
+                         fr="Les n premières itérations sont ignorées pour l''extrapolation"),
+                       SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
+                         fr="Seules les n dernières itérations sont prises pour l''extrapolation"),
+                       SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
+                         fr="Nombre de subdivision d''un pas de temps en cas divergence"),
+                       SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
+                         fr="Nombre maximum de niveau de subdivision d''un pas de temps"),
+                       SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
+                         fr="Pas de temps en dessous duquel on ne subdivise plus"),
+                       SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
+                         fr="% itération autorisée en plus"),
+                       ),
+                       # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
+                       OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
+                       NOM_CHAM        =SIMP(statut='f',typ='TXM',),
+                       NOM_CMP         =SIMP(statut='f',typ='TXM',),
+                       VALE            =SIMP(statut='f',typ='R'),
+                     ),
+#
+                     INCR_E       =FACT(statut='o',
+                       regles=(EXCLUS('NUME_INST_INIT','INST_INIT'),
+                               EXCLUS('NUME_INST_FIN','INST_FIN'),),
+                       LIST_INST       =SIMP(statut='o',typ=listr8_sdaster),
+                       EVOLUTION       =SIMP(statut='f',typ='TXM',defaut="CHRONOLOGIQUE",
+                                             into=("CHRONOLOGIQUE","RETROGRADE","SANS",) ),
+                       NUME_INST_INIT  =SIMP(statut='f',typ='I'),
+                       INST_INIT       =SIMP(statut='f',typ='R'),
+                       NUME_INST_FIN   =SIMP(statut='f',typ='I'),
+                       INST_FIN        =SIMP(statut='f',typ='R'),
+                       PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3 ),
+                       # DEBUT DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
+                       SUBD_METHODE    =SIMP( statut='f',typ='TXM',
+                          into =("AUCUNE","UNIFORME","EXTRAPOLE"),
+                          defaut="AUCUNE",
+                          fr="Méthode de subdivision des pas de temps en cas de non-convergence"
+                       ),
+                       b_subd_unif=BLOC(condition = "SUBD_METHODE == 'UNIFORME'",
+                         regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
+                         SUBD_COEF_PAS_1=SIMP(statut='f',typ='R',defaut=1.0,val_min=0.0,
+                            fr="Coefficient multiplicateur de la 1ère subdivision"),
+                         SUBD_PAS       =SIMP(statut='f',typ='I',defaut=4,val_min=2,
+                            fr="Nombre de subdivision d''un pas de temps"),
+                         SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
+                            fr="Nombre maximum de niveau de subdivision d''un pas de temps"),
+                         SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
+                            fr="Pas de temps en dessous duquel on ne subdivise plus"),
+                       ),
+                       b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
+                         regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
+                       SUBD_OPTION    =SIMP(statut='f',typ='TXM',
+                         into =("IGNORE_PREMIERES","GARDE_DERNIERES",),
+                         defaut="IGNORE_PREMIERES",
+                         fr="Technique d'' extrapolation  les 1 ere itérations sont ignorées ou les dernières sont gardées"),
+                       SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
+                         fr="Les n premières itérations sont ignorées pour l''extrapolation"),
+                       SUBD_ITER_FIN  =SIMP(statut='c',typ='I',defaut=8,val_min=3,
+                         fr="Seules les n dernières itérations sont prises pour l''extrapolation"),
+                       SUBD_PAS       =SIMP(statut='c',typ='I',defaut=4,val_min=2,
+                         fr="Nombre de subdivision d''un pas de temps en cas divergence"),
+                       SUBD_NIVEAU=SIMP(statut='f',typ='I',val_min=2,
+                         fr="Nombre maximum de niveau de subdivision d''un pas de temps"),
+                       SUBD_PAS_MINI=SIMP(statut='f',typ='R',val_min=0.0,
+                         fr="Pas de temps en dessous duquel on ne subdivise plus"),
+                       SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
+                         fr="% itération autorisée en plus"),
+                       ),
+                       # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
+                       OPTI_LIST_INST  =SIMP(statut='f',typ='TXM',into=("INCR_MAXI",),),
+                       NOM_CHAM        =SIMP(statut='f',typ='TXM',),
+                       NOM_CMP         =SIMP(statut='f',typ='TXM',),
+                       VALE            =SIMP(statut='f',typ='R'),
+                     ),
+#
+                     SCH_TEMPS_I     =FACT(statut='o',
+                        SCHEMA          =SIMP(statut='o',min=1,max=1,typ='TXM',
+                                              into=("NEWMARK","HHT","THETA_METHODE"),),
+                        b_newmark = BLOC(condition="SCHEMA=='NEWMARK'",
+                          ALPHA        =SIMP(statut='f',typ='R',defaut= 0.25),
+                          DELTA        =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=1. ),),
+                        b_implicit= BLOC(condition="SCHEMA!='TCHAMWA'and SCHEMA!='DIFF_CENT'",
+                          FORMULATION  =SIMP(statut='o',max=1,typ='TXM',into=("DEPLACEMENT","VITESSE",),),),
+                     ),
+#
+                     SCH_TEMPS_E     =FACT(statut='o',
+                        SCHEMA          =SIMP(statut='o',min=1,max=1,typ='TXM',
+                                              into=("DIFF_CENT","TCHAMWA",),),
+                        b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'",
+                          PHI          =SIMP(statut='f',typ='R',defaut= 1.05),),
+                        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",),),),
+                     ),
+#
+                     SCH_TEMPS_EQ     =FACT(statut='f',
+                        SCHEMA          =SIMP(statut='o',min=1,max=1,typ='TXM',
+                                              into=("DIFF_CENT","TCHAMWA",),),
+                        b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'",
+                          PHI          =SIMP(statut='f',typ='R',defaut= 1.05),),
+                        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",),),),
+                     ),
+#
+                     C_INCR_I       =C_COMP_INCR(),
+                     C_INCR_E       =C_COMP_INCR(),
+#
+                     TP_BAS          =SIMP(statut='o',typ=listr8_sdaster),
+                     SCH_INI         =SIMP(statut='o',typ='TXM',into=("IMPLICITE","EXPLICITE")),
+                     EQUILIBRAGE     =FACT(statut='o',
+                        EQU_EXP_IMP      =SIMP(statut='o',typ='TXM',into=("OUI","NON",),),
+                        DT_IMP           =SIMP(statut='o',typ='R'),
+#
+#  Fin specificites bascule
+#
+#-------------------------------------------------------------------
+         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
+         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
+                        DT_EXP           =SIMP(statut='o',typ='R'),),
+);
index bbe607181bbe115f0c537f26c45c8a7a24e06bd0..90a38f53e0adb593e6b24af8ba871f6ac52b8865 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF ops Cata  DATE 19/11/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF ops Cata  DATE 02/06/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -38,12 +38,13 @@ try:
    Build.B_CODE.CODE.codex=aster
    
    from Utilitai.Utmess   import UTMESS
-   from Macro.Sensibilite import MEMORISATION_SENSIBILITE
+   from Build.B_SENSIBILITE_MEMO_NOM_SENSI import MEMORISATION_SENSIBILITE
+   from Execution.E_Global import MessageLog
 except:
    aster_exists = False
 
 
-def commun_DEBUT_POURSUITE(jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG):
+def commun_DEBUT_POURSUITE(jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM):
    """Fonction sdprod partie commune à DEBUT et POURSUITE.
    (on stocke un entier au lieu du logique)
    """
@@ -59,9 +60,19 @@ def commun_DEBUT_POURSUITE(jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG):
       # en POURSUITE, ne pas écraser la mémorisation existante.
       if not hasattr(jdc, 'memo_sensi'):
          jdc.memo_sensi = MEMORISATION_SENSIBILITE()
+         jdc.memo_sensi.reparent(jdc)
 
+      if hasattr(jdc, 'msg_init') and jdc.msg_init == 1:
+         # messages d'alarmes désactivés
+         if IGNORE_ALARM:
+            if not type(IGNORE_ALARM) in (list, tuple):
+               IGNORE_ALARM = [IGNORE_ALARM]
+            for idmess in IGNORE_ALARM:
+               MessageLog.disable_alarm(idmess)
+      jdc.msg_init = True
 
-def DEBUT(self,PAR_LOT,IMPR_MACRO,CODE,DEBUG,**args):
+
+def DEBUT(self, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, **args):
    """
        Fonction sdprod de la macro DEBUT
    """
@@ -69,7 +80,7 @@ def DEBUT(self,PAR_LOT,IMPR_MACRO,CODE,DEBUG,**args):
    if self.jdc is not self.parent :
       raise Accas.AsException("La commande DEBUT ne peut exister qu'au niveau jdc")
 
-   commun_DEBUT_POURSUITE(self.jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG)
+   commun_DEBUT_POURSUITE(self.jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM)
 
 
 def build_debut(self,**args):
@@ -92,7 +103,7 @@ def build_debut(self,**args):
    self.definition.op=None
    return ier
 
-def POURSUITE(self,PAR_LOT,IMPR_MACRO,CODE,DEBUG,**args):
+def POURSUITE(self, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM, **args):
    """
        Fonction sdprod de la macro POURSUITE
    """
@@ -100,7 +111,7 @@ def POURSUITE(self,PAR_LOT,IMPR_MACRO,CODE,DEBUG,**args):
    if self.jdc is not self.parent :
       raise Accas.AsException("La commande POURSUITE ne peut exister qu'au niveau jdc")
 
-   commun_DEBUT_POURSUITE(self.jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG)
+   commun_DEBUT_POURSUITE(self.jdc, PAR_LOT, IMPR_MACRO, CODE, DEBUG, IGNORE_ALARM)
    
    if (self.codex and os.path.isfile("glob.1") or os.path.isfile("bhdf.1")):
      # Le module d'execution est accessible et glob.1 est present
@@ -148,10 +159,10 @@ def POURSUITE(self,PAR_LOT,IMPR_MACRO,CODE,DEBUG,**args):
      # On supprime du pickle_context les concepts valant None, ca peut 
      # etre le cas des concepts non executés, placés après FIN.
      pickle_context=get_pickled_context()
-     self.jdc.restore_pickled_attrs(pickle_context)
      if pickle_context==None :
         UTMESS('F','SUPERVIS_86')
         return
+     self.jdc.restore_pickled_attrs(pickle_context)
      from Cata.cata  import ASSD,entier
      from Noyau.N_CO import CO
      for elem in pickle_context.keys():
@@ -160,6 +171,9 @@ def POURSUITE(self,PAR_LOT,IMPR_MACRO,CODE,DEBUG,**args):
             # on rattache chaque assd au nouveau jdc courant (en poursuite)
             pickle_context[elem].jdc=self.jdc
             pickle_context[elem].parent=self.jdc
+            # pour que sds_dict soit cohérent avec g_context
+            self.jdc.sds_dict[elem] = pickle_context[elem]
+            assert elem == pickle_context[elem].nom
             # rétablir le parent pour les attributs de la SD
             pickle_context[elem].reparent_sd()
             if elem in self.g_context.keys():
@@ -192,14 +206,14 @@ def get_pickled_context():
        les objets python qui auraient été sauvegardés, sous forme pickled, lors d'une 
        précédente étude. Un fichier pick.1 doit etre présent dans le répertoire de travail
     """
-    if os.path.isfile("pick.1"):
-       file="pick.1"
-    else: return None
+    fpick = 'pick.1'
+    if not os.path.isfile(fpick):
+       return None
    
     # Le fichier pick.1 est présent. On essaie de récupérer les objets python sauvegardés
     context={}
     try:
-       file=open(file,'r')
+       file=open(fpick,'r')
        # Le contexte sauvegardé a été picklé en une seule fois. Il est seulement
        # possible de le récupérer en bloc. Si cette opération echoue, on ne récupère
        # aucun objet.
@@ -207,7 +221,7 @@ def get_pickled_context():
        file.close()
     except:
        # En cas d'erreur on ignore le contenu du fichier
-       traceback.print_exc()
+       traceback.print_exc()
        return None
 
     return context
@@ -222,7 +236,8 @@ def POURSUITE_context(self,d):
    # On ajoute directement les concepts dans le contexte du jdc
    # XXX est ce que les concepts ne sont pas ajoutés plusieurs fois ??
    for v in self.g_context.values():
-      if isinstance(v,ASSD) : self.jdc.sds.append(v)
+      if isinstance(v,ASSD) :
+         self.jdc.sds.append(v)
 
 def build_poursuite(self,**args):
    """
@@ -277,48 +292,39 @@ def detruire(self,d):
    if hasattr(self,"executed") and self.executed == 1:
       return
    if self["CONCEPT"]!=None:
-     sd=[]
-     for mc in self["CONCEPT"]:
-       mcs=mc["NOM"]
-       if mcs is None:continue
-       if type(mcs) == types.ListType or type(mcs) == types.TupleType:
-         for e in mcs:
-           if isinstance(e,ASSD):
-             sd.append(e)
-             e=e.nom
-       # traitement particulier pour les listes de concepts, on va mettre à None
-       # le terme de l'indice demandé dans la liste :
-       # nomconcept_i est supprimé, nomconcept[i]=None
-           indice=e[e.rfind('_')+1:]
-           concept_racine=e[:e.rfind('_')]
-           if indice!='' and d.has_key(concept_racine) and type(d[concept_racine])==types.ListType:
-              try               :
-                                  indici=int(indice)
-                                  d[concept_racine][indici]=None
-              except ValueError : pass
-       # pour tous les concepts :
-           if d.has_key(e):del d[e]
-           if self.jdc.sds_dict.has_key(e):del self.jdc.sds_dict[e]
-       else:
-         if isinstance(mcs,ASSD):
-           sd.append(mcs)
-           mcs=mcs.nom
-       # traitement particulier pour les listes de concepts, on va mettre à None
-       # le terme de l'indice demandé dans la liste :
-       # nomconcept_i est supprimé, nomconcept[i]=None
-         indice=mcs[mcs.rfind('_')+1:]
-         concept_racine=mcs[:mcs.rfind('_')]
-         if indice!='' and d.has_key(concept_racine) and type(d[concept_racine])==types.ListType:
-            try               :
-                                indici=int(indice)
-                                d[concept_racine][indici]=None
-            except ValueError : pass
-       # pour tous les concepts :
-         if d.has_key(mcs):del d[mcs]
-         if self.jdc.sds_dict.has_key(mcs):del self.jdc.sds_dict[mcs]
-     for s in sd:
-       # On signale au parent que le concept s n'existe plus apres l'étape self 
-       self.parent.delete_concept_after_etape(self,s)
+      sd = []
+      for mc in self["CONCEPT"]:
+         mcs = mc["NOM"]
+         if mcs is None:
+            continue
+         if type(mcs) not in (list, tuple):
+            mcs = [mcs]
+       
+         for co in mcs:
+            if isinstance(co, ASSD):
+               sd.append(co)
+               co = co.nom
+            # traitement particulier pour les listes de concepts, on va mettre à None
+            # le terme de l'indice demandé dans la liste :
+            # nomconcept_i est supprimé, nomconcept[i]=None
+            i = co.rfind('_')
+            if i > 0 and not co.endswith('_'):
+               concept_racine = co[:i]
+               if d.has_key(concept_racine) and type(d[concept_racine]) is list:
+                  try:
+                     num = int(co[i+1:])
+                     d[concept_racine][num] = None
+                  except (ValueError, IndexError):
+                     # cas : RESU_aaa ou (RESU_8 avec RESU[8] non initialisé)
+                     pass
+            # pour tous les concepts :
+            if d.has_key(co):
+               del d[co]
+            if self.jdc.sds_dict.has_key(co):
+               del self.jdc.sds_dict[co]
+      for s in sd:
+         # On signale au parent que le concept s n'existe plus apres l'étape self 
+         self.parent.delete_concept_after_etape(self,s)
 
 def subst_materiau(text,NOM_MATER,EXTRACTION,UNITE_LONGUEUR):
    """
index 2a829676d9bedde799ad8f5f874799110bb5747c..5fc73e58bd4c2ec9e1fc5caabbc639939aff61ba 100644 (file)
@@ -46,7 +46,6 @@ encoding='iso-8859-1'
 
 
 EditeurDir=INSTALLDIR+"/Editeur"
-sys.path[:0]=[EditeurDir]
 sys.path[:0]=[INSTALLDIR]
 
 ICONDIR=os.path.join(INSTALLDIR,'Editeur','icons')
index 3d3239cdc71aced7650be7c37bda4b747c9315a0..21d9e374e4373af17dd730be2d6ba32377019da2 100644 (file)
@@ -5,7 +5,7 @@
 """
 
 import sys
-sys.path[:0]=['../..','../../Editeur','../../..']
+sys.path[:0]=['../..','../../..']
 
 from Accas import *
 #from Cata.cata import *
index bceb21f5efd15d92ec9fbf5aac8244f9ed087f62..5921a2d5d32d5aa672f28be0527878b8405755fe 100644 (file)
@@ -36,7 +36,7 @@ import generator
 import AIDE
 import os
 from jdcdisplay import JDCDISPLAY
-from utils import extension_fichier,stripPath,save_in_file
+from Editeur.utils import extension_fichier,stripPath,save_in_file
 from widgets import Fenetre,Ask_Format_Fichier,FenetreSurLigneWarning
 from fenetre_mc_inconnus import fenetre_mc_inconnus
 from Ihm import CONNECTOR
index 7ae8066218fe3659267c4e569dc0d718df04f71a..b4d827ed6e97c965d1743177c7dadd9e35211cff 100644 (file)
@@ -40,7 +40,7 @@ from widgets import showinfo,showerror
 from widgets import Fenetre
 import fontes
 
-from utils import init_rep_cata_dev
+from Editeur.utils import init_rep_cata_dev
 
 
 class READERCATA:
index 8ef2419a4e51be9cbd24524cfc5d3e43e487e9c0..50b2a5ece55d2ec0d640fc7ec8ab8e772322f6de 100644 (file)
@@ -43,7 +43,6 @@ lang='fr'
 encoding='iso-8859-1'
 
 EditeurDir=INSTALLDIR+"/Editeur"
-sys.path[:0]=[EditeurDir]
 sys.path[:0]=[INSTALLDIR]
 
 ICONDIR=os.path.join(INSTALLDIR,'Editeur','icons')
index e65b3b71f77c5a300e20dfe78fed0636d586de5b..40f3c41f66755df504c46001b745ced8bf28b037 100644 (file)
@@ -44,9 +44,9 @@ Fin Mot-cl
       o=cata((1,2,7,3,4,5,6),'mcs1',None)
       cr=o.report()
       expected_cr="""Mot-clé simple : mcs1
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   ! La valeur : 3  ne fait pas partie des choix possibles (1, 2, 7) !
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! La valeur : 3.0  ne fait pas partie des choix possibles (1, 2, 7) !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs1
 """
       self.assertEqual(str(cr) , expected_cr,msg='Erreur :\n%s\n!=\n%s' % (str(cr),expected_cr))
@@ -56,9 +56,9 @@ Fin Mot-cl
       o=cata((1,2,7,3,4,5,6),'mcs1',None)
       cr=o.report()
       expected_cr="""Mot-clé simple : mcs1
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   ! La valeur : 7 est en dehors du domaine de validité [ ** , 6 ] !
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! La valeur : 7.0 est en dehors du domaine de validité [ ** , 6 ] !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs1
 """
       self.assertEqual(str(cr) , expected_cr,msg='Erreur :\n%s\n!=\n%s' % (str(cr),expected_cr))
@@ -68,12 +68,13 @@ Fin Mot-cl
       o=cata((1,2,7,3,4,5,6),'mcs1',None)
       cr=o.report()
       expected_cr="""Mot-clé simple : mcs1
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   ! La valeur : 7 est en dehors du domaine de validité [ ** , 6 ] !
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   ! Nombre d'arguments de (1, 2, 7, 3, 4, 5, 6) incorrect (min = 1, max = 6) !
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! La valeur : 7.0 est en dehors du domaine de validité [ ** , 6 ] !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! Nombre d'arguments de (1.0, 2.0, 7.0, 3.0, 4.0, 5.0, 6.0) incorrect (min = 1, !
+   ! max = 6)                                                                      !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs1
 """
       self.assertEqual(str(cr) , expected_cr,msg='Erreur :\n%s\n!=\n%s' % (str(cr),expected_cr))
@@ -86,12 +87,13 @@ Fin Mot-cl
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ! 'aa' (de type <type 'str'>) n'est pas d'un type autorisé: ('R',) !
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   ! La valeur : 7 est en dehors du domaine de validité [ ** , 6 ] !
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   ! Nombre d'arguments de (1, 2, 7, 'aa', 4, 'bb', 6) incorrect (min = 1, max = 6) !
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! La valeur : 7.0 est en dehors du domaine de validité [ ** , 6 ] !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! Nombre d'arguments de (1.0, 2.0, 7.0, 'aa', 4.0, 'bb', 6.0) incorrect (min = 1, !
+   ! max = 6)                                                                        !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs1
 """
       self.assertEqual(str(cr) , expected_cr,msg='Erreur :\n%s\n!=\n%s' % (str(cr),expected_cr))
index f78f84331910d6dc3a7a9aab82bc0311ee0e1af5..e9b06022a40340d88ca82549f6568f419646f0e5 100644 (file)
@@ -72,10 +72,10 @@ Fin Mot-cl
               (("aaaa","aaaaa","axyzaa","bbbbaaa","zzz"),OK),
               (("aaaa","aaaa","axyz","bbbb","zzz"),
 """Mot-clé simple : mcs
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   ! Mot-clé mcs invalide : aaaa est un doublon                      !
-   ! Critere de validite: pas de présence de doublon dans la liste !
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! Mot-clé mcs invalide : aaaa est un doublon                    !
+   ! Critere de validite: pas de présence de doublon dans la liste !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs
 """),
               (("aaaa","axyz","bbbb","zzz"),OK),
@@ -84,19 +84,19 @@ Fin Mot-cl
               (("aaa",Variable('x',"bbb")),OK),
               (("aaa",Variable('x',"aaa")),
 """Mot-clé simple : mcs
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   ! Mot-clé mcs invalide : aaa est un doublon                       !
-   ! Critere de validite: pas de présence de doublon dans la liste !
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! Mot-clé mcs invalide : aaa est un doublon                     !
+   ! Critere de validite: pas de présence de doublon dans la liste !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs
 """),
               (Variable('x',("aaa","bbb")),OK),
               (Variable('x',("aaa","bbb","bbb")),
 """Mot-clé simple : mcs
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   ! Mot-clé mcs invalide : bbb est un doublon                       !
-   ! Critere de validite: pas de présence de doublon dans la liste !
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! Mot-clé mcs invalide : bbb est un doublon                     !
+   ! Critere de validite: pas de présence de doublon dans la liste !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs
 """),
              )
@@ -109,10 +109,10 @@ Fin Mot-cl
               (("TUTU","TATA","CCCC"),OK),
               (("TUTU","TATA","CCCC","TUTU","TATA","CCCC"),
 """Mot-clé simple : mcs
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   ! Mot-clé mcs invalide : TUTU est un doublon                      !
-   ! Critere de validite: pas de présence de doublon dans la liste !
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! Mot-clé mcs invalide : TUTU est un doublon                    !
+   ! Critere de validite: pas de présence de doublon dans la liste !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs
 """),
               (("TUTU","TATA","CCCC","TUTU","TATA","CCCC","TUTU","TATA","CCCC"),
@@ -142,7 +142,7 @@ Fin Mot-cl
 """Mot-clé simple : mcs
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ! Mot-clé mcs invalide : (1, 3, 5) contient des valeurs non paires !
-   ! Critere de validite: : pas de présence de doublon dans la liste  !
+   ! Critere de validite: pas de présence de doublon dans la liste    !
    !  et valeur paire                                                 !
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs
@@ -150,11 +150,11 @@ Fin Mot-cl
                ((2,4,6),OK),
                ((2,4,4),
 """Mot-clé simple : mcs
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   ! Mot-clé mcs invalide : 4 est un doublon                         !
-   ! Critere de validite: pas de présence de doublon dans la liste !
-   !  et valeur paire                                                !
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! Mot-clé mcs invalide : 4 est un doublon                       !
+   ! Critere de validite: pas de présence de doublon dans la liste !
+   !  et valeur paire                                              !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs
 """),
              )
@@ -170,10 +170,10 @@ Fin Mot-cl
                ((i,1,i,i),OK),
                ((1,1,i,i),
 """Mot-clé simple : mcs
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
-   ! Mot-clé mcs invalide : 1 est un doublon                         !
-   ! Critere de validite: pas de présence de doublon dans la liste !
-   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
+   ! Mot-clé mcs invalide : 1 est un doublon                       !
+   ! Critere de validite: pas de présence de doublon dans la liste !
+   !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs
 """ ),
                )
@@ -241,7 +241,7 @@ Fin Mot-cl
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
    ! Mot-clé mcs invalide : (<concept entier>, 5, 7, <concept entier>) ne contient !
    ! pas les elements obligatoires : [6]                                           !
-   ! Critere de validite: : pas de présence de doublon dans la liste               !
+   ! Critere de validite: pas de présence de doublon dans la liste                 !
    !  et valeur (5, 6, 7) obligatoire                                              !
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs
@@ -293,7 +293,7 @@ Fin Mot-cl
    ! pas les elements obligatoires : [6]                                           !
    ! Critere de validite: valeur (5, 6, 7) obligatoire                             !
    !  et liste croissant                                                           !
-   !  et : pas de présence de doublon dans la liste                                !
+   !  et pas de présence de doublon dans la liste                                  !
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs
 """ ),
@@ -304,7 +304,7 @@ Fin Mot-cl
    ! par valeurs croissantes                                                        !
    ! Critere de validite: valeur (5, 6, 7) obligatoire                              !
    !  et liste croissant                                                            !
-   !  et : pas de présence de doublon dans la liste                                 !
+   !  et pas de présence de doublon dans la liste                                   !
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs
 """ ),
@@ -314,7 +314,7 @@ Fin Mot-cl
    ! Mot-clé mcs invalide : 7 est un doublon           !
    ! Critere de validite: valeur (5, 6, 7) obligatoire !
    !  et liste croissant                               !
-   !  et : pas de présence de doublon dans la liste    !
+   !  et pas de présence de doublon dans la liste      !
    !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
 Fin Mot-clé simple : mcs
 """ ),