]> SALOME platform Git repositories - modules/eficas.git/commitdiff
Salome HOME
CCAR : mise a jour avec la version 7.3.23 du Noyau superviseur Aster
authoreficas <>
Thu, 7 Oct 2004 18:12:28 +0000 (18:12 +0000)
committereficas <>
Thu, 7 Oct 2004 18:12:28 +0000 (18:12 +0000)
88 files changed:
Aster/Cata/Macro/__init__.py
Aster/Cata/Macro/ajout_quad_gmsh.py
Aster/Cata/Macro/calc_precont_ops.py
Aster/Cata/Macro/defi_cable_bp_ops.py
Aster/Cata/Macro/fiabilite_fichier.py
Aster/Cata/Macro/fiabilite_mefisto.py
Aster/Cata/Macro/impr_fonction_ops.py
Aster/Cata/Macro/lire_fonction_ops.py
Aster/Cata/Macro/lire_table_ops.py
Aster/Cata/Macro/macr_adap_mail_ops.py
Aster/Cata/Macro/macr_ascouf_calc_ops.py
Aster/Cata/Macro/macr_ascouf_mail_ops.py
Aster/Cata/Macro/macr_aspic_calc_ops.py
Aster/Cata/Macro/macr_aspic_mail_ops.py
Aster/Cata/Macro/macr_cabri_calc_ops.py
Aster/Cata/Macro/macr_cabri_mail_dat.py
Aster/Cata/Macro/macr_cabri_mail_ops.py
Aster/Cata/Macro/macr_cara_poutre_ops.py
Aster/Cata/Macro/macr_fiab_impr_ops.py
Aster/Cata/Macro/macr_fiabilite_ops.py
Aster/Cata/Macro/macr_lign_coupe_ops.py
Aster/Cata/Macro/macr_recal_ops.py
Aster/Cata/Macro/macro_elas_mult_ops.py
Aster/Cata/Macro/macro_matr_ajou_ops.py
Aster/Cata/Macro/macro_matr_asse_ops.py
Aster/Cata/Macro/macro_miss_3d_ops.py
Aster/Cata/Macro/macro_mode_meca_ops.py
Aster/Cata/Macro/macro_proj_base_ops.py
Aster/Cata/Macro/reca_algo.py
Aster/Cata/Macro/reca_interp.py
Aster/Cata/Macro/reca_message.py
Aster/Cata/Macro/recal.py
Aster/Cata/Macro/stanley_ops.py
Aster/Cata/Macro/test_fichier_ops.py
Aster/Cata/cata_STA7.py
Aster/Cata/ops.py
Noyau/N_ASSD.py
Noyau/N_BLOC.py
Noyau/N_CO.py
Noyau/N_CR.py
Noyau/N_ENTITE.py
Noyau/N_ETAPE.py
Noyau/N_EVAL.py [deleted file]
Noyau/N_Exception.py
Noyau/N_FACT.py
Noyau/N_FONCTION.py
Noyau/N_FORM.py
Noyau/N_FORM_ETAPE.py
Noyau/N_GEOM.py
Noyau/N_JDC.py
Noyau/N_JDC_CATA.py
Noyau/N_MACRO.py
Noyau/N_MACRO_ETAPE.py
Noyau/N_MCBLOC.py
Noyau/N_MCCOMPO.py
Noyau/N_MCFACT.py
Noyau/N_MCLIST.py
Noyau/N_MCSIMP.py
Noyau/N_OBJECT.py
Noyau/N_OPER.py
Noyau/N_PROC.py
Noyau/N_PROC_ETAPE.py
Noyau/N_REGLE.py
Noyau/N_SIMP.py
Noyau/N_VALIDATOR.py
Noyau/N__F.py
Noyau/N_utils.py
Noyau/__init__.py
Noyau/context.py
Noyau/nommage.py
Noyau/properties.py
Validation/V_AU_MOINS_UN.py
Validation/V_A_CLASSER.py
Validation/V_ENSEMBLE.py
Validation/V_ETAPE.py
Validation/V_EXCLUS.py
Validation/V_JDC.py
Validation/V_MACRO_ETAPE.py
Validation/V_MCBLOC.py
Validation/V_MCCOMPO.py
Validation/V_MCFACT.py
Validation/V_MCLIST.py
Validation/V_MCSIMP.py
Validation/V_PRESENT_ABSENT.py
Validation/V_PRESENT_PRESENT.py
Validation/V_PROC_ETAPE.py
Validation/V_UN_PARMI.py
Validation/__init__.py

index b97da6c44e94526675459794f9cc2d318182b37b..4aebb58b87c323b18cef5e3c2b8d4c14d8b7762a 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF __init__ Macro  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF __init__ Macro  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
index b7c1671d7e687e409dd065011d6c73d508bab8c3..e0d64393a69106f3b28b7a7fe89873ad28b1400a 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF ajout_quad_gmsh Macro  DATE 11/06/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF ajout_quad_gmsh Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18,6 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
+
+
 # script PYTHON de modification d'un fichier de maillage GMSH (*.msh)
 # pour transformer les mailles lineiques en mailles quadratiques
 # SEG2->SEG3 / TRIA3->TRIA6 / QUAD4->QUAD8,
index 123edf76f6d831a4c025d95c0d67ca77e3c7d714..ed44814dbf772d400fc92e20088914ecb8c7e62e 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF calc_precont_ops Macro  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF calc_precont_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17,6 +17,8 @@
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
+
+
 # RESPONSABLE ASSIRE A.ASSIRE
 
 def calc_precont_ops(self,reuse,MODELE,CHAM_MATER,CARA_ELEM,EXCIT,
index 63fe0480dfc5feb64c5b379fea16a50338874233..3d234d7628ba57172b1cf5060105a5dde5aa5f91 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF defi_cable_bp_ops Macro  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF defi_cable_bp_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -44,6 +44,8 @@
 #
 # ===========================================================================
 
+
+
 def defi_cable_bp_ops(self,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM,GROUP_MA_BETON,
                            DEFI_CABLE,TYPE_ANCRAGE,TENSION_INIT,RECUL_ANCRAGE,
                            RELAXATION,CONE,TITRE,INFO,**args):
index 3f5bbb6031783b63a7fd2934ab412d2589c81db0..1462a5ec690a40efb29499fbccfd67842058f8c6 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF fiabilite_fichier Macro  DATE 16/01/2004   AUTEUR GNICOLAS G.NICOLAS 
+#@ MODIF fiabilite_fichier Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -266,6 +266,8 @@ class fiabilite_fichier :
 #
 #=======================================================================================
 #=======================================================================================
+
+
 #
 #
 if __name__ == "__main__" :
index 90f8f4465f18ad0815347581b3d049ae9ad45417..3f82084392ae5935cd0de1d8011e910b1001e913 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF fiabilite_mefisto Macro  DATE 16/01/2004   AUTEUR GNICOLAS G.NICOLAS 
+#@ MODIF fiabilite_mefisto Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17,6 +17,8 @@
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
+
+
 # RESPONSABLE GNICOLAS G.NICOLAS
 #
 def fiabilite_mefisto ( self, Rep_Calc_LOGICIEL_global,
index 2283e755a455d320dbd5c4c5c6bb2d2452fd7765..e4de1efcfc0c047016c4454ebc8de63c6ebcdc98 100644 (file)
@@ -1,4 +1,5 @@
-#@ MODIF impr_fonction_ops Macro  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF impr_fonction_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
+
+
 # RESPONSABLE MCOURTOI M.COURTOIS
 
 import os.path
+#from Utilitai import Graph
 
 def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
    """
@@ -27,7 +31,6 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
    Erreurs<S> dans IMPR_FONCTION pour ne pas perdre la base.
    """
    import aster
-   from Utilitai import Graph
    from Accas import _F
    ier=0
    # La macro compte pour 1 dans la numerotation des commandes
@@ -37,7 +40,7 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
    # Le nom de la variable doit etre obligatoirement le nom de la commande
    CALC_FONC_INTERP = self.get_cmd('CALC_FONC_INTERP')
    DEFI_LIST_REEL   = self.get_cmd('DEFI_LIST_REEL')
-   # DETRUIRE          =self.get_cmd('DETRUIRE')
+   DETRUIRE         = self.get_cmd('DETRUIRE')
 
    #----------------------------------------------
    # 0. Traitement des arguments, initialisations
@@ -50,8 +53,11 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
    if INFO==2:
       print ' Nom du fichier :',nomfich
    if os.path.exists(nomfich):
-      print ' <A> Le fichier '+nomfich+' existe déjà. Il va etre écrasé.'
-   fich=open(nomfich,'w')
+      print ' <A> Le fichier '+nomfich+' existe déjà.'
+      if FORMAT=='TABLEAU':
+         print '     On écrit à la suite du fichier'
+      else:
+         print '     On écrase le contenu précédent'
 
    # 0.2. Récupération des valeurs sous COURBE
    unparmi=('FONCTION','LIST_RESU','FONC_X')
@@ -66,14 +72,14 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
       print ' Nombre de fonctions à analyser : ',len(Courbe)
 
    # 0.3. Devra-t-on interpoler globalement ?
-   #      Dans ce cas, __linter est le LIST_PARA
+   #      Dans ce cas, linter__ est le LIST_PARA
    #      ou, à défaut, les abscisses de la première courbe
    interp=0
    if FORMAT=='TABLEAU':
       interp=1
       dCi=Courbe[0]
       if dCi.has_key('LIST_PARA'):
-         __linter=dCi['LIST_PARA']
+         linter__=dCi['LIST_PARA']
       else:
          obj=None
          for typi in unparmi:
@@ -91,9 +97,9 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
                linterp=obj.Valeurs()[0]
          elif typi=='FONC_X':
             lbid,linterp=obj.Valeurs()
-         __linter=DEFI_LIST_REEL(VALE=linterp)
+         linter__=DEFI_LIST_REEL(VALE=linterp)
       if INFO==2:
-         print ' Interpolation globale sur la liste :\n',__linter.Valeurs()
+         print ' Interpolation globale sur la liste :\n',linter__.Valeurs()
 
 
    #----------------------------------------------
@@ -129,23 +135,23 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
                # sur quelle liste interpoler chaque fonction
                if i==0:
                   if interp:
-                     __li=__linter
+                     li__=linter__
                   elif dCi.has_key('LIST_PARA'):
-                     __li=dCi['LIST_PARA']
+                     li__=dCi['LIST_PARA']
                   else:
-                     __li=DEFI_LIST_REEL(VALE=lx)
+                     li__=DEFI_LIST_REEL(VALE=lx)
                # compléter les paramètres d'interpolation
                dic=dico.copy()
                for k,v in ldicf[i].items(): dic[k]=v
                
                if interp or dCi.has_key('LIST_PARA') or i>0:
-                  __ftmp=CALC_FONC_INTERP(
+                  ftmp__=CALC_FONC_INTERP(
                      FONCTION=obj,
                      VALE_PARA=p,
-                     LIST_PARA_FONC=__li,
+                     LIST_PARA_FONC=li__,
                      **dic
                   )
-                  pv,lv2=__ftmp.Valeurs()
+                  pv,lv2=ftmp__.Valeurs()
                   lx=lv2[0][0]
                   ly=lv2[0][1]
                # on stocke les données dans le Graph
@@ -160,21 +166,21 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
                if dCi.has_key('FREQ_MARQUEUR'): dicC['FreqM']=dCi['FREQ_MARQUEUR']
                graph.AjoutCourbe(**dicC)
          else:
-            __ftmp=obj
-            dpar=__ftmp.Parametres()
+            ftmp__=obj
+            dpar=ftmp__.Parametres()
             if interp:
-               __ftmp=CALC_FONC_INTERP(
+               ftmp__=CALC_FONC_INTERP(
                   FONCTION=obj,
-                  LIST_PARA=__linter,
+                  LIST_PARA=linter__,
                   **dpar
                )
             elif dCi.has_key('LIST_PARA'):
-               __ftmp=CALC_FONC_INTERP(
+               ftmp__=CALC_FONC_INTERP(
                   FONCTION=obj,
                   LIST_PARA=dCi['LIST_PARA'],
                   **dpar
                )
-            lval=list(__ftmp.Valeurs())
+            lval=list(ftmp__.Valeurs())
             lx=lval[0]
             lr=lval[1]
             if typ=='fonction_c' and dCi.has_key('PARTIE'):
@@ -227,41 +233,39 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
          # peut-on blinder au niveau du catalogue
          if typ=="nappe_sdaster" or ob2.__class__.__name__=="nappe_sdaster":
             raise aster.error, "<S> FONC_X/FONC_Y ne peuvent pas etre des nappes !"
-         __ftmp=obj
-         dpar=__ftmp.Parametres()
-         __ftm2=ob2
-         dpa2=__ftm2.Parametres()
+         ftmp__=obj
+         dpar=ftmp__.Parametres()
+         ftm2__=ob2
+         dpa2=ftm2__.Parametres()
          intloc=0
          if interp:
             intloc=1
-            __li=__linter
+            li__=linter__
          elif dCi.has_key('LIST_PARA'):
             intloc=1
-            __li=dCi['LIST_PARA']
+            li__=dCi['LIST_PARA']
          if intloc:
-            __ftmp=CALC_FONC_INTERP(
+            ftmp__=CALC_FONC_INTERP(
                FONCTION=obj,
-               LIST_PARA=__li,
+               LIST_PARA=li__,
                **dpar
             )
-            lt,lx=__ftmp.Valeurs()
-            __ftm2=CALC_FONC_INTERP(
+            lt,lx=ftmp__.Valeurs()
+            ftm2__=CALC_FONC_INTERP(
                FONCTION=ob2,
-               LIST_PARA=__li,
+               LIST_PARA=li__,
                **dpa2
             )
          else:
-            lt,lx=__ftmp.Valeurs()
-            __li=DEFI_LIST_REEL(VALE=lt)
-            __ftm2=CALC_FONC_INTERP(
+            lt,lx=ftmp__.Valeurs()
+            li__=DEFI_LIST_REEL(VALE=lt)
+            ftm2__=CALC_FONC_INTERP(
                FONCTION=ob2,
-               LIST_PARA=__li,
+               LIST_PARA=li__,
                **dpa2
             )
          
-         lbid,ly=__ftm2.Valeurs()
-         #DETRUIRE(CONCEPT=_F(NOM='__ftmp'),)
-         #DETRUIRE(CONCEPT=_F(NOM='__ftm2'),)
+         lbid,ly=ftm2__.Valeurs()
          # on stocke les données dans le Graph
          if interp:
             dicC={
@@ -280,12 +284,18 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
          if dCi.has_key('FREQ_MARQUEUR'): dicC['FreqM']=dCi['FREQ_MARQUEUR']
          graph.AjoutCourbe(**dicC)
 
+      # 1.2.99. ménage
+      DETRUIRE(CONCEPT=_F(NOM=('li__','ftmp__','ftm2__'),),)
+
    # 1.3. dbg
    if INFO==2:
       print '\n'+'-'*70+'\n Contenu du Graph : \n'+'-'*70
       print graph
       print '-'*70+'\n'
 
+   # 1.99. ménage
+   DETRUIRE(CONCEPT=_F(NOM='linter__',),)
+
    #----------------------------------------------
    # 2. Impression du 'tableau' de valeurs
    #----------------------------------------------
@@ -308,10 +318,6 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
       if args['GRILLE_Y']!=None:       graph.Grille_Y=args['GRILLE_Y']
       if args['TRI']!=None:            graph.Tri=args['TRI']
 
-   # si Min/Max incohérents
-   if graph.Min_X > graph.Max_X or graph.Min_Y > graph.Max_Y:
-      graph.SetExtrema()
-
    # 2.1. au format TABLEAU
    if FORMAT=='TABLEAU':
       # surcharge par les formats de l'utilisateur
@@ -321,14 +327,14 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
          'cdeb'  : args['DEBUT_LIGNE'],
          'cfin'  : args['FIN_LIGNE']
       }
-      tab=Graph.ImprTableau(graph,nomfich,dico_formats)
+      tab=Graph.ImprTableau(graph,nomfich,fmod='a',dform=dico_formats)
       tab.Trace()
 
    # 2.2. au format AGRAF
    elif FORMAT=='AGRAF':
       nomdigr='fort.'+str(args['UNITE_DIGR'])
       dico_formats={ 'formR' : '%12.5E' }
-      agraf=Graph.ImprAgraf(graph,[nomfich,nomdigr],dico_formats)
+      agraf=Graph.ImprAgraf(graph,[nomfich,nomdigr],dform=dico_formats)
       agraf.Trace()
 
    # 2.3. au format XMGRACE et dérivés
@@ -338,7 +344,7 @@ def impr_fonction_ops(self, FORMAT, COURBE, INFO, **args):
       if graph.Tri != '' and graph.Tri != 'N':
          print ' <A> TRI non traité au format XMGRACE'
 
-      grace=Graph.ImprXmgrace(graph,nomfich,dico_formats)
+      grace=Graph.ImprXmgrace(graph,nomfich,dform=dico_formats)
       grace.Pilote=args['PILOTE']
       grace.Trace()
 
index f4d92ce4079f1aa2b8a4f1e106c737d39bb78bd9..7f10859ee7a400c56d7f87b8517d4b832c1913ca 100644 (file)
@@ -1,4 +1,5 @@
-#@ MODIF lire_fonction_ops Macro  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF lire_fonction_ops Macro  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +20,7 @@
 
 import string,os,Numeric
 
+#from Utilitai.transpose import transpose
 
 ######################################################################
 ####  méthode de construction du VALE pour le format libre
@@ -33,7 +35,6 @@ def m_format_libre(texte,INDIC_PARA,INDIC_RESU,SEPAR):
   # INDIC_PARA et INDIC_RESU est l indice permettant de pointer sur la
   # fonction voulue, au sens de ce découpage.
 
-  from Utilitai.transpose import transpose
   l_fonc=[]
   fonc  =[]
   ier   =0
@@ -186,6 +187,43 @@ def lire_fonction_ops(self,FORMAT,TYPE,SEPAR,INDIC_PARA,UNITE,
                            VERIF      =VERIF,
                            VALE       =liste_vale,)
 
+  elif TYPE=='FONCTION_C':
+    # mise en forme de la liste de valeurs suivant le format choisi :
+    if 'INDIC_REEL' in args :
+                              indic1=args['INDIC_REEL']
+                              indic2=args['INDIC_IMAG']
+    if 'INDIC_MODU' in args :
+                              indic1=args['INDIC_MODU']
+                              indic2=args['INDIC_PHAS']
+    ier,message,liste_vale_r=m_format_libre(texte,INDIC_PARA,indic1,SEPAR)
+    if ier!=0 :
+       self.cr.fatal(message)
+       return ier
+    ier,message,liste_vale_i=m_format_libre(texte,INDIC_PARA,indic2,SEPAR)
+    if ier!=0 :
+       self.cr.fatal(message)
+       return ier
+    liste=[]
+    if   'INDIC_REEL' in args :
+      for i in range(len(liste_vale_r)/2) :
+        liste=liste+[liste_vale_r[2*i],liste_vale_r[2*i+1],liste_vale_i[2*i+1]]
+    elif 'INDIC_MODU' in args :
+      for i in range(len(liste_vale_r)/2) :
+        module=liste_vale_r[2*i+1]
+        phase =liste_vale_i[2*i+1]
+        liste=liste+[liste_vale_r[2*i],module*cos(phase),module*sin(phase)]
+
+    # création de la fonction ASTER :
+    ut_fonc=DEFI_FONCTION( NOM_PARA   =NOM_PARA,
+                           NOM_RESU   =NOM_RESU,
+                           PROL_DROITE=PROL_DROITE,
+                           PROL_GAUCHE=PROL_GAUCHE,
+                           INTERPOL   =INTERPOL,
+                           INFO       =INFO,
+                           TITRE      =TITRE,
+                           VERIF      =VERIF,
+                           VALE_C     =liste,)
+
   elif TYPE=='NAPPE':
 
     # création de la nappe ASTER :
index af584db341166133b1b894c760cb34d4b35b73b1..23911e24e632b7812d6066786cdbd2da177a750f 100644 (file)
@@ -1,4 +1,5 @@
-#@ MODIF lire_table_ops Macro  DATE 06/07/2004   AUTEUR CIBHHPD S.VANDENBERGHE 
+#@ MODIF lire_table_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
+
+
 import string
 
+#from Utilitai.transpose import transpose
 
 ######################################################################
 ####  méthode de construction du dictionnaire
@@ -34,7 +38,6 @@ def lecture_table(texte,nume,separ):
   # VALE_PARA et VALE_RESU est l indice permettant de pointer sur la
   # fonction voulue, au sens de ce découpage.
 
-  from Utilitai.transpose import transpose
   if string.strip(separ)=='' : separ=None
   tab_lue={}
   nume_lign=[]
index ab143163fa609653b60431e93b2f3485c2e111c9..16625395d727453f597f2ba2a96d0eb17fdb5f93 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macr_adap_mail_ops Macro  DATE 06/07/2004   AUTEUR CIBHHLV L.VIVAN 
+#@ MODIF macr_adap_mail_ops Macro  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -25,7 +25,7 @@ def macr_adap_mail_ops ( self,
                          NON_SIMPLEXE, MAILLAGE_FRONTIERE,
                          **args):
   """
-     Ecriture de la macro MACR_ADAP_MAIL/MACR_INFO_MAIL
+     Ecriture des macros MACR_ADAP_MAIL/MACR_INFO_MAIL
      Remarque : on ne mentionne explicitement que les mots-clés communs aux
                 deux macros. Les autres sont dans le dictionnaire args
   """
@@ -39,43 +39,43 @@ def macr_adap_mail_ops ( self,
 ###  print args
 ###  print args.keys()
 ###  if len (args.keys())>0 : print args.keys()[0]
-###  print args['MAILLAGE']
+###  print args["MAILLAGE"]
 #
 #  2. Les caractéristiques d'un passage sont conservées dans un dictionnaire. Il y a autant de
 #     dictionnaires que de sollicitations pour une série d'adaptation. L'ensemble de ces dictionnaires
 #     est conservé dans la liste Liste_Passages. Cette liste est nécessairement globale pour pouvoir
 #     la retrouver à chaque nouveau passage.
 #     Description du dictionnaire de passages :
-#        dico['Maillage_0']             = o ; string ; nom du concept du maillage initial de la série d'adaptation
-#        dico['Maillage_NP1']           = o ; string ; nom du concept du dernier maillage adapté
-#        dico['Rep_Calc_HOMARD_global'] = o ; string ; Nom global du répertoire de calcul pour HOMARD
-#        dico['Rep_Calc_HOMARD_local']  = o ; string ; Nom local du répertoire de calcul pour HOMARD
+#        dico["Maillage_0"]             = o ; string ; nom du concept du maillage initial de la série d'adaptation
+#        dico["Maillage_NP1"]           = o ; string ; nom du concept du dernier maillage adapté
+#        dico["Rep_Calc_HOMARD_global"] = o ; string ; Nom global du répertoire de calcul pour HOMARD
+#        dico["Rep_Calc_HOMARD_local"]  = o ; string ; Nom local du répertoire de calcul pour HOMARD
 #                                                      depuis le répertoire de calcul pour ASTER
-#        dico['niter']                  = o ; entier ; numéro d'itération
+#        dico["niter"]                  = o ; entier ; numéro d'itération
 #
 #  3. Les caractéristiques d'un maillage sont conservées dans un dictionnaire. Il y a autant de
 #     dictionnaires que de maillages manipulés. L'ensemble de ces dictionnaires est conservé
 #     dans la liste Liste_Maillages.
 #     Description du dictionnaire de maillages :
-#        dico['Type_Maillage'] = o ; string ; 'MAILLAGE_N', 'MAILLAGE_NP1' ou 'MAILLAGE_FRONTIERE'
-#        dico['Nom_ASTER']     = o ; concept ASTER associé
-#        dico['Action']        = o ; string ; 'A_ecrire' ou 'A_lire'
-#        dico['NOM_MED']       = o ; string ; Nom MED du maillage
+#        dico["Type_Maillage"] = o ; string ; "MAILLAGE_N", "MAILLAGE_NP1" ou "MAILLAGE_FRONTIERE"
+#        dico["Nom_ASTER"]     = o ; concept ASTER associé
+#        dico["Action"]        = o ; string ; "A_ecrire" ou "A_lire"
+#        dico["NOM_MED"]       = o ; string ; Nom MED du maillage
 #
 #  4. Les caractéristiques d'un champ sont conservées dans un dictionnaire. Il y a autant de
 #     dictionnaires que de champs manipulés. L'ensemble de ces dictionnaires est conservé
 #     dans la liste Liste_Champs.
 #     Description du dictionnaire de champs :
-#        dico['Type_Champ']   = o ; string ; 'INDICATEUR' ou 'CHAMP'
-#        dico['RESULTAT']     = o ; concept ASTER du résutat associé
-#        dico['NOM_CHAM']     = o ; string ; Nom ASTER du champ
-#        dico['COMPOSANTE']   = f ; string ; Nom ASTER de la composante
-#        dico['NUME_ORDRE']   = f ; entier ; Numéro d'ordre du champ
-#        dico['INST']         = f ; entier ; Instant du champ
-#        dico['PRECISION']    = f ; entier ; Précision sur l'instant du champ
-#        dico['CRITERE']      = f ; entier ; Critère de précision sur l'instant du champ
-#        dico['CHAM_MAJ']     = f ; string ; Nom ASTER du champ interpolé sur le nouveau maillage
-#        dico['NOM_MED']      = o ; string ; Nom MED du champ
+#        dico["Type_Champ"]   = o ; string ; "INDICATEUR" ou "CHAMP"
+#        dico["RESULTAT"]     = o ; concept ASTER du résutat associé
+#        dico["NOM_CHAM"]     = o ; string ; Nom ASTER du champ
+#        dico["COMPOSANTE"]   = f ; string ; Nom ASTER de la composante (dans le cas de l'indicateur)
+#        dico["NUME_ORDRE"]   = f ; entier ; Numéro d'ordre du champ
+#        dico["INST"]         = f ; entier ; Instant du champ
+#        dico["PRECISION"]    = f ; entier ; Précision sur l'instant du champ
+#        dico["CRITERE"]      = f ; entier ; Critère de précision sur l'instant du champ
+#        dico["CHAM_MAJ"]     = f ; string ; Nom ASTER du champ interpolé sur le nouveau maillage
+#        dico["NOM_MED"]      = o ; string ; Nom MED du champ
 #
   from Accas import _F
   import aster 
@@ -105,17 +105,18 @@ def macr_adap_mail_ops ( self,
 #
 # 1.3. ==> On importe les definitions des commandes a utiliser dans la macro
 #
-  DEFI_FICHIER    = self.get_cmd('DEFI_FICHIER')
-  IMPR_RESU       = self.get_cmd('IMPR_RESU')
-  EXEC_LOGICIEL   = self.get_cmd('EXEC_LOGICIEL')
-  IMPR_FICO_HOMA  = self.get_cmd('IMPR_FICO_HOMA')
-  LIRE_MAILLAGE   = self.get_cmd('LIRE_MAILLAGE')
-  LIRE_CHAMP      = self.get_cmd('LIRE_CHAMP')
+  DEFI_FICHIER    = self.get_cmd("DEFI_FICHIER")
+  IMPR_RESU       = self.get_cmd("IMPR_RESU")
+  EXEC_LOGICIEL   = self.get_cmd("EXEC_LOGICIEL")
+  IMPR_FICO_HOMA  = self.get_cmd("IMPR_FICO_HOMA")
+  LIRE_MAILLAGE   = self.get_cmd("LIRE_MAILLAGE")
+  LIRE_CHAMP      = self.get_cmd("LIRE_CHAMP")
+  DETRUIRE        = self.get_cmd('DETRUIRE')
 #
 # 1.4. ==> Le nom du programme HOMARD à lancer
 #
   repertoire_outils = aster.repout()
-  homard            = repertoire_outils + 'homard'
+  homard            = repertoire_outils + "homard"
 #
 # 1.5. ==> Initialisations
 #
@@ -125,6 +126,7 @@ def macr_adap_mail_ops ( self,
 #
   Liste_Maillages = []
   Liste_Champs    = []
+  dico_indi = {}
 #
   ADAPTATION = None
   MAJ_CHAM = None
@@ -136,43 +138,44 @@ def macr_adap_mail_ops ( self,
 #--------------------------------------------------------------------
 # 2.1. ==> Données de pilotage de l'adaptation
 #
-  if ( self.nom == 'MACR_ADAP_MAIL' ) :
+  if ( self.nom == "MACR_ADAP_MAIL" ) :
 #
     modhom = "ADAP"
 #
-    ADAPTATION = args['ADAPTATION']
-    if args.has_key('MAJ_CHAM') :
-      MAJ_CHAM = args['MAJ_CHAM']
+    ADAPTATION = args["ADAPTATION"]
+    if args.has_key("MAJ_CHAM") :
+      MAJ_CHAM = args["MAJ_CHAM"]
 #
-# 2.1.1. ==> Les concepts 'maillage'
+# 2.1.1. ==> Les concepts "maillage"
 #
-    for mot_cle in ['MAILLAGE_N','MAILLAGE_NP1'] :
+    for mot_cle in ["MAILLAGE_N","MAILLAGE_NP1"] :
       dico = {}
-      dico['Type_Maillage'] = mot_cle
-      dico['Nom_ASTER']     = ADAPTATION[mot_cle]
-      if ( mot_cle == 'MAILLAGE_N' ) :
-        dico['Action'] = 'A_ecrire'
+      dico["Type_Maillage"] = mot_cle
+      dico["Nom_ASTER"]     = ADAPTATION[mot_cle]
+      if ( mot_cle == "MAILLAGE_N" ) :
+        dico["Action"] = "A_ecrire"
       else :
-        dico['Action'] = 'A_lire'
+        dico["Action"] = "A_lire"
       Liste_Maillages.append(dico)
 #
 # 2.1.2. ==> L'éventuel indicateur d'erreur
 #
-    if ADAPTATION['LIBRE'] != None :
+    if ADAPTATION["LIBRE"] != None :
       dico = {}
-      dico['Type_Champ'] = 'INDICATEUR'
-      dico['RESULTAT']   = ADAPTATION['RESULTAT_N']
-      dico['NOM_CHAM']   = ADAPTATION['INDICATEUR']
-      dico['COMPOSANTE'] = ADAPTATION['NOM_CMP_INDICA']
-      if ( ADAPTATION['NUME_ORDRE'] != None ) :
-        dico['NUME_ORDRE'] = ADAPTATION['NUME_ORDRE']
-      if ( ADAPTATION['INST'] != None ) :
-        dico['INST'] = ADAPTATION['INST']
-        for cle in [ 'PRECISION', 'CRITERE' ] :
+      dico["Type_Champ"] = "INDICATEUR"
+      dico["RESULTAT"]   = ADAPTATION["RESULTAT_N"]
+      dico["NOM_CHAM"]   = ADAPTATION["INDICATEUR"]
+      dico["COMPOSANTE"] = ADAPTATION["NOM_CMP_INDICA"]
+      if ( ADAPTATION["NUME_ORDRE"] != None ) :
+        dico["NUME_ORDRE"] = ADAPTATION["NUME_ORDRE"]
+      if ( ADAPTATION["INST"] != None ) :
+        dico["INST"] = ADAPTATION["INST"]
+        for cle in [ "PRECISION", "CRITERE" ] :
           if ( ADAPTATION[cle] != None ) :
             dico[cle] = ADAPTATION[cle]
-      dico['NOM_MED'] = aster.mdnoch ( dico['RESULTAT'].nom , dico['NOM_CHAM'] )
+      dico["NOM_MED"] = aster.mdnoch ( dico["RESULTAT"].nom , dico["NOM_CHAM"] )
       Liste_Champs.append(dico)
+      dico_indi = dico
 ###      print dico
 #
 # 2.1.3. ==> Les champs à mettre à jour
@@ -180,17 +183,20 @@ def macr_adap_mail_ops ( self,
     if ( MAJ_CHAM != None ) :
 #
       for maj_cham in MAJ_CHAM :
+###        print maj_cham
 #
         dico = {}
-        dico['Type_Champ'] = 'CHAMP'
-        for cle in [ 'CHAM_MAJ', 'TYPE_CHAM', 'RESULTAT', 'NOM_CHAM', 'NUME_ORDRE' ] :
+        dico["Type_Champ"] = "CHAMP"
+        for cle in [ "CHAM_MAJ", "TYPE_CHAM", "RESULTAT", "NOM_CHAM" ] :
           dico[cle] = maj_cham[cle]
-        if ( maj_cham['INST'] != None ) :
-          dico['INST'] = maj_cham['INST']
-          for cle in [ 'PRECISION', 'CRITERE' ] :
+        if ( maj_cham["NUME_ORDRE"] != None ) :
+          dico["NUME_ORDRE"] = maj_cham["NUME_ORDRE"]
+        elif ( maj_cham["INST"] != None ) :
+          dico["INST"] = maj_cham["INST"]
+          for cle in [ "PRECISION", "CRITERE" ] :
             if ( maj_cham[cle] != None ) :
               dico[cle] = maj_cham[cle]
-        dico['NOM_MED'] = aster.mdnoch ( dico['RESULTAT'].nom , dico['NOM_CHAM'] )
+        dico["NOM_MED"] = aster.mdnoch ( dico["RESULTAT"].nom , dico["NOM_CHAM"] )
 #
 ###        print dico
         Liste_Champs.append(dico)
@@ -202,9 +208,9 @@ def macr_adap_mail_ops ( self,
     modhom = "INFO"
 #
     dico = {}
-    dico['Type_Maillage'] = 'MAILLAGE_N'
-    dico['Nom_ASTER']     = args['MAILLAGE']
-    dico['Action']        = 'A_ecrire'
+    dico["Type_Maillage"] = "MAILLAGE_N"
+    dico["Nom_ASTER"]     = args["MAILLAGE"]
+    dico["Action"]        = "A_ecrire"
     Liste_Maillages.append(dico)
 #
 # 2.3. ==> Suivi de frontière
@@ -212,9 +218,9 @@ def macr_adap_mail_ops ( self,
   if ( MAILLAGE_FRONTIERE != None ) :
 #
     dico = {}
-    dico['Type_Maillage'] = 'MAILLAGE_FRONTIERE'
-    dico['Nom_ASTER']     = MAILLAGE_FRONTIERE
-    dico['Action']        = 'A_ecrire'
+    dico["Type_Maillage"] = "MAILLAGE_FRONTIERE"
+    dico["Nom_ASTER"]     = MAILLAGE_FRONTIERE
+    dico["Action"]        = "A_ecrire"
     Liste_Maillages.append(dico)
 #
 #--------------------------------------------------------------------
@@ -228,12 +234,12 @@ def macr_adap_mail_ops ( self,
 #
   L = []
   for dico in Liste_Maillages :
-    dico['NOM_MED'] = aster.mdnoma(dico['Nom_ASTER'].nom)
+    dico["NOM_MED"] = aster.mdnoma(dico["Nom_ASTER"].nom)
     L.append(dico)
-    if ( dico['Type_Maillage'] == 'MAILLAGE_N' ) :
-      Nom_Concept_Maillage_N = dico['Nom_ASTER'].nom
-    elif ( dico['Type_Maillage'] == 'MAILLAGE_NP1' ) :
-      Nom_Concept_Maillage_NP1 = dico['Nom_ASTER'].nom
+    if ( dico["Type_Maillage"] == "MAILLAGE_N" ) :
+      Nom_Concept_Maillage_N = dico["Nom_ASTER"].nom
+    elif ( dico["Type_Maillage"] == "MAILLAGE_NP1" ) :
+      Nom_Concept_Maillage_NP1 = dico["Nom_ASTER"].nom
   Liste_Maillages = L
 #
 # 3.2. ==> Recherche du numéro d'itération et du répertoire de travail
@@ -245,7 +251,7 @@ def macr_adap_mail_ops ( self,
 #
   niter = 0
   Nom_Rep_local = Nom_Concept_Maillage_N + "_" + modhom + "_" + str(Numero_Passage_Fonction)
-  Rep_Calc_HOMARD_local = os.path.join('.',Nom_Rep_local)
+  Rep_Calc_HOMARD_local = os.path.join(".",Nom_Rep_local)
   Rep_Calc_HOMARD_global = os.path.join(Rep_Calc_ASTER,Nom_Rep_local)
 ###  print "Rep_Calc_HOMARD_local  = ", Rep_Calc_HOMARD_local
 ###  print "Rep_Calc_HOMARD_global = ", Rep_Calc_HOMARD_global
@@ -261,10 +267,10 @@ def macr_adap_mail_ops ( self,
 #              d'itération est celui de l'adaptation précédente augmenté de 1.
 #
     for dico in Liste_Passages :
-      if ( dico['Maillage_NP1'] == Nom_Concept_Maillage_N ) :
-        niter   = dico['niter'] + 1
-        Rep_Calc_HOMARD_local  = dico['Rep_Calc_HOMARD_local']
-        Rep_Calc_HOMARD_global = dico['Rep_Calc_HOMARD_global']
+      if ( dico["Maillage_NP1"] == Nom_Concept_Maillage_N ) :
+        niter   = dico["niter"] + 1
+        Rep_Calc_HOMARD_local  = dico["Rep_Calc_HOMARD_local"]
+        Rep_Calc_HOMARD_global = dico["Rep_Calc_HOMARD_global"]
 #
 # 3.2.2.2. ==> Memorisation de ce passage
 #
@@ -272,11 +278,11 @@ def macr_adap_mail_ops ( self,
 #
     if ( niter == 0 ) :
       dico = {}
-      dico['Maillage_0']   = Nom_Concept_Maillage_N
-      dico['Maillage_NP1'] = Nom_Concept_Maillage_NP1
-      dico['Rep_Calc_HOMARD_local']  = Rep_Calc_HOMARD_local
-      dico['Rep_Calc_HOMARD_global'] = Rep_Calc_HOMARD_global
-      dico['niter']        = niter
+      dico["Maillage_0"]   = Nom_Concept_Maillage_N
+      dico["Maillage_NP1"] = Nom_Concept_Maillage_NP1
+      dico["Rep_Calc_HOMARD_local"]  = Rep_Calc_HOMARD_local
+      dico["Rep_Calc_HOMARD_global"] = Rep_Calc_HOMARD_global
+      dico["niter"]        = niter
       Liste_Passages.append(dico)
 #
 # 3.2.2.2.2. ==> Modification du cas en cours
@@ -284,9 +290,9 @@ def macr_adap_mail_ops ( self,
     else :
       L = []
       for dico in Liste_Passages :
-        if ( dico['Maillage_NP1'] == Nom_Concept_Maillage_N ) :
-          dico['Maillage_NP1'] = Nom_Concept_Maillage_NP1
-          dico['niter']        = niter
+        if ( dico["Maillage_NP1"] == Nom_Concept_Maillage_N ) :
+          dico["Maillage_NP1"] = Nom_Concept_Maillage_NP1
+          dico["niter"]        = niter
         L.append(dico)
       Liste_Passages = L
 #
@@ -308,7 +314,6 @@ def macr_adap_mail_ops ( self,
       self.cr.warn("Code d'erreur de mkdir : " + str(codret_partiel[0]) + " : " + codret_partiel[1])
       self.cr.fatal("<F> <MACR_ADAP_MAIL> Impossible de créer le répertoire de travail pour HOMARD : "+Rep_Calc_HOMARD_global)
       codret = codret + 1
-      return codret
 #
 # 4.2. ==> Ecriture des commandes de creation des donnees MED
 #
@@ -319,8 +324,8 @@ def macr_adap_mail_ops ( self,
 #
 #  Chacune de ces écritures est optionnelle selon le contexte.
 #
-  if ( INFO > 1 ) : infomail='OUI'
-  else :            infomail='NON'
+  if ( INFO > 1 ) : infomail = "OUI"
+  else :            infomail = "NON"
 #
 # 4.2.1. ==> Noms des fichiers d'ASTER vers HOMARD et éventuellement de HOMARD vers ASTER
 #            Remarque : aujourd'hui, les écritures ou les lectures au format MED se font obligatoirement sur
@@ -333,7 +338,6 @@ def macr_adap_mail_ops ( self,
 #
   Unite_Fichier_ASTER_vers_HOMARD = 1787 + 2*Numero_Passage_Fonction
   Fichier_ASTER_vers_HOMARD = os.path.join(Rep_Calc_ASTER,"fort." + str(Unite_Fichier_ASTER_vers_HOMARD))
-  Nom_Symbolique_Fichier_ASTER_vers_HOMARD = "ASTER_to_HOMARD"
   Fichier_HOMARD_Entree = os.path.join(Rep_Calc_HOMARD_global,"MAILL."+str(niter)+".MED")
 ###  print "Fichier_ASTER_vers_HOMARD = ",Fichier_ASTER_vers_HOMARD
 ###  print "Fichier_HOMARD_Entree = ",Fichier_HOMARD_Entree
@@ -343,7 +347,6 @@ def macr_adap_mail_ops ( self,
     self.cr.warn("Code d'erreur de symlink : " + str(codret_partiel[0]) + " : " + codret_partiel[1])
     self.cr.fatal("<F> <MACR_ADAP_MAIL> Probleme au lien entre " + Fichier_ASTER_vers_HOMARD + " et " + Fichier_HOMARD_Entree)
     codret = codret + 1
-    return codret
 #
 # 4.2.1.2. ==> De HOMARD vers ASTER
 #  
@@ -359,12 +362,10 @@ def macr_adap_mail_ops ( self,
       self.cr.warn("Code d'erreur de symlink : " + str(codret_partiel[0]) + " : " + codret_partiel[1])
       self.cr.fatal("<F> <MACR_ADAP_MAIL> Probleme au lien entre " + Fichier_HOMARD_vers_ASTER + " et " + Fichier_HOMARD_Sortie)
       codret = codret + 1
-      return codret
 #
 # 4.2.2. La définition du fichier de ASTER vers HOMARD
 # 
   DEFI_FICHIER ( ACTION= "ASSOCIER",
-                 FICHIER = Nom_Symbolique_Fichier_ASTER_vers_HOMARD,
                  UNITE = Unite_Fichier_ASTER_vers_HOMARD,
                  TYPE = "LIBRE",
                  INFO = INFO )
@@ -378,11 +379,11 @@ def macr_adap_mail_ops ( self,
 # Donc on va toujours écrire.
 #
   for dico in Liste_Maillages :
-    if ( dico['Action'] == 'A_ecrire' ) :
+    if ( dico["Action"] == "A_ecrire" ) :
       motscsi={}
-      motscsi['MAILLAGE'] = dico['Nom_ASTER']
+      motscsi["MAILLAGE"] = dico["Nom_ASTER"]
       motscfa={}
-      motscfa['RESU']=_F( INFO_MAILLAGE=infomail,
+      motscfa["RESU"]=_F( INFO_MAILLAGE=infomail,
                           **motscsi )
 #
       IMPR_RESU ( INFO = INFO, 
@@ -390,17 +391,72 @@ def macr_adap_mail_ops ( self,
                   **motscfa )
 #
 # 4.2.4. Le(s) champ(s)
+#        Attention : il se peut que l'on demande la mise à jour du champ qui a servi comme
+#                    indicateur d'erreur. Si c'est le cas, il ne faut pas demander son
+#                    impression sinon il y a plantage d'IMPR_RESU qui ne sait pas substituer
+#                    deux champs. D'ailleurs, c'est plus économique ainsi !
+#        Remarque : pour l'adaptation, on ne demande a priori qu'une composante du champ d'indicateur.
+#                   s'il y a demande de mise à jour, toutes les composantes sont concernées. Il faut
+#                   donc dans ce cas imprimer le champ total.
+#        dico["Type_Champ"]   = o ; string ; "INDICATEUR" ou "CHAMP"
+#        dico["RESULTAT"]     = o ; concept ASTER du résutat associé
+#        dico["NOM_CHAM"]     = o ; string ; Nom ASTER du champ
+#        dico["COMPOSANTE"]   = f ; string ; Nom ASTER de la composante (dans le cas de l'indicateur)
+#        dico["NUME_ORDRE"]   = f ; entier ; Numéro d'ordre du champ
+#        dico["INST"]         = f ; entier ; Instant du champ
+#        dico["PRECISION"]    = f ; entier ; Précision sur l'instant du champ
+#        dico["CRITERE"]      = f ; entier ; Critère de précision sur l'instant du champ
+#        dico["CHAM_MAJ"]     = f ; string ; Nom ASTER du champ interpolé sur le nouveau maillage
+#        dico["NOM_MED"]      = o ; string ; Nom MED du champ
+#
+# 4.2.4.1. Recherche d'un doublon éventuel sur le champ d'indicateur d'erreur
+#
+  if len(dico_indi) > 0 :
+    imprime_indic = 0
+  else :
+    imprime_indic = 1
 #
+  Liste_Champs_imprime = []
   for dico in Liste_Champs :
+#   Pour un champ à mettre à jour, on a toujours impression
+    if ( dico["Type_Champ"] == "CHAMP" ) :
+      Liste_Champs_imprime.append(dico)
+#     Si le champ d'indicateur n'a pas été repéré comme champ à mettre à jour :
+      if not imprime_indic :
+#       Est-ce le meme champ ?
+        ok = 1
+        for cle in [ "RESULTAT", "NOM_CHAM" ] :
+          if ( dico_indi[cle] != dico[cle] ) :
+            ok = 0
+            break
+#       Si oui, est-ce au meme moment ? (remarque : si rien n'est désigné, c'est qu'il n'y a qu'un
+#       seul instant ... donc c'est le meme ! En revanche, on ne sait pas comparer une donnée
+#       en numéro d'ordre et une donnée en instant. On croise les doigts.)
+        if ok :
+          for cle in [ "NUME_ORDRE", "INST" ] :
+            if dico.has_key(cle) :
+              if ( dico[cle] != None ) :
+                if dico_indi.has_key(cle) :
+                  if ( dico_indi[cle] != dico[cle] ) :
+                    ok = 0
+                    break
+        if ok : imprime_indic = 1
+#   Si le champ d'indicateur n'a pas été repéré comme champ à mettre à jour, il faut
+#   l'inclure dans les champs à imprimer
+  if not imprime_indic : Liste_Champs_imprime.append(dico_indi)
+#
+# 4.2.4.2. Impressions après le filtrage précédent
+#
+  for dico in Liste_Champs_imprime :
     motscsi={}
-    for cle in [ 'RESULTAT', 'NOM_CHAM', 'NUME_ORDRE', 'INST', 'PRECISION', 'CRITERE' ] :
+    for cle in [ "RESULTAT", "NOM_CHAM", "NUME_ORDRE", "INST", "PRECISION", "CRITERE" ] :
       if dico.has_key(cle) :
         if ( dico[cle] != None ) :
           motscsi[cle] = dico[cle]
-    if dico.has_key('COMPOSANTE') :
-      motscsi['NOM_CMP'] = dico['COMPOSANTE']
+    if dico.has_key("COMPOSANTE") :
+      motscsi["NOM_CMP"] = dico["COMPOSANTE"]
     motscfa={}
-    motscfa['RESU']=_F( INFO_MAILLAGE=infomail,
+    motscfa["RESU"]=_F( INFO_MAILLAGE=infomail,
                         **motscsi
                       )
 #
@@ -419,28 +475,28 @@ def macr_adap_mail_ops ( self,
 # 4.3.1.1. ==> Le type de traitement
 #
   if ( modhom == "ADAP" ) :
-    if ( ADAPTATION['UNIFORME'] != None ) :
-      motscsi['UNIFORME'] = ADAPTATION['UNIFORME']
+    if ( ADAPTATION["UNIFORME"] != None ) :
+      motscsi["UNIFORME"] = ADAPTATION["UNIFORME"]
     else :
-      motscsi['ADAPTATION'] = ADAPTATION['LIBRE']
+      motscsi["ADAPTATION"] = ADAPTATION["LIBRE"]
   else :
-    motscsi['INFORMATION'] = 'OUI'
+    motscsi["INFORMATION"] = "OUI"
 #
 # 4.3.1.2. ==> Les noms med des maillages
 #
   for dico in Liste_Maillages :
-###    print "Nom MED de " + dico['Type_Maillage'] + " = " + dico['NOM_MED']
-    motscsi[ 'NOM_MED_'+dico['Type_Maillage'] ] = dico['NOM_MED']
+###    print "Nom MED de " + dico["Type_Maillage"] + " = " + dico["NOM_MED"]
+    motscsi[ "NOM_MED_"+dico["Type_Maillage"] ] = dico["NOM_MED"]
 #
 # 4.3.1.3. ==> Les caracteristiques de l'éventuel indicateur d'erreur
 #
   for dico in Liste_Champs :
-    if ( dico['Type_Champ'] == 'INDICATEUR' ) :
-      Liste_aux = [ 'NOM_MED', 'COMPOSANTE' ]
-      if dico.has_key('NUME_ORDRE') :
-        Liste_aux.append('NUME_ORDRE')
+    if ( dico["Type_Champ"] == "INDICATEUR" ) :
+      Liste_aux = [ "NOM_MED", "COMPOSANTE" ]
+      if dico.has_key("NUME_ORDRE") :
+        Liste_aux.append("NUME_ORDRE")
       else :
-        for cle in [ 'RESULTAT', 'NOM_CHAM', 'INST', 'PRECISION', 'CRITERE' ] :
+        for cle in [ "RESULTAT", "NOM_CHAM", "INST", "PRECISION", "CRITERE" ] :
           Liste_aux.append(cle)
       for cle in Liste_aux :
         if dico.has_key(cle) :
@@ -451,101 +507,117 @@ def macr_adap_mail_ops ( self,
 #
   if ( modhom == "ADAP" ) :
     Liste_aux = [ ]
-    if ( ADAPTATION['LIBRE'] == 'RAFF_DERA' or ADAPTATION['LIBRE'] == 'RAFFINEMENT' ) :
-      Liste_aux.append('CRIT_RAFF_ABS')
-      Liste_aux.append('CRIT_RAFF_REL')
-      Liste_aux.append('CRIT_RAFF_PE')
-    if ( ADAPTATION['LIBRE'] == 'RAFF_DERA' or ADAPTATION['LIBRE'] == 'DERAFFINEMENT' ) :
-      Liste_aux.append('CRIT_DERA_ABS')
-      Liste_aux.append('CRIT_DERA_REL')
-      Liste_aux.append('CRIT_DERA_PE')
+    if ( ADAPTATION["LIBRE"] == "RAFF_DERA" or ADAPTATION["LIBRE"] == "RAFFINEMENT" ) :
+      Liste_aux.append("CRIT_RAFF_ABS")
+      Liste_aux.append("CRIT_RAFF_REL")
+      Liste_aux.append("CRIT_RAFF_PE")
+    if ( ADAPTATION["LIBRE"] == "RAFF_DERA" or ADAPTATION["LIBRE"] == "DERAFFINEMENT" ) :
+      Liste_aux.append("CRIT_DERA_ABS")
+      Liste_aux.append("CRIT_DERA_REL")
+      Liste_aux.append("CRIT_DERA_PE")
     niveau = 0
-    if ( ADAPTATION['LIBRE'] == 'RAFF_DERA' or ADAPTATION['LIBRE'] == 'RAFFINEMENT' or ADAPTATION['UNIFORME'] == 'RAFFINEMENT' ) :
-      Liste_aux.append('NIVE_MAX')
+    if ( ADAPTATION["LIBRE"] == "RAFF_DERA" or ADAPTATION["LIBRE"] == "RAFFINEMENT" or ADAPTATION["UNIFORME"] == "RAFFINEMENT" ) :
+      Liste_aux.append("NIVE_MAX")
       niveau = niveau + 1
-    if ( ADAPTATION['LIBRE'] == 'RAFF_DERA' or ADAPTATION['LIBRE'] == 'DERAFFINEMENT' or ADAPTATION['UNIFORME'] == 'DERAFFINEMENT' ) :
-      Liste_aux.append('NIVE_MIN')
+    if ( ADAPTATION["LIBRE"] == "RAFF_DERA" or ADAPTATION["LIBRE"] == "DERAFFINEMENT" or ADAPTATION["UNIFORME"] == "DERAFFINEMENT" ) :
+      Liste_aux.append("NIVE_MIN")
       niveau = niveau + 2
     for mot_cle in Liste_aux :
       if ( ADAPTATION[mot_cle] != None ) :
         motscsi[mot_cle] = ADAPTATION[mot_cle]
 #
     if ( niveau == 2 ) : 
-      if ( ADAPTATION['NIVE_MIN'] > ADAPTATION['NIVE_MAX'] ) :
+      if ( ADAPTATION["NIVE_MIN"] > ADAPTATION["NIVE_MAX"] ) :
         self.cr.fatal("<F> <MACR_ADAP_MAIL> Le niveau minimum doit etre inferieur au niveau maximum.")
         codret = codret + 1
-        return codret
-#
-# 4.3.1.5. ==> Mise à jour de la solution
 #
-  if ( MAJ_CHAM != None ) :
-    motscsi['MAJ_CHAM'] = 'OUI'
-#
-# 4.3.1.6. ==> Numéro d'itération
+# 4.3.1.5. ==> Numéro d'itération
 #
   if ( modhom == "ADAP" ) :
-    motscsi['NITER'] = niter
+    motscsi["NITER"] = niter
 #
-# 4.3.1.7. ==> Suivi de la frontiere
+# 4.3.1.6. ==> Suivi de la frontiere
 #
-  if args.has_key('GROUP_MA') :
-    if ( args['GROUP_MA'] != None ) :
-      motscsi['GROUP_MA'] = args['GROUP_MA']
+  if args.has_key("GROUP_MA") :
+    if ( args["GROUP_MA"] != None ) :
+      motscsi["GROUP_MA"] = args["GROUP_MA"]
 #
-# 4.3.1.8. ==> Bilan
+# 4.3.1.7. ==> Bilan
 #
-  motscfa['TRAITEMENT'] = _F(**motscsi)
+  motscfa["TRAITEMENT"] = _F(**motscsi)
 #
 # 4.3.2. ==> L'analyse
 #
   motscsi={}
-  if ( NOMBRE != None )           : motscsi['NOMBRE' ]           = NOMBRE
-  if ( QUALITE != None )          : motscsi['QUALITE' ]          = QUALITE
-  if ( CONNEXITE != None )        : motscsi['CONNEXITE' ]        = CONNEXITE
-  if ( TAILLE != None )           : motscsi['TAILLE' ]           = TAILLE
-  if ( INTERPENETRATION != None ) : motscsi['INTERPENETRATION' ] = INTERPENETRATION
+  if ( NOMBRE != None )           : motscsi["NOMBRE" ]           = NOMBRE
+  if ( QUALITE != None )          : motscsi["QUALITE" ]          = QUALITE
+  if ( CONNEXITE != None )        : motscsi["CONNEXITE" ]        = CONNEXITE
+  if ( TAILLE != None )           : motscsi["TAILLE" ]           = TAILLE
+  if ( INTERPENETRATION != None ) : motscsi["INTERPENETRATION" ] = INTERPENETRATION
+#
+  motscfa["ANALYSE"] = _F(**motscsi)
 #
-  motscfa['ANALYSE'] = _F(**motscsi)
+# 4.3.3. ==> La mise à jour de champs
+#
+  prem = 1
+  for dico in Liste_Champs :
+    motscsi={}
+    if ( dico["Type_Champ"] == "CHAMP" ) :
+      Liste_aux = [ "NOM_MED", "COMPOSANTE" ]
+      if dico.has_key("NUME_ORDRE") :
+        Liste_aux.append("NUME_ORDRE")
+      else :
+        for cle in [ "RESULTAT", "NOM_CHAM", "INST", "PRECISION", "CRITERE" ] :
+          Liste_aux.append(cle)
+      for cle in Liste_aux :
+        if dico.has_key(cle) :
+          if ( dico[cle] != None ) :
+            motscsi[cle] = dico[cle]
+###      print motscsi
+      if prem :
+        motscfa["MAJ_CHAM"] = [_F(**motscsi),]
+        prem = 0
+      else :
+        motscfa["MAJ_CHAM"].append(_F(**motscsi))
 #
-# 4.3.3. ==> La commande
+# 4.3.4. ==> La commande
 #
-# 4.3.3.1. ==> Les fichiers annexes
+# 4.3.4.1. ==> Les fichiers annexes
 #
   dico = {}
 #
-  Nom_Fichier_Configuration = 'HOMARD.Configuration'
-  Fichier_Configuration = os.path.join(Rep_Calc_HOMARD_local,'HOMARD.Configuration')
-#                                 1234567890123456
-  dico[Fichier_Configuration] = ('HOMARD_CONFIG','FICHIER_CONF',unite)
+  Nom_Fichier_Configuration = "HOMARD.Configuration"
+  Fichier_Configuration = os.path.join(Rep_Calc_HOMARD_local,Nom_Fichier_Configuration)
+  dico[Fichier_Configuration] = ("HOMARD_CONFIG","UNITE_CONF",unite)
 #
   if ( modhom != "ADAP" ) :
     unite = unite + 1
-    Nom_Fichier_Donnees = 'HOMARD.Donnees'
+    Nom_Fichier_Donnees = "HOMARD.Donnees"
     Fichier_Donnees = os.path.join(Rep_Calc_HOMARD_local,Nom_Fichier_Donnees)
 #                             1234567890123456
-    dico[Fichier_Donnees] = ('HOMARD_DONN','FICHIER_DONN',unite)
+    dico[Fichier_Donnees] = ("HOMARD_DONN","UNITE_DONN",unite)
 #
-# 4.3.3.2. ==> L'ouverture de ces fichiers
+# 4.3.4.2. ==> L'ouverture de ces fichiers
 #
   for fic in dico.keys() :
-    DEFI_FICHIER ( ACTION= "ASSOCIER", NOM_SYSTEME = fic, FICHIER = dico[fic][0], UNITE = dico[fic][2],
+    DEFI_FICHIER ( ACTION= "ASSOCIER", FICHIER = fic, UNITE = dico[fic][2],
                    TYPE = "ASCII", ACCES = "NEW", INFO = INFO )
-    motscfa[dico[fic][1]] = dico[fic][0]
+    motscfa[dico[fic][1]] = dico[fic][2]
 #
-# 4.3.3.3. ==> Ecriture
+# 4.3.4.3. ==> Ecriture
 #
 ###  print motscfa
   IMPR_FICO_HOMA ( INFO=INFO, LANGUE = LANGUE, NON_SIMPLEXE = NON_SIMPLEXE, **motscfa )
 #
 ###  for fic in dico.keys() :
 ###    print "\nContenu de ", fic
-###    fichier = open (fic,'r')
+###    fichier = open (fic,"r")
 ###    les_lignes = fichier.readlines()
 ###    fichier.close()
 ###    for ligne in les_lignes :
 ###      print ligne[:-1]
 #
-# 4.3.3.4. ==> La fermeture des fichiers locaux
+# 4.3.4.4. ==> La fermeture des fichiers locaux
 #              Remarque : il faut le faire ici pour que le gestionnaire de DEFI_FICHIER soit à jour
 #              Remarque : aujourd'hui on est obligé de passer par le numéro d'unité logique
 #
@@ -562,14 +634,14 @@ def macr_adap_mail_ops ( self,
 #    Remarque : pour le nommage des fichiers d'échange entre ASTER et HOMARD, on utilise
 #               la convention implicite du fort.n des entrees/sorties au format MED
 #
-  VERSION_HOMARD=string.replace(VERSION_HOMARD,'_','.')
-  VERSION_HOMARD=string.replace(VERSION_HOMARD,'N','n')
-  if ( VERSION_HOMARD[-6:]=='_PERSO' ):
-#    motscsi['ARGUMENT']=_F('TYPEXE'='-PERSO')
+  VERSION_HOMARD=string.replace(VERSION_HOMARD,"_",".")
+  VERSION_HOMARD=string.replace(VERSION_HOMARD,"N","n")
+  if ( VERSION_HOMARD[-6:]=="_PERSO" ):
+#    motscsi["ARGUMENT"]=_F("TYPEXE"="-PERSO")
     VERSION_HOMARD=VERSION_HOMARD[:-6]
 #
   if ( modhom == "ADAP" ) :
-    Nom_Fichier_Donnees = '0'
+    Nom_Fichier_Donnees = "0"
 #
   EXEC_LOGICIEL ( ARGUMENT = (_F(NOM_PARA=Rep_Calc_HOMARD_global), # nom du repertoire
                               _F(NOM_PARA=VERSION_HOMARD),  # version de homard
@@ -584,39 +656,39 @@ def macr_adap_mail_ops ( self,
 #          La fonction self.DeclareOut(a,b) focntionne ainsi :
 #          a est une chaine de caracteres
 #          b est la variable déclarée dans la commande
-#          le but est de associer le contenu de b à la vaiable locale qui sera désignée par a
+#          le but est de associer le contenu de b à la variable locale qui sera désignée par a
 #          Exemple :
-#          self.DeclareOut('maillage_np1',ADAPTATION['MAILLAGE_NP1'])
-#          ==> la variable maillage_np1 est identifiée à l'argument 'MAILLAGE_NP1' du mot-clé ADAPTATION
+#          self.DeclareOut("maillage_np1",ADAPTATION["MAILLAGE_NP1"])
+#          ==> la variable maillage_np1 est identifiée à l'argument "MAILLAGE_NP1" du mot-clé ADAPTATION
 #
   if ( modhom == "ADAP" ) :
 #
 # 4.5.1. ==> Le maillage
 #
-    self.DeclareOut('maillage_np1',ADAPTATION['MAILLAGE_NP1'])
+    self.DeclareOut("maillage_np1",ADAPTATION["MAILLAGE_NP1"])
     for dico in Liste_Maillages :
-      if ( dico['Action'] == 'A_lire' ) :
+      if ( dico["Action"] == "A_lire" ) :
         maillage_np1 = LIRE_MAILLAGE ( UNITE = Unite_Fichier_HOMARD_vers_ASTER,
-                                       FORMAT = 'MED',
-                                       NOM_MED = dico['NOM_MED'],
-                                       VERI_MAIL = _F(VERIF='NON'), INFO_MED = INFO, INFO = INFO )
+                                       FORMAT = "MED",
+                                       NOM_MED = dico["NOM_MED"],
+                                       VERI_MAIL = _F(VERIF="NON"), INFO_MED = INFO, INFO = INFO )
 #
 # 4.5.2. ==> Les champs
 #
     for dico in Liste_Champs :
-      if ( dico['Type_Champ'] == 'CHAMP' ) :
+      if ( dico["Type_Champ"] == "CHAMP" ) :
 ###        print dico
-        self.DeclareOut('champ_maj',dico['CHAM_MAJ'])
+        self.DeclareOut("champ_maj",dico["CHAM_MAJ"])
         motscsi={}
-        for cle in [ 'NUME_ORDRE', 'INST', 'PRECISION', 'CRITERE' ] :
+        for cle in [ "NUME_ORDRE", "INST", "PRECISION", "CRITERE" ] :
           if dico.has_key(cle) :
             if ( dico[cle] != None ) :
               motscsi[cle] = dico[cle]
-        if dico.has_key('NUME_ORDRE') :
-          motscsi['NUME_PT'] = dico['NUME_ORDRE']
-        champ_maj = LIRE_CHAMP ( UNITE = Unite_Fichier_HOMARD_vers_ASTER, FORMAT = 'MED',
+        if dico.has_key("NUME_ORDRE") :
+          motscsi["NUME_PT"] = dico["NUME_ORDRE"]
+        champ_maj = LIRE_CHAMP ( UNITE = Unite_Fichier_HOMARD_vers_ASTER, FORMAT = "MED",
                                  MAILLAGE = maillage_np1,
-                                 NOM_MED = dico['NOM_MED'], NOM_CMP_IDEM = 'OUI', TYPE_CHAM = dico['TYPE_CHAM'],
+                                 NOM_MED = dico["NOM_MED"], NOM_CMP_IDEM = "OUI", TYPE_CHAM = dico["TYPE_CHAM"],
                                  INFO = INFO, **motscsi )
 #
 #--------------------------------------------------------------------
index 4a590f17e8f70eb0b59fa2b12c891a6015198535..e649c53ad1f071110d688b6d5fb08317338f1331 100644 (file)
@@ -1,4 +1,5 @@
-#@ MODIF macr_ascouf_calc_ops Macro  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF macr_ascouf_calc_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -16,6 +17,8 @@
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
+
+
 def macr_ascouf_calc_ops(self,TYPE_MAILLAGE,CL_BOL_P2_GV,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM,
                               FOND_FISS,CHARGE,RESU_THER,AFFE_MATERIAU,
                               PRES_REP,ECHANGE,TORS_P1,COMP_INCR,COMP_ELAS,
index e90913f359e54d093bc47214110e342f79227b2c..7a5b107537c08085b16226bfd6365e0d80587a4b 100644 (file)
@@ -1,4 +1,5 @@
-#@ MODIF macr_ascouf_mail_ops Macro  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF macr_ascouf_mail_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
-from math import sqrt,cos,sin,pi,tan,log,fabs,ceil,fmod,floor
-
-################################################################################
-################################################################################
-################################################################################
-#       Mathematical utility routines
-#       Copyright (C) 1999, Wesley Phoa
-#
-#       Reference: Numerical Recipes in C
-#       [[[[extraits]]]]
-
-class BracketingException(Exception):
-        pass
-
-class RootFindingException(Exception):
-        pass
 
-class MinimizationException(Exception):
-        pass
 
-GOLDEN = (1+5**.5)/2
-
-# 
-# MISCELLANEOUS
-#
-
-def sgn(x):
-        if x==0:
-                return 0
-        else:
-                return x/abs(x)
-
-#
-# UNIVARIATE ROOT FINDING
-#
-
-def bracket_root(f, interval, max_iterations=50):
-        """\
-Given a univariate function f and a tuple interval=(x1,x2),
-return a new tuple (bracket, fnvals) where bracket=(x1,x2)
-brackets a root of f and fnvals=(f(x1),f(x2)).
-        """
-        x1, x2 = interval
-        if x1==x2:
-                 raise BracketingException("initial interval has zero width")
-        elif x2<x1:
-                x1, x2 = x2, x1
-        f1, f2 = f(x1), f(x2)
-        for j in range(max_iterations):
-                while f1*f2 >= 0:  # not currently bracketed
-                        if abs(f1)<abs(f2):
-                                x1 = x1 + GOLDEN*(x1-x2)
-                        else:
-                                x2 = x2 + GOLDEN*(x2-x1)
-                        f1, f2 = f(x1), f(x2)
-                return (x1, x2), (f1, f2)
-        raise BracketingException("too many iterations")
-
-def ridder_root(f, bracket, fnvals=None, accuracy=1e-6, max_iterations=50):
-        """\
-Given a univariate function f and a tuple bracket=(x1,x2) bracketing a root,
-find a root x of f using Ridder s method. Parameter fnvals=(f(x1),f(x2)) is optional.
-        """
-        x1, x2 = bracket
-        if fnvals==None:
-                f1, f2 = f(x1), f(x2)
-        else:
-                f1, f2 = fnvals
-        if f1==0:
-                return x1
-        elif f2==0:
-                return x2
-        elif f1*f2>=0:
-                raise BracketingException("initial interval does not bracket a root")
-        x4 = 123456789.
-        for j in range(max_iterations):
-                x3 = (x1+x2)/2
-                f3 = f(x3)
-                temp = f3*f3 - f1*f2
-                x4, x4old = x3 + (x3-x1)*sgn(f1-f2)*f3/temp**.5, x4
-                f4 = f(x4)
-                if f1*f4<0:  # x1 and x4 bracket root
-                        x2, f2 = x4, f4
-                else:  # x4 and x2 bracket root
-                        x1, f1 = x4, f4
-                if min(abs(x1-x2),abs(x4-x4old))<accuracy or temp==0:
-                        return x4
-        raise RootFindingException("too many iterations")
-
-def root(f, interval=(0.,1.), accuracy=1e-4, max_iterations=50):
-        """\
-Given a univariate function f and an optional interval (x1,x2),
-find a root of f using bracket_root and ridder_root.
-        """
-        bracket, fnvals = bracket_root(f, interval, max_iterations)
-        return ridder_root(f, bracket, fnvals, accuracy, max_iterations)
+from math import sqrt,cos,sin,pi,tan,log,fabs,ceil,fmod,floor
+#from Utilitai import funct_root
 
 ################################################################################
 ################################################################################
@@ -272,7 +181,7 @@ def ASCFIS(ALPHA, RM, RC, EP, SUREP, GEOM, AXEA,
                   BEMB*sqrt( (1.0+(X/RM)**2)*0.5 )
        else :
 # -- FISSURE A +/- 45 DEGRES AILLEURS
-          AXECP = root(ASCFON,(BCOUD-1.,BCOUD+1.))
+          AXECP = funct_root.root(ASCFON,(BCOUD-1.,BCOUD+1.))
           AXECP = AXECP + BEMB*sqrt( (1.+(X/RM)**2)*0.5 )
           AXECC = ASCFON(AXECP)+BCOUD
           NEWT=1
index 65cb2d0ffac59f0627d6777c8f08401f54dae7e7..4b921c1be634ea6547667e731ec5ab9c123dd713 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macr_aspic_calc_ops Macro  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF macr_aspic_calc_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17,6 +17,8 @@
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
+
+
 def macr_aspic_calc_ops(self,TYPE_MAILLAGE,TUBULURE,MAILLAGE,MODELE,CHAM_MATER,CARA_ELEM,
                              FOND_FISS_1,FOND_FISS_2,CHARGE,RESU_THER,AFFE_MATERIAU,EQUILIBRE,
                              PRES_REP,ECHANGE,TORS_CORP,TORS_TUBU,COMP_INCR,COMP_ELAS,
index ddef3e22f4f408ea7345f85d37d5baa03de89b0c..296cab1dd537b19983735a3a4d4bf985ef296e45 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macr_aspic_mail_ops Macro  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF macr_aspic_mail_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18,6 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
+
+
 from math import sqrt,cos,sin,pi,pow,tan
 
 # Ecriture du fichier GIBI principal (dgib) - ASPID0
index 5d075febd1f34439ea191f6f97f80c54fa4a781a..a829425f877796bfced239fc836a2b1b4d95686d 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macr_cabri_calc_ops Macro  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF macr_cabri_calc_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 # ======================================================================
 
 
+
+
 def macr_cabri_calc_ops(self,MAILLAGE,MODELE_MECA,MODELE_THER,CHAR_THER,
     CHAR_MECA,RESU_THER,
     AFFE_MATERIAU,DEFI_CHAR_THER,DEFI_CHAR_MECA,RELATION,SOLVEUR,CONVERGENCE,NEWTON, 
index c766aeecef6f8c3a7dc9f05227944e38171fb7fc..7d67325734611b566d01acd0eb5181832eeea798 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macr_cabri_mail_dat Macro  DATE 20/05/2003   AUTEUR MABBAS M.ABBAS 
+#@ MODIF macr_cabri_mail_dat Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18,6 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
+
+
 # Données pour les brides standards
 
 
index 06e1711ed86634f1e24b191547963786941f3cb6..d5ad388f8fd5212b1c6a63d81ead9cdb2147870c 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macr_cabri_mail_ops Macro  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
+#@ MODIF macr_cabri_mail_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -235,9 +235,16 @@ def write_file_dgib_STD(unite_mgib,unite_datg,msh_bride,geo_bride):
     text = text + "** Type bride standard: "+geo_bride+"\n"
    
     text = text + "\n"
-    text = text + "opti dime 3 \n"
-    text = text + " elem cub8 SAUV FORM '"+nomFichierMGIB+"';\n"   
-    text = text + "opti nive 10;\n"
+    text = text + "nomfich = CHAINE \n"
+    if len(nomFichierMGIB)>72:
+      raise Exception, 'Nom de fichier trop long (limité à 72 caractères ' \
+         'pour GIBI) :\n',nomFichierMGIB
+    elif len(nomFichierMGIB)<=69:
+      text = text + "'"+nomFichierMGIB+"';\n"
+    else:
+      text = text + "'"+nomFichierMGIB[:69]+"'\n" \
+                  + "'"+nomFichierMGIB[69:]+"';\n"
+    text = text + "opti dime 3 elem cub8 SAUV FORM nomfich;\n"
     text = text + "dens 1;\n"
     text = text + "\n"
     fdgib.write(text)
@@ -309,8 +316,16 @@ def write_file_dgib_QQE(unite_mgib,unite_datg,msh_bride,geo_bride):
     text = text + "**************************************************************\n"
     text = text + "titre '"+"Bride Quelconque"+"';\n"
     text = text + "\n"
-    text = text + "opti dime 3 \n"
-    text = text + " elem cub8 SAUV FORM '"+nomFichierMGIB+"';\n"   
+    text = text + "nomfich = CHAINE \n"
+    if len(nomFichierMGIB)>72:
+      raise Exception, 'Nom de fichier trop long (limité à 72 caractères ' \
+         'pour GIBI) :\n',nomFichierMGIB
+    elif len(nomFichierMGIB)<=69:
+      text = text + "'"+nomFichierMGIB+"';\n"
+    else:
+      text = text + "'"+nomFichierMGIB[:69]+"'\n" \
+                  + "'"+nomFichierMGIB[69:]+"';\n"
+    text = text + "opti dime 3 elem cub8 SAUV FORM nomfich;\n"
     text = text + "dens 1;\n"
     text = text + "\n"
     fdgib.write(text)
@@ -414,6 +429,8 @@ def para_text(dico_var,var):
 # (les brides standards sont décrites dans le fichier Data_Brides.py)
 #=============================================================================================
 
+
+
 # Imprime tout le catalogue des brides standards disponibles dans un fichier texte
 def print_bride_std(nom_fichier):
     text = bride_std()
index 3dedd0cd080ea2e5da428b1c4401173aab14086e..e0849aff5b761e5ca5a179f2e1cb29ee29d46220 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macr_cara_poutre_ops Macro  DATE 19/01/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF macr_cara_poutre_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -558,6 +558,8 @@ def macr_cara_poutre_ops(self,UNITE_MAILLAGE,SYME_X,SYME_Y,GROUP_MA_BORD,
 # --- =        DU  CENTRE DE TORSION/CISAILLEMENT                      =
 # --- =        DES COEFFICIENTS DE CISAILLEMENT                        =
 #     ==================================================================
+
+
 #
 
 
index cb48d609aec3eb9ac19582ed8bab3fb7fbee2f8f..d92a25bcb1c734dcf991098c7645b98a48c34758 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macr_fiab_impr_ops Macro  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
+#@ MODIF macr_fiab_impr_ops Macro  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17,6 +17,8 @@
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
+
+
 # RESPONSABLE GNICOLAS G.NICOLAS
 #
 def macr_fiab_impr_ops(self, INFO,
@@ -64,11 +66,11 @@ def macr_fiab_impr_ops(self, INFO,
 # 2. Définition d'un fichier d'échange
 #____________________________________________________________________
 # 
-  iunit = DEFI_FICHIER ( ACTION= "ASSOCIER",
-#                         FICHIER = Nom_Symbolique_Fichier_ASTER_vers_FIABILITE,
-                         UNITE = Unite_Fichier_ASTER_vers_FIABILITE,
-                         TYPE = "ASCII",
-                         INFO = INFO )
+  DEFI_FICHIER ( ACTION= "ASSOCIER",
+#                FICHIER = Nom_Symbolique_Fichier_ASTER_vers_FIABILITE,
+                 UNITE = Unite_Fichier_ASTER_vers_FIABILITE,
+                 TYPE = "ASCII",
+                 INFO = INFO )
 #____________________________________________________________________
 #
 # 4. Ecriture de la valeur cible
@@ -96,9 +98,9 @@ def macr_fiab_impr_ops(self, INFO,
 # 6. Libération du fichier d'échange
 #____________________________________________________________________
 # 
-  iunit = DEFI_FICHIER ( ACTION= "LIBERER",
-                         UNITE = Unite_Fichier_ASTER_vers_FIABILITE,
-                         INFO = INFO )
+  DEFI_FICHIER ( ACTION= "LIBERER",
+                 UNITE = Unite_Fichier_ASTER_vers_FIABILITE,
+                 INFO = INFO )
 #
 #--------------------------------------------------------------------
 # 7. C'est fini !
index b886ce82a379632c6d238d5c3d7ff4ecd26fc8b1..62a10ebae36e95b7c364c4aee2b867c99ee8eb32 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macr_fiabilite_ops Macro  DATE 16/01/2004   AUTEUR GNICOLAS G.NICOLAS 
+#@ MODIF macr_fiabilite_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17,6 +17,8 @@
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
+
+
 # RESPONSABLE GNICOLAS G.NICOLAS
 #
 def macr_fiabilite_ops(self, INFO,
index 3f0407fbba65795834da877de7130fc61ecf5c3e..0d57da06df6424a033e91b9026305972fdd1fe9c 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macr_lign_coupe_ops Macro  DATE 25/05/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF macr_lign_coupe_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18,6 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
+
+
 ########################################################################
 # script PYTHON de creation d un maillage de ligne de coupe
 
index c5a8759c5d1828798df09c006f4036c89da7a8fa..308846a5dc39e848260474efc0584e8259e64799 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macr_recal_ops Macro  DATE 19/01/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF macr_recal_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18,6 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
+
+
 def macr_recal_ops(self,UNITE_ESCL, RESU_EXP, POIDS, LIST_PARA, RESU_CALC, 
                         ITER_MAXI, RESI_GLOB_RELA,UNITE_RESU,PARA_DIFF_FINI,
                         GRAPHIQUE, **args ):
index c0e6b53fa552278aa1503fa216b9c458378db711..38d6e265040291f868a4207bf303f383861ff3b4 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macro_elas_mult_ops Macro  DATE 28/05/2004   AUTEUR LEBOUVIE F.LEBOUVIER 
+#@ MODIF macro_elas_mult_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18,6 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
+
+
 def macro_elas_mult_ops(self,MODELE,CHAM_MATER,CARA_ELEM,NUME_DDL,
                         CHAR_MECA_GLOBAL,CHAR_CINE_GLOBAL,LIAISON_DISCRET,
                         CAS_CHARGE,SOLVEUR,**args):
index 7820bb53ba746ccced4d71e854fc757b32251642..34595923db015c6a629fd2c579d718aa330b267e 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macro_matr_ajou_ops Macro  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF macro_matr_ajou_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17,6 +17,8 @@
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
+
+
 def macro_matr_ajou_ops(self,MAILLAGE,GROUP_MA_FLUIDE,GROUP_MA_INTERF,MODELISATION,MODE_MECA,DEPL_IMPO,
                              NUME_DDL_GENE,MODELE_GENE,MATR_MASS_AJOU,MATR_AMOR_AJOU,MATR_RIGI_AJOU,
                              NOEUD_DOUBLE,FLUIDE,DDL_IMPO,DIST_REFE,SOLVEUR,INFO,AVEC_MODE_STAT,
index 978a96bde2370353a7be6a86346bbd39249b1cfa..5466b68530e9c089b06c8ac36ab4314465a2b7c4 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macro_matr_asse_ops Macro  DATE 19/01/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF macro_matr_asse_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18,6 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
+
+
 def macro_matr_asse_ops(self,MODELE,CHAM_MATER,CARA_ELEM,MATR_ASSE,
                         SOLVEUR,NUME_DDL,CHARGE,INST,**args):
   """
index f08d3a0faed674387c3c232ec661a960b714974c..1f41d12e650186c5028889b6549304c594f1e966 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macro_miss_3d_ops Macro  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
+#@ MODIF macro_miss_3d_ops Macro  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18,6 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
+
+
 def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS,
                            UNITE_MODELE_SOL,UNITE_RESU_IMPE,
                            PROJET,REPERTOIRE,OPTION,**args):
@@ -36,7 +38,7 @@ def macro_miss_3d_ops(self,UNITE_IMPR_ASTER,UNITE_OPTI_MISS,
   #self.icmd=1
   self.set_icmd(1)
 
-  iunit = DEFI_FICHIER(ACTION='LIBERER',UNITE=UNITE_IMPR_ASTER)
+  DEFI_FICHIER(ACTION='LIBERER',UNITE=UNITE_IMPR_ASTER)
 
   import aster 
   loc_fic=aster.repout()
index 7bf31559e158ef0edc6abf425a6ca2f476fd8702..882890eb69b163fdc161bd6b24ce79da276fdcd9 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macro_mode_meca_ops Macro  DATE 20/01/2003   AUTEUR DURAND C.DURAND 
+#@ MODIF macro_mode_meca_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18,6 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
+
+
 def macro_mode_meca_ops(self,MATR_A,MATR_B,INFO,METHODE,OPTION,CALC_FREQ,
                         VERI_MODE,NORM_MODE,FILTRE_MODE,IMPRESSION,**args):
   """
index b1ea269f9577098551ee478c449d55efa3f5f7e8..edfee0293ff48be0a844bc1b5b04532a81afad3d 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF macro_proj_base_ops Macro  DATE 19/01/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF macro_proj_base_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18,6 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
+
+
 def macro_proj_base_ops(self,BASE,NB_VECT,MATR_ASSE_GENE,VECT_ASSE_GENE,PROFIL,**args):
   """
      Ecriture de la macro MACRO_PROJ_BASE
index a1c146dbced16d1c5d62662e836fba32eb9e7cc1..319d6d67952d36f46338e2188ab2ed7cfc77ae8b 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF reca_algo Macro  DATE 06/04/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF reca_algo Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18,6 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
+
+
 import Numeric
 from Numeric import take
 import copy,os
index 1a903fb72e4708c592ccfde191de53da1749197d..00ad62d2e72f279b397c676ebf2251c6735f2fd4 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF reca_interp Macro  DATE 19/01/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF reca_interp Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -24,6 +24,8 @@ import Macro
 from Macro.recal import calcul_F
 
 #===========================================================================================
+
+
 # INTERPOLATION, CALCUL DE SENSIBILITE, ETC....
 
 #--------------------------------------
index d91fee1f0f4f3c3db6203348c0a74da7ba17e224..0691b785a9e60cc467dda14e5fef6ce75228d30c 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF reca_message Macro  DATE 13/01/2003   AUTEUR PABHHHH N.TARDIEU 
+#@ MODIF reca_message Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -21,6 +21,8 @@
 import os,Numeric
 
 #===========================================================================================
+
+
 # AFFICHAGE DES MESSAGES
 
 class Message :
index d625e8e2fcdc63ac486e2f30b55413e92c9e0832..a801a41779c7319f0c58f391f328fed88813b2f1 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF recal Macro  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF recal Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 # ======================================================================
 
 
+
+
 import string
 import copy
 import Numeric
@@ -27,7 +29,7 @@ import Gnuplot
 import Cata
 from Cata.cata import INCLUDE,DETRUIRE
 from Accas import _F
-from Utilitai.extract import EXTRACT
+#from Utilitai.extract import EXTRACT
 
 import os
 
index 2729d26c7c6735d15a28fdcc9488369a109c13d3..4b4207c14bc5f634c02280f0483b3d5eaf749d46 100644 (file)
@@ -1,4 +1,5 @@
-#@ MODIF stanley_ops Macro  DATE 05/04/2004   AUTEUR ASSIRE A.ASSIRE 
+#@ MODIF stanley_ops Macro  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17,6 +18,8 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
+
+
 def stanley_ops(self,RESULTAT,MODELE,CHAM_MATER,CARA_ELEM,**args):
 
   """
index a88547436bdfc452e97c0b3b07895aebfb36300c..5425c892cf3bfd31385faeb3fd66bbbd35723a4d 100644 (file)
@@ -1,4 +1,5 @@
-#@ MODIF test_fichier_ops Macro  DATE 30/03/2004   AUTEUR MCOURTOI M.COURTOIS 
+#@ MODIF test_fichier_ops Macro  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17,7 +18,7 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 
-def test_fichier_ops(self, FICHIER, NOM_SYSTEME, NB_CHIFFRE, EPSILON, VALE_K, INFO, **args):
+def test_fichier_ops(self, UNITE, FICHIER, NB_CHIFFRE, EPSILON, VALE_K, INFO, **args):
    """
      Macro TEST_FICHIER permettant de tester la non-regression d'un fichier
      'a une tolerance' pres pour les nombres reels en calculant
@@ -32,42 +33,73 @@ def test_fichier_ops(self, FICHIER, NOM_SYSTEME, NB_CHIFFRE, EPSILON, VALE_K, IN
 
    # On importe les definitions des commandes a utiliser dans la macro
    # Le nom de la variable doit etre obligatoirement le nom de la commande
-   CREA_TABLE   =self.get_cmd('CREA_TABLE')
-   TEST_TABLE   =self.get_cmd('TEST_TABLE')
+   INFO_EXEC_ASTER = self.get_cmd('INFO_EXEC_ASTER')
+   DETRUIRE        = self.get_cmd('DETRUIRE')
+   CREA_TABLE      = self.get_cmd('CREA_TABLE')
+   TEST_TABLE      = self.get_cmd('TEST_TABLE')
 
    import os.path
+   import re
+   from types import StringType
    from Macro.test_fichier_ops import md5file
 
-   # calcule le md5sum du fichier
-   ier, mdsum = md5file(NOM_SYSTEME, NB_CHIFFRE, EPSILON, INFO)
-   if ier != 0:
-      if ier==4:
-         texte_erreur='Fichier inexistant : '+NOM_SYSTEME
+   # vérifie la syntaxe des expressions régulières fournies
+   l_regexp=[]
+   if args['EXPR_IGNORE']:
+      if type(args['EXPR_IGNORE']) is StringType:
+         lexp = [args['EXPR_IGNORE']]
       else:
-         texte_erreur='Erreur dans md5file, code retour = '+str(ier)
-      texte_erreur='<F> <TEST_FICHIER> '+texte_erreur
-#      raise aster.FatalError,texte_erreur
-      self.cr.fatal(texte_erreur)
-      return ier
+         lexp = args['EXPR_IGNORE']
+      for exp in lexp:
+         try:
+            obj=re.compile(exp)
+         except re.error, s:
+            print '<F> <TEST_FICHIER> <INVALID_REGEXP> '+str(s)+' pour "'+exp+'"'
+         else:
+            l_regexp.append(exp)
+      if len(l_regexp) < len(lexp):
+         self.cr.fatal(' <F> <TEST_FICHIER> Expression régulière invalide (voir <INVALID_REGEXP>)')
+
 
-   # comparaison a la reference
    is_ok=0
-   if INFO > 0 :
-      print ' %-20s : %32s' % ('REFERENCE',VALE_K)
-      print
 
-   if mdsum == VALE_K:
-      is_ok=1
+   # vérifier que le fichier a été fermé
+   tinfo__ = INFO_EXEC_ASTER(LISTE_INFO='ETAT_UNITE', FICHIER=FICHIER)
+   
+   if tinfo__['ETAT_UNITE',1].find('OUVERT')>-1:
+      print "<A> <TEST_FICHIER> LE FICHIER N'A PAS ETE FERME :\n",FICHIER
+
+   # fichier correctement fermé
+   else:
+      # calcule le md5sum du fichier
+      ier, mdsum = md5file(FICHIER, NB_CHIFFRE, EPSILON, l_regexp, INFO)
+      if ier != 0:
+         if ier==4:
+            texte_erreur='Fichier inexistant : '+FICHIER
+         else:
+            texte_erreur='Erreur dans md5file, code retour = '+str(ier)
+         texte_erreur='<S> <TEST_FICHIER> '+texte_erreur
+         # aujourd'hui, je ne sais pas déclencher autre chose que <F>...
+         self.cr.fatal(texte_erreur)
+         return ier
+
+      # comparaison a la reference
+      if INFO > 0 :
+         print ' %-20s : %32s' % ('REFERENCE',VALE_K)
+         print
+
+      if mdsum == VALE_K:
+         is_ok=1
 
    # produit le TEST_TABLE
-   __tab1=CREA_TABLE(LISTE=(_F(PARA='TEST',
+   tab1__=CREA_TABLE(LISTE=(_F(PARA='TEST',
                                TYPE_K='K8',
                                LISTE_K='VALEUR  ',),
                             _F(PARA='BOOLEEN',
                                LISTE_I=is_ok,),),)
    if args['REFERENCE'] == 'NON_REGRESSION':
-      TEST_TABLE(FICHIER=FICHIER,
-                 TABLE=__tab1,
+      TEST_TABLE(UNITE=UNITE,
+                 TABLE=tab1__,
                  FILTRE=_F(NOM_PARA='TEST',
                            VALE_K='VALEUR  ',),
                  NOM_PARA='BOOLEEN',
@@ -77,8 +109,8 @@ def test_fichier_ops(self, FICHIER, NOM_SYSTEME, NB_CHIFFRE, EPSILON, VALE_K, IN
                  REFERENCE=args['REFERENCE'],
                  VERSION=args['VERSION'],)
    else:
-      TEST_TABLE(FICHIER=FICHIER,
-                 TABLE=__tab1,
+      TEST_TABLE(UNITE=UNITE,
+                 TABLE=tab1__,
                  FILTRE=_F(NOM_PARA='TEST',
                            VALE_K='VALEUR  ',),
                  NOM_PARA='BOOLEEN',
@@ -86,17 +118,21 @@ def test_fichier_ops(self, FICHIER, NOM_SYSTEME, NB_CHIFFRE, EPSILON, VALE_K, IN
                  PRECISION=1.e-3,
                  CRITERE='ABSOLU',
                  REFERENCE=args['REFERENCE'],)
+
+   DETRUIRE(CONCEPT=_F(NOM=('tinfo__','tab1__'),),)
    return ier
 
 
-def md5file(fich,nbch,epsi,info=0):
+def md5file(fich,nbch,epsi,regexp_ignore=[],info=0):
    """
    Cette methode retourne le md5sum d'un fichier en arrondissant les nombres
    reels a la valeur significative.
    IN :
-      fich  : nom du fichier
-      nbch : nombre de decimales significatives
-      epsi  : valeur en deca de laquelle on prend 0.
+      fich          : nom du fichier
+      nbch          : nombre de decimales significatives
+      epsi          : valeur en deca de laquelle on prend 0
+      regexp_ignore : liste d'expressions régulières permettant d'ignorer
+         certaines lignes
    OUT :
       code retour : 0 si ok, >0 sinon
       md5sum
@@ -116,23 +152,34 @@ def md5file(fich,nbch,epsi,info=0):
    format_float='%'+str(nbch+7)+'.'+str(nbch)+'g'
    m=md5.new()
    i=0
-   for ligne in f.xreadlines():
-#python2.3   for ligne in f:
+   for ligne in f:
       i=i+1
+      if info>=2:
+         print 'LIGNE',i,
       # pour decouper 123E+987-1.2345
    #    r=re.split(' +|([0-9]+)\-+',ligne)
-      r=string.split(ligne)
-      for x in r:
-         try:
-            if abs(float(x))<epsi:
-               s='0'
-            else:
-               s=format_float % float(x)
-         except ValueError:
-            s=x
-         if info>=2:
-            print 'LIGNE',i,'VALEUR RETENUE',s
-         m.update(s)
+      keep=True
+      for exp in regexp_ignore:
+         if re.search(exp,ligne):
+            keep=False
+            if info>=2:
+               print ' >>>>>>>>>> IGNOREE <<<<<<<<<<',
+            break
+      if keep:
+         r=string.split(ligne)
+         for x in r:
+            try:
+               if abs(float(x))<epsi:
+                  s='0'
+               else:
+                  s=format_float % float(x)
+            except ValueError:
+               s=x
+            if info>=2:
+               print ' %s' % s,
+            m.update(s)
+      if info>=2:
+         print
    f.close()
    md5sum=m.hexdigest()
    if info>=1:
index d486f54514b2bed8061aa9bdb7dd822c48a56724..1b1ada3418ab6995c542fed570ed0a9f4bf150cf 100755 (executable)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#& MODIF ENTETE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF ENTETE  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
+
 import Accas
 from Accas import *
 from Accas import _F
 import string
 import Numeric
-from math import sin,cos,tan,asin,acos,atan,sinh,cosh,tanh,exp,log,log10
+from math import sin,cos,tan,asin,acos,atan2,atan,sinh,cosh,tanh,exp,log,log10
 from math import sqrt,pi
 import ops
 
@@ -33,7 +34,7 @@ except:
 
 #
 __version__="$Name:  $"
-__Id__="$Id: cata_STA7.py,v 1.7 2004/09/10 15:51:43 eficas Exp $"
+__Id__="$Id: cata_aster_v6.py,v 1.12 2001/01/16 15:55:05 iliade Exp $"
 #
 JdC = JDC_CATA(code='ASTER',
                execmodul=None,
@@ -41,11 +42,10 @@ JdC = JDC_CATA(code='ASTER',
                          AU_MOINS_UN('FIN'),
                          A_CLASSER(('DEBUT','POURSUITE'),'FIN')))
 # Type le plus general
-class entier   (ASSD):pass
-class reel     (ASSD):pass
-class complexe (ASSD):pass
-class chaine   (ASSD):pass
-
+class entier   (ASSD):
+   def __init__(self,valeur=None,**args):
+      ASSD.__init__(self,**args)
+      self.valeur=valeur
 
 # Type geometriques
 class no  (GEOM):pass
@@ -357,16 +357,16 @@ class fonction_class(ASSD):
    def Valeurs(self):pass
    def Parametres(self):
       """
-      Retourne un dictionnaire contenant les paramètres de la fonction ;
-      le type jeveux (FONCTION, FONCT_C, NAPPE) n'est pas retourné,
-      le dictionnaire peut ainsi etre fourni à CALC_FONC_INTERP tel quel.
+      Retourne un dictionnaire contenant les parametres de la fonction ;
+      le type jeveux (FONCTION, FONCT_C, NAPPE) n'est pas retourne,
+      le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel.
       """
       TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' }
       prol=aster.getvectjev(string.ljust(self.get_name(),19)+'.PROL')
       dico={
          'INTERPOL'    : [prol[1][0:3],prol[1][4:7]],
-         'NOM_PARA'    : prol[2][0:4],
-         'NOM_RESU'    : prol[3][0:4],
+         'NOM_PARA'    : prol[2][0:16],
+         'NOM_RESU'    : prol[3][0:16],
          'PROL_DROITE' : TypeProl[prol[4][0]],
          'PROL_GAUCHE' : TypeProl[prol[4][1]],
       }
@@ -374,40 +374,67 @@ class fonction_class(ASSD):
 class fonction_sdaster(fonction_class):
    def Valeurs(self) :
       """
-      Retourne deux listes de valeurs : abscisses et ordonnées
+      Retourne deux listes de valeurs : abscisses et ordonnees
       """
-      vale=string.ljust(self.get_name(),19)+'.VALE'
-      lbl=list(aster.getvectjev(vale))
-      dim=len(lbl)/2
-      lx=lbl[0:dim]
-      ly=lbl[dim:2*dim]
-      return [lx,ly]
+      if self.etape.nom=='DEFI_FONCTION' :
+        lbl=list(self.etape['VALE'])
+        dim=len(lbl)
+        lx=[lbl[i] for i in range(0,dim,2)]
+        ly=[lbl[i] for i in range(1,dim,2)]
+        return [lx,ly]
+      else :
+        vale=string.ljust(self.get_name(),19)+'.VALE'
+        lbl=list(aster.getvectjev(vale))
+        dim=len(lbl)/2
+        lx=lbl[0:dim]
+        ly=lbl[dim:2*dim]
+        return [lx,ly]
+   def __call__(self,val):
+      lx,ly=self.Valeurs()
+      n=len(lx)
+      if val in lx : return ly[lx.index(val)]
+      lx.append(val)
+      lx.sort()
+      indic=lx.index(val)
+      if indic==0   :
+         if self.etape['PROL_GAUCHE']=='CONSTANT':return ly[0]
+      if indic==n :
+         if self.etape['PROL_DROITE']=='CONSTANT':return ly[n-1]
+      return (ly[indic-1]+(ly[indic]-ly[indic-1])*(val-lx[indic-1])/(lx[indic+1]-lx[indic-1]))
 class para_sensi(fonction_sdaster):
    def Parametres(self):pass
 class fonction_c(fonction_class):
    def Valeurs(self) :
       """
-      Retourne trois listes de valeurs : abscisses, parties réelles et imaginaires.
+      Retourne trois listes de valeurs : abscisses, parties reelles et imaginaires.
       """
-      vale=string.ljust(self.get_name(),19)+'.VALE'
-      lbl=list(aster.getvectjev(vale))
-      dim=len(lbl)/3
-      lx=lbl[0:dim]
-      lr=[]
-      li=[]
-      for i in range(dim):
-         lr.append(lbl[dim+2*i])
-         li.append(lbl[dim+2*i+1])
-      return [lx,lr,li]
+      if self.etape.nom=='DEFI_FONCTION' :
+        lbl=list(self.etape['VALE_C'])
+        dim=len(lbl)
+        lx=[lbl[i] for i in range(0,dim,3)]
+        lr=[lbl[i] for i in range(1,dim,3)]
+        li=[lbl[i] for i in range(2,dim,3)]
+        return [lx,lr,li]
+      else :
+        vale=string.ljust(self.get_name(),19)+'.VALE'
+        lbl=list(aster.getvectjev(vale))
+        dim=len(lbl)/3
+        lx=lbl[0:dim]
+        lr=[]
+        li=[]
+        for i in range(dim):
+           lr.append(lbl[dim+2*i])
+           li.append(lbl[dim+2*i+1])
+        return [lx,lr,li]
 class nappe_sdaster(fonction_class):
    def Valeurs(self):
       """
-      Retourne la liste des valeurs du paramètre,
-      et une liste de couples (abscisses,ordonnées) de chaque fonction.
+      Retourne la liste des valeurs du parametre,
+      et une liste de couples (abscisses,ordonnees) de chaque fonction.
       """
       nsd=string.ljust(self.get_name(),19)
       dicv=aster.getcolljev(nsd+'.VALE')
-      # les clés de dicv sont 1,...,N (indice du paramètre)
+      # les cles de dicv sont 1,...,N (indice du parametre)
       lpar=aster.getvectjev(nsd+'.PARA')
       lval=[]
       for k in range(len(dicv)):
@@ -417,17 +444,17 @@ class nappe_sdaster(fonction_class):
       return [lpar,lval]
    def Parametres(self):
       """
-      Retourne un dictionnaire contenant les paramètres de la nappe,
-      le type jeveux (NAPPE) n'est pas retourné,
-      le dictionnaire peut ainsi etre fourni à CALC_FONC_INTERP tel quel,
-      et une liste de dictionnaire des paramètres de chaque fonction.
+      Retourne un dictionnaire contenant les parametres de la nappe,
+      le type jeveux (NAPPE) n'est pas retourne,
+      le dictionnaire peut ainsi etre fourni a CALC_FONC_INTERP tel quel,
+      et une liste de dictionnaire des parametres de chaque fonction.
       """
       TypeProl={'E':'EXCLU', 'L':'LINEAIRE', 'C':'CONSTANT' }
       prol=aster.getvectjev(string.ljust(self.get_name(),19)+'.PROL')
       dico={
          'INTERPOL'      : [prol[1][0:3],prol[1][4:7]],
-         'NOM_PARA'      : prol[2][0:4],
-         'NOM_RESU'      : prol[3][0:4],
+         'NOM_PARA'      : prol[2][0:16],
+         'NOM_RESU'      : prol[3][0:16],
          'PROL_DROITE'   : TypeProl[prol[4][0]],
          'PROL_GAUCHE'   : TypeProl[prol[4][1]],
          'NOM_PARA_FONC' : prol[5][0:4],
@@ -529,7 +556,8 @@ class vect_elem_depl_r(vect_elem):pass
 class vect_elem_pres_c(vect_elem):pass
 class vect_elem_pres_r(vect_elem):pass
 class vect_elem_temp_r(vect_elem):pass
-#& MODIF COMMUN  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
+
+#& MODIF COMMUN  DATE 04/10/2004   AUTEUR GODARD V.GODARD 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -551,12 +579,15 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
            RELATION        =SIMP(statut='o',typ='TXM',defaut="VMIS_ISOT_TRAC",
                                  into=( "ELAS",
                                         "VMIS_ISOT_TRAC",
+                                        "VISC_ISOT_TRAC",
                                         "VMIS_ISOT_LINE",
+                                        "VISC_ISOT_LINE",
                                         "VMIS_ECMI_TRAC",
                                         "VMIS_ECMI_LINE",
                                         "LABORD_1D",
                                         "ENDO_FRAGILE",
                                         "ENDO_ISOT_BETON",
+                                        "ENDO_ORTH_BETON",
                                         "MAZARS",
                                         "JOINT_BA",
                                         "RUPT_FRAG",
@@ -644,17 +675,21 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
                                         "SANS",
                                         "CORR_ACIER",
                                         "MONOCRISTAL",
+                                        "POLYCRISTAL",
                                      ) ),
           ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
           SANS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
-          CORR_ACIER       =SIMP(statut='c',typ='I',defaut=3,into=(3,)),        
+          CORR_ACIER      =SIMP(statut='c',typ='I',defaut=3,into=(3,)),        
           VMIS_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
+          VISC_ISOT_TRAC  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
           VMIS_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
+          VISC_ISOT_LINE  =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
           VMIS_ECMI_TRAC  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
           VMIS_ECMI_LINE  =SIMP(statut='c',typ='I',defaut=8,into=(8,)),
-          LABORD_1D   =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
+          LABORD_1D       =SIMP(statut='c',typ='I',defaut=5,into=(5,)),
           ENDO_FRAGILE    =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
           ENDO_ISOT_BETON =SIMP(statut='c',typ='I',defaut=2,into=(2,)),
+          ENDO_ORTH_BETON =SIMP(statut='c',typ='I',defaut=7,into=(7,)),
           MAZARS          =SIMP(statut='c',typ='I',defaut=3,into=(3,)),
           JOINT_BA        =SIMP(statut='c',typ='I',defaut=6,into=(6,)),
           RUPT_FRAG       =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
@@ -739,6 +774,11 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
                                  fr="SD issue de DEFI_COMPOR",
                    COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),),
 #          
+           b_polyx     = BLOC(condition = "RELATION == 'POLYCRISTAL' ",
+                                 fr="SD issue de DEFI_COMPOR",
+                   COMPOR =SIMP(statut='o',typ=compor_sdaster,max=1),),
+#          
+
 
 
            RELATION_KIT    =SIMP(statut='f',typ='TXM',max='**',validators=NoRepeat(),
@@ -1070,7 +1110,7 @@ def C_TYPE_CHAM_INTO() : return  ("ACCE",    #COMMUN#
                              "NOEU_VNOR_C",  "ELEM_VARI_R",  "ELNO_VNOR_C",  "ELGA_VNOR_C",
                                              "ELEM_VNOR_C",
                                  )
-#& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -1093,52 +1133,79 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
                     fr="Affectation de caractéristiques à des éléments de structure",
                     reentrant='n',
             UIinfo={"groupes":("Modélisation",)},
-         regles=(AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','MASSIF',
+         regles=(AU_MOINS_UN('POUTRE','BARRE','COQUE','CABLE','DISCRET','DISCRET_2D','MASSIF',
                              'ASSE_GRIL','GRILLE','AFFE_SECT','AFFE_FIBRE'),),
          MODELE          =SIMP(statut='o',typ=modele_sdaster ),
          INFO            =SIMP(statut='f',typ='I', defaut= 1 ,into=(1,2) ),
          VERIF           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',into=("MAILLE","NOEUD") ),
 
+#============================================================================
          POUTRE          =FACT(statut='f',max='**',
            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           SECTION         =SIMP(statut='o',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ),
            CARA_SECT       =SIMP(statut='f',typ=(cara_pout) ),
-           TUYAU_NCOU      =SIMP(statut='f',typ='I',val_max=10,defaut=3),
-           TUYAU_NSEC      =SIMP(statut='f',typ='I',val_max=32,defaut=16),
+           SECTION         =SIMP(statut='o',typ='TXM' ,into=("GENERALE","RECTANGLE","CERCLE") ),
            b_generale      =BLOC( condition = "SECTION=='GENERALE'",
-             CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
+             VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
+             b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=4 ,max=15,
+                                 fr="A,IY,IZ,JX sont des paramètres obligatoires",
                                  into=("A","IY","IZ","AY","AZ","EY","EZ","JX","RY","RZ","RT",
-                                                           "AI","JG","IYR2","IZR2","A1",
-                                       "IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1",
-                                       "RZ1","RT1","AI1","JG1","IYR21","IZR21","A2",
-                                       "IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2",
-                                       "RZ2","RT2","AI2","JG2","IYR22","IZR22","H",
-                                       "HZ","HY","EP","EPY","EPZ","H1","HZ1","HY1",
-                                       "EP1","EPY1","EPZ1","H2","HZ2","HY2","EP2",
-                                       "EPY2","EPZ2","R","R1","R2") ),
-             VALE            =SIMP(statut='o',typ='R',max='**'),
-             VARI_SECT       =SIMP(statut='f',typ='TXM',into=("HOMOTHETIQUE",) ),
+                                       "JG","IYR2","IZR2","AI") ),
+               VALE            =SIMP(statut='o',typ='R',min=4 ,max=15),
+             ),
+             b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=8 ,max=30,
+                                 fr="A1,A2,IY1,IY2,IZ1,IZ2,JX1,JX2 sont des paramètres obligatoires",
+                                 into=("A1","IY1","IZ1","AY1","AZ1","EY1","EZ1","JX1","RY1",
+                                       "RZ1","RT1","JG1","IYR21","IZR21","AI1",
+                                       "A2","IY2","IZ2","AY2","AZ2","EY2","EZ2","JX2","RY2",
+                                       "RZ2","RT2","JG2","IYR22","IZR22","AI2") ),
+               VALE            =SIMP(statut='o',typ='R',min=8 ,max=30),
+             ),
            ),
            b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
-             CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
-                                 into=("H","EP","HY","HZ","EPY","EPZ",
-                                                           "H1","HZ1","HY1","EP1","EPY1","EPZ1",
-                                                           "H2","HZ2","HY2","EP2","EPY2","EPZ2") ),
-             VALE            =SIMP(statut='o',typ='R',max='**'),
-             VARI_SECT       =SIMP(statut='f',typ='TXM',into=("HOMOTHETIQUE","AFFINE"),defaut="HOMOTHETIQUE"),
+             VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE","AFFINE"),defaut="CONSTANT"),
+             b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=4,
+                                 into=("H","EP", "HY","HZ","EPY","EPZ") ),
+               VALE            =SIMP(statut='o',typ='R',min=1 ,max=4),
+             ),
+             b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=8,
+                                     into=("H1","HZ1","HY1","EP1","EPY1","EPZ1",
+                                           "H2","HZ2","HY2","EP2","EPY2","EPZ2") ),
+               VALE            =SIMP(statut='o',typ='R',min=2 ,max=8),
+             ),
+             b_affine =BLOC( condition = "VARI_SECT=='AFFINE'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=3 ,max=6,
+                                     into=("HY","EPY", "HZ1","EPZ1","HZ2","EPZ2") ),
+               VALE            =SIMP(statut='o',typ='R',min=3 ,max=6),
+             ),
            ),
            b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
-             CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
-                                 into=("R","EP","R1","R2","EP1","EP2") ),
-             VALE            =SIMP(statut='o',typ='R',max='**'),
-             VARI_SECT       =SIMP(statut='f',typ='TXM',into=("HOMOTHETIQUE",) ),
+             VARI_SECT       =SIMP(statut='f',typ='TXM',into=("CONSTANT","HOMOTHETIQUE"),defaut="CONSTANT"),
+             b_constant      =BLOC( condition = "VARI_SECT=='CONSTANT'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1 ,max=2,
+                                 fr="R est un paramètre obligatoire",
+                                     into=("R","EP") ),
+               VALE            =SIMP(statut='o',typ='R',min=1 ,max=2),
+             ),
+             b_homothetique  =BLOC( condition = "VARI_SECT=='HOMOTHETIQUE'",
+               CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=2 ,max=4,
+                                 fr="R1, R2 sont des paramètres obligatoires",
+                                     into=("R1","R2","EP1","EP2") ),
+               VALE            =SIMP(statut='o',typ='R',min=2 ,max=4),
+             ),
              MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
+             FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
+             TUYAU_NSEC      =SIMP(statut='f',typ='I',val_max=32,defaut=16),
+             TUYAU_NCOU      =SIMP(statut='f',typ='I',val_max=10,defaut=3),
            ),
-           FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
          ),
 
+#============================================================================
          BARRE           =FACT(statut='f',max='**',
            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
@@ -1146,19 +1213,22 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
            SECTION         =SIMP(statut='o',typ='TXM',into=("GENERALE","RECTANGLE","CERCLE") ),
            b_generale      =BLOC( condition = "SECTION=='GENERALE'",
              CARA            =SIMP(statut='o',typ='TXM',into=("A",) ),
-             VALE            =SIMP(statut='o',typ='R' ),
+             VALE            =SIMP(statut='o',typ='R',min=1,max=1 ),
            ),
            b_rectangle     =BLOC( condition = "SECTION=='RECTANGLE'",
-             CARA            =SIMP(statut='o',typ='TXM',into=("H","HZ","HY","EPY","EPZ","EP"),validators=NoRepeat(),max=6 ),
-             VALE            =SIMP(statut='o',typ='R',max=6 ),
+             CARA            =SIMP(statut='o',typ='TXM',into=("H","EP",
+                                                              "HZ","HY","EPY","EPZ"),
+                                                        validators=NoRepeat(),min=1,max=4 ),
+             VALE            =SIMP(statut='o',typ='R',min=1,max=4 ),
            ),
            b_cercle        =BLOC( condition = "SECTION=='CERCLE'",
-             CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("R","EP") ),
-             VALE            =SIMP(statut='o',typ='R',max=2 ),
+             CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),min=1,max=2,into=("R","EP") ),
+             VALE            =SIMP(statut='o',typ='R',min=1,max=2 ),
            ),
            FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
          ),
 
+#============================================================================
          COQUE           =FACT(statut='f',max='**',
            regles=(UN_PARMI('MAILLE','GROUP_MA' ),
                    PRESENT_PRESENT( 'EXCENTREMENT','INER_ROTA' ),),
@@ -1174,6 +1244,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
            MODI_METRIQUE   =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
          ),
 
+#============================================================================
          CABLE           =FACT(statut='f',max='**',
            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
@@ -1183,6 +1254,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
            FCX             =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
          ),
 
+#============================================================================
          DISCRET         =FACT(statut='f',max='**',
            regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
            NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
@@ -1191,16 +1263,112 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
            AMOR_HYST       =SIMP(statut='f',typ='R' ),
-           CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',
+           CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
+          fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
                                  into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
-                                                           "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
-                                                                "M_T_D_N","M_TR_D_N","M_T_N",
-                                                           "M_T_L",  "M_TR_N",  "M_TR_L",
+                                       "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
+                                       "M_T_D_N","M_TR_D_N","M_T_N",
+                                       "M_T_L",  "M_TR_N",  "M_TR_L",
                                        "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
-                                                           "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
-           VALE            =SIMP(statut='o',typ='R',max='**'),
-         ),
-
+                                       "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
+
+# affection des caractéristiques de RIGIDITE/AMORTISSEMENT
+              b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
+                               VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
+              b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
+                               VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
+              b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
+                               VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
+              b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
+                               VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
+              b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
+                               VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
+              b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
+                               VALE =SIMP(statut='o',typ='R',min=21,max=21),),
+              b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
+                               VALE =SIMP(statut='o',typ='R',min=21,max=21),),
+              b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
+                               VALE =SIMP(statut='o',typ='R',min=78,max=78),),
+
+# affection des caractéristiques de MASSE
+              b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
+          fr="NOEUD: 1 valeur de masse",
+                               VALE =SIMP(statut='o',typ='R',min=1 ,max=1 ),),
+              b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
+          fr="NOEUD: 1 valeur de masse, 6 valeurs du tenseur d'inertie, 3 composantes du vecteur d'excentricité",
+                               VALE =SIMP(statut='o',typ='R',min=10,max=10),),
+              b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
+          fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
+                               VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
+              b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
+          fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
+                               VALE =SIMP(statut='o',typ='R',min=21,max=21),),
+              b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
+          fr="NOEUD: 21 valeurs de masse (triangulaire supérieure par colonne)",
+                               VALE =SIMP(statut='o',typ='R',min=21,max=21),),
+              b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
+          fr="SEGMENT: 78 valeurs de masse (triangulaire supérieure par colonne)",
+                               VALE =SIMP(statut='o',typ='R',min=78,max=78),),
+         ),
+
+#============================================================================
+         DISCRET_2D      =FACT(statut='f',max='**',
+           regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO'),),
+           NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+           MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+           GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
+           GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
+           REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
+           AMOR_HYST       =SIMP(statut='f',typ='R' ),
+           CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
+          fr="Affectation de matrices de rigidité, de masse ou d'amortissement à des mailles ou noeuds",
+                                 into=("K_T_D_N","K_T_D_L","K_TR_D_N","K_TR_D_L",
+                                       "K_T_N",  "K_T_L",  "K_TR_N",  "K_TR_L",
+                                       "M_T_D_N","M_T_N",  "M_TR_D_N",
+                                       "M_T_L",  "M_TR_N",  "M_TR_L",
+                                       "A_T_D_N","A_TR_D_N","A_T_D_L","A_TR_D_L",
+                                       "A_T_N",  "A_T_L",   "A_TR_N", "A_TR_L") ),
+
+# affection des caractéristiques de RIGIDITE/AMORTISSEMENT
+              b_K_T_D_N  =BLOC(condition = "(CARA=='K_T_D_N')or(CARA=='A_T_D_N')",
+                               VALE =SIMP(statut='o',typ='R',min=2 ,max=2 ),),
+              b_K_T_D_L  =BLOC(condition = "(CARA=='K_T_D_L')or(CARA=='A_T_D_L')",
+                               VALE =SIMP(statut='o',typ='R',min=2 ,max=2 ),),
+              b_K_TR_D_N =BLOC(condition = "(CARA=='K_TR_D_N')or(CARA=='A_TR_D_N')",
+                               VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
+              b_K_TR_D_L =BLOC(condition = "(CARA=='K_TR_D_L')or(CARA=='A_TR_D_L')",
+                               VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
+              b_K_T_N    =BLOC(condition = "(CARA=='K_T_N')or(CARA=='A_T_N')",
+                               VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
+              b_K_T_L    =BLOC(condition = "(CARA=='K_T_L')or(CARA=='A_T_L')",
+                               VALE =SIMP(statut='o',typ='R',min=10,max=10),),
+              b_K_TR_N   =BLOC(condition = "(CARA=='K_TR_N')or(CARA=='A_TR_N')",
+                               VALE =SIMP(statut='o',typ='R',min=6 ,max=6),),
+              b_K_TR_L   =BLOC(condition = "(CARA=='K_TR_L')or(CARA=='A_TR_L')",
+                               VALE =SIMP(statut='o',typ='R',min=21,max=21),),
+
+# affection des caractéristiques de MASSE
+              b_M_T_D_N  =BLOC(condition = "CARA=='M_T_D_N'",
+          fr="NOEUD: 1 valeur de masse",
+                               VALE =SIMP(statut='o',typ='R',min=1 ,max=1 ),),
+              b_M_TR_D_N =BLOC(condition = "CARA=='M_TR_D_N'",
+          fr="NOEUD: 1 valeur de masse(m), 1 valeur d'inertie(Izz), 2 composantes du vecteur d'excentricité(ex,ey) ",
+                               VALE =SIMP(statut='o',typ='R',min=4 ,max=4 ),),
+              b_M_T_N    =BLOC(condition = "CARA=='M_T_N'",
+          fr="NOEUD: 3 valeurs de masse (triangulaire supérieure par colonne)",
+                               VALE =SIMP(statut='o',typ='R',min=3 ,max=3 ),),
+              b_M_T_L    =BLOC(condition = "CARA=='M_T_L'",
+          fr="SEGMENT: 10 valeurs de masse (triangulaire supérieure par colonne)",
+                               VALE =SIMP(statut='o',typ='R',min=10,max=10),),
+              b_M_TR_N   =BLOC(condition = "CARA=='M_TR_N'",
+          fr="NOEUD: 6 valeurs de masse (triangulaire supérieure par colonne)",
+                               VALE =SIMP(statut='o',typ='R',min=6 ,max=6 ),),
+              b_M_TR_L   =BLOC(condition = "CARA=='M_TR_L'",
+          fr="SEGMENT: 21 valeurs de masse (triangulaire supérieure par colonne)",
+                               VALE =SIMP(statut='o',typ='R',min=21,max=21),),
+         ),
+
+#============================================================================
          ORIENTATION     =FACT(statut='f',max='**',
            regles=(UN_PARMI('MAILLE','GROUP_MA','NOEUD','GROUP_NO' ),),
            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
@@ -1214,6 +1382,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
          ),
 
+#============================================================================
          DEFI_ARC        =FACT(statut='f',max='**',
            regles=(UN_PARMI('MAILLE','GROUP_MA'),
                    UN_PARMI('ORIE_ARC','CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE',
@@ -1245,6 +1414,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
            CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU") ),
          ),
 
+#============================================================================
          MASSIF          =FACT(statut='f',max='**',
            regles=(UN_PARMI('MAILLE','GROUP_MA'),
                    UN_PARMI('ANGL_REP','ANGL_AXE'),
@@ -1258,6 +1428,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
            ORIG_AXE        =SIMP(statut='f',typ='R',max=3),
          ),
 
+#============================================================================
          POUTRE_FLUI     =FACT(statut='f',max='**',
            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
@@ -1270,6 +1441,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
            COEF_ECHELLE    =SIMP(statut='o',typ='R'),
          ),
 
+#============================================================================
          GRILLE          =FACT(statut='f',max='**',
            regles=(UN_PARMI('MAILLE','GROUP_MA'),
                    EXCLUS('ANGL_REP','ORIG_AXE'),
@@ -1285,6 +1457,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
            GRILLE_NCOU     =SIMP(statut='f',typ='I',defaut= 1,),
          ),
 
+#============================================================================
          RIGI_PARASOL    =FACT(statut='f',max='**',
            regles=(UN_PARMI('COEF_GROUP','FONC_GROUP'),
                    UN_PARMI('COOR_CENTRE','NOEUD_CENTRE','GROUP_NO_CENTRE'),),
@@ -1293,13 +1466,15 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
            FONC_GROUP      =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule) ),
            COEF_GROUP      =SIMP(statut='f',typ='R',max='**'),
            REPERE          =SIMP(statut='f',typ='TXM',into=("LOCAL","GLOBAL") ),
-           CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max='**',into=("K_TR_D_N","A_TR_D_N") ),
+           CARA            =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=1,
+                                 into=("K_TR_D_N","A_TR_D_N") ),
            VALE            =SIMP(statut='o',typ='R',max='**'),
            GROUP_NO_CENTRE =SIMP(statut='f',typ=grno),
            NOEUD_CENTRE    =SIMP(statut='f',typ=no),
            COOR_CENTRE     =SIMP(statut='f',typ='R',max='**'),
          ),
          
+#============================================================================
          RIGI_MISS_3D    =FACT(statut='f',max='**',
            GROUP_MA_POI1   =SIMP(statut='o',typ=ma,max=1),
            GROUP_MA_SEG2   =SIMP(statut='f',typ=ma,max=1),
@@ -1307,6 +1482,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
            UNITE_RESU_IMPE =SIMP(statut='f',typ='I',defaut=30),
          ),
          
+#============================================================================
          ASSE_GRIL       =FACT(statut='f',max='**',
            regles=(UN_PARMI('MAILLE','GROUP_MA'),),
            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
@@ -1321,6 +1497,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
          ),
 
 
+#============================================================================
          AFFE_SECT     =FACT(statut='f',max='**',
               regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),
                       AU_MOINS_UN('TOUT_SECT','GROUP_MA_SECT','MAILLE_SECT'),
@@ -1340,6 +1517,7 @@ AFFE_CARA_ELEM=OPER(nom="AFFE_CARA_ELEM",op=  19,sd_prod=cara_elem,
          ),
 
 
+#============================================================================
          AFFE_FIBRE     =FACT(statut='f',max='**',
               regles=(AU_MOINS_UN('GROUP_MA','MAILLE'),),
 
@@ -1543,7 +1721,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 31/08/2004   AUTEUR JMBHH01 J.M.PROIX 
+#& MODIF COMMANDE  DATE 07/10/2004   AUTEUR MABBAS M.ABBAS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -1847,7 +2025,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca
          CONTACT         =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",max='**',
            regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),),
            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
-                                 into=("NON","NODAL","NODAL_SYME","MAIT_ESCL","MAIT_ESCL_SYME")),
+                                 into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")),
            RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")),
            LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),                 
            NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")),
@@ -1858,12 +2036,15 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca
            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='**'),
-           TOLE_PROJ       =SIMP(statut='f',typ='R',defaut=0.25),             
+           TOLE_PROJ_EXT   =SIMP(statut='f',typ='R',defaut=0.50),
+           TOLE_PROJ_INT   =SIMP(statut='f',typ='R',defaut=0.001),
+           ITER_MULT_MAX   =SIMP(statut='f',typ='I',defaut=4),
+             
            b_active        =BLOC(condition = "METHODE == 'CONTRAINTE' ",
                                  fr="Paramètres de la méthode des contraintes actives (contact uniquement)",
                 regles=(EXCLUS('DIST_2','COEF_IMPO'),
                         EXCLUS('DIST_1','COEF_IMPO'),),
-                NOM_CHAM=SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP","PRE1","PRE2")),
+                NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP","PRE1","PRE2")),
                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS",) ), 
                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
@@ -1925,12 +2106,12 @@ 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)",
-                NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL",)),
+                NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),
                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ), 
                 INTEGRATION     =SIMP(statut='f',typ='TXM',defaut="NOEUD",into=("GAUSS","NOEUD","SIMPSON","SIMPSON1","SIMPSON2")),
                 COEF_REGU_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),
                 MODL_AXIS       =SIMP(statut='o',typ='TXM',into=("OUI","NON")),
-                FORMULATION     =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","VITE")),
+                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),
@@ -2379,7 +2560,7 @@ AFFE_CHAR_MECA_C=OPER(nom="AFFE_CHAR_MECA_C",op=   7,sd_prod=char_meca,
          ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 31/08/2004   AUTEUR JMBHH01 J.M.PROIX 
+#& MODIF COMMANDE  DATE 07/10/2004   AUTEUR MABBAS M.ABBAS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -2532,7 +2713,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
          CONTACT         =FACT(statut='f',fr="Imposer du contact avec ou sans frottement",max='**',
            regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),),
            APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
-                                 into=("NON","NODAL","NODAL_SYME","MAIT_ESCL","MAIT_ESCL_SYME")),
+                                 into=("NON","NODAL","MAIT_ESCL","MAIT_ESCL_SYME")),
            RECHERCHE       =SIMP(statut='f',typ='TXM',defaut="NOEUD_VOISIN",into=("NOEUD_BOUCLE","NOEUD_VOISIN")),
            LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),                 
            NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",into=("MAIT","MAIT_ESCL")),
@@ -2543,12 +2724,14 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            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='**'),
-           TOLE_PROJ       =SIMP(statut='f',typ='R',defaut=0.25),           
+           TOLE_PROJ_EXT   =SIMP(statut='f',typ='R',defaut=0.50),  
+           TOLE_PROJ_INT   =SIMP(statut='f',typ='R',defaut=0.001), 
+           ITER_MULT_MAX   =SIMP(statut='f',typ='I',defaut=4),           
            b_active        =BLOC(condition = "METHODE == 'CONTRAINTE' ",
                                  fr="Paramètres de la méthode des contraintes actives (contact uniquement)",
                 regles=(EXCLUS('DIST_2','COEF_IMPO'),
                         EXCLUS('DIST_1','COEF_IMPO'),),
-                NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP")),
+                NOM_CHAM        =SIMP(statut='f',typ='TXM',defaut="DEPL",into=("DEPL","PRES","TEMP","PRE1","PRE2")),
                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS",) ), 
                 NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",into=("AUTOMATIQUE","CONTROLE","SANS")),
@@ -2558,7 +2741,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",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")),
-                COEF_IMPO       =SIMP(statut='f',typ='R'),
+                COEF_IMPO       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                 COEF_MULT_2     =SIMP(statut='f',typ='R'),
                 VECT_NORM_2     =SIMP(statut='f',typ='R',max=3),
                 VECT_Y          =SIMP(statut='f',typ='R',min=3,max=3),
@@ -4540,7 +4723,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 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 27/09/2004   AUTEUR CIBHHLV L.VIVAN 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4559,13 +4742,10 @@ CALC_FLUI_STRU=OPER(nom="CALC_FLUI_STRU",op= 144,sd_prod=melasflu_sdaster,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
 def calc_fonc_interp_prod(FONCTION,**args):
-  if AsType(FONCTION)==nappe_sdaster      : return nappe_sdaster
+  if AsType(FONCTION)  ==nappe_sdaster    : return nappe_sdaster
   elif AsType(FONCTION)==fonction_sdaster : return fonction_sdaster
   elif AsType(FONCTION)==fonction_c       : return fonction_c
-  elif AsType(FONCTION)==formule          :
-     dict=FONCTION.etape.cree_dict_valeurs(FONCTION.etape.mc_liste)
-     if   dict['REEL']    !=None : return fonction_sdaster
-     elif dict['COMPLEXE']!=None : return fonction_c
+  elif AsType(FONCTION)==formule          : return fonction_sdaster
   raise AsException("type de concept resultat non prevu")
 
 CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_prod,
@@ -4573,25 +4753,26 @@ CALC_FONC_INTERP=OPER(nom="CALC_FONC_INTERP",op= 134,sd_prod=calc_fonc_interp_pr
            UIinfo={"groupes":("Fonction",)},
          regles=(UN_PARMI('VALE_PARA','LIST_PARA'),),
          FONCTION        =SIMP(statut='o',typ=(formule,fonction_sdaster,nappe_sdaster,fonction_c) ),
-         NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="TOUTRESU"),
-         NOM_PARA        =SIMP(statut='o',typ='TXM'),
          VALE_PARA       =SIMP(statut='f',typ='R',max='**'),
          LIST_PARA       =SIMP(statut='f',typ=listr8_sdaster ),
-         INTERPOL        =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG") ),
-         PROL_DROITE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("EXCLU","CONSTANT","LINEAIRE") ),
-         PROL_GAUCHE     =SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("EXCLU","CONSTANT","LINEAIRE") ),
+         NOM_RESU        =SIMP(statut='f',typ='TXM'),
+         NOM_PARA        =SIMP(statut='f',typ='TXM'),
+         INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
+         PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
+         PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
          NOM_PARA_FONC   =SIMP(statut='f',typ='TXM'),
          b_eval_nappe    =BLOC(condition = "NOM_PARA_FONC != None",             
-            regles=(EXCLUS('VALE_PARA_FONC','LIST_PARA_FONC'),),
+            regles=(UN_PARMI('VALE_PARA_FONC','LIST_PARA_FONC'),),
             VALE_PARA_FONC  =SIMP(statut='f',typ='R',max='**'),
             LIST_PARA_FONC  =SIMP(statut='f',typ=listr8_sdaster ),
-            INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,defaut="LIN",into=("NON","LIN","LOG")),
-            PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("EXCLU","CONSTANT","LINEAIRE") ),
-            PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',defaut="EXCLU",into=("EXCLU","CONSTANT","LINEAIRE") ), ),
+            INTERPOL_FONC   =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG")),
+            PROL_DROITE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
+            PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("EXCLU","CONSTANT","LINEAIRE") ),
+         ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2 ) ),
 )  ;
-#& MODIF COMMANDE  DATE 23/08/2004   AUTEUR CIBHHLV L.VIVAN 
+#& MODIF COMMANDE  DATE 27/09/2004   AUTEUR CIBHHLV L.VIVAN 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -4662,7 +4843,7 @@ CALC_FONCTION=OPER(nom="CALC_FONCTION",op=  91,sd_prod=calc_fonction_prod
            FONCTION        =SIMP(statut='o',typ=fonction_sdaster),
            COEF            =SIMP(statut='f',typ='R',defaut= 0.E+0,fr="Valeur de la constante d intégration" ),
          ),
-         RMS             =FACT(statut='f',fr="Calcul de la valeur RMS d une fonction",
+         RMS             =FACT(statut='f',fr="Calcul de la valeur RMS d une fonction",max='**',
            METHODE         =SIMP(statut='f',typ='TXM',defaut="TRAPEZE",into=("SIMPSON","TRAPEZE") ),
            FONCTION        =SIMP(statut='o',typ=fonction_sdaster ),
            INST_INIT       =SIMP(statut='f',typ='R',fr="Instant initial définissant le début du signal" ),
@@ -4725,7 +4906,7 @@ CALC_FONCTION=OPER(nom="CALC_FONCTION",op=  91,sd_prod=calc_fonction_prod
            AMOR_REDUIT     =SIMP(statut='f',typ='R',max='**'),
            LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
            FREQ            =SIMP(statut='f',typ='R',max='**'),
-           NORME           =SIMP(statut='f',typ='R',defaut= 9.81E+0,fr="Valeur de la norme du spectre d oscillateur" ),
+           NORME           =SIMP(statut='o',typ='R',defaut= 9.81E+0,fr="Valeur de la norme du spectre d oscillateur" ),
            NATURE          =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ),
            NATURE_FONC     =SIMP(statut='f',typ='TXM',defaut="ACCE",into=("DEPL","VITE","ACCE") ),
          ),
@@ -6290,7 +6471,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 10/06/2004   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 06/09/2004   AUTEUR CIBHHLV L.VIVAN 
 # RESPONSABLE MCOURTOI M.COURTOIS
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -6416,6 +6597,8 @@ CREA_MAILLAGE=OPER(nom="CREA_MAILLAGE",op= 167,sd_prod=maillage_sdaster,
            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
            SHRINK          =SIMP(statut='f',typ='R',defaut= 0.9, fr="Facteur de réduction" ),
            TAILLE_MIN      =SIMP(statut='f',typ='R',defaut= 0.0, fr="Taille minimale d'un coté" ),
+           NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
+                                 into=("SIEF_ELGA","VARI_ELGA","SIEF_ELGA_DEPL","FLUX_ELGA_TEMP",) ),
          ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 #
@@ -6559,7 +6742,7 @@ CREA_RESU=OPER(nom="CREA_RESU",op=124,sd_prod=crea_resu_prod,reentrant='f',
          ),
 
 )  ;
-#& MODIF COMMANDE  DATE 06/07/2004   AUTEUR CIBHHPD S.VANDENBERGHE 
+#& MODIF COMMANDE  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6583,6 +6766,7 @@ def crea_table_prod(TYPE_TABLE,**args):
   if TYPE_TABLE == "TABL_POST_RELE" : return tabl_post_rele
   if TYPE_TABLE == "TABL_POST_USUR" : return tabl_post_usur
   if TYPE_TABLE == "TABL_POST_ALEA" : return tabl_post_alea
+  if TYPE_TABLE == "TABL_INTE_SPEC" : return tabl_intsp
   raise AsException("type de concept resultat non prevu")
 
 CREA_TABLE=OPER(nom="CREA_TABLE",op=  36,sd_prod=crea_table_prod,
@@ -6596,7 +6780,8 @@ CREA_TABLE=OPER(nom="CREA_TABLE",op=  36,sd_prod=crea_table_prod,
                                  "TABL_CARA_GEOM",
                                  "TABL_POST_RELE",
                                  "TABL_POST_USUR",
-                                 "TABL_POST_ALEA" ) ),
+                                 "TABL_POST_ALEA",
+                                 "TABL_INTE_SPEC" ) ),
            LISTE=FACT(statut='f',min=2,max='**',
                  fr="Creation d'une table a partir de listes",
                  regles=(UN_PARMI('LISTE_I','LISTE_R','LISTE_K')), 
@@ -6867,7 +7052,7 @@ DEFI_CABLE_OP=OPER(nom="DEFI_CABLE_OP",op= 180,sd_prod=cabl_precont,
            PRESENT           =SIMP(statut='o',typ='TXM',min=2,max=2,into=("OUI","NON") ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 16/06/2004   AUTEUR JMBHH01 J.M.PROIX 
+#& MODIF COMMANDE  DATE 27/09/2004   AUTEUR JMBHH01 J.M.PROIX 
 # RESPONSABLE JMBHH01 J.M.PROIX
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -6890,8 +7075,9 @@ DEFI_COMPOR=OPER(nom="DEFI_COMPOR",op=59,sd_prod=compor_sdaster,
                    fr="Définition du comportement monocristallin",
                    reentrant='n',
             UIinfo={"groupes":("Modélisation",)},
-            
-          MONOCRISTAL    =FACT(statut='o', max='**',
+                  regles=(EXCLUS('MONOCRISTAL','POLYCRISTAL'),),
+
+          MONOCRISTAL    =FACT(statut='f', max='**',
              MATER           =SIMP(statut='o', typ=mater_sdaster, max=1),
              ECOULEMENT      =SIMP(statut='o', typ='TXM', max=1,
                    fr="Donner le nom du mot-clé facteur de DEFI_MATERIAU précisant le type d'écoulement viscoplastique"),
@@ -6903,7 +7089,28 @@ 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 comportement élastique (un et un seul)"),
              FAMI_SYST_GLIS  =SIMP(statut='o',typ='TXM', max=1, 
                                 into=('BASAL', 'PRISMATIQUE', 'OCTAEDRIQUE', 'PYRAMIDAL1',
-                                'PYRAMIDAL2', 'CUBIQUE1', 'CUBIQUE2', 'MACLAGE', 'JOINT_GRAIN', 'RL', 'UNIAXIAL'),),),);
+                                'PYRAMIDAL2', 'CUBIQUE1', 'CUBIQUE2', 'MACLAGE', 'JOINT_GRAIN', 'RL', 'UNIAXIAL'),),
+                                ),
+                                
+                                
+          POLYCRISTAL    =FACT(statut='f', max='**',
+             MONOCRISTAL     =SIMP(statut='o', typ=compor_sdaster, max=1),
+             FRAC_VOL  =SIMP(statut='o', typ='R', max=1,fr="fraction volumique de la phase correspondant au monocristal"),
+             ANGL_REP  =SIMP(statut='o',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),
+             ),
+             ),
+                                
+                                );
                    
 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
@@ -6962,7 +7169,7 @@ DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater_sdaster,reentrant='
            UNITE           =SIMP(statut='f',typ='I',defaut=8),  
          ),
 )  ;
-#& MODIF COMMANDE  DATE 06/07/2004   AUTEUR CIBHHLV L.VIVAN 
+#& MODIF COMMANDE  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6981,31 +7188,43 @@ DEFI_COQU_MULT=OPER(nom="DEFI_COQU_MULT",op=56,sd_prod=mater_sdaster,reentrant='
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
 # RESPONSABLE D6BHHJP J.P.LEFEBVRE
-DEFI_FICHIER=PROC(nom="DEFI_FICHIER",op=26,
+def DEFIC_prod(self,ACTION,UNITE,**args):
+  if ACTION == "ASSOCIER" :
+    if UNITE != None :
+      return
+    else :
+      return entier
+  elif ACTION == "LIBERER"  :
+    return
+  else :
+    raise AsException("ACTION non prevue")
+
+DEFI_FICHIER=MACRO(nom="DEFI_FICHIER",op=ops.build_DEFI_FICHIER,sd_prod=DEFIC_prod,reentrant='n',
                   UIinfo={"groupes":("Gestion du travail",)},
                   fr="Gestion d une unité logique : ajout, suppression",
 
             ACTION        =SIMP(statut='f',typ='TXM',into=("ASSOCIER","LIBERER"),defaut="ASSOCIER"),
 
-            b_associer    =BLOC(condition = "ACTION == 'ASSOCIER'",fr="Paramètres pour l ouverture du fichier",
-               regles=(AU_MOINS_UN('NOM_SYSTEME','UNITE','FICHIER'),),
-               UNITE         =SIMP(statut='f',typ='I' ,val_min=1),
-               NOM_SYSTEME   =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
-               FICHIER       =SIMP(statut='f',typ='TXM'),
-               TYPE          =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"),
+            b_associer    =BLOC(condition = "ACTION == 'ASSOCIER'",
+                                fr="Paramètres pour l'ouverture du fichier",
+                                regles=(AU_MOINS_UN('FICHIER','UNITE'),),
+               UNITE      =SIMP(statut='f',typ='I' ,val_min=1),
+               FICHIER    =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
+               TYPE       =SIMP(statut='f',typ='TXM',into=("ASCII","BINARY","LIBRE"),defaut="ASCII"),
 
                b_type_ascii  =BLOC(condition = "TYPE == 'ASCII'",fr="Paramètres pour le type ASCII",
-                  ACCES         =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"),
+                  ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","APPEND","OLD"),defaut="NEW"),
                ),
                b_type_autre  =BLOC(condition = "TYPE != 'ASCII'",fr="Paramètres pour les types BINARY et LIBRE",
-                  ACCES         =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"),
+                  ACCES      =SIMP(statut='f',typ='TXM',into=("NEW","OLD"),defaut="NEW"),
                ),
             ),
 
-            b_liberer    =BLOC(condition = "ACTION == 'LIBERER'",fr="Paramètres pour la fermeture du fichier",
-                  regles=(UN_PARMI('NOM_SYSTEME','UNITE'),),
+            b_liberer    =BLOC(condition = "ACTION == 'LIBERER'",
+                               fr="Paramètres pour la fermeture du fichier",
+                               regles=(UN_PARMI('FICHIER','UNITE'),),
                   UNITE         =SIMP(statut='f',typ='I' ,val_min=1),
-                  NOM_SYSTEME   =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
+                  FICHIER   =SIMP(statut='f',typ='TXM',validators=LongStr(1,255)),
            ),
 
            INFO          =SIMP(statut='f',typ='I',into=(1,2) ),           
@@ -7826,7 +8045,7 @@ DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op=  88,sd_prod=maillage_sdaster,
            GROUP_NO_FIN    =SIMP(statut='f',typ=grno),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 17/08/2004   AUTEUR ROMEO R.FERNANDES 
+#& MODIF COMMANDE  DATE 04/10/2004   AUTEUR GODARD V.GODARD 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7872,7 +8091,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
                PRESENT_PRESENT('BARCELONE','CAM_CLAY','ELAS'),
                PRESENT_PRESENT('CAM_CLAY','ELAS'),
                PRESENT_PRESENT('LAIGLE','ELAS'),
-               PRESENT_PRESENT('DRUCKER_PRAGER','ELAS'),
+               PRESENT_PRESENT('DRUCK_PRAGER','ELAS'),
                EXCLUS('MAZARS','MAZARS_FO'),
                PRESENT_PRESENT('BAZANT_FD','ELAS_FO'),
                EXCLUS('GLRC','GLRC_FO'),
@@ -8196,6 +8415,14 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              SYT             =SIMP(statut='o',typ='R'),
              SYC             =SIMP(statut='f',typ='R'),
            ),
+           ENDO_ORTH_BETON  =FACT(statut='f',
+             ALPHA            =SIMP(statut='f',typ='R',defaut=0.9),
+             K0               =SIMP(statut='o',typ='R'),
+             K1               =SIMP(statut='o',typ='R'),
+             K2               =SIMP(statut='f',typ='R',defaut=7.E-4),
+             ECROB            =SIMP(statut='o',typ='R'),
+             ECROD            =SIMP(statut='o',typ='R'),
+           ),
            PRAGER          =FACT(statut='f',
              C               =SIMP(statut='o',typ='R'),
            ),
@@ -8251,7 +8478,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              AN              =SIMP(statut='f',typ='R',defaut= 0. ),
              VERI_P          =SIMP(statut='c',typ='TXM',max='**',defaut=("TEMP",) ),
            ),
-           ROUSS_VISC      =FACT(statut='f',
+           VISC_SINH      =FACT(statut='f',
              SIGM_0          =SIMP(statut='o',typ='R'),
              EPSI_0          =SIMP(statut='o',typ='R'),
              M               =SIMP(statut='o',typ='R'),
@@ -9183,7 +9410,11 @@ 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'),),
+                                                           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)),
                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -9324,7 +9555,11 @@ 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'),),
+                                                           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)),
                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -9456,7 +9691,11 @@ 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'),),
+                                                           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)),
                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -9593,7 +9832,11 @@ 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'),),
+                                                           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)),
                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -9731,7 +9974,11 @@ 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'),),
+                                                           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)),
                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -9883,7 +10130,11 @@ 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'),),
+                                                           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)),
                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -10046,7 +10297,11 @@ 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'),),
+                                                           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)),
                                            LAMB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            D_LB_PHI    = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
                                            LAMB_T      = SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -10187,7 +10442,11 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              PESA_Z          =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'),),
+                          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)),
              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)),
@@ -10275,7 +10534,11 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              PESA_Z          =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'),),
+                          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)),
              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)),
@@ -10304,7 +10567,6 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              VERI_P          =SIMP(statut='c',typ='TXM',defaut=("TEMP","SAT","PORO","PGAZ","PCAP","ENDO",) ),
            ),
            ),
-#
 # courbes et coefficients associés à la fatigue et au dommage
 #
            FATIGUE         =FACT(statut='f',
@@ -10419,7 +10681,7 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
              SIGMA_P1        =SIMP(statut='o',typ='R'),
              PA              =SIMP(statut='o',typ='R'),
            ),
-           DRUCKER_PRAGER  =FACT(statut='f',
+           DRUCK_PRAGER  =FACT(statut='f',
              ALPHA           =SIMP(statut='o',typ='R'),
              SY              =SIMP(statut='o',typ='R'),
              P_ULTM          =SIMP(statut='o',typ='R'),
@@ -10493,7 +10755,22 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
            
 ####  MONOCRISTAL
            
-           
+           DRUCK_PRAGER_FO  =FACT(statut='f',
+             ALPHA           =SIMP(statut='o',typ=(fonction_sdaster,formule)),
+             SY              =SIMP(statut='o',typ=(fonction_sdaster,formule)),
+             P_ULTM          =SIMP(statut='o',typ=(fonction_sdaster,formule)),
+             ECROUISSAGE = SIMP(statut='o',typ='TXM',into=("LINEAIRE","PARABOLIQUE")),
+             b_lineaire =BLOC(condition="ECROUISSAGE=='LINEAIRE'",
+                                    fr="Loi de comportement de type Drucker Prager avec un ecrouissage lineaire",
+                    H               =SIMP(statut='o',typ=(fonction_sdaster,formule)),
+                    TYPE_DP         =SIMP(statut='c',typ='R',defaut= 1.0,),
+             ),
+             b_parabolique =BLOC(condition="ECROUISSAGE=='PARABOLIQUE'",
+                                    fr="Loi de comportement de type Drucker Prager avec un ecrouissage parabolique",
+                    SY_ULTM         =SIMP(statut='o',typ=(fonction_sdaster,formule)),
+                    TYPE_DP         =SIMP(statut='c',typ='R',defaut= 2.0,),
+             ),
+           ),
            
            
            INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
@@ -11417,7 +11694,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 31/08/2004   AUTEUR JMBHH01 J.M.PROIX 
+#& MODIF COMMANDE  DATE 28/09/2004   AUTEUR LAMARCHE S.LAMARCHE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -11570,13 +11847,14 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
          ),
          TETA_METHODE      =FACT(statut='f',
            TETA            =SIMP(statut='f',typ='R'
-                                ,defaut= 1. ),
+                                ,defaut= 1.,val_min=0.5,val_max=1. ),
          ),
          NEWTON          =FACT(statut='d',
            REAC_INCR       =SIMP(statut='f',typ='I',defaut= 1 ),
            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ),
            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
+           REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
          ),
          SOLVEUR         =FACT(statut='d',
@@ -11749,7 +12027,7 @@ DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=tabl_intsp,
          OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/09/2004   AUTEUR PBADEL P.BADEL 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -11870,6 +12148,7 @@ DYNA_TRAN_EXPLI=OPER(nom="DYNA_TRAN_EXPLI",op= 69,sd_prod=evol_noli,reentrant='f
            PREDICTION      =SIMP(statut='f',typ='TXM',into=("TANGENTE","ELASTIQUE") ),
            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
            REAC_ITER       =SIMP(statut='f',typ='I',defaut= 0),
+           REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
          ),
          SOLVEUR         =FACT(statut='d',
@@ -12575,7 +12854,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 10/06/2004   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12593,17 +12872,27 @@ 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.      
 # ======================================================================
-FORMULE = FORM( nom='FORMULE',op=ops.build_formule,sd_prod=formule,
-                fr="Définition d une fonction",reentrant = 'n',
-                regles=(UN_PARMI('REEL','COMPLEXE'),),
-
-##### fonctions entieres interdites suite au probleme AL2003-072
-#####           regles=(UN_PARMI('REEL','ENTIER','COMPLEXE'),),
-#####           ENTIER   = SIMP(typ = 'shell',),
-
-                REEL     = SIMP(typ = 'shell',),
-                COMPLEXE = SIMP(typ = 'shell',),
-) ;
+def form_pyth_ops(self,d):
+  import types
+  NOM_PARA=self.etape['NOM_PARA']
+  VALE    =self.etape['VALE']
+  if type(NOM_PARA) not in (types.ListType,types.TupleType) : NOM_PARA=[NOM_PARA,]
+  self.sd.nompar     = NOM_PARA
+  texte='____x='+string.join(VALE.splitlines())
+  try : 
+    compile(texte,texte,'exec')
+  except SyntaxError : 
+    print 75*'!'
+    print '! '+string.ljust('Erreur evaluation formule '+self.sd.nom,72)+'!'
+    print 75*'!'
+    raise
+  self.sd.expression = texte
+
+FORMULE=FORM(nom="FORMULE",op_init=form_pyth_ops,op=-5,
+             sd_prod=formule,UIinfo={"groupes":("Fonction",)},
+         VALE     =SIMP(statut='f',typ='TXM'),
+         NOM_PARA =SIMP(statut='o',typ='TXM',max='**'),
+);
 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -12963,7 +13252,7 @@ IMPR_COURBE=PROC(nom="IMPR_COURBE",op= 141,fr="Impression, sur fichiers",
                                        "CERCLE_X","CARRE_X","LOSANGE_X") ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -12982,7 +13271,7 @@ IMPR_COURBE=PROC(nom="IMPR_COURBE",op= 141,fr="Impression, sur fichiers",
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
 # RESPONSABLE GNICOLAS G.NICOLAS
-IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189,
+IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189, docu="U7.04.01-b",
             UIinfo={"groupes":("Fonction",)},
                     fr="Imprime le fichier de configuration de HOMARD.",
                     ang="Writes the configuration file for HOMARD.",
@@ -12994,17 +13283,17 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189,
 # 2. Langue des messages issus de HOMARD
 #
          LANGUE =SIMP(statut='f',typ='TXM',defaut="FRANCAIS",    
-                               into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
-                           fr="Langue des messages issus de HOMARD.",
-                           ang="Language for HOMARD messages." ),
+                      into=("FRANCAIS","FRENCH","ANGLAIS","ENGLISH",),
+                      fr="Langue des messages issus de HOMARD.",
+                      ang="Language for HOMARD messages." ),
 #
 # 3. Le nom local du fichier de configuration HOMARD
 #
-         FICHIER_CONF    =SIMP(statut='o',typ='TXM'),
+         UNITE_CONF    =SIMP(statut='o',typ='I'),
 #
 # 4. Le nom local du fichier de données HOMARD
 #
-         FICHIER_DONN    =SIMP(statut='f',typ='TXM'),
+         UNITE_DONN    =SIMP(statut='f',typ='I'),
 #
 # 5. Gestion des éléments autres que des simplexes
 #       0 : autres elements refuses (defaut)
@@ -13012,8 +13301,8 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189,
 #       2 : tous
 #
          NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=0,into=(0,1,2),
-                          fr="Acceptation d'éléments quad, hexa et penta",
-                          ang="quad, hexa and penta elements allowed" ),
+                          fr="Type d'éléments acceptés.",
+                          ang="Type of authorized elements." ),
 #
 # 6. Le type de traitement :
 #
@@ -13089,18 +13378,15 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189,
                            NOM_MED_MAILLAGE_N   =SIMP(statut='f',typ='TXM',),
                            ) ,
 #
-           b_iteration_maj_champ =BLOC(condition = "( UNIFORME != None ) or ( ADAPTATION != None ) ",
-                           fr="Nom MED du maillage en sortie, numero d'iteration et mise à jour de champs",
-                           ang="MED name of the out-mesh, iteration rank and field updating",
+           b_iteration =BLOC(condition = "( UNIFORME != None ) or ( ADAPTATION != None ) ",
+                           fr="Nom MED du maillage en sortie, numero d'iteration",
+                           ang="MED name of the out-mesh, iteration rank",
                            NITER                =SIMP(statut='o',typ='I',
                            fr="Numéro d'itération.",
                            ang="Iteration number." ),
                            NOM_MED_MAILLAGE_NP1 =SIMP(statut='o',typ='TXM',
                            fr="Nom MED du maillage en sortie",
                            ang="MED name of the out-mesh" ),
-                           MAJ_CHAM             =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),
-                           fr="Mise à jour de champs",
-                           ang="Field updating" ),
                            ) ,
 #
            b_indicateur_d_erreur  =BLOC(condition = "ADAPTATION != None",
@@ -13195,7 +13481,40 @@ IMPR_FICO_HOMA=PROC(nom="IMPR_FICO_HOMA",op= 189,
 #
          ),
 #
-# 7. L'ANALYSE DU MAILLAGE
+# 7. Mise à jour de champs sur le nouveau maillage
+#
+         MAJ_CHAM        =FACT(statut='f',max='**',
+                           fr="Mise à jour de champs sur le nouveau maillage.",
+                           ang="Updating of fields over the new mesh.",
+                           regles=(AU_MOINS_UN('NUME_ORDRE','INST','RESULTAT'),
+                                   EXCLUS('NUME_ORDRE','INST'),
+                                   EXCLUS('NUME_ORDRE','RESULTAT'),
+                                   PRESENT_PRESENT('RESULTAT','NOM_CHAM'),),
+                           NOM_MED  =SIMP(statut='o',typ='TXM',
+                           fr="Nom MED du champ à mettre à jour.",
+                           ang="MED name of field.",),
+                           NUME_ORDRE  =SIMP(statut='f',typ='I',
+                           fr="Numero d'ordre du champ à mettre à jour.",
+                           ang="Rank number of field.",),
+                           INST        =SIMP(statut='f',typ='R',
+                           fr="Instant du champ à mettre à jour.",
+                           ang="Instant of field.",),
+                           b_precision     =BLOC(condition="(INST != None)",
+                             PRECISION       =SIMP(statut='f',typ='R',defaut=1.0E-3,
+                             fr="Précision sur le choix de l'instant associé",
+                             ang="Accuracy over instant choice" ),
+                             CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU"),
+                             fr="Critère de précision sur le choix de l'instant associé",
+                             ang="Accuracy criterium over instant choice" ),),
+                           RESULTAT  =SIMP(statut='f',typ=(evol_elas,evol_noli,evol_ther),
+                           fr="Concept contenant le champ à mettre à jour.",
+                           ang="Conceipt wich contains the field.",),
+                           NOM_CHAM  =SIMP(statut='f',typ='TXM',
+                           fr="Nom du champ dans le résultat du champ à mettre à jour.",
+                           ang="Name of the field.",),
+         ),
+#
+# 8. L'ANALYSE DU MAILLAGE
 #
          ANALYSE         =FACT(statut='f',
                                fr="Analyse du maillage.",
@@ -14004,7 +14323,7 @@ INCLUDE_MATERIAU=MACRO(nom="INCLUDE_MATERIAU",op=-14,
          UNITE_LONGUEUR  =SIMP(statut='f',typ='TXM',into=("M","MM"),defaut="M" ),  
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14029,9 +14348,17 @@ INFO_EXEC_ASTER=OPER(nom="INFO_EXEC_ASTER",op=35,sd_prod=table_sdaster,
                     UIinfo={"groupes":("Gestion du travail",)},
 
          regles=(),
-         LISTE_INFO      =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=2,into=("CPU_RESTANT","CPU","UNITE_LIBRE",),),
-         TITRE           =SIMP(statut='f',typ='TXM',max='**'),
-         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
+         LISTE_INFO     =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=3,
+                              into=("CPU_RESTANT","UNITE_LIBRE","ETAT_UNITE"),),
+         b_etat_unite   =BLOC(condition = "'ETAT_UNITE' in LISTE_INFO", 
+            regles=(UN_PARMI('UNITE','FICHIER'),),
+            UNITE          =SIMP(statut='f',typ='I',val_min=1,val_max=99,max=1,
+                                 fr="Unité logique dont on veut obtenir l'état",),
+            FICHIER        =SIMP(statut='f',typ='TXM',validators=LongStr(1,255),
+                                 fr="Nom du fichier dont on veut obtenir l'état",),
+         ),
+         TITRE          =SIMP(statut='f',typ='TXM',max='**'),
+         INFO           =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )  ;
 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
@@ -14223,7 +14550,7 @@ LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod,
                   ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
+#& MODIF COMMANDE  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14245,8 +14572,9 @@ LIRE_CHAMP=OPER(nom="LIRE_CHAMP",op= 192,sd_prod=lire_champ_prod,
 from Macro.lire_fonction_ops import lire_fonction_ops
 
 def lire_fonction_prod(self,TYPE,**args):
-  if   (TYPE == 'FONCTION'): return fonction_sdaster
-  elif (TYPE == 'NAPPE'   ): return nappe_sdaster
+  if   (TYPE == 'FONCTION')  : return fonction_sdaster
+  elif (TYPE == 'FONCTION_C'): return fonction_c
+  elif (TYPE == 'NAPPE'   )  : return nappe_sdaster
   raise AsException("type de concept resultat non prevu")
 
 LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_fonction_prod,
@@ -14254,11 +14582,19 @@ LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_foncti
                    reentrant='n',
             UIinfo={"groupes":("Fonction",)},
          FORMAT          =SIMP(statut='f',typ='TXM',into=("LIBRE",),defaut="LIBRE"  ),
-         TYPE            =SIMP(statut='f',typ='TXM',into=("FONCTION","NAPPE"),defaut="FONCTION"  ),
+         TYPE            =SIMP(statut='f',typ='TXM',into=("FONCTION","FONCTION_C","NAPPE"),defaut="FONCTION"  ),
          SEPAR           =SIMP(statut='f',typ='TXM',into=("None",",",";","/"),defaut="None" ),
          INDIC_PARA      =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,1]),
          b_fonction      =BLOC(condition = "TYPE=='FONCTION' ",
            INDIC_RESU      =SIMP(statut='f',typ='I',min=2,max=2,defaut=[1,2]), ),
+         b_fonction_c    =BLOC(condition = "TYPE=='FONCTION_C' ",
+           FORMAT_C        =SIMP(statut='f',typ='TXM',defaut="REEL_IMAG",into=("REEL_IMAG","MODULE_PHASE") ),
+           b_reel_imag     =BLOC(condition = "FORMAT_C=='REEL_IMAG' ",
+             INDIC_REEL      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]),
+             INDIC_IMAG      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ) ,
+           b_modu_phas     =BLOC(condition = "FORMAT_C=='MODULE_PHASE' ",
+             INDIC_MODU      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,2]),
+             INDIC_PHAS      =SIMP(statut='o',typ='I',min=2,max=2,defaut=[1,3]), ), ),
          b_nappe         =BLOC(condition = "TYPE=='NAPPE' ",
            NOM_PARA_FONC   =SIMP(statut='o',typ='TXM',into=C_PARA_FONCTION() ),
            INDIC_ABSCISSE  =SIMP(statut='o',typ='I',min=2,max=2,),
@@ -14277,7 +14613,7 @@ LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_foncti
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14295,16 +14631,19 @@ LIRE_FONCTION=MACRO(nom="LIRE_FONCTION",op=lire_fonction_ops,sd_prod=lire_foncti
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-LIRE_INTE_SPEC=OPER(nom="LIRE_INTE_SPEC",op= 116,sd_prod=tabl_intsp,
+
+from Macro.lire_inte_spec_ops import lire_inte_spec_ops
+
+LIRE_INTE_SPEC=MACRO(nom="LIRE_INTE_SPEC",op=lire_inte_spec_ops,sd_prod=tabl_intsp,
                     fr="Lecture sur un fichier externe de  fonctions complexes pour créer une matrice interspectrale",
                     reentrant='n',
             UIinfo={"groupes":("Fonction",)},
          UNITE           =SIMP(statut='o',typ='I' ),
          FORMAT          =SIMP(statut='f',typ='TXM',defaut="MODULE_PHASE",into=("REEL_IMAG","MODULE_PHASE") ),
-         NOM_PARA        =SIMP(statut='f',typ='TXM',
+         NOM_PARA        =SIMP(statut='f',typ='TXM',defaut="FREQ",
                                into=("DX","DY","DZ","DRX","DRY","DRZ","TEMP",
                                      "INST","X","Y","Z","EPSI","FREQ","PULS","AMOR","ABSC",) ),
-         NOM_RESU        =SIMP(statut='f',typ='TXM' ),
+         NOM_RESU        =SIMP(statut='f',typ='TXM',defaut="DSP" ),
          INTERPOL        =SIMP(statut='f',typ='TXM',max=2,into=("NON","LIN","LOG") ),
          PROL_DROITE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
          PROL_GAUCHE     =SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
@@ -14660,7 +14999,7 @@ LIRE_TABLE=MACRO(nom="LIRE_TABLE",op=lire_table_ops,sd_prod=lire_table_prod,
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          )  ;
 
-#& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14701,6 +15040,7 @@ def macr_adap_mail_prod(self,MAJ_CHAM,ADAPTATION,**args):
 MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_adap_mail_prod,
                      fr="Adapter un maillage avec le logiciel HOMARD.",
                      ang="Mesh adaptation with HOMARD software.",
+                     docu="U7.03.01-b",
 #
 # 1. Le niveau d'information
 #
@@ -14708,8 +15048,8 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
 # 2. Version de HOMARD
 #
-         VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V6_2",
-                               into=("V6_2", "V6_N", "V6_N_PERSO"),
+         VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V6_6",
+                               into=("V6_6", "V6_N", "V6_N_PERSO"),
                            fr="Version de HOMARD",
                            ang="HOMARD release"),
 #
@@ -14721,14 +15061,13 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
                            ang="Language for HOMARD messages." ),
 #
 # 4. Gestion des éléments autres que des simplexes
-#    Remarque : pour le moment on bride le choix 2
-#       0 : autres elements refuses (defaut)
+#       0 : autres elements refuses
 #       1 : raffinement sur les simplexes, mais autres acceptes
-#       2 : tous
+#       2 : tous (defaut)
 #
-         NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=0,into=(0,1),
-                          fr="Acceptation d'éléments quad, hexa et penta",
-                          ang="quad, hexa and penta elements allowed" ),
+         NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=2,into=(0,1,2),
+                          fr="Type d'éléments acceptés.",
+                          ang="Type of authorized elements." ),
 #
 # 5. Le type de traitement :
 #
@@ -14775,13 +15114,13 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 #
 #
            b_indicateur_d_erreur   =BLOC( condition = " LIBRE != None " ,
-                           fr="Indicateur d'erreur",
-                           ang="Error indicator",
+                           fr="Choix de l'indicateur d'erreur",
+                           ang="Selection of error indicator",
 #
 # 5.3.1. Le nom du concept resultat_sdaster
 #
                            RESULTAT_N     = SIMP(statut='o',typ=(evol_elas,evol_noli,evol_ther) ,
-                           fr="Resultat contenant l'indicateur d'erreur",
+                           fr="Concept resultat Code_Aster contenant l'indicateur d'erreur",
                            ang="Result with error indicator" ),
 #
 # 5.3.2. Le champ d'indicateur d'erreur
@@ -14837,11 +15176,11 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
                                                    fr="Critère absolu",
                                                    ang="Absolute threshold" ),  
                            CRIT_RAFF_REL  = SIMP(statut='f',typ='R',
-                                                   fr="Critère relatif",
-                                                   ang="Relative threshold" ),  
+                                                   fr="Critère relatif : fraction entre 0 et 1",
+                                                   ang="Relative threshold : ratio between 0 and 1" ),  
                            CRIT_RAFF_PE   = SIMP(statut='f',typ='R',
-                                                   fr="Pourcentage d'éléments",
-                                                   ang="Percentage of elements" ),  
+                                                   fr="Pourcentage d'éléments : fraction entre 0 et 1",
+                                                   ang="Percentage of elements : ratio between 0 and 1" ),  
                            ) ,
 #
 # 5.4.2. Pour le deraffinement :
@@ -14854,11 +15193,11 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
                                                  fr="Critère absolu",
                                                  ang="Absolute threshold" ),  
                            CRIT_DERA_REL  = SIMP(statut='f',typ='R',
-                                                 fr="Critère relatif",
-                                                 ang="Relative threshold" ),  
+                                                 fr="Critère relatif : fraction entre 0 et 1",
+                                                 ang="Relative threshold : ratio between 0 and 1" ),  
                            CRIT_DERA_PE   = SIMP(statut='f',typ='R',
-                                                 fr="Pourcentage d'éléments",
-                                                 ang="Percentage of elements" ),  
+                                                 fr="Pourcentage d'éléments : fraction entre 0 et 1",
+                                                 ang="Percentage of elements : ratio between 0 and 1" ),  
                            ) ,
 #
 # 5.5. Les niveaux extremes pour le maillage adapte
@@ -14907,7 +15246,6 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
                            ang="Name of the field for the updated field"),
 #
 # 7.2. Le type du champ qui contiendra le resultat de la mise a jour
-#      Remarque : la liste qui suit doit etre conforme à son homologue de LIRE_CHAMP
 #
            TYPE_CHAM      = SIMP(statut='o',typ='TXM',into=C_TYPE_CHAM_INTO(),
                            fr="Type du champ qui contiendra le champ mis à jour",
@@ -16040,7 +16378,7 @@ MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant=
            INST            =SIMP(statut='f',typ='R',defaut=0.E+0),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -16063,8 +16401,9 @@ MACR_ELEM_STAT=OPER(nom="MACR_ELEM_STAT",op=86,sd_prod=macr_elem_stat,reentrant=
 from Macro.macr_fiab_impr_ops import macr_fiab_impr_ops
 
 MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops,
-                   fr="Imprimer les valeurs à transmettre au logiciel de fiabilité.",
-                   ang="Print values for the fiability software",
+                     docu="U7.04.41",
+                     fr="Imprimer les valeurs à transmettre au logiciel de fiabilité.",
+                     ang="Print values for the fiability software",
 #
 # 1. Le niveau d'information
 #
@@ -16103,7 +16442,7 @@ MACR_FIAB_IMPR=MACRO(nom="MACR_FIAB_IMPR",op=macr_fiab_impr_ops,
          ),
 #
 );
-#& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -16138,6 +16477,7 @@ def macr_fiabilite_prod ( self , **args ):
 #====
 #
 MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops,
+                         docu="U7.03.31",
                          sd_prod=macr_fiabilite_prod,
                          fr="Faire de la mécanique fiabiliste.",
                          ang="Fiability mechanics.",
@@ -16481,7 +16821,7 @@ MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops,
    ),
 #
 );
-#& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -16504,6 +16844,7 @@ MACR_FIABILITE = MACRO ( nom="MACR_FIABILITE",op=macr_fiabilite_ops,
 from Macro.macr_adap_mail_ops import macr_adap_mail_ops
 
 MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops,
+                     docu="U7.03.02-b",
                      fr="Donner des informations sur un maillage.",
                      ang="To give information about a mesh.",
 #
@@ -16513,8 +16854,8 @@ MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops,
 #
 # 2. Version de HOMARD
 #
-         VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V6_2",
-                               into=("V6_2", "V6_N", "V6_N_PERSO"),
+         VERSION_HOMARD = SIMP(statut='f',typ='TXM',defaut="V6_6",
+                               into=("V6_6", "V6_N", "V6_N_PERSO"),
                            fr="Version de HOMARD",
                            ang="HOMARD release"),
 #
@@ -16526,12 +16867,11 @@ MACR_INFO_MAIL=MACRO(nom="MACR_INFO_MAIL",op=macr_adap_mail_ops,
                            ang="Language for HOMARD messages." ),
 #
 # 4. Gestion des éléments autres que des simplexes
-#    Remarque : pour le moment, on bride le choix 2
-#       0 : autres elements refusés (defaut)
+#       0 : autres elements refusés
 #       1 : analyse exclusivement sur les simplexes, mais autres éléments acceptés
-#       2 : tous
+#       2 : tous (defaut)
 #
-         NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=0,into=(0,1),
+         NON_SIMPLEXE   = SIMP(statut='f',typ='I',defaut=2,into=(0,1,2),
                           fr="Acceptation d'éléments quad, hexa et penta",
                           ang="quad, hexa and penta elements allowed" ),
 #
@@ -17680,7 +18020,7 @@ MODI_BASE_MODALE=OPER(nom="MODI_BASE_MODALE",op= 149,sd_prod=mode_meca,
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17703,25 +18043,25 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
                    fr="Modification de la connectivité de groupes de mailles 2D ou 3D affectées à la modélisation de contact",
                    reentrant='o',
             UIinfo={"groupes":("Maillage",)},
-      regles=(AU_MOINS_UN('ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
+      regles=(AU_MOINS_UN('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',
                        'TRANSLATION','ROTATION','MODI_BASE','ECHELLE','ORIE_SHB8','SYMETRIE',
                        ),
-              PRESENT_ABSENT('ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
+              PRESENT_ABSENT('ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
-              PRESENT_ABSENT('DEFORME','ORIE_CONTACT','EQUE_PIQUA','ORIE_PEAU_2D',
+              PRESENT_ABSENT('DEFORME','ORIE_FISSURE','EQUE_PIQUA','ORIE_PEAU_2D',
                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
-              PRESENT_ABSENT('EQUE_PIQUA','ORIE_CONTACT','DEFORME','ORIE_PEAU_2D',
+              PRESENT_ABSENT('EQUE_PIQUA','ORIE_FISSURE','DEFORME','ORIE_PEAU_2D',
                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
-              PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_CONTACT','DEFORME','EQUE_PIQUA',
+              PRESENT_ABSENT('ORIE_PEAU_2D','ORIE_FISSURE','DEFORME','EQUE_PIQUA',
                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE','MODI_MAILLE',),
-              PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
+              PRESENT_ABSENT('ORIE_PEAU_3D','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
                        'PLAQ_TUBE','MODI_MAILLE',),
-              PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
+              PRESENT_ABSENT('ORIE_NORM_COQUE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
                        'PLAQ_TUBE','MODI_MAILLE',),
-              PRESENT_ABSENT('PLAQ_TUBE','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
+              PRESENT_ABSENT('PLAQ_TUBE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','MODI_MAILLE',),
-              PRESENT_ABSENT('MODI_MAILLE','ORIE_CONTACT','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
+              PRESENT_ABSENT('MODI_MAILLE','ORIE_FISSURE','DEFORME','EQUE_PIQUA','ORIE_PEAU_2D',
                        'ORIE_PEAU_3D','ORIE_NORM_COQUE','PLAQ_TUBE',),
               EXCLUS('EQUE_PIQUA','PLAQ_TUBE'),
               EXCLUS('EQUE_PIQUA','TUBE_COUDE'),
@@ -17733,7 +18073,7 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
               ),
          MAILLAGE        =SIMP(statut='o',typ=maillage_sdaster ),
 
-         ORIE_CONTACT    =FACT(statut='f',
+         ORIE_FISSURE    =FACT(statut='f',
            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
          ),
 
@@ -17767,7 +18107,7 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
          ORIE_PEAU_3D    =FACT(statut='f',max='**',
            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
          ),
-         ORIE_SHB8       =FACT(statut='f',max='**',
+         ORIE_SHB8       =FACT(statut='f',max=1,
            GROUP_MA        =SIMP(statut='o',typ=grma,validators=NoRepeat(),max='**'),
          ),
          ORIE_NORM_COQUE =FACT(statut='f',max='**',
@@ -17794,13 +18134,13 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
            R_CINTR         =SIMP(statut='o',typ='R' ),
            L_TUBE_P1       =SIMP(statut='o',typ='R' ),
          ),
-         MODI_MAILLE     =FACT(statut='f',
+         MODI_MAILLE     =FACT(statut='f',max=1,
            regles=(AU_MOINS_UN('GROUP_MA_FOND','MAILLE_FOND','GROUP_NO_FOND','NOEUD_FOND'),),
            OPTION          =SIMP(statut='o',typ='TXM',into=("NOEUD_QUART",) ),
-           GROUP_MA_FOND   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-           MAILLE_FOND     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
-           GROUP_NO_FOND   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-           NOEUD_FOND      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
+           GROUP_MA_FOND   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1),
+           MAILLE_FOND     =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max=1),
+           GROUP_NO_FOND   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
+           NOEUD_FOND      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max=1),
          ),
          MODI_BASE       =FACT(statut='f',
            VECT_X          =SIMP(statut='o',typ='R',min=2,max=3),
@@ -19541,7 +19881,7 @@ PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=prod_matr_cham_prod,
          CHAM_NO         =SIMP(statut='o',typ=(cham_no_depl_r,cham_no_depl_c,cham_no_temp_r,cham_no_pres_c ) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 29/09/2004   AUTEUR MJBHHPE J.L.FLEJOU 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19628,6 +19968,7 @@ PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
          ),
 
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
+         INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2)),
 )  ;
 #& MODIF COMMANDE  DATE 10/06/2004   AUTEUR REZETTE C.REZETTE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
@@ -20341,7 +20682,7 @@ STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None,
          CHAM_MATER      =SIMP(statut='f',typ=cham_mater),
          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
 )  ;
-#& MODIF COMMANDE  DATE 30/06/2004   AUTEUR MCOURTOI M.COURTOIS 
+#& MODIF COMMANDE  DATE 21/09/2004   AUTEUR PBADEL P.BADEL 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20466,6 +20807,7 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
            MATRICE         =SIMP(statut='f',typ='TXM',defaut="TANGENTE",into=("TANGENTE","ELASTIQUE") ),
            PAS_MINI_ELAS   =SIMP(statut='f',typ='R',defaut=0.0E+0),
            REAC_ITER       =SIMP(statut='f',typ='I',defaut=0),
+           REAC_ITER_ELAS  =SIMP(statut='f',typ='I',defaut=0),
            EVOL_NOLI       =SIMP(statut='f',typ=evol_noli),
          ),
          RECH_LINEAIRE   =FACT(statut='f',
@@ -20607,7 +20949,7 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),
  )  ;
-#& MODIF COMMANDE  DATE 16/06/2004   AUTEUR DURAND C.DURAND 
+#& MODIF COMMANDE  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20634,11 +20976,11 @@ TEST_FICHIER=MACRO(nom="TEST_FICHIER", op=test_fichier_ops,
                    UIinfo={"groupes":("Impression",)},
                    
    UNITE           =SIMP(statut='f',typ='I',defaut=8),  
-   FICHIER         =SIMP(statut='f',typ='TXM'),
-   NOM_SYSTEME     =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)),
+   FICHIER          =SIMP(statut='o',typ='TXM',validators=LongStr(1,255)),
    NB_CHIFFRE      =SIMP(statut='f',typ='I',defaut=6),
    EPSILON         =SIMP(statut='f',typ='R',defaut=1.E-14),
-
+   EXPR_IGNORE     =SIMP(statut='f',typ='TXM',max='**',
+                         fr="Liste d'expressions régulières permettant d'ignorer certaines lignes"),
    VALE_K          =SIMP(statut='o',typ='TXM' ),
    REFERENCE       =SIMP(statut='f',typ='TXM',
                          into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
index f92967861339960630ab91c029fa611faafb96af..3becd37548797c4ff480b153fd9cd95ead4f50e0 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF ops Cata  DATE 23/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF ops Cata  DATE 05/10/2004   AUTEUR CIBHHLV L.VIVAN 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -18,6 +18,7 @@
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
 
+
 # Modules Python
 import types
 import string,linecache,os,traceback,re
@@ -26,7 +27,6 @@ import pickle
 # Modules Eficas
 import Accas
 from Accas import ASSD
-from Noyau.N_FONCTION import formule
 
 try:
    import aster
@@ -124,6 +124,8 @@ def POURSUITE(self,PAR_LOT,CODE,**args):
      # presents sous le meme nom et du meme type dans pick.1
      # Le contexte est ensuite updaté (surcharge) et donc enrichi des
      # variables qui ne sont pas des concepts.
+     # On supprime du pickle_context les concepts valant None, ca peut 
+     # etre le cas des concepts non executés, placés après FIN.
      pickle_context=get_pickled_context()
      if pickle_context==None :
         self.jdc.cr.fatal("<F> Erreur a la relecture du fichier pick.1 : aucun objet sauvegardé ne sera récupéré")
@@ -139,6 +141,7 @@ def POURSUITE(self,PAR_LOT,CODE,**args):
             else: 
                self.jdc.cr.fatal("<F> concept de nom "+elem+" et de type "+str(pickle_class)+" introuvable dans la base globale")
                return
+         if pickle_context[elem]==None : del pickle_context[elem]
      self.g_context.update(pickle_context)
      return
 
@@ -298,9 +301,7 @@ def subst_materiau(text,NOM_MATER,EXTRACTION,UNITE_LONGUEUR):
           if m.group(3) == "UNIT":
              if   UNITE_LONGUEUR=='M'  : coef = '0'
              elif UNITE_LONGUEUR=='MM' : coef = m.group(4)
-             print ' UNITE_LONGUEUR = BINGO'
-             print ' UNITE_LONGUEUR = ',m.group(4),type(m.group(4))
-             ll_u.append('   '+m.group(1)+" = "+m.group(2)+coef)
+             ll_u.append(m.group(1)+" = "+m.group(2)+coef)
           else : ll_u.append(l)
        else : ll_u.append(l)
 
@@ -336,7 +337,7 @@ def subst_materiau(text,NOM_MATER,EXTRACTION,UNITE_LONGUEUR):
            m=regmcs.match(l)
            if m: # On a trouve un mot cle simple commentarise
              if m.group(3) == "EVAL":
-               ll.append("  "+m.group(1)+' = EVAL("'+m.group(4)+"("+str(TEMP)+')"),')
+               ll.append("  "+m.group(1)+' = '+m.group(4)+"("+str(TEMP)+'),')
              elif m.group(3) == "SUPPR":
                pass
              else:
@@ -407,25 +408,6 @@ def INCLUDE_MATERIAU(self,NOM_AFNOR,TYPE_MODELE,VARIANTE,TYPE_VALE,NOM_MATER,
 
     self.make_contexte(f,self.text)
 
-def build_formule(self,**args):
-  """
-  Fonction ops de la macro FORMULE appelée lors de la phase de Build
-  """
-  from Build import B_utils
-  for mc in self.mc_liste:
-###    if mc.nom in ('REEL','ENTIER','COMPLEXE'):
-    if mc.nom in ('REEL','COMPLEXE'):
-      texte= self.sd.get_name()+ string.strip(mc.valeur)
-      mc.valeur=B_utils.ReorganisationDe(texte,80)
-  # ATTENTION : FORMULE est une des rares commandes qui a besoin de
-  # connaitre son numero d execution avant d etre construite
-  self.set_icmd(1)
-  # La macro formule doit etre executee. Seules les macros qui ont
-  # un numero d'op sont executees lors des phases suivantes
-  self.definition.op = -5
-  ier=self.codex.opsexe(self,self.icmd,-1,-self.definition.op)
-  return ier
-
 def build_procedure(self,**args):
     """
     Fonction ops de la macro PROCEDURE appelée lors de la phase de Build
@@ -439,16 +421,12 @@ def build_procedure(self,**args):
     #ier=self.codex.opsexe(self,icmd,-1,3)
     return ier
 
-def build_retour(self,**args):
+def build_DEFI_FICHIER(self,**args):
     """
-    Fonction ops de la macro RETOUR appelée lors de la phase de Build
+    Fonction ops de la macro DEFI_FICHIER
     """
     ier=0
-    # Pour presque toutes les commandes (sauf FORMULE et POURSUITE)
-    # le numero de la commande n est pas utile en phase de construction
-    # On ne numérote pas une macro RETOUR (incrément=None)
     self.set_icmd(None)
     icmd=0
-    #ier=self.codex.opsexe(self,icmd,-1,2)
+    ier=self.codex.opsexe(self,icmd,-1,26)
     return ier
-
index 12fd5ea1495ef5669f1aad9e2f62e9748fb2b982..8950e8d9865fe70189374f18a2a127321c2b74b2 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_ASSD Noyau  DATE 18/05/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF N_ASSD Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
 
 """
index 078ea201da5d6f89a21243abc9acd80527e5f783..2a5cb1115e12221a62359a8da9511ce902715978 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_BLOC Noyau  DATE 29/05/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_BLOC Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe de definition BLOC
     qui permet de spécifier les caractéristiques des blocs de mots clés 
index 35643558d3bbdee3c5d032794bd2f62a42cac66e..134df574d8a01872c39171885581a01fc4237010 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_CO Noyau  DATE 29/05/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_CO Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 from N_ASSD import ASSD
 from N_Exception import AsException
 import N_utils
index 4f5f3a5bf847c5e51593c87ab8a4276a08a6a926..addfe661f88b76f05a920bc62def2ce3a58a8658 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_CR Noyau  DATE 20/01/2003   AUTEUR DURAND C.DURAND 
+#@ MODIF N_CR Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ Ce module contient la classe compte-rendu de validation
 """
 
index 89f8ccf808a85c4d5140166c551f9eac5f917b2e..98108418007ecdeba7fba85abab9598fdd886209 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_ENTITE Noyau  DATE 09/09/2003   AUTEUR DURAND C.DURAND 
+#@ MODIF N_ENTITE Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe ENTITE qui est la classe de base
     de toutes les classes de definition d'EFICAS.
index b5bb95bf1413f6989f4185f3f0fe9ffe7e47a7dd..731d31f260c16d2eec8ecdc2ad000a31fb4dff2c 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_ETAPE Noyau  DATE 16/03/2004   AUTEUR GNICOLAS G.NICOLAS 
+#@ MODIF N_ETAPE Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe ETAPE qui sert à vérifier et à exécuter
     une commande
diff --git a/Noyau/N_EVAL.py b/Noyau/N_EVAL.py
deleted file mode 100644 (file)
index edccee9..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_EVAL Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
-#            CONFIGURATION MANAGEMENT OF EDF VERSION
-# ======================================================================
-# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
-# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
-# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
-# (AT YOUR OPTION) ANY LATER VERSION.                                 
-#
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
-#
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
-#                                                                       
-#                                                                       
-# ======================================================================
-"""
-"""
-
-class EVAL :
-   """
-   """
-   def __init__(self,str):
-      """
-         L'objet EVAL est initialise avec une chaine de caracteres (str)
-      """
-      self.valeur = str
-      self.val=None
-
-   def __repr__(self):
-      return 'EVAL("""'+self.valeur+'""")'
-
-   def accept(self,visitor):
-      """
-         Cette methode permet de parcourir l'arborescence des objets
-         en utilisant le pattern VISITEUR
-      """
-      visitor.visitEVAL(self)
-
index 9c6a86612069b328079833a7703809aea3bb6c14..760efd755a53fc734967785b8feadc4a66083820 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_Exception Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_Exception Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
    Ce module contient la classe AsException
 """
index fc349e8a60f3d291b63aec9a5da318ea9c0bc70f..c92c59348e22987a0e55a73e61e8c5394867b8af 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_FACT Noyau  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF N_FACT Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ Ce module contient la classe de definition FACT
     qui permet de spécifier les caractéristiques des mots clés facteurs
 """
index 21caeec18fb140cdd60675d5841d0cd122f9ef15..fc75656cffb76dd6f54f04bc89be658db474c13f 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_FONCTION Noyau  DATE 11/03/2003   AUTEUR DURAND C.DURAND 
+#@ MODIF N_FONCTION Noyau  DATE 28/09/2004   AUTEUR DURAND C.DURAND 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
 #                                                                       
 #                                                                       
 # ======================================================================
+
 from N_ASSD import ASSD
+import string
 
 class FONCTION(ASSD):pass
 
-class formule(FONCTION) : pass
+class formule(ASSD):
+   def __init__(self,**args):
+      ASSD.__init__(self,**args)
+      self.nompar    =None
+      self.expression=None
+   def __call__(self,*val):
+      context=self.jdc.const_context
+      i=0
+      for param in self.nompar : 
+         context[param]=val[i]
+         i=i+1
+      try :
+       exec(self.expression) in context
+      except :
+       print 75*'!'
+       print '! '+string.ljust('Erreur evaluation formule '+self.nom,72)+'!'
+       print 75*'!'
+       raise
+      res=context['____x']
+      del(context)
+      return res
index 1f2cd51ef11473256f53c0131bece30fcf3680fd..f2f9694425031ac937ad7ed2d0ca6da1bb391abc 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_FORM Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_FORM Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 import N_MACRO
 import N_FORM_ETAPE
 
index cafb7d4702450fe5a0143d3a1aa262f3cd6fed10..b8d85b07cc00de46a05a44e2922e49f9341113c7 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_FORM_ETAPE Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_FORM_ETAPE Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 import N_MACRO_ETAPE
 
 class FORM_ETAPE(N_MACRO_ETAPE.MACRO_ETAPE):
index 8e4fbe4e467023fbfe07242da3e0667d65f04da3..70158ae9253e5f2b570d7f81f4dbadb2ffd0d12d 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_GEOM Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_GEOM Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
 
 """
index ed1ac0dc5d4e0a3eeb292e47bf4106162c7a9ddb..4068fee866baadd32aa7005fed2653b04be91b00 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_JDC Noyau  DATE 18/05/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF N_JDC Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
    Ce module contient la classe JDC qui sert à interpréter un jeu de commandes
 """
index d9268d34e5935fc7839a48d9198b738befcbff00..6c6ee7b4d24d391c6c2a7f72086cf34cec4c6b55 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_JDC_CATA Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_JDC_CATA Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe de definition JDC_CATA
     qui permet de spécifier les caractéristiques d'un JDC
index cc0fec8fad1d810fd7dcbb6de7e323b8fbf2ad83..d4f162f566dd037e38b38c56c8cc540932f888da 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_MACRO Noyau  DATE 09/10/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_MACRO Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe de definition MACRO
     qui permet de spécifier les caractéristiques d'une macro-commande
index d842ec93a89fd86048fa5da03f9ea19aa31f6774..57a4b8ef9e9f692c46366760cf5698fff35dd3f9 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_MACRO_ETAPE Noyau  DATE 16/03/2004   AUTEUR GNICOLAS G.NICOLAS 
+#@ MODIF N_MACRO_ETAPE Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe MACRO_ETAPE qui sert à vérifier et à exécuter
     une commande
index 26cd64e76d134895de8956855cc4dff8ad266e5b..e750c01205050babc756cc4d934a9b9518fda296 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_MCBLOC Noyau  DATE 04/02/2004   AUTEUR CAMBIER S.CAMBIER 
+#@ MODIF N_MCBLOC Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe MCBLOC qui sert à controler la valeur
     d'un bloc de mots-clés par rapport à sa définition portée par un objet
index 99c75e1e1b435d66a35d55a022b01d5613c7b6ad..739b73048ea2d4a4cef5550cb986d79481b61371 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_MCCOMPO Noyau  DATE 16/03/2004   AUTEUR GNICOLAS G.NICOLAS 
+#@ MODIF N_MCCOMPO Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe MCCOMPO qui sert à factoriser les comportements 
     des OBJECT composites
index 87962ad18b08f98440aeabeb79b37483e0a52a13..ec25c94fc1ef0db6e151be3cf325d170838f3108 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_MCFACT Noyau  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF N_MCFACT Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe MCFACT qui sert à controler la valeur
     d'un mot-clé facteur par rapport à sa définition portée par un objet
index 59e2d7233051edf8eb061f3bdcbfd45b7b676747..7199fb544919f329061175427d2139ff0aa50e55 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_MCLIST Noyau  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF N_MCLIST Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe MCList qui sert à controler la valeur
     d'une liste de mots-clés facteur par rapport à sa définition portée par un objet
index f1731211b6a2c4a8488ca3c87bd27bc42526ddac..54262d9b6111115781af7ed11f852924d493851f 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_MCSIMP Noyau  DATE 16/03/2004   AUTEUR GNICOLAS G.NICOLAS 
+#@ MODIF N_MCSIMP Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe MCSIMP qui sert à controler la valeur
     d'un mot-clé simple par rapport à sa définition portée par un objet
index c589dbb4d7e55e6d8d2848c91403e4cab467d0fe..5f6061a354ff91ea51affe98576f26b2068833d5 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_OBJECT Noyau  DATE 04/02/2004   AUTEUR CAMBIER S.CAMBIER 
+#@ MODIF N_OBJECT Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe OBJECT classe mère de tous les objets
     servant à controler les valeurs par rapport aux définitions
index c5afbd80662670c039cf2ef8b12d6cb8d6d5dadb..cab95704759979ec75cdb29cd413139b1fda7e22 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_OPER Noyau  DATE 09/10/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_OPER Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe de definition OPER
     qui permet de spécifier les caractéristiques d'un opérateur
index 99e8c4c63e0e244d0bcaccb8602c9a2598b5340e..b4d1f5ef742ca7db819612d23523296f91645a1a 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_PROC Noyau  DATE 09/10/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_PROC Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe de definition PROC
     qui permet de spécifier les caractéristiques d'une procédure
index a67063f1c36777627cab767ba3a12e065558387b..ded57551c462cf1a5d88e48156b94294737f3455 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_PROC_ETAPE Noyau  DATE 26/09/2003   AUTEUR DURAND C.DURAND 
+#@ MODIF N_PROC_ETAPE Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce module contient la classe PROC_ETAPE qui sert à vérifier et à exécuter
     une procédure
index 787b45dd8a3ec75b50656b61e104194a660b37bc..e60faa512e40acd808ac7a4eaec2a23bdb730190 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_REGLE Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_REGLE Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
     Ce module contient la classe mere pour les classes de definition des regles d exclusion.
 
index c882358a308210bc56f91291562373ee39039424..70720181c007912df605d65dccce2396a382d9bf 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_SIMP Noyau  DATE 09/09/2003   AUTEUR DURAND C.DURAND 
+#@ MODIF N_SIMP Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ Ce module contient la classe de definition SIMP
     qui permet de spécifier les caractéristiques des mots clés simples
 """
index 072e366ad3d52baabe6a2c3d0efcf02f7b954ca9..64d1fbac6e38c540d5170d7315ac2674baf9d500 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_VALIDATOR Noyau  DATE 04/02/2004   AUTEUR CAMBIER S.CAMBIER 
+#@ MODIF N_VALIDATOR Noyau  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17,6 +17,7 @@
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
+
 """
    Ce module contient toutes les classes necessaires pour
    implanter le concept de validateur dans Accas
@@ -172,16 +173,6 @@ class Valid:
        """
        return into_courant
 
-   def is_eval(self,valeur):
-       """
-           Cette méthode indique si valeur est un objet de type EVAL ou autre
-           que l'on ne cherchera pas à evaluer et qui doit etre considere
-           comme toujours valide. Si c'est un objet de ce type elle retourne
-           la valeur 1 sinon la valeur 0
-       """
-       return type(valeur) == types.InstanceType and valeur.__class__.__name__ in ('EVAL',
-                    'entier','reel','chaine', 'complexe','liste','PARAMETRE_EVAL')
-
    def is_param(self,valeur):
        """
            Cette méthode indique si valeur est un objet de type PARAMETRE
@@ -192,9 +183,9 @@ class Valid:
    def is_unknown(self,valeur):
        """
            Cette méthode indique si valeur est un objet de type inconnu
-           c'est à dire ni de type EVAL ni de type PARAMETRE
+           c'est à dire pas de type PARAMETRE
        """
-       return type(valeur) == types.InstanceType and valeur.__class__.__name__ not in ('EVAL',
+       return type(valeur) == types.InstanceType and valeur.__class__.__name__ not in (
                     'entier','reel','chaine', 'complexe','liste','PARAMETRE_EVAL','PARAMETRE')
 
 class ListVal(Valid):
@@ -341,9 +332,7 @@ class PairVal(ListVal):
 
       def verif_item(self,valeur):
           if type(valeur) == types.InstanceType:
-             if self.is_eval(valeur):
-                return 1
-             elif self.is_param(valeur):
+             if self.is_param(valeur):
                 valeur=valeur.valeur
              else:
                 return 0
index 4d6203f4e428ac2d3eee7e78b72a46754fa23ed0..42c90a4a2b850862ae7b7d891ad0dad1bd85b2ce 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N__F Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N__F Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 import UserDict
 
 class _F(UserDict.UserDict):
index 44cc0966e52cd29c299507010d8261456111395a..6c5b45b9365ee053b3668023607334a2f994fd68 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF N_utils Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF N_utils Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
    Ce module contient des fonctions utilitaires
 """
index 2cf7aaa29eeba2ce49d3bea7952192e61f4d667a..94d8971c9fd987eac23b7ac070e23c341446c9ec 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF __init__ Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF __init__ Noyau  DATE 27/09/2004   AUTEUR CIBHHLV L.VIVAN 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """ 
     Ce package fournit les classes de base d'EFICAS.
     Ces classes permettent d'effectuer quelques opérations basiques :
index 903bed5f7dd2b77f628978ff5446f47b0e607f32..bec8321984b6ee21d48f36041d06c6eff3ae595f 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF context Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF context Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 _root=None
 _cata=None
 debug=0
index 7e134c6eec7376172a75d6ce1a39a8bce8caae25..c9d37a4a334fc9010277b04f5a0db73bb4531969 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF nommage Noyau  DATE 18/03/2003   AUTEUR VABHHTS J.PELLET 
+#@ MODIF nommage Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
    Ce module sert à nommer les concepts produits par les commandes.
    Le nom du concept est obtenu en appelant la fonction GetNomConceptResultat
index d5de818587c42292ce4d7d7bfa517621d6b5966f..f6bb7c467816985f9da74910c0460cd45ef33ee1 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF properties Noyau  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF properties Noyau  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
index 77ef8520cfeb2635614aa11d2e44ce11734795b7..a6b4b3631ea75e4b58229b2bc0dd66eceaca1c60 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_AU_MOINS_UN Validation  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF V_AU_MOINS_UN Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20,6 +20,8 @@
 #                                                                       
 # ======================================================================
 
+
+
 class AU_MOINS_UN:
    """
       La règle AU_MOINS_UN vérifie que l'on trouve au moins un des mots-clés
index bda9f3380052b5278e08f552dd4634a4b42c6b0a..6f93c202d0127931950e067562c61f9584b47d08 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_A_CLASSER Validation  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF V_A_CLASSER Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20,6 +20,8 @@
 #                                                                       
 # ======================================================================
 
+
+
 import types
 
 class A_CLASSER:
index 6447818c6b8372bbb67dc1945b77a6d3fa15fd64..9170351a2871a70bfdb9ee9ca8b16644164fc66e 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_ENSEMBLE Validation  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF V_ENSEMBLE Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20,6 +20,8 @@
 #                                                                       
 # ======================================================================
 
+
+
 class ENSEMBLE:
    """
       La règle vérifie que si un mot-clé de self.mcs est present 
index f8386f3520b87d952c74e29a8608230f5dc3fac9..66adbf774b9863b7f3e0be145f8bc96c7d88b0c0 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_ETAPE Validation  DATE 26/09/2003   AUTEUR DURAND C.DURAND 
+#@ MODIF V_ETAPE Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
    Ce module contient la classe mixin ETAPE qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type ETAPE
index f6a8f47432d5d0b045890165472b20f3f9548415..f477cff343b554e5cd668789c299a904326f6e26 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_EXCLUS Validation  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF V_EXCLUS Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20,6 +20,8 @@
 #                                                                       
 # ======================================================================
 
+
+
 class EXCLUS:
    """
       La règle vérifie qu'un seul mot-clé de self.mcs est present 
index 0682bd7a0632652a90f00b16d4d473ffd8ba0e77..b0536d6fa3b83b982158f66fffae5ccc93adf90f 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_JDC Validation  DATE 26/09/2003   AUTEUR DURAND C.DURAND 
+#@ MODIF V_JDC Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
    Ce module contient la classe mixin JDC qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type JDC
index 3dffb93fe6d84bb68cd810e1c0e07e2869a33d60..f5811f60be9420f1ffdcea269a1fd5924296ebf4 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_MACRO_ETAPE Validation  DATE 26/09/2003   AUTEUR DURAND C.DURAND 
+#@ MODIF V_MACRO_ETAPE Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
    Ce module contient la classe mixin MACRO_ETAPE qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type MACRO_ETAPE
index 504c53730802c6a7e9a33ac909eebb8416e17411..6a3f7a443f5001467a0612708ba4caa726ead6c8 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_MCBLOC Validation  DATE 26/09/2003   AUTEUR DURAND C.DURAND 
+#@ MODIF V_MCBLOC Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
    Ce module contient la classe mixin MCBLOC qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type MCBLOC
index 9ea4d0de0a54dd911a58c0d8d3047e46209642b6..d751135273ff6937163580bd3a4c1ab37b503faf 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_MCCOMPO Validation  DATE 09/10/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF V_MCCOMPO Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
    Ce module contient la classe  de base MCCOMPO qui sert à factoriser
    les traitements des objets composites de type OBJECT
index 16f7ddf9c7f41683b5f55518d3385083063a0b87..a9a186054635d21166db5b1301fc25d1f0d12ee7 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_MCFACT Validation  DATE 26/09/2003   AUTEUR DURAND C.DURAND 
+#@ MODIF V_MCFACT Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
    Ce module contient la classe mixin MCFACT qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type MCFACT
index 6ac45e1ba2fa513be988bd8e41d03b35e5bf00c9..0dc3fcdb0498acba36eeecc8fd16a6c181bdcaf8 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_MCLIST Validation  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF V_MCLIST Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
    Ce module contient la classe mixin MCList qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type MCList
index 8d0213621a3899d5c9ab2b6ae3106ba6272e0b4e..9735364528b06d6a6744045b33e1dfdc307494e8 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_MCSIMP Validation  DATE 17/08/2004   AUTEUR DURAND C.DURAND 
+#@ MODIF V_MCSIMP Validation  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,7 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
 """
    Ce module contient la classe mixin MCSIMP qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type MCSIMP
@@ -225,7 +226,7 @@ class MCSIMP:
       if type(valeur) == types.InstanceType :
         #XXX je n'y touche pas pour ne pas tout casser mais il serait
         #XXX préférable d'appeler une méthode de valeur : return valeur.is_type('C'), par exemple
-        if valeur.__class__.__name__ in ('EVAL','complexe','PARAMETRE_EVAL'):
+        if valeur.__class__.__name__ in ('complexe','PARAMETRE_EVAL'):
           return 1
         elif valeur.__class__.__name__ in ('PARAMETRE',):
           # il faut tester si la valeur du parametre est un complexe
@@ -257,7 +258,7 @@ class MCSIMP:
         #XXX préférable d'appeler une méthode de valeur : return valeur.is_type('R'), par exemple
         #XXX ou valeur.is_reel()
         #XXX ou encore valeur.compare(self.is_reel)
-        if valeur.__class__.__name__ in ('EVAL','reel','PARAMETRE_EVAL') :
+        if valeur.__class__.__name__ in ('reel','PARAMETRE_EVAL') :
           return 1
         elif valeur.__class__.__name__ in ('PARAMETRE',):
           # il faut tester si la valeur du parametre est un réel
@@ -275,7 +276,7 @@ class MCSIMP:
       if type(valeur) == types.InstanceType :
         #XXX je n'y touche pas pour ne pas tout casser mais il serait
         #XXX préférable d'appeler une méthode de valeur : return valeur.is_type('I'), par exemple
-        if valeur.__class__.__name__ in ('EVAL','entier','PARAMETRE_EVAL') :
+        if valeur.__class__.__name__ in ('entier','PARAMETRE_EVAL') :
           return 1
         elif valeur.__class__.__name__ in ('PARAMETRE',):
           # il faut tester si la valeur du parametre est un entier
index 973abf382847f110f5b5ee021dac3e8d588f18be..eb6fbdfcfc4efc029ae618865938fcb0eaa21cc9 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_PRESENT_ABSENT Validation  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF V_PRESENT_ABSENT Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20,6 +20,8 @@
 #                                                                       
 # ======================================================================
 
+
+
 class PRESENT_ABSENT: 
    """
       La règle vérifie que si le premier mot-clé de self.mcs est present 
index 7e8c488c3cc7262460748585434c90293f486f86..4848c2efe0596284a1f449ac696958567aaedc64 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_PRESENT_PRESENT Validation  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF V_PRESENT_PRESENT Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20,6 +20,8 @@
 #                                                                       
 # ======================================================================
 
+
+
 class PRESENT_PRESENT:
    """
       La règle vérifie que si le premier mot-clé de self.mcs est present 
index 94ba4eae290fdaf083eff8e900ebe34cffb7925a..b41f75f4612f1e544c99750d88f0ed80ae22bf10 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_PROC_ETAPE Validation  DATE 26/09/2003   AUTEUR DURAND C.DURAND 
+#@ MODIF V_PROC_ETAPE Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,8 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
+
 """
    Ce module contient la classe mixin PROC_ETAPE qui porte les méthodes
    nécessaires pour réaliser la validation d'un objet de type PROC_ETAPE
index dab65eefbcd6890f7614867dd5a8b06983005585..aab3a0348bb1cc24f478c7be2b9afdcca0390b5c 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF V_UN_PARMI Validation  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF V_UN_PARMI Validation  DATE 14/09/2004   AUTEUR MCOURTOI M.COURTOIS 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20,6 +20,8 @@
 #                                                                       
 # ======================================================================
 
+
+
 class UN_PARMI:
    """
       La règle vérifie que l'on trouve un des mots-clés
index 58dbef86f2e140e4038f905f36c0eea9b4829441..f862da25a1406e41e3ded8ec04bad51e183d6054 100644 (file)
@@ -1,5 +1,5 @@
-# -*- coding: utf-8 -*-
-#@ MODIF __init__ Validation  DATE 27/03/2002   AUTEUR DURAND C.DURAND 
+#@ MODIF __init__ Validation  DATE 20/09/2004   AUTEUR DURAND C.DURAND 
+# -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -19,6 +19,7 @@
 #                                                                       
 #                                                                       
 # ======================================================================
+
 """
    Ce package contient la fonctionnalité de validation des objets de type OBJECT. 
    Cette fonctionnalité est implémentée sous la forme de classes de type MIXIN qui