]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
This commit was manufactured by cvs2git to create tag 'V1_16a4'. V1_16a4
authorcvs2git <renaud.nedelec@opencascade.com>
Fri, 5 Jun 2009 13:34:34 +0000 (13:34 +0000)
committercvs2git <renaud.nedelec@opencascade.com>
Fri, 5 Jun 2009 13:34:34 +0000 (13:34 +0000)
Sprout from BR_dev_V1_15 2009-01-12 14:56:15 UTC Pascale Noyret <pascale.noyret@edf.fr> 'trop de print'
Cherrypick from BR_dev_V1_15 2009-06-05 13:34:33 UTC Pascale Noyret <pascale.noyret@edf.fr> '*** empty log message ***':
    Aster/Cata/cataSTA8/cata.py
    Aster/Cata/cataSTA9/Macro/calc_europlexus_ops.py
    Aster/Cata/cataSTA9/Macro/calc_modal_ops.py
    Aster/Cata/cataSTA9/Macro/macr_ascouf_calc_ops.py
    Aster/Cata/cataSTA9/Macro/macr_aspic_calc_ops.py
    Aster/Cata/cataSTA9/Macro/post_dyna_alea_ops.py
    Aster/Cata/cataSTA9/Macro/post_k1_k2_k3_ops.py
    Aster/Cata/cataSTA9/Macro/reca_graphique.py
    Aster/Cata/cataSTA9/Macro/simu_point_mat_ops.py
    Aster/Cata/cataSTA9/Macro/test_fichier_ops.py
    Aster/Cata/cataSTA9/SD/sd_char_cine.py
    Aster/Cata/cataSTA9/SD/utilsd.py
    Aster/Cata/cataSTA9/cata.py
    Aster/configuration.py
    Aster/editeur.ini
    Aster/editeur_salome.ini
    Aster/qtEficas_aster.py
    Aster/sdist.py
    Ihm/I_MACRO_ETAPE.py
    Ihm/I_MCCOMPO.py
    InterfaceQT/browser.py
    InterfaceQT/editor.py
    InterfaceQT/monRacinePanel.py
    InterfaceQT/monUniqueBasePanel.py
    InterfaceQT/qtCommun.py
    InterfaceQT/qtEficas.py
    InterfaceQT/readercata.py
    InterfaceTK/appli.py
    InterfaceTK/bureau.py
    InterfaceTK/panels.py
    InterfaceTK/styles.py
    InterfaceTK/widgets.py
    Traducteur/dictErreurs.py
    Traducteur/renamemocle.py
    Traducteur/traduitV7V8.py
    Traducteur/traduitV8V9.py
    generator/generator_openturns_study.py

35 files changed:
Aster/Cata/cataSTA9/Macro/calc_europlexus_ops.py
Aster/Cata/cataSTA9/Macro/calc_modal_ops.py
Aster/Cata/cataSTA9/Macro/macr_ascouf_calc_ops.py
Aster/Cata/cataSTA9/Macro/macr_aspic_calc_ops.py
Aster/Cata/cataSTA9/Macro/post_dyna_alea_ops.py
Aster/Cata/cataSTA9/Macro/post_k1_k2_k3_ops.py
Aster/Cata/cataSTA9/Macro/reca_graphique.py [new file with mode: 0644]
Aster/Cata/cataSTA9/Macro/simu_point_mat_ops.py
Aster/Cata/cataSTA9/Macro/test_fichier_ops.py
Aster/Cata/cataSTA9/SD/sd_char_cine.py
Aster/Cata/cataSTA9/cata.py
Aster/configuration.py
Aster/editeur.ini
Aster/editeur_salome.ini
Aster/qtEficas_aster.py
Aster/sdist.py
Ihm/I_MACRO_ETAPE.py
Ihm/I_MCCOMPO.py
InterfaceQT/browser.py
InterfaceQT/editor.py
InterfaceQT/monRacinePanel.py
InterfaceQT/monUniqueBasePanel.py
InterfaceQT/qtCommun.py
InterfaceQT/qtEficas.py
InterfaceQT/readercata.py
InterfaceTK/appli.py
InterfaceTK/bureau.py
InterfaceTK/panels.py
InterfaceTK/styles.py
InterfaceTK/widgets.py
Traducteur/dictErreurs.py
Traducteur/renamemocle.py
Traducteur/traduitV7V8.py
Traducteur/traduitV8V9.py
generator/generator_openturns_study.py

index 6b3a4a82f482833e16c4cbdca4c3782f6911aa0e..ba32578ab19c4e4a99fba5024a2bcd9132a8784a 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF calc_europlexus_ops Macro  DATE 24/11/2008   AUTEUR ASSIRE A.ASSIRE 
+#@ MODIF calc_europlexus_ops Macro  DATE 28/04/2009   AUTEUR ASSIRE A.ASSIRE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 #-----------------------------------------------------------------------   
 #----------------------------- Importation des modules  ----------------
 #-----------------------------------------------------------------------   
+
+# unite associe au fichier ou le pos-traitement CASTE2000 est fait en commandes epx
+# unite_cast2000 = 0 # il ne fait pas le pos-traitement
+# __temp
+unite_cast2000 = 95
+
 debug = False
 dryrun = False
 
@@ -37,6 +43,7 @@ try:
    import aster
    from Accas import _F
    from Utilitai.partition import MAIL_PY
+   from Utilitai.Utmess import UTMESS
 except:
   pass
       
@@ -274,7 +281,8 @@ class EUROPLEXUS:
   def setlist(self,fact):
     #print 'types.TypeType(fact)',types.TypeType(fact)
     if fact is None : return fact
-    if not types.TypeType(fact) in [types.ListType,types.TupleType] : fact= [fact]
+    #if not types.TypeType(fact) in [types.ListType,types.TupleType] : fact= [fact]
+    if not (isinstance(fact,types.ListType) or isinstance(fact,types.TupleType))  : fact= [fact]
     return fact
     
 #-----------------------------------------------------------------------   
@@ -348,7 +356,15 @@ class EUROPLEXUS:
     champ_fact = self.ARCHIVAGE
     if champ_fact is not None : options += ' MEDE'
     epx[MODULE].append(options)
-    epx[MODULE].append('\n') 
+    epx[MODULE].append('\n')
+    
+    # __temp
+    fichier_cast2000 = 'fort.%i' %unite_cast2000
+    if unite_cast2000 and os.path.isfile(fichier_cast2000) :
+      sorite_cast2000 = self.pwd + 'REPE_OUT/post.k2000'
+      epx[MODULE].append('OPNF 12') 
+      epx[MODULE].append(2*' ' + "'%s'" %sorite_cast2000)
+      epx[MODULE].append('\n')
 
 #-----------------------------------------------------------------------   
   def export_MAILLAGE(self,format='CASTEM'):
@@ -573,7 +589,7 @@ class EUROPLEXUS:
         if elem['CARA'] == 'M_T_D_N' :
           group_ma = self.get_group_ma(elem)
           vale = elem['VALE']
-          epx[MODULE].append('MASSE  123456 %g' %vale)
+          epx[MODULE].append('MASSE  123456 %s' %vale)
           epx[MODULE].append(7*' ' + 'LECT')
           for group in group_ma:
             epx[MODULE].append(11*' '+group)
@@ -602,7 +618,7 @@ class EUROPLEXUS:
         else :
             self.listEpais.append({'VALE' : 1., 'GROUP_MA' : group_ma, 'NOM_CMP' : 'X21'})
             self.listEpais2.append({'VALE' : 1., 'GROUP_MA' : group_ma, 'NOM_CMP' : 'X22'})
-        st = 'EPAIS  %g  ' %epais
+        st = 'EPAIS  %s  ' %epais
         #ajouter les group_ma qui ont ete affecte par ces caracteristiques
         epx[MODULE].append(st+'LECT')
         for group in group_ma:
@@ -632,9 +648,9 @@ class EUROPLEXUS:
           dic_corresp = {'HY':'AY','HZ':'AZ'}
           epx[MODULE].append(st)
           # ajouter le vecteur definisant l'orientation de la section
-          epx[MODULE].append(len(st)*' ' + 'VX %g' %vect_y[0])
-          epx[MODULE].append(len(st)*' ' + 'VY %g' %vect_y[1])
-          epx[MODULE].append(len(st)*' ' + 'VZ %g' %vect_y[2])
+          epx[MODULE].append(len(st)*' ' + 'VX %s' %vect_y[0])
+          epx[MODULE].append(len(st)*' ' + 'VY %s' %vect_y[1])
+          epx[MODULE].append(len(st)*' ' + 'VZ %s' %vect_y[2])
           # ajouter les caracteristiques de la poutre
           cara = elem['CARA']
           vale = elem['VALE']
@@ -642,7 +658,7 @@ class EUROPLEXUS:
             car = cara[icar]
             val = vale[icar]
             car_epx = dic_corresp[car]
-            epx[MODULE].append(len(st)*' ' + '%s %g' %(car_epx,val))
+            epx[MODULE].append(len(st)*' ' + '%s %s' %(car_epx,val))
           # ajouter les group_ma qui ont ete affecte par ces caracteristiques
           epx[MODULE].append(5*' '+'LECT')
           for group in group_ma:
@@ -676,6 +692,8 @@ class EUROPLEXUS:
     # Traduction des fonctions definies dans FONC_PARASOL    
     #dic_fonc_parasol = self.get_FONC_PARASOL(list_rigi_parasol)
     dic_fonc_parasol = self.get_FONC_PARASOL()
+#    if not dic_fonc_parasol: return
+
     epx[MODULE] = ['*--SUPPORT ELASTIQUE']
    
     # si l'utilisateur a lui meme fourni des GROUP_MA de discrets : on commence par la
@@ -688,12 +706,12 @@ class EUROPLEXUS:
             raise 'Discret non defini'
         vale = self.discretParasol[gma]
         epx[MODULE].append('SUPPORT')
-        epx[MODULE].append(6*' '+'KX %g  KY %g  KZ %g'%(vale[0],vale[1],vale[2]))
-        epx[MODULE].append(6*' '+'KRX %g KRY %g KRZ %g'%(vale[3],vale[4],vale[5]))       
+        epx[MODULE].append(6*' '+'KX %s  KY %s  KZ %s'%(vale[0],vale[1],vale[2]))
+        epx[MODULE].append(6*' '+'KRX %s KRY %s KRZ %s'%(vale[3],vale[4],vale[5]))       
         for cle_fonc_parasol in dic_fonc_parasol.keys() :
           epx[MODULE].append(6*' ' + '%s %i' %(cle_fonc_parasol,dic_fonc_parasol[cle_fonc_parasol]) )
-        epx[MODULE].append(6*' '+'LECT %s TERM'%gma)
-        group_union += '%s '%gma
+        epx[MODULE].append(6*' '+'LECT %s TERM'% gma)
+        group_union += '%s '% gma
     if len(gmaParasol) > 0 :
         epx['MODELE'].append(5*' ' + 'APPU  ' + group_union)
 
@@ -706,7 +724,8 @@ class EUROPLEXUS:
    
    
     # traduire les rigi_parasol
-    if list_rigi_parasol :   
+# AA    if list_rigi_parasol :   
+    if list_rigi_parasol and dic_fonc_parasol:   
       # changement de module parce que les supports issus de RIGI_PARASOL  doivent etre imprimes apres les materiaux
       # fichiers_parasol = []
       # cles_oblig = ['UNITE_EUROPLEXUS','GROUP_MA_POI1']
@@ -795,7 +814,7 @@ class EUROPLEXUS:
         # ecriture du group_ma associe
         # noeud = ressor[0]
         group_ma = dic_gma[noeud]
-        epx[MODULE].append(3*' ' + 'LECT %s TERM' %group_ma) 
+        epx[MODULE].append(3*' ' + 'LECT %s TERM' % group_ma) 
     
       epx[MODULE].append('\n')
       
@@ -806,8 +825,9 @@ class EUROPLEXUS:
                 CREA_GROUP_MA = dicma
                 )     
       
-      # Mettre a jour le module modele qd les ressots existent
+      # Mettre a jour le module modele qd les ressorts existent
       epx['MODELE'].append(5*' ' + 'APPU  ' + group_union)
+
     # Fermer le module modele dans tous les cas 
     self.multidomaine = 0
     listInterfaces = self.INTERFACES
@@ -834,7 +854,7 @@ class EUROPLEXUS:
     if self.gmaInterfaces :
         epx['CHAM_MATER'].append('FANTOME 0. LECT')
         for gma in self.gmaInterfaces :
-            epx['CHAM_MATER'].append(15*' '+'%s'%gma)
+            epx['CHAM_MATER'].append(15*' '+'%s'% gma)
         epx['CHAM_MATER'].append('           TERM')
     epx['CHAM_MATER'].append('\n')   
     
@@ -842,11 +862,11 @@ class EUROPLEXUS:
     # DEFINITION REPERES ORTHOTROPIE QUI DOIT ETRE APRES LES SUPPORTS
     for gma in self.gmaGLRC :
         if gma not in self.dicOrthotropie :
-            raise "Erreur : %s non affecte par un repere d'orthotropie : ajouter le mot-cle 'VECTEUR' dans AFFE_CARA_ELEM"%gma
+            raise "Erreur : %s non affecte par un repere d'orthotropie : ajouter le mot-cle 'VECTEUR' dans AFFE_CARA_ELEM"% gma
         vale = self.dicOrthotropie[gma]
-        epx[MODULE].append('COMP ORTS %g %g %g'%(vale[0],vale[1],vale[2]))
+        epx[MODULE].append('COMP ORTS %s %s %s'%(vale[0],vale[1],vale[2]))
         epx[MODULE].append(3*' '+'LECT')
-        epx[MODULE].append(7*' '+'%s'%gma)
+        epx[MODULE].append(7*' '+'%s'% gma)
         epx[MODULE].append(3*' '+'TERM')
  
     epx[MODULE].append('\n') 
@@ -869,7 +889,7 @@ class EUROPLEXUS:
     # Cles de FONC_PARASOL dans l'ordre
     cles = ['NFKT','NFKR']
     # Dictionnaire faisant la correspondance entre la fonction et son numero europlexus
-    dic_fonc = {} 
+    dic_fonc = {}
     try : 
         ifonc = self.ifonc
         if debug: print 'self.ifonc = %s'%ifonc
@@ -882,34 +902,36 @@ class EUROPLEXUS:
     for cle in cles:
       ifonc += 1
       dic_fonc[cle] = ifonc
-      fonction = self.get_motcle(self.FONC_PARASOL,cle,code_mess='A')    
+      fonction = self.get_motcle(self.FONC_PARASOL,cle,code_mess=None)
+      if not fonction: return {}    # Si les mots-cles sont manquants on passe
       (temps,valeurs) = fonction.Valeurs()
       # imprimer les valeurs de la table
       epx[MODULE].append(5*' ' +'NOPA %i TABLE %i' %(ifonc,len(temps)) )
       for ival in range(len(temps)):
-         epx[MODULE].append(17*' ' +'%g %g' %(temps[ival],valeurs[ival]))   
+#         epx[MODULE].append(17*' ' +'%s %s' %(temps[ival],valeurs[ival]))   
+         epx[MODULE].append(17*' ' +'%s %s' %(temps[ival],valeurs[ival]))   
     self.ifonc = ifonc
     self.dic_fonc = dic_fonc
     epx[MODULE].append('\n')
     return dic_fonc
-          
+
 #-----------------------------------------------------------------------   
   def export_CHAM_MATER(self): 
-    
+
     epx = self.epx
-    
+
     # CLe identifiant
     MODULE = 'CHAM_MATER'
-    
+
     epx[MODULE] = ['*--DEFINITION DES MATERIAUX']
-    
+
     # Entete de la commande Europlexus courante
     epx[MODULE].append('MATERIAUX')
-         
+
     # Recuperer la structure sous le mot_cle facteur AFFE de AFFE_MATER 
     affe_mater = self.reupere_structure(self.CHAM_MATER,'AFFE')
     affe_mater = self.setlist(affe_mater)
-    
+
     # Dictionnaire stoquant les caracteristiques mecaniques et les group_ma associe a chaque materiau
     dic_mater = {}
     typMat = {}
@@ -979,11 +1001,12 @@ class EUROPLEXUS:
                     # imprimer les valeurs de la table
                     epx['FONC_MATER'].append(5*' ' +'%i LSQU 2 TABLE %i' %(ifonc,len(x)) )
                     for ival in range(len(x)):
-                       epx['FONC_MATER'].append(17*' ' +'%g %g' %(x[ival],y[ival]))   
+#                       epx['FONC_MATER'].append(17*' ' +'%s %s' %(x[ival],y[ival]))   
+                       epx['FONC_MATER'].append(17*' ' +'%s %s' %(x[ival],y[ival]))   
                     dic_mater[nom_mater]['BETON'][car] = 'FONC %i'%ifonc
                     self.ifonc=ifonc
-                
-         
+
+
          cable = self.reupere_structure(concept_mater,'CABLE_PREC')
          if cable  :
             materCable = cable['MATER']
@@ -1061,12 +1084,12 @@ class EUROPLEXUS:
             vale    = dic_mater[nom_mater][car_aster]
             car_epx = dic_corresp[car_aster]
             if vale is not None :
-              epx[MODULE].append('%s %g' %(car_epx,vale))
+              epx[MODULE].append('%s %s' %(car_epx,vale))
           for car_aster in dic_corresp2.keys():
             vale    = dic_mater[nom_mater][car_aster]
             car_epx = dic_corresp2[car_aster]
             if vale is not None :
-              epx[MODULE].append('%s %g' %(car_epx,vale))
+              epx[MODULE].append('%s %s' %(car_epx,vale))
       else : #GLRC
         dic_corres1 = {'RHO':'RO','EPAIS':'H','E':'EB','NU':'NUB'}
         dic_corresNapp = {'E' : 'EA','SY':'FY','OMX':'OMX','OMY':'OMY','RX':'RX','RY':'RY','FS':'FS'}
@@ -1081,12 +1104,12 @@ class EUROPLEXUS:
             vale    = dic_mater[nom_mater]['BETON'][car_aster]
             car_epx = dic_corres1[car_aster]
             if vale is not None :
-                epx[MODULE].append('%s %g' %(car_epx,vale))
+                epx[MODULE].append('%s %s' %(car_epx,vale))
         nlit = len(dic_mater[nom_mater]['NAPPE'])+len(dic_mater[nom_mater]['LINER'])
         if dic_mater[nom_mater].has_key('CABLE') : 
             nlit+=1
         if nlit :
-            epx[MODULE].append('%s %g' %('NLIT',nlit))
+            epx[MODULE].append('%s %s' %('NLIT',nlit))
         for nappe in dic_mater[nom_mater]['NAPPE'] :
             epx[MODULE].append('NAPP')
             for car_aster in dic_corresNapp.keys():
@@ -1094,27 +1117,27 @@ class EUROPLEXUS:
                     vale    = nappe[car_aster]
                     car_epx = dic_corresNapp[car_aster]
                     if vale is not None:
-                        epx[MODULE].append('%s %g' %(car_epx,vale))
+                        epx[MODULE].append('%s %s' %(car_epx,vale))
         if dic_mater[nom_mater].has_key('CABLE') : 
             epx[MODULE].append('PREC')
             for car_aster in dic_corresPrec.keys():
                 vale    = dic_mater[nom_mater]['CABLE'][car_aster]
                 car_epx = dic_corresPrec[car_aster]
                 if vale is not None :
-                    epx[MODULE].append('%s %g' %(car_epx,vale))
+                    epx[MODULE].append('%s %s' %(car_epx,vale))
         for liner in dic_mater[nom_mater]['LINER'] :
             epx[MODULE].append('LINR')
             for car_aster in dic_corresLinr.keys():
                 vale    = liner[car_aster]
                 car_epx = dic_corresLinr[car_aster]
                 if vale is not None :
-                    epx[MODULE].append('%s %g' %(car_epx,vale))
+                    epx[MODULE].append('%s %s' %(car_epx,vale))
         for car_aster in dic_corres2.keys():
             vale    = dic_mater[nom_mater]['BETON'][car_aster]
             car_epx = dic_corres2[car_aster]
             if vale is not None :
                 if type(vale) == float :
-                    epx[MODULE].append('%s %g' %(car_epx,vale))
+                    epx[MODULE].append('%s %s' %(car_epx,vale))
                 else :
                     epx[MODULE].append('%s %s' %(car_epx,vale))
         for car_aster in dic_corres2b.keys():
@@ -1122,7 +1145,7 @@ class EUROPLEXUS:
             car_epx = dic_corres2b[car_aster]
             if vale is not None :
                 if type(vale) == float :
-                    epx[MODULE].append('%s %g' %(car_epx,vale))
+                    epx[MODULE].append('%s %s' %(car_epx,vale))
                 else :
                     epx[MODULE].append('%s %s' %(car_epx,vale))
         if dic_mater[nom_mater].has_key('CABLE') : 
@@ -1130,12 +1153,12 @@ class EUROPLEXUS:
                 vale    = dic_mater[nom_mater]['CABLE'][car_aster]
                 car_epx = dic_corres3[car_aster]
                 if vale is not None :
-                    epx[MODULE].append('%s %g' %(car_epx,vale))
+                    epx[MODULE].append('%s %s' %(car_epx,vale))
         for car_aster in dic_corres4.keys():
             vale    = dic_mater[nom_mater]['BETON'][car_aster]
             car_epx = dic_corres4[car_aster]
             if vale is not None :
-                epx[MODULE].append('%s %g' %(car_epx,vale))
+                epx[MODULE].append('%s %s' %(car_epx,vale))
       
           # ajouter les group_ma qui ont ete affecte par ces caracteristiques
       epx[MODULE].append(3*' '+'LECT')
@@ -1158,12 +1181,19 @@ class EUROPLEXUS:
     
     # Entete de la commande Europlexus courante
     #epx[MODULE].append('CHARGEMENT')
+
+    try : 
+      test = self.EXCIT[0]
+      excit_list = self.EXCIT
+    except :  
+      excit_list = self.setlist(self.EXCIT)
     
-    excit_list = self.setlist(self.EXCIT)
+    #print '<INFO> excit_list = ',excit_list
+    #print '<INFO> type(excit_list) = ', type(excit_list)
     
     # Traduction de ddl_impo
     dic_ddl_impo = {'DX':1,'DY':2,'DZ':3,'DRZ':4,'DRY':5,'DRZ':6}
-    
+
     # Initialisation des variables decrivant le chargement et les conditions de blocage
     CHARGEMENT = []
     LIAISON   = []
@@ -1176,7 +1206,9 @@ class EUROPLEXUS:
       ddl_impo_list = self.setlist(ddl_impo_list)
       # PRES_REP
       if pres_rep_list :
-        if len(CHARGEMENT) == 0 : CHARGEMENT = ['CHARGEMENT']
+        if len(CHARGEMENT) == 0 : 
+          CHARGEMENT = ['CHARGEMENT']
+          CHARGEMENT.append(2*' ' + '1 FACTO 2')
         fonction = self.get_motcle(excit,'FONC_MULT',code_mess='A')
         if fonction is None:
           UTMESS('F','PLEXUS_7')
@@ -1184,9 +1216,7 @@ class EUROPLEXUS:
         for pres_rep in  pres_rep_list :
           pression = pres_rep['PRES']
           group_ma = self.get_group_ma(pres_rep)
-           
-          CHARGEMENT.append(2*' ' + '1 FACTO 2')
-          CHARGEMENT.append(6*' ' +'PRESS COQU %g' %pression)
+          CHARGEMENT.append(6*' ' +'PRESS COQU %s' %pression)
           # ajouter les group_ma qui ont ete affecte par ces caracteristiques
           CHARGEMENT.append(6*' '+'LECT')
           for group in group_ma:
@@ -1195,23 +1225,33 @@ class EUROPLEXUS:
           # imprimer les valeurs de la table
           CHARGEMENT.append(6*' ' +'TABLE %i' %len(temps))
           for ival in range(len(temps)):
-            CHARGEMENT.append(10*' ' +'%g %g' %(temps[ival],valeurs[ival]))
+            CHARGEMENT.append(10*' ' +'%s %s' %(temps[ival],valeurs[ival]))
       # DDL_IMPO
       #if debug: print 'ddl_impo_list',ddl_impo_list
       if ddl_impo_list :
         #UTMESS('A','PLEXUS_8')
-        if len(LIAISON) == 0 : LIAISON = ['LIAISON']
+# AA        if len(LIAISON) == 0 : LIAISON = ['LIAISON']
+        if len(LIAISON) == 0 : LIAISON = ['LINK']
+
         for ddl_impo in ddl_impo_list:
           blocage = ''
+
+          # DDL_IMPO / DX
           for cle in dic_ddl_impo.keys() :
-            vale = self.get_motcle(ddl_impo,cle,code_mess='None')
+            vale = self.get_motcle(ddl_impo,cle,code_mess=None)
             if vale is not None:
               if vale != 0 : UTMESS('F','PLEXUS_13')
               else : 
                 blocage += `dic_ddl_impo[cle]`
+
+          # LIAISON / ENCASTRE
+          if ddl_impo.has_key('LIAISON'):
+             if ddl_impo['LIAISON']=='ENCASTRE':
+                blocage += ' 123456'
+
           # recupere les entites geometriques
           for entite in ['GROUP_MA','GROUP_NO'] :
-            group_ma = self.get_motcle(ddl_impo,entite,code_mess='None')
+            group_ma = self.get_motcle(ddl_impo,entite,code_mess=None)
             if group_ma is not None : 
               group_ma = self.setlist(group_ma);break
           LIAISON.append(' '*2 + 'BLOQ %s' %blocage)
@@ -1220,7 +1260,7 @@ class EUROPLEXUS:
           for group in group_ma:
             LIAISON.append(10*' '+group)
           LIAISON.append(6*' '+'TERM') 
-            
+
       if not ddl_impo_list and not pres_rep_list :
         UTMESS('F','PLEXUS_9')
     
@@ -1231,7 +1271,6 @@ class EUROPLEXUS:
         for ligne in var : epx[MODULE].append(ligne)
     
     epx[MODULE].append('\n')    
-
 #-----------------------------------------------------------------------   
   def Correspondance_champ(self):
    
@@ -1310,7 +1349,7 @@ class EUROPLEXUS:
     for cham_aster in nom_cham:
       cham_epx = self.dic_champ[cham_aster]
       st +=  '%s ' % cham_epx  
-    st += ' %s %g' % (cle_freq_listing,vale_freq_listing)
+    st += ' %s %s' % (cle_freq_listing,vale_freq_listing)
     st += ' NOPO NOEL'
     epx[MODULE].append(st)
     for cle in cles_entite:
@@ -1353,7 +1392,7 @@ class EUROPLEXUS:
 
       cle_freq, vale_freq = get_freq2()
       fichier_alit = self.pwd + self.REPE + os.sep + self.nom_fichiers['ALIT']
-      epx[MODULE].append(2*' ' + "FICH ALIT 11  %s %g" %(cle_freq,vale_freq))
+      epx[MODULE].append(2*' ' + "FICH ALIT 11  %s %s" %(cle_freq,vale_freq))
 
       # Liste les noeuds a postraiter
       lnoeuds=sets.Set([])
@@ -1418,7 +1457,7 @@ class EUROPLEXUS:
       fichier_med = self.pwd + self.REPE + os.sep + self.nom_fichiers['MED']
       epx[MODULE].append(2*' ' + "'%s'" %fichier_med)
       cle_freq,vale_freq = get_freq(champ_fact)
-      epx[MODULE].append(2*' ' + ' %s %g' %(cle_freq_champ,vale_freq_champ))
+      epx[MODULE].append(2*' ' + ' %s %s' %(cle_freq_champ,vale_freq_champ))
       
       # groupes de mailles du modele
       entite_geo={}
@@ -1436,6 +1475,20 @@ class EUROPLEXUS:
           epx[MODULE].append(6*' '+group)
        epx[MODULE].append(2*' '+'TERM') 
     
+    
+    # ecriture CAST2000
+    # __temp
+    fichier_cast2000 = 'fort.%i' %unite_cast2000
+    if unite_cast2000 and os.path.isfile(fichier_cast2000) :
+      # titre
+      epx[MODULE].append('\n*-- CAST2000')
+      fd = open(fichier_cast2000,'r')
+      lst = fd.readlines()
+      fd.close()
+      for st in lst :
+        st = string.replace(st,'\n','')
+        epx[MODULE].append(st)
+          
     # Une ligne de saut
     epx[MODULE].append('\n')
     
@@ -1479,7 +1532,7 @@ class EUROPLEXUS:
     #tables = self.setlist(tables)
 
     # Dictionnaire decrivant les legendes des abscisses et ordodonnees des courbes imprimees
-    # et utilisee dans get_tables
+    # etl utilisee dans get_tables
     self.legend_courbes = {}
     entites_courbe = ['GROUP_NO','GROUP_MA'] 
     entite_EPX={'GROUP_NO' : 'NOEUD', 'GROUP_MA' : 'ELEM'}
@@ -1495,16 +1548,16 @@ class EUROPLEXUS:
             cmp_aster = table['NOM_CMP']
             cham_epx = self.dic_champ[cham_aster]
             cmp_epx  = self.dic_cmp[cham_aster][cmp_aster]
-            ylabel   = cham_aster + '_' + cmp_aster
-            ylabel   = cmp_aster
+            ylabel   = cham_aster + '_' + cmp_aster
+            #ylabel   = cmp_aster
             if type(entite) is not tuple : entite = [entite,]
             for el in entite :
                 icourbe+=1
                 label = ylabel + '_%s'%el
-                if entite_type == 'MAILLE' :
+                if entite_type == 'GROUP_MA' :
                     label = label+'_%s'%table['NUM_GAUSS']
                 st = "COURBE %i '%s' %s COMP %i "% (icourbe,label,cham_epx,cmp_epx)
-                if entite_type == 'MAILLE' :
+                if entite_type == 'GROUP_MA' :
                     st=st+"GAUSS %i "%table['NUM_GAUSS']
                 st=st+"%s LECT %s TERM"%(entite_EPX[entite_type],el)
                 if debug: print 'st = %s'%st
@@ -1514,8 +1567,8 @@ class EUROPLEXUS:
                 if debug: print 'st = %s'%st
                 epx[MODULE].append(st)
                 self.legend_courbes[icourbe] = ['TEMPS',label]
-        
-    
+
+
 
     # Une ligne de saut
     epx[MODULE].append('\n')
@@ -1583,7 +1636,7 @@ class EUROPLEXUS:
         idS1 = interface['IDENT_DOMAINE_1']
         idS2 = interface['IDENT_DOMAINE_2']
         tole = interface['TOLE']
-        epx[MODULE].append(3*' '+'MORTAR TOLE %g'%tole)
+        epx[MODULE].append(3*' '+'MORTAR TOLE %s'%tole)
         epx[MODULE].append(7*' '+'DOMA %s LECT'%idS1)
         for gma in Lgma1 :
             epx[MODULE].append(13*' '+gma)
@@ -1601,7 +1654,7 @@ class EUROPLEXUS:
     cles = ['INST_INIT','PASFIX','INST_FIN']
     dcles = {'INST_INIT':'TINI', 'PASFIX':'PASFIX', 'INST_FIN':'TFIN'}
     for cle in dcles.keys():
-      try : calcul += ' %s %g' %(dcles[cle], self.CALCUL[cle])
+      try : calcul += ' %s %s' %(dcles[cle], self.CALCUL[cle])
       except : pass
     # Doit etre mis en entier
     try : calcul += ' %s %d' %('NMAX',self.CALCUL['NMAX'])
@@ -1750,14 +1803,15 @@ class EUROPLEXUS:
                     
                                    }
 
-    dic_cmp_gauss['ECROUISSAGE'] = {'DKT3': {'NOM_CMP'     : ('V1','V2'),
-                                            'NOM_CMP_MED'  : ('VAR8','VAR9'),},
-                                   'Q4GS' : {'NOM_CMP'      : ('V1','V2'),
-                                            'NOM_CMP_MED'  : ('VAR8','VAR9'),},
+    dic_cmp_gauss['ECROUISSAGE'] = {'DKT3': {'NOM_CMP'     : ('V1','V2','V3','V4','V5','V6','V7','V8','V9','V10','V11','V12','V13','V14','V15','V16','V17','V18','V19'),
+                                            'NOM_CMP_MED'  : ('VAR1','VAR2','VAR3','VAR4','VAR5','VAR6','VAR7','VAR8','VAR9','VAR10','VAR11','VAR12','VAR13','VAR14','VAR15','VAR16','VAR17','VAR18','VAR19'),},
+                                   'Q4GS' : {'NOM_CMP'     : ('V1','V2','V3','V4','V5','V6','V7','V8','V9','V10','V11','V12','V13','V14','V15','V16','V17','V18','V19'),
+                                            'NOM_CMP_MED'  : ('VAR1','VAR2','VAR3','VAR4','VAR5','VAR6','VAR7','VAR8','VAR9','VAR10','VAR11','VAR12','VAR13','VAR14','VAR15','VAR16','VAR17','VAR18','VAR19'),},
                                    'POUT' : {}        
                         
                                     }
-                                    
+    tupVar = ('X1','X2','X3','X4','X5','X6','X7','X8','X9','X10','X11','X12','X13','X14','X15','X16','X17','X18','X19')                                
+    
     # Dictionnaire permettant de traduire le champ epx en med au nom asscie dans aster
 # AA    epx2aster = {'CONTRAINTE':'SIEF_ELGA','ECROUISSAGE':'VARI_ELGA'}
     epx2aster = {'CONTRAINTE':'SIEF_ELGA','DEFORMATION':'EPSI_ELGA_DEPL','ECROUISSAGE':'VARI_ELGA'}
@@ -1832,6 +1886,14 @@ class EUROPLEXUS:
             PROL_ZERO = 'OUI',
             AFFE = _F(VALE=(1.,1.), TOUT='OUI', NOM_CMP=('X21','X22')),
             )
+    __UNDEU = CREA_CHAMP(
+            INFO      = self.INFO,
+            TYPE_CHAM = 'ELGA_NEUT_R',
+            OPERATION = 'AFFE',
+            MODELE    = self.NEW_MODELE,
+            PROL_ZERO = 'OUI',
+            AFFE = _F(VALE=(1.,1./2.), TOUT='OUI', NOM_CMP=('X21','X22')),
+            )
     __FONC1 = FORMULE(VALE='X1*X21',NOM_PARA=('X1','X21'))
     __FONC2 = FORMULE(VALE='X2*X21',NOM_PARA=('X2','X21'))
     __FONC3 = FORMULE(VALE='X3*X21',NOM_PARA=('X3','X21'))
@@ -1848,6 +1910,26 @@ class EUROPLEXUS:
     __FONC16 = FORMULE(VALE='X16*X22',NOM_PARA=('X16','X22'))
     __FONC17 = FORMULE(VALE='X17*X21',NOM_PARA=('X17','X21'))
     __FONC18 = FORMULE(VALE='X18*X21',NOM_PARA=('X18','X21'))
+
+    __FONE1 = FORMULE(VALE='X1*X21',NOM_PARA=('X1','X21'))
+    __FONE2 = FORMULE(VALE='X2*X21',NOM_PARA=('X2','X21'))
+    __FONE3 = FORMULE(VALE='X3*X22',NOM_PARA=('X3','X22'))
+    __FONE4 = FORMULE(VALE='X4*X21',NOM_PARA=('X4','X21'))
+    __FONE5 = FORMULE(VALE='X5*X21',NOM_PARA=('X5','X21'))
+    __FONE6 = FORMULE(VALE='X6*X22',NOM_PARA=('X6','X22'))
+    __FONE7 = FORMULE(VALE='X7*X21',NOM_PARA=('X7','X21'))
+    __FONE8 = FORMULE(VALE='X8*X21',NOM_PARA=('X8','X21'))
+    __FONE9 = FORMULE(VALE='X9*X21',NOM_PARA=('X9','X21'))
+    __FONE10 = FORMULE(VALE='X10*X21',NOM_PARA=('X10','X21'))
+    __FONE11 = FORMULE(VALE='X11*X21',NOM_PARA=('X11','X21'))
+    __FONE12 = FORMULE(VALE='X12*X21',NOM_PARA=('X12','X21'))
+    __FONE13 = FORMULE(VALE='X13*X21',NOM_PARA=('X13','X21'))
+    __FONE14 = FORMULE(VALE='X14*X21',NOM_PARA=('X14','X21'))
+    __FONE15 = FORMULE(VALE='X15*X21',NOM_PARA=('X15','X21'))
+    __FONE16 = FORMULE(VALE='X16*X21',NOM_PARA=('X16','X21'))
+    __FONE17 = FORMULE(VALE='X17*X21',NOM_PARA=('X17','X21'))
+    __FONE18 = FORMULE(VALE='X18*X21',NOM_PARA=('X18','X21'))
+    __FONE19 = FORMULE(VALE='X19*X21',NOM_PARA=('X19','X21'))
     
     __FONCC = CREA_CHAMP(
         INFO      = self.INFO,
@@ -1869,14 +1951,17 @@ class EUROPLEXUS:
         PROL_ZERO = 'OUI',
         AFFE      = _F(
                TOUT    = 'OUI',
-               NOM_CMP = ('X1','X2'),
-               VALE_F  = (__FONC1,__FONC2)),
+               NOM_CMP = tupVar,
+     #          VALE_F  = (__FONE1,__FONE2)
+               VALE_F  = (__FONE1,__FONE2,__FONE3,__FONE4,__FONE5,__FONE6,__FONE7,__FONE8,__FONE9,__FONE10,__FONE11,__FONE12,__FONE13,__FONE14,__FONE15,__FONE16,__FONE17,__FONE18,__FONE19)
+               ),
                )
     listEffg = []
     i=0
     listType=[]
     __SIG11 = [None]*10
     __SIG21 = [None]*10
+    __ECR11 = [None]*10
 
     # Pour masquer certaines alarmes
     from Utilitai.Utmess import MasquerAlarme, RetablirAlarme
@@ -1956,12 +2041,57 @@ class EUROPLEXUS:
 
 
     nbChamp = i
+    
+    listVari = [0]*nbChamp
+    
+    for i in xrange(nbChamp) :
+            if listType[i] == 'Q4GS' :
+               try :
+                   __ECR11[i] = LIRE_CHAMP(
+                       INFO        = self.INFO,
+                       TYPE_CHAM   = 'ELGA_VARI_R',
+                       UNITE       = 99,
+                       NUME_PT     = 0,
+                       MODELE      = self.NEW_MODELE,
+                       MAILLAGE    = self.reupere_structure(self.MODELE,'MAILLAGE'),
+                       PROL_ZERO   = 'OUI',
+                       NOM_MED     = 'CHAMP___ECROUISSAGE__00%d'%(i+1),
+                       NOM_CMP     = dic_cmp_gauss['ECROUISSAGE']['Q4GS']['NOM_CMP'],
+                       NOM_CMP_MED = dic_cmp_gauss['ECROUISSAGE']['Q4GS']['NOM_CMP_MED'])
+                   # dicDetr.append({'NOM' : __SIG11})
+                   DETRUIRE(CONCEPT=_F(NOM = __ECR11[i]), INFO=1)
+                   listVari[i]=1
+               except :
+                   err+=1
+            elif listType[i] == 'DKT3' :
+               try :
+                   __ECR11[i] = LIRE_CHAMP(
+                       INFO        = self.INFO,
+                       TYPE_CHAM   = 'ELGA_VARI_R',
+                       UNITE       = 99,
+                       NUME_PT     = 0,
+                       MODELE      = self.NEW_MODELE,
+                       MAILLAGE    = self.reupere_structure(self.MODELE,'MAILLAGE'),
+                       PROL_ZERO   = 'OUI',
+                       NOM_MED     = 'CHAMP___ECROUISSAGE__00%d'%(i+1),
+                       NOM_CMP     = dic_cmp_gauss['ECROUISSAGE']['DKT3']['NOM_CMP'],
+                       NOM_CMP_MED = dic_cmp_gauss['ECROUISSAGE']['DKT3']['NOM_CMP_MED'])
+                   # dicDetr.append({'NOM' : __SIG11})
+                   DETRUIRE(CONCEPT=_F(NOM = __ECR11[i]), INFO=1)
+                   listVari[i]=1
+               except :
+                  err+=1
+    
+    
+    
     itot=len(resu.LIST_PARA()['INST'])
     __EFFG=[None]*itot
     # __EPSG=[None]*itot
     __ECRG=[None]*itot
     __SIG1 = [None]*nbChamp
     __SIG2 = [None]*nbChamp
+    __ECR1 = [None]*nbChamp
+    __ECR2 = [None]*nbChamp
     for i in xrange(itot) :
         dicAffe=[]
         dicAffe2=[]
@@ -1972,8 +2102,8 @@ class EUROPLEXUS:
         dicAsse.append({'TOUT' : 'OUI', 'CHAM_GD' : __EPN2, 'NOM_CMP' : 'X22', 'NOM_CMP_RESU' : 'X22', 'CUMUL' : 'OUI','COEF_R':1.})
         dicAsse2 = [{'TOUT' : 'OUI', 'CHAM_GD' : __UNN, 'NOM_CMP' : 'X21', 'NOM_CMP_RESU' : 'X21'}]
         dicAsse2.append({'TOUT' : 'OUI', 'CHAM_GD' : __UNN, 'NOM_CMP' : 'X22', 'NOM_CMP_RESU' : 'X22', 'CUMUL' : 'OUI','COEF_R':1.})
-        dicAsse3 = [{'TOUT' : 'OUI', 'CHAM_GD' : __UNN, 'NOM_CMP' : 'X21', 'NOM_CMP_RESU' : 'X21'}]
-        dicAsse3.append({'TOUT' : 'OUI', 'CHAM_GD' : __UNN, 'NOM_CMP' : 'X22', 'NOM_CMP_RESU' : 'X22', 'CUMUL' : 'OUI','COEF_R':1.})
+        dicAsse3 = [{'TOUT' : 'OUI', 'CHAM_GD' : __UNDEU, 'NOM_CMP' : 'X21', 'NOM_CMP_RESU' : 'X21'}]
+        dicAsse3.append({'TOUT' : 'OUI', 'CHAM_GD' : __UNDEU, 'NOM_CMP' : 'X22', 'NOM_CMP_RESU' : 'X22', 'CUMUL' : 'OUI','COEF_R':1.})
         dicDetr=[]
         # if 'Q4GS' in self.modelisations :
         for j in xrange(nbChamp) :
@@ -1990,6 +2120,9 @@ class EUROPLEXUS:
                     NOM_CMP     = dic_cmp_gauss['CONTRAINTE']['Q4GS']['NOM_CMP'],
                     NOM_CMP_MED = dic_cmp_gauss['CONTRAINTE']['Q4GS']['NOM_CMP_MED'],
                         )
+                dicDetr.append({'NOM' : __SIG1[j]})
+                dicAsse.append({'TOUT' : 'OUI', 'CHAM_GD' : __SIG1[j], 'NOM_CMP' : tuple(dic_cmp_gauss['CONTRAINTE']['Q4GS']['NOM_CMP']), 
+                            'NOM_CMP_RESU' : ('X1','X2','X3','X4','X5','X6','X7','X8'), 'CUMUL' : 'OUI','COEF_R':1.})
                 # __EPS1 = LIRE_CHAMP(
                     # INFO        = self.INFO,
                     # TYPE_CHAM   = 'ELGA_EPSI_R',
@@ -2001,24 +2134,23 @@ class EUROPLEXUS:
                     # NOM_MED     = 'CHAMP___DEFORM_TOT___001',
                     # NOM_CMP     = dic_cmp_gauss['DEFORMATION']['Q4GS']['NOM_CMP'],
                     # NOM_CMP_MED = dic_cmp_gauss['DEFORMATION']['Q4GS']['NOM_CMP_MED'])
-#                 __ECR1 = LIRE_CHAMP(
-#                     INFO        = self.INFO,
-#                     TYPE_CHAM   = 'ELGA_VARI_R',
-#                     UNITE       = 99,
-#                     NUME_PT     = resu.LIST_PARA()['NUME_ORDRE'][i],
-#                     MODELE      = self.NEW_MODELE,
-#                     MAILLAGE    = self.reupere_structure(self.MODELE,'MAILLAGE'),
-#                     PROL_ZERO   = 'OUI',
-#                     NOM_MED     = 'CHAMP___ECROUISSAGE__001',
-#                     NOM_CMP     = dic_cmp_gauss['ECROUISSAGE']['Q4GS']['NOM_CMP'],
-#                     NOM_CMP_MED = dic_cmp_gauss['ECROUISSAGE']['Q4GS']['NOM_CMP_MED'])
-                dicDetr.append({'NOM' : __SIG1[j]})
-                dicAsse.append({'TOUT' : 'OUI', 'CHAM_GD' : __SIG1[j], 'NOM_CMP' : tuple(dic_cmp_gauss['CONTRAINTE']['Q4GS']['NOM_CMP']), 
-                            'NOM_CMP_RESU' : ('X1','X2','X3','X4','X5','X6','X7','X8'), 'CUMUL' : 'OUI','COEF_R':1.})
+                if listVari[j] :
+                    __ECR1[j] = LIRE_CHAMP(
+                        INFO     = self.INFO,
+                        TYPE_CHAM   = 'ELGA_VARI_R',
+                        UNITE    = 99,
+                        NUME_PT  = resu.LIST_PARA()['NUME_ORDRE'][i],
+                        MODELE   = self.NEW_MODELE,
+                        MAILLAGE         = self.reupere_structure(self.MODELE,'MAILLAGE'),
+                        PROL_ZERO   = 'OUI',
+                        NOM_MED  = 'CHAMP___ECROUISSAGE__00%d'%(j+1),
+                        NOM_CMP  = dic_cmp_gauss['ECROUISSAGE']['Q4GS']['NOM_CMP'],
+                        NOM_CMP_MED = dic_cmp_gauss['ECROUISSAGE']['Q4GS']['NOM_CMP_MED'])
+                    dicAsse3.append({'TOUT' : 'OUI', 'CHAM_GD' : __ECR1[j], 'NOM_CMP' : tuple(dic_cmp_gauss['ECROUISSAGE']['Q4GS']['NOM_CMP']), 
+                             'NOM_CMP_RESU' : tupVar, 'CUMUL' : 'OUI','COEF_R':1.})
+                    dicDetr.append({'NOM' : __ECR1[j]})
                 # dicAsse2.append({'TOUT' : 'OUI', 'CHAM_GD' : __EPS1, 'NOM_CMP' : tuple(dic_cmp_gauss['DEFORMATION']['Q4GS']['NOM_CMP']), 
                             # 'NOM_CMP_RESU' : ('X1','X2','X3','X4','X5','X6','X7','X8'), 'CUMUL' : 'OUI','COEF_R':1.})
-#                 dicAsse3.append({'TOUT' : 'OUI', 'CHAM_GD' : __ECR1, 'NOM_CMP' : tuple(dic_cmp_gauss['ECROUISSAGE']['Q4GS']['NOM_CMP']), 
-#                             'NOM_CMP_RESU' : ('X1','X2'), 'CUMUL' : 'OUI','COEF_R':1.})
             else :
                 __SIG2[j] = LIRE_CHAMP(
                     INFO        = self.INFO,
@@ -2032,6 +2164,9 @@ class EUROPLEXUS:
                     NOM_CMP     = dic_cmp_gauss['CONTRAINTE']['DKT3']['NOM_CMP'],
                     NOM_CMP_MED = dic_cmp_gauss['CONTRAINTE']['DKT3']['NOM_CMP_MED'],
                     )
+                dicAsse.append({'TOUT' : 'OUI', 'CHAM_GD' : __SIG2[j], 'NOM_CMP' : tuple(dic_cmp_gauss['CONTRAINTE']['DKT3']['NOM_CMP']),
+                                'NOM_CMP_RESU' : ('X11','X12','X13','X14','X15','X16'), 'CUMUL' : 'OUI','COEF_R':1.})
+                dicDetr.append({'NOM' : __SIG2[j]})
                 # __EPS2 = LIRE_CHAMP(
                     # INFO        = self.INFO,
                     # TYPE_CHAM   = 'ELGA_EPSI_R',
@@ -2043,24 +2178,24 @@ class EUROPLEXUS:
                     # NOM_MED     = 'CHAMP___DEFORM_TOT___00%d'%index,
                     # NOM_CMP     = dic_cmp_gauss['DEFORMATION']['DKT3']['NOM_CMP'],
                     # NOM_CMP_MED = dic_cmp_gauss['DEFORMATION']['DKT3']['NOM_CMP_MED']),
-#                 __ECR2 = LIRE_CHAMP(
-#                     INFO        = self.INFO,
-#                     TYPE_CHAM   = 'ELGA_VARI_R',
-#                     UNITE       = 99,
-#                     NUME_PT     = resu.LIST_PARA()['NUME_ORDRE'][i],
-#                     MODELE      = self.NEW_MODELE,
-#                     MAILLAGE    = self.reupere_structure(self.MODELE,'MAILLAGE'),
-#                     PROL_ZERO   = 'OUI',
-#                     NOM_MED     = 'CHAMP___ECROUISSAGE__00%d'%index,
-#                     NOM_CMP     = dic_cmp_gauss['ECROUISSAGE']['Q4GS']['NOM_CMP'],
-#                     NOM_CMP_MED = dic_cmp_gauss['ECROUISSAGE']['Q4GS']['NOM_CMP_MED'])
-                dicAsse.append({'TOUT' : 'OUI', 'CHAM_GD' : __SIG2[j], 'NOM_CMP' : tuple(dic_cmp_gauss['CONTRAINTE']['DKT3']['NOM_CMP']),
-                                'NOM_CMP_RESU' : ('X11','X12','X13','X14','X15','X16'), 'CUMUL' : 'OUI','COEF_R':1.})
+                if listVari[j] :
+
+                   __ECR2[j] = LIRE_CHAMP(
+                       INFO      = self.INFO,
+                       TYPE_CHAM   = 'ELGA_VARI_R',
+                       UNITE     = 99,
+                       NUME_PT   = resu.LIST_PARA()['NUME_ORDRE'][i],
+                       MODELE    = self.NEW_MODELE,
+                       MAILLAGE  = self.reupere_structure(self.MODELE,'MAILLAGE'),
+                       PROL_ZERO   = 'OUI',
+                       NOM_MED   = 'CHAMP___ECROUISSAGE__00%d'%(j+1),
+                       NOM_CMP   = dic_cmp_gauss['ECROUISSAGE']['DKT3']['NOM_CMP'],
+                       NOM_CMP_MED = dic_cmp_gauss['ECROUISSAGE']['DKT3']['NOM_CMP_MED'])
+                   dicAsse3.append({'TOUT' : 'OUI', 'CHAM_GD' : __ECR2[j], 'NOM_CMP' : tuple(dic_cmp_gauss['ECROUISSAGE']['DKT3']['NOM_CMP']), 
+                                   'NOM_CMP_RESU' : tupVar, 'CUMUL' : 'OUI','COEF_R':1.})
+                   dicDetr.append({'NOM' : __ECR2[j]})
                 # dicAsse2.append({'TOUT' : 'OUI', 'CHAM_GD' : __EPS2, 'NOM_CMP' : tuple(dic_cmp_gauss['DEFORMATION']['DKT3']['NOM_CMP']), 
                                 # 'NOM_CMP_RESU' : ('X11','X12','X13','X14','X15','X16'), 'CUMUL' : 'OUI','COEF_R':1.})
-#                 dicAsse3.append({'TOUT' : 'OUI', 'CHAM_GD' : __ECR2, 'NOM_CMP' : tuple(dic_cmp_gauss['ECROUISSAGE']['DKT3']['NOM_CMP']), 
-#                                 'NOM_CMP_RESU' : ('X11','X12'), 'CUMUL' : 'OUI','COEF_R':1.})
-                dicDetr.append({'NOM' : __SIG2[j]})
                 # dicDetr.append({'NOM' : __EPS2})
 #                dicDetr.append({'NOM' : __ECR2})
                 # dicDetr.append({'NOM' : __EPS1})
@@ -2082,16 +2217,16 @@ class EUROPLEXUS:
             # PROL_ZERO = 'OUI',
             # MODELE    = self.NEW_MODELE,
             # ASSE      = dicAsse2)
-        __ECRN = CREA_CHAMP(
-#             INFO      = self.INFO,
-#             TYPE_CHAM = 'ELGA_NEUT_R',
-#             OPERATION = 'ASSE',
-#             PROL_ZERO = 'OUI',
-#             MODELE    = self.NEW_MODELE,
-#             ASSE      = dicAsse3)
+        __ECRN = CREA_CHAMP(
+             INFO      = self.INFO,
+             TYPE_CHAM = 'ELGA_NEUT_R',
+             OPERATION = 'ASSE',
+             PROL_ZERO = 'OUI',
+             MODELE    = self.NEW_MODELE,
+             ASSE      = dicAsse3)
         dicDetr.append({'NOM' : __SIGN})
         # dicDetr.append({'NOM' : __EPSN})
-        dicDetr.append({'NOM' : __ECRN})
+        dicDetr.append({'NOM' : __ECRN})
         __EFFGN = CREA_CHAMP(
             INFO      = self.INFO,
             TYPE_CHAM = 'ELGA_NEUT_R',
@@ -2105,15 +2240,15 @@ class EUROPLEXUS:
             # OPERATION = 'EVAL',
             # CHAM_F    = __FONCC,
             # CHAM_PARA   = (__EPSN))
-        __ECRGN = CREA_CHAMP(
-            INFO      = self.INFO,
-            TYPE_CHAM = 'ELGA_NEUT_R',
-            OPERATION = 'EVAL',
-            CHAM_F    = __FONCC2,
-            CHAM_PARA   = (__ECRN))
+        __ECRGN = CREA_CHAMP(
+            INFO      = self.INFO,
+            TYPE_CHAM = 'ELGA_NEUT_R',
+            OPERATION = 'EVAL',
+            CHAM_F    = __FONCC2,
+            CHAM_PARA   = (__ECRN))
         dicDetr.append({'NOM' : __EFFGN})
         # dicDetr.append({'NOM' : __EPSGN})
-        dicDetr.append({'NOM' : __ECRGN})
+        dicDetr.append({'NOM' : __ECRGN})
         __EFFG[i] = CREA_CHAMP(
             INFO      = self.INFO,
             TYPE_CHAM  = 'ELGA_SIEF_R',
@@ -2137,20 +2272,22 @@ class EUROPLEXUS:
                 # CHAM_GD = __EPSGN,
                 # NOM_CMP = ('X1','X2','X3','X4','X5','X6','X7','X8')+('X11','X12','X13','X14','X15','X16'),
                 # NOM_CMP_RESU = tuple(dic_cmp_gauss['DEFORMATION']['Q4GS']['NOM_CMP']+dic_cmp_gauss['DEFORMATION']['DKT3']['NOM_CMP'])))
-#         __ECRG[i] = CREA_CHAMP(
-#             INFO      = self.INFO,
-#             TYPE_CHAM  = 'ELGA_VARI_R',
-#             OPERATION = 'ASSE',
-#             PROL_ZERO = 'OUI',
-#             MODELE    = self.NEW_MODELE,
-#             ASSE      = _F(
-#                 TOUT = 'OUI',
-#                 CHAM_GD = __ECRGN,
-#                 NOM_CMP = ('X1','X2'),
-#                 NOM_CMP_RESU = tuple(dic_cmp_gauss['ECROUISSAGE']['Q4GS']['NOM_CMP'])))
-        dicAffe.append({'CHAM_GD' : __EFFG[i], 'MODELE' : self.NEW_MODELE,'CHAM_MATER' : self.CHAM_MATER,'INST': resu.LIST_PARA()['INST'][i]})
+        __ECRG[i] = CREA_CHAMP(
+            INFO      = self.INFO,
+            TYPE_CHAM  = 'ELGA_VARI_R',
+            OPERATION = 'ASSE',
+            PROL_ZERO = 'OUI',
+            MODELE    = self.NEW_MODELE,
+            ASSE      = _F(
+                TOUT = 'OUI',
+                CHAM_GD = __ECRGN,
+                NOM_CMP = tupVar,
+                NOM_CMP_RESU = tuple(dic_cmp_gauss['ECROUISSAGE']['Q4GS']['NOM_CMP'])))
+# AA        dicAffe.append({'CHAM_GD' : __EFFG[i], 'MODELE' : self.NEW_MODELE,'CHAM_MATER' : self.CHAM_MATER,'INST': resu.LIST_PARA()['INST'][i]})
+        dicAffe.append({'CHAM_GD' : __EFFG[i], 'MODELE' : self.NEW_MODELE,'CHAM_MATER' : self.CHAM_MATER, 'CARA_ELEM' : self.CARA_ELEM, 'INST': resu.LIST_PARA()['INST'][i]})
         # dicAffe2.append({'CHAM_GD' : __EPSG[i], 'MODELE' : self.NEW_MODELE,'CHAM_MATER' : self.CHAM_MATER,'INST': resu.LIST_PARA()['INST'][i]})
-#         dicAffe3.append({'CHAM_GD' : __ECRG[i], 'MODELE' : self.NEW_MODELE,'CHAM_MATER' : self.CHAM_MATER,'INST': resu.LIST_PARA()['INST'][i]})
+# AA        dicAffe3.append({'CHAM_GD' : __ECRG[i], 'MODELE' : self.NEW_MODELE,'CHAM_MATER' : self.CHAM_MATER,'INST': resu.LIST_PARA()['INST'][i]})
+        dicAffe3.append({'CHAM_GD' : __ECRG[i], 'MODELE' : self.NEW_MODELE,'CHAM_MATER' : self.CHAM_MATER, 'CARA_ELEM' : self.CARA_ELEM, 'INST': resu.LIST_PARA()['INST'][i]})
         DETRUIRE(CONCEPT=dicDetr, INFO=1)
         resu = CREA_RESU(reuse=resu,
             OPERATION = 'AFFE',
index c462a3b621f5a4e51886c85f841bbf6cd29a92d4..0a7a1baef69089f220ac511e515d6b8b7ffd73d7 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF calc_modal_ops Macro  DATE 14/10/2008   AUTEUR NISTOR I.NISTOR 
+#@ MODIF calc_modal_ops Macro  DATE 27/04/2009   AUTEUR NISTOR I.NISTOR 
 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -20,7 +20,7 @@
 #-*- coding: iso-8859-1 -*-
 
 
-def calc_modal_ops(self,MODELE,CHAM_MATER,CARA_ELEM,AMORTISEMENT,
+def calc_modal_ops(self,MODELE,CHAM_MATER,CARA_ELEM,AMORTISSEMENT,
                         SOLVEUR,CHARGE,INST,METHODE,CALC_FREQ, MODE_RIGIDE,
                         VERI_MODE,INFO,**args):
   """
@@ -47,13 +47,13 @@ def calc_modal_ops(self,MODELE,CHAM_MATER,CARA_ELEM,AMORTISEMENT,
   if CARA_ELEM  != None: motsclece['CARA_ELEM']   =CARA_ELEM
   if INST       != None: motsclece['INST']        =INST
 
-  #c'est avec le mot cle AMORTISEMENT qu'on decide si on calcule la matrice C
-  # d'amortisement 
+  #c'est avec le mot cle AMORTISSEMENT qu'on decide si on calcule la matrice C
+  # d'amortissement 
 
   
   _a=CALC_MATR_ELEM(MODELE=MODELE, OPTION='RIGI_MECA', **motsclece)
   _b=CALC_MATR_ELEM(MODELE=MODELE, OPTION='MASS_MECA', **motsclece)
-  if AMORTISEMENT=='OUI':  
+  if AMORTISSEMENT=='OUI':  
     _c=CALC_MATR_ELEM(MODELE=MODELE, OPTION='AMOR_MECA',
                        RIGI_MECA=_a, MASS_MECA=_b,**motsclece)
 
@@ -68,7 +68,7 @@ def calc_modal_ops(self,MODELE,CHAM_MATER,CARA_ELEM,AMORTISEMENT,
   #assemblages des matrices 
   _rigas=ASSE_MATRICE(MATR_ELEM=_a,NUME_DDL=_num)
   _masas=ASSE_MATRICE(MATR_ELEM=_b,NUME_DDL=_num)
-  if AMORTISEMENT=='OUI':     
+  if AMORTISSEMENT=='OUI':     
     _amoras=ASSE_MATRICE(MATR_ELEM=_c,NUME_DDL=_num)
 
   #lancement du calcul des modes propres
@@ -143,14 +143,14 @@ def calc_modal_ops(self,MODELE,CHAM_MATER,CARA_ELEM,AMORTISEMENT,
  
   self.DeclareOut('modes',self.sd)
   
-  if AMORTISEMENT=='NON':
+  if AMORTISSEMENT=='NON':
      modes=MODE_ITER_SIMULT(MATR_A  =_rigas,
                             MATR_B  =_masas,
                             METHODE =METHODE,
                             OPTION  =mode_rigi,
                             INFO    =INFO,
                             **motscit)
-  elif AMORTISEMENT=='OUI':
+  elif AMORTISSEMENT=='OUI':
      modes=MODE_ITER_SIMULT(MATR_A  =_rigas,
                             MATR_B  =_masas,
                             MATR_C  =_amoras,
index e40741a6fed7211fba9ba3a14a491bf8059dedee..d8b9e66f7c8d6a5f89c1c888a8d13ec83b9e278a 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF macr_ascouf_calc_ops Macro  DATE 14/04/2008   AUTEUR GALENNE E.GALENNE 
+#@ MODIF macr_ascouf_calc_ops Macro  DATE 24/03/2009   AUTEUR GALENNE E.GALENNE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -20,7 +20,7 @@
 
 
 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,
+                              FOND_FISS,RESU_THER,AFFE_MATERIAU,
                               PRES_REP,ECHANGE,TORS_P1,COMP_INCR,COMP_ELAS,
                               SOLVEUR,CONVERGENCE,NEWTON,RECH_LINEAIRE,
                               INCREMENT,THETA_3D,IMPR_TABLE,IMPRESSION,INFO,TITRE ,**args):
index 0d416a57df12042d4e7497e1d4154f5237e04fa7..310833796b4ab55c27b6ab02aadd891d2defe46a 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF macr_aspic_calc_ops Macro  DATE 14/04/2008   AUTEUR GALENNE E.GALENNE 
+#@ MODIF macr_aspic_calc_ops Macro  DATE 24/03/2009   AUTEUR GALENNE E.GALENNE 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -20,7 +20,7 @@
 
 
 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,
+                             FOND_FISS_1,FOND_FISS_2,RESU_THER,AFFE_MATERIAU,EQUILIBRE,
                              PRES_REP,ECHANGE,TORS_CORP,TORS_TUBU,COMP_INCR,COMP_ELAS,
                              THETA_3D,OPTION,SOLVEUR,CONVERGENCE,NEWTON,RECH_LINEAIRE,
                              INCREMENT,PAS_AZIMUT,IMPRESSION,INFO,TITRE,BORNES ,**args):
index 481e9b790b6dd44072373efc5aeac135a71bb33e..9d6e9a969ed9b80ead8631c2972bbdaa127b67e9 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF post_dyna_alea_ops Macro  DATE 06/10/2008   AUTEUR ZENTNER I.ZENTNER 
+#@ MODIF post_dyna_alea_ops Macro  DATE 22/12/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -383,10 +383,11 @@ def post_dyna_alea_ops(self,INTE_SPEC, FRAGILITE,TITRE,INFO,**args):
 
            val_mom={}
            for i_mom in l_moments :
-               trapz     = Numeric.zeros(len(fvaly),Numeric.Float)
+               n         = len(fvaly)
+               trapz     = Numeric.zeros(n,Numeric.Float)
                trapz[0]  = 0.
                valy      = fvaly*(2*pi*fvalx)**i_mom
-               trapz[1:] = (valy[1:]+valy[:-1])/2*(fvalx[1:]-fvalx[:-1])
+               trapz[1:n] = (valy[1:n]+valy[:-1])/2*(fvalx[1:n]-fvalx[:-1])
                prim_y    = Numeric.cumsum(trapz)
                val_mom[i_mom] = prim_y[-1]
            for i_mom in l_moments :
index 38595c64717903bf225452895df69ca02cb9950c..7fcb68a6a6b43c529006eaae1c42433364016e5e 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF post_k1_k2_k3_ops Macro  DATE 17/11/2008   AUTEUR PROIX J-M.PROIX 
+#@ MODIF post_k1_k2_k3_ops Macro  DATE 22/12/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -1154,10 +1154,11 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
 #     ------------------------------------------------------------------
 #                           --- METHODE 1 ---
 #     ------------------------------------------------------------------
+         nabs = len(abscs)
          x1 = abscs[1:-1]
-         x2 = abscs[2:  ]
+         x2 = abscs[2:nabs]
          y1 = saut[:,1:-1]/x1
-         y2 = saut[:,2:  ]/x2
+         y2 = saut[:,2:nabs]/x2
          k  = abs(y1-x1*(y2-y1)/(x2-x1))
          g  = coefg*(k[0]+k[1])+coefg3*k[2]
          kg1 = [max(k[0]),min(k[0]),max(k[1]),min(k[1]),max(k[2]),min(k[2])]
@@ -1179,8 +1180,9 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
 #     ------------------------------------------------------------------
 #                           --- METHODE 2 ---
 #     ------------------------------------------------------------------
-         x1 = abscs[1: ]
-         y1 = saut[:,1:]
+         nabs = len(abscs)
+         x1 = abscs[1:nabs]
+         y1 = saut[:,1:nabs]
          k  = abs(y1/x1)
          g  = coefg*(k[0]+k[1])+coefg3*k[2]
          kg2= [max(k[0]),min(k[0]),max(k[1]),min(k[1]),max(k[2]),min(k[2])]
@@ -1201,10 +1203,11 @@ def post_k1_k2_k3_ops(self,MODELISATION,FOND_FISS,FISSURE,MATER,RESULTAT,
 #     ------------------------------------------------------------------
 #                           --- METHODE 3 ---
 #     ------------------------------------------------------------------
+         nabs = len(abscs)
          x1 = abscs[:-1]
-         x2 = abscs[1: ]
+         x2 = abscs[1:nabs]
          y1 = saut[:,:-1]
-         y2 = saut[:,1: ]
+         y2 = saut[:,1:nabs]
          k  = (sqrt(y2)*sqrt(x2)+sqrt(y1)*sqrt(x1))*(x2-x1)
          k  = Numeric.sum(transpose(k))
          de = abscs[-1]
diff --git a/Aster/Cata/cataSTA9/Macro/reca_graphique.py b/Aster/Cata/cataSTA9/Macro/reca_graphique.py
new file mode 100644 (file)
index 0000000..c3ce8c8
--- /dev/null
@@ -0,0 +1,92 @@
+#@ MODIF reca_graphique Macro  DATE 16/05/2007   AUTEUR ASSIRE A.ASSIRE 
+# -*- coding: iso-8859-1 -*-
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2005  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
+# (AT YOUR OPTION) ANY LATER VERSION.                                                  
+#                                                                       
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
+#                                                                       
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
+# ======================================================================
+
+import string, copy, Numeric, types
+import Cata
+from Cata.cata import DEFI_FICHIER, IMPR_FONCTION
+from Utilitai.Utmess import UTMESS
+from Accas import _F
+
+try:
+  import Gnuplot
+except:
+  pass
+
+
+#_____________________________________________
+#
+# IMPRESSIONS GRAPHIQUES
+#_____________________________________________
+
+def graphique(FORMAT, L_F, res_exp, reponses, iter, UL_out, interactif):
+
+   if FORMAT=='XMGRACE':
+       for i in range(len(L_F)):
+           _tmp = []
+           courbe1 = res_exp[i]
+           _tmp.append( { 'ABSCISSE': courbe1[:,0].tolist(), 'ORDONNEE': courbe1[:,1].tolist(), 'COULEUR': 1 } )
+           courbe2 = L_F[i]
+           _tmp.append( { 'ABSCISSE': courbe2[:,0].tolist(), 'ORDONNEE': courbe2[:,1].tolist(), 'COULEUR': 2 } )
+
+           motscle2= {'COURBE': _tmp }
+           if interactif: motscle2['PILOTE']= 'INTERACTIF'
+           else:          motscle2['PILOTE']= 'POSTSCRIPT'
+
+#           DEFI_FICHIER(UNITE=int(UL_out), ACCES='NEW',)
+
+           IMPR_FONCTION(FORMAT='XMGRACE',
+                         UNITE=int(UL_out),
+                         TITRE='Courbe de : ' + reponses[i][0],
+                         SOUS_TITRE='Iteration : ' + str(iter),
+                         LEGENDE_X=reponses[i][1],
+                         LEGENDE_Y=reponses[i][2],
+                         **motscle2
+                         );
+#           DEFI_FICHIER(ACTION='LIBERER',UNITE=int(UL_out),)
+
+   elif FORMAT=='GNUPLOT':
+       graphe=[]
+       impr=Gnuplot.Gnuplot()
+       Gnuplot.GnuplotOpts.prefer_inline_data=1
+       impr('set data style linespoints')
+       impr('set grid')
+       impr('set pointsize 2.')
+       impr('set terminal postscript color')
+       impr('set output "fort.'+str(UL_out)+'"')
+
+       for i in range(len(L_F)):
+             if interactif:
+                graphe.append(Gnuplot.Gnuplot(persist=0))
+                graphe[i]('set data style linespoints')
+                graphe[i]('set grid')
+                graphe[i]('set pointsize 2.')
+                graphe[i].xlabel(reponses[i][1])
+                graphe[i].ylabel(reponses[i][2])
+                graphe[i].title(reponses[i][0]+'  Iteration '+str(iter))
+                graphe[i].plot(Gnuplot.Data(L_F[i],title='Calcul'),Gnuplot.Data(res_exp[i],title='Experimental'))
+                graphe[i]('pause 5')
+
+             impr.xlabel(reponses[i][1])
+             impr.ylabel(reponses[i][2])
+             impr.title(reponses[i][0]+'  Iteration '+str(iter))
+             impr.plot(Gnuplot.Data(L_F[i],title='Calcul'),Gnuplot.Data(res_exp[i],title='Experimental'))
+
+   else:
+     pass
index 09a27c57493b732dc53187d2cb274deb84a621d4..514f5d88b8fc20312d7e27ddae2eba983de8c6a4 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF simu_point_mat_ops Macro  DATE 07/10/2008   AUTEUR GENIAUT S.GENIAUT 
+#@ MODIF simu_point_mat_ops Macro  DATE 22/12/2008   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -126,13 +126,13 @@ def simu_point_mat_ops(self, COMP_INCR, MATER, INCREMENT, NEWTON,CONVERGENCE,REC
        FIN
      """
   
-  UL = UniteAster()
-  umail = UL.Libre(action='ASSOCIER', nom='simu.mail' )
-  
   fi_mail = open('simu.mail','w')
   fi_mail.write(texte_ma)
   fi_mail.close()
   
+  UL = UniteAster()
+  umail = UL.Libre(action='ASSOCIER', nom='simu.mail' )
+  
   __MA  =  LIRE_MAILLAGE(UNITE=umail)
   UL.EtatInit()
 
index 62e7d02cb5e828c016d7f9660531e83241b8306c..591d5f708d236966b8183aca7fa4148be489d0b4 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF test_fichier_ops Macro  DATE 19/11/2007   AUTEUR COURTOIS M.COURTOIS 
+#@ MODIF test_fichier_ops Macro  DATE 07/04/2009   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
index 56317c4008dbd14419974e5abce6f50239e9afc2..e7a6541733c9a9f9dfbc1c993273c49751c0b241 100644 (file)
@@ -1,4 +1,4 @@
-#@ MODIF sd_char_cine SD  DATE 16/09/2008   AUTEUR PELLET J.PELLET 
+#@ MODIF sd_char_cine SD  DATE 06/05/2009   AUTEUR MACOCCO K.MACOCCO 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -65,7 +65,7 @@ class sd_char_cine(AsBase):
         phen, tsca = self.u_veri1()
         afci=self.AFCI.get()
         nbloc=afci[0]
-        assert len(afci)==3*nbloc+1 , afci
+        assert len(afci)>=3*nbloc+1 , afci
         for k in range(nbloc) :
             nuno =afci[3*k +1]
             nucmp=afci[3*k +2]
@@ -86,7 +86,7 @@ class sd_char_cine(AsBase):
             assert afck[2].strip() != '' , afck
         else :
             tsca2 = self.AFCV.type.strip()
-            assert self.AFCV.lonmax == nbloc , (nbloc,self.AFCV.lonmax)
+            assert self.AFCV.lonmax >= nbloc , (nbloc,self.AFCV.lonmax)
 
             if tsca == 'RE' :
                 assert tsca2=='R', tsca2  # champ de réels
@@ -98,6 +98,6 @@ class sd_char_cine(AsBase):
             # vérification des fonctions :
             if tsca == 'FT'  :
                 afcv  = self.AFCV.get()
-                for fonc in afcv :
+                for fonc in afcv[:nbloc] :
                     sd2=sd_fonction(fonc); sd2.check(checker)
 
index c192236a7cd61549407951d52b62080e18a853ee..b19a145666fde0d8eaa0471635863f2e30e6cb4c 100644 (file)
@@ -1,4 +1,4 @@
-#& MODIF ENTETE  DATE 12/02/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF ENTETE  DATE 07/04/2009   AUTEUR COURTOIS M.COURTOIS 
 # -*- coding: iso-8859-1 -*-
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -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.
 # ======================================================================
+# RESPONSABLE COURTOIS M.COURTOIS
 
 # faire que la division soit toujours réelle
 from __future__ import division
@@ -226,7 +227,7 @@ from SD.co_vect_elem import vect_elem, \
                             vect_elem_pres_r, vect_elem_pres_c, \
                             vect_elem_temp_r
 
-#& MODIF COMMUN  DATE 20/10/2008   AUTEUR MICHEL S.MICHEL 
+#& MODIF COMMUN  DATE 20/04/2009   AUTEUR PROIX J-M.PROIX 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -336,7 +337,6 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
                                         "META_V_INL",      # RESP. : CANO V.CANO
                                         "MONOCRISTAL",     # RESP. : PROIX J.M.PROIX
                                         "MULTIFIBRE",      # RESP. : FLEJOU J.L.FLEJOU
-                                        "NADAI_B",         # RESP. : None
                                         "NORTON_HOFF",     # RESP. : MICHEL S.MICHEL
                                         "PINTO_MENEGOTTO", # RESP. : ROSPARS C.ROSPARS
                                         "POLYCRISTAL",     # RESP. : PROIX J.M.PROIX
@@ -352,7 +352,7 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
                                         "VISC_IRRA_LOG",   # RESP. : FERNANDES R.FERNANDES
                                         "VISC_ISOT_LINE",  # RESP. : MICHEL S.MICHEL
                                         "VISC_ISOT_TRAC",  # RESP. : PROIX J.M.PROIX
-                                        "VISCOCHAB",       # RESP. : None
+                                        "VISCOCHAB",       # RESP. : GENIAUT S.GENIAUT
                                         "VISC_TAHERI",     # RESP. : TAHERI S.TAHERI
                                         "VMIS_ASYM_LINE",  # RESP. : PROIX J.M.PROIX
                                         "VMIS_CIN1_CHAB",  # RESP. : PROIX J.M.PROIX
@@ -387,7 +387,6 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
                                        "VMIS_CINE_LINE",
                                        "VMIS_ISOT_TRAC",
                                        "VMIS_ISOT_LINE",
-                                       "VMIS_ISOT_CINE",
                                        "VMIS_ISOT_PUIS",
                                        "GLRC_DM",
                                        "GRANGER_FP",
@@ -395,7 +394,6 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
                                        "GRANGER_FP_V",
                                        "BETON_UMLV_FP",
                                        "ROUSS_PR",
-                                       "NADAI_B",
                                        "BETON_DOUBLE_DP",
                                        "ENDO_ISOT_BETON",
                                        "MAZARS"
@@ -449,7 +447,13 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
                                    "REAC_GEOM","EULER_ALMANSI")),
 
            ALGO_C_PLAN     =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
-           RESI_DEBORST  =SIMP(statut='f',typ='R',defaut= 1.0E-6),
+           RESI_DEBO_MAXI = SIMP(statut='f',typ='R',
+                   fr="Critère d'arret absolu pour assurer la condition de contraintes planes",
+           ),
+           b_resideborst      = BLOC(condition = " RESI_DEBO_MAXI == None ",
+           fr="Critère d'arret relatif pour assurer la condition de contraintes planes",
+                            RESI_DEBO_RELA = SIMP(statut='f',typ='R',defaut= 1.0E-6),
+                            ),
            ALGO_1D         =SIMP(statut='f',typ='TXM',defaut="ANALYTIQUE",into=("DEBORST","ANALYTIQUE",)),
            ITER_MAXI_DEBORST  =SIMP(statut='f',typ='I',defaut= 1),
 
@@ -480,23 +484,23 @@ def C_COMP_INCR() : return FACT(statut='f',min=1,max='**',  #COMMUN#
            MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
 
          ) ;
-#& MODIF COMMUN  DATE 21/10/2008   AUTEUR DESOZA T.DESOZA 
+#& MODIF COMMUN  DATE 06/05/2009   AUTEUR MACOCCO K.MACOCCO 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2008  EDF R&D                  WWW.CODE-ASTER.ORG
-# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
-# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
-# (AT YOUR OPTION) ANY LATER VERSION.                                                  
-#                                                                       
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
-#                                                                       
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
 # RESPONSABLE DESOZA T.DESOZA
 def C_CONTACT() : return FACT(statut='f',max='**',
@@ -509,66 +513,78 @@ def C_CONTACT() : return FACT(statut='f',max='**',
 # OPTIONS D'APPARIEMENT
 #
 
-           APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
-                                 into  =("NODAL","MAIT_ESCL")),
+           b_notxfem         =BLOC(condition = "METHODE != 'XFEM' ",
+                                   regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),
+                                           UN_PARMI('GROUP_MA_MAIT','MAILLE_MAIT'),),
 
-           LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",
-                                 into  =("OUI","NON")),          
-                             
-           NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",
-                                 into  =("MAIT","MAIT_ESCL","ESCL"),),
-                                 
-           VECT_MAIT       =SIMP(statut='f',typ='TXM',defaut="AUTO",
-                                 into  =("AUTO","FIXE","VECT_Y")),                      
+             GROUP_MA_MAIT   =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
+             MAILLE_MAIT     =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
+             GROUP_MA_ESCL   =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
+             MAILLE_ESCL     =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
 
-           b_nmait_fixe     =BLOC(condition = "VECT_MAIT == 'FIXE'",
-             MAIT_FIXE     =SIMP(statut='f',typ='R',min=3,max=3),
-           ),
+             APPARIEMENT     =SIMP(statut='f',typ='TXM',defaut="MAIT_ESCL",
+                                   into  =("NODAL","MAIT_ESCL")),
 
-           b_nmait_vecty    =BLOC(condition = "VECT_MAIT == 'VECT_Y'",
-             MAIT_VECT_Y   =SIMP(statut='f',typ='R',min=3,max=3),
-           ),
+             LISSAGE         =SIMP(statut='f',typ='TXM',defaut="NON",
+                                   into  =("OUI","NON")),
 
-           VECT_ESCL       =SIMP(statut='f',typ='TXM',defaut="AUTO",
-                                 into  =("AUTO","FIXE","VECT_Y")),                      
+             NORMALE         =SIMP(statut='f',typ='TXM',defaut="MAIT",
+                                   into  =("MAIT","MAIT_ESCL","ESCL"),),
 
-           b_nescl_fixe     =BLOC(condition = "VECT_ESCL == 'FIXE'",
-             ESCL_FIXE     =SIMP(statut='f',typ='R',min=3,max=3),
-           ),
+             VECT_MAIT       =SIMP(statut='f',typ='TXM',defaut="AUTO",
+                                   into  =("AUTO","FIXE","VECT_Y")),
 
-           b_nescl_vecty    =BLOC(condition = "VECT_ESCL == 'VECT_Y'",
-             ESCL_VECT_Y   =SIMP(statut='f',typ='R',min=3,max=3),
-           ),
+             b_nmait_fixe    =BLOC(condition = "VECT_MAIT == 'FIXE'",
+               MAIT_FIXE     =SIMP(statut='o',typ='R',min=3,max=3),
+             ),
+
+             b_nmait_vecty   =BLOC(condition = "VECT_MAIT == 'VECT_Y'",
+               MAIT_VECT_Y   =SIMP(statut='o',typ='R',min=3,max=3),
+             ),
 
+             VECT_ESCL       =SIMP(statut='f',typ='TXM',defaut="AUTO",
+                                   into  =("AUTO","FIXE","VECT_Y")),
+
+             b_nescl_fixe    =BLOC(condition = "VECT_ESCL == 'FIXE'",
+               ESCL_FIXE     =SIMP(statut='o',typ='R',min=3,max=3),
+             ),
+
+             b_nescl_vecty   =BLOC(condition = "VECT_ESCL == 'VECT_Y'",
+               ESCL_VECT_Y   =SIMP(statut='o',typ='R',min=3,max=3),
+             ),
+
+
+             TYPE_APPA       =SIMP(statut='f',typ='TXM',defaut="PROCHE",
+                                   into  =("PROCHE","FIXE")),
+
+             b_appa_fixe     =BLOC(condition = "TYPE_APPA == 'FIXE'",
+               DIRE_APPA     =SIMP(statut='f',typ='R',min=3,max=3),
+             ),
+
+             DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+             DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
+
+             TOLE_APPA       =SIMP(statut='f',typ='R'  ,defaut=-1.0),
 
-           TYPE_APPA       =SIMP(statut='f',typ='TXM',defaut="PROCHE",
-                                 into  =("PROCHE","FIXE")),  
-                                 
-           b_appa_fixe     =BLOC(condition = "TYPE_APPA == 'FIXE'",
-             DIRE_APPA     =SIMP(statut='f',typ='R',min=3,max=3),
            ),
-           
-           b_dist_struct   =BLOC(condition = "METHODE != 'CONTINUE' and METHODE != 'XFEM' ",
-             DIST_POUTRE     =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
-             DIST_COQUE      =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
-             b_cara         =BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'",
-               CARA_ELEM       =SIMP(statut='o',typ=(cara_elem) ),
+
+
+           b_dist_struct   =BLOC(condition = "METHODE != 'CONTINUE' and METHODE != 'XFEM'",
+             DIST_POUTRE   =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
+             DIST_COQUE    =SIMP(statut='f',typ='TXM',defaut="NON", into=("OUI","NON")),
+             b_cara        =BLOC(condition = "DIST_POUTRE == 'OUI' or DIST_COQUE == 'OUI'",
+               CARA_ELEM     =SIMP(statut='o',typ=(cara_elem) ),
              ),
            ),
-           
-           DIST_MAIT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
-           DIST_ESCL       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
 
+           TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),
+
+#
+# FIN OPTIONS D'APPARIEMENT
+#
 
-           TOLE_APPA       =SIMP(statut='f',typ='R'  ,defaut=-1.0), 
-           TOLE_PROJ_EXT   =SIMP(statut='f',typ='R'  ,defaut=0.50),  
-                
-                      
            b_xfem         =BLOC(condition = "METHODE == 'XFEM' ",
              FISS_MAIT      = SIMP(statut='o',typ=fiss_xfem,max=1),
-             FISS_ESCL      = SIMP(statut='f',typ=fiss_xfem,max=1),
-             SIGN_MAIT      = SIMP(statut='f',typ='TXM',into=("+","-",) ),
-             SIGN_ESCL      = SIMP(statut='f',typ='TXM',into=("+","-",) ),
              INTEGRATION    = SIMP(statut='f',typ='TXM',defaut="FPG4",into=("GAUSS","FPG2","FPG3","FPG4","FPG6",
                                                "FPG7","NOEUD","SIMPSON","SIMPSON1","NCOTES","NCOTES1","NCOTES2") ),
              COEF_REGU_CONT = SIMP(statut='f',typ='R',defaut=100.E+0),
@@ -588,14 +604,6 @@ def C_CONTACT() : return FACT(statut='f',max='**',
                ),
            ),
 
-           b_notxfem         =BLOC(condition = "METHODE != 'XFEM' ",
-                                   regles=(UN_PARMI('GROUP_MA_ESCL','MAILLE_ESCL'),),
-             GROUP_MA_MAIT   =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
-             MAILLE_MAIT     =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
-             GROUP_MA_ESCL   =SIMP(statut='f',typ=grma ,validators=NoRepeat(),max='**'),
-             MAILLE_ESCL     =SIMP(statut='f',typ=ma   ,validators=NoRepeat(),max='**'),
-           ),
-
 
 
            b_verif         =BLOC(condition = "METHODE == 'VERIF' ",
@@ -659,10 +667,12 @@ def C_CONTACT() : return FACT(statut='f',max='**',
                                       fr="Paramètres de la méthode pénalisée (contact avec ou sans frottement)",
                 E_N             =SIMP(statut='f',typ='R'),
                 FROTTEMENT      =SIMP(statut='f',typ='TXM',defaut="SANS",into=("SANS","COULOMB",) ),
-                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
-                                      into=("OUI","NON")),
-                NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
-                ITER_MULT_MAXI  =SIMP(statut='f',typ='I',defaut=4),
+                b_dualisation   =BLOC(condition = "E_N == None",
+                  STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
+                                        into=("OUI","NON")),
+                  NB_RESOL        =SIMP(statut='f',typ='I', defaut=10 ),
+                  ITER_MULT_MAXI  =SIMP(statut='f',typ='I',defaut=4),
+                ),
 
                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
                                       into=("AUTOMATIQUE","CONTROLE","SANS")),
@@ -673,12 +683,12 @@ def C_CONTACT() : return FACT(statut='f',max='**',
 
                 SANS_NOEUD      =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
                 SANS_GROUP_NO   =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-                
+
 
 
                 b_frottement    =BLOC(condition = "FROTTEMENT == 'COULOMB' ",fr="Paramètres du frottement de Coulomb",
                      COULOMB         =SIMP(statut='o',typ='R',),
-                     E_T             =SIMP(statut='f',typ='R',
+                     E_T             =SIMP(statut='o',typ='R',
                                            fr="Active la pénalisation sur le frottement et définit le coefficient de pénalisation"),
                      COEF_MATR_FROT  =SIMP(statut='f',typ='R',defaut=0.E+0),
                      ),),
@@ -700,8 +710,6 @@ def C_CONTACT() : return FACT(statut='f',max='**',
                                   COEF_PENA_CONT  =SIMP(statut='f',typ='R',defaut=100.E+0),),
 # --------------------------------
                 GLISSIERE =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),
-                b_glissiere =BLOC(condition = "GLISSIERE == 'OUI' ",
-                                  ALARME_JEU  =SIMP(statut='f',typ='R',defaut=0.),),
 # --------------------------------
                 COMPLIANCE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON",) ),
                 b_compliance    =BLOC(condition = "COMPLIANCE == 'OUI' ",fr="Parametres de la compliance",
@@ -773,8 +781,6 @@ def C_CONTACT() : return FACT(statut='f',max='**',
                                       fr="Critère de convergence (niveau d'interpénétration autorisé)"),
                 REAC_ITER       =SIMP(statut='f',typ='I',defaut=3, fr="Fréquence de réinitialisation de la conjugaison"),
                 ITER_GCP_MAXI   =SIMP(statut='f',typ='I',defaut=0, fr="Nombre d'itérations maximal pour le GCP"),
-                STOP_SINGULIER  =SIMP(statut='f',typ='TXM',defaut="OUI",
-                                      into=("OUI","NON")),
                 REAC_GEOM       =SIMP(statut='f',typ='TXM',defaut="AUTOMATIQUE",
                                       into=("AUTOMATIQUE","CONTROLE","SANS")),
 
@@ -2191,7 +2197,7 @@ AFFE_CHAR_CINE_F=OPER(nom="AFFE_CHAR_CINE_F",op= 101,sd_prod=affe_char_cine_f_pr
          ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 16/09/2008   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 06/05/2009   AUTEUR MACOCCO K.MACOCCO 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -2602,7 +2608,7 @@ AFFE_CHAR_MECA=OPER(nom="AFFE_CHAR_MECA",op=   7,sd_prod=char_meca,
            COEF_MULT       =SIMP(statut='f',typ='R',max='**'),
 
            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",
-                                 into=("CONTRAINTE","GCPC",) ),
+                                 into=("CONTRAINTE",) ),
 
 
         ),
@@ -3089,7 +3095,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 16/09/2008   AUTEUR PELLET J.PELLET 
+#& MODIF COMMANDE  DATE 06/05/2009   AUTEUR MACOCCO K.MACOCCO 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -3297,7 +3303,7 @@ AFFE_CHAR_MECA_F=OPER(nom="AFFE_CHAR_MECA_F",op=7,sd_prod=char_meca,
            COEF_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule),max='**'),
 
            METHODE         =SIMP(statut='f',typ='TXM',defaut="CONTRAINTE",
-                                 into=("CONTRAINTE","GCPC",) ),
+                                 into=("CONTRAINTE",) ),
 
 
         ),
@@ -4830,7 +4836,7 @@ CALC_CHAR_SEISME=OPER(nom="CALC_CHAR_SEISME",op=  92,sd_prod=calc_char_seisme_pr
          ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5361,8 +5367,8 @@ b_charge =BLOC( condition = "OPTION in ('EPME_ELNO_DEPL','EPSI_ELGA_DEPL','EPME_
          PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
          PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-         CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-         CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+         CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
+         CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
          OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
          ),
      ),
@@ -5532,7 +5538,7 @@ CALC_ESSAI = MACRO(nom       = 'CALC_ESSAI',
                                           ),
                         );
 
-#& MODIF COMMANDE  DATE 20/10/2008   AUTEUR ASSIRE A.ASSIRE 
+#& MODIF COMMANDE  DATE 28/04/2009   AUTEUR ASSIRE A.ASSIRE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2008  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -5571,8 +5577,8 @@ CALC_EUROPLEXUS = MACRO(nom="CALC_EUROPLEXUS",op=calc_europlexus_ops,sd_prod=cal
         CARA_ELEM  = SIMP(statut='o',typ=cara_elem),
 
         FONC_PARASOL = FACT(statut='f',
-           NFKT       = SIMP(statut='o',typ=(fonction_sdaster,)),
-           NFKR       = SIMP(statut='o',typ=(fonction_sdaster,)),
+           NFKT       = SIMP(statut='f',typ=(fonction_sdaster,)),
+           NFKR       = SIMP(statut='f',typ=(fonction_sdaster,)),
            GROUP_MA   = SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
            ),
 
@@ -5661,7 +5667,7 @@ CALC_EUROPLEXUS = MACRO(nom="CALC_EUROPLEXUS",op=calc_europlexus_ops,sd_prod=cal
             GROUP_NO   = SIMP(statut='f',typ=grno,validators=NoRepeat(),max=1),
             GROUP_MA   = SIMP(statut='f',typ=grma,validators=NoRepeat(),max=1),
 
-            b_maille = BLOC(condition = "MAILLE != None", regles=(AU_MOINS_UN('NUM_GAUSS')),
+            b_maille = BLOC(condition = "GROUP_MA != None", regles=(AU_MOINS_UN('NUM_GAUSS')),
               NUM_GAUSS = SIMP(statut='f',typ='I',validators=NoRepeat(),max='**'),),
          ),
         b_courbe = BLOC(condition = "COURBE != None",
@@ -6034,23 +6040,23 @@ CALC_FONCTION=MACRO(nom="CALC_FONCTION",op=calc_fonction_ops,sd_prod=calc_foncti
          PROL_GAUCHE_FONC=SIMP(statut='f',typ='TXM',into=("CONSTANT","LINEAIRE","EXCLU") ),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
-# (AT YOUR OPTION) ANY LATER VERSION.                                 
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
 #
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
 #
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
 # RESPONSABLE GREFFET N.GREFFET
 CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene,
@@ -6115,8 +6121,8 @@ CALC_FORC_AJOU=OPER(nom="CALC_FORC_AJOU",op=199,sd_prod=vect_asse_gene,
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                    into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
              OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
 
@@ -6316,23 +6322,23 @@ CALC_INTE_SPEC=OPER(nom="CALC_INTE_SPEC",op= 120,sd_prod=table_fonction,
          TITRE           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
          INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
-# (AT YOUR OPTION) ANY LATER VERSION.                                 
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
 #
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
 #
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
 # RESPONSABLE GREFFET N.GREFFET
 CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r,
@@ -6388,9 +6394,9 @@ CALC_MATR_AJOU=OPER(nom="CALC_MATR_AJOU",op= 152,sd_prod=matr_asse_gene_r,
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                    into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
-             OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),       
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
 
            b_petsc          =BLOC(condition = "METHODE == 'PETSC' ",fr="Paramètres de la méthode PETSC",
@@ -6615,7 +6621,7 @@ CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o',
          OPTION          =SIMP(statut='f',typ='TXM'     
                              ,into=("META_ELNO_TEMP",) ),
 )  ;
-#& MODIF COMMANDE  DATE 14/10/2008   AUTEUR NISTOR I.NISTOR 
+#& MODIF COMMANDE  DATE 27/04/2009   AUTEUR NISTOR I.NISTOR 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2008  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -6638,9 +6644,9 @@ CALC_META=OPER(nom="CALC_META",op=194,sd_prod=evol_ther,reentrant='o',
 
 from Macro.calc_modal_ops import calc_modal_ops
 
-def calc_modal_prod(self,AMORTISEMENT,**args):
-  if AMORTISEMENT=="NON": return mode_meca
-  if AMORTISEMENT=="OUI": return mode_meca_c
+def calc_modal_prod(self,AMORTISSEMENT,**args):
+  if AMORTISSEMENT=="NON": return mode_meca
+  if AMORTISSEMENT=="OUI": return mode_meca_c
   raise AsException("type de concept resultat non prevu")
 
 
@@ -6649,7 +6655,7 @@ CALC_MODAL=MACRO(nom="CALC_MODAL",op=calc_modal_ops,
                       sd_prod=calc_modal_prod,
                     fr="Calcul des modes propres reels ou complexes dans une seule commande",
          MODELE          =SIMP(statut='o',typ=modele_sdaster),
-         AMORTISEMENT    =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
+         AMORTISSEMENT    =SIMP(statut='f',typ='TXM',into=("OUI","NON"),defaut="NON" ),
          CHAM_MATER      =SIMP(statut='o',typ=cham_mater),
          INST            =SIMP(statut='f',typ='R',defaut=0.),
          CARA_ELEM       =SIMP(statut='f',typ=cara_elem),
@@ -6837,23 +6843,23 @@ CALC_NO=OPER(nom="CALC_NO",op= 106,sd_prod=calc_no_prod,reentrant='f',
          GROUP_NO_RESU   =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
          NOEUD_RESU      =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2003  EDF R&D                  WWW.CODE-ASTER.ORG
-# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
-# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
-# (AT YOUR OPTION) ANY LATER VERSION.                                                  
-#                                                                       
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
-#                                                                       
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
+#
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
+#
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
 # RESPONSABLE MICHEL S.MICHEL
 
@@ -6864,8 +6870,8 @@ from Macro.calc_precont_ops import calc_precont_ops
 #           CATALOGUE DE LA MACRO "CALC_PRECONT"
 #           -----------------------------------------
 # USAGE :
-# 
-#  
+#
+#
 # ===========================================================================
 
 CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
@@ -6902,7 +6908,7 @@ CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
            b_subd_extr=BLOC(condition = "SUBD_METHODE == 'EXTRAPOLE'",
              regles=(AU_MOINS_UN('SUBD_NIVEAU','SUBD_PAS_MINI'),),
              SUBD_OPTION    =SIMP(statut='f',typ='TXM',
-                into =("IGNORE_PREMIERES","GARDE_DERNIERES",), 
+                into =("IGNORE_PREMIERES","GARDE_DERNIERES",),
                 defaut="IGNORE_PREMIERES",
                 fr="Technique d'extrapolation : les 1ere itérations sont ignorées ou les dernières sont gardées"),
              SUBD_ITER_IGNO =SIMP(statut='c',typ='I',defaut=3,val_min=0,
@@ -6918,7 +6924,7 @@ CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
              SUBD_ITER_PLUS =SIMP(statut='c',typ='I',defaut=50,val_min=20,
                 fr="% itération autorisée en plus"),
            ),
-           # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS 
+           # FIN DE BLOC POUR LA SUBDIVISION DES PAS DE TEMPS
          ),
 
          NEWTON          =FACT(statut='d',
@@ -6990,8 +6996,8 @@ CALC_PRECONT=MACRO(nom="CALC_PRECONT",op=calc_precont_ops,sd_prod=evol_noli,
               PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                     into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
               PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-              CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-              CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+              CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
+              CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
               OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
               ),
 
@@ -7267,7 +7273,7 @@ CALC_THETA=OPER(nom="CALC_THETA",op=54,sd_prod=theta_geom,reentrant='n',
            FORMAT          =SIMP(statut='f',typ='TXM',defaut="EXCEL",into=("EXCEL","AGRAF") ),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 21/10/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 07/04/2009   AUTEUR ABBAS M.ABBAS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2007  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7300,7 +7306,8 @@ CALCUL=OPER(nom="CALCUL",op=26,sd_prod=table_container,reentrant='f',
        CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
        FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
        TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
-                             into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
+                                 into=("FIXE_CSTE",)),
+
      ),
      DEPL            =SIMP(statut='o',typ=cham_no_sdaster ),
      INCR_DEPL       =SIMP(statut='o',typ=cham_no_sdaster ),
@@ -7417,7 +7424,7 @@ COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier,
          NOM_CHAM        =SIMP(statut='o',typ='TXM',validators=NoRepeat(),max=6,
              into=("DEPL","REAC_NODA","SIEF_ELGA_DEPL","EPSI_ELNO_DEPL","SIGM_ELNO_DEPL","TEMP","FLUX_ELNO_TEMP"),),
 ) ;
-#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#& MODIF COMMANDE  DATE 08/12/2008   AUTEUR SELLENET N.SELLENET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -7435,7 +7442,7 @@ COMB_FOURIER=OPER(nom="COMB_FOURIER",op= 161,sd_prod=comb_fourier,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
-# RESPONSABLE PELLET J.PELLET
+# RESPONSABLE SELLENET N.SELLENET
 def comb_matr_asse_prod(COMB_R,COMB_C,CALC_AMOR_GENE,**args):
   if COMB_C != None:
     type_mat = AsType(COMB_C[0]['MATR_ASSE'])
@@ -9326,7 +9333,7 @@ DEFI_GEOM_FIBRE=OPER(nom="DEFI_GEOM_FIBRE",op=  119, sd_prod=gfibre_sdaster,
 
 
 ) ;
-#& MODIF COMMANDE  DATE 20/10/2008   AUTEUR ASSIRE A.ASSIR
+#& MODIF COMMANDE  DATE 20/04/2009   AUTEUR SFAYOLLE S.FAYOLL
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2008  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -9344,22 +9351,18 @@ DEFI_GEOM_FIBRE=OPER(nom="DEFI_GEOM_FIBRE",op=  119, sd_prod=gfibre_sdaster,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
 # ======================================================================
-# RESPONSABLE MARKOVIC D.MARKOVIC
+# RESPONSABLE SFAYOLLE S.FAYOLLE
 DEFI_GLRC=OPER(nom="DEFI_GLRC",op=57,sd_prod=mater_sdaster,reentrant='f',
-            UIinfo={"groupes":("Modélisation",)},
-                    fr="Déterminer les caractéristiques du béton armé homogénéisées à partir des propriétés du béton et de  "
+            UIinfo={"groupes":("Modelisation",)},
+                    fr="Determiner les caracteristiques du beton arme homogeneisees a partir des proprietes du beton et de  "
                         +" plusieurs types d'armature",
          reuse = SIMP(statut='f',typ=mater_sdaster), 
          BETON          =FACT(statut='o',max=1,
            MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
            EPAIS           =SIMP(statut='o',typ='R',val_min=0.E+0 ),
-           OMT             =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0.0E+0), 
-           EAT             =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0.0E+0), 
-           BT1             =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0.0E+0), 
-           BT2             =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0.0E+0), 
-           GAMMA           =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), 
-           QP1             =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), 
-           QP2             =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0), 
+           GAMMA           =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0),
+           QP1             =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0),
+           QP2             =SIMP(statut='o',typ='R',val_min=0.E+0,val_max=1.E+0),
 
            C1N1            =SIMP(statut='o',typ='R',val_min=0.E+0),
            C1N2            =SIMP(statut='o',typ='R',val_min=0.E+0),
@@ -9373,36 +9376,40 @@ DEFI_GLRC=OPER(nom="DEFI_GLRC",op=57,sd_prod=mater_sdaster,reentrant='f',
            C2M1            =SIMP(statut='o',typ='R',val_min=0.E+0),
            C2M2            =SIMP(statut='o',typ='R',val_min=0.E+0),
            C2M3            =SIMP(statut='o',typ='R',val_min=0.E+0),
-           
-           MP1X            =SIMP(statut='f',typ=('R',listr8_sdaster)), 
-           MP2X            =SIMP(statut='f',typ=('R',listr8_sdaster)), 
-           MP1Y            =SIMP(statut='f',typ=('R',listr8_sdaster)), 
-           MP2Y            =SIMP(statut='f',typ=('R',listr8_sdaster)), 
+
+           OMT             =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0.0E+0),
+           EAT             =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0.0E+0),
+           BT1             =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0.0E+0),
+           BT2             =SIMP(statut='f',typ='R',val_min=0.E+0,defaut=0.0E+0),
+
+           MP1X            =SIMP(statut='f',typ=('R',listr8_sdaster)),
+           MP2X            =SIMP(statut='f',typ=('R',listr8_sdaster)),
+           MP1Y            =SIMP(statut='f',typ=('R',listr8_sdaster)),
+           MP2Y            =SIMP(statut='f',typ=('R',listr8_sdaster)),
          ),
          NAPPE     =FACT(statut='o',max=10,
            MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
-           OMX             =SIMP(statut='o',typ='R',val_min=0.E+0), 
-           OMY             =SIMP(statut='o',typ='R',val_min=0.E+0), 
-           RX              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), 
-           RY              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), 
-           FS              =SIMP(statut='f',typ='R',val_min=0.E+0),
+           OMX             =SIMP(statut='o',typ='R',val_min=0.E+0),
+           OMY             =SIMP(statut='o',typ='R',val_min=0.E+0),
+           RX              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0),
+           RY              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0),
          ),
          CABLE_PREC   =FACT(statut='f',max=1,
            MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
-           OMX             =SIMP(statut='o',typ='R',val_min=0.E+0), 
-           OMY             =SIMP(statut='o',typ='R',val_min=0.E+0), 
-           RX              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), 
-           RY              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), 
-           PREX            =SIMP(statut='o',typ='R'), 
-           PREY            =SIMP(statut='o',typ='R'), 
+           OMX             =SIMP(statut='o',typ='R',val_min=0.E+0),
+           OMY             =SIMP(statut='o',typ='R',val_min=0.E+0),
+           RX              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0),
+           RY              =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0),
+           PREX            =SIMP(statut='o',typ='R'),
+           PREY            =SIMP(statut='o',typ='R'),
          ),
          LINER           =FACT(statut='f',max=10,
            MATER           =SIMP(statut='o',typ=(mater_sdaster) ),
-           OML             =SIMP(statut='o',typ='R',val_min=0.E+0), 
-           RLR             =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0), 
+           OML             =SIMP(statut='o',typ='R',val_min=0.E+0),
+           RLR             =SIMP(statut='o',typ='R',val_min=-1.E+0,val_max=1.E+0),
          ),
          IMPRESSION      =FACT(statut='f',
-           UNITE           =SIMP(statut='f',typ='I',defaut=8),  
+           UNITE           =SIMP(statut='f',typ='I',defaut=8),
          ),
 )  ;
 #& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
@@ -9881,7 +9888,7 @@ DEFI_MAILLAGE=OPER(nom="DEFI_MAILLAGE",op=  88,sd_prod=maillage_sdaster,
            GROUP_NO_FIN    =SIMP(statut='f',typ=grno),
          ),
 )  ;
-#& MODIF COMMANDE  DATE 20/10/2008   AUTEUR MICHEL S.MICHEL 
+#& MODIF COMMANDE  DATE 22/12/2008   AUTEUR PROIX J-M.PROIX 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -10358,30 +10365,30 @@ DEFI_MATERIAU=OPER(nom="DEFI_MATERIAU",op=5,sd_prod=mater_sdaster,
            ),
            VISCOCHAB       =FACT(statut='f',
              K_0             =SIMP(statut='o',typ='R'),
-             A_K             =SIMP(statut='o',typ='R'),
-             A_R             =SIMP(statut='o',typ='R'),
+             A_K             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
+             A_R             =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
              K               =SIMP(statut='o',typ='R'),
              N               =SIMP(statut='o',typ='R'),
-             ALP             =SIMP(statut='o',typ='R'),
-             B               =SIMP(statut='o',typ='R'),
-             M_R             =SIMP(statut='o',typ='R'),
-             G_R             =SIMP(statut='o',typ='R'),
-             MU              =SIMP(statut='o',typ='R'),
+             ALP             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
+             B               =SIMP(statut='f',typ='R'),
+             M_R             =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
+             G_R             =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
+             MU              =SIMP(statut='o',typ='R',defaut= 0.E+0 ),
              Q_M             =SIMP(statut='o',typ='R'),
              Q_0             =SIMP(statut='o',typ='R'),
-             QR_0            =SIMP(statut='o',typ='R'),
-             ETA             =SIMP(statut='o',typ='R'),
+             QR_0            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
+             ETA             =SIMP(statut='f',typ='R',defaut= 0.5E+0 ),
              C1              =SIMP(statut='o',typ='R'),
-             M_1             =SIMP(statut='o',typ='R'),
-             D1              =SIMP(statut='o',typ='R'),
-             G_X1            =SIMP(statut='o',typ='R'),
+             M_1             =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
+             D1              =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
+             G_X1            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
              G1_0            =SIMP(statut='o',typ='R'),
              C2              =SIMP(statut='o',typ='R'),
-             M_2             =SIMP(statut='o',typ='R'),
-             D2              =SIMP(statut='o',typ='R'),
-             G_X2            =SIMP(statut='o',typ='R'),
+             M_2             =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
+             D2              =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
+             G_X2            =SIMP(statut='f',typ='R',defaut= 0.E+0 ),
              G2_0            =SIMP(statut='o',typ='R'),
-             A_I             =SIMP(statut='o',typ='R'),
+             A_I             =SIMP(statut='f',typ='R',defaut= 1.E+0 ),
            ),
            VISCOCHAB_FO    =FACT(statut='f',
              K_0             =SIMP(statut='o',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -13553,23 +13560,23 @@ DYNA_ISS_VARI=MACRO(nom="DYNA_ISS_VARI",op=dyna_iss_vari_ops ,sd_prod=table_fonc
 #             
          INFO           =SIMP(statut='f',typ='I' ,defaut=1,into=( 1 , 2)),
          )  ;
-#& MODIF COMMANDE  DATE 06/10/2008   AUTEUR DEVESA G.DEVESA 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
-# (AT YOUR OPTION) ANY LATER VERSION.                                 
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
 #
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
 #
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
 # RESPONSABLE ANDRIAM H.ANDRIAMBOLOLONA
 def dyna_line_harm_prod(MATR_RIGI,**args):
@@ -13604,7 +13611,7 @@ DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
          NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,into=("DEPL","VITE","ACCE") ),
          b_reuse =BLOC(condition = "reuse",fr="en mode concept reentrant : RESULTAT obligatoire",
              RESULTAT      =SIMP(statut='o',typ=(dyna_harmo,harm_gene)),
-         ),         
+         ),
          EXCIT           =FACT(statut='o',max='**',
            regles=(UN_PARMI('VECT_ASSE','CHARGE'),
                    UN_PARMI('FONC_MULT','FONC_MULT_C','COEF_MULT','COEF_MULT_C'),
@@ -13650,8 +13657,8 @@ DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                        into=("CENTRALISE","DISTRIBUE_MAILLE","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=0,min=0),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
              OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
            ),
           ),
@@ -13684,8 +13691,8 @@ DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                        into=("CENTRALISE","DISTRIBUE_MAILLE","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=0,min=0),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
              OUT_OF_CORE      =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
           ),
@@ -13697,8 +13704,8 @@ DYNA_LINE_HARM=OPER(nom="DYNA_LINE_HARM",op=  60,sd_prod=dyna_line_harm_prod,
                                ang="List of sensitivity parameters"),
 )  ;
 # Rajouter test icompatibilite vect_asse et sensibilite
-# Peut-on aussi rajouter ici le test d incompatibilite charge complexe - derivation 
-#  presents dans le Fortran          
+# Peut-on aussi rajouter ici le test d incompatibilite charge complexe - derivation
+#  presents dans le Fortran
 #& MODIF COMMANDE  DATE 06/10/2008   AUTEUR DEVESA G.DEVESA 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
@@ -13878,7 +13885,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 18/11/2008   AUTEUR ABBAS M.ABBAS 
+#& MODIF COMMANDE  DATE 21/04/2009   AUTEUR ABBAS M.ABBAS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -13914,7 +13921,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
                    # PRESENT_ABSENT('MULT_APPUI','FONC_MULT'),
                    ),
            TYPE_CHARGE     =SIMP(statut='f',typ='TXM',defaut="FIXE_CSTE",
-                                 into=("FIXE_CSTE","FIXE_PILO","SUIV","DIDI")),
+                                 into=("FIXE_CSTE","SUIV","DIDI")),
            CHARGE          =SIMP(statut='o',typ=(char_meca,char_cine_meca)),
            FONC_MULT       =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
            DEPL            =SIMP(statut='f',typ=(fonction_sdaster,nappe_sdaster,formule)),
@@ -13957,7 +13964,6 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC","ELAS_VMIS_PUIS",
                                       "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")),
-           ELAS            =SIMP(statut='c',typ='I',defaut=1,into=(1,)),
            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
@@ -14074,22 +14080,22 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
                                   into=("DIFF_CENT","TCHAMWA","NEWMARK","HHT","THETA_METHODE"),),
             b_tchamwa = BLOC(condition="SCHEMA=='TCHAMWA'",
                PHI          =SIMP(statut='f',typ='R',defaut= 1.05),),
-               
+
             b_newmark = BLOC(condition="SCHEMA=='NEWMARK'",
                BETA         =SIMP(statut='f',typ='R',defaut= 0.25),
                GAMMA        =SIMP(statut='f',typ='R',defaut= 0.5),),
-               
+
             b_hht     = BLOC(condition="SCHEMA=='HHT'",
                ALPHA        =SIMP(statut='f',typ='R',defaut= -0.3 ),
                MODI_EQUI    =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON"),),),
-               
+
             b_theta   = BLOC(condition="SCHEMA=='THETA_METHODE'",
                THETA         =SIMP(statut='f',typ='R',defaut= 1.,val_min=0.5,val_max=1. ),),
-               
+
             b_explicit= BLOC(condition="SCHEMA=='TCHAMWA'or SCHEMA=='DIFF_CENT'",
                STOP_CFL     =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON"),),
                FORMULATION  =SIMP(statut='o',typ='TXM',into=("ACCELERATION",),),),
-               
+
             b_implicit= BLOC(condition="SCHEMA!='TCHAMWA'and SCHEMA!='DIFF_CENT'",
                FORMULATION  =SIMP(statut='o',max=1,typ='TXM',into=("DEPLACEMENT","VITESSE","ACCELERATION"),),),
          ),
@@ -14124,8 +14130,8 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                    into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
              OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
            b_gcpc          =BLOC(condition="METHODE == 'GCPC'",fr="Paramètres de la méthode du gradient conjugué",
@@ -14141,11 +14147,11 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
              b_petsc_ilu     =BLOC(condition = "PRE_COND == 'LDLT_INC' ",
               NIVE_REMPLISSAGE = SIMP(statut='f',typ='I',defaut= 0 ),
               REMPLISSAGE      = SIMP(statut='f',typ='R',defaut= 1.0),
-             ),            
+             ),
              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= -1 ),
-           ),           
+           ),
            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
          ),
 #-------------------------------------------------------------------
@@ -14168,12 +14174,12 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
            TYPE            =SIMP(statut='f',typ='TXM',defaut="PIC",into=("PIC","PLATEAU")),
            b_plateau    =BLOC(condition = "TYPE == 'PLATEAU' ",
-             
+
              PLATEAU_ITER    =SIMP(statut='f',typ='I',defaut=3, val_min =2),
-             PLATEAU_RELA    =SIMP(statut='f',typ='R',defaut=1E-3),                   
+             PLATEAU_RELA    =SIMP(statut='f',typ='R',defaut=1E-3),
            ),
            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI"),
-           
+
          ),
 #-------------------------------------------------------------------
          OBSERVATION     =FACT(statut='f',max='**',
@@ -14229,7 +14235,6 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
                                       "RESI_REFE","REFE_NOEU",
                                       "RELI_ITER","RELI_COEF",
                                       "PILO_PARA",
-                                      "LAGR_ECAR","LAGR_INCR","LAGR_ITER",
                                       "MATR_ASSE",
                                       "ITER_DEBO",
                                       "CTCD_ITER","CTCD_GEOM","CTCD_NOEU",
@@ -14257,7 +14262,7 @@ DYNA_NON_LINE=OPER(nom="DYNA_NON_LINE",op= 70,sd_prod=evol_noli,reentrant='f',
            NUME_INIT       =SIMP(statut='f',typ='I'),
            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
-           into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE","LANL_ELGA")),
+           into=("DEPL","SIEF_ELGA","VARI_ELGA","ACCE","VITE",)),
          ),
 
 #-------------------------------------------------------------------
@@ -14313,7 +14318,7 @@ DYNA_SPEC_MODAL=OPER(nom="DYNA_SPEC_MODAL",op= 147,sd_prod=table_fonction,
          OPTION          =SIMP(statut='f',typ='TXM',defaut="TOUT",into=("TOUT","DIAG") ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -14552,8 +14557,8 @@ DYNA_TRAN_MODAL=OPER(nom="DYNA_TRAN_MODAL",op=  74,sd_prod=tran_gene,
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                    into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
              OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
          ),
@@ -15655,7 +15660,7 @@ IMPR_OAR =MACRO(nom="IMPR_OAR",op= impr_oar_ops, sd_prod=None,
    UNITE = SIMP(statut='f',typ='I',defaut=38),
    AJOUT = SIMP(statut='f', typ='TXM', defaut='NON', into=('OUI', 'NON')),
    );
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 12/01/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -15713,15 +15718,15 @@ IMPR_RESU=PROC(nom="IMPR_RESU",op=39,
            VERSION         =SIMP(statut='f',typ='R',defaut=1.2,into=(1.0,1.2)),
          ),
 
-         RESTREINT   =FACT(statut='f',fr="Réduire le maillage et les champs imprimés sur un ensemble de mailles",max=1,
+
+         RESTREINT   =FACT(statut='f', max=1,
+           fr="Pour réduire une ou plusieurs sd_resultat sur un ensemble de mailles",
            regles=(AU_MOINS_UN('GROUP_MA','MAILLE',),),
            GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
            MAILLE          =SIMP(statut='f',typ=ma,validators=NoRepeat(),max='**'),
            TOUT_GROUP_MA   =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),),
            GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
            TOUT_GROUP_NO   =SIMP(statut='f',typ='TXM',defaut='NON',into=('OUI','NON'),),
-           MODELE          =SIMP(statut='f',typ=modele_sdaster,
-                                 fr="Nécessaire s'il y a des cham_elem dans la sd_resultat à imprimer."),
          ),
 
          RESU            =FACT(statut='o',max='**',
@@ -17501,7 +17506,7 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
                              ang="Incompatible elements for HOMARD" ),
 #
 ) ;
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR GALENNE E.GALENN
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17521,12 +17526,11 @@ MACR_ADAP_MAIL=MACRO(nom="MACR_ADAP_MAIL",op=macr_adap_mail_ops,sd_prod=macr_ada
 # ======================================================================
 # RESPONSABLE GALENNE E.GALENNE
 from Macro.macr_ascouf_calc_ops import macr_ascouf_calc_ops
-def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,CHARGE,RESU_THER,**args):
+def macr_ascouf_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS,RESU_THER,**args):
   self.type_sdprod(MODELE,modele_sdaster)
   if CHAM_MATER != None:self.type_sdprod(CHAM_MATER,cham_mater)
   if CARA_ELEM  != None:self.type_sdprod(CARA_ELEM,cara_elem)
   if FOND_FISS  != None:self.type_sdprod(FOND_FISS,fond_fiss)
-  if CHARGE     != None:self.type_sdprod(CHARGE,char_meca)
   if RESU_THER  != None:self.type_sdprod(RESU_THER,evol_ther)
   return evol_noli
 
@@ -17553,7 +17557,6 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=ma
          CHAM_MATER      =SIMP(statut='f',typ=CO,),
          CARA_ELEM       =SIMP(statut='f',typ=CO,),
          FOND_FISS       =SIMP(statut='f',typ=CO,),
-         CHARGE          =SIMP(statut='f',typ=CO,),
          RESU_THER       =SIMP(statut='f',typ=CO,),
 
          AFFE_MATERIAU   =FACT(statut='o',max=3,
@@ -17618,8 +17621,8 @@ MACR_ASCOUF_CALC=MACRO(nom="MACR_ASCOUF_CALC",op=macr_ascouf_calc_ops,sd_prod=ma
             PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                   into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
             PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-            CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-            CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+            CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0,),
+            CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
             OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
             ),
 
@@ -17915,7 +17918,7 @@ MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op=macr_ascouf_mail_ops,sd_prod=ma
 
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETT
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR GALENNE E.GALENN
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -17936,13 +17939,12 @@ MACR_ASCOUF_MAIL=MACRO(nom="MACR_ASCOUF_MAIL",op=macr_ascouf_mail_ops,sd_prod=ma
 # RESPONSABLE GALENNE E.GALENNE
 from Macro.macr_aspic_calc_ops import macr_aspic_calc_ops
 
-def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_2,CHARGE,RESU_THER,**args):
+def macr_aspic_calc_prod(self,MODELE,CHAM_MATER,CARA_ELEM,FOND_FISS_1,FOND_FISS_2,RESU_THER,**args):
   if MODELE      != None:self.type_sdprod(MODELE,modele_sdaster)
   if CHAM_MATER  != None:self.type_sdprod(CHAM_MATER,cham_mater)
   if CARA_ELEM   != None:self.type_sdprod(CARA_ELEM,cara_elem)
   if FOND_FISS_1 != None:self.type_sdprod(FOND_FISS_1,fond_fiss)
   if FOND_FISS_2 != None:self.type_sdprod(FOND_FISS_2,fond_fiss)
-  if CHARGE      != None:self.type_sdprod(CHARGE,char_meca)
   if RESU_THER   != None:self.type_sdprod(RESU_THER,evol_ther)
   return evol_noli
 
@@ -17964,7 +17966,6 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_
          CARA_ELEM       =SIMP(statut='f',typ=CO,),
          FOND_FISS_1     =SIMP(statut='f',typ=CO,),
          FOND_FISS_2     =SIMP(statut='f',typ=CO,),
-         CHARGE          =SIMP(statut='f',typ=CO,),
          RESU_THER       =SIMP(statut='f',typ=CO,),
 
          AFFE_MATERIAU   =FACT(statut='o',max=3,
@@ -18059,8 +18060,8 @@ MACR_ASPIC_CALC=MACRO(nom="MACR_ASPIC_CALC",op=macr_aspic_calc_ops,sd_prod=macr_
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                    into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0,),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
              OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
   
@@ -19366,23 +19367,23 @@ MACRO_EXPANS=MACRO(nom="MACRO_EXPANS",
                                         ),
                                              ),
                    )
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
-# (AT YOUR OPTION) ANY LATER VERSION.                                 
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
 #
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
 #
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
 # RESPONSABLE GREFFET N.GREFFET
 
@@ -19478,8 +19479,8 @@ MACRO_MATR_AJOU=MACRO(nom="MACRO_MATR_AJOU",op=macro_matr_ajou_ops,sd_prod=macro
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                    into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
              OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
 
@@ -19992,7 +19993,7 @@ MAJ_CATA=PROC(nom="MAJ_CATA",op=20,
          ELEMENT         =FACT(statut='f',),
 
 )  ;
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20094,8 +20095,8 @@ MECA_STATIQUE=OPER(nom="MECA_STATIQUE",op=46,sd_prod=evol_elas,
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                    into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
              OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
 
@@ -20170,7 +20171,7 @@ MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op=  80,sd_prod=mode_cycl,
          ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 05/05/2008   AUTEUR NISTOR I.NISTOR 
+#& MODIF COMMANDE  DATE 06/05/2009   AUTEUR MACOCCO K.MACOCCO 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20188,7 +20189,7 @@ MODE_ITER_CYCL=OPER(nom="MODE_ITER_CYCL",op=  80,sd_prod=mode_cycl,
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE NISTOR I.NISTOR
+# RESPONSABLE O.BOITEAU
 
 def mode_iter_inv_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
   if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
@@ -20267,7 +20268,7 @@ MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op=  44,sd_prod=mode_iter_inv_prod
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
          TITRE           =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 05/05/2008   AUTEUR NISTOR I.NISTOR 
+#& MODIF COMMANDE  DATE 06/05/2009   AUTEUR MACOCCO K.MACOCCO 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20285,7 +20286,7 @@ MODE_ITER_INV=OPER(nom="MODE_ITER_INV",op=  44,sd_prod=mode_iter_inv_prod
 # ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
 #    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
 # ======================================================================
-# RESPONSABLE NISTOR I.NISTOR
+# RESPONSABLE O.BOITEAU
 
 def mode_iter_simult_prod(MATR_A,MATR_C,TYPE_RESU,**args ):
   if TYPE_RESU == "MODE_FLAMB" : return mode_flamb
@@ -20417,7 +20418,7 @@ MODE_ITER_SIMULT=OPER(nom="MODE_ITER_SIMULT",op=  45,sd_prod=mode_iter_simult_pr
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),        
 )  ;
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20514,8 +20515,8 @@ MODE_STATIQUE=OPER(nom="MODE_STATIQUE",op= 93,sd_prod=mode_stat_prod,
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                    into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
              OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
 
@@ -20738,7 +20739,7 @@ MODI_MAILLAGE=OPER(nom="MODI_MAILLAGE",op= 154,sd_prod=maillage_sdaster,
          ),
          INFO            =SIMP(statut='f',typ='I',defaut= 1,into=( 1 , 2) ),
 )  ;
-#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR GENIAUT S.GENIAUT 
+#& MODIF COMMANDE  DATE 20/04/2009   AUTEUR GENIAUT S.GENIAUT 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2004  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -20764,7 +20765,7 @@ MODI_MODELE_XFEM=OPER(nom="MODI_MODELE_XFEM",op= 113,sd_prod=modele_sdaster,docu
                            
     MODELE_IN       =SIMP(statut='o',typ=modele_sdaster,min=1,max=1,),
     FISSURE         =SIMP(statut='o',typ=fiss_xfem,min=1,max='**',),
-    CRITERE         =SIMP(statut='f',typ='R',defaut=1.67E-8),
+    CRITERE         =SIMP(statut='f',typ='R',defaut=1.1E-4),
     INFO            =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,)),
     CONTACT         =SIMP(statut='f',typ='TXM',defaut='NON',into=("OUI","NON"),min=1,max=1,),
 )  ;
@@ -22251,7 +22252,7 @@ POST_MAIL_XFEM=OPER(nom="POST_MAIL_XFEM",op= 187,sd_prod=maillage_sdaster,
     INFO           =SIMP(statut='f',typ='I',defaut= 1,into=(1,2,) ),
 
 );                     
-#& MODIF COMMANDE  DATE 03/11/2008   AUTEUR MACOCCO K.MACOCCO 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR GALENNE E.GALENNE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -22408,7 +22409,6 @@ POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=table_sdaster,
               NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
               NUME_GROUPE      =SIMP(statut='o',typ='I',fr="numéros du groupe de la situation" ),
               CHAR_ETAT        =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
-              NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
                                ),
          SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
               NB_OCCUR         =SIMP(statut='o',typ='I',fr="nombre d'occurences de la situation" ),
@@ -22508,7 +22508,6 @@ POST_RCCM=OPER(nom="POST_RCCM",op= 165,sd_prod=table_sdaster,
               NOM_SITU         =SIMP(statut='f',typ='TXM',fr="nom de la situation" ),
               NUME_GROUPE      =SIMP(statut='o',typ='I',fr="numéros du groupe de la situation" ),
               CHAR_ETAT        =SIMP(statut='o',typ='I',max='**',fr="numeros de chargements etat A" ),
-              NUME_RESU_THER   =SIMP(statut='f',typ='I',max='**',fr="numeros de transitoires thermiques" ),
               TEMP_REF         =SIMP(statut='f',typ='R',fr="temperature référence"),
                                ),
          SITUATION         =FACT(statut='o',max='**',fr="Situation",ang="situation_ang",
@@ -23051,7 +23050,7 @@ PROD_MATR_CHAM=OPER(nom="PROD_MATR_CHAM",op= 156,sd_prod=cham_no_sdaster,
          CHAM_NO         =SIMP(statut='o',typ=cham_no_sdaster),
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
 )  ;
-#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#& MODIF COMMANDE  DATE 06/04/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -23129,6 +23128,14 @@ PROJ_CHAMP=OPER(nom="PROJ_CHAMP",op= 166,sd_prod=proj_champ_prod,reentrant='f',
            NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),
            NOEUD_CMP       =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**'),
 
+           b_acce_reel     =BLOC(condition="(FREQ != None)or(LIST_FREQ != None)or(INST != None)or(LIST_INST != None)",
+              CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("RELATIF","ABSOLU",),),
+              b_prec_rela=BLOC(condition="(CRITERE=='RELATIF')",
+                   PRECISION       =SIMP(statut='f',typ='R',defaut= 1.E-6,),),
+              b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
+                   PRECISION       =SIMP(statut='o',typ='R',),),
+           ),
+
 
            CAS_FIGURE      =SIMP(statut='f',typ='TXM',into=("2D","3D","2.5D","1.5D",),
                 fr="Pour indiquer au programme le type de projection souhaité"),
@@ -23345,7 +23352,7 @@ PROJ_VECT_BASE=OPER(nom="PROJ_VECT_BASE",op=  72,sd_prod=vect_asse_gene,
          VECT_ASSE       =SIMP(statut='f',typ=cham_no_sdaster),
          VECT_ASSE_GENE  =SIMP(statut='f',typ=vect_asse_gene ),
 )  ;
-#& MODIF COMMANDE  DATE 20/10/2008   AUTEUR GALENNE E.GALENNE 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR MESSIER J.MESSIER 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2008  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -23390,7 +23397,7 @@ PROPA_FISS=MACRO(nom="PROPA_FISS",op=propa_fiss_ops,sd_prod=propa_fiss_prod,
         b_hamilton    =BLOC(condition="(METHODE_PROPA=='HAMILTON')",
               MODELE        =SIMP(statut='o',typ=modele_sdaster),
               RAYON          =SIMP(statut='o',typ='R',),
-              METHODE =SIMP(statut='f',typ='TXM',into=("SIMPLEXE","UPWIND",),defaut="SIMPLEXE"),
+              METHODE =SIMP(statut='f',typ='TXM',into=("SIMPLEXE",),defaut="SIMPLEXE"),
               FISSURE =  SIMP(statut='o',typ=CO),
               TABLE   =       SIMP(statut='o',typ=table_sdaster),
                                 ),          
@@ -23863,7 +23870,7 @@ RESOUDRE=OPER(nom="RESOUDRE",op=15,sd_prod=cham_no_sdaster,reentrant='f',
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
 )  ;
-#& MODIF COMMANDE  DATE 21/10/2008   AUTEUR NISTOR I.NISTOR 
+#& MODIF COMMANDE  DATE 06/04/2009   AUTEUR DEVESA G.DEVESA 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2008  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -23897,13 +23904,11 @@ REST_COND_TRAN=OPER(nom="REST_COND_TRAN",op=  78,sd_prod=rest_cond_tran_prod,
                     reentrant='n',
             UIinfo={"groupes":("Matrices/vecteurs",)},
         regles=(
-                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'),          
-                EXCLUS('NOEUD','GROUP_NO'),
-                EXCLUS('MAILLE','GROUP_MA'),
+                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'),
                 EXCLUS('MACR_ELEM_DYNA','BASE_MODALE'),),
          RESULTAT        =SIMP(statut='f',typ=(evol_noli,dyna_trans) ),
          BASE_MODALE     =SIMP(statut='f',typ=(base_modale,mode_meca) ),
-         NUME_DDL        =SIMP(statut='f',typ=nume_ddl_sdaster ),
+#         NUME_DDL        =SIMP(statut='f',typ=nume_ddl_sdaster ),
          MACR_ELEM_DYNA  =SIMP(statut='f',typ=macr_elem_dyna),
          TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),  
@@ -23916,17 +23921,13 @@ REST_COND_TRAN=OPER(nom="REST_COND_TRAN",op=  78,sd_prod=rest_cond_tran_prod,
          b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
              PRECISION       =SIMP(statut='o',typ='R',),),
          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
-         NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",   
-                               into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL",                 
-                                     "SIGM_ELNO_DEPL","FORC_NODA",) ),
          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
-         NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
-         GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
-         MAILLE          =SIMP(statut='f',typ=ma  ,validators=NoRepeat(),max='**'),
+         b_nom_cham=BLOC(condition="TOUT_CHAM == None",
+             NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=3,defaut="ACCE",   
+                               into=("DEPL","VITE","ACCE",) ),),
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
 )  ;
-#& MODIF COMMANDE  DATE 21/10/2008   AUTEUR NISTOR I.NISTOR 
+#& MODIF COMMANDE  DATE 26/01/2009   AUTEUR BRIE N.BRIE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2008  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -23959,9 +23960,9 @@ REST_GENE_PHYS=OPER(nom="REST_GENE_PHYS",op=  75,sd_prod=rest_gene_phys_prod,
                     reentrant='n',
             UIinfo={"groupes":("Matrices/vecteurs",)},
         regles=(
-                EXCLUS('INST','LIST_INST','TOUT_INST'),
-                EXCLUS('TOUT_ORDRE','NUME_ORDRE','NUME_MODE'),
-                EXCLUS('FREQ','LIST_FREQ'),  
+                EXCLUS('INST','LIST_INST','TOUT_INST',
+                       'TOUT_ORDRE','NUME_ORDRE','NUME_MODE',),
+                EXCLUS('FREQ','LIST_FREQ'),
                 EXCLUS('MULT_APPUI','CORR_STAT'),
                 EXCLUS('MULT_APPUI','NOEUD','GROUP_NO'),
                 EXCLUS('CORR_STAT','NOEUD','GROUP_NO'),             
@@ -23970,14 +23971,14 @@ REST_GENE_PHYS=OPER(nom="REST_GENE_PHYS",op=  75,sd_prod=rest_gene_phys_prod,
                 PRESENT_PRESENT('ACCE_MONO_APPUI','DIRECTION'),),
          RESU_GENE       =SIMP(statut='f',typ=(tran_gene,mode_gene,harm_gene) ), 
          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
-         BASE_MODALE     =SIMP(statut='f',typ=(base_modale,mode_meca) ),
+#         BASE_MODALE     =SIMP(statut='f',typ=(base_modale,mode_meca) ),
          NUME_DDL        =SIMP(statut='f',typ=nume_ddl_sdaster ),
          TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ), 
          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),  
-         NUME_MODE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), 
+         NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ), 
          FREQ            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),  
          LIST_FREQ       =SIMP(statut='f',typ=listr8_sdaster ),
          CRITERE         =SIMP(statut='f',typ='TXM',defaut="RELATIF",into=("ABSOLU","RELATIF") ),
@@ -23988,10 +23989,11 @@ REST_GENE_PHYS=OPER(nom="REST_GENE_PHYS",op=  75,sd_prod=rest_gene_phys_prod,
          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
          MULT_APPUI      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
          CORR_STAT       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
-         NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",   
-                               into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL",                 
-                                     "SIGM_ELNO_DEPL","FORC_NODA",) ),
          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         b_nom_cham=BLOC(condition="TOUT_CHAM == None",
+             NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",   
+                               into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL",                 
+                                     "SIGM_ELNO_DEPL","FORC_NODA",) ),),
          GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
          NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
@@ -24000,7 +24002,7 @@ REST_GENE_PHYS=OPER(nom="REST_GENE_PHYS",op=  75,sd_prod=rest_gene_phys_prod,
          DIRECTION       =SIMP(statut='f',typ='R',min=3,max=3 ),
          TITRE           =SIMP(statut='f',typ='TXM',max='**' ),  
 )  ;
-#& MODIF COMMANDE  DATE 21/10/2008   AUTEUR NISTOR I.NISTOR 
+#& MODIF COMMANDE  DATE 26/01/2009   AUTEUR BRIE N.BRIE 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2008  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -24036,23 +24038,26 @@ REST_SOUS_STRUC=OPER(nom="REST_SOUS_STRUC",op=  77,sd_prod=rest_sous_struc_prod,
                     reentrant='n',
             UIinfo={"groupes":("Matrices/vecteurs",)},
         regles=(UN_PARMI('RESU_GENE','RESULTAT'),
-                EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST'),
-                EXCLUS('TOUT_INST','NUME_ORDRE','INST','LIST_INST','TOUT_ORDRE'),
+# ajout d'une regle de Ionel et Nicolas:
+#                UN_PARMI('NOM_CHAM','TOUT_CHAM'),
+#
+              EXCLUS('TOUT_ORDRE','NUME_ORDRE','INST','LIST_INST','TOUT_INST','NUME_MODE',
+                     'FREQ', 'LIST_FREQ'),
 #  Doc U à revoir
-                 EXCLUS('NOEUD','GROUP_NO'),
-                 EXCLUS('MAILLE','GROUP_MA'),
-                PRESENT_PRESENT('RESULTAT','SQUELETTE'),
+              EXCLUS('NOEUD','GROUP_NO'),
+              EXCLUS('MAILLE','GROUP_MA'),
+              PRESENT_PRESENT('RESULTAT','SQUELETTE'),
 
                 ),
          RESULTAT        =SIMP(statut='f',typ=(evol_noli,dyna_trans,
                                             mode_meca,base_modale) ),
          RESU_GENE       =SIMP(statut='f',typ=(tran_gene,mode_gene,mode_cycl,harm_gene) ),
-         BASE_MODALE     =SIMP(statut='f',typ=(base_modale,mode_meca) ),
+#         BASE_MODALE     =SIMP(statut='f',typ=(base_modale,mode_meca) ),
          NUME_DDL        =SIMP(statut='f',typ=nume_ddl_sdaster ),
          MODE_MECA       =SIMP(statut='f',typ=mode_meca ),
          TOUT_ORDRE      =SIMP(statut='f',typ='TXM',into=("OUI",) ),
          NUME_ORDRE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),  
-         NUME_MODE      =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),  
+         NUME_MODE       =SIMP(statut='f',typ='I',validators=NoRepeat(),max='**' ),  
          TOUT_INST       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
          INST            =SIMP(statut='f',typ='R',validators=NoRepeat(),max='**' ),  
          LIST_INST       =SIMP(statut='f',typ=listr8_sdaster ),
@@ -24064,10 +24069,11 @@ REST_SOUS_STRUC=OPER(nom="REST_SOUS_STRUC",op=  77,sd_prod=rest_sous_struc_prod,
          b_prec_abso=BLOC(condition="(CRITERE=='ABSOLU')",
              PRECISION       =SIMP(statut='o',typ='R',),),
          INTERPOL        =SIMP(statut='f',typ='TXM',defaut="NON",into=("NON","LIN") ),
-         NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",   
-                               into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL",                 
-                                     "SIGM_ELNO_DEPL","FORC_NODA",) ),
          TOUT_CHAM       =SIMP(statut='f',typ='TXM',into=("OUI",) ),
+         b_nom_cham=BLOC(condition="TOUT_CHAM == None",
+             NOM_CHAM        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=8,defaut="ACCE",   
+                               into=("DEPL","VITE","ACCE","ACCE_ABSOLU","EFGE_ELNO_DEPL","SIPO_ELNO_DEPL",                 
+                                     "SIGM_ELNO_DEPL","FORC_NODA",) ),),
          GROUP_NO        =SIMP(statut='f',typ=grno,validators=NoRepeat(),max='**'),
          NOEUD           =SIMP(statut='f',typ=no  ,validators=NoRepeat(),max='**'),
          GROUP_MA        =SIMP(statut='f',typ=grma,validators=NoRepeat(),max='**'),
@@ -24412,7 +24418,7 @@ STANLEY=MACRO(nom="STANLEY",op=stanley_ops,sd_prod=None,
                                fr="Unité logique définissant le fichier (fort.N) dans lequel on écrit les md5"),
 
 )  ;
-#& MODIF COMMANDE  DATE 18/11/2008   AUTEUR ABBAS M.ABBAS 
+#& MODIF COMMANDE  DATE 07/04/2009   AUTEUR ABBAS M.ABBAS 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -24465,7 +24471,7 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
            RELATION        =SIMP(statut='o',typ='TXM',defaut="ELAS",
                                  into=("ELAS","ELAS_VMIS_LINE","ELAS_VMIS_TRAC","ELAS_VMIS_PUIS",
                                       "ELAS_POUTRE_GR","CABLE","ELAS_HYPER")),
-          
+
            DEFORMATION     =SIMP(statut='f',typ='TXM',defaut="PETIT" ,into=("PETIT","GREEN","GREEN_GR",) ),
       regles=(PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
            TOUT            =SIMP(statut='f',typ='TXM',into=("OUI",) ),
@@ -24585,7 +24591,7 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
          ),
          PILOTAGE        =FACT(statut='f',
            regles=(EXCLUS('NOEUD','GROUP_NO'),PRESENT_ABSENT('TOUT','GROUP_MA','MAILLE'),),
-           TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","PRED_ELAS_INCR","DEFORMATION","ANA_LIM") ),
+           TYPE    =SIMP(statut='o',typ='TXM',into=("DDL_IMPO","LONG_ARC","PRED_ELAS","DEFORMATION","ANA_LIM") ),
            COEF_MULT       =SIMP(statut='f',typ='R',defaut= 1.0E+0),
            ETA_PILO_MAX    =SIMP(statut='f',typ='R'),
            ETA_PILO_MIN    =SIMP(statut='f',typ='R'),
@@ -24622,12 +24628,12 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
            ITER_GLOB_ELAS  =SIMP(statut='f',typ='I',defaut=25),
            TYPE            =SIMP(statut='f',typ='TXM',defaut="PIC",into=("PIC","PLATEAU")),
            b_plateau    =BLOC(condition = "TYPE == 'PLATEAU' ",
-             
+
              PLATEAU_ITER    =SIMP(statut='f',typ='I',defaut=3, val_min =2),
-             PLATEAU_RELA    =SIMP(statut='f',typ='R',defaut=1E-3),                   
-           ),           
-           
-           
+             PLATEAU_RELA    =SIMP(statut='f',typ='R',defaut=1E-3),
+           ),
+
+
            ARRET           =SIMP(statut='f',typ='TXM',defaut="OUI",into=("OUI","NON")),
          ),
          SOLVEUR         =FACT(statut='d',
@@ -24660,8 +24666,8 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                    into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
              OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
            b_feti          =BLOC(condition = "METHODE == 'FETI' ",fr="Paramètres de la méthode FETI 1",
@@ -24691,9 +24697,9 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
              ),             RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= -1 ),
-           ),           
-           
-           
+           ),
+
+
            SYME            =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
          ),
          ARCHIVAGE       =FACT(statut='f',
@@ -24707,7 +24713,7 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
            NUME_INIT       =SIMP(statut='f',typ='I'),
            DETR_NUME_SUIV  =SIMP(statut='f',typ='TXM',into=("OUI",)),
            CHAM_EXCLU      =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max='**',
-                                 into=("DEPL","SIEF_ELGA","VARI_ELGA","LANL_ELGA")),
+                                 into=("DEPL","SIEF_ELGA","VARI_ELGA")),
          ),
          OBSERVATION     =FACT(statut='f',max='**',
            NOM_CMP         =SIMP(statut='o',typ='TXM',max='**' ),
@@ -24762,7 +24768,6 @@ STAT_NON_LINE=OPER(nom="STAT_NON_LINE",op=70,sd_prod=evol_noli,
                                       "RESI_REFE","REFE_NOEU",
                                       "RELI_ITER","RELI_COEF",
                                       "PILO_PARA",
-                                      "LAGR_ECAR","LAGR_INCR","LAGR_ITER",
                                       "MATR_ASSE",
                                       "ITER_DEBO",
                                       "CTCD_ITER","CTCD_GEOM","CTCD_NOEU",
@@ -24840,23 +24845,23 @@ TEST_FICHIER=MACRO(nom="TEST_FICHIER", op=test_fichier_ops,
 
    INFO            =SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )
-#& MODIF COMMANDE  DATE 21/04/2008   AUTEUR LEFEBVRE J-P.LEFEBVRE 
+#& MODIF COMMANDE  DATE 26/01/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
 # THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
 # IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY
-# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR   
-# (AT YOUR OPTION) ANY LATER VERSION.                                 
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR
+# (AT YOUR OPTION) ANY LATER VERSION.
 #
-# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT 
-# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF          
-# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU    
-# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                            
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.
 #
-# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE   
-# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,       
-#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.      
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.
 # ======================================================================
 # RESPONSABLE COURTOIS M.COURTOIS
 TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,
@@ -24872,7 +24877,7 @@ TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,
                                  fr="Paramètre de sensibilité.",
                                  ang="Sensitivity parameter"),
            NOM_PARA        =SIMP(statut='f',typ='TXM',validators=NoRepeat(),max=2),
-           VALE_PARA       =SIMP(statut='o',typ='R'  ,validators=NoRepeat(),max=2),
+           VALE_PARA       =SIMP(statut='o',typ='R'  ,max=2),
            VALE_REFE       =SIMP(statut='f',typ='R',max='**' ),
            VALE_REFE_C     =SIMP(statut='f',typ='C',max='**' ),
            VALE_ABS        =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON") ),
@@ -24882,7 +24887,7 @@ TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,
                                  defaut= 1.E-3 ),
            REFERENCE       =SIMP(statut='f',typ='TXM',
                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
-           b_version = BLOC (condition = "REFERENCE == 'NON_REGRESSION'", 
+           b_version = BLOC (condition = "REFERENCE == 'NON_REGRESSION'",
              VERSION         =SIMP(statut='f',typ='TXM' ),
            ),
          ),
@@ -24898,7 +24903,7 @@ TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,
            ATTR_REFE       =SIMP(statut='o',typ='TXM' ),
            REFERENCE       =SIMP(statut='f',typ='TXM',
                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
-           b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
+           b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
              VERSION         =SIMP(statut='f',typ='TXM' ),
            ),
          ),
@@ -24908,10 +24913,10 @@ TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,
            INTE_SPEC       =SIMP(statut='o',typ=table_fonction),
            NOEUD_I         =SIMP(statut='f',typ=no),
            NUME_ORDRE_I    =SIMP(statut='f',typ='I' ),
-           b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None", 
+           b_nume_ordre_i = BLOC (condition = "NUME_ORDRE_I != None",
              NUME_ORDRE_J    =SIMP(statut='o',typ='I' ),
            ),
-           b_noeud_i = BLOC (condition = "NOEUD_I != None",             
+           b_noeud_i = BLOC (condition = "NOEUD_I != None",
              NOEUD_J         =SIMP(statut='o',typ=no),
              NOM_CMP_I       =SIMP(statut='o',typ='TXM' ),
              NOM_CMP_J       =SIMP(statut='o',typ='TXM' ),
@@ -24925,7 +24930,7 @@ TEST_FONCTION=PROC(nom="TEST_FONCTION",op= 135,
                                  defaut= 1.E-3 ),
            REFERENCE       =SIMP(statut='f',typ='TXM',
                                  into=("ANALYTIQUE","SOURCE_EXTERNE","NON_REGRESSION","AUTRE_ASTER") ),
-           b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'", 
+           b_version       =BLOC(condition = "REFERENCE == 'NON_REGRESSION'",
              VERSION         =SIMP(statut='f',typ='TXM' ),
            ),
          ),
@@ -25206,7 +25211,7 @@ TEST_TEMPS=MACRO(nom="TEST_TEMPS",op=test_temps_ops, sd_prod=None,
    INFO  = SIMP(statut='f',typ='I',defaut=1,into=(1,2) ),
 )
 
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -25301,9 +25306,9 @@ THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f',
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                    into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
-             OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),       
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
 
            b_petsc          =BLOC(condition = "METHODE == 'PETSC' ",fr="Paramètres de la méthode PETSC",
@@ -25312,7 +25317,7 @@ THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f',
              b_petsc_ilu     =BLOC(condition = "PRE_COND == 'LDLT_INC' ",
                NIVE_REMPLISSAGE = SIMP(statut='f',typ='I',defaut= 0 ),
                REMPLISSAGE      = SIMP(statut='f',typ='R',defaut= 1.0),
-             ),            
+             ),
              RENUM           =SIMP(statut='f',typ='TXM',defaut="RCMK",into=("SANS","RCMK") ),
              RESI_RELA       =SIMP(statut='f',typ='R',defaut= 1.E-6),
              NMAX_ITER       =SIMP(statut='f',typ='I',defaut= -1 ),
@@ -25335,7 +25340,7 @@ THER_LINEAIRE=OPER(nom="THER_LINEAIRE",op=25,sd_prod=evol_ther,reentrant='f',
          TITRE           =SIMP(statut='f',typ='TXM',max='**'),
          INFO            =SIMP(statut='f',typ='I',into=(1,2)),
 )  ;
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -25450,8 +25455,8 @@ THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f',
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                    into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
              OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
 
@@ -25506,7 +25511,7 @@ THER_NON_LINE=OPER(nom="THER_NON_LINE",op= 186,sd_prod=evol_ther,reentrant='f',
          INFO            =SIMP(statut='f',typ='I',into=(1,2) ),
 
 )  ;
-#& MODIF COMMANDE  DATE 30/09/2008   AUTEUR REZETTE C.REZETTE 
+#& MODIF COMMANDE  DATE 24/03/2009   AUTEUR PELLET J.PELLET 
 #            CONFIGURATION MANAGEMENT OF EDF VERSION
 # ======================================================================
 # COPYRIGHT (C) 1991 - 2001  EDF R&D                  WWW.CODE-ASTER.ORG
@@ -25577,9 +25582,9 @@ THER_NON_LINE_MO=OPER(nom="THER_NON_LINE_MO",op= 171,sd_prod=evol_ther,
              PARALLELISME    =SIMP(statut='f',typ='TXM',defaut="CENTRALISE",
                                    into=("CENTRALISE","DISTRIBUE_MC","DISTRIBUE_MD","DISTRIBUE_SD")),
              PARTITION       =SIMP(statut='f',typ=sd_feti_sdaster),
-             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,min=0,max=100),
-             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,min=0),
-             OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),       
+             CHARGE_PROC0_MA =SIMP(statut='f',typ='I',defaut=100,val_min=0),
+             CHARGE_PROC0_SD =SIMP(statut='f',typ='I',defaut=0,val_min=0),
+             OUT_OF_CORE     =SIMP(statut='f',typ='TXM',defaut="NON",into=("OUI","NON")),
              ),
            b_petsc          =BLOC(condition = "METHODE == 'PETSC' ",fr="Paramètres de la méthode PETSC",
              ALGORITHME      =SIMP(statut='f',typ='TXM',into=("BCGS","BICG","CG","CR","GMRES","TFQMR",),defaut="CG" ),
index d357d2323058e32ce63179c029ed49384aff103c..39390d3715fd411ca7c3622689ff35557a124024 100644 (file)
@@ -181,7 +181,7 @@ class CONFIGbase:
       items = self.l_param
       result = widgets.Formulaire(self.parent,
                                   obj_pere = self,
-                                  titre = "Saisie des données indispensables à la configuration d'EFICAS",
+                                  titre = "Saisie des donnees indispensables a la configuration d'EFICAS",
                                   texte = self.texte,
                                   items = items,
                                   mode='query')
@@ -240,7 +240,7 @@ class CONFIG(CONFIGbase):
       self.repIni = repIni
       self.rep_ini = repIni
       self.fic_ini = os.path.join(self.repIni,self.fichier)
-      self.titre = "Paramètres nécessaires à la configuration d'EFICAS"
+      self.titre = 'Parametres necessaires a la configuration d\'EFICAS'
       self.texte_ini = "Voici les paramètres que requiert Eficas"
       self.commande = self.creation_fichier_ini_si_possible
       self.labels={"savedir"       : "Répertoire initial pour Open/Save des fichiers",
@@ -318,7 +318,7 @@ class CONFIGStyle(CONFIGbase):
       self.repIni = repIni
       self.rep_ini = repIni
       self.fic_ini = os.path.join(self.repIni,self.fichier)
-      self.titre = "Paramètres d affichage"
+      self.titre = "Parametres d affichage"
       self.texte_ini = "Voici les paramètres configurables :  "
       self.commande = self.creation_fichier_ini_si_possible
       self.labels={"background":"couleur du fonds", 
@@ -328,14 +328,6 @@ class CONFIGStyle(CONFIGbase):
                    "standard_gras_souligne":"police utilisée pour le gras souligné",
                    "canvas_italique":"police italique",
                    "standard_gras":"gras",
-                   #"canvas":"police",
-                   #"canvas_gras":"police gras",
-                   #"canvas_gras_italique":"police gras italique",
-                   #"standard12":"police 12",
-                   #"standard12_gras":"police 12 gras",
-                   #"standard12_gras_italique":"police 12 gras italique",
-                   #"standardcourier10":"courrier "
-                   "statusfont":"police utilisée dans la status Bar",
                   }
       self.types ={"background":"mot", 
                    "foreground":"mot" ,
index 418bd663be15d529bf7202cb31177d574651557f..bc1df2869000a2a9732a1b7ef48883fbbea8557a 100644 (file)
@@ -27,7 +27,7 @@ rep_Pmw = os.path.join(prefs.REPINI,'../Pmw')
 
 # Accès à la documentation Aster
 path_doc              = os.path.join(rep_cata,'..','Doc')
-exec_acrobat    =       "acroread"
+exec_acrobat    =       "/usr/bin/xpdf"
 # Utilisateur/Développeur
 isdeveloppeur   =       "NON"
 path_cata_dev   =       "/tmp/cata"
@@ -38,11 +38,10 @@ initialdir=os.curdir
 
 # Choix des catalogues
 rep_mat_v88=os.path.join(rep_cata,'cataSTA8','materiau')
-rep_mat_v94=os.path.join(rep_cata,'cataSTA9','materiau')
+rep_mat_v95=os.path.join(rep_cata,'cataSTA9','materiau')
 
 catalogues = (
-              ('ASTER','v7.8',os.path.join(rep_cata,'cataSTA7'),'python'),
               ('ASTER','v8.8',os.path.join(rep_cata,'cataSTA8'),'python'),
-              ('ASTER','v9.4',os.path.join(rep_cata,'cataSTA9'),'python','defaut'),
+              ('ASTER','v9.5',os.path.join(rep_cata,'cataSTA9'),'python','defaut'),
              )
 
index 9805411b1368a0e42a6d0638a8b5728e1bcde539..bc1df2869000a2a9732a1b7ef48883fbbea8557a 100644 (file)
@@ -27,8 +27,7 @@ rep_Pmw = os.path.join(prefs.REPINI,'../Pmw')
 
 # Accès à la documentation Aster
 path_doc              = os.path.join(rep_cata,'..','Doc')
-#exec_acrobat    =       "acroread"
-exec_acrobat    =       "/local01/assire/v0.5/SALOME-MECA-2008.2/SALOME-MECA/prerequis/xpdf-3.02-linux/xpdf"
+exec_acrobat    =       "/usr/bin/xpdf"
 # Utilisateur/Développeur
 isdeveloppeur   =       "NON"
 path_cata_dev   =       "/tmp/cata"
@@ -38,12 +37,11 @@ rep_travail     =   "/tmp"
 initialdir=os.curdir
 
 # Choix des catalogues
-rep_mat_v85=os.path.join(rep_cata,'cataSTA8','materiau')
-rep_mat_v91=os.path.join(rep_cata,'cataSTA9','materiau')
+rep_mat_v88=os.path.join(rep_cata,'cataSTA8','materiau')
+rep_mat_v95=os.path.join(rep_cata,'cataSTA9','materiau')
 
 catalogues = (
-              ('ASTER','v7.8',os.path.join(rep_cata,'cataSTA7'),'python'),
-              ('ASTER','v8.7',os.path.join(rep_cata,'cataSTA8'),'python'),
-              ('ASTER','v9.3',os.path.join(rep_cata,'cataSTA9'),'python','defaut'),
+              ('ASTER','v8.8',os.path.join(rep_cata,'cataSTA8'),'python'),
+              ('ASTER','v9.5',os.path.join(rep_cata,'cataSTA9'),'python','defaut'),
              )
 
index e3736bd6abdf30eca6e08f7f9dae21fc35096298..cf2dbf0eeafbd76d81e900dee82dde8ebd16cae3 100755 (executable)
@@ -27,6 +27,7 @@
 
 # Modules Eficas
 import prefs
+#from InterfaceQT4 import eficas_go
 from InterfaceQT import eficas_go
 
 eficas_go.lance_eficas(code=prefs.code)
index ba37e082d46a157ac8a6b47c5174cb37f371cf59..04bd43474944987db0dadd7f57c55bbd4044c336 100644 (file)
@@ -66,8 +66,8 @@ def main():
    # copyfiles('Cata/Utilitai',os.path.join(path_distrib,'Aster','Cata','Utilitai'),['*.py'])
    # copyfiles('Cata/pre74',os.path.join(path_distrib,'Aster','Cata','pre74'),['*.py'])
 
-   copyfiles('Cata/cataSTA6',os.path.join(path_distrib,'Aster','Cata','cataSTA6'),['*.py'])
-   copyfiles('Cata/cataSTA6/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA6','Macro'),['*.py'])
+   #copyfiles('Cata/cataSTA6',os.path.join(path_distrib,'Aster','Cata','cataSTA6'),['*.py'])
+   #copyfiles('Cata/cataSTA6/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA6','Macro'),['*.py'])
 
    copyfiles('Cata/cataSTA7',os.path.join(path_distrib,'Aster','Cata','cataSTA7'),['*.py'])
    copyfiles('Cata/cataSTA7/Macro',os.path.join(path_distrib,'Aster','Cata','cataSTA7','Macro'),['*.py'])
@@ -83,7 +83,7 @@ def main():
    copyfiles('Cata/cataSTA9/materiau',os.path.join(path_distrib,'Aster','Cata','cataSTA9/materiau'),['README.py'])
    copyfiles('Cata/cataSTA9/SD',os.path.join(path_distrib,'Aster','Cata','cataSTA9/SD'),['*.py'])
 
-   copyfiles('Cata',os.path.join(path_distrib,'Aster','Cata'),['*c_clefs_docu'])
+   copyfiles('Cata',os.path.join(path_distrib,'Aster','Cata'),['*9c_clefs_docu'])
    copyfiles('../Aster/Cata',os.path.join(path_distrib,'Aster'),['aster.py',])
 
    #                           ______________________
index 5aab780a56cbf12a21d90d904109ed0d4a5d3f94..357fc5b783db4caf605f10980c99d792afe3fc83 100644 (file)
@@ -774,7 +774,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE):
           self.fichier_err="Le fichier INCLUDE n est pas defini"
            self.parent.record_unit(999,self)
            try :
-              MCFils=self.get_child('FICHIER')
+              MCFils=self.get_child('FileName')
               MCFils.set_valeur(None)
            except :
               pass
@@ -796,9 +796,9 @@ class MACRO_ETAPE(I_ETAPE.ETAPE):
              nom=maVariableListe[i].id_
              type=maVariableListe[i].type_
              if type :
-               ligneTexte=nom+"=VARI(type='IN',);\n"
+               ligneTexte="%s=DETERMINISTICVARIABLE(N='%s',T='in',R=%d);\n" % (nom, nom, i)
              else :
-              ligneTexte=nom+"=VARI(type='OUT',);\n"
+               ligneTexte="%s=DETERMINISTICVARIABLE(N='%s',T='out',R=%d);\n" % (nom, nom, i)
              self.fichier_text = self.fichier_text + ligneTexte
       except:
          self.make_incl2_except()
@@ -816,7 +816,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE):
          self.make_contexte_include(self.fichier_ini ,self.fichier_text)
          self.parent.record_unit(unite,self)
          try :
-            MCFils=self.get_child('FICHIER')
+            MCFils=self.get_child('FileName')
             MCFils.set_valeur(fichier)
          except :
             pass
@@ -838,7 +838,7 @@ class MACRO_ETAPE(I_ETAPE.ETAPE):
          self.fichier_err = string.join(l)
          self.contexte_fichier_init={}
          try :
-            MCFils=self.get_child('FICHIER')
+            MCFils=self.get_child('FileName')
             MCFils.set_valeur(None)
          except :
             pass
index 9d60d37a69d054e89da71c23dd7f61deb3cb7b4b..5ee3a1fdfb0cc2ebc0f364951d4d8f4038b1c924 100644 (file)
@@ -407,6 +407,10 @@ class MCCOMPO(I_OBJECT.OBJECT):
   def delete_mc_global(self):
      for motcle in self.mc_liste :
          motcle.delete_mc_global()
+     try :
+         motcle.update_mc_global()
+     except :
+       pass
 
   def init_modif_up(self):
     Validation.V_MCCOMPO.MCCOMPO.init_modif_up(self)
index 2b11541e5f8e83e652439709233dbc63bfdd37a5..3f8103ba2867d579e9a48369c1466b5a4eabb380 100644 (file)
@@ -22,7 +22,7 @@ class JDCTree( QListView ):
         self.addColumn(self.trUtf8('Commande'))
         self.addColumn(self.trUtf8('Concept/Valeur'))
                 
-        #self.setMinimumSize(QSize(400,500))
+        self.resize(QSize(400,500))
         self.connect(self,SIGNAL('contextMenuRequested(QListViewItem *, const QPoint &, int)'),
                      self.handleContextMenu)
 
index b2391368c5aaf2aa932e63f83354ac022a24217c..6346902abc2d0366d01aaaba6a29c3a9127731cd 100644 (file)
@@ -18,7 +18,7 @@ import readercata
 import prefs
 import qtCommun
 
-VERSION_EFICAS  = "EFICAS v1.15"
+VERSION_EFICAS  = "EFICAS v1.16"
 
 
 # -------------------------- #
@@ -137,6 +137,8 @@ class JDCEditor(QSplitter):
             self.connect(self.tree,SIGNAL('selectionChanged(QListViewItem *)'),self.updatePanel)
       
         sh = self.sizeHint()
+        if sh.width() < 300:
+            sh.setWidth(300)
         if sh.height() < 300:
             sh.setHeight(300)
         self.resize(sh)
@@ -658,10 +660,10 @@ class JDCEditor(QSplitter):
                 if QFileInfo(fn).exists():
                     abort = QMessageBox.warning(
                        self,
-                        self.trUtf8("Save File"),
-                        self.trUtf8("The file <b>%1</b> already exists.").arg(fn),
-                        self.trUtf8("&Overwrite"),
-                        self.trUtf8("&Abort") )
+                        self.trUtf8("Sauvegarde Fichier"),
+                        self.trUtf8("Le fichier <b>%1</b> existe deja.").arg(fn),
+                        self.trUtf8("&Remplacer"),
+                        self.trUtf8("&Abandonner") )
                     print abort
                     if abort:
                         return (0, None)
index 678fc089ce90d429d8b2355535b80a5f7da1b7eb..78f8e32a5565b82b107e7d4f29f489e32b0f2102 100644 (file)
@@ -41,6 +41,7 @@ class MonRacinePanel(DRac,QTPanelTBW2):
         QTPanel.__init__(self,node,parent)
         QTPanelTBW2.__init__(self,node,parent,racine=1)
         self.setMinimumSize(0,0)
+        self.LEFiltre.setFocus()
 
   def BSupPressed(self):
       QTPanel.BSupPressed(self)
index 435e559033a85c7d64ece2b3b0a66893640a09b9..75c9eb1ecbbb6ea3d3add7be9f088b1ffa00a32d 100644 (file)
@@ -65,10 +65,10 @@ class MonUniqueBasePanel(DUnBase,QTPanel,SaisieValeur):
         valeurTexte=self.politique.GetValeurTexte(valeur)
         if valeurTexte != None:
            try :
-               str=QString("").setNum(valeurTexte)
+               maString=QString("").setNum(valeurTexte)
            except :
-               str=QString(valeurTexte)
-           self.lineEditVal.setText(str)
+               maString=str(valeurTexte)
+           self.lineEditVal.setText(maString)
 
 
   def InitCommentaire(self):
index 99a9afca1ee3af86f57eaed2ee9cce61c5970abe..7e5b13e511fed3bfb062870d1550135e5ad9701b 100644 (file)
@@ -52,8 +52,8 @@ class QTPanel:
          QMessageBox.information( self.editor, "Documentation Vide", \
                                   "Aucune documentation Aster n'est associée à ce noeud")
          return
-      cle_doc = string.replace(cle_doc,'.','')
-      cle_doc = string.replace(cle_doc,'-','')
+      #cle_doc = string.replace(cle_doc,'.','')
+      #cle_doc = string.replace(cle_doc,'-','')
       commande = self.editor.appliEficas.CONFIGURATION.exec_acrobat
       try :
          f=open(commande,"rb")
@@ -61,7 +61,7 @@ class QTPanel:
          texte="impossible de trouver la commande  " + commande
          QMessageBox.information( self.editor, "Lecteur PDF", texte)
          return
-      nom_fichier = cle_doc+".pdf"
+      nom_fichier = cle_doc
       fichier = os.path.abspath(os.path.join(self.editor.CONFIGURATION.path_doc,
                                        nom_fichier))
       try :
@@ -173,9 +173,26 @@ class QTPanelTBW2(QTPanel):
         self.editor    = parent
         self.node      = node
         self.BuildLBNouvCommande()
-        if racine == 1 : self.AppelleBuildLBRegles()
+        self.LEFiltre.setFocus()
+        if racine == 1 : 
+           self.AppelleBuildLBRegles()
+        else :
+           self.connect(self.TWChoix, SIGNAL("currentChanged(QWidget *)"), self.handleCurrentChanged)
 
       
+  def handleCurrentChanged(self):
+        label=self.TWChoix.tabLabel(self.TWChoix.currentPage())
+        if label==QString("Nouvelle Commande"):
+           try :
+               self.LEFiltre.setFocus()
+           except :
+               pass
+        if label==QString("Nommer Concept"):
+           try :
+               self.LENomConcept.setFocus()
+           except :
+               pass
+
   def BuildLBNouvCommande(self):
         self.LBNouvCommande.clear()
         try :
@@ -260,6 +277,7 @@ class QTPanelTBW3(QTPanel):
         self.typeConcept.setText(type_sd)
         self.LENomConcept.setText("")
         self.LENomConcept.setText(nomConcept)
+        self.LENomConcept.setFocus()
         
 
 
@@ -317,11 +335,11 @@ class ViewText(QDialog):
         if not fn.isNull():                
            if QFileInfo(fn).exists():
               abort = QMessageBox.warning(self,
-                        self.trUtf8("Save File"),
-                        self.trUtf8("The file <b>%1</b> already exists.")
+                        self.trUtf8("Sauvegarde Fichier"),
+                        self.trUtf8("Le fichier <b>%1</b> existe.")
                             .arg(fn),
-                        self.trUtf8("&Overwrite"),
-                        self.trUtf8("&Abort"), None, 1)
+                        self.trUtf8("&Remplacer"),
+                        self.trUtf8("&Abandonner"), None, 1)
               if abort:
                  return
            fn = unicode(QDir.convertSeparators(fn))                
index df16582af833674544c8e91302d18b1ba166f406..cb670c6d1c2e1cb94fee4c0f2d5ed631d2e614cf 100644 (file)
@@ -130,7 +130,7 @@ class Appli(Eficas):
         titre = "version "
         monVisu=DVisu(parent=self.viewmanager,fl=Qt.WType_Dialog)
         monVisu.setCaption(titre)
-        monVisu.TB.setText("Eficas V1.15")
+        monVisu.TB.setText("Eficas V1.16")
         monVisu.adjustSize()
         monVisu.show()
 
index b6f4c53550c7ca909f81591d82b172bbd86ef8a9..ffeb8273eed3195637a104d974fe04f0c1915194 100644 (file)
@@ -42,7 +42,7 @@ from monChoixCata import MonChoixCata
 
 from qt import *
 
-version="15"
+version="16"
 
 class READERCATA:
 
index f08b160d8fa2ddaab47b3c9c4bc7a1f5ef52c398..668f00483e006f1473bc0f02fb85a0e041f0d20e 100644 (file)
@@ -55,7 +55,7 @@ import listePatronsTK
 REPTK=os.path.dirname(os.path.abspath(__file__))
 sys.path[:0]=[REPTK]
 
-VERSION="EFICAS v1.15"
+VERSION="EFICAS v1.16"
 
 class APPLI: 
   def __init__ (self,master,code=prefs.code,fichier=None,test=0,ihm="TK",salome=0) :
index 59b0ab86fe2df7f475163d0a0a6c38478058738b..2c2d6680727364d17e1f65fc78bd5deacf2b43a1 100644 (file)
@@ -461,6 +461,7 @@ class BUREAU:
          jdc_formate=g.gener(self.JDC,format='beautifie')
          if format == 'homard':
             self.jdc_homard=g.get_homard()
+            #print "hhhhhhhh"
         elif format == 'openturns' :
            self.jdc_openturn_xml=g.getOpenturnsXML()
            self.jdc_openturn_std=g.getOpenturnsSTD()
@@ -664,11 +665,11 @@ class BUREAU:
       try:
           cle_doc = self.JDCDisplay_courant.node_selected.item.get_docu()
           if cle_doc == None : return
-          cle_doc = string.replace(cle_doc,'.','')
-          cle_doc = string.replace(cle_doc,'-','')
           commande = self.appli.CONFIGURATION.exec_acrobat
-          nom_fichier = cle_doc+".pdf"
-          fichier = os.path.abspath(os.path.join(self.appli.CONFIGURATION.path_doc,nom_fichier))
+          fichier = os.path.abspath(os.path.join(self.appli.CONFIGURATION.path_doc,cle_doc))
+          if os.path.isfile(fichier) == 0:
+              showerror("Pas de Documentation", "Eficas ne trouve pas de fichier documentation associe a cette commande")
+              return
           if os.name == 'nt':
               os.spawnv(os.P_NOWAIT,commande,(commande,fichier,))
           elif os.name == 'posix':
@@ -794,14 +795,17 @@ class BUREAU:
       if (FichieraTraduire == "" or FichieraTraduire == () ) : return
       i=FichieraTraduire.rfind(".")
       Feuille=FichieraTraduire[0:i]
-      FichierTraduit=Feuille+"v8.comm"
       log=self.savedir+"/convert.log"
-      os.system("rm -rf "+log)
-      os.system("rm -rf "+FichierTraduit)
       Pmw.showbusycursor()
+      FichierTraduit=""
+      os.system("rm -rf "+log)
       if version == 7 :
+         FichierTraduit=Feuille+"v8.comm"
+         os.system("rm -rf "+FichierTraduit)
          traduitV7V8.traduc(FichieraTraduire,FichierTraduit,log)
       else :
+         FichierTraduit=Feuille+"v9.comm"
+         os.system("rm -rf "+FichierTraduit)
          traduitV8V9.traduc(FichieraTraduire,FichierTraduit,log)
       Pmw.hidebusycursor()
       Entete="Fichier Traduit : "+FichierTraduit +"\n\n"
@@ -816,7 +820,7 @@ class BUREAU:
           commande="diff "+FichieraTraduire+" "+FichierTraduit+" >/dev/null"
           try :
             if os.system(commande) == 0 :
-               texte_cr = texte_cr + "Pas de difference entre le fichier V7 et le fichier traduit"
+               texte_cr = texte_cr + "Pas de difference entre le fichier initial et le fichier traduit"
           except :
                pass
 
index b84a5697a98b9b8ee5577b4da66010f31ed692ae..d1f724913e0ba4f337cea5d0a4a986a77c751d5f 100644 (file)
@@ -26,7 +26,7 @@ import time
 import traceback
 
 import widgets
-from widgets import ListeChoix
+from widgets import ListeChoix, showerror
 from widgets import ListeChoixParGroupes
 import prefs
 import options
@@ -184,12 +184,15 @@ class Panel(Frame) :
         - indication du chemin d'accès aux fichiers pdf à revoir : trop statique"""
       cle_doc = self.node.item.get_docu()
       if cle_doc == None : return
-      cle_doc = string.replace(cle_doc,'.','')
-      cle_doc = string.replace(cle_doc,'-','')
+      #cle_doc = string.replace(cle_doc,'.','')
+      #cle_doc = string.replace(cle_doc,'-','')
       commande = self.parent.appli.CONFIGURATION.exec_acrobat
-      nom_fichier = cle_doc+".pdf"
+      nom_fichier = cle_doc
       fichier = os.path.abspath(os.path.join(self.parent.appli.CONFIGURATION.path_doc,
                                        nom_fichier))
+      if os.path.isfile(fichier) == 0:
+           showerror("Pas de Documentation", "Eficas ne trouve pas de fichier documentation associe a cette commande")
+           return
       if os.name == 'nt':
           os.spawnv(os.P_NOWAIT,commande,(commande,fichier,))
       elif os.name == 'posix':
index 2d5fc4a2fd06b1566a61a046abd1ad923e87d299..8febcbb947f1fb561c0005ff3477270ad6ab0d78 100644 (file)
@@ -8,7 +8,7 @@ inistylefile=os.path.join(prefs.REPINI,"style.py")
 if os.path.isfile(inistylefile):
    execfile(inistylefile)
 
-userstylefile=os.path.expanduser("~/Eficas_install/style.py")
+userstylefile=os.path.expanduser("~/.Eficas_install/style.py")
 if os.path.isfile(userstylefile):
    execfile(userstylefile)
 
index e978db2a67c92d8e8d20bdaba09440afa18d9e9e..13a6f92ed695487c96616269df0cf31f037b3d72 100644 (file)
@@ -33,7 +33,7 @@ from tkFileDialog import *
 from tkMessageBox import showinfo,askyesno,showerror,askretrycancel
 
 import fontes
-import prefs
+
 from Editeur.utils import save_in_file
 from centerwindow import centerwindow
 
@@ -707,7 +707,6 @@ class Formulaire:
             self.resultat = apply(self.command[1],(),{})
             self.fenetre.destroy()
         else :
-            print "Nom de bouton inconnu"
             self.quit()
 
     def fini(self):
index a66aa137b8e6c16a29bfa138c23b065389552a51..85d9fe6669b67dda3c542d2dc38eea12dc91b78c 100644 (file)
@@ -5,83 +5,9 @@ import sets
 
 jdcSet=sets.Set()
 
-dict_erreurs={
-#STA8.4
-              "DIST_LIGN_3D": "la commande DIST_LIGN_3D a ete supprimee",
-              "DEFI_THER_JOULE": "la commande DIST_LIGN_3D a ete supprimee",
-              "DIST_LIGN_3D": "la commande DIST_LIGN_3D a ete supprimee",
-              "AFFE_MODELE_AFFE": "Les modelisations APPUI_REP, ASSE_GRIL et 3D_JOINT_CT ont ete supprimees",
-              "AFFE_CHAR_MECA_CONTACT_FROTTEMENT": "Suppression d un mot clef FROTTEMENT",
-              "AFFE_CHAR_MECA_SECH_CALCULEE": "le sechage est maintenant une variable de commande",
-              "AFFE_CHAR_MECA_HYDR_CALCULEE": "l'hydratation est maintenant une variable de commande",
-              "AFFE_CHAR_MECA_EPSA_CALCULEE":"EPSA est maintenant une variable de commande",
-              "AFFE_CHAR_MECA_PRESSION_CALCULEE":"PRESSION_CALCULEE est remplace par EVOL_CHAR",
-              "MACR_LIGN_COUPE" : "MACR_LIGN_COUPE demande un traitement manuel",
-              "POST_RCCM" : "POST_RCCM demande un traitement manuel",
-              "DEFI_MATERIAU_CHABOCHE" : "remplacer la valeur CINx_CHAB",
-              "DEFI_MATERIAU_POLY_CFC" : "le materiau POLY_CFC est remplace par le comportement POLYCRISTAL",
-              "DEFI_MATERIAU_ECOU_PLAS1" : "le materiau ECOU_PLAS1 est supprime",
-              "DEFI_MATERIAU_COMP_THM_ELAS_THM" : "le materiau ELAS_THM a ete supprime",
-              "DEFI_MATERIAU_COMP_THM_SURF_ETAT_SATU" : "le materiau SURF_ETAT_SATU a ete supprime",
-              "DEFI_MATERIAU_COMP_THM_SURF_ETAT_NSAT" : "le materiau SURF_ETAT_NSAT a ete supprime",
-              "DEFI_MATERIAU_COMP_THM_CAM_CLAY_THM" : "le materiau CAM_CLAY_THM a ete supprime",
-              "DEFI_MATERIAU_COMP_THM_LIQU_SATU_GAT" : "le materiau LIQU_SATU_GAT a ete supprime",
-              "DEFI_MATERIAU_COMP_THM_LIQU_NSAT_GAT" : "le materiau LIQU_NSAT_GAT a ete supprime",
-              "DEFI_MATERIAU_GLRC" : "le materiau GLRC a ete remplace par GLRC_DAMAGE",
-              "DEFI_MATERIAU_GLRC_FO" : "le materiau GLRC_FO a ete remplace par GLRC_DAMAGE",
-              "DEFI_MATERIAU_OHNO" : "le materiau OHNO a ete remplace par TAHERI",
-              "DEFI_MATERIAU_OHNO_FO" : "le materiau OHNO a ete remplace par TAHERI",
-              "CALC_CHAM_ELEM":"reecrire la partie SOUR_ELGA_ELEC",
-              "CALC_G_THETA_T_OPTION_VALEUR":"verifier la valeur d OPTION",
-              "CALC_G_THETA_T_OPTION_DEFAUT":"verifier la valeur d OPTION donnee a la place du defaut",
-              "CALC_G_MODELE":"Mot Clef MODELE supprimé sous CALC_G",
-              "CALC_G_DEPL":"Mot Clef DEPL supprimé sous CALC_G",
-              "CALC_G_CHAM_MATER":"Mot Clef CHAM_MATER supprimé sous CALC_G",
-              "CALC_G_CARA_ELEM":"Mot Clef CARA_ELEM supprimé sous CALC_G",
-              "CALC_G_RESULTAT=XXX,":"Mot Clef RESULTAT à completer sous CALC_G",
-              "AFFE_MODELE_AFFE_MODELISATION_VALEUR":"verifier la valeur de MODELISATION",
-              "STAT_NON_LINE_COMP_INCR_RELATION_VALEUR":"verifier la valeur de RELATION",
-              "STAT_NON_LINE_COMP_INCR_RELATION_KIT_VALEUR":"verifier la valeur de RELATION_KIT",
-              "STAT_NON_LINE_VARI_COMM":"suppression des variables de commande",
-              "STAT_NON_LINE_INCREMENT_SUBD_PAS":"Si SUBD_PAS=1 il n'y a pas subdivision : le mot est clef est ote du STAT_NON_LINE",
-              "DYNA_NON_LINE_COMP_INCR_RELATION_VALEUR":"verifier la valeur de RELATION",
-              "DYNA_NON_LINE_COMP_INCR_RELATION_KIT_VALEUR":"verifier la valeur de RELATION_KIT",
-              "DYNA_NON_LINE_VARI_COMM":"suppression des variables de commande",
-              "DYNA_NON_LINE_INCREMENT_SUBD_PAS":"Si SUBD_PAS=1 il n'y a pas subdivision : le mot est clef est ote du DYNA_NON_LINE",
-              "CALC_PRECONT_SUBD_PAS":"Si SUBD_PAS=1 il n'y a pas subdivision : le mot est clef est ote du CALC_PRECONT",
-              "TEST_RESU_UNITE":"suppression du mot clef UNITE dans TEST_RESU",
-              "POST_SIMPLIFIE":"commande POST_SIMPLIFIE supprimee",
-              "POST_DYNA_ALEA_GAUSS":"la methode GAUSS a ete supprimee de POST_DYNA_ALEA",
-              "POST_DYNA_ALEA_VANMARCKE":"la methode VANMARCKE a ete supprimee de POST_DYNA_ALEA",
-              "POST_DYNA_ALEA_DEPASSEMENT":"la methode DEPASSEMENT a ete supprimee de POST_DYNA_ALEA",
-              "POST_DYNA_ALEA_RAYLEIGH":"la methode RAYLEIGH a ete supprimee de POST_DYNA_ALEA",
-              "DYNA_TRAN_MODAL_EXCIT_NUME_MODE":"le numero du mode utilise pour EXCIT DYNA_TRAN_MODAL est le numero d'ORDRE",
-              "DEFI_INTERF_DYNA_INTERFACE_DDL_ACTIF":"DDL_ACTIF supprime de DEFI_INTERF_DYNA; utiliser MASQUE",
-              "DEFI_TEXTURE":"le materiau POLY_CFC est remplace par le comportement POLYCRISTAL",
-              "CREA_RESU_NOM_CHAM_VALEUR":"HYDR_ELGA est remplace par HYDR_ELNO_ELGA et HYDR_NOEU_ELGA",
-              "COMB_CHAM_NO":"COMB_CHAM_NO est remplace par CREA_CHAMP",
-              "COMB_CHAM_ELEM":"COMB_CHAM_ELEM est remplace par CREA_CHAMP",
-              "IMPR_OAR":"IMPR_OAR demande un traitement manuel",
-              "IMPR_FICO_HOMARD":"IMPR_FICO_HOMARD a ete integre dans MACR_ADPA_MAIL",
-# STA9.2
-              "POST_RCCM_SITUATION_NUME_PASSAGE":"Utilisation de NUME_PASSAGE pour le type TUYAUTERIE impossible en 9.2. On ne traite pour le moment que les chemins de passage simples.",
-              "POST_RCCM_SITUATION_NB_CYCL_SEISME":"POST_RCCM : maintenant les SITUATIONS sismiques ont leur propre mot clef facteur SEISME, attention, traduction incomplete",
-              "DEFI_MATERIAU_BAZANT_FD" : "le materiau BAZANT_FD a ete supprime",
-              "DEFI_MATERIAU_APPUI_ELAS" : "le materiau APPUI_ELAS a ete supprime",
-              "DEFI_MATERIAU_PORO_JOINT" : "le materiau PORO_JOINT a ete supprime",
-              "DEFI_MATERIAU_ZIRC_CYRA2" : "le materiau ZIRC_CYRA2 a ete supprime",
-              "DEFI_MATERIAU_ZIRC_EPRI" : "le materiau ZIRC_EPRI a ete supprime",
-              "IMPR_MATRICE_MATR_ELEM_FORMAT=RESULTAT" : "IMPR_MATRICE au format RESULTAT a ete supprime",
-              "IMPR_MATRICE_MATR_ASSE_FORMAT=RESULTAT" : "IMPR_MATRICE au format RESULTAT a ete supprime",
-              "CALC_G_OPTION=G_LAGR" : "l'OPTION G_LAGR de CALC_G a ete supprimee",
-              "CALC_G_OPTION=G_LAGR_GLOB" : "l'OPTION G_LAGR_GLOB de CALC_G a ete supprimee",
-              "CALC_MATR_ELEM_THETA" : "l'OPTION RIGI_MECA_LAGR de CALC_MATR_ELEM a ete supprimee",
-              "TEST_FICHIER_NB_CHIFFRE" : "le fonctionnement de TEST_FICHIER a change entre la V8 et la V9, consultez la doc, en particulier pour entrer la bonne valeur de NB_VALE",
-              "DYNA_NON_LINE_PILOTAGE" : "le PILOTAGE n'est pas actif dans DYNA_NON_LINE ",
-              "DYNA_NON_LINE_RECH_LINEAIRE" : "la RECH_LINEAIRE n'est pas active dans DYNA_NON_LINE ",
-             }
 
 def EcritErreur(listeGena,ligne=None) :
+    from sys import dict_erreurs
     maCle=""
     for Mot in listeGena :
         maCle=maCle+"_"+Mot
@@ -90,7 +16,7 @@ def EcritErreur(listeGena,ligne=None) :
        maClef=maCle[1:]
         if maClef in dict_erreurs.keys() :
            if ligne != None :
-             logging.warning("ligne %d : %s ligne ",ligne,dict_erreurs[maClef])
+             logging.warning("ligne %d : %s ",ligne,dict_erreurs[maClef])
            else :
              logging.warning("%s",dict_erreurs[maClef])
         else :
@@ -101,7 +27,7 @@ def EcritErreur(listeGena,ligne=None) :
           maClef=maCle+"_"+"VALEUR"
            if maClef in dict_erreurs.keys() :
               if ligne != None :
-                 logging.warning("ligne %d : %s ligne ",ligne,dict_erreurs[maClef])
+                 logging.warning("ligne %d : %s ",ligne,dict_erreurs[maClef])
               else :
                  logging.warning("%s",dict_erreurs[maClef])
     #except :
@@ -116,3 +42,16 @@ def GenereErreurPourCommande(jdc,listeCommande) :
            if c.name != Mot :continue
            EcritErreur((Mot,),c.lineno)
 
+def GenereErreurMotCleInFact(jdc,command,fact,mocle):
+    for c in jdc.root.childNodes:
+        if c.name != command:continue
+        for mc in c.childNodes:
+            if mc.name != fact:continue
+            l=mc.childNodes[:]
+            for ll in l:
+                for n in ll.childNodes:
+                    if n.name != mocle:
+                       continue
+                   else :
+                       EcritErreur((command,fact,mocle,),c.lineno)
+
index e4f8448d096bb913ee5da11330424df4ef04cd8e..90c0aa35e2f4533a7f5a00b99b2a75ca8a8b0930 100644 (file)
@@ -100,7 +100,7 @@ def renameMotCleInFact(jdc,command,fact,mocle,new_name, ensemble=regles.SansRegl
                     if erreur :
                        EcritErreur((command,fact,mocle),c.lineno)
                     else :
-                       logging.info("Renommage de: %s, %s, %s, en %s",n.name,n.lineno,n.colno,new_name)
+                       logging.info("Renommage de: %s, ligne %s, en %s",n.name,n.lineno,new_name)
 
     if boolChange : jdc.reset(jdc.getSource())
 
@@ -128,7 +128,7 @@ def renameCommande(jdc,command,new_name,ensemble=regles.SansRegle):
         if ensemble.verif(c) == 0 : continue
         boolChange=1
         if debug:print "Renommage de:",c.name,new_name ,c.lineno,c.colno
-        logging.info("Renommage de: %s en ligne %d en %s",c.name,c.lineno,new_name)
+        logging.info("Renommage de: %s ligne %d en %s",c.name,c.lineno,new_name)
         s=jdc.getLines()[c.lineno-1]
         jdc.getLines()[c.lineno-1]=s[:c.colno]+new_name+s[c.colno+len(command):]
 
index 1b53c44e20f327ac737d0a78c0457dfd3cfd063e..2b591a49f14e1dc7ceb033eb5286f6ab5e0f56af 100644 (file)
@@ -7,6 +7,7 @@ Typical use is:
   python traduitV7V8.py --infile=xxxx --outfile=yyyy
 """
 
+import sys
 import log
 import optparse
 
@@ -18,7 +19,7 @@ from renamemocle  import *
 from inseremocle  import *
 from changeValeur import *
 from movemocle    import *
-from dictErreurs  import GenereErreurPourCommande
+from dictErreurs  import GenereErreurPourCommande,GenereErreurMotCleInFact
 
 import calcG
 
@@ -35,9 +36,71 @@ atraiter=( "IMPR_GENE","CALC_FONCTION", "DEFI_MATERIAU","STAT_NON_LINE",
           "CALC_PRECONT","DEFI_TEXTURE","TEST_RESU","COMB_CHAM_NO","COMB_CHAM_ELEM",
           "CALC_FATIGUE","IMPR_OAR", "AFFE_CHAR_MECA_F",
            "MACR_ASCOUF_CALC","MACR_ASPIC_CALC","MACR_CABRI_CALC",
-           "MACR_ADAP_MAIL","IMPR_FICO_HOMARD","DEFI_PART_FETI",
+           "MACR_ADAP_MAIL","IMPR_FICO_HOMARD","DEFI_PART_FETI"
         )
 
+dict_erreurs={
+#STA8
+              "DIST_LIGN_3D": "la commande DIST_LIGN_3D a ete supprimee",
+              "DEFI_THER_JOULE": "la commande DIST_LIGN_3D a ete supprimee",
+              "DIST_LIGN_3D": "la commande DIST_LIGN_3D a ete supprimee",
+              "AFFE_MODELE_AFFE": "Les modelisations APPUI_REP, ASSE_GRIL et 3D_JOINT_CT ont ete supprimees",
+              "AFFE_CHAR_MECA_CONTACT_FROTTEMENT": "Suppression d un mot clef FROTTEMENT",
+              "AFFE_CHAR_MECA_SECH_CALCULEE": "le sechage est maintenant une variable de commande",
+              "AFFE_CHAR_MECA_HYDR_CALCULEE": "l'hydratation est maintenant une variable de commande",
+              "AFFE_CHAR_MECA_EPSA_CALCULEE":"EPSA est maintenant une variable de commande",
+              "AFFE_CHAR_MECA_PRESSION_CALCULEE":"PRESSION_CALCULEE est remplace par EVOL_CHAR",
+              "MACR_LIGN_COUPE" : "MACR_LIGN_COUPE demande un traitement manuel",
+              "POST_RCCM" : "POST_RCCM demande un traitement manuel",
+              "DEFI_MATERIAU_CHABOCHE" : "remplacer la valeur CINx_CHAB",
+              "DEFI_MATERIAU_POLY_CFC" : "le materiau POLY_CFC est remplace par le comportement POLYCRISTAL",
+              "DEFI_MATERIAU_ECOU_PLAS1" : "le materiau ECOU_PLAS1 est supprime",
+              "DEFI_MATERIAU_COMP_THM_ELAS_THM" : "le materiau ELAS_THM a ete supprime",
+              "DEFI_MATERIAU_COMP_THM_SURF_ETAT_SATU" : "le materiau SURF_ETAT_SATU a ete supprime",
+              "DEFI_MATERIAU_COMP_THM_SURF_ETAT_NSAT" : "le materiau SURF_ETAT_NSAT a ete supprime",
+              "DEFI_MATERIAU_COMP_THM_CAM_CLAY_THM" : "le materiau CAM_CLAY_THM a ete supprime",
+              "DEFI_MATERIAU_COMP_THM_LIQU_SATU_GAT" : "le materiau LIQU_SATU_GAT a ete supprime",
+              "DEFI_MATERIAU_COMP_THM_LIQU_NSAT_GAT" : "le materiau LIQU_NSAT_GAT a ete supprime",
+              "DEFI_MATERIAU_GLRC" : "le materiau GLRC a ete remplace par GLRC_DAMAGE",
+              "DEFI_MATERIAU_GLRC_FO" : "le materiau GLRC_FO a ete remplace par GLRC_DAMAGE",
+              "DEFI_MATERIAU_OHNO" : "le materiau OHNO a ete remplace par TAHERI",
+              "DEFI_MATERIAU_OHNO_FO" : "le materiau OHNO a ete remplace par TAHERI",
+              "CALC_CHAM_ELEM":"reecrire la partie SOUR_ELGA_ELEC",
+              "CALC_G_THETA_T_OPTION_VALEUR":"verifier la valeur d OPTION",
+              "CALC_G_THETA_T_OPTION_DEFAUT":"verifier la valeur d OPTION donnee a la place du defaut",
+              "CALC_G_MODELE":"Mot Clef MODELE supprimé sous CALC_G",
+              "CALC_G_DEPL":"Mot Clef DEPL supprimé sous CALC_G",
+              "CALC_G_CHAM_MATER":"Mot Clef CHAM_MATER supprimé sous CALC_G",
+              "CALC_G_CARA_ELEM":"Mot Clef CARA_ELEM supprimé sous CALC_G",
+              "CALC_G_RESULTAT=XXX,":"Mot Clef RESULTAT à completer sous CALC_G",
+              "AFFE_MODELE_AFFE_MODELISATION_VALEUR":"verifier la valeur de MODELISATION",
+              "STAT_NON_LINE_COMP_INCR_RELATION_VALEUR":"verifier la valeur de RELATION",
+              "STAT_NON_LINE_COMP_INCR_RELATION_KIT_VALEUR":"verifier la valeur de RELATION_KIT",
+              "STAT_NON_LINE_VARI_COMM":"suppression des variables de commande",
+              "STAT_NON_LINE_INCREMENT_SUBD_PAS":"Si SUBD_PAS=1 il n'y a pas subdivision : le mot est clef est ote du STAT_NON_LINE",
+              "DYNA_NON_LINE_COMP_INCR_RELATION_VALEUR":"verifier la valeur de RELATION",
+              "DYNA_NON_LINE_COMP_INCR_RELATION_KIT_VALEUR":"verifier la valeur de RELATION_KIT",
+              "DYNA_NON_LINE_VARI_COMM":"suppression des variables de commande",
+              "DYNA_NON_LINE_INCREMENT_SUBD_PAS":"Si SUBD_PAS=1 il n'y a pas subdivision : le mot est clef est ote du DYNA_NON_LINE",
+              "CALC_PRECONT_SUBD_PAS":"Si SUBD_PAS=1 il n'y a pas subdivision : le mot est clef est ote du CALC_PRECONT",
+              "TEST_RESU_UNITE":"suppression du mot clef UNITE dans TEST_RESU",
+              "POST_SIMPLIFIE":"commande POST_SIMPLIFIE supprimee",
+              "POST_DYNA_ALEA_GAUSS":"la methode GAUSS a ete supprimee de POST_DYNA_ALEA",
+              "POST_DYNA_ALEA_VANMARCKE":"la methode VANMARCKE a ete supprimee de POST_DYNA_ALEA",
+              "POST_DYNA_ALEA_DEPASSEMENT":"la methode DEPASSEMENT a ete supprimee de POST_DYNA_ALEA",
+              "POST_DYNA_ALEA_RAYLEIGH":"la methode RAYLEIGH a ete supprimee de POST_DYNA_ALEA",
+              "DYNA_TRAN_MODAL_EXCIT_NUME_MODE":"le numero du mode utilise pour EXCIT DYNA_TRAN_MODAL est le numero d'ORDRE",
+              "DEFI_INTERF_DYNA_INTERFACE_DDL_ACTIF":"DDL_ACTIF supprime de DEFI_INTERF_DYNA; utiliser MASQUE",
+              "DEFI_TEXTURE":"le materiau POLY_CFC est remplace par le comportement POLYCRISTAL",
+              "CREA_RESU_NOM_CHAM_VALEUR":"HYDR_ELGA est remplace par HYDR_ELNO_ELGA et HYDR_NOEU_ELGA",
+              "COMB_CHAM_NO":"COMB_CHAM_NO est remplace par CREA_CHAMP",
+              "COMB_CHAM_ELEM":"COMB_CHAM_ELEM est remplace par CREA_CHAMP",
+              "IMPR_OAR":"IMPR_OAR demande un traitement manuel",
+              "IMPR_FICO_HOMARD":"IMPR_FICO_HOMARD a ete integre dans MACR_ADPA_MAIL",
+             }
+
+sys.dict_erreurs=dict_erreurs
+
 #atraiter=( "MACR_ADAP_MAIL",)
 
 def traduc(infile,outfile,flog=None):
@@ -50,7 +113,7 @@ def traduc(infile,outfile,flog=None):
     parseKeywords(root)
     
     ####################### traitement erreurs ########################
-    GenereErreurPourCommande(jdc,("POST_RCCM","DIST_LIGN_3D","IMPR_OAR","COMB_CHAM_NO","COMB_CHAM_ELEM"))
+    GenereErreurPourCommande(jdc,("DEBUT","POST_RCCM","DIST_LIGN_3D","IMPR_OAR","COMB_CHAM_NO","COMB_CHAM_ELEM"))
 
     ####################### traitement CALC_META     #######################
     renameMotCleInFact(jdc,"CALC_META","ETAT_INIT","META_INIT","META_INIT_ELNO")
index 13647f1e0aeeb3cc9aa514596f581ae1691b17ee..a17422e03cf5a3376d4f131e1627a3ce009755b6 100644 (file)
@@ -9,6 +9,7 @@ Typical use is:
 
 import log
 import optparse
+import sys
 
 from load   import getJDC
 from mocles import parseKeywords
@@ -18,12 +19,45 @@ from renamemocle  import *
 from inseremocle  import *
 from changeValeur import *
 from movemocle    import *
-from dictErreurs  import GenereErreurPourCommande
+from dictErreurs  import GenereErreurPourCommande,GenereErreurMotCleInFact
 
 import calcG
 
 
-atraiter=( "DEFI_MAILLAGE","CALC_VECT_ELEM","DYNA_TRAN_EXPLI","DYNA_NON_LINE","STAT_NON_LINE","FACT_LDLT","FACT_GRAD","RESO_LDLT","RESO_GRAD","DYNA_TRAN_MODAL","NORM_MODE","MACRO_MODE_MECA","POST_RCCM","THER_NON_LINE","THER_LINEAIRE","THER_NON_LINE_MO","DEFI_CABLE_BP","GENE_VARI_ALEA","DEFI_MATERIAU","IMPR_MATRICE","CALC_G","CALC_MATR_ELEM","MACR_ADAP_MAIL","MACR_INFO_MAIL","REST_BASE_PHYS","COMB_SISM_MODAL","TEST_FICHIER","MACR_ELEM_DYNA","CREA_CHAMP","AFFE_CHAR_MECA","AFE_CHAR_MECA_F")
+atraiter=( "DEFI_MAILLAGE","CALC_VECT_ELEM","DYNA_TRAN_EXPLI","DYNA_NON_LINE","STAT_NON_LINE","FACT_LDLT","FACT_GRAD","RESO_LDLT","RESO_GRAD","DYNA_TRAN_MODAL","NORM_MODE","MACRO_MODE_MECA","POST_RCCM","THER_NON_LINE","THER_NON_LINE_MO","THER_LINEAIRE","THER_NON_LINE_MO","DEFI_CABLE_BP","GENE_VARI_ALEA","DEFI_MATERIAU","IMPR_MATRICE","CALC_G","CALC_MATR_ELEM","MACR_ADAP_MAIL","MACR_INFO_MAIL","REST_BASE_PHYS","COMB_SISM_MODAL","TEST_FICHIER","MACR_ELEM_DYNA","CREA_CHAMP","AFFE_CHAR_MECA","AFE_CHAR_MECA_F","MODI_MAILLAGE","DEFI_FISS_XFEM","AFFE_MODELE","POST_MAIL_XFEM","CALC_NO","LIRE_CHAMP","AFFE_MATERIAU","MACR_ASCOUF_CALC","MACR_ASPIC_CALC","CALC_PRECONT","LIRE_INTE_SPEC","MACR_CARA_POUTRE","MACR_LIGN_COUPE")
+
+dict_erreurs={
+# STA9
+              "POST_RCCM_SITUATION_NUME_PASSAGE":"Utilisation de NUME_PASSAGE pour le type TUYAUTERIE impossible en 9.2. On ne traite pour le moment que les chemins de passage simples.",
+              "POST_RCCM_SITUATION_NB_CYCL_SEISME":"POST_RCCM : maintenant les SITUATIONS sismiques ont leur propre mot clef facteur SEISME, attention, traduction incomplete",
+              "DEFI_MATERIAU_BAZANT_FD" : "le materiau BAZANT_FD a ete supprime",
+              "DEFI_MATERIAU_APPUI_ELAS" : "le materiau APPUI_ELAS a ete supprime",
+              "DEFI_MATERIAU_PORO_JOINT" : "le materiau PORO_JOINT a ete supprime",
+              "DEFI_MATERIAU_ZIRC_CYRA2" : "le materiau ZIRC_CYRA2 a ete supprime",
+              "DEFI_MATERIAU_ZIRC_EPRI" : "le materiau ZIRC_EPRI a ete supprime",
+              "IMPR_MATRICE_MATR_ELEM_FORMAT=RESULTAT" : "IMPR_MATRICE au format RESULTAT a ete supprime",
+              "IMPR_MATRICE_MATR_ASSE_FORMAT=RESULTAT" : "IMPR_MATRICE au format RESULTAT a ete supprime",
+              "CALC_G_OPTION=G_LAGR" : "l'OPTION G_LAGR de CALC_G a ete supprimee",
+              "CALC_G_OPTION=G_LAGR_GLOB" : "l'OPTION G_LAGR_GLOB de CALC_G a ete supprimee",
+              "CALC_MATR_ELEM_THETA" : "l'OPTION RIGI_MECA_LAGR de CALC_MATR_ELEM a ete supprimee",
+              "TEST_FICHIER_NB_CHIFFRE" : "le fonctionnement de TEST_FICHIER a change entre la V8 et la V9, consultez la doc, en particulier pour entrer la bonne valeur de NB_VALE",
+              "DYNA_NON_LINE_PILOTAGE" : "le PILOTAGE n'est pas actif dans DYNA_NON_LINE ",
+              "DYNA_NON_LINE_RECH_LINEAIRE" : "la RECH_LINEAIRE n'est pas active dans DYNA_NON_LINE ",
+              "DEFI_FISS_XFEM_CONTACT" : "en v9, le contact pour XFEM est defini dans un AFFE_CHAR_MECA(CONTACT=_F) en propre",
+              "POST_MAIL_XFEM" : "dans POST_MAIL_XFEM il faut entrer le MODELE et le MAILLAGE_SAIN",
+              "AFFE_MATERIAU_AFFE_TEMP_REF" : "Passage aux variables de commande : definir un materiau dependant de la temperature 'AFFE_MATERIAU(AFFE_VARC=_F(...))' et supprimer TEMP_CALCULEE dans les chargements",
+              "STAT_NON_LINE_LAGR_NON_LOCAL" : "Le solveur NON_LOCAL a ete supprime",
+              "STAT_NON_LINE_SOLV_NON_LOCAL" : "Le solveur NON_LOCAL a ete supprime",
+              "STAT_NON_LINE_ETAT_INIT_VARI_NON_LOCAL" : "Le solveur NON_LOCAL a ete supprime",
+              "DYNA_NON_LINE_LAGR_NON_LOCAL" : "Le solveur NON_LOCAL a ete supprime",
+              "DYNA_NON_LINE_SOLV_NON_LOCAL" : "Le solveur NON_LOCAL a ete supprime",
+              "DYNA_NON_LINE_ETAT_INIT_VARI_NON_LOCAL" : "Le solveur NON_LOCAL a ete supprime",
+              "CALC_PRECONT_LAGR_NON_LOCAL" : "Le solveur NON_LOCAL a ete supprime",
+              "CALC_PRECONT_SOLV_NON_LOCAL" : "Le solveur NON_LOCAL a ete supprime",
+              "CALC_PRECONT_ETAT_INIT_VARI_NON_LOCAL" : "Le solveur NON_LOCAL a ete supprime",
+             }
+
+sys.dict_erreurs=dict_erreurs
 
 def traduc(infile,outfile,flog=None):
 
@@ -35,7 +69,7 @@ def traduc(infile,outfile,flog=None):
     parseKeywords(root)
     
     ####################### traitement erreurs ########################
-    GenereErreurPourCommande(jdc,("POST_RCCM","DEFI_MATERIAU","TEST_FICHIER","DYNA_NON_LINE"))
+    GenereErreurPourCommande(jdc,("POST_RCCM","DEFI_MATERIAU","TEST_FICHIER","DYNA_NON_LINE","DEFI_FISS_XFEM","POST_MAIL_XFEM"))
 
     ####################### traitement Sous-Structuration  #######################
     renameMotCleInFact(jdc,"DEFI_MAILLAGE","DEFI_SUPER_MAILLE","MACR_ELEM_STAT","MACR_ELEM")
@@ -48,10 +82,21 @@ def traduc(infile,outfile,flog=None):
     removeMotCle(jdc,"MACR_ELEM_DYNA","OPTION")
     #########################################################################
 
-    ####################### traitement Resolution lineaire ######################
+    ####################### traitement MODI_MAILLAGE #######################
+    renameMotCle(jdc,"MODI_MAILLAGE","ORIE_SHB8","ORIE_SHB")
+    #########################################################################
+
+    ####################### traitement XFEM #######################
+    dXFEM={"3D_XFEM":"3D", "C_PLAN_X":"C_PLAN", "D_PLAN_X":"D_PLAN"}
+    ChangementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",dXFEM)
+    renameMotCleInFact(jdc,"DEFI_FISS_XFEM","ORIE_FOND","PT_ORIGIN","POINT_ORIG")
+    removeMotCleAvecErreur(jdc,"DEFI_FISS_XFEM","CONTACT")
+    #########################################################################
+
+    ####################### traitement Resolution lineaire #####################
     renameMotCle(jdc,"RESO_LDLT","MATR_FACT","MATR")
     renameMotCle(jdc,"RESO_GRAD","MATR_ASSE","MATR")
-    renameMotCle(jdc,"RESO_GRAD","MATR_FACT","MATR_FACT")
+    renameMotCle(jdc,"RESO_GRAD","MATR_FACT","MATR_PREC")
     renameOper(jdc,"RESO_LDLT","RESOUDRE")
     renameOper(jdc,"RESO_GRAD","RESOUDRE")
     renameOper(jdc,"FACT_LDLT","FACTORISER")
@@ -84,6 +129,9 @@ def traduc(infile,outfile,flog=None):
     renameMotCle(jdc,"THER_NON_LINE","TEMP_INIT","ETAT_INIT",)
     renameMotCleInFact(jdc,"THER_NON_LINE","INCREMENT","NUME_INIT","NUME_INST_INIT")
     renameMotCleInFact(jdc,"THER_NON_LINE","INCREMENT","NUME_FIN","NUME_INST_FIN")
+
+    renameMotCleInFact(jdc,"THER_NON_LINE_MO","TEMP_INIT","NUME_INIT","NUME_ORDRE")
+    renameMotCle(jdc,"THER_NON_LINE_MO","TEMP_INIT","ETAT_INIT",)
     #########################################################################
 
     ####################### traitement THER_LINEAIRE ############################
@@ -91,6 +139,7 @@ def traduc(infile,outfile,flog=None):
     renameMotCle(jdc,"THER_LINEAIRE","TEMP_INIT","ETAT_INIT",)
     renameMotCleInFact(jdc,"THER_LINEAIRE","INCREMENT","NUME_INIT","NUME_INST_INIT")
     renameMotCleInFact(jdc,"THER_LINEAIRE","INCREMENT","NUME_FIN","NUME_INST_FIN")
+    renameMotCleInFact(jdc,"THER_LINEAIRE","ARCHIVAGE","LIST_ARCH","LIST_INST")
     #########################################################################
 
     ####################### traitement THER_NON_LINE ############################
@@ -122,8 +171,8 @@ def traduc(infile,outfile,flog=None):
     moveMotCleFromFactToFact(jdc,"DEFI_MATERIAU","CAM_CLAY","PA","BARCELONE")
     renameMotCleInFact(jdc,"DEFI_MATERIAU","CAM_CLAY","PA","KCAM")
     # CAM_CLAY
-    AjouteMotClefDansFacteur(jdc,"DEFI_MATERIAU","CAM_CLAY","MU=xxx",)
-    AjouteMotClefDansFacteurSiRegle(jdc,"DEFI_MATERIAU","CAM_CLAY","PTRAC=XXX",((("CAM_CLAY","KCAM"),"existeMCsousMCF"),))
+#    AjouteMotClefDansFacteur(jdc,"DEFI_MATERIAU","CAM_CLAY","MU=xxx",)
+#    AjouteMotClefDansFacteurSiRegle(jdc,"DEFI_MATERIAU","CAM_CLAY","PTRAC=XXX",((("CAM_CLAY","KCAM"),"existeMCsousMCF"),))
     # VENDOCHAB
     renameMotCleInFact(jdc,"DEFI_MATERIAU","VENDOCHAB","S_VP","S")
     renameMotCleInFact(jdc,"DEFI_MATERIAU","VENDOCHAB","N_VP","N")
@@ -147,7 +196,7 @@ def traduc(infile,outfile,flog=None):
     #########################################################################
 
     ####################### traitement MACR_ADAP/INFO_MAIL ######################
-    dadap_mail={"V8_11":"V9_5", "V8_N":"V9_N", "V8_N_PERSO":"V9_N_PERSO"}
+    dadap_mail={ "V8_5":"V9_5", "V8_N":"V9_N", "V8_N_PERSO":"V9_N_PERSO"}
     ChangementValeur(jdc,"MACR_ADAP_MAIL","VERSION_HOMARD",dadap_mail)
     ChangementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",dadap_mail)
     #########################################################################
@@ -238,7 +287,7 @@ def traduc(infile,outfile,flog=None):
     ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION",dDis_Choc)
     renameMotCleInFact(jdc,"STAT_NON_LINE","COMP_INCR","DIS_CONTACT","DIS_CHOC")
     renameMotCleInFact(jdc,"DYNA_NON_LINE","COMP_INCR","DIS_CONTACT","DIS_CHOC")
-    dGrilles={"DIS_GRICRA":"GRILLE_CRAYONS"}
+    dGrilles={"GRILLE_CRAYONS":"DIS_GRICRA"}
     ChangementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RELATION",dGrilles)
     ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION",dGrilles)
 
@@ -251,12 +300,103 @@ def traduc(infile,outfile,flog=None):
     dAppariement={"MAIT_ESCL_SYME":"MAIT_ESCL"}
     ChangementValeurDsMCF(jdc,"AFFE_CHAR_MECA","CONTACT","APPARIEMENT",dAppariement)
 
+    AjouteMotClefDansFacteurSiRegle(jdc,"AFFE_CHAR_MECA","CONTACT","TYPE_APPA='FIXE'",((("CONTACT","DIRE_APPA",),"existeMCsousMCF"),))
     #########################################################################
 
     ####################### traitement CREA_CHAMP ######################
     chercheOperInsereFacteurSiRegle(jdc,"CREA_CHAMP","PRECISION=1.E-3,", ((("PRECISION",),"nexistepas"),(("CRITERE",),"existe"),),0)
+    dTypeChamp={"ELEM_ERREUR":"ELEM_ERRE_R"}
+    ChangementValeur(jdc,"CREA_CHAMP","TYPE_CHAM",dTypeChamp)
+    #########################################################################
+
+    ####################### traitement CALC_NO ######################
+    chercheOperInsereFacteurSiRegle(jdc,"CALC_NO","PRECISION=1.E-3,", ((("PRECISION",),"nexistepas"),(("CRITERE",),"existe"),),0)
+    #########################################################################
+
+    ######### traitement variables de commandes TEMP_CALCULEE/TEMP_REF ##############
+    GenereErreurMotCleInFact(jdc,"AFFE_MATERIAU","AFFE","TEMP_REF")
+    ################################################################################
+
+    ################# traitement LIRE_CHAMP  #######################################
+#    dTypeChamp={"ELEM_ERREUR":"ELEM_ERRE_R"}
+    ChangementValeur(jdc,"LIRE_CHAMP","TYPE_CHAM",dTypeChamp)
+    ################################################################################
+
+
+    ######### traitement SUIVI_DDL #################################################
+# en pre-traitement il faudrait une methode qui separe tous les mots clefs facteurs en les dupliquant
+# par exemple ici mettre autant de mots clefs facteurs SUIVI_DDL qu'il a de _F
+    AjouteMotClefDansFacteur(jdc,"STAT_NON_LINE","SUIVI_DDL","SUIVI_DDL='OUI'")
+    renameMotCle(jdc,"STAT_NON_LINE","SUIVI_DDL","OBSERVATION")
+# en post-traitement il faudrait une methode qui fusionne tous les mots clefs facteurs en double
+# par exemple ici les OBSERVATION
+    ################################################################################
+
+
+    ######### traitement EVOLUTION in STAT/DYNA_NON_LINE ###########################
+    removeMotCleInFact(jdc,"STAT_NON_LINE","INCREMENT","EVOLUTION")
+    removeMotCleInFact(jdc,"DYNA_NON_LINE","INCREMENT","EVOLUTION")
+    ################################################################################
+
+    ######### traitement du MODELE GRILLE ##############################################
+    dGrille={"GRILLE":"GRILLE_EXCENTRE"}
+    ChangementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",dGrille)
+    ################################################################################
+
+    ######### traitement de MACR_ASPIC/ASCOUF_CALC GRILLE ##########################
+    removeMotCle(jdc,"MACR_ASCOUF_CALC","CHARGE")
+    removeMotCle(jdc,"MACR_ASPIC_CALC","CHARGE")
+    ################################################################################
+
+
+    ############ suppression de NON_LOCAL ##########################################
+    removeMotCleAvecErreur(jdc,"STAT_NON_LINE","LAGR_NON_LOCAL")
+    removeMotCleAvecErreur(jdc,"STAT_NON_LINE","SOLV_NON_LOCAL")
+    removeMotCleInFact(jdc,"STAT_NON_LINE","ETAT_INIT","VARI_NON_LOCAL",erreur=1)
+
+    removeMotCleAvecErreur(jdc,"DYNA_NON_LINE","LAGR_NON_LOCAL")
+    removeMotCleAvecErreur(jdc,"DYNA_NON_LINE","SOLV_NON_LOCAL")
+    removeMotCleInFact(jdc,"DYNA_NON_LINE","ETAT_INIT","VARI_NON_LOCAL",erreur=1)
+
+    removeMotCleAvecErreur(jdc,"CALC_PRECONT","LAGR_NON_LOCAL")
+    removeMotCleAvecErreur(jdc,"CALC_PRECONT","SOLV_NON_LOCAL")
+    removeMotCleInFact(jdc,"CALC_PRECONT","ETAT_INIT","VARI_NON_LOCAL",erreur=1)
+    ################################################################################
+
+    ######### traitement de LIRE_INTE_SPEC #########################################
+    renameMotCle(jdc,"LIRE_INTE_SPEC","FORMAT","FORMAT_C")
+    ################################################################################
+
+    ######### traitement de MACR_CARA_POUTRE  ######################################
+    chercheOperInsereFacteurSiRegle(jdc,"MACR_CARA_POUTRE","FORMAT='ASTER'", ((("UNITE_MAILLAGE",),"existe"),),0)
+    renameMotCle(jdc,"MACR_CARA_POUTRE","UNITE_MAILLAGE","UNITE")
+    ################################################################################
+
+    ######### traitement de MACR_LIGN_COUPE  ######################################
+# il y a un probleme s'il y a plusieurs mots clefs facteurs LIGN_COUPE : la regle ne marche qu'une fois par commande
+    AjouteMotClefDansFacteurSiRegle(jdc,"MACR_LIGN_COUPE","LIGN_COUPE","REPERE='LOCAL'", ((("LIGN_COUPE","VECT_Y",),"existeMCsousMCF"),),0)
+# autre probleme : s'il y a plusieurs mots clefs facteurs le traducteur peut, dans l'insertion, se tromper de mot clef facteur
+    AjouteMotClefDansFacteurSiRegle(jdc,"MACR_LIGN_COUPE","LIGN_COUPE","TYPE='GROUP_NO'", ((("LIGN_COUPE","GROUP_NO",),"existeMCsousMCF"),),0)
+    AjouteMotClefDansFacteurSiRegle(jdc,"MACR_LIGN_COUPE","LIGN_COUPE","TYPE='GROUP_MA'", ((("LIGN_COUPE","GROUP_MA",),"existeMCsousMCF"),),0)
+    ################################################################################
+
+    ####################### traitement DRUCKER_PRAGER #######################
+    dPRAGER={"DRUCKER_PRAGER":"DRUCK_PRAGER",}
+    ChangementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RELATION",dPRAGER)
+    ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION",dPRAGER)
+    ChangementValeurDsMCF(jdc,"SIMU_POINT_MAT","COMP_INCR","RELATION",dPRAGER)
+    ChangementValeurDsMCF(jdc,"CALC_PRECONT","COMP_INCR","RELATION",dPRAGER)
+    #########################################################################
+
+    ####################### traitement RELATION_KIT #######################
+    dKIT={"ELAS_THER":"ELAS",}
+    ChangementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RELATION_KIT",dKIT)
+    ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION_KIT",dKIT)
+    ChangementValeurDsMCF(jdc,"SIMU_POINT_MAT","COMP_INCR","RELATION_KIT",dKIT)
+    ChangementValeurDsMCF(jdc,"CALC_PRECONT","COMP_INCR","RELATION_KIT",dKIT)
     #########################################################################
 
+
     f=open(outfile,'w')
     f.write(jdc.getSource())
     f.close()
index 8a76087b12f31eb56023a729ed823b502b5ad8d5..1023eb901a90ebc3d3273150a34dc1d48bfcdd54 100644 (file)
@@ -87,20 +87,6 @@ class OpenturnsGenerator(PythonGenerator):
          self.dictTempo[obj.nom]=obj.valeur
       return s
 
-#   def generMCFACT(self,obj):
-#      # Il n est pas possible d utiliser obj.valeur qui n est pas 
-#      # a jour pour les nouvelles variables ou les modifications 
-#      if obj.nom in ( "Variables", "Files", ) :
-#         self.TraiteMCSIMP=0
-#         self.dictTempo={}
-#      s=PythonGenerator.generMCFACT(self,obj)
-#      if obj.nom in ( "Variables", ) :
-#         self.listeVariables.append(self.dictTempo)
-#         self.dictTempo={}
-#      else :
-#         self.listeFichiers.append(self.dictTempo)
-#      self.TraiteMCSIMP=1
-#      return s
 
    def generETAPE(self,obj):
       print "IDM: generETAPE dans generator_openturns_study.py"