]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
synchronisation9.1.15 synchro9_1_15
authorPascale Noyret <pascale.noyret@edf.fr>
Mon, 22 Oct 2007 12:33:11 +0000 (12:33 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Mon, 22 Oct 2007 12:33:11 +0000 (12:33 +0000)
33 files changed:
Aster/Cata/Utilitai/macro_rota_globale.py [new file with mode: 0644]
Aster/Cata/Utilitai/veri_matr_tang.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Macro/externe_mess.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/algorith15.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/algorith16.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/ascouf0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/aspic0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/cable0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/elasmult0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/execlogiciel0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/fatigue1.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/feti0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/fiabilite0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/homard0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/matrice0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/med.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/meidee0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/miss0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/modal0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/oar0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/post0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/poutre0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/prepost6.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/proba0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/rupture0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/soustruc2.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/spectral0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/stanley.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/subdivise.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/test0.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Messages/utilitai8.py [new file with mode: 0644]
Aster/Cata/cataSTA9/SD/sd_xfem.py [new file with mode: 0644]
Aster/Cata/cataSTA9/cata.py

diff --git a/Aster/Cata/Utilitai/macro_rota_globale.py b/Aster/Cata/Utilitai/macro_rota_globale.py
new file mode 100644 (file)
index 0000000..3440f8e
--- /dev/null
@@ -0,0 +1,143 @@
+#@ MODIF macro_rota_globale Utilitai  DATE 18/09/2007   AUTEUR DURAND C.DURAND 
+# -*- 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.        
+# ======================================================================
+from Cata.cata import *
+
+# ===========================================================================
+#           CORPS DE LA MACRO "MACR_ROTA_GLOBALE"
+#           -------------------------------------
+# USAGE :
+#  RESULTAT : resultat
+#  GROUP_NO_ORIG : un groupe d un noeud definissant l entree du coude (A)
+#  GROUP_NO_EXTR : un groupe d un noeud definissant la sortie du coude (B)
+# 
+#              /
+#           A /
+#            (______
+#            B
+#  
+# ===========================================================================
+# script PYTHON : rotation globale sur une tuyauterie
+
+
+def macr_rota_globale_ops(self,RESULTAT,GROUP_NO_ORIG,GROUP_NO_EXTR,**args):
+
+
+  """
+     Ecriture de la macro MACR_ROTA_GLOBALE
+  """
+  import os
+  from Accas import _F
+  from Noyau.N_utils import AsType
+  ier=0
+
+  # On importe les definitions des commandes a utiliser dans la macro
+  POST_RELEVE_T  = self.get_cmd('POST_RELEVE_T')
+  DEFI_LIST_REEL = self.get_cmd('DEFI_LIST_REEL')
+  DEFI_FONCTION  = self.get_cmd('DEFI_FONCTION')
+
+  # La macro compte pour 1 dans la numerotation des commandes
+  self.set_icmd(1)
+
+  # Le concept sortant (de type fonction) est nomme ROTGD dans 
+  # le contexte de la macro
+
+  self.DeclareOut('ROTGD',self.sd)
+
+  # Commandes de la macro
+  
+  __ROTAB=POST_RELEVE_T(ACTION=_F(INTITULE='__ROTAB',
+                                GROUP_NO=GROUP_NO_ORIG,
+                                RESULTAT=RESULTAT,
+                                NOM_CHAM='DEPL',
+                                NOM_CMP=('DRX','DRY','DRZ',),
+                                OPERATION='EXTRACTION',),
+                                )
+
+  __ROTAC=POST_RELEVE_T(ACTION=_F(INTITULE='__ROTAC',
+                                GROUP_NO=GROUP_NO_EXTR,
+                                RESULTAT=RESULTAT,
+                                NOM_CHAM='DEPL',
+                                NOM_CMP=('DRX','DRY','DRZ',),
+                                OPERATION='EXTRACTION',),);
+  
+  __ROTABt=__ROTAB.EXTR_TABLE()
+  __ROTACt=__ROTAC.EXTR_TABLE()
+  __DRXC  = __ROTACt.Array('INST','DRX')
+  __DRYC  = __ROTACt.Array('INST','DRY')
+  __DRZC  = __ROTACt.Array('INST','DRZ')
+  __DRXB  = __ROTABt.Array('INST','DRX')
+  __DRYB  = __ROTABt.Array('INST','DRY')
+  __DRZB  = __ROTABt.Array('INST','DRZ')
+  __DRXBC = __DRXC-__DRXB
+  __DRYBC = __DRYC-__DRYB
+  __DRZBC = __DRZC-__DRZB
+  __ROTG  = __DRXBC*__DRXBC
+  __ROTG  = __ROTG+__DRYBC*__DRYBC
+  __ROTG  = __ROTG+__DRZBC*__DRZBC
+  __ROTG  = __ROTG**(0.5)
+  
+  __livalr = []
+  __livali = []
+  for i in range(len(__ROTG)):
+    __livalr.append(__ROTG[i,1])
+    __livali.append(__DRXC[i,0])
+
+  print __livalr
+  print __livali
+
+  __LROTG = DEFI_LIST_REEL(VALE=__livalr)
+  __LINST = DEFI_LIST_REEL(VALE=__livali)
+
+  ROTGD = DEFI_FONCTION(NOM_PARA='INST',
+                        VALE_PARA=__LINST,
+                        VALE_FONC=__LROTG,
+                       )
+
+  return ier
+
+
+
+# ===========================================================================
+#           CATALOGUE DE LA MACRO "MACR_ROTA_GLOBALE"
+#           -----------------------------------------
+# USAGE :
+#  RESULTAT : resultat
+#  GROUP_NO_ORIG : un groupe d un noeud definissant l entree du coude (A)
+#  GROUP_NO_EXTR : un groupe d un noeud definissant la sortie du coude (B)
+# 
+#              /
+#           A /
+#            (______
+#            B
+#  
+# ===========================================================================
+
+
+
+MACR_ROTA_GLOBALE=MACRO(nom="MACR_ROTA_GLOBALE",op=macr_rota_globale_ops,sd_prod=fonction_sdaster,
+                       docu="",reentrant='n',
+                       fr="calcul de la rotation globale dans un coude.",
+         RESULTAT        =SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) ),
+         GROUP_NO_ORIG   =SIMP(statut='o',typ=grno,max=1),
+         GROUP_NO_EXTR   =SIMP(statut='o',typ=grno,max=1),
+)  ;
+
+
+
diff --git a/Aster/Cata/Utilitai/veri_matr_tang.py b/Aster/Cata/Utilitai/veri_matr_tang.py
new file mode 100644 (file)
index 0000000..f2e6379
--- /dev/null
@@ -0,0 +1,269 @@
+#@ MODIF veri_matr_tang Utilitai  DATE 18/09/2007   AUTEUR DURAND C.DURAND 
+# -*- 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.        
+# ======================================================================
+from Cata.cata import *
+
+# ===========================================================================
+#              MACRO "VERI_MATR_TANG"
+#           -------------------------------------
+import Numeric
+from Numeric import *
+import cPickle,string
+import LinearAlgebra as LA
+import aster
+class TANGENT :
+
+     """
+       VERIFICATION SUR LES MATRICES TANGENTES
+       Attributs publics :
+         mat       : matrice tangente
+         ddl       : nom des degres de liberte
+         nddl      : nombre de ddl
+         norme     : norme de la matrice tangente
+         prec_zero : en-dessous de prec_zero, on ne compare pas les matrices
+       Methodes publiques
+         Save       : sauvegarde la matrice dans un fichier
+         Load       : lit la matrice depuis un fichier
+         Aster      : lit la matrice depuis l'espace Aster
+         Matrice    : range la matrice
+         Difference : comparaison entre la matrice tangente et une autre matrice
+         Symetrie   : verification du caractere symetrique de la matrice tangente
+     """
+     def __init__(self,ddl='',prec_zero=1.E-12) :
+       """
+         ddl       : chaine de caracteres designant les ddl (ex: 'UUP')
+         prec_zero : en-dessous de prec_zero, on ne compare pas les matrices
+       """
+       self.ddl = ddl
+       self.prec_zero = prec_zero
+
+     def Load(self,nom_fichier) :
+       fichier = file(nom_fichier,'r')
+       self.__dict__ = cPickle.load(fichier)
+     def Save(self,nom_fichier) :
+       fichier = file(nom_fichier,'w')
+       cPickle.dump(self.__dict__,fichier)
+
+     def Aster(self,suffixe = 'MATA') :
+       """
+         nom : suffixe de l'objet jeveux
+       """
+
+       nom_obj_jeveux = string.ljust('PYTHON.TANGENT.'+suffixe,24)
+       obj_jeveux = aster.getvectjev(nom_obj_jeveux)
+       if not obj_jeveux :
+         raise 'TANGENT : OBJET JEVEUX DE SUFFIXE '+suffixe+' INEXISTANT'
+       self.Matrice(obj_jeveux)
+     def Eigen(self) :
+       self.vp = sort(LA.eigenvalues(self.mat))
+     def Matrice(self,matrice) :
+       """
+         matrice   : la matrice tangente (rangement carre)
+       """
+       if type(matrice) == type((1,)) :
+         matrice = array(list(matrice))
+       elif type(matrice) == type([]) :
+         matrice = array(matrice)
+       matrice = matrice.astype(Float)
+       nddl = int(len(matrice)**0.5+0.5)
+       matrice.shape = (nddl,nddl)
+
+       self.mat = matrice
+       self.nddl = nddl
+       if not self.ddl :
+         self.ddl = 'D'*nddl
+       elif len(self.ddl) <> nddl :
+         raise 'Nommage des DDL incoherents avec la taille de la matrice'
+
+       self.norme = trace(dot(transpose(self.mat),self.mat))
+
+     def Difference(self,matp,affi_ok=0,prec_diff = 1.E-4) :
+       """
+         COMPARAISON RELATIVE DE LA MATRICE TANGENTE AVEC UNE AUTRE MATRICE
+         matp      : matrice avec laquelle self.mat est comparee
+         affi_ok   : si oui, on affiche egalement les valeurs qui collent bien
+         prec_diff : ecart au-dessus duquel on considere que ce n'est pas OK
+       """
+       if type(matp) == type((1,)) :
+         matp = array(list(matp))
+       elif type(matp) == type([]) :
+         matp = array(matp)
+       elif type(matp) == type(self) :
+         matp = matp.mat
+       elif type(matp) == type(array([1])) :
+         pass
+       else :
+         raise '1er argument doit etre une matrice (tuple,liste,TANGENT ou Numeric Array)'
+       matp = ravel(matp)
+       matp = matp.astype(Float)
+       if len(matp) <> self.nddl*self.nddl :
+         raise 'Matrices de tailles differentes'
+       matp.shape = (self.nddl,self.nddl)
+       refe = abs(self.mat) + abs(matp)
+       diff = where(refe > self.prec_zero,abs(self.mat-matp)/(refe+self.prec_zero),0)
+       nook = nonzero(ravel(diff)  > prec_diff)
+       ok   = nonzero(ravel(diff) <= prec_diff)
+
+       if affi_ok :
+         affi = [ok,nook]
+       else :
+         affi = [nook]
+         
+       liste_i=[]
+       liste_j=[]
+       liste_matt=[]
+       liste_matp=[]
+       liste_diff=[]
+       for ind in affi :         
+#         print '-'*80
+         for pos in ind :
+           i = pos / self.nddl
+           j = pos % self.nddl
+#           print self.ddl[i],self.ddl[j],'  ',(i+1,j+1),'  ',self.mat[i,j],' ',matp[i,j]
+           liste_i.append(i+1)
+           liste_j.append(j+1)
+           liste_matt.append(self.mat[i,j])
+           liste_matp.append(matp[i,j])
+           liste_diff.append( abs(self.mat[i,j]-matp[i,j])/ ( abs(self.mat[i,j]) + abs(matp[i,j]) + self.prec_zero))
+#       print '-'*80
+       if self.norme > self.prec_zero :
+         ecart = (self.mat - matp)/2.
+         nor_ecart = trace(dot(transpose(ecart),ecart))
+         nor_diff= nor_ecart / self.norme
+       else :
+         nor_diff= 0.
+       return liste_i,liste_j,liste_matt,liste_matp, liste_diff,nor_diff
+
+     def Symetrie(self,prec_diff = 1.E-4) :
+       """
+         VERIFICATION QUE LA MATRICE TANGENTE EST SYMETRIQUE
+         On retourne la norme relative de l'ecart a la symetrie : || (A-At)/2|| / ||A||
+         On affiche les termes qui s'ecartent de la symetrie
+
+         prec_diff : ecart au-dessus duquel on considere que ce n'est pas OK
+       """
+
+       tran = transpose(self.mat)
+       liste_i,liste_j,liste_matt,liste_matp,liste_diff,nor_diff=self.Difference(tran,affi_ok=0,prec_diff=prec_diff)
+       
+#       if self.norme > self.prec_zero :
+#         ecart = (self.mat - tran)/2.
+#         nor_ecart = trace(dot(transpose(ecart),ecart))
+#         return nor_ecart / self.norme
+#       else :
+#         return 0.
+       return liste_i,liste_j,liste_matt,liste_matp, liste_diff,nor_diff
+     def Sauve(self,nom_fichier) : 
+       cPickler.dump(self.__dict__)
+       
+def veri_matr_tang_ops(self,SYMETRIE,DIFFERENCE,PRECISION,**args):
+
+   """
+      Ecriture de la macro verif_matrice_tangente_ops
+   """
+   import os
+   from Accas import _F
+   from Noyau.N_utils import AsType
+   from Utilitai.Utmess     import UTMESS
+   from Utilitai.UniteAster import UniteAster
+
+   # On importe les definitions des commandes a utiliser dans la macro
+   CREA_TABLE  = self.get_cmd('CREA_TABLE')
+
+  # La macro compte pour 1 dans la numerotation des commandes
+   self.set_icmd(1)
+  # Le concept sortant (de type fonction) est nomme ROTGD dans 
+  # le contexte de la macro
+
+   self.DeclareOut('TAB_MAT',self.sd)
+   ier=0                                                                            
+   # La macro compte pour 1 dans la numerotation des commandes
+   self.set_icmd(1)
+   tgt=TANGENT()                                                                    
+   tgt.Aster(suffixe='MATA')                                                        
+   matp=TANGENT()                                                                   
+   matp.Aster(suffixe='MATC')                                                       
+   prec_diff = PRECISION                                                                                 
+   if (SYMETRIE=='OUI') :
+      list1_i,list1_j,list1_matt,list1_matp,list1_diff,symetgt=tgt.Symetrie(prec_diff)                                                        
+      list2_i,list2_j,list2_matt,list2_matp,list2_diff,symeper=matp.Symetrie(prec_diff)                                                       
+      print 'Symetrie de la matrice tangente',symetgt                            
+      print 'Symetrie de la matrice pr pertubation',symeper                      
+      aster.affiche('MESSAGE',str(tgt.Difference(matp,prec_diff) ))
+   if (DIFFERENCE=='OUI'):                                                            
+       liste_i,liste_j,liste_matt,liste_matp,liste_diff,nor_diff=tgt.Difference(matp,prec_diff)
+       print 'différence entre matrice tangente et matrice par pertubation',nor_diff       
+       TAB_MAT=CREA_TABLE(LISTE=(
+                     _F(PARA     ='I',LISTE_I = liste_i),
+                     _F(PARA     ='J',LISTE_I = liste_j),
+                     _F(PARA     ='MAT_TGTE',LISTE_R = liste_matt),
+                     _F(PARA     ='MAT_PERT',LISTE_R = liste_matp),
+                     _F(PARA     ='MAT_DIFF',LISTE_R = liste_diff),
+                     ))
+   return
+                                                     
+VERI_MATR_TANG=MACRO(nom="VERI_MATR_TANG",op=veri_matr_tang_ops,sd_prod=table_sdaster,
+                       docu="",reentrant='n',
+fr="verification de la matrice tangente : symétrie et différence par rapport a la matrice calculée par perturbation",
+         regles=(AU_MOINS_UN('SYMETRIE','DIFFERENCE')),
+         SYMETRIE        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+         DIFFERENCE      =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
+         PRECISION       =SIMP(statut='f',typ='R',defaut=1.E-4 ),
+)  ;
+
+
+
diff --git a/Aster/Cata/cataSTA9/Macro/externe_mess.py b/Aster/Cata/cataSTA9/Macro/externe_mess.py
new file mode 100644 (file)
index 0000000..718900f
--- /dev/null
@@ -0,0 +1,27 @@
+#@ MODIF externe_mess Macro  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+import sys
+"""
+Définition de la méthode UTMESS pour reca_xxxx.py, Graph.py, Table.py
+"""
+def UTMESS(code,sprg,texte):
+   fmt='\n <%s> <%s> %s\n\n'
+   print fmt % (code,sprg,texte)
+   if code=='F': sys.exit()
diff --git a/Aster/Cata/cataSTA9/Messages/algorith15.py b/Aster/Cata/cataSTA9/Messages/algorith15.py
new file mode 100644 (file)
index 0000000..1df60f3
--- /dev/null
@@ -0,0 +1,491 @@
+#@ MODIF algorith15 Messages  DATE 09/10/2007   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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg = {
+
+1 : _("""
+ arret sur nombres de DDL interface non identiques 
+ nombre de ddl interface droite:  %(i1)d 
+ nombre de ddl interface gauche:  %(i2)d 
+"""),
+
+2 : _("""
+ arret sur dimension matrice TETA incorrecte
+ dimension effective :  %(i1)d 
+ dimension en argument:  %(i2)d 
+"""),
+
+3 : _("""
+  erreur de répétitivité cyclique
+"""),
+
+4 : _("""
+  il manque un DDL sur un noeud gauche
+  type du DDL  -->  %(k1)s 
+  nom du noeud -->  %(k2)s 
+"""),
+
+5 : _("""
+  erreur  de répétitivité cyclique
+"""),
+
+6 : _("""
+  il manque un DDL sur un noeud droite
+  type du ddl  -->  %(k1)s 
+  nom du noeud -->  %(k2)s 
+"""),
+
+7 : _("""
+ arret sur problème de répétitivité cyclique
+"""),
+
+8 : _("""
+ la composante : %(k1)s  est une composante indefinie
+"""),
+
+9 : _("""
+"""),
+
+10 : _("""
+ arret sur type de DDL non défini
+"""),
+
+11 : _("""
+ "NB_POIN" est inférieur au nombre de points de l'interspectre.
+ le spectre est tronqué à la fréquence :  %(r1)f 
+"""),
+
+12 : _("""
+ le "NB_POIN" donné est modifié
+ (en une puissance de 2 compatible avec l'interspectre)
+ le "NB_POIN" retenu est :   %(i1)d 
+"""),
+
+13 : _("""
+ la durée est trop grande ou NB_POIN et trop petit par rapport
+ à la fréquence max (théorème de Shannon).
+ on choisit NBPOIN =  %(i1)d 
+"""),
+
+14 : _("""
+ la durée est petite par rapport au pas de discrétisation de l'interspectre.
+ choisir plutot : durée >  %(r1)f 
+"""),
+
+15 : _("""
+ "NB_POIN" est petit par rapport au pas de discrétisation de l'interspectre.
+ NB_POIN =  %(i1)d 
+ il faudrait un nombre supérieur à :  %(r1)f 
+"""),
+
+16 : _("""
+ on n'a pas trouve le DDL pour le noeud :  %(k1)s 
+"""),
+
+17 : _("""
+    de la sous-structure :  %(k1)s 
+"""),
+
+18 : _("""
+    et sa composante :  %(k1)s 
+"""),
+
+19 : _("""
+  il manque le seuil  pour la fonction interprétée  %(k1)s 
+"""),
+
+20 : _("""
+ l'abscisse lineaire est nulle pour la courbe :  %(k1)s 
+ 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 
+"""),
+
+25 : _("""
+ ALPHA est nul et le nombre de mesures est strictement inférieur au nombre de modes
+ risque de matrice singulière
+"""),
+
+26 : _("""
+ calcul moindre norme 
+"""),
+
+27 : _("""
+  problème calcul valeurs singulieres
+  pas      =   %(i1)d
+  abscisse =    %(r1)f 
+"""),
+
+28 : _("""
+  la matrice (PHI)T*PHI + ALPHA n'est pas inversible
+  pas      =   %(i1)d 
+  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 
+"""),
+
+46 : _("""
+  nombre d'itérations insuffisant 
+"""),
+
+47 : _("""
+  F(XMIN) > 0 
+"""),
+
+48 : _("""
+  maille :  %(k1)s
+  nombre d iterations =  %(i1)d
+  ITER_INTE_MAXI =  %(i2)d 
+"""),
+
+49 : _("""
+  DP    actuel =  %(r1)f
+  F(DP) actuel =  %(r2)f 
+"""),
+
+50 : _("""
+  DP    initial   =  %(r1)f
+  F(DP) initial   =  %(r2)f 
+"""),
+
+51 : _("""
+  DP    maximum   =  %(r1)f
+  F(DP) maximum   =  %(r2)f 
+"""),
+
+52 : _("""
+  allure de la fonction
+  nb points :  %(i1)d 
+"""),
+
+53 : _("""
+  DP     =  %(r1)f
+  F(DP)  =  %(r2)f 
+"""),
+
+54 : _("""
+"""),
+
+55 : _("""
+  incohérence détectée 
+"""),
+
+56 : _("""
+  le noeud :  %(k1)s  de l'interface dynamique :  %(k2)s 
+  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 
+"""),
+
+60 : _("""
+  le noeud :  %(k1)s  de l'interface dynamique :  %(k2)s 
+  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 
+  n'est pas correctement référencé dans le squelette :  %(k3)s 
+"""),
+
+63 : _("""
+  conflit mot clés TOUT et GROUP_NO dans RECO_GLOBAL 
+"""),
+
+64 : _("""
+  erreur de nom
+  la sous-structure :  %(k1)s  n a pas ete trouvée 
+"""),
+
+65 : _("""
+  incohérence de nom
+  l interface dynamique  :  %(k1)s 
+  de la sous-structure   :  %(k2)s 
+  a pour groupe de noeud :  %(k3)s 
+  or group_no_1 =  %(k4)s 
+"""),
+
+66 : _("""
+  erreur de nom
+  la sous-structure :  %(k1)s  n'a pas ete trouvée 
+"""),
+
+67 : _("""
+  incohérence de nom
+  l interface dynamique  :  %(k1)s 
+  de la sous-structure   :  %(k2)s 
+  a pour groupe de noeud :  %(k3)s 
+  or group_no_2 =  %(k4)s 
+"""),
+
+68 : _("""
+ nombre de points pas période             :  %(i1)d 
+ coefficient de remontee du pas de temps  :  %(r1)f 
+ coefficient de division du pas de temps  :  %(r2)f 
+ coeff déterminant DT MIN (=DT INIT*COEFF):  %(r3)f 
+ nombre maximal de réductions du pas      :  %(i2)d 
+ vitesse minimale variable                :  %(k1)s 
+"""),
+
+69 : _("""
+ nombre incorrect de sous-structures
+ il vaut :  %(i1)d 
+ alors que le nombre total de sous-structures vaut :  %(i2)d 
+"""),
+
+70 : _("""
+ nombre incorrect de sous-structures
+ pour le chargement numero : %(i1)d 
+ il en faut exactement :  %(i2)d 
+ vous en avez          :  %(i3)d 
+"""),
+
+71 : _("""
+ nombre incorrect de vecteurs chargements
+ pour le chargement numero : %(i1)d 
+ il en faut exactement :  %(i2)d 
+ vous en avez          :  %(i3)d 
+"""),
+
+72 : _("""
+ un PROF_CHNO n'est pas défini
+ il manque pour le chargement : %(k1)s 
+"""),
+
+73 : _("""
+ on doit avoir le meme type de forces pour un meme chargement global
+ or, la grandeur vaut   :  %(i1)d 
+ pour la sous-structure    %(k1)s 
+ et elle vaut           :  %(i2)d 
+ pour la sous-structure    %(k2)s 
+"""),
+
+74 : _("""
+ une des bases modales a un type incorrect
+ elle est associée à la sous-structure  %(k1)s 
+"""),
+
+75 : _("""
+ les numérotations ne coincident pas pour la sous-structure : %(k1)s 
+ le PROF_CHNO pour la base modale est :  %(k2)s 
+ et celui pour le second membre       :  %(k3)s 
+"""),
+
+85 : _("""
+  l''interface de droite n'existe pas
+  interface de nom %(k1)s 
+"""),
+
+86 : _("""
+  l''interface de gauche n'existe pas
+  interface de nom %(k1)s 
+"""),
+
+87 : _("""
+  l'interface axe n'existe pas
+  interface de nom %(k1)s 
+"""),
+
+88 : _("""
+ arret sur problème interfaces de type différents
+"""),
+
+89 : _("""
+ arret sur problème de type interface non supporté
+ type interface -->  %(k1)s 
+"""),
+
+90 : _("""
+ le nombre d'amortissements réduits est trop grand
+ le nombre de modes propres vaut  %(i1)d 
+ et le nombre de coefficients  :  %(i2)d 
+ on ne garde donc que les  %(i3)d premiers coefficients
+"""),
+
+91 : _("""
+ le nombre d'amortissements réduits est insuffisant
+ il en manque :  %(i1)d 
+ car le nombre de modes vaut :  %(i2)d 
+ on rajoute %(i3)d coefficients avec la valeur du dernier coefficient.
+"""),
+
+92 : _("""
+ Nombre de modes propres calculés insuffisant.
+"""),
+
+93 : _("""
+ MODE_MECA : %(k1)s 
+"""),
+
+94 : _("""
+ Nombre de modes propres limités à : %(i1)d 
+"""),
+
+95 : _("""
+ l'entrée d'amortissements réduits est incompatible 
+ avec des matrices de type  %(k1)s 
+ Il faut des matrices de type MATR_ASSE_GENE_*
+"""),
+
+96 : _("""
+ le nombre d'amortissements réduits est trop grand
+ le nombre de modes propres vaut  %(i1)d 
+ et le nombre de coefficients :  %(i2)d 
+ on ne garde donc que les  %(i3)d premiers coefficients 
+"""),
+
+97 : _("""
+ le nombre d'amortissements réduits est insuffisant
+ il en manque :  %(i1)d 
+ car le nombre de modes vaut :  %(i2)d
+ on rajoute  %(i3)d amortissement reduits avec la valeur du dernier mode propre.
+"""),
+
+98 : _("""
+ incohérence dans le DATASET 58
+ le nombre de valeurs fournies ne correspond pas au nombre de valeurs attendues
+ mesure concernée :  %(i1)d 
+"""),
+
+99 : _("""
+ le nombre maximum d'itérations  %(i1)d  est atteint sans converger 
+ le résidu relatif final est  : %(r1)f 
+ l instant de calcul vaut     : %(r2)f 
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/algorith16.py b/Aster/Cata/cataSTA9/Messages/algorith16.py
new file mode 100644 (file)
index 0000000..e7a7a8b
--- /dev/null
@@ -0,0 +1,617 @@
+#@ MODIF algorith16 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg = {
+
+1 : _("""
+ nombre de pas de calcul       :  %(i1)d
+ nombre d'itérations           :  %(i2)d
+ ----------------------------------------------
+
+"""),
+
+2 : _("""
+  infos noeuds de choc
+  lieu de choc   :  %(i1)d
+  noeud de choc  :  %(k1)s
+"""),
+
+3 : _("""
+ sous-structure : %(k1)s
+"""),
+
+4 : _("""
+ coordonnees    : x :  %(r1)f
+                  y :  %(r2)f
+                  z :  %(r3)f
+"""),
+
+5 : _("""
+ 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
+
+ origine choc x : %(r2)f
+              y : %(r3)f
+              z : %(r4)f
+
+ norm_obst sin(alpha) : %(r5)f
+           cos(alpha) : %(r6)f
+           sin(beta)  : %(r7)f
+           cos(beta)  : %(r8)f
+
+ angl_vrille : sin(gamma) : %(r9)f
+               cos(gamma) : %(r10)f
+"""),
+
+9 : _("""
+ 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
+
+"""),
+
+12 : _("""
+ le nombre d'amortissements réduits est trop grand
+ le nombre de modes retenus vaut  %(i1)d
+ et le nombre de coefficients :  %(i2)d
+ on ne garde donc que les  %(i3)d
+   %(k1)s
+"""),
+
+13 : _("""
+ le nombre d'amortissements reduits est insuffisant
+ il en manque :  %(i1)d
+ car le nombre de modes vaut :  %(i2)d
+ on rajoute  %(i3)d
+   %(k1)s
+   %(k2)s
+"""),
+
+14 : _("""
+ pas de temps utilisateur trop grand :   %(r1)f
+ pas de temps necessaire pour le calcul: %(r2)f
+ risques de problemes de precision
+
+"""),
+
+15 : _("""
+ pas de temps utilisateur trop grand :   %(r1)f
+ pas de temps necessaire pour le calcul: %(r2)f
+ parametres de calcul dans ce cas
+ nb de pas de calcul :  %(i1)d
+
+"""),
+
+16 : _("""
+ pas de temps utilisateur trop grand   : %(r1)f
+ pas de temps necessaire pour le calcul: %(r2)f
+"""),
+
+17 : _("""
+ parametres de calcul dans ce cas
+ nb de pas de calcul :  %(i1)d
+
+"""),
+
+18 : _("""
+ le nombre d'amortissements reduits est trop grand
+ le nombre de modes propres vaut  %(i1)d
+ et le nombre de coefficients :  %(i2)d
+ on ne garde donc que les  %(i3)d
+   %(k1)s
+
+"""),
+
+19 : _("""
+ le nombre d'amortissements reduits est insuffisantil en manque :  %(i1)d
+ car le nombre de modes vaut :  %(i2)d
+ on rajoute  %(i3)d
+   %(k1)s
+   %(k2)s
+
+"""),
+
+20 : _("""
+ !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!mode dynamique           :  %(i1)d
+ amortissement trop grand :  %(r1)f
+ amortissement critique   :  %(r2)f
+ problemes de convergence possibles %(k1)s
+
+"""),
+
+21 : _("""
+ taux de souplesse negligée : %(r1)f
+"""),
+
+22 : _("""
+ calcul par superposition modale :
+ la base de projection est un %(k1)s
+ le nb d'équations est          : %(i1)d
+ la methode utilisée est        : %(k2)s
+ la base utilisée est           : %(k3)s
+ le nb de vecteurs de base est  :  %(i2)d
+"""),
+
+23 : _("""
+ le pas de temps initial est  : %(r1)f
+ le nb de pas d'archive est     :  %(i1)d
+"""),
+
+24 : _("""
+ NUME_VITE_FLUI                 :  %(i1)d
+ vitesse gap                    :  %(r1)f
+ le nb de modes de BASE_FLUI    :  %(i2)d
+ le nb total de modes de la base:  %(i3)d
+ le pas de temps initial est    :  %(r2)f
+ durée de l'excitation          :  %(r3)f
+"""),
+
+25 : _("""
+ le nb de pas d'archive est     :  %(i1)d
+"""),
+
+26 : _("""
+ le pas de temps du calcul est  : %(r1)f
+ le nb de pas de calcul est     :  %(i1)d
+ 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
+ amortissement critique   :  %(r2)f
+ probleme de convergence possible %(k1)s
+"""),
+
+39 : _("""
+ sous-structuration dynamique
+ calcul par superposition modale
+ ----------------------------------------------
+ ! la numerotation utilisee est   :  %(k1)s
+ ! le nb d'equations est          :  %(i1)d
+ ! la methode utilisee est        :  %(k2)s
+ !    - nb de vecteurs dynamiques :  %(i2)d
+ !    - nb de deformees statiques :  %(i3)d
+"""),
+
+40 : _("""
+ ! le pas de temps initial est  : %(r1)f
+"""),
+
+41 : _("""
+ ! le pas de temps du calcul est  : %(r1)f
+ ! le nb de pas de calcul est     :  %(i1)d
+"""),
+
+42 : _("""
+ ! 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
+  interface 1      -->  %(k2)s
+  sous-structure 2 -->  %(k3)s
+  interface 2      -->  %(k4)s
+
+"""),
+
+45 : _("""
+ conflit dans les vis_a_vis des noeudsle noeud  %(k1)s
+ est le vis-a-vis des noeuds  %(k2)s
+ et  %(k3)s
+
+"""),
+
+46 : _("""
+ Le critère de vérification ne peut etre relatif dans votre cas,
+ la longueur caracteristique de l'interface de la sous-structure etant nulle.
+  sous-structure 1 -->  %(k1)s
+  interface 1      -->  %(k2)s
+  sous-structure 2 -->  %(k3)s
+  interface 2      -->  %(k4)s
+
+"""),
+
+47 : _("""
+ les interfaces ne sont pas compatibles sous-structure 1 -->  %(k1)s
+  interface 1      -->  %(k2)s
+  sous-structure 2 -->  %(k3)s
+  interface 2      -->  %(k4)s
+
+"""),
+
+48 : _("""
+ les interfaces ne sont pas compatibles sous-structure 1 -->  %(k1)s
+  interface 1      -->  %(k2)s
+  sous-structure 2 -->  %(k3)s
+  interface 2      -->  %(k4)s
+
+"""),
+
+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
+ nombre noeuds interface droite -->  %(i1)d
+ nombre noeuds interface gauche -->  %(i2)d
+
+"""),
+
+51 : _("""
+ conflit dans les vis_a_vis des noeuds
+ le noeud  %(k1)s
+ est le vis-a-vis des noeuds  %(k2)s et  %(k3)s
+
+"""),
+
+52 : _("""
+ axe de symétrie cyclique différent de Oz
+ numéro du couple de noeuds :  %(i1)d
+ noeud droite -->  %(k1)s
+ noeud gauche -->  %(k2)s
+
+"""),
+
+53 : _("""
+  probleme de rayon droite-gauche differents
+  numero du couple de noeuds :  %(i1)d
+ noeud droite -->  %(k1)s
+ noeud gauche -->  %(k2)s
+
+"""),
+
+54 : _("""
+ probleme signe angle entre droite et gauche
+ numero du couple de noeuds:  %(i1)d
+ noeud droite -->  %(k1)s
+ noeud gauche -->  %(k2)s
+
+"""),
+
+55 : _("""
+ probleme valeur angle répétitivité cyclique
+ numero du couple de noeuds:  %(i1)d
+ noeud droite -->  %(k1)s
+ noeud gauche -->  %(k2)s
+
+"""),
+
+56 : _("""
+  vérification répétitivité : aucune erreur détectée
+"""),
+
+57 : _("""
+ les noeuds des interfaces ne sont pas alignés en vis-a-vis
+ les noeuds ont ete réordonnés
+
+"""),
+
+58 : _("""
+  arret sur probleme répétitivité cyclique
+  tentative de diagnostic:  %(k1)s
+"""),
+
+60 : _("""
+ VISCOCHABOCHE : erreur d'intégration
+  - Essai d'intégration numéro :  %(i1)d
+  - Convergence vers une solution non conforme,
+  - Incrément de déformation cumulée négative = %(r1)f,
+  - 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
+     - Convergence vers une solution non conforme,
+     - Incrément de déformation cumulée négative = %(r1)f
+     - Changer la taille d'incrément
+"""),
+
+65 : _("""
+    NADAI_B : ERREUR
+     - Non convergence a itération maxi : %(i1)d
+     - Convergence régulière mais trop lente
+     - ERREUR > %(r1)f
+     - Diminuer la taille d'incrément
+ """),
+
+66 : _("""
+    NADAI_B : ERREUR
+     - Non convergence à itération maxi : %(i1)d
+     - Convergence irrégulière & erreur > %(r1)f
+     - Diminuer la taille d'incrément
+ """),
+
+67 : _("""
+   NADAI_B : ERREUR
+     - Non convergence à itération maxi : %(i1)d
+     - ERREUR > %(r1)f
+     - Diminuer la taille d'incrément
+ """),
+
+68 : _("""
+ Arret par manque de temps CPU au numéro d'ordre %(i1)d
+
+   - Temps moyen par incrément de temps : %(r1)f
+   - Temps CPU restant :                  %(r2)f
+
+ La base globale est sauvegardée, elle contient les pas archivés avant l'arret
+
+ """),
+
+69 : _("""
+    %(k1)s: ERREUR
+      - Non convergence a itération maxi : %(i1)d
+      - Convergence régulière mais trop lente
+      - ERREUR > %(r1)f
+      - Diminuer la taille d'incrément
+ """),
+
+70 : _("""
+    %(k1)s: ERREUR
+     - Non convergence à itération maxi : %(i1)d
+     - Convergence irrégulière & erreur > %(r1)f
+     - Diminuer la taille d'incrément
+ """),
+
+71 : _("""
+    %(k1)s: ERREUR
+     - Non convergence à itération maxi : %(i1)d
+     - ERREUR > %(r1)f
+     - Diminuer la taille d'incrément
+
+ """),
+
+72 : _("""
+   LMARC : erreur d'intégration
+     - Essai d'intégration numéro : %(i1)d
+     - Divergence de l'intégration locale
+     - Diminuer la taille d'incrément
+ """),
+
+73 : _("""
+   LMARC : erreur d'intégration
+     - Essai d'intégration numéro : %(i1)d
+     - Convergence vers une solution non conforme
+     - Incrément de déformation cumulée négative : %(r1)f
+     - Changer la taille d'incrément
+ """),
+
+74 : _("""
+   LMARC : erreur
+     - Non convergence a itération maxi :  %(i1)d
+     - Convergence régulière mais trop lente
+     - Diminuer la taille d'incrément
+ """),
+
+75 : _("""
+   LMARC : erreur
+     - Non convergence a itération maxi :  %(i1)d
+     - Convergence irrégulière & erreur >  %(r1)f
+     - Diminuer la taille d'incrément
+ """),
+
+76 : _("""
+   LMARC : erreur
+     - Non convergence a itération maxi :  %(i1)d
+     - erreur > %(r1)f
+     - Diminuer la taille d'incrément
+ """),
+
+77 : _("""
+   Arret par manque de temps CPU au numéro d'ordre : %(i1)d
+     - Dernier instant archivé :      %(r1)f
+     - Numéro d'ordre correspondant : %(i2)d
+     - Temps moyen par pas de temps : %(r2)f
+     - Temps CPU restant :            %(r3)f
+  """),
+
+78 : _("""
+  Précision du transitoire : %(r1)f
+  """),
+
+79 : _("""
+ Couplage temporel avec NB modes : %(i1)d
+  """),
+
+80 : _("""
+ Le nombre de lieu(x) de choc est : %(i1)d
+  """),
+
+81 : _("""
+ Le nombre de dispositifs anti-sismique est : %(i1)d
+  """),
+
+82 : _("""
+ le nombre de lieu(x) de choc avec flambement est : %(i1)d
+  """),
+
+83 : _("""
+ Le nombre de RELA_EFFO_DEPL est : %(i1)d
+  """),
+
+84 : _("""
+ 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
+     - Nombre d'appels à ALITMI :     %(i1)d
+     - Temps moyen par pas de temps : %(r2)f
+     - Temps CPU restant :            %(r3)f
+  """),
+
+88 : _("""
+   Arret par manque de temps CPU au pas de temps : %(i1)d
+     - A l'instant  :                %(r1)f
+     - Temps moyen par pas :         %(r2)f
+     - Temps CPU restant :           %(r3)f
+  """),
+
+89 : _("""
+   On passe outre car VERI_PAS = NON
+  """),
+
+92 : _("""
+   Au noeud de choc %(k1)s
+  """),
+
+93 : _("""
+   Pour le noeud n0 : %(i1)d
+    - Raideur locale DEPX : %(r1)f
+    - Raideur locale DEPY : %(r2)f
+    - Raideur locale DEPZ : %(r3)f
+  """),
+
+94 : _("""
+  il manque les paramètres de Van_Genuchten
+ """),
+
+95 : _("""
+  Van_Genuchten non autorisé pour ce modèle de couplage
+ """),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/ascouf0.py b/Aster/Cata/cataSTA9/Messages/ascouf0.py
new file mode 100644 (file)
index 0000000..f6e9159
--- /dev/null
@@ -0,0 +1,327 @@
+#@ MODIF ascouf0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+La condition aux limites sur bol à section conique 
+est ignorée pour un coude avec sous-épaisseurs.
+"""),
+
+2: _("""
+Mot-clé AZIMUT non autorisé dans le cas d'un coude sain"
+"""),
+
+3: _("""
+POSI_ANGUL POSI_CURV_LONGI est obligatoire.
+"""),
+
+4: _("""
+Il faut renseigner : ANGLE, R_CINTR et POSI_ANGUL ou ANGLE, R_CINTR et POSI_CURV_LONGI.
+"""),
+
+5: _("""
+ANGL_COUDE et ANGL_SOUS_EPAI sont inutiles dans ce cas.
+"""),
+
+6: _("""
+ ASCSEP valeur hors domaine
+ sous-epaisseur numero : %(i1)d
+ taille axe circonferentiel : %(r1)f
+ bord plaque : %(r2)f
+"""),
+
+7: _("""
+ ASCSEP cas de symetrie :
+ la sous-epaisseur doit etre dans la section mediane du coude !
+"""),
+
+
+9: _("""
+ Valeur hors domaine :
+ sous-epaisseur numero :%(i1)d
+ absc. curv. circonf. :%(r1)f
+ bord plaque :%(r2)f
+"""),
+
+10: _("""
+ Valeur hors domaine :
+ sous-epaisseur numero :%(i1)d
+ absc. curv. longit.  :%(r1)f
+ bord plaque :%(r2)f
+"""),
+
+11: _("""
+ valeur hors domaine :
+ sous-epaisseur numero :%(i1)d
+ bord inferieur  :%(r1)f
+ bord plaque :%(r2)f
+"""),
+
+
+13: _("""
+ Les quart et demi structure ne peuvent etre réalisees 
+ sur un modèle comportant une transition d'épaisseur.
+"""),
+
+14: _("""
+ Les deux embouts doivent etre de meme longueur pour les cas de symétrie.
+"""),
+
+15: _("""
+ Longueur d'embout P1 inférieure a la longueur d'amortissement = %(r1)f
+"""),
+
+16: _("""
+ Longueur d'embout P2 inférieure à la longueur d'amortissement = %(r1)f
+"""),
+
+17: _("""
+ La condition aux limites raccord 3d-poutre appliquée avec la macro de calcul
+ ascouf n'est pas licite avec un embout de type conique.
+"""),
+
+18: _("""
+ Le nombre d'elements dans l'epaisseur du coude n'est pas parametrable pour
+ un coude avec fissure.
+ Le mot-cle NB_ELEM_EPAIS est ignoré.
+"""),
+
+19: _("""
+ Pour les fissures non axisymetriques, la longueur doit etre spécifiée.
+"""),
+
+20: _("""
+ La fissure est axisymetrique : on ne tient pas compte de la longueur spécifiée.
+"""),
+
+21: _("""
+ Avec une transition d'épaisseur,la fissure doit obligatoirement etre transverse.
+"""),
+
+23: _("""
+ L'orientation de la fissure doit etre transverse (orien : 90.) pour modéliser
+ un quart ou une demi structure.
+"""),
+
+24: _("""
+ La fissure est axisymetrique : son orientation doit etre transverse (ORIEN : 90.)
+"""),
+
+25: _("""
+ Il ne peut pas y avoir plusieurs sous-épaisseurs en meme temps
+ qu'une transition d'épaisseur: 
+ si une seule sous-épaisseur, alors utiliser SOUS_EPAIS_COUDE.
+"""),
+
+26: _("""
+ Avec une transition d'épaisseur,il doit obligatoirement y avoir un défaut,
+ soit une fissure  soit une sous-épaisseur.
+"""),
+
+27: _("""
+ Ne modéliser qu'une seule sous-épaisseur pour un quart ou demi-coude.
+"""),
+
+28: _("""
+ Vous ne pouvez déclarer la sous-epaisseur comme axisymetrique et donner
+ une taille d'axe circonferentiel.
+"""),
+
+29: _("""
+ Vous devez donner une taille d'axe circonférentiel pour une sous-épaisseur
+ de type elliptique.
+"""),
+
+30: _("""
+ Valeur hors domaine de validité :
+ sous-épaisseur numéro :%(i1)d
+ abscisse curv. longit. :%(r1)f
+ valeur maximale autorisée :%(r2)f
+"""),
+
+31: _("""
+ Valeur hors domaine de validité :
+ sous-épaisseur numéro :%(i1)d
+ position angulaire centre sous-ep :%(r1)f
+ valeur limite autorisée :%(r2)f
+"""),
+
+32: _("""
+ Valeur hors domaine de validité : 
+ sous-épaisseur numero :%(i1)d
+ abscisse curv. circonf. :%(r1)f
+ valeur limite autorisée :%(r2)f
+"""),
+
+33: _("""
+ Le centre d'une sous-épaisseur axisymétrique est imposé en intrados (pi*RM).
+"""),
+
+34: _("""
+ Le centre d'une sous-épaisseur axisymétrique est imposé en intrados.
+ L'azimut est fixé à 180 degrés.
+"""),
+
+35: _("""
+ Le nombre d'élements dans l'épaisseur du coude n'est pas parametrable pour
+ la version 2 de la procedure de plaque avec sous-épaisseur : 
+ mot-cle NB_ELEM_EPAIS ignoré.
+"""),
+
+36: _("""
+ Valeur hors domaine de validité :
+ surépaisseur :%(i1)d
+ valeur limite autorisée (RM-EP1/2) :%(r1)f
+"""),
+
+37: _("""
+ Valeur hors domaine de validité :
+ le rayon de cintrage : %(r1)f
+ doit etre supérieur a (RM+EP1/2) :%(r2)f
+"""),
+
+38: _("""
+ Valeur hors domaine de validité (5,50)
+ rapport RM/EP1 : %(r1)f
+"""),
+
+39: _("""
+ Valeur hors domaine de validité :
+ abscisse curviligne centre fissure :%(r1)f
+ valeur limite autorisée :%(r2)f
+"""),
+
+40: _("""
+ Valeur hors domaine de validité : 
+ nombre de tranches :%(i1)d
+"""),
+
+41: _("""
+ Valeur hors domaine de validité :
+ position angulaire  centre fissure : %(r1)f
+ posi_angul doit etre >= 0 et <= %(r2)f 
+"""),
+
+42: _("""
+ Valeur hors domaine de validité : 
+ début transition d'épaisseur :%(r1)f
+ valeur minimale autorisée :%(r2)f
+ valeur maximale autorisée :%(r3)f
+"""),
+
+43: _("""
+ Valeur hors domaine de validité :
+ angle de transition TETA1 : %(r1)f
+ valeur minimale autorisée : 0.
+ valeur maximale autorisée : 30.
+"""),
+
+44: _("""
+ Valeur hors domaine de validité :
+ épaisseur avant la transition :%(r1)f
+ valeur minimale autorisée : 12
+ valeur maximale autorisée : 80
+"""),
+
+45: _("""
+ Valeur hors domaine de validité : 
+ épaisseur apres la transition :%(r1)f
+ valeur minimale autorisée : 20
+ valeur maximale autorisée : 110
+"""),
+
+46: _("""
+ L'épaisseur avant la transition doit etre inférieure
+ à celle apres la transition.
+"""),
+
+47: _("""
+ Valeur hors domaine de validité :
+ fin transition d'épaisseur :%(r1)f
+ valeur limite autorisée :%(r2)f
+"""),
+
+48: _("""
+ Valeur hors domaine de validité :
+ diam ext du tube avant transition:%(r1)f
+ valeur minimum autorisée : 112.
+ valeur maximum autorisée : 880.
+"""),
+
+49: _("""
+ Valeur hors domaine de validité :
+ angle de transition TETA2: %(r1)f
+ valeur minimum autorisée : 0.
+ valeur maximum autorisée : 45.
+"""),
+
+50: _("""
+ Valeur hors domaine de validité :
+ epaisseur avant 1ere transition:%(r1)f
+ valeur minimum autorisee : 7.
+ valeur maximum autorisee : 35.
+"""),
+
+51: _("""
+ Valeur hors domaine de validité :
+ epaisseur avant 2eme transition:%(r1)f
+ valeur minimum autorisee : 15.
+ valeur maximum autorisee : 40.
+"""),
+
+52: _("""
+ Valeur hors domaine de validité :
+ épaisseur intermediaire:%(r1)f
+ valeur minimum autorisée : 15.
+ valeur maximum autorisée : 40.
+"""),
+
+53: _("""
+ Valeur hors domaine de validité.
+ L'épaisseur avant la transition doit etre inférieure
+ à l'épaisseur intermediaire.
+"""),
+
+54: _("""
+ Valeur hors domaine de validité.
+ L'épaisseur après la transition doit etre inférieure
+ à l'épaisseur intermediaire.
+"""),
+
+55: _("""
+ Valeur hors domaine de validité :
+ fin transition d'épaisseur:%(r1)f
+ valeur limite autorisée :%(r2)f
+"""),
+
+56: _("""
+ Valeur hors domaine de validité :
+ diam ext du tube avant transition:%(r1)f
+ valeur minimum autorisée : 77.
+ valeur maximum autorisée : 355.
+"""),
+
+57: _("""
+Seuls gibi98 et gibi2000 sont appelables.
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/aspic0.py b/Aster/Cata/cataSTA9/Messages/aspic0.py
new file mode 100644 (file)
index 0000000..5d69b01
--- /dev/null
@@ -0,0 +1,113 @@
+#@ MODIF aspic0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+Vous affectez plus d'un materiau contenant l'option rccm.
+"""),
+
+2: _("""
+Pour les piquages sains, TUBULURE doit etre renseigné.
+"""),
+
+3: _("""
+EQUILIBRE[NOEUD] : on attend P1_CORP ou P2_CORP.
+"""),
+
+4: _("""
+Il faut préciser un noeud pour EFFE_FOND.
+"""),
+
+5: _("""
+PRES_REP[NOEUD] : on attend P1_CORP ou P2_CORP.
+"""),
+
+6: _("""
+On ne peut appliquer un EFFE_FOND sur PRES_REP[NOEUD] car ce noeud est bloqué"
+"""),
+
+7: _("""
+TORS_CORP[NOEUD] : on attend P1_CORP ou P2_CORP.
+"""),
+
+8: _("""
+On ne peut appliquer un torseur sur TORS_CORP[NOEUD] car ce noeud est bloqué.
+"""),
+
+9: _("""
+Si TYPE_MAILLAGE sain : mécanique de la rupture impossible.
+"""),
+
+10: _("""
+Mot-clef <BORNES> obligatoire avec cette option.
+"""),
+
+11: _("""
+Impression de résultats demandée sans préciser le nom des champs cf. la documentation utilisateur : U4.PC.20.
+"""),
+
+12: _("""
+Les piquages pénetrants sont autorisés uniquement avec les soudures de type 1.
+"""),
+
+13: _("""
+ Erreur donnees
+ Z_MAX fournie   : %(r1)f
+ Z_MAX calculee  : %(r2)f
+"""),
+
+14: _("""
+ Erreur donnees
+ Dans le cas de fissures inclinees debouchant en peau interne avec
+ piquage penetrant, le jeu doit etre nul.
+"""),
+
+15: _("""
+ Erreur donnees
+ Dans le cas de fissures internes (NON_DEB) le ligament inférieur est obligatoire.
+"""),
+
+16: _("""
+Dans le cas de fissures internes (NON_DEB) le ligament est trop petit.
+"""),
+
+17: _("""
+Dans le cas de fissures internes (NON_DEB) le ligament est trop grand.
+"""),
+
+18: _("""
+Dans le cas de fissures courte il faut préciser la longueur.
+"""),
+
+19: _("""
+Dans le cas de la fissure longue il faut préciser la longueur ou axis=oui.
+"""),
+
+20: _("""
+Fissure axisymetrique : le mot clef <LONGUEUR> ne doit pas etre renseigné.
+"""),
+
+21: _("""
+Seuls gibi98 et gibi2000 sont appelables.
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/cable0.py b/Aster/Cata/cataSTA9/Messages/cable0.py
new file mode 100644 (file)
index 0000000..f0d9dce
--- /dev/null
@@ -0,0 +1,35 @@
+#@ MODIF cable0 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+INST_FIN plus petit que INST_INIT.
+"""),
+
+2: _("""
+
+ --------------------------------------------------------------------------- 
+ DEFI_CABLE_BP - Erreur : MAILLE INTERDIT - UTILISER GROUP_MA               
+ --------------------------------------------------------------------------- 
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/elasmult0.py b/Aster/Cata/cataSTA9/Messages/elasmult0.py
new file mode 100644 (file)
index 0000000..a264171
--- /dev/null
@@ -0,0 +1,28 @@
+#@ MODIF elasmult0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+On ne peut avoir à la fois NOM_CAS et MODE_FOURIER.
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/execlogiciel0.py b/Aster/Cata/cataSTA9/Messages/execlogiciel0.py
new file mode 100644 (file)
index 0000000..c61ec4c
--- /dev/null
@@ -0,0 +1,56 @@
+#@ MODIF execlogiciel0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+Format Salome, l'argument 1 doit etre 
+le nom du fichier med produit par le script python.
+"""),
+
+2: _("""
+On ne sait pas traiter le format %(k1)s
+"""),
+
+3: _("""
+Code retour incorrect (MAXI %(i1)d) : %(i2)d' 
+"""),
+
+4: _("""
+Le mot-cle logiciel n'est pas utilise avec ce format.
+"""),
+
+5: _("""
+Erreurs lors de l'execution du fichier ci-dessous :
+<<<<<<<<<<<<<<< DEBUT DU FICHIER >>>>>>>>>>>>>>>
+%(k1)s
+<<<<<<<<<<<<<<<  FIN  DU FICHIER >>>>>>>>>>>>>>>
+"""),
+
+6: _("""
+Le fichier %(k1)s n'existe pas.
+"""),
+
+7: _("""
+Mode de lancement inconnu : %(k1)s
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/fatigue1.py b/Aster/Cata/cataSTA9/Messages/fatigue1.py
new file mode 100644 (file)
index 0000000..dcf3469
--- /dev/null
@@ -0,0 +1,273 @@
+#@ MODIF fatigue1 Messages  DATE 18/09/2007   AUTEUR DURAND C.DURAND 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+ Aucun élément du modèle ne sait calculer l'option
+ de fatigue multiaxiale, ('PFACY_R').
+ Il se peut que la modélisation affectée au groupe de mailles
+ sur lequel vous faites un calcul de fatigue ne soit pas "3D".
+
+ Le critère de fatigue que vous utilisez n'est utilisable qu'en 3D.
+
+"""),
+
+2: _("""
+ La modélisation affectée au groupe de mailles sur lequel vous
+ faites un calcul de fatigue n'est problament pas "3D".
+ La composante %(i1)d du tenseur des contraintes n'existe pas.
+
+ Le critère de fatigue que vous utilisez n'est utilisable qu'en 3D.
+
+"""),
+
+3: _("""
+ La modélisation affectée au groupe de mailles sur lequel vous
+ faites un calcul de fatigue n'est problament pas "3D".
+ La composante %(i1)d du tenseur des déformations n'existe pas.
+
+ Le critère de fatigue que vous utilisez n'est utilisable qu'en 3D.
+
+"""),
+
+4: _("""
+ le coefficient de Goodman n'est pas calculable
+"""),
+
+5: _("""
+ le coefficient de Gerber n'est pas calculable
+"""),
+
+6: _("""
+ pour calculer le dommage de Lemaitre-Sermage,
+ il faut définir le comportement DOMMA_LEMAITRE dans DEFI_MATERIAU
+"""),
+
+7: _("""
+ pour calculer le dommage de Lemaitre_Sermage,
+ il faut définir le comportement ELAS_FO dans DEFI_MATERIAU
+"""),
+
+8: _("""
+ le matériau est obligatoire pour le calcul du dommage par TAHERI_MANSON
+"""),
+
+9: _("""
+ une fonction doit être introduite sous le mot clé TAHERI_FONC
+"""),
+
+10: _("""
+ une nappe doit être introduite sous le mot clé TAHERI_NAPPE
+"""),
+
+11: _("""
+ la courbe de MANSON_COFFIN est nécessaire pour le calcul du dommage TAHERI_MANSON_COFFIN
+"""),
+
+12: _("""
+ le matériau est obligatoire pour le calcul du dommage par TAHERI_MIXTE
+"""),
+
+13: _("""
+ la courbe de MANSON_COFFIN est nécessaire pour le calcul du dommage TAHERI_MIXTE
+"""),
+
+14: _("""
+ la courbe de WOHLER est nécessaire pour le calcul du dommage TAHERI_MIXTE
+"""),
+
+15: _("""
+ méthode de comptage inconnue
+"""),
+
+16: _("""
+ nombre de cycles nul
+"""),
+
+17: _("""
+ l'utilisation de MANSON_COFFIN est réservé à des histoires de chargements en déformations
+"""),
+
+18: _("""
+ la courbe de MANSON_COFFIN doit être donnée dans DEFI_MATERIAU
+"""),
+
+19: _("""
+ les lois de TAHERI sont réservées pour des chargements en déformations
+"""),
+
+20: _("""
+ loi de dommage non compatible
+"""),
+
+21: _("""
+ l'histoire de chargement doit avoir même discrétisation pour toutes les composantes
+"""),
+
+22: _("""
+ l'histoire de la déformation plastique cumulée doit avoir même discrétisation que l'histoire des contraintes
+"""),
+
+23: _("""
+ l'histoire de la température doit avoir même discrétisation que l'histoire des contraintes
+"""),
+
+24: _("""
+ pour calculer le dommage, il faut définir le comportement "FATIGUE" dans DEFI_MATERIAU
+"""),
+
+25: _("""
+ la méthode 'TAHERI_MANSON' ne peut pas etre utilisée avec l'option %(k1)s
+"""),
+
+26: _("""
+ le nom de la fonction  nappe DSIGM(DEPSI,DEPSIMAX)
+ doit être présent sous le mot cle 'TAHERI_NAPPE'
+"""),
+
+27: _("""
+ le nom de la fonction DSIGM(DEPSI)
+ doit être présent sous le mot cle 'TAHERI_FONC'
+"""),
+
+28: _("""
+ la méthode 'TAHERI_MIXTE' ne peut pas être utilisée avec l'option %(k1)s
+"""),
+
+29: _("""
+ la methode 'WOHLER' ne peut pas être utilisée avec l'option %(k1)s 
+"""),
+
+30: _("""
+ une courbe de WOHLER doit être définie dans DEFI_MATERIAU
+"""),
+
+31: _("""
+ la methode 'MANSON_COFFIN' ne peut pas être utilisée avec l'option %(k1)s 
+"""),
+
+32: _("""
+ une courbe de MANSON_COFFIN doit être définie dans DEFI_MATERIAU
+"""),
+
+33: _("""
+ les mailles attachées au noeud traité ne sont pas affectées du même matériau.
+"""),
+
+34: _("""
+ la donnée d'une courbe de WOHLER est obligatoire
+"""),
+
+35: _("""
+ la donnée du moment spectral d'ordre 4 est obligatoire pour le comptage des pics de contraintes
+"""),
+
+36: _("""
+ la valeur du moment spectral d'ordre 0 (lambda_0) est certainement nulle
+"""),
+
+37: _("""
+ la valeur du moment spectral d'ordre 2 (lambda_2) est nulle
+"""),
+
+38: _("""
+ la valeur du moment spectral d'ordre 4 (lambda_4) est nulle
+"""),
+
+63: _("""
+ pour calculer le dommage max,
+ il faut renseigner CISA_PLAN_CRIT dans la commande DEFI_MATERIAU
+"""),
+
+64: _("""
+ nous ne pouvons pas récupérer la valeur du paramètre A du critère de MATAKE
+ commande: DEFI_MATERIAU
+ opérande: CISA_PLAN_CRIT
+"""),
+
+65: _("""
+ nous ne pouvons pas récupérer la valeur du paramètre B du critère de MATAKE
+ commande: DEFI_MATERIAU
+ opérande: CISA_PLAN_CRIT
+"""),
+
+66: _("""
+ nous ne pouvons pas récupérer la valeur du coefficient de passage flexion-torsion
+ commande: DEFI_MATERIAU
+ opérande: CISA_PLAN_CRIT
+"""),
+
+67: _("""
+ nous ne pouvons pas récupérer la valeur du paramètre A du critère de DANG_VAN_MODI_AC
+ commande: DEFI_MATERIAU
+ opérande: CISA_PLAN_CRIT
+"""),
+
+68: _("""
+ nous ne pouvons  pas récupérer la valeur du paramètre B du critère de DANG_VAN_MODI_AC
+ commande: DEFI_MATERIAU
+ opérande: CISA_PLAN_CRIT
+"""),
+
+69: _("""
+ nous ne pouvons  pas récupérer la valeur du coefficient de passage cisaillement-traction
+ commande: DEFI_MATERIAU
+ opérande: CISA_PLAN_CRIT
+"""),
+
+70: _("""
+ nous ne pouvons pas récupérer la valeur du paramètre A du critère DOMM_MAXI
+ commande: DEFI_MATERIAU
+ opérande: CISA_PLAN_CRIT
+"""),
+
+71: _("""
+ nous ne pouvons pas récupérer la valeur du paramètre B du critère DOMM_MAXI
+ commande: DEFI_MATERIAU
+ opérande: CISA_PLAN_CRIT
+"""),
+
+72: _("""
+ nous ne pouvons pas récupérer la valeur du coefficient de passage cisaillement-traction
+ commande: DEFI_MATERIAU
+ opérande: CISA_PLAN_CRIT
+"""),
+
+73: _("""
+ nous ne pouvons pas récupérer la valeur du paramètre A du critère DANG_VAN_MODI_AV
+ commande: DEFI_MATERIAU
+ opérande: CISA_PLAN_CRIT
+"""),
+
+74: _("""
+ nous ne pouvons pas récupérer la valeur du paramètre B du critère DANG_VAN_MODI_AV
+ commande: DEFI_MATERIAU
+ opérande: CISA_PLAN_CRIT
+"""),
+
+75: _("""
+ nous ne pouvons pas récupérer la valeur du paramètre A du critère FATEMI_SOCIE
+ commande: DEFI_MATERIAU
+ opérande: CISA_PLAN_CRIT
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/feti0.py b/Aster/Cata/cataSTA9/Messages/feti0.py
new file mode 100644 (file)
index 0000000..4f08b7f
--- /dev/null
@@ -0,0 +1,33 @@
+#@ MODIF feti0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+Afin de pouvoir générer les GROUP_MA, réduisez le nombre 
+de caractères de NOM_GROUP_MA à un maximum de : %(i1)d 
+"""),
+
+2: _("""
+Il existe déjà un GROUP_MA nommé : %(k1)s
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/fiabilite0.py b/Aster/Cata/cataSTA9/Messages/fiabilite0.py
new file mode 100644 (file)
index 0000000..eac4975
--- /dev/null
@@ -0,0 +1,28 @@
+#@ MODIF fiabilite0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+Le nombre d'élements du mot clé MATRICE doit etre égal à : %(i1)d
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/homard0.py b/Aster/Cata/cataSTA9/Messages/homard0.py
new file mode 100644 (file)
index 0000000..56ec8fe
--- /dev/null
@@ -0,0 +1,44 @@
+#@ MODIF homard0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+Cette macro commande est inconnue.
+"""),
+
+2: _("""
+Erreur : %(k1)s
+"""),
+
+3: _("""
+Impossible de tuer le fichier %(k1)s
+"""),
+
+4: _("""
+Impossible de créer le répertoire de travail pour HOMARD : %(k1)s
+"""),
+
+5: _("""
+Impossible de détruire le fichier :%(k1)s
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/matrice0.py b/Aster/Cata/cataSTA9/Messages/matrice0.py
new file mode 100644 (file)
index 0000000..0dc8346
--- /dev/null
@@ -0,0 +1,68 @@
+#@ MODIF matrice0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+ Cas fluides multiples : précisez le GROUP_MA dans lequel vous affectez la masse volumique RHO.
+"""),
+
+2: _("""
+ PRES_FLUIDE obligatoire une fois.
+"""),
+
+3: _("""
+ Amortissement ajouté sur modèle generalisé non encore implanté.
+"""),
+
+4: _("""
+ 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.
+"""),
+
+10: _("""
+ Pour calculer RIGI_MECA_HYST, il faut avoir calculé RIGI_MECA auparavant (dans le meme appel).
+"""),
+
+11: _("""
+ Pour calculer AMOR_MECA, il faut avoir calculé RIGI_MECA et MASS_MECA auparavant (dans le meme appel).
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/med.py b/Aster/Cata/cataSTA9/Messages/med.py
new file mode 100644 (file)
index 0000000..360adf5
--- /dev/null
@@ -0,0 +1,56 @@
+#@ MODIF med Messages  DATE 09/10/2007   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.        
+# ======================================================================
+
+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.
+"""),
+
+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
+"""),
+
+3: _("""
+Risque de résultats faux à cause d'une incompatibilité de points de Gauss
+entre Med et Aster.
+"""),
+
+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.
+
+"""),
+}
diff --git a/Aster/Cata/cataSTA9/Messages/meidee0.py b/Aster/Cata/cataSTA9/Messages/meidee0.py
new file mode 100644 (file)
index 0000000..0ed8040
--- /dev/null
@@ -0,0 +1,34 @@
+#@ MODIF meidee0 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+Le modèle mesuré doit etre un concept de type DYNA_HARMO ou MODE_MECA.
+"""),
+2: _("""
+Erreur pendant l'importation des modules MEIDEE.
+"""),
+3: _("""
+Le maillage et les déformées ne sont pas compatibles.
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/miss0.py b/Aster/Cata/cataSTA9/Messages/miss0.py
new file mode 100644 (file)
index 0000000..34253ec
--- /dev/null
@@ -0,0 +1,32 @@
+#@ MODIF miss0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+Longueur de LFREQ_LISTE incorrecte.
+"""),
+
+2: _("""
+Longueur de CONTR_LISTE incorrecte.
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/modal0.py b/Aster/Cata/cataSTA9/Messages/modal0.py
new file mode 100644 (file)
index 0000000..d20b51c
--- /dev/null
@@ -0,0 +1,29 @@
+#@ MODIF modal0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+MATR_ASSE et MATR_ASSE_GENE absents.
+"""),
+
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/oar0.py b/Aster/Cata/cataSTA9/Messages/oar0.py
new file mode 100644 (file)
index 0000000..897c64e
--- /dev/null
@@ -0,0 +1,52 @@
+#@ MODIF oar0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+Les coupes mécanique et thermique doivent partager les memes abscisses.
+"""),
+
+2: _("""
+Erreur d'interpolation: %(k1)s
+"""),
+
+3: _("""
+Les coupes du revetement et de la structure doivent partager une abscisse commune.
+"""),
+
+4: _("""
+Erreur d'accès aux données.
+"""),
+
+5: _("""
+Fonction non implantée.
+"""),
+
+6: _("""
+Mot clé facteur inconnu.
+"""),
+
+7: _("""
+Erreur à l'ouverture du fichier.
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/post0.py b/Aster/Cata/cataSTA9/Messages/post0.py
new file mode 100644 (file)
index 0000000..155efc5
--- /dev/null
@@ -0,0 +1,100 @@
+#@ MODIF post0 Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+Définition incorrecte de la ligne de coupe.
+"""),
+
+2: _("""
+Valeurs incorrectes pour VECT_Y.
+"""),
+
+3: _("""
+Valeurs incorrectes pour VECT_Y: x colinéaire a y.
+"""),
+
+4: _("""
+Le vecteur Y n'est pas orthogonal a la ligne de coupe.
+Le vecteur Y a ete orthonormalise pour vous.
+VECT_Y=(%(r1)f,%(r2)f,%(r3)f)
+"""),
+
+5: _("""
+Le type %(k1)s n'est pas cohérent avec le choix du repère (REPERE %(k2)s).
+"""),
+
+6: _("""
+Définition incorrecte de COOR_ORIG et CENTRE.
+"""),
+
+7: _("""
+Définition incorrecte de DNOR.
+"""),
+
+8: _("""
+Attention la ligne de coupe traverse des zones sans matière :
+ - Les coordonnées des points sur la ligne de coupe sont :
+            %(k1)s
+ - Les coordonnées des points éliminés (car hors de la matière) sont:
+            %(k2)s
+"""),
+
+9: _("""
+Nom du modèle absent dans le concept résultat %(k1)s.
+"""),
+
+10: _("""
+Veuillez renseigner le MODELE si vous utilisez un CHAM_GD.
+"""),
+
+11: _("""
+Dimensions de maillage et de coordonnées incohérentes.
+"""),
+
+12: _("""
+Le mot-clé 'DNOR' est obligatoire en 3D pour le type 'ARC'.
+"""),
+
+13: _("""
+Le group_no %(k1)s n'est pas dans le maillage %(k2)s.
+"""),
+
+14: _("""
+Le group_ma %(k1)s n'est pas dans le maillage %(k2)s.
+"""),
+
+15: _("""
+le group_ma %(k1)s contient la maille %(k2)s qui n'est pas de type SEG.
+"""),
+
+16: _("""
+On ne peut pas combiner des lignes de coupes de type ARC
+avec des lignes de coupes SEGMENT ou GROUP_NO.
+"""),
+
+17: _("""
+Le champ %(k1)s n'est pas traité par macr_ligne_coupe en repère %(k2)s.
+Le calcul est effectué en repère global.
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/poutre0.py b/Aster/Cata/cataSTA9/Messages/poutre0.py
new file mode 100644 (file)
index 0000000..9912e53
--- /dev/null
@@ -0,0 +1,36 @@
+#@ MODIF poutre0 Messages  DATE 04/09/2007   AUTEUR DURAND C.DURAND 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+GROUP_MA et GROUP_MA_BORD incohérents.
+"""),
+
+2: _("""
+GROUP_MA et NOEUD incohérents.
+"""),
+
+3: _("""
+Il faut donner un noeud unique.
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/prepost6.py b/Aster/Cata/cataSTA9/Messages/prepost6.py
new file mode 100644 (file)
index 0000000..48eeaa1
--- /dev/null
@@ -0,0 +1,195 @@
+#@ MODIF prepost6 Messages  DATE 11/09/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+"""),
+
+2: _("""
+ fichier med :  %(k1)s erreur efferm numero  %(i1)d 
+"""),
+
+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: _("""
+ verifier les parametres d'usure pour le secteur  %(i1)d 
+"""),
+
+5: _("""
+ verifier les parametres d'usure pour le secteur  %(i1)d 
+"""),
+
+6: _("""
+ composante %(k1)s / point  %(i1)d 
+"""),
+
+7: _("""
+   nombre de valeurs        =  %(i1)d    
+     %(r1)f, %(r2)f, ... 
+"""),
+
+8: _("""
+   nombre de pics extraits   =  %(i1)d
+     %(r1)f, %(r2)f, ... 
+"""),
+
+9: _("""
+   nombre de cycles detectes =  %(i1)d 
+"""),
+
+10: _("""
+   %(i1)d  /  %(r1)f   %(r2)f 
+"""),
+
+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: _("""
+ parametres de calcul du dommagenombre de numeros d'ordre  =  %(i1)d 
+ nombre de points de calcul =  %(i2)d 
+"""),
+
+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 
+ methode  de  comptage  des  cycles %(k5)s 
+ methode  de  calcul    du  dommage %(k6)s 
+"""),
+
+29: _("""
+ maille:  %(k1)s 
+"""),
+
+30: _("""
+ des mailles de peau ne s'appuient sur aucune maille support
+    maille:  %(k1)s 
+"""),
+
+31: _("""
+
+     ===== GROUP_MA ASTER / PHYSICAL GMSH =====
+
+"""),
+
+32: _("""
+
+  Le GROUP_MA GMSH GM10000 contient %(i1)d éléments :
+"""),
+
+33: _("""
+       %(i1)d éléments de type %(k1)s
+"""),
+
+34: _("""
+    La composante %(k1)s que vous avez renseignée ne fait pas partie
+    des composantes du champ à imprimer.
+"""),
+
+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: _("""
+ Veuillez utiliser IMPR_GENE pour l'impression 
+ de résultats en variables généralisées.
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/proba0.py b/Aster/Cata/cataSTA9/Messages/proba0.py
new file mode 100644 (file)
index 0000000..5e821db
--- /dev/null
@@ -0,0 +1,72 @@
+#@ MODIF proba0 Messages  DATE 11/09/2007   AUTEUR DURAND C.DURAND 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+  Il faut BORNE_INF < BORNE_SUP
+  BORNE_INF = %(r1)f
+  BORNE_SUP = %(r2)f
+"""),
+
+2: _("""
+  VALE_MOY trop grand ou trop petit
+  BORNE_INF = %(r1)f
+  VALE_MOY  = %(r2)f
+  BORNE_SUP = %(r3)f
+"""),
+
+3: _("""
+  BORNE SUP très grande, problème de précision possible,
+  vérifiez la distribution des valeurs générées.
+"""),
+
+4: _("""
+  On doit avoir : VALE_MOY > BORNE_INF 
+  VALE_MOY  = %(r1)f
+  BORNE_INF = %(r2)f
+"""),
+
+5: _("""
+  Erreur : ALPHA < 1
+"""),
+
+6: _("""
+  Erreur : UNIF < 0
+"""),
+
+7: _("""
+  Erreur : GAMDEV(ALPHA) < 0
+"""),
+
+8: _("""
+  Il faut autant d'indices en I et J.
+"""),
+
+9: _("""
+  Il faut autant de composantes en I et J.
+"""),
+
+10: _("""
+  Il faut autant de composantes que de noeuds.
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/rupture0.py b/Aster/Cata/cataSTA9/Messages/rupture0.py
new file mode 100644 (file)
index 0000000..0a43d94
--- /dev/null
@@ -0,0 +1,234 @@
+#@ MODIF rupture0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+Interpolation hors du domaine (prolongement constant utilisé).
+"""),
+
+2: _("""
+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
+"""),
+
+5: _("""
+Il faut définir ELAS dans DEFI_MATERIAU.
+"""),
+
+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.
+"""),
+
+7: _("""
+L operateur CALC_G -option CALC_K_G- calcule plus précisement les %(k1)s
+"""),
+
+10: _("""
+Modélisation non implantée.
+"""),
+
+11: _("""
+Problème à la récuperation des noeuds du fond de fissure.
+"""),
+
+12: _("""
+Type de mailles du fond de fissure non défini.
+"""),
+
+13: _("""
+Le group_no %(k1)s n'est pas dans le maillage.
+"""),
+
+14: _("""
+Le group_no %(k1)s n'est pas dans le maillage.
+"""),
+
+15: _("""
+le noeud %(k1)s n'appartient pas au fond de fissure.
+"""),
+
+16: _("""
+Le mot clé RESULTAT est obligatoire pour TYPE_MAILLAGE = LIBRE.
+"""),
+
+17: _("""
+Le nombre de noeuds NB_NOEUD_COUPE doit etre supérieur a 3 : 
+On prend la valeur par défaut
+"""),
+
+18: _("""
+Problème a la récuperation du modèle dans la sd résultat fournie.
+"""),
+
+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.
+"""),
+
+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.
+"""),
+
+21: _("""
+Les noeuds ne sont pas en vis-a-vis dans le plan
+perpendiculaire au noeud %(k1)s
+"""),
+
+22: _("""
+Il manque des points dans le plan défini par la lèvre
+supérieure et perpendiculaire au fond %(k1)s.
+"""),
+
+23: _("""
+Vérifier les tangentes extremités ou
+"""),
+
+24: _("""
+Augmenter PREC_NORM dans DEFI_FOND_FISS.
+"""),
+
+25: _("""
+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.
+"""),
+
+
+30: _("""
+Calcul possible pour aucun noeud du fond : vérifier les donnees.
+"""),
+
+31: _("""
+Problème a la récuperation du modele dans la sd résultat fournie.'
+"""),
+
+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)
+"""),
+
+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.
+"""),
+
+34: _("""
+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.
+"""),
+
+37: _("""
+Le numéro d'ordre %(i1)d n'a pas été trouvé dans la table.
+"""),
+
+38: _("""
+Pas d'instant trouvé dans la table pour l'instant %(r1)f.
+"""),
+
+39: _("""
+Plusieurs instants trouvés dans la table pour l'instant %(r1)f.
+"""),
+
+40: _("""
+ABSC_CURV non croissants pour TABL_DEPL_INF.'
+"""),
+
+41: _("""
+ABSC_CURV non croissants pour TABL_DEPL_SUP.'
+"""),
+
+42: _("""
+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
+"""),
+
+44: _("""
+Les noeuds ne sont pas en VIS_A_VIS.
+"""),
+
+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.
+"""),
+
+47: _("""
+Noeud %(k1)s 
+"""),
+
+
+49: _("""
+Déplacement normal du noeud %(k1)s non nul
+et SYME_CHAR = %(k2)s.
+Vérifier les conditions aux limites et VECT_K1.
+"""),
+
+50: _("""
+Nombre de modes différent entre la base modale
+et %(k1)s : on prend le minimum des deux %(i1)d.
+"""),
+
+51: _("""
+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.
+"""),
+
+53: _("""
+Plusieurs instants trouves dans la table pour l instant %(r1)f.
+"""),
+
+54: _("""
+Aucun instant ou numéro d'ordre trouvé.
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/soustruc2.py b/Aster/Cata/cataSTA9/Messages/soustruc2.py
new file mode 100644 (file)
index 0000000..3435503
--- /dev/null
@@ -0,0 +1,38 @@
+#@ MODIF soustruc2 Messages  DATE 10/07/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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+  !!! mode no : %(i1)d 
+    lineairement dependant a def. statiqueval sing min :  %(r1)f 
+    !! nous la forcons a :  %(r2)f 
+"""),
+
+2: _("""
+  pour le mode no : %(i1)d participation :  %(r1)f 
+"""),
+
+3: _("""
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/spectral0.py b/Aster/Cata/cataSTA9/Messages/spectral0.py
new file mode 100644 (file)
index 0000000..278bb84
--- /dev/null
@@ -0,0 +1,56 @@
+#@ MODIF spectral0 Messages  DATE 11/09/2007   AUTEUR DURAND C.DURAND 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+Nombre de fonctions erroné pour une matrice hermitienne.
+"""),
+
+2: _("""
+%(k1)s: FREQ_MAX < FREQ_MIN
+"""),
+
+3: _("""
+Erreur dans les indices.
+"""),
+
+4: _("""
+Le fichier %(k1)s est introuvable.
+"""),
+
+5: _("""
+La dimension DIM n est pas précisée dans le fichier lu.
+"""),
+
+6: _("""
+Nombre de fonctions incorrect.
+"""),
+
+7: _("""
+Erreur dans les données de fonctions.
+"""),
+
+8: _("""
+Pas de calcul absolu avec TRAN_GENE.
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/stanley.py b/Aster/Cata/cataSTA9/Messages/stanley.py
new file mode 100644 (file)
index 0000000..3aaf17a
--- /dev/null
@@ -0,0 +1,214 @@
+#@ MODIF stanley Messages  DATE 16/10/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+
+1: _("""
+Redéfinition du DISPLAY vers %(k1)s.
+"""),
+
+2: _("""
+Stanley fonctionne en mode validation de non-regression.
+"""),
+
+3: _("""
+Aucune variable d'environnement DISPLAY définie !
+%(k1)s ne pourra pas fonctionner. On l'ignore.
+
+Si vous etes en Interactif, cochez le bouton Suivi Interactif
+dans ASTK.
+
+Vous pouvez également préciser votre DISPLAY dans les arguments
+de la commande STANLEY :
+
+STANLEY(DISPLAY='adresse_ip:0.0');
+"""),
+
+4: _("""
+Une erreur est intervenue. Raison : %(k1)s
+"""),
+
+5: _("""
+Cette action n'est pas réalisable: %(k1)s
+"""),
+
+6: _("""
+En mode DISTANT, la variable %(k1)s est obligatoire. On abandonne.
+"""),
+
+7: _("""
+Le parametre 'machine_gmsh_exe' ou 'machine_visu' n'est pas renseigné, 
+il faut ouvrir le fichier manuellement.
+"""),
+
+8: _("""
+Lancement terminé.
+"""),
+
+9: _("""
+Exécution de %(k1)s
+"""),
+
+10: _("""
+Erreur de lancement de la commande!
+"""),
+
+11: _("""
+Dans le mode WINDOWS, la variable %(k1)s est obligatoire. On abandonne.
+"""),
+
+12: _("""
+Les fichiers de post-traitement sont copiés.
+Veuillez maintenant ouvrir manuellement skin.pos avec GMSH.
+"""),
+
+13: _("""
+Le fichier de post-traitement est copie.
+Veuillez maintenant ouvrir manuellement fort.33.pos avec GMSH.
+"""),
+
+14: _("""
+Impossible de contacter le serveur SALOME! Vérifier qu'il est bien lancé.
+"""),
+
+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: _("""
+Pour visualisation dans Salome, la variable %(k1)s est obligatoire. On abandonne.
+"""),
+
+17: _("""
+Pour visualisation dans Salome, la variable machine_salome_port est obligatoire. 
+On abandonne.
+"""),
+
+18: _("""
+Erreur : mode WINDOWS non implémenté
+"""),
+
+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: _("""
+Execution terminée.
+"""),
+
+21: _("""
+Le module python "pylotage" semble etre absent, ou mal configuré, 
+on désactive le mode Salome de Stanley.
+"""),
+
+22: _("""
+Impossible d'affecter la variable [%(k1)s / %(k2)s].
+"""),
+
+23: _("""
+Lecture du fichier d'environnement : %(k1)s
+"""),
+
+24: _("""
+Il n'y a pas de fichier d'environnement. 
+On démarre avec une configuration par défaut.
+"""),
+
+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: _("""
+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: _("""
+On initialise une configuration par défaut.
+"""),
+
+28: _("""
+Nouveaux paramètres sauvegardés dans : %(k1)s
+"""),
+
+29: _("""
+Impossible de sauvegarder les paramètres dans : %(k1)s
+"""),
+
+30: _("""
+La visualisation aux points de Gauss n'est pas permise avec la sensibilité.
+"""),
+
+31: _("""
+Problème : %(k1)s
+"""),
+
+32: _("""
+Impossible d'ouvrir en écriture le fichier %(k1)s
+"""),
+
+33: _("""
+Attention : on ne peut pas tracer un champ aux points de Gauss sur la déformée...
+"""),
+
+34: _("""
+Le champ est tracé avec la déformée.
+"""),
+
+35: _("""
+Concept ignoré : %(k1)s
+"""),
+
+36: _("""
+Il y a plusieurs concepts %(k1)s stockés dans la structure de donnée résultat.
+"""),
+
+37: _("""
+Tous les concepts Aster nécessaires à Stanley n'ont pas été calculés. 
+Il manque :
+%(k1)s
+"""),
+
+38: _("""
+Stanley - Erreur lors de l'appel à la commande Aster:
+
+%(k1)s
+Raison:
+%(k2)s
+"""),
+
+39: _("""
+Stanley - Projection aux points de Gauss: champ non développé
+%(k1)s
+"""),
+
+40: _("""
+Stanley - Projection aux points de Gauss: type de résultat non développé
+%(k1)s
+"""),
+
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/subdivise.py b/Aster/Cata/cataSTA9/Messages/subdivise.py
new file mode 100644 (file)
index 0000000..0bad4da
--- /dev/null
@@ -0,0 +1,102 @@
+#@ MODIF subdivise Messages  DATE 02/07/2007   AUTEUR FLEJOU J-L.FLEJOU 
+# -*- 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.        
+# ======================================================================
+#            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.
+# ======================================================================
+
+def _(x) : return x
+
+# Pour la méthode de subdivision
+
+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.
+Cela peut etre du à une oscillation de l'erreur ou à une divergence.
+   Nombre d'intervalle             = <%(i1)d>
+   Niveau de subdivision           = <%(i2)d>
+   Ratio sur le premier intervalle = <%(r1)E>
+   Pas de Temps actuel             = <%(r2)E>"""),
+
+11: _("""La méthode de subdivision ne peut pas faire d'extrapolation.
+Il n'y a pas de convergence et la méthode de subdivision trouve un nombre
+d'itération à convergence < au nombre donné sous le mot clé CONVERGENCE.
+La subdivision UNIFORME est déclanchée.
+   Nombre d'intervalle             = <%(i1)d>
+   Niveau de subdivision           = <%(i2)d>
+   Ratio sur le premier intervalle = <%(r1)E>
+   Pas de Temps actuel             = <%(r2)E>"""),
+
+12: _("""Le nombre maximal de niveau de subdivision est atteint.
+      SUBD_NIVEAU doit etre >= <%(i1)d>
+      SUBD_NIVEAU est de     = <%(i2)d>
+Conseil :
+   Augmenter SUBD_NIVEAU. Il est également possible d'ajuster SUBD_PAS_MINI pour
+   imposer un incrément de temps en-dessous duquel on ne peut plus subdiviser.
+   Si les 2 mots clefs SUBD_NIVEAU et SUBD_PAS_MINI sont utilisés la subdivision
+   s'arrete dès que l'un des 2 critères est vérifié."""),
+
+13: _("""Méthode de subdivision : %(k1)s"""),
+
+14: _("""La subdivision est forcée, méthode UNIFORME.
+   Nombre d'intervalle             = <%(i1)d>
+   Niveau de subdivision           = <%(i2)d>
+   Ratio sur le premier intervalle = <%(r1)E>
+   Pas de Temps actuel             = <%(r2)E>"""),
+
+15: _("""Le pas minimal de la subdivision est atteint.
+   Pas de Temps actuel          = <%(r1)E>
+   Pas de Temps minimum imposé  = <%(r2)E>
+   Niveau de subdivision        = <%(i1)d>
+   Méthode de subdivision       = <%(k1)s>
+Conseil :
+   Diminuer SUBD_PAS_MINI. Il est également possible d'ajuster SUBD_NIVEAU pour
+   indiquer le nombre successif de subdivision d'un pas de temps.
+   Si les 2 mots clefs SUBD_NIVEAU et SUBD_PAS_MINI sont utilisés la subdivision
+   s'arrete dès que l'un des 2 critères est vérifié."""),
+
+16: _("""Méthode extrapolation, convergence prévue en %(i1)d iterations pour un maximum
+d'itérations autorisé de %(i2)d."""),
+
+17: _("""Itération n %(i1)d, poursuite autorisée."""),
+
+18: _("""Subdivision du pas de temps en %(i1)d intervalles. Le ratio sur le premier
+intervalle est de %(r1)e.
+   Niveau de subdivision = <%(i2)d>
+   Pas de Temps actuel   = <%(r2)E>"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/test0.py b/Aster/Cata/cataSTA9/Messages/test0.py
new file mode 100644 (file)
index 0000000..cc8d0d7
--- /dev/null
@@ -0,0 +1,32 @@
+#@ MODIF test0 Messages  DATE 17/07/2007   AUTEUR REZETTE C.REZETTE 
+# -*- 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.        
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+<INVALID_REGEXP> %(k1)s pour %(k2)s.
+"""),
+
+2: _("""
+Le fichier n'a pas été fermé : %(k1)s
+"""),
+
+}
diff --git a/Aster/Cata/cataSTA9/Messages/utilitai8.py b/Aster/Cata/cataSTA9/Messages/utilitai8.py
new file mode 100644 (file)
index 0000000..c2001f3
--- /dev/null
@@ -0,0 +1,275 @@
+#@ MODIF utilitai8 Messages  DATE 08/10/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.
+# ======================================================================
+
+def _(x) : return x
+
+cata_msg={
+1: _("""
+ Rien que des constantes pour une nappe.
+ Nombre de fonctions constantes %(i1)d
+"""),
+
+2: _("""
+ Paramètres différents.
+ fonction %(k1)s de paramètre %(k2)s au lieu de %(k3)s
+"""),
+
+3: _("""
+ Le nombre de paramètres  %(i1)d  est différent du nombre de fonctions  %(i2)d
+"""),
+
+4: _("""
+ Il n'y a pas un nombre pair de valeurs, "DEFI_FONCTION" occurence  %(i1)d
+"""),
+
+5: _("""
+ Les abscisses de la fonction  %(k1)s ont ete réordonnées.
+"""),
+
+6: _("""
+ L'ordre des abscisses de la fonction numéro  %(i1)d a ete inversé .
+"""),
+
+7: _("""
+ Appel erroné
+  archivage numéro :  %(i1)d
+  code retour de rsexch :  %(i2)d
+"""),
+
+8: _("""
+ Lecture des champs:
+"""),
+
+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: _("""
+ Champ  inexistant  %(k1)s
+"""),
+
+15: _("""
+  ou  %(k1)s
+"""),
+
+16: _("""
+  NUME_ORDRE  %(i1)d  on ne calcule pas l'option  %(k1)s
+"""),
+
+17: _("""
+ pas de NUME_ORDRE trouvé pour le numéro  %(i1)d
+"""),
+
+18: _("""
+ pas de champs trouvé pour l'instant  %(r1)g
+"""),
+
+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: _("""
+ Erreur dans les données :
+ Le paramètre existe déja:  %(k1)s  dans la table:  %(k2)s
+"""),
+
+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: _("""
+  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: _("""
+  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: _("""
+ Le champ demandé est incompatible avec le type de résultat
+  type de résultat : %(k1)s
+      nom du champ : %(k2)s
+"""),
+
+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: _("""
+ Appel erroné  résultat :  %(k1)s   archivage numéro :  %(i1)d
+   code retour de rsexch :  %(i2)d
+   problème champ :  %(k2)s
+"""),
+
+27: _("""
+ Appel erroné  résultat :  %(k1)s   archivage numéro :  %(i1)d
+   code retour de rsexch :  %(i2)d
+   problème champ :  %(k2)s
+"""),
+
+28: _("""
+ Fin de fichier dans la lecture des fichiers ensight
+"""),
+
+29: _("""
+ Erreur dans la lecture du fichier ensight
+"""),
+
+30: _("""
+  problème pour le fichier:  %(k1)s
+"""),
+
+31: _("""
+  Option deja calculée:  option  %(k1)s  NUME_ORDRE  %(i1)d
+  On la recalcule car les données peuvent etre différentes
+
+"""),
+
+32: _("""
+ L'extrapolation ne peut etre faite à gauche (interdit).
+"""),
+
+33: _("""
+ L'extrapolation ne peut etre faite à droite (interdit).
+"""),
+
+34: _("""
+ L'interpolation ne peut etre faite car aucun champ de : %(k1)s n'est calcule.
+"""),
+
+35: _("""
+ La variable d'accès %(k1)s est invalide pour une interpolation.
+"""),
+
+36: _("""
+ Ce nom de champ est interdit : %(k1)s pour une interpolation.
+"""),
+
+37: _("""
+ Résultat: %(k1)s nom_cham: %(k2)s  variable d'accès: %(k3)s valeur: %(r1)g
+
+"""),
+
+
+
+
+38: _("""
+ Plusieurs champs correspondant à l'accès demandé pour la sd_resultat  %(k1)s
+"""),
+
+39: _("""
+ accès %(k1)s : %(i1)d
+"""),
+
+40: _("""
+ accès %(k1)s : %(r1)g
+"""),
+
+41: _("""
+ accès %(k1)s  : %(k1)s
+"""),
+
+
+
+
+46: _("""
+  nombre : %(i1)d NUME_ORDRE retenus : %(i2)d, %(i3)d, %(i4)d
+"""),
+
+47: _("""
+ Pas de champ correspondant à un accès demandé pour la sd_resultat  %(k1)s
+"""),
+
+
+
+
+55: _("""
+
+"""),
+
+56: _("""
+ pas de champs pour l'accès  %(k1)s de valeur  %(r1)g
+"""),
+
+57: _("""
+Erreur utilisateur :
+  Plusieurs champs correspondent à l'accès demandé pour la sd_résultat  %(k1)s
+  - accès "INST"             : %(r1)19.12e
+  - nombre de champs trouvés : %(i1)d
+Conseil:
+  Reserrer la précision avec le mot clé PRECISION
+"""),
+
+58: _("""
+ Pas de champs pour l'accès  %(k1)s de valeur  %(r1)g
+"""),
+
+59: _("""
+Erreur utilisateur :
+  Plusieurs champs correspondent à l'accès demandé pour la sd_résultat  %(k1)s
+  - accès "FREQ"             : %(r1)19.12e
+  - nombre de champs trouvés : %(i1)d
+Conseil:
+  Reserrer la précision avec le mot clé PRECISION
+"""),
+
+60: _("""
+ Erreur dans les données pour le champ  %(k1)s
+"""),
+
+61: _("""
+ Aucun noeud ne supporte
+"""),
+
+62: _("""
+ Aucune maille ne supporte
+"""),
+
+63: _("""
+  les composantes  %(k1)s, %(k2)s, %(k3)s, %(k4)s, ...
+"""),
+
+
+}
diff --git a/Aster/Cata/cataSTA9/SD/sd_xfem.py b/Aster/Cata/cataSTA9/SD/sd_xfem.py
new file mode 100644 (file)
index 0000000..680c87e
--- /dev/null
@@ -0,0 +1,135 @@
+#@ MODIF sd_xfem SD  DATE 15/10/2007   AUTEUR GENIAUT S.GENIAUT 
+# -*- 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.        
+# ======================================================================
+
+from SD import *
+
+from SD.sd_cham_no   import sd_cham_no
+from SD.sd_cham_elem import sd_cham_elem
+from SD.sd_carte     import sd_carte
+
+
+
+#-------------------------------
+#       I. sd fiss_xfem
+#-------------------------------
+
+class sd_fiss_xfem(AsBase):
+
+# I.1) objets relatifs aux level sets
+
+    nomj = SDNom(fin=8)
+
+    LNNO   = sd_cham_no()
+    LTNO   = sd_cham_no()
+    GRLNNO = sd_cham_no()
+    GRLTNO = sd_cham_no()
+    BASLOC = sd_cham_no()
+    FONDFISS        = Facultatif(AsVR())
+    FONDMULT        = Facultatif(AsVI())
+    CARAFOND        = AsVR()
+
+# I.2) objets relatifs à l'enrichissement
+
+    GROUP_MA_ENRI   = AsVI()
+    GROUP_NO_ENRI   = AsVI()
+    STNO   = sd_cham_no()
+    STNOR  = sd_cham_no()
+
+    MAILFISS_CTIP  = Facultatif(AsVI(SDNom(nomj='.MAILFISS  .CTIP')))
+    MAILFISS_HEAV  = Facultatif(AsVI(SDNom(nomj='.MAILFISS  .HEAV')))
+    MAILFISS_HECT  = Facultatif(AsVI(SDNom(nomj='.MAILFISS  .HECT')))
+    MAILFISS_INDIC = AsVI(SDNom(nomj='.MAILFISS .INDIC'), lonmax=6, )
+    LISNOH         = Facultatif(AsVI())
+# I.3) objets relatifs à la propagation
+
+    PRO_MES_EL  = Facultatif(sd_cham_elem(SDNom(nomj='.PRO.MES_EL')))
+    PRO_NORMAL  = Facultatif(sd_cham_elem(SDNom(nomj='.PRO.NORMAL')))
+
+# I.4) objets relatifs au contact
+
+    BASCO  = Facultatif(sd_cham_no())
+    LISCO  = Facultatif(AsVR(SDNom(nomj='.LISCO')))
+    LISEQ  = Facultatif(AsVI(SDNom(nomj='.LISEQ')))
+    LISRL  = Facultatif(AsVI(SDNom(nomj='.LISRL')))
+
+
+
+#-------------------------------
+#       II. sd modele
+#-------------------------------
+
+class sd_modele_xfem(AsBase):
+
+# II.1) objets relatifs aux sous-éléments
+
+    nomj = SDNom(fin=8)
+
+    TOPOSE_PIN  = sd_cham_elem(SDNom(nomj='.TOPOSE.PIN'))
+    TOPOSE_CNS  = sd_cham_elem(SDNom(nomj='.TOPOSE.CNS'))
+    TOPOSE_HEA  = sd_cham_elem(SDNom(nomj='.TOPOSE.HEA'))
+    TOPOSE_LON  = sd_cham_elem(SDNom(nomj='.TOPOSE.LON'))
+    TOPOSE_CRI  = Facultatif(sd_cham_elem(SDNom(nomj='.TOPOSE.CRI')))
+
+# II.2) objets relatifs aux facettes de contact
+
+    TOPOFAC_PI  = sd_cham_elem(SDNom(nomj='.TOPOFAC.PI'))
+    TOPOFAC_AI  = sd_cham_elem(SDNom(nomj='.TOPOFAC.AI'))
+    TOPOFAC_CF  = sd_cham_elem(SDNom(nomj='.TOPOFAC.CF'))
+    TOPOFAC_LO  = sd_cham_elem(SDNom(nomj='.TOPOFAC.LO'))
+    TOPOFAC_BA  = sd_cham_elem(SDNom(nomj='.TOPOFAC.BA'))
+
+    TOPOFAC_GM  = sd_cham_elem(SDNom(nomj='.TOPOFAC.GM'))
+    TOPOFAC_GE  = sd_cham_elem(SDNom(nomj='.TOPOFAC.GE'))
+    TOPOFAC_OE  = sd_cham_elem(SDNom(nomj='.TOPOFAC.OE'))
+    TOPOFAC_OM  = sd_cham_elem(SDNom(nomj='.TOPOFAC.OM'))
+
+# II.3) objets concaténés relatifs aux level sets 
+
+    LNNO   = sd_cham_no()
+    LTNO   = sd_cham_no()
+    BASLOC = sd_cham_no()
+    STNO   = sd_cham_no()
+
+# II.4) autres objets
+
+    XFEM_CONT   = AsVI(lonmax=1) # contact ou pas 
+    FISS   = AsVK8()             # noms des fissures
+    NFIS   = AsVI(lonmax=1,)     # nombre de fissures
+    XMAFIS = sd_carte()          # pour chaque maille : nom de la fissure
+
+
+
+#----------------------------------
+#       III. sd charge de contact
+#----------------------------------
+
+class sd_contact_xfem(AsBase):
+#-------------------------------
+
+    nomj = SDNom(fin=8)
+
+    CARACF  = AsVR(SDNom(nomj='CONTACT.CARACF'))
+    ECPDON  = AsVI(SDNom(nomj='CONTACT.ECPDON'))
+    METHCO  = AsVI(SDNom(nomj='CONTACT.METHCO'))
+
+    XFIMAI  = AsVK8(SDNom(nomj='CONTACT.XFIMAI'))
+    XNRELL  = AsVK24(SDNom(nomj='CONTACT.XNRELL'))
+    XNBASC  = AsVK24(SDNom(nomj='CONTACT.XNBASC'))
index cd179e9ab7885dd0bb37cbc189c9728e3cf306e5..c01905f2703204d9fe9bc40f10d2a3351b578bed 100644 (file)
@@ -18,8 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
 
-__version__ = "$Name: V1_12a2 $"
-__Id__ = "$Id: cata.py,v 1.1.2.4 2007-06-14 16:18:46 pnoyret Exp $"
+__version__ = "$Name:  $"
+__Id__ = "$Id: cata_aster_v6.py,v 1.12 2001/01/16 15:55:05 iliade Exp $"
 
 import Accas
 from Accas import *
@@ -222,7 +222,7 @@ from SD.co_vect_elem import vect_elem, \
                             vect_elem_pres_r, vect_elem_pres_c, \
                             vect_elem_temp_r
 
-#& MODIF COMMUN  DATE 21/05/2007   AUTEUR FERNANDES R.FERNANDES 
+#& MODIF COMMUN  DATE 24/09/2007   AUTEUR MARKOVIC D.MARKOVIC 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # RESPONSABLE JMBHH01 J.M.PROIX
 # ======================================================================
@@ -513,16 +513,19 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
                                        "LIQU_GAZ",
 # HYDR
                                        "HYDR_UTIL",
+                                       "HYDR_VGM",
                                        "HYDR",
                                        "HYDR_ENDO",
 # MECA_META
                                        "ACIER",
                                        "ZIRC",
 # MECA KIT_DDI
+                                       "VMIS_CINE_LINE",
                                        "VMIS_ISOT_TRAC",
                                        "VMIS_ISOT_LINE",
                                        "VMIS_ISOT_CINE",
                                        "VMIS_ISOT_PUIS",
+                                       "GLRC_DM",
                                        "GRANGER_FP",
                                        "GRANGER_FP_INDT",
                                        "GRANGER_FP_V",
@@ -541,6 +544,7 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
            LIQU_VAPE       =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
            LIQU_GAZ        =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
            HYDR_UTIL       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
+           HYDR_VGM        =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
            HYDR            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
            HYDR_ENDO       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
            ACIER           =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
@@ -549,11 +553,15 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT",
                              into=("PETIT","PETIT_REAC","SIMO_MIEHE","GREEN_GR","GREEN","COROTATIONNEL","REAC_GEOM")),
            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",
-                 RESI_DEBORST  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
-                                ),
+#           b_deborst      = BLOC(condition = " ALGO_C_PLAN == 'DEBORST' ",
+#                        fr="Tolérance relative sur la verification des contraintes planes",
+           RESI_DEBORST  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
+#                                ),
            ALGO_1D         =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
+#           b_dbiter      = BLOC(condition = " (ALGO_C_PLAN == 'DEBORST') or (ALGO_1D == 'DEBORST')",
+#                        fr="Nombre d'iterations maximal pour la boucle pour les contraintes planes",
+           ITER_MAXI_DEBORST  =SIMP(statut='f',typ='I',defaut= 1),
+#                                ),
       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='**'),
@@ -570,7 +578,7 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
                                 ),
            PARM_THETA      =SIMP(statut='f',typ='R',defaut= 1. ),
          ) ;
-#& MODIF COMMUN  DATE 07/11/2006   AUTEUR CIBHHLV L.VIVAN 
+#& MODIF COMMUN  DATE 26/06/2007   AUTEUR REZETTE C.REZETTE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -759,7 +767,6 @@ def C_NOM_CHAM_INTO() : return  ("ACCE",    #COMMUN#
                         "VARI_ELNO_TUYO",
                         "VARI_NOEU",
                         "VARI_NOEU_ELGA",
-                        "VARI_NON_LOCAL",
                         "VITE",
                         "VITE_ABSOLU",
                         "VITE_VENT",
@@ -1584,7 +1591,7 @@ AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op=  68,sd_prod=char_acou,
            DDL             =SIMP(statut='o',typ='TXM',max='**'),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 21/05/2007   AUTEUR FERNANDES R.FERNANDES 
+#& MODIF COMMANDE  DATE 08/10/2007   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -1603,21 +1610,29 @@ AFFE_CHAR_ACOU=OPER(nom="AFFE_CHAR_ACOU",op=  68,sd_prod=char_acou,
 #    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,**args):
+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=(AU_MOINS_UN('MECA_IMPO','THER_IMPO','ACOU_IMPO'),
-                 EXCLUS('MECA_IMPO','THER_IMPO'),
-                 EXCLUS('MECA_IMPO','ACOU_IMPO'),
-                 EXCLUS('THER_IMPO','ACOU_IMPO'),),
+         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',
@@ -1685,19 +1700,19 @@ AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
              DCZ             =SIMP(statut='f',typ='R' ),
              H1X             =SIMP(statut='f',typ='R' ),
              H1Y             =SIMP(statut='f',typ='R' ),
-             H1Z             =SIMP(statut='f',typ='R' ),                  
+             H1Z             =SIMP(statut='f',typ='R' ),
              E1X             =SIMP(statut='f',typ='R' ),
              E1Y             =SIMP(statut='f',typ='R' ),
-             E1Z             =SIMP(statut='f',typ='R' ),      
+             E1Z             =SIMP(statut='f',typ='R' ),
              E2X             =SIMP(statut='f',typ='R' ),
              E2Y             =SIMP(statut='f',typ='R' ),
-             E2Z             =SIMP(statut='f',typ='R' ),      
+             E2Z             =SIMP(statut='f',typ='R' ),
              E3X             =SIMP(statut='f',typ='R' ),
              E3Y             =SIMP(statut='f',typ='R' ),
-             E3Z             =SIMP(statut='f',typ='R' ),      
+             E3Z             =SIMP(statut='f',typ='R' ),
              E4X             =SIMP(statut='f',typ='R' ),
              E4Y             =SIMP(statut='f',typ='R' ),
-             E4Z             =SIMP(statut='f',typ='R' ),   
+             E4Z             =SIMP(statut='f',typ='R' ),
              V11             =SIMP(statut='f',typ='R' ),
              V12             =SIMP(statut='f',typ='R' ),
              V13             =SIMP(statut='f',typ='R' ),
@@ -1715,7 +1730,7 @@ AFFE_CHAR_CINE=OPER(nom="AFFE_CHAR_CINE",op= 101,sd_prod=affe_char_cine_prod
              PRES23          =SIMP(statut='f',typ='R' ),
              PRES31          =SIMP(statut='f',typ='R' ),
              PRES32          =SIMP(statut='f',typ='R' ),
-             PRES33          =SIMP(statut='f',typ='R' ),   
+             PRES33          =SIMP(statut='f',typ='R' ),
          ),
          THER_IMPO       =FACT(statut='f',max='**',
            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
@@ -1740,7 +1755,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 05/09/2005   AUTEUR CIBHHLV L.VIVAN 
+#& MODIF COMMANDE  DATE 08/10/2007   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -1763,13 +1778,12 @@ def affe_char_cine_f_prod(MECA_IMPO,THER_IMPO,**args):
   if THER_IMPO != None  : return char_cine_ther
   raise AsException("type de concept resultat non prevu")
 
-AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 108,sd_prod=affe_char_cine_f_prod,
+AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 101,sd_prod=affe_char_cine_f_prod,
                       fr="Affectation de conditions aux limites cinématiques fonction d'un (ou plusieurs) paramètres"
                         +" pour un traitement sans dualisation",
                      reentrant='n',
             UIinfo={"groupes":("Modélisation",)},
-         regles=(AU_MOINS_UN('MECA_IMPO','THER_IMPO'),
-                 EXCLUS('MECA_IMPO','THER_IMPO'),),
+         regles=(UN_PARMI('MECA_IMPO','THER_IMPO')),
          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
          MECA_IMPO       =FACT(statut='f',max='**',
            regles=(UN_PARMI('TOUT','GROUP_MA','MAILLE','GROUP_NO','NOEUD'),
@@ -1804,7 +1818,7 @@ AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 108,sd_prod=affe_char_cine_f_pr
          ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 21/05/2007   AUTEUR FERNANDES R.FERNANDES 
+#& MODIF COMMANDE  DATE 08/10/2007   AUTEUR NISTOR I.NISTOR 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -1919,21 +1933,21 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
              DCZ             =SIMP(statut='f',typ='R' ),
              H1X             =SIMP(statut='f',typ='R' ),
              H1Y             =SIMP(statut='f',typ='R' ),
-             H1Z             =SIMP(statut='f',typ='R' ),                  
+             H1Z             =SIMP(statut='f',typ='R' ),
              E1X             =SIMP(statut='f',typ='R' ),
              E1Y             =SIMP(statut='f',typ='R' ),
-             E1Z             =SIMP(statut='f',typ='R' ),      
+             E1Z             =SIMP(statut='f',typ='R' ),
              E2X             =SIMP(statut='f',typ='R' ),
              E2Y             =SIMP(statut='f',typ='R' ),
-             E2Z             =SIMP(statut='f',typ='R' ),      
+             E2Z             =SIMP(statut='f',typ='R' ),
              E3X             =SIMP(statut='f',typ='R' ),
              E3Y             =SIMP(statut='f',typ='R' ),
-             E3Z             =SIMP(statut='f',typ='R' ),      
+             E3Z             =SIMP(statut='f',typ='R' ),
              E4X             =SIMP(statut='f',typ='R' ),
              E4Y             =SIMP(statut='f',typ='R' ),
-             E4Z             =SIMP(statut='f',typ='R' ),      
+             E4Z             =SIMP(statut='f',typ='R' ),
              LAGS_C          =SIMP(statut='f',typ='R' ),
-             V11             =SIMP(statut='f',typ='R' ),  
+             V11             =SIMP(statut='f',typ='R' ),
              V12             =SIMP(statut='f',typ='R' ),
              V13             =SIMP(statut='f',typ='R' ),
              V21             =SIMP(statut='f',typ='R' ),
@@ -2000,6 +2014,8 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
              SANS_GROUP_MA   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
              SANS_MAILLE     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+             SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+             SANS_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' ),
@@ -2131,12 +2147,18 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
          ),
 
 
-           LIAISON_SOLIDE  =FACT(statut='f',fr="Modélise une partie indéformable d'une structure",max='**',
-             regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
+           LIAISON_SOLIDE  =FACT(statut='f',max='**',
+             fr="Modélise une partie indéformable d'une structure."
+              +" Les mots clés TRAN et ANGL_NAUT permettent d'imposer le déplacement de la partie indéformable.",
+             regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),
+                     ENSEMBLE('CENTRE','ANGL_NAUT'),),
              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='**'),
+             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 ),
              NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
            ),
 
@@ -2175,47 +2197,50 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
            ),
 
          LIAISON_XFEM      =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
-         
-         CONTACT_XFEM      =SIMP(statut='f',typ='TXM',defaut="NON" ),
+
+         CONTACT_XFEM      =SIMP(statut='f',typ=char_meca,min=1,max=1,),
+
+
+#         SIMP(statut='f',typ='TXM',defaut="NON" ),
 
          VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster ),
 #
 # LIAISON UNILATERALE
-# 
+#
          LIAISON_UNILATER=FACT(statut='f',max='**',
            fr="Définit les zones soumises à des conditions de liaison unilaterale (inegalite sur un DDL)",
            regles=(UN_PARMI('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
-                                         
+
            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
-           NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),   
+           NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
 
            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                 
+
            NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
 
-           NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),           
-           
+           NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
+
            COEF_IMPO       =SIMP(statut='f',typ='R'),
-           COEF_MULT       =SIMP(statut='f',typ='R',max='**'),         
+           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",
@@ -2226,22 +2251,24 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
            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=("+","-",) ), 
+             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),             
+             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",
@@ -2249,21 +2276,21 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
                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",
@@ -2273,13 +2300,14 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
                 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' ",                    
+                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),
@@ -2322,22 +2350,22 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
 
                                  ),
 
-               
+
                 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'),
@@ -2348,7 +2376,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
                                       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")),
 
@@ -2364,7 +2392,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
                 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',
@@ -2375,83 +2403,97 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
            b_continue      =BLOC(condition = "METHODE == 'CONTINUE' ",
                                  fr="Paramètres de la méthode continue (contact avec ou sans frottement)",
 #                regles=(UN_PARMI('GLISSIERE','FROTTEMENT'),),
-                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.),
-                                 ),
-                FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
+
+# -------------------------------- 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",) ),
-                RACCORD_LINE_QUAD=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")),
-                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",) ),
-                EXCLUSION_PIV_NUL=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='**'),),
-                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='**'),),
-                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),),
+                                      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      =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),
-                     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_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),
@@ -2467,17 +2509,18 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
                 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),
-                                 ), 
+                                 ),
                 PRE_COND         =SIMP(statut='f',typ='TXM',defaut="SANS",
                       into=("DIRICHLET","SANS"),fr="Choix d'un préconditionneur (accélère la convergence)"),
-                COEF_RESI       =SIMP(statut='f',typ='R',defaut = 1.,val_min=1.,
+                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",),
@@ -2565,12 +2608,13 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
 
          PRES_REP        =FACT(statut='f',max='**',
              fr="Applique une pression à un domaine de milieu continu 2D ou 3D, ou à un domaine de coques et tuyaux",
-             regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
-                     PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
+             regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','FISSURE'),
+                     PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','FISSURE'),
                      AU_MOINS_UN('PRES','CISA_2D' ),),
              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='**'),
+             FISSURE         =SIMP(statut='f',typ=fiss_xfem,min=1,max=100,),
              PRES            =SIMP(statut='f',typ='R' ),
              CISA_2D         =SIMP(statut='f',typ='R' ),
            ),
@@ -2977,23 +3021,23 @@ 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 30/04/2007   AUTEUR ABBAS M.ABBAS 
+#& 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.                                 
+# 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 G8BHHXD X.DESROCHES
 AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
@@ -3005,7 +3049,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'),),
          VERI_DDL        =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
          VERI_NORM       =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON") ),
@@ -3024,7 +3068,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            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='**'),
-           LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)), 
+           LIAISON         =SIMP(statut='f',typ='TXM',into=('ENCASTRE',)),
            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
@@ -3042,20 +3086,20 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            DCZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            H1X             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            H1Y             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-           H1Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),                  
+           H1Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            E1X             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            E1Y             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-           E1Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),      
+           E1Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            E2X             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            E2Y             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-           E2Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),      
+           E2Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            E3X             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            E3Y             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-           E3Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),      
+           E3Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            E4X             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            E4Y             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-           E4Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),      
-           LAGS_C          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),     
+           E4Z             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+           LAGS_C          =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
          ),
 
          FACE_IMPO       =FACT(statut='f',max='**',
@@ -3080,6 +3124,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
            SANS_GROUP_MA   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
            SANS_MAILLE     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+           SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
            DX              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            DY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            DZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
@@ -3095,7 +3141,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            DNOR            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            DTAN            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
          ),
-         
+
          LIAISON_DDL     =FACT(statut='f',max='**',
            fr="Définit une relation linéaire entre des DDLs de deux ou plusieurs noeuds, les valeurs sont fournies par"
                +" l'intermediaire d'un concept de type fonction",
@@ -3122,8 +3168,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            DRX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            DRY             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            DRZ             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
-         ),         
-         
+         ),
+
          LIAISON_GROUP   =FACT(statut='f',max='**',
            fr="Définit la meme relation linéaire entre certains DDLs de couples de noeuds, les valeurs sont fournies par"
                +" l'intermédiaire de concept fonction",
@@ -3160,30 +3206,30 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
          ),
 #
 # LIAISON UNILATERALE
-# 
+#
          LIAISON_UNILATER=FACT(statut='f',max='**',
            fr="Définit les zones soumises à des conditions de liaison unilaterale (inegalite sur un DDL)",
            regles=(UN_PARMI('GROUP_MA','MAILLE','GROUP_NO','NOEUD'),),
-                                         
+
            GROUP_MA        =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
            MAILLE          =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
            GROUP_NO        =SIMP(statut='f',typ=grno ,validators=NoRepeat(),max='**'),
-           NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),   
+           NOEUD           =SIMP(statut='f',typ=no   ,validators=NoRepeat(),max='**'),
 
            SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
            SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                 
+
            NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
 
-           NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),           
-           
+           NOM_CMP         =SIMP(statut='o',typ='TXM',max='**'),
+
            COEF_IMPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-           COEF_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),         
+           COEF_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
 
            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",
                                  into=("CONTRAINTE","GCPC",) ),
-           
-                 
+
+
         ),
          CONTACT         =FACT(statut='f',
            fr="Définit les zones soumises à des conditions de contact unilatéral avec ou \sans frottement, certaines valeurs"
@@ -3192,12 +3238,12 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            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")),                 
+           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") ),           
+           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='**'),
@@ -3206,7 +3252,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            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",
@@ -3222,7 +3268,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
                                  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' ",                    
+                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),
@@ -3236,7 +3282,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
                 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='**'),
@@ -3272,14 +3318,14 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
                 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),                
+                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),  
+                     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'), 
+                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),
@@ -3287,7 +3333,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
                                       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")),
 
@@ -3302,22 +3348,22 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
                 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),                
+                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),  
+                     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' ",                    
+                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",) ), 
+                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")),
@@ -3357,21 +3403,21 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
                         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")),
@@ -3380,8 +3426,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
                 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",
            regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
@@ -3392,14 +3438,20 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            DDL             =SIMP(statut='o',typ='TXM',max='**'),
          ),
 
+
          LIAISON_SOLIDE  =FACT(statut='f',max='**',
-           fr="Modélise une partie indéformable d'une structure",
-           regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
-           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           fr="Modélise une partie indéformable d'une structure."
+            +" Les mots clés TRAN et ANGL_NAUT permettent d'imposer le déplacement de la partie indéformable.",
+           regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),
+                   ENSEMBLE('CENTRE','ANGL_NAUT'),),
            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-           NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           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 ),
+           NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES") ),
          ),
 
 
@@ -3473,16 +3525,17 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            FY              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            FZ              =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
          ),
-         
+
          PRES_REP        =FACT(statut='f',max='**',
            fr="Applique une pression à un domaine de milieu continu 2D ou 3D ou à un domaine de coques et tuyaux, dont les"
                +" valeurs imposées (pression et/ou cisaillement) sont fournies par l'intermédiaire d'un concept fonction",
-           regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE'),
-                   PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),
+           regles=(AU_MOINS_UN('TOUT','GROUP_MA','MAILLE','FISSURE'),
+                   PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE','FISSURE'),
                    AU_MOINS_UN('PRES','CISA_2D'),),
            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='**'),
+           FISSURE         =SIMP(statut='f',typ=fiss_xfem,min=1,max=100,),
            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            CISA_2D         =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
          ),
@@ -3513,7 +3566,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            EPXZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            EPYZ            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
          ),
-         
+
          FORCE_POUTRE    =FACT(statut='f',max='**',
            fr="Applique des forces linéiques sur des éléments de type poutre dont les valeurs sont fournies par"
                +" l'intermédiaire d'un concept fonction",
@@ -3548,7 +3601,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
            PRES            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
          ),
-         
+
          FORCE_COQUE     =FACT(statut='f',max='**',
            fr="Applique des forces surfaciques sur des éléments de types coques dont les valeurs sont fournies par"
                +" l'intermédiaires d'un concept fonction",
@@ -3598,8 +3651,8 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            GROUP_NO_2      =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
            NOEUD_2         =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
            NUME_LAGR       =SIMP(statut='f',typ='TXM',defaut="NORMAL",into=("NORMAL","APRES",) ),
-         ),         
-         
+         ),
+
 
          VITE_FACE       =FACT(statut='f',max='**',
            fr="Impose des vitesses normales à une face (phénomène ACOUSTIQUE) dont les valeurs sont fournies par"
@@ -4080,7 +4133,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 28/03/2007   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 16/10/2007   AUTEUR SALMONA L.SALMONA 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4114,7 +4167,7 @@ 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',defaut= 0.E+0 ),
+           TEMP_REF        =SIMP(statut='f',typ='R'),
          ),
 
          #  affectation du nom du matériau (par noeuds):
@@ -4174,6 +4227,7 @@ AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
               B_NOM_NEUT2   =BLOC(condition="NOM_VARC=='NEUT2'",NOM_CHAM=SIMP(statut='f',typ='TXM',defaut= 'NEUT',),),
               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)
          ),
@@ -4264,10 +4318,12 @@ AFFE_MATERIAU=OPER(nom="AFFE_MATERIAU",op=6,sd_prod=cham_mater,
            CMP_GD          =SIMP(statut='c',typ='TXM',max=3,min=3,defaut=("V1","V2","V3")),
            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) ),
 )  ;
 
 
-#& MODIF COMMANDE  DATE 21/05/2007   AUTEUR FERNANDES R.FERNANDES 
+#& MODIF COMMANDE  DATE 18/09/2007   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4327,7 +4383,7 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster,
                                                                       "3D_SI",
                                                                       "3D_GRAD_EPSI",
                                                                       "3D_GRAD_VARI",
-                                                                      "3D_XFEM",
+                                                                      "3D_XFEM_CONT",
                                                                       "3D_JOINT",
                                                                       "AXIS",
                                                                       "AXIS_FLUI_STRU",
@@ -4343,7 +4399,7 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster,
                                                                       "BARRE",
                                                                       "2D_BARRE",
                                                                       "C_PLAN",
-                                                                      "C_PLAN_XFEM",
+                                                                      "C_PLAN_XFEM_CONT",
                                                                       "C_PLAN_NS",
                                                                       "C_PLAN_SI",
                                                                       "C_PLAN_GRAD_EPSI",
@@ -4354,7 +4410,7 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster,
                                                                       "COQUE_C_PLAN",
                                                                       "COQUE_D_PLAN",
                                                                       "D_PLAN",
-                                                                      "D_PLAN_XFEM",
+                                                                      "D_PLAN_XFEM_CONT",
                                                                       "D_PLAN_GRAD_EPSI",
                                                                       "D_PLAN_GRAD_VARI",
                                                                       "D_PLAN_NS",
@@ -4370,7 +4426,7 @@ AFFE_MODELE=OPER(nom="AFFE_MODELE",op=18,sd_prod=modele_sdaster,
                                                                       "DKTG",
                                                                       "DST",
                                                                       "FLUI_STRU",
-                                                                      "GRILLE",
+                                                                      "GRILLE_EXCENTRE",
                                                                       "GRILLE_MEMBRANE",
                                                                       "POU_C_T",
                                                                       "POU_D_E",
@@ -5392,7 +5448,7 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
      INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
      TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 ) ;
-#& MODIF COMMANDE  DATE 16/10/2006   AUTEUR JMBHH01 J.M.PROIX 
+#& MODIF COMMANDE  DATE 16/07/2007   AUTEUR ANGLES J.ANGLES 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5451,6 +5507,8 @@ CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant
            OPTION        =SIMP(statut='o',typ='TXM',into=("DOMA_ELGA","DOMA_NOEUD") ),
            RESULTAT      =SIMP(statut='o',typ=(evol_elas, evol_noli) ),
            CHAM_MATER    =SIMP(statut='o',typ=(cham_mater) ),
+           MAILLAGE      =SIMP(statut='o',typ=maillage_sdaster ),
+           regles=(UN_PARMI('GROUP_NO','NOEUD','GROUP_MA','MAILLE'),),
            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='**' ),
@@ -5471,9 +5529,6 @@ CALC_FATIGUE=OPER(nom="CALC_FATIGUE",op= 151,sd_prod=calc_fatigue_prod,reentrant
                    DELTA_OSCI    =SIMP(statut='f',typ='R',defaut= 0.0E+0),  
                ),
            ),
-           b_fati_grmano  =BLOC(condition = "(GROUP_MA != None or MAILLE != None or GROUP_NO != None or NOEUD != None)",
-               MAILLAGE      =SIMP(statut='o',typ=maillage_sdaster ),
-           ),
          ),
 
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
@@ -5522,7 +5577,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 02/05/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 19/06/2007   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5547,6 +5602,8 @@ def calc_fonc_interp_prod(FONCTION, NOM_PARA_FONC, **args):
       return fonction_sdaster
    elif AsType(FONCTION) == fonction_c:
       return fonction_c
+   elif AsType(FONCTION) == formule_c:
+      return fonction_c
    elif AsType(FONCTION) == formule:
       if NOM_PARA_FONC != None:
          return nappe_sdaster
@@ -5580,7 +5637,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 09/02/2007   AUTEUR GREFFET N.GREFFET 
+#& MODIF COMMANDE  DATE 04/09/2007   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5601,7 +5658,7 @@ CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_pr
 # RESPONSABLE MCOURTOI M.COURTOIS
 from Macro.calc_fonction_ops import calc_fonction_ops
 def calc_fonction_prod(self,DERIVE,EXTRACTION,INTEGRE,INVERSE,COMB,COMB_C,
-                       ENVELOPPE,SPEC_OSCI,ASSE,FFT,COMPOSE,CORR_ACCE,PUISSANCE,
+                       ENVELOPPE,FRACTILE,SPEC_OSCI,ASSE,FFT,COMPOSE,CORR_ACCE,PUISSANCE,
                        LISS_ENVELOP,ABS, **args):
 
    if (INTEGRE     != None): return fonction_sdaster
@@ -5626,6 +5683,7 @@ def calc_fonction_prod(self,DERIVE,EXTRACTION,INTEGRE,INVERSE,COMB,COMB_C,
                 raise AsException("CALC_FONCTION/COMB_C : pas de types hétérogènes nappe/fonction")
          return fonction_c
    if (ENVELOPPE   != None): return AsType(ENVELOPPE[0]['FONCTION'])
+   if (FRACTILE    != None): return AsType(FRACTILE[0] ['FONCTION'])
    if (EXTRACTION  != None): return fonction_sdaster
    if (SPEC_OSCI   != None): return nappe_sdaster
    if (COMPOSE     != None): return fonction_sdaster
@@ -5646,7 +5704,7 @@ CALC_FONCTION=MACRO(nom="CALC_FONCTION",op=calc_fonction_ops,sd_prod=calc_foncti
             UIinfo={"groupes":("Fonction",)},
          regles=(UN_PARMI('DERIVE','INTEGRE','SPEC_OSCI','COMB','COMB_C','ENVELOPPE',
                           'COMPOSE','EXTRACTION','ASSE','FFT','CORR_ACCE', 'PUISSANCE',
-                          'LISS_ENVELOP','INVERSE','ABS'),),
+                          'LISS_ENVELOP','INVERSE','ABS','FRACTILE'),),
          FFT             =FACT(statut='f',fr="Transformée de Fourier ou de son inverse",
            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,fonction_c) ),
            METHODE         =SIMP(statut='f',typ='TXM',defaut="PROL_ZERO",into=("PROL_ZERO","TRONCATURE","COMPLET") ),
@@ -5708,17 +5766,21 @@ CALC_FONCTION=MACRO(nom="CALC_FONCTION",op=calc_fonction_ops,sd_prod=calc_foncti
            FONCTION        =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster),max='**' ),
            CRITERE         =SIMP(statut='f',typ='TXM',defaut="SUP",into=("SUP","INF"),fr="Type de l enveloppe" ),
          ),
+         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" ),
+         ),
          ASSE            =FACT(statut='f',fr="Concatenation de fonctions",
            FONCTION        =SIMP(statut='o',typ=fonction_sdaster,min=2,max=2 ),
            SURCHARGE       =SIMP(statut='f',typ='TXM',defaut="DROITE",into=("DROITE","GAUCHE")),
          ),
-         CORR_ACCE     =FACT(statut='f',fr="Correction d un accelerogramme reel",
+         CORR_ACCE       =FACT(statut='f',fr="Correction d un accelerogramme reel",
             CORR_DEPL       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
             FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
          ),
          PUISSANCE       =FACT(statut='f',fr="Fonction élevée à une puissance",
             FONCTION      =SIMP(statut='o', typ=(fonction_sdaster,nappe_sdaster) ),
-            EXPOSANT      =SIMP(statut='f', typ='I', defaut=1 ),
+            EXPOSANT      =SIMP(statut='f', typ='R', defaut=1 ),
          ),
          INVERSE         =FACT(statut='f',fr="Inverse d'une fonction",
             FONCTION      =SIMP(statut='o', typ=fonction_sdaster),
@@ -5807,7 +5869,7 @@ CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene,
                            ),
 
            ) ;
-#& MODIF COMMANDE  DATE 31/10/2006   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 16/10/2007   AUTEUR SALMONA L.SALMONA 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5886,10 +5948,11 @@ CALC_G=OPER(nom="CALC_G",op=100,sd_prod=table_sdaster,
  
          COMP_ELAS       =FACT(statut='f',
                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
-                                     into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC") ),
-               ELAS            =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
-               ELAS_VMIS_LINE  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
-               ELAS_VMIS_TRAC  =SIMP(statut='f',typ='I',defaut=1,into=(1,) ),
+                                     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",) ),
@@ -5898,7 +5961,7 @@ CALC_G=OPER(nom="CALC_G",op=100,sd_prod=table_sdaster,
          ),  
          COMP_INCR       =FACT(statut='f',
                RELATION        =SIMP(statut='f',typ='TXM',defaut="ELAS",
-                                     into=("ELAS","VMIS_ISOT_TRAC","VMIS_ISOT_LINE","VMIS_CINE_LINE") ),
+                                     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,) ),
@@ -6387,7 +6450,7 @@ CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='o',
          GROUP_NO_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
          NOEUD_RESU      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR REZETTE C.REZETTE 
+#& 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
@@ -6491,16 +6554,14 @@ CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
             ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
           ),
           ETAT_INIT       =FACT(statut='f',
-            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI','VARI_NON_LOCAL',),
+            regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',),
                     EXCLUS('EVOL_NOLI','DEPL',),
                     EXCLUS('EVOL_NOLI','SIGM',),
                     EXCLUS('EVOL_NOLI','VARI',),
-                    EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
                     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),
-            VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_sdaster),
             EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
             NUME_ORDRE      =SIMP(statut='f',typ='I'),
             INST            =SIMP(statut='f',typ='R'),
@@ -6531,34 +6592,6 @@ CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
             ),
             SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
           ),
-            SOLV_NON_LOCAL  =FACT(statut='f',
-              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 ),
-                RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
-                NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
-              ),
-              EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
-            ),
-            LAGR_NON_LOCAL  =FACT(statut='f',
-              ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
-              RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
-              RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
-              R               =SIMP(statut='f',typ='R',defaut= 1000.),
-              ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
-            ),
           INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
           TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
 
@@ -6568,7 +6601,7 @@ CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
 
          COMP_INCR       =C_COMP_INCR(),
   )  ;
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& 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
@@ -6625,13 +6658,13 @@ CALC_TABLE=MACRO(nom="CALC_TABLE",op=calc_table_ops, sd_prod=calc_table_prod,
                                 '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'),
+            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'),
+            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") ),
@@ -6748,6 +6781,68 @@ 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 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -7027,7 +7122,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 12/09/2006   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 17/07/2007   AUTEUR MACOCCO K.MACOCCO 
 # RESPONSABLE VABHHTS J.PELLET
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -7058,7 +7153,7 @@ def crea_champ_prod(TYPE_CHAM,**args):
 
 
 CREA_CHAMP=OPER(nom="CREA_CHAMP",op= 195,sd_prod=crea_champ_prod,
-                fr="Création d'un champ ",reentrant='n',
+                fr="Création d'un champ ",reentrant='f',
             UIinfo={"groupes":("Résultats et champs",)},
          TYPE_CHAM       =SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO()),
       # TYPE_CHAM doit etre de la forme : CART_xx, NOEU_xx, ELEM_xx, ELGA_xx ou ELNO_xx
@@ -7221,7 +7316,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 13/12/2006   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 23/07/2007   AUTEUR SALMONA L.SALMONA 
 # RESPONSABLE MCOURTOI M.COURTOIS
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -7345,6 +7440,14 @@ CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster,
            PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS"),
            PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
          ),
+         HEXA20_27     =FACT(statut='f',fr="Passage HEXA20 -> HEXA27",
+           regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
+           TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+           MAILLE          =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           PREF_NOEUD      =SIMP(statut='f',typ='TXM',defaut="NS"),
+           PREF_NUME       =SIMP(statut='f',typ='I',defaut= 1 ),
+         ),
          QUAD_LINE     =FACT(statut='f',fr="Passage quadratique -> linéaire",
            regles=(AU_MOINS_UN('TOUT','MAILLE','GROUP_MA' ),),
            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
@@ -7376,7 +7479,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 28/03/2007   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 17/07/2007   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7409,9 +7512,12 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
             UIinfo={"groupes":("Modélisation",)},
                fr="Créer ou enrichir une structure de donnees resultat à partir de champs aux noeuds",
 
-         OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ECLA_PG","PERM_CHAM","PROL_RTZ","PREP_VRC1","PREP_VRC2",),
+         OPERATION =SIMP(statut='o',typ='TXM',into=("AFFE","ASSE","ECLA_PG","PERM_CHAM","PROL_RTZ","PREP_VRC1","PREP_VRC2",),
                          fr="choix de la fonction a activer",),
 
+
+         # Création par affectation de champs :
+         #-------------------------------------
          b_affe       =BLOC(condition = "OPERATION == 'AFFE'",
 
            TYPE_RESU    =SIMP(statut='o',position='global',typ='TXM',into=("MULT_ELAS","EVOL_ELAS","EVOL_NOLI","FOURIER_ELAS",
@@ -7444,6 +7550,18 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
            ),
          ),
 
+
+         # Création par assemblage d'evol_ther :
+         #-----------------------------------------
+         b_asse       =BLOC(condition = "OPERATION == 'ASSE'",
+           TYPE_RESU    =SIMP(statut='o',position='global',typ='TXM',into=("EVOL_THER",) ),
+           ASSE         =FACT(statut='o',max='**',
+             RESULTAT       =SIMP(statut='o',typ=evol_ther),
+             TRANSLATION    =SIMP(statut='f',typ='R',defaut= 0. ),
+           ),
+         ),
+
+
          b_ecla_pg    =BLOC(condition = "OPERATION == 'ECLA_PG'",
 
            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_ELAS","EVOL_NOLI","EVOL_THER"), ),
@@ -7467,6 +7585,7 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
            ),
          ),
 
+
          b_perm_cham =BLOC(condition = "OPERATION == 'PERM_CHAM'",
 
            TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("EVOL_NOLI",) ),
@@ -7902,31 +8021,31 @@ DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,reentrant='n
            PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 13/02/2007   AUTEUR PELLET J.PELLET 
+#& 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.        
+# 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=(EXCLUS('MONOCRISTAL','POLYCRISTAL','MULTIFIBRE'),
+                  regles=(UN_PARMI('MONOCRISTAL','POLYCRISTAL','MULTIFIBRE'),
                  PRESENT_PRESENT('MULTIFIBRE','GEOM_FIBRE','MATER_SECT'),
                          ),
           MONOCRISTAL    =FACT(statut='f', max='**',
@@ -7939,12 +8058,12 @@ DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
                    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, 
+             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),
@@ -7952,18 +8071,18 @@ DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
              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)"),
@@ -8069,7 +8188,7 @@ DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
           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
@@ -8086,10 +8205,10 @@ DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
                                        "BETON_DOUBLE_DP",
                                        ),),
 
-# on pourrait ajouter TOUT_GROUP_FIBRE                                           
+# on pourrait ajouter TOUT_GROUP_FIBRE
 
                                 ) );
-                   
+
 #& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -8480,7 +8599,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 22/06/2005   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 04/09/2007   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -8499,10 +8618,11 @@ DEFI_FONC_FLUI=OPER(nom="DEFI_FONC_FLUI",op= 142,sd_prod=fonction_sdaster,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
 # RESPONSABLE MCOURTOI M.COURTOIS
-def defi_fonction_prod(VALE,VALE_PARA,VALE_C,NOEUD_PARA,**args):
+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
   if VALE_PARA  != None  : return fonction_sdaster
+  if ABSCISSE   != None  : return fonction_sdaster
   if NOEUD_PARA != None  : return fonction_sdaster
   raise AsException("type de concept resultat non prevu")
 
@@ -8510,11 +8630,13 @@ DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod
                     ,fr="Définit une fonction réelle ou complexe d'une variable réelle",
                      reentrant='n',
             UIinfo={"groupes":("Fonction",)},
-         regles=(UN_PARMI('VALE','VALE_C','VALE_PARA','NOEUD_PARA'),),
+         regles=(UN_PARMI('VALE','VALE_C','VALE_PARA','NOEUD_PARA','ABSCISSE'),),
          NOM_PARA        =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
          VALE            =SIMP(statut='f',typ='R',min=2,max='**',
                                fr ="Fonction réelle définie par une liste de couples (abscisse,ordonnée)"),
+         ABSCISSE        =SIMP(statut='f',typ='R',min=2,max='**',
+                               fr ="Liste d abscisses d une fonction réelle"),
          VALE_C          =SIMP(statut='f',typ='R',min=2,max='**',
                                fr ="Fonction complexe définie par une liste de couples"),
          VALE_PARA       =SIMP(statut='f',typ=listr8_sdaster,
@@ -8522,6 +8644,10 @@ DEFI_FONCTION=OPER(nom="DEFI_FONCTION",op=3,sd_prod=defi_fonction_prod
          b_vale_para     =BLOC(condition = "VALE_PARA != None",
            VALE_FONC       =SIMP(statut='o',typ=listr8_sdaster ),
          ),
+         b_abscisse      =BLOC(condition = "ABSCISSE != None",
+           ORDONNEE        =SIMP(statut='o',typ='R',min=2,max='**',
+                               fr ="Liste d ordonnées d une fonction réelle"),
+         ),
          NOEUD_PARA      =SIMP(statut='f',typ=no,max='**',
                                fr ="Fonction réelle définie par une liste de noeuds et un maillage"),
          b_noeud_para    =BLOC(condition = "NOEUD_PARA != None",
@@ -9142,7 +9268,7 @@ DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op=  88,sd_prod=maillage_sdaster,
            GROUP_NO_FIN    =SIMP(statut='f',typ=grno),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 21/05/2007   AUTEUR FERNANDES R.FERNANDES 
+#& MODIF COMMANDE  DATE 16/10/2007   AUTEUR SALMONA L.SALMONA 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -9758,7 +9884,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                PHI0     =SIMP(statut='o',typ='R',val_min=0.0),
                KAPPA    =SIMP(statut='f',typ='R',val_min=0.0,defaut=0.8,val_max=1.0),
                ZETA_G   =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-               TOLER_ET =SIMP(statut='c',typ='R',val_min=0.1E-2,val_max=10.0E-02,defaut=1.0E-02 ),
+               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',
@@ -10778,21 +10904,27 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            PESA_X           = SIMP(statut='o',typ='R'),
                                            PESA_Y           = SIMP(statut='o',typ='R'),
                                            PESA_Z           = SIMP(statut='o',typ='R'),
-                                           SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           SATU_PRES        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_SATU_PRES      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERM_LIQU        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERM_GAZ         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_SATU_GAZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_PRES_GAZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---Van Genhuchten et Muallen-----------------------------------------------------------------------------
+
+                                           VG_N    = SIMP(statut='f',typ='R'),
+                                           VG_SR    = SIMP(statut='f',typ='R'),
+                                           VG_PR   = SIMP(statut='f',typ='R'),
+                                           VG_SMAX = SIMP(statut='f',typ='R'),
+                                           VG_SATUR = SIMP(statut='f',typ='R'),
+#
 # ---------------------------------------------------------------------------------
 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
 # ---------------------------------------------------------------------------------
                                            CP               = SIMP(statut='f',typ='R'),
                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                                           regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
-                                                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -10803,6 +10935,15 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_CT   = SIMP(statut='f',typ='R'),
+#
+                                  regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
+                                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',),
+                                            ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU',
+                                                            'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',),
+                                            ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',),
+                                            UN_PARMI('VG_N','SATU_PRES'),
+                                           ),
+
 # ---------------------------------------------------------------------------------
 # -------------------   DONNEES INUTILES   ----------------------------------------
 # ---------------------------------------------------------------------------------
@@ -11196,13 +11337,21 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            PESA_X           = SIMP(statut='o',typ='R'),
                                            PESA_Y           = SIMP(statut='o',typ='R'),
                                            PESA_Z           = SIMP(statut='o',typ='R'),
-                                           SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           SATU_PRES        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_SATU_PRES      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERM_LIQU        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERM_GAZ         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_SATU_GAZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_PRES_GAZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---Van Genhuchten et Muallen-----------------------------------------------------------------------------
+
+                                           VG_N     = SIMP(statut='f',typ='R'),
+                                           VG_SR    = SIMP(statut='f',typ='R'),
+                                           VG_PR    = SIMP(statut='f',typ='R'),
+                                           VG_SMAX  = SIMP(statut='f',typ='R'),
+                                           VG_SATUR = SIMP(statut='f',typ='R'),
+#
                                            FICKV_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
 # ---------------------------------------------------------------------------------
 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
@@ -11210,8 +11359,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            CP               = SIMP(statut='f',typ='R'),
                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                                           regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
-                                                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -11222,6 +11369,14 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_CT   = SIMP(statut='f',typ='R'),
+#
+                                  regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
+                                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',),
+                                            ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU',
+                                                            'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',),
+                                            ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',),
+                                            UN_PARMI('VG_N','SATU_PRES'),
+                                           ),
 # ---------------------------------------------------------------------------------
 # -------------------   DONNEES FACULTATIVE   ----------------------------------
 # ---------------------------------------------------------------------------------
@@ -11351,13 +11506,20 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            PESA_X           = SIMP(statut='o',typ='R'),
                                            PESA_Y           = SIMP(statut='o',typ='R'),
                                            PESA_Z           = SIMP(statut='o',typ='R'),
-                                           SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           SATU_PRES        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_SATU_PRES      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERM_LIQU        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERM_GAZ         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_SATU_GAZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_PRES_GAZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---Van Genhuchten et Muallen-----------------------------------------------------------------------------
+                                           VG_N     = SIMP(statut='f',typ='R'),
+                                           VG_SR    = SIMP(statut='f',typ='R'),
+                                           VG_PR    = SIMP(statut='f',typ='R'),
+                                           VG_SMAX  = SIMP(statut='f',typ='R'),
+                                           VG_SATUR = SIMP(statut='f',typ='R'),
+#
                                            FICKV_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            FICKA_T          = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
 # ---------------------------------------------------------------------------------
@@ -11366,8 +11528,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            CP               = SIMP(statut='f',typ='R'),
                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                                           regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
-                                                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -11378,6 +11538,14 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_CT   = SIMP(statut='f',typ='R'),
+#
+                                  regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
+                                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',),
+                                            ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU',
+                                                            'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',),
+                                            ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',),
+                                            UN_PARMI('VG_N','SATU_PRES'),
+                                           ),
 # ---------------------------------------------------------------------------------
 # -------------------   DONNEES FACULTATIVES   ------------------------------------
 # ---------------------------------------------------------------------------------
@@ -11520,21 +11688,26 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            PESA_X           = SIMP(statut='o',typ='R'),
                                            PESA_Y           = SIMP(statut='o',typ='R'),
                                            PESA_Z           = SIMP(statut='o',typ='R'),
-                                           SATU_PRES        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_SATU_PRES      = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           PERM_LIQU        = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_PERM_LIQU_SATU = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           PERM_GAZ         = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_PERM_SATU_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                           D_PERM_PRES_GAZ  = SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           SATU_PRES        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_SATU_PRES      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERM_LIQU        = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_LIQU_SATU = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           PERM_GAZ         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_SATU_GAZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+                                           D_PERM_PRES_GAZ  = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+# ---Van Genhuchten et Muallen-----------------------------------------------------------------------------
+
+                                           VG_N    = SIMP(statut='f',typ='R'),
+                                           VG_SR    = SIMP(statut='f',typ='R'),
+                                           VG_PR   = SIMP(statut='f',typ='R'),
+                                           VG_SMAX = SIMP(statut='f',typ='R'),
+                                           VG_SATUR = SIMP(statut='f',typ='R'),
 # ---------------------------------------------------------------------------------
 # -------------------   DONNEES NECESSAIRE SI THERMIQUE   -------------------------
 # ---------------------------------------------------------------------------------
                                            CP               = SIMP(statut='f',typ='R'),
                                            PERM_IN          = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERM_END         = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-                                                           regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
-                                                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',), ),
                                            PERMIN_X      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Y      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            PERMIN_Z      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -11545,6 +11718,14 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                                            LAMB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_S      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_CT   = SIMP(statut='f',typ='R'),
+#
+                                  regles = (EXCLUS('PERM_IN','PERM_END','PERMIN_X',),
+                                            PRESENT_PRESENT('PERMIN_X','PERMIN_Y','PERMIN_Z',),
+                                            ENSEMBLE('SATU_PRES','D_SATU_PRES','PERM_LIQU','D_PERM_LIQU_SATU',
+                                                            'PERM_GAZ','D_PERM_SATU_GAZ','D_PERM_PRES_GAZ',),
+                                            ENSEMBLE('VG_N','VG_SR','VG_PR','VG_SMAX','VG_SATUR',),
+                                            UN_PARMI('VG_N','SATU_PRES'),
+                                           ),
 # ---------------------------------------------------------------------------------
 # -------------------   DONNEES INUTILES   ----------------------------------------
 # ---------------------------------------------------------------------------------
@@ -11952,7 +12133,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 22/06/2005   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 04/09/2007   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -11970,10 +12151,9 @@ 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.      
 # ======================================================================
-DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op=   4,sd_prod=nappe_sdaster,
+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",)},
+                reentrant='n',UIinfo={"groupes":("Fonction",)},
          regles=(UN_PARMI('FONCTION','DEFI_FONCTION'),
                  EXCLUS('FONCTION','NOM_PARA_FONC',),
                  ENSEMBLE('NOM_PARA_FONC','DEFI_FONCTION'),),
@@ -11981,8 +12161,7 @@ DEFI_NAPPE=OPER(nom="DEFI_NAPPE",op=   4,sd_prod=nappe_sdaster,
          NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),       
          PARA            =SIMP(statut='o',typ='R',max='**'),
          FONCTION        =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**' ),
-         NOM_PARA_FONC   =SIMP(statut='f',typ='TXM',into=("TEMP","INST","X","Y","Z","EPSI","FREQ",
-                                                          "PULS","AMOR","EPAIS","SAT", "PGAZ","PCAP") ),
+         NOM_PARA_FONC   =SIMP(statut='f',typ='TXM',into=C_PARA_FONCTION() ),
          DEFI_FONCTION   =FACT(statut='f',max='**',
            VALE            =SIMP(statut='o',typ='R',max='**'),
            INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
@@ -12634,7 +12813,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 10/05/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 19/06/2007   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12693,7 +12872,7 @@ DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
            VECT_ASSE       =SIMP(statut='f',typ=(cham_no_sdaster,vect_asse_gene) ),
            CHARGE          =SIMP(statut='f',typ=char_meca ),
            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE",into=("FIXE",) ),
-           FONC_MULT_C     =SIMP(statut='f',typ=fonction_c ),
+           FONC_MULT_C     =SIMP(statut='f',typ=(fonction_c,formule_c) ),
            COEF_MULT_C     =SIMP(statut='f',typ='C' ),
            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            COEF_MULT       =SIMP(statut='f',typ='R' ),
@@ -12708,7 +12887,7 @@ DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
 # Rajouter test icompatibilite vect_asse et sensibilite
 # Peut-on aussi rajouter ici le test d incompatibilite charge complexe - derivation 
 #  presents dans le Fortran          
-#& MODIF COMMANDE  DATE 13/12/2006   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 17/09/2007   AUTEUR BOYERE E.BOYERE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12794,7 +12973,6 @@ DYNA_LINE_TRAN=OPER(nom="DYNA_LINE_TRAN",op=  48,sd_prod=dyna_trans,
            MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
            NB_MODE         =SIMP(statut='f',typ='I',defaut= 9999 ),
-           REAC_VITE       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
          ),
 
          SOLVEUR         =FACT(statut='d',
@@ -12866,7 +13044,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 30/05/2007   AUTEUR ABBAS M.ABBAS 
+#& MODIF COMMANDE  DATE 16/10/2007   AUTEUR SALMONA L.SALMONA 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12941,11 +13119,12 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
          COMP_INCR       =C_COMP_INCR(),
          COMP_ELAS       =FACT(statut='f',max='**',
            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
-                                 into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC",
+                                 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,)),
@@ -12963,20 +13142,18 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
 #-------------------------------------------------------------------
          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','VITE','ACCE','SIGM','VARI','VARI_NON_LOCAL',),
+           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('EVOL_NOLI','VARI_NON_LOCAL',),
                    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),
-           VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_sdaster),
            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
            NUME_ORDRE      =SIMP(statut='f',typ='I'),
            INST            =SIMP(statut='f',typ='R'),
@@ -12987,20 +13164,18 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
          ),),
          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','VITE','ACCE','SIGM','VARI','VARI_NON_LOCAL',),
+           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('EVOL_NOLI','VARI_NON_LOCAL',),
                    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),
-           VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_sdaster),
            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
            NUME_ORDRE      =SIMP(statut='f',typ='I'),
            INST            =SIMP(statut='f',typ='R'),
@@ -13247,7 +13422,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            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","VARI_NON_LOCAL","LANL_ELGA")),
+           into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","LANL_ELGA")),
          ),
 
 #-------------------------------------------------------------------
@@ -13264,43 +13439,6 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
                                fr="Liste des paramètres de sensibilité",
                                ang="List of sensitivity parameters"),
-#-------------------------------------------------------------------
-           SOLV_NON_LOCAL  =FACT(statut='f',
-             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_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")),
-               SCALING         =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,),
-             ),
-             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 ),
-               RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
-               NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
-             ),
-             EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
-           ),
-           LAGR_NON_LOCAL  =FACT(statut='f',
-             ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
-             RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
-             RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
-             R               =SIMP(statut='f',typ='R',defaut= 1000.),
-             ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
-           ),
 #-------------------------------------------------------------------
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
@@ -13334,7 +13472,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 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 11/09/2007   AUTEUR LEBOUVIER F.LEBOUVIER 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -13530,7 +13668,6 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
                 CHOC_FLUI       =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
                 NB_MODE         =SIMP(statut='f',typ='I' ),
                 NB_MODE_FLUI    =SIMP(statut='f',typ='I' ),
-                NB_MODE_DIAG    =SIMP(statut='f',typ='I' ),
                 TS_REG_ETAB     =SIMP(statut='f',typ='R' ),
          ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
@@ -13543,29 +13680,29 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
          ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
  )  ;
-#& MODIF COMMANDE  DATE 12/12/2006   AUTEUR VIVAN L.VIVAN 
+#& MODIF COMMANDE  DATE 19/06/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.                                 
+# 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 VABHHTS 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)",
-         UNITE           =SIMP(statut='f',typ='I',defaut=8),  
+         UNITE           =SIMP(statut='f',typ='I',defaut=8),
          FORMAT          =SIMP(statut='f',typ='TXM',into=("OBJET",) ),
          FORMAT_R        =SIMP(statut='f',typ='TXM',defaut="1PE20.13"),
          PREC_R          =SIMP(statut='f',typ='TXM',defaut="1.E-10"),
@@ -13580,7 +13717,7 @@ ENGENDRE_TEST=PROC(nom="ENGENDRE_TEST",op=178,
                             regles=(UN_PARMI('TOUT','CO'),),
             TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
             CO              =SIMP(statut='f',typ=assd,validators=NoRepeat(),max='**'),
-            TYPE_TEST       =SIMP(statut='f',typ='TXM',defaut="SOMME",into=("SOMME","RESUME") ),
+            TYPE_TEST       =SIMP(statut='f',typ='TXM',defaut="SOMME",into=("SOMME",) ),
          ),
 )  ;
 #& MODIF COMMANDE  DATE 29/08/2006   AUTEUR MCOURTOI M.COURTOIS 
@@ -13687,7 +13824,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 09/05/2007   AUTEUR VIVAN L.VIVAN 
+#& MODIF COMMANDE  DATE 24/09/2007   AUTEUR REZETTE C.REZETTE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -13724,7 +13861,8 @@ def extr_resu_prod(RESULTAT,**args):
 EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f',
             UIinfo={"groupes":("Résultats et champs",)},
             fr="Extraire des champs au sein d'une SD Résultat",
-         regles=(CONCEPT_SENSIBLE('SEPARE'), REUSE_SENSIBLE(),
+         regles=(CONCEPT_SENSIBLE('SEPARE'), 
+                 #REUSE_SENSIBLE(),
                  DERIVABLE('RESULTAT'),),
          RESULTAT        =SIMP(statut='o',typ=(evol_elas,dyna_trans,dyna_harmo,acou_harmo,mode_meca,
                                                mode_acou,mode_stat_depl,mode_stat_acce,mode_stat_forc,evol_ther,evol_noli,
@@ -13758,7 +13896,7 @@ 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 22/06/2005   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 06/08/2007   AUTEUR TARDIEU N.TARDIEU 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -13777,13 +13915,16 @@ EXTR_RESU=OPER(nom="EXTR_RESU",op=176,sd_prod=extr_resu_prod,reentrant='f',
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 def extr_table_prod(TYPE_RESU,**args):
-  if TYPE_RESU == "MATR_ASSE_GENE_R" : return matr_asse_gene_r
+  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 la matrice de masse généralisée assemblée",
-         TYPE_RESU       =SIMP(statut='o',typ='TXM',into=("MATR_ASSE_GENE_R",) ),
+         fr="Extraire d'une table des concepts Code_Aster",
+         TYPE_RESU       =SIMP(statut='o',typ='TXM',),
 
          TABLE           =SIMP(statut='o',typ=table_sdaster),
 
@@ -13807,60 +13948,25 @@ EXTR_TABLE=OPER(nom="EXTR_TABLE",op=173,sd_prod=extr_table_prod,reentrant='n',
 
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 08/10/2007   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.      
+# 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 fact_grad_prod(MATR_ASSE,**args):
-  if AsType(MATR_ASSE) == matr_asse_depl_r : return matr_asse_depl_r
-  if AsType(MATR_ASSE) == matr_asse_temp_r : return matr_asse_temp_r
-  if AsType(MATR_ASSE) == matr_asse_pres_r : return matr_asse_pres_r
-  raise AsException("type de concept resultat non prevu")
 
-FACT_GRAD=OPER(nom="FACT_GRAD",op=85,sd_prod=fact_grad_prod,
-            UIinfo={"groupes":("Résolution",)},
-               fr="Construire une matrice de préconditionnement pour une résolution par gradient conjugué",
-               reentrant='n',
-         MATR_ASSE       =SIMP(statut='o',
-                               typ=(matr_asse_depl_r,matr_asse_temp_r,
-                                    matr_asse_pres_r) ),
-         PRE_COND        =SIMP(statut='f',typ='TXM',defaut="LDLT_INC",into=("LDLT_INC",) ),
-         NIVE_REMPLISSAGE=SIMP(statut='f',typ='I',defaut= 0 ),  
-         INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
-)  ;
-#& 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
 def fact_ldlt_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
@@ -13870,27 +13976,34 @@ def fact_ldlt_prod(MATR_ASSE,**args):
   if AsType(MATR_ASSE) == matr_asse_pres_c : return matr_asse_pres_c
   raise AsException("type de concept resultat non prevu")
 
-FACT_LDLT=OPER(nom="FACT_LDLT",op=14,sd_prod=fact_ldlt_prod,
-               fr="Factoriser une matrice assemblée en un produit de deux matrices triangulaires",
-               reentrant='f',
-            UIinfo={"groupes":("Résolution",)},
+FACTORISER=OPER(nom="FACTORISER",op=14,sd_prod=fact_ldlt_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,),
-         PRE_COND        =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","DIAG") ),
+
+         # 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,),
-#
-         EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
 
-#        mots clés pour solveur MUMPS :
+         # mots clés pour solveur MUMPS :
          TYPE_RESOL      =SIMP(statut='f',typ='TXM',defaut='AUTO',into=('NONSYM','SYMGEN','SYMDEF','AUTO')),
-         PCENT_PIVOT     =SIMP(statut='f',typ='I',defaut=20,),
+         SCALING         =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) ),
@@ -13948,7 +14061,7 @@ FONC_FLUI_STRU=OPER(nom="FONC_FLUI_STRU",op= 169,sd_prod=fonction_sdaster,
             UIinfo={"groupes":("Fonction",)},
          TYPE_FLUI_STRU  =SIMP(statut='o',typ=(type_flui_stru) ),
 )  ;
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 19/06/2007   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -13966,20 +14079,31 @@ 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.      
 # ======================================================================
+def formule_prod(self,VALE,VALE_C,**args):
+   if   VALE   != None:
+      return formule
+   elif VALE_C != None:
+      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
-  texte=string.join(VALE.splitlines())
-
+  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))
 
 FORMULE=FORM(nom="FORMULE",op_init=form_pyth_ops,op=-5,
-             sd_prod=formule,UIinfo={"groupes":("Fonction",)},
-             fr="Définit une formule réelle à partir de son expression mathématique",
+             sd_prod=formule_prod,UIinfo={"groupes":("Fonction",)},
+             fr="Définit une flyingdformule 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 
@@ -14673,7 +14797,7 @@ IMPR_OAR =MACRO(nom="IMPR_OAR",op= impr_oar_ops, sd_prod=None,
    UNITE = SIMP(statut='f',typ='I',defaut=38),
    AJOUT = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')),
    );
-#& MODIF COMMANDE  DATE 09/05/2007   AUTEUR VIVAN L.VIVAN 
+#& MODIF COMMANDE  DATE 11/09/2007   AUTEUR REZETTE C.REZETTE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14750,10 +14874,10 @@ IMPR_RESU=PROC(nom="IMPR_RESU",op=39,
                                    fr="Liste des paramètres de sensibilité.",
                                    ang="List of sensitivity parameters"),),
 
-#           b_partie        =BLOC(condition="""((AsType(RESULTAT)==dyna_harmo) or  
-#                           (AsType(CHAM_GD)!=carte_sdaster))  and ((FORMAT=='CASTEM') or (FORMAT=='GMSH'))""",
+           b_partie        =BLOC(condition="""(AsType(RESULTAT) in (dyna_harmo, acou_harmo) or  
+                          AsType(CHAM_GD) != carte_sdaster) and FORMAT in ('CASTEM', 'GMSH', 'MED')""",
              PARTIE          =SIMP(statut='f',typ='TXM',into=("REEL","IMAG") ),
-#           ),
+           ),
            b_extrac        =BLOC(condition="RESULTAT != None",
                                  fr="extraction d un champ de grandeur",
              regles=(EXCLUS('TOUT_CHAM','NOM_CHAM'),
@@ -14798,9 +14922,20 @@ IMPR_RESU=PROC(nom="IMPR_RESU",op=39,
 ###
            b_gmsh=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and((FORMAT == 'GMSH'))""",
                                 fr="sélection des composantes et des entités toplogiques",
-             NOM_CMP         =SIMP(statut='f',typ='TXM',max='**'),
              MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
              GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+             TYPE_CHAM       =SIMP(statut='f',typ='TXM',defaut="SCALAIRE",
+                                   into=("VECT_2D","VECT_3D","SCALAIRE","TENS_2D","TENS_3D"),),
+             b_scal          =BLOC(condition = "TYPE_CHAM=='SCALAIRE'",
+               NOM_CMP         =SIMP(statut='f',typ='TXM',max='**' ),),
+             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_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 ),),
            ),
 ###
            b_topologie=BLOC(condition="""((CHAM_GD != None)or(RESULTAT != None))and\
@@ -14867,7 +15002,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 10/05/2006   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 03/07/2007   AUTEUR SALMONA L.SALMONA 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14917,10 +15052,10 @@ IMPR_TABLE=MACRO(nom="IMPR_TABLE",op=impr_table_ops,sd_prod=None,
                                  "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'),
+         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_crit         =BLOC(condition = "CRIT_COMP in ('EQ','NE')",
          CRITERE        =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
@@ -15644,7 +15779,7 @@ LIRE_PLEXUS=OPER(nom="LIRE_PLEXUS",op= 184,sd_prod=evol_char,
          ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 13/02/2007   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 09/10/2007   AUTEUR COURTOIS M.COURTOIS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15703,7 +15838,7 @@ def l_nom_cham_pas_elga(): return (
      "SIGM_NOZ2_ELGA", "SIPO_ELNO_DEPL", "SIPO_ELNO_SIEF", "SIPO_NOEU_DEPL",
      "SIPO_NOEU_SIEF", "SIRE_ELNO_DEPL", "SIRE_NOEU_DEPL", "TEMP", "THETA",
      "VALE_CONT", "VALE_NCOU_MAXI", "VARI_ELNO", "VARI_ELNO_COQU",
-     "VARI_ELNO_ELGA", "VARI_ELNO_TUYO", "VARI_NOEU", "VARI_NOEU_ELGA", "VARI_NON_LOCAL",
+     "VARI_ELNO_ELGA", "VARI_ELNO_TUYO", "VARI_NOEU", "VARI_NOEU_ELGA",
      "VITE", "VITE_ABSOLU", "VITE_VENT",
                            )
 
@@ -15816,7 +15951,7 @@ LIRE_RESU=OPER(nom="LIRE_RESU",op=150,sd_prod=lire_resu_prod,reentrant='n',
            UNITE           =SIMP(statut='f',typ='I',defaut= 81, fr="Le fichier est : fort.n.",),
            FORMAT_MED      =FACT(statut='f',max='**',
              regles=(ENSEMBLE('NOM_CMP','NOM_CMP_MED'),),
-             NOM_CHAM        =SIMP(statut='o',typ='TXM',into=l_nom_cham_pas_elga()),
+             NOM_CHAM        =SIMP(statut='o',typ='TXM',into=C_NOM_CHAM_INTO(),),
              NOM_CHAM_MED    =SIMP(statut='o',typ='TXM',               fr="Nom du champ dans le fichier MED.",  ),
              NOM_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.", ),
@@ -17417,7 +17552,7 @@ MACR_CABRI_MAIL=MACRO(nom="MACR_CABRI_MAIL",
                                           ),
                      );
 
-#& MODIF COMMANDE  DATE 03/01/2006   AUTEUR REZETTE C.REZETTE 
+#& 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
@@ -17462,8 +17597,11 @@ MACR_CARA_POUTRE=MACRO(nom="MACR_CARA_POUTRE",op=macr_cara_poutre_ops,sd_prod=ta
          
                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='**',
+                    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"),
@@ -19220,7 +19358,7 @@ MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas,
          ),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 16/05/2007   AUTEUR COURTOIS M.COURTOIS 
+#& MODIF COMMANDE  DATE 10/09/2007   AUTEUR COURTOIS M.COURTOIS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19241,12 +19379,23 @@ MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas,
 # RESPONSABLE GNICOLAS G.NICOLAS
 from Macro.Sensibilite import memo_nom_sensi_ops
 
-MEMO_NOM_SENSI=MACRO(nom="MEMO_NOM_SENSI",op=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',max='**',
+         NOM=FACT(statut='o',
              regles=(PRESENT_PRESENT('MOT_CLE','VALEUR','MOT_FACT' ),),
 
              NOM_SD=SIMP(statut='o',typ='TXM',
@@ -19257,10 +19406,14 @@ MEMO_NOM_SENSI=MACRO(nom="MEMO_NOM_SENSI",op=memo_nom_sensi_ops,
                          fr="Nom du paramètre sensible",
                          ang="Name of the sensitive parameter"),
 
-             NOM_COMPOSE=SIMP(statut='f',typ='TXM',defaut=" ",
+             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"),
@@ -19275,7 +19428,7 @@ MEMO_NOM_SENSI=MACRO(nom="MEMO_NOM_SENSI",op=memo_nom_sensi_ops,
 
          ),
 )
-#& MODIF COMMANDE  DATE 22/06/2005   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 18/09/2007   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19312,6 +19465,7 @@ MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op=  80,sd_prod=mode_cycl,
            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"
@@ -19816,7 +19970,7 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
          ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 30/04/2007   AUTEUR ABBAS M.ABBAS 
+#& MODIF COMMANDE  DATE 18/09/2007   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19843,7 +19997,7 @@ MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu
     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=char_meca,min=1,max=1,),
+    CONTACT         =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON"),min=1,max=1,),
 )  ;
 #& MODIF COMMANDE  DATE 10/10/2006   AUTEUR MCOURTOI M.COURTOIS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
@@ -20013,7 +20167,7 @@ NORM_MODE=OPER(nom="NORM_MODE",op=  37,sd_prod=norm_mode_prod,
          TITRE      =SIMP(statut='f',typ='TXM',max='**'),
          INFO       =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 13/12/2006   AUTEUR PELLET J.PELLET 
+#& 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
@@ -20051,7 +20205,6 @@ NUME_DDL=OPER(nom="NUME_DDL",op=11,sd_prod=nume_ddl_sdaster,reentrant='n',
          ),
          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")),
-           ELIM_LAGR2    =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
          ),
          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"  ),
@@ -20241,7 +20394,7 @@ OBSERVATION=MACRO(nom="OBSERVATION",op=observation_ops,
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
       )  ;
-#& MODIF COMMANDE  DATE 15/05/2007   AUTEUR GENIAUT S.GENIAUT 
+#& 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
@@ -20264,11 +20417,12 @@ POST_CHAM_XFEM=OPER(nom="POST_CHAM_XFEM",op= 196,sd_prod=evol_noli,
             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"),),
+    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 == 'SIEF_ELGA' or \
-                                      (type(NOM_CHAM)==type(()) and 'SIEF_ELGA' in NOM_CHAM)",
+      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,) ),
@@ -20879,7 +21033,7 @@ POST_FATIGUE=OPER(nom="POST_FATIGUE",op=136,sd_prod=table_sdaster,reentrant='n',
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 31/10/2006   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 23/07/2007   AUTEUR COURTOIS M.COURTOIS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20910,7 +21064,7 @@ 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=(AU_MOINS_UN('IDENTIFICATION', 'PREDICTION'),),
+              regles=(UN_PARMI('IDENTIFICATION', 'PREDICTION'),),
       
       # Résultat, modèle, comportement, chargement
       RESULTAT     = SIMP(statut='o',typ=(evol_elas,evol_noli,dyna_trans,mode_meca),),
@@ -21152,7 +21306,7 @@ POST_K_TRANS=MACRO(nom="POST_K_TRANS",op=post_k_trans_ops,sd_prod=table_sdaster,
         TITRE           =SIMP(statut='f',typ='TXM'),
 )
 
-#& MODIF COMMANDE  DATE 15/05/2007   AUTEUR GENIAUT S.GENIAUT 
+#& MODIF COMMANDE  DATE 17/07/2007   AUTEUR GENIAUT S.GENIAUT 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -21175,6 +21329,10 @@ POST_MAIL_XFEM=OPER(nom="POST_MAIL_XFEM",op= 187,sd_prod=maillage_sdaster,
             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,) ),
 
@@ -21935,7 +22093,7 @@ PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=cham_no_sdaster,
          CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 09/05/2007   AUTEUR VIVAN L.VIVAN 
+#& 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
@@ -21959,17 +22117,28 @@ def proj_champ_prod(RESULTAT=None,CHAM_NO_REFE=None,**args ):
     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'),
@@ -21988,9 +22157,8 @@ PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
            TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
            NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
 
-#          POUR IMPOSER LA NUMEROTATION DES DDLS :
-#          ------------------------------------------------------------------
-           NUME_DDL        =SIMP(statut='f',typ=(nume_ddl_sdaster) ),
+           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",) ),
@@ -22004,7 +22172,8 @@ PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
            NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
 
 
-           CAS_FIGURE      =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",) ),
+           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,
@@ -22017,11 +22186,17 @@ PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
                 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."),
+                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'),),
@@ -22040,9 +22215,6 @@ PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
                 fr="2 (ou 3) fonctions fx,fy,fz définissant la transformation géométrique à appliquer"+
                    " aux noeuds du MODELE_2 avant la projection."),
          ),
-
-         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
@@ -22587,67 +22759,42 @@ RECU_TABLE=OPER(nom="RECU_TABLE",op= 174,sd_prod=table_sdaster,
          NOM_PARA        =SIMP(statut='f',typ='TXM',max='**'),  
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),  
 )  ;
-#& MODIF COMMANDE  DATE 21/02/2006   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 08/10/2007   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.      
+# 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.        
 # ======================================================================
 
-RESO_GRAD=OPER(nom="RESO_GRAD",op=  84,sd_prod=cham_no_sdaster,
-               fr="Résolution d'un système linéaire par la méthode du gradient conjugué préconditionné",
-               reentrant='f',
-            UIinfo={"groupes":("Résolution",)},
-         MATR_ASSE       =SIMP(statut='o',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
+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),
-         MATR_FACT       =SIMP(statut='f',typ=(matr_asse_depl_r,matr_asse_temp_r,matr_asse_pres_r ) ),
+
+         # 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") ),
-         RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1E-6 ),  
-         INFO            =SIMP(statut='f',typ='I',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.
-# ======================================================================
-# RESPONSABLE VABHHTS J.PELLET
 
-RESO_LDLT=OPER(nom="RESO_LDLT",op=15,sd_prod=cham_no_sdaster,reentrant='f',
-               fr="Résoudre par méthode directe un système d'équations linéaires préalablement factorisé par FACT_LDLT",
-            UIinfo={"groupes":("Résolution",)},
-         MATR_FACT       =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),
-         # RESI_RELA : précision utilisée si SOLVEUR=MUMPS
-         RESI_RELA       =SIMP(statut='f',typ='R',defaut=1.e-6),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
 )  ;
@@ -22790,7 +22937,7 @@ REST_SPEC_PHYS=OPER(nom="REST_SPEC_PHYS",op= 148,sd_prod=table_fonction,
                                into=("DIAG_TOUT","DIAG_DIAG","TOUT_TOUT","TOUT_DIAG") ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
 )  ;
-#& MODIF COMMANDE  DATE 23/04/2007   AUTEUR PROIX J-M.PROIX 
+#& MODIF COMMANDE  DATE 26/06/2007   AUTEUR REZETTE C.REZETTE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2006  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -22919,7 +23066,7 @@ SIMU_POINT_MAT=MACRO(nom="SIMU_POINT_MAT", op=simu_point_mat_ops,sd_prod=table_s
      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","VARI_NON_LOCAL","LANL_ELGA")),
+            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",)),                                                       
@@ -23035,7 +23182,7 @@ STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None,
                                fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit les md5"),
 
 )  ;
-#& MODIF COMMANDE  DATE 30/05/2007   AUTEUR ABBAS M.ABBAS 
+#& MODIF COMMANDE  DATE 16/10/2007   AUTEUR SALMONA L.SALMONA 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -23085,11 +23232,12 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
            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",
+                                 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,)),
@@ -23101,16 +23249,14 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
          ),
          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','VARI_NON_LOCAL',),
+             regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',),
                      EXCLUS('EVOL_NOLI','DEPL',),
                      EXCLUS('EVOL_NOLI','SIGM',),
                      EXCLUS('EVOL_NOLI','VARI',),
-                     EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
                      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),
-             VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_sdaster),
              EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
              NUME_ORDRE      =SIMP(statut='f',typ='I'),
              INST            =SIMP(statut='f',typ='R'),
@@ -23121,16 +23267,14 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
          ),),
          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','VARI_NON_LOCAL',),
+             regles=(AU_MOINS_UN('EVOL_NOLI','DEPL','SIGM','VARI',),
                      EXCLUS('EVOL_NOLI','DEPL',),
                      EXCLUS('EVOL_NOLI','SIGM',),
                      EXCLUS('EVOL_NOLI','VARI',),
-                     EXCLUS('EVOL_NOLI','VARI_NON_LOCAL',),
                      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),
-             VARI_NON_LOCAL  =SIMP(statut='f',typ=cham_no_sdaster),
              EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
              NUME_ORDRE      =SIMP(statut='f',typ='I'),
              INST            =SIMP(statut='f',typ='R'),
@@ -23258,7 +23402,7 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
            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' ",
+           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") ),
@@ -23308,8 +23452,8 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
            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",
-                                                                     "VARI_NON_LOCAL","LANL_ELGA")),
+           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='**' ),
@@ -23388,42 +23532,6 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
            SENSIBILITE     =SIMP(statut='f',typ=(para_sensi,theta_geom),validators=NoRepeat(),max='**',
                                fr="Liste des paramètres de sensibilité",
                                ang="List of sensitivity parameters"),
-           SOLV_NON_LOCAL  =FACT(statut='f',
-             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_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")),
-               SCALING         =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,),
-             ),
-             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 ),
-               RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6 ),
-               NMAX_ITER       =SIMP(statut='f',typ='I',defaut= 0 ),
-             ),
-             EPS             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
-           ),
-           LAGR_NON_LOCAL  =FACT(statut='f',
-             ITER_DUAL_MAXI  =SIMP(statut='f',typ='I',defaut= 50),
-             RESI_DUAL_ABSO  =SIMP(statut='o',typ='R'),
-             RESI_PRIM_ABSO  =SIMP(statut='o',typ='R'),
-             R               =SIMP(statut='f',typ='R',defaut= 1000.),
-             ITER_PRIM_MAXI  =SIMP(statut='f',typ='I',defaut= 10),
-           ),
          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
  )
@@ -23559,7 +23667,7 @@ TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,
            ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 10/10/2006   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 19/06/2007   AUTEUR PELLET J.PELLET 
 # RESPONSABLE VABHHTS J.PELLET
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -23711,12 +23819,11 @@ TEST_RESU=PROC(nom="TEST_RESU",op=23,
          ),
 
          OBJET           =FACT(statut='f',max='**',
-           regles=(UN_PARMI('S_I','S_R','RESUME',),
-                   UN_PARMI('VALE','VALE_I','VALE_C','RESUME','S_R','S_I'),),
+           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'),
-           RESUME          =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'),