]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
PN : report dernieres modifs V1_11 V1_11_tradV2 origin/V1_11_tradV2
authorPascale Noyret <pascale.noyret@edf.fr>
Fri, 22 Dec 2006 10:51:21 +0000 (10:51 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Fri, 22 Dec 2006 10:51:21 +0000 (10:51 +0000)
Editeur/bureau.py
Editeur/widgets.py
Traducteur/dictErreurs.py
Traducteur/inseremocle.py
Traducteur/log.py
Traducteur/toto.comm
Traducteur/traduitV7V8.py

index cc3fc933a9ebccb1b8634048840efbd78e8cf242..d54ab5c7c4f82ef9589612885a1c8f4b1ad9270d 100644 (file)
@@ -741,19 +741,20 @@ class BUREAU:
       i=FichieraTraduire.rfind(".")
       Feuille=FichieraTraduire[0:i]
       FichierTraduit=Feuille+"v8.comm"
-      os.system("rm -rf /tmp/convert.log")
+      log=self.initialdir+"/convert.log"
+      os.system("rm -rf "+log)
       Pmw.showbusycursor()
-      traduitV7V8.traduc(FichieraTraduire,FichierTraduit)
+      traduitV7V8.traduc(FichieraTraduire,FichierTraduit,log)
       Pmw.hidebusycursor()
       Entete="Fichier Traduit : "+FichierTraduit +"\n\n"
       titre = "conversion de "+ FichieraTraduire
 
-      if  os.stat("/tmp/convert.log")[6] != 0L :
-          f=open('/tmp/convert.log')
+      if  os.stat(log)[6] != 0L :
+          f=open(log)
           texte_cr= f.read()
           f.close()
       else :
-          texte_cr = Entete  + "Pas d information de conversion \n"
+          texte_cr = Entete  
           commande="diff "+FichieraTraduire+" "+FichierTraduit+" >/dev/null"
           try :
             if os.system(commande) == 0 :
index ad8c3b66c0e22b76fc8b84b6d9eba9790e63b976..3eeaccb942af14eeab15ad8514625157659e0a50 100644 (file)
@@ -173,7 +173,7 @@ class FenetreSurLigneWarning(Fenetre):
                 ligne=ligne+1
                 l=l+"\n"
                 self.zone_texte.insert(END,l)
-                if l.find("INFO") < 0 : 
+                if (l.find("WARNING") > -1) or (l.find("ERROR") > -1) : 
                    self.zone_texte.tag_add( "Rouge", str(ligne)+".0", "end-1c" )
                    self.zone_texte.tag_config("Rouge", foreground='red')
            try:
index 46e37dd884af3fd5c19fe33d4a8ae4a24a26f109..b5970abb44efd49864daf0bd7d05b132ee57cf47 100644 (file)
@@ -27,6 +27,7 @@ dict_erreurs={
               "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",
@@ -48,7 +49,6 @@ dict_erreurs={
               "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",
-              "AFFE_MODELE_AFFE":"suppression de AFFE (ancien mot clef APPUI_REP)",
               "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",
@@ -60,7 +60,7 @@ dict_erreurs={
               "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 doit etre traduit manuellement",
+              "IMPR_OAR":"IMPR_OAR demande un traitement manuel",
               "IMPR_FICO_HOMARD":"IMPR_FICO_HOMARD a ete integre dans MACR_ADPA_MAIL",
              }
 
index ff8a33575e29a429733cb734ea8a3d959ff543b9..f8307f5e1ed910dc37be11a40195644ad85f097f 100644 (file)
@@ -58,7 +58,11 @@ def insereMotCleDansFacteur(jdc,facteur,texte):
     indice = -1
     while texte[indice] == " " : 
        indice = indice -1
-    if texte[indice] != "," : texte=texte+","
+    if texte[indice] != "," : 
+       texte=texte+","
+    if (texte.find("#") > -1) and (texte.find("#") < texte.find(",")) :
+          texte=texte+"\n,"
+          
     texteinfo=texte
     texte=texte+"\n"
   
index 3e440867a7a3bf6255b564b1666eb934942078cf..5964db1f976d0d61cbde8fbec46c56f0884d8a9e 100644 (file)
@@ -1,10 +1,24 @@
 # -*- coding: utf-8 -*-
 
 import logging
+import os
 logger=logging.getLogger()
 
-def initialise() :
-    hdlr=logging.FileHandler('/tmp/convert.log','w')
+def initialise(flog=None):
+    if flog == None : 
+          MonHome=os.environ['HOME']
+          MaDir=MonHome+"/Eficas_install"
+          try :
+            os.mkdir(MaDir)
+          except :
+            pass
+          try :
+            os.listdir(MaDir)
+            flog=MaDir+"/convert.log"
+          except :
+            flog='/tmp/convert.log'
+
+    hdlr=logging.FileHandler(flog,'w')
     formatter = logging.Formatter('%(levelname)s: %(message)s')
     hdlr.setFormatter(formatter)
     logger.addHandler(hdlr) 
index fbd94a1afc2f83052914ffbd10589ee6aa2fbcb0..fdf7ebc15824aa803de154d7343c6c91dff5c96e 100644 (file)
-DEBUT()
+# MODIF  DATE 30/05/2005   AUTEUR ROMEO R.FERNANDES 
+# TITRE TEST THHM, 2D: LA COLONNE D ABOUSTIT    
+#            CONFIGURATION MANAGEMENT OF EDF VERSION
+# ======================================================================
+# COPYRIGHT (C) 1991 - 2002  EDF R&D                  WWW.CODE-ASTER.ORG
+# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY  
+# IT UNDER THE TERMS OF THE GNU GENERAL PUBLIC LICENSE AS PUBLISHED BY  
+# THE FREE SOFTWARE FOUNDATION; EITHER VERSION 2 OF THE LICENSE, OR     
+# (AT YOUR OPTION) ANY LATER VERSION.                                                    
+#                                                                       
+# THIS PROGRAM IS DISTRIBUTED IN THE HOPE THAT IT WILL BE USEFUL, BUT   
+# WITHOUT ANY WARRANTY; WITHOUT EVEN THE IMPLIED WARRANTY OF            
+# MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. SEE THE GNU      
+# GENERAL PUBLIC LICENSE FOR MORE DETAILS.                              
+#                                                                       
+# YOU SHOULD HAVE RECEIVED A COPY OF THE GNU GENERAL PUBLIC LICENSE     
+# ALONG WITH THIS PROGRAM; IF NOT, WRITE TO EDF R&D CODE_ASTER,         
+#    1 AVENUE DU GENERAL DE GAULLE, 92141 CLAMART CEDEX, FRANCE.        
+# ======================================================================
+# MODELE NON SATURE DE GATMIRI (CERMES)
+# COMPLET, LINEAIRE PASSANT PAR LE MODELE NON LINEAIRE    
+# BASE IMPERMEABLE TOP:SUCCION ET TEMPERATURE IMPOSEES
+DEBUT(CODE=_F( NOM = 'WTNV118B',NIV_PUB_WEB='INTERNET'))
 
-MAIL=LIRE_MAILLAGE(   )
+PRE_IDEAS()
 
+MAIL=LIRE_MAILLAGE()
+
+MODELE=AFFE_MODELE(   MAILLAGE=MAIL,
+                        AFFE=_F(  TOUT = 'OUI', 
+                      PHENOMENE = 'MECANIQUE',
+                      MODELISATION = 'D_PLAN_THHM')
+                     )
+
+#
+#
+####################################
+#  LISTE DES INSTANTS DE CALCUL
+####################################
+LI=DEFI_LIST_REEL(   DEBUT=0.,INTERVALLE=(
+                        _F(  JUSQU_A = 1.E6, PAS = 1.E5), 
+                        _F(  JUSQU_A = 1.01E8, PAS = 1.E6), 
+                        _F(  JUSQU_A = 1.001E9, PAS = 1.E7))
+                     )
+
+#                   
+############################################
 #
-# DEFINITION DES GROUPES DE NOEUDS
-MAIL=DEFI_GROUP( reuse=MAIL,   MAILLAGE=MAIL,CREA_GROUP_NO=(
-                       _F(  GROUP_MA = 'ENCAST'),
-                       _F(  GROUP_MA = 'CONT_PR'),
-                       _F(  GROUP_MA = ( 'B',  'SECT_MED', )))
-                   )
-
-MAIL=DEFI_GROUP( CREA_GROUP_NO=[
-                       _F(  GROUP_MA = 'ENCAST',INFO=2),
-                       _F(  GROUP_MA = 'CONT_PR'),
-                       _F(  GROUP_MA = ( 'B',  'SECT_MED', ))]
-                   )
+# DEFINITION DES FONCTIONS DE COMPORTEMENT :
+# VISCOSITE LIQUIDE ET GAZ : UNITE : PA.S
 #
-# DEFINITION DU MODELE
-MODELE=AFFE_MODELE(    MAILLAGE=MAIL,
-                         AFFE=_F(  TOUT = 'OUI',
-                       PHENOMENE = 'MECANIQUE',
-                       MODELISATION = 'AXIS_FOURIER')  )
+VISCOLIQ=DEFI_CONSTANTE(    VALE=1.E-3)
+
+VISCOGAZ=DEFI_CONSTANTE(    VALE=1.8E-5)
+
+DVISCOL=DEFI_CONSTANTE(    VALE=0.)
+
+DVISCOG=DEFI_CONSTANTE(    VALE=0.)
+
+# 
+# PERMEABILITE INTRINSEQUE, RELATIVE DU LIQUIDE, RELATIVE DU GAZ
+# UNITE INTRINSEQUE : METRES CARRES , UNITE RELATIVE : SANS
+#
+KINT=DEFI_CONSTANTE(    VALE=4.E-18)
+
+KINTG=DEFI_CONSTANTE(    VALE=4.E-18 )
+
+PERMLIQ=DEFI_CONSTANTE(    VALE=1.)
+
+DPERMLI=DEFI_CONSTANTE(    VALE=0.)
+
+PERMGAZ=DEFI_CONSTANTE(    VALE=1.)
+
+DPERGSA=DEFI_CONSTANTE(    VALE=0.)
+
+DPERGPG=DEFI_CONSTANTE(    VALE=0.)
+
+TENSUR=DEFI_CONSTANTE(    VALE=1.)
+
+DTENSUR=DEFI_CONSTANTE(    VALE=0.)
+
+CHFG=DEFI_CONSTANTE(    VALE=2.4E6)
+
+#
+# COEFFICIENT DE FICK
+# UNITE METRES CARRES PAR SECONDES
+#
+FICK=DEFI_CONSTANTE(    VALE=0.0)
+
+DFICKTE=DEFI_CONSTANTE(    VALE=0.)
 
+DFICKPG=DEFI_CONSTANTE(    VALE=0.)
+
+#
 #
-# DEFINITION DU MATERIAU
-ACIER=DEFI_MATERIAU(    ELAS= _F( E = 2.1E11,  NU = 0.3,
-                                 ALPHA = 1.E-5,  RHO = 7800.) #comment
-                                 #comment
-                      )
+# CONDUCTIVITES DU SOLIDE, DU LIQUIDE, DU GAZ
+# UNITES : WATTS PAR METRE CARRE
+#
+CONDLIQ=DEFI_CONSTANTE(    VALE=0.836)
+
+DCONDLI=DEFI_CONSTANTE(    VALE=0.)
+
+CONDGAZ=DEFI_CONSTANTE(    VALE=0.0258)
+
+DCONDGA=DEFI_CONSTANTE(    VALE=0.)
+
+CONDSOLI=DEFI_CONSTANTE(    VALE=0.836)
 
+DCONDSO=DEFI_CONSTANTE(    VALE=0.)
+
+
+HENRY=DEFI_CONSTANTE(    VALE=0.02)
+
+MATA=DEFI_MATERIAU(     THM_LIQU=_F(  
+   RHO = 1000.,
+   UN_SUR_K = 2.3E-10,
+   ALPHA = .0,
+   CP = 4180.,
+   VISC = VISCOLIQ,
+   D_VISC_TEMP = DVISCOL,
+   LAMBDA = CONDLIQ,
+   D_LAMBDA_TEMP = DCONDLI,
+   ),
 #
-# ATTRIBUTION DU MATERIAU
-CHMAT=AFFE_MATERIAU(    MAILLAGE =MAIL,
-                          AFFE=_F(  TOUT = 'OUI',
-                                 MATER = ACIER)  )
-CHMAT2=AFFE_MATERIAU(    MAILLAGE =MAIL,
-                          AFFE=(_F(  TOUT = 'OUI', MATER = ACIER),
-                                _F(  TOUT = 'OUI', MATER = ACIER),
-                                _F(  TOUT = 'OUI', MATER = ACIER),
-                                )
-                    )
-STAT_NONLINE(SOLVEUR=_F(METHOD="FRONT",
-                        PREC=1.E-3))
-STAT_NONLINE(SOLV=_F(METHOD="FRONT",
-                        PREC=1.E-3),
-             AFFE=(_F(  TOUT = 'OUI', MATER = ACIER),
-                   _F(  TOUT = 'OUI', MATER = ACIER),
-                   _F(  TOUT = 'OUI', MATER = ACIER),
+                              THM_GAZ=_F( 
+   MASS_MOL = 28.96E-3,
+   CP = 1000.,
+   VISC = VISCOGAZ,
+   D_VISC_TEMP = DVISCOG,
+   LAMBDA = CONDGAZ,
+   D_LAMBDA_TEMP = DCONDGA),                     
+#
+                             THM_AIR_DISS=_F( 
+   COEF_HENRY = HENRY, ),
+                              THM_VAPE_GAZ=_F( 
+   MASS_MOL = 18.E-3,
+   CP = 1870.,
+   VISC = VISCOGAZ,
+   D_VISC_TEMP = DVISCOG), 
+#
+                              THM_DIFFU=_F( 
+   R_GAZ = 8.315,
+   RHO = 2600.,
+   CP = 800.,
+   BIOT_COEF = 1.,
+   SATU_PRES = PERMLIQ,
+   D_SATU_PRES = DPERMLI,
+   PESA_X = 0.,
+   PESA_Y = 0.,
+   PESA_Z = 0.,
+   PERM_IN = KINT,
+   PERM_LIQU = PERMLIQ,
+   D_PERM_LIQU_SATU = DPERMLI,
+   PERM_GAZ = PERMGAZ,
+   D_PERM_SATU_GAZ = DPERGSA,
+   D_PERM_PRES_GAZ = DPERGPG,
+   FICK = FICK,
+   D_FICK_TEMP = DFICKTE,
+   D_FICK_GAZ_PRES = DFICKPG,
+   LAMBDA = CONDSOLI,
+   D_LAMBDA_TEMP = DCONDSO,
+   SIGMA_T = TENSUR,
+   D_SIGMA_T = DTENSUR,
+   PERM_G_INTR = KINTG,
+   CHAL_VAPO = CHFG),
+                              THM_INIT=_F( 
+   TEMP = 273.,
+   PRE1 = .8E5,
+   PRE2 = 1.E5,
+   PORO = 0.42,
+   PRES_VAPE = 0.0,
+   DEGR_SATU = 1.0,
+   PRES_ATMO = 1.E5),
+    COMP_THM = 'LIQU_NSAT_GAT',
+                           ELAS_THM=_F( 
+   RHO_S = 2600.,
+   UN_SUR_KS = 7.1E-10,
+   E = 6.E3,
+   KB = 1.E4,
+   D_KB_T = 0.0,
+   ALPHA_S = .3E-6,
+   ALPHA_D = .3E-6),
+                          SURF_ETAT_NSAT=_F( 
+      E_CHAR = 3.E4,
+      E_DECHAR = 3.E4,
+      XN = 0.0,
+      RF = 0.0,
+      EV_KB = 5.E4,
+      EV_XM = 0.0,
+      EV_A = 1.0,
+      EV_B = 0.0,
+      EV_CT = -.3E-6,
+      EV_SIGB = 80.E4,
+      D_E_T = 0.0,
+      D_E_SUCC = 0.0,
+      ANG_FRT = 35.,
+      COHE = 0.958E4,
+      D_COEH_SUCC = 0.0,
+      ANG_FRT_ULT = 32.,
+      SUCC_ULTM = 1.5E6,
+      RESI_TRAC = 0.958E4,
+      A_SURF_SATU = 1.,
+      B_SURF_SATU = -2.088E-8,
+      C_SURF_SATU = 8.08855E-6,
+      D_SURF_SATU = .3E-6)
+   )
+
+CHMAT0=AFFE_MATERIAU(   MAILLAGE=MAIL,
+                          AFFE=_F( TOUT = 'OUI',
+                        MATER = MATA, 
+                        TEMP_REF = 273.)
+                 )
+
+CHAR0=AFFE_CHAR_MECA(   MODELE=MODELE,DDL_IMPO=(
+                          _F(  TOUT = 'OUI',
+                                     DX = 0.),
+                         _F(  GROUP_NO = 'BASE',
+                                     DY = 0.),      
+                         _F(  GROUP_NO = 'TOP',
+                                     TEMP = 100.,
+                                     PRE1 = .6E5,
+                                     PRE2 = 1.E5))
+
                   )
-            )
-
-MA=LIRE_MAILLAGE(UNITE=20,INFO=2,TEXT="""aaaa(
-bbb""")
-"""
-MOO=AFFE_MODELE()
-"""
-MO=AFFE_MODELE(MAILLAGE=MA,
-                INFO=2,
-                )
-#LIRE_MAILLAGE()
-MA2=LIRE_MAILLAGE(UNITE=21)
-MA3 = LIRE_MAILLAGE ( #comment ( ]
-                        UNITE=23,
-                     )
-MA4 = LIRE_MAILLAGE ( #commentaire commande
-                   UNITE
-                   =
-                   24
-                   ,INFO=2 #commentaire mocle INFO
-                   ) #commentaire fin commande
-M5=LIRE_MAILLAGE (     #comment commande
-)
-a[2*(i+1)]=LIRE_MAILLAGE(UNITE=21)
+
+MESTAT=STAT_NON_LINE( 
+                            MODELE=MODELE,
+                     CHAM_MATER=CHMAT0,
+                             EXCIT=_F( 
+                CHARGE = CHAR0),
+                         COMP_INCR=_F( 
+                RELATION = 'KIT_THHM',
+                RELATION_KIT = (
+                        'SURF_ETAT_NSAT', 
+                        'LIQU_NSAT_GAT',  'HYDR_UTIL',     )),
+                         INCREMENT=_F( 
+                LIST_INST = LI),
+                            NEWTON=_F( 
+                MATRICE = 'TANGENTE',
+                REAC_ITER = 120),
+                       CONVERGENCE=_F( 
+#                RESI_GLOB_RELA   : 1.E-4
+                ITER_GLOB_MAXI = 120,
+                ITER_INTE_MAXI = 5,),
+                        PARM_THETA=0.57
+#                        ARCHIVAGE : ( LIST_INST : ARCHI )
+              )
+
+TEST_RESU( 
+           RESU=_F(  RESULTAT = MESTAT,         NUME_ORDRE = 50,
+             NOM_CHAM = 'DEPL',
+             NOM_CMP = 'TEMP',
+             NOEUD = 'NO37',
+             VALE = 6.5070242607E+01,
+             REFERENCE = 'NON_REGRESSION',  
+             CRITERE = 'RELATIF',  PRECISION = 1.E-5)
+           )
+
+TEST_RESU( 
+           RESU=_F(  RESULTAT = MESTAT,         NUME_ORDRE = 50,
+             NOM_CHAM = 'DEPL',
+             NOM_CMP = 'PRE2',
+             NOEUD = 'NO32',
+             VALE = 4.0905637135E+04,
+             REFERENCE = 'NON_REGRESSION',  
+             CRITERE = 'RELATIF',  PRECISION = 1.E-5)
+           )
+
+TEST_RESU( 
+           RESU=_F(  RESULTAT = MESTAT,         NUME_ORDRE = 100,
+             NOM_CHAM = 'DEPL',
+             NOM_CMP = 'TEMP',
+             NOEUD = 'NO37',
+             VALE = 8.6300851980E+01,
+             REFERENCE = 'NON_REGRESSION',  
+             CRITERE = 'RELATIF',  PRECISION = 1.E-5)
+           )
+
+TEST_RESU( 
+           RESU=_F(  RESULTAT = MESTAT,         NUME_ORDRE = 200,
+             NOM_CHAM = 'DEPL',
+             NOM_CMP = 'TEMP',
+             NOEUD = 'NO17',
+             VALE = 9.9999680221E+01,
+             REFERENCE = 'NON_REGRESSION',  
+             CRITERE = 'RELATIF',  PRECISION = 1.E-5)
+           )
+
+TEST_RESU( 
+           RESU=_F(  RESULTAT = MESTAT,         NUME_ORDRE = 200,
+             NOM_CHAM = 'DEPL',
+             NOM_CMP = 'PRE2',
+             NOEUD = 'NO17',
+             VALE = 1.0018964053E+05,
+             REFERENCE = 'NON_REGRESSION',  
+             CRITERE = 'RELATIF',  PRECISION = 1.E-5)
+           )
+
+TEST_RESU( 
+           RESU=_F(  RESULTAT = MESTAT,         NUME_ORDRE = 200,
+             NOM_CHAM = 'DEPL',
+             NOM_CMP = 'DY',
+             NOEUD = 'NO72',
+             VALE = 5.990340704E-04,
+             REFERENCE = 'NON_REGRESSION',  
+             CRITERE = 'RELATIF',  PRECISION = 1.E-5)
+           )
+
+FIN()
+#
index e74f31a19e0ef0cd89f5780def3d223c8013dff0..1b53c44e20f327ac737d0a78c0457dfd3cfd063e 100644 (file)
@@ -20,7 +20,6 @@ from changeValeur import *
 from movemocle    import *
 from dictErreurs  import GenereErreurPourCommande
 
-# Demander a emmanuel pour affe_char_ther et test_resu
 import calcG
 
 atraiter=( "IMPR_GENE","CALC_FONCTION", "DEFI_MATERIAU","STAT_NON_LINE",
@@ -34,16 +33,16 @@ atraiter=( "IMPR_GENE","CALC_FONCTION", "DEFI_MATERIAU","STAT_NON_LINE",
           "POST_SIMPLIFIE","AFFE_MATERIAU","DEFI_MAILLAGE","DEPL_INTERNE",
           "POST_DYNA_ALEA","RECU_FONCTION","DYNA_TRAN_MODAL","DEFI_INTERF_DYNA",
           "CALC_PRECONT","DEFI_TEXTURE","TEST_RESU","COMB_CHAM_NO","COMB_CHAM_ELEM",
-          "CALC_FATIGUE","IMPR_OAR",
+          "CALC_FATIGUE","IMPR_OAR", "AFFE_CHAR_MECA_F",
            "MACR_ASCOUF_CALC","MACR_ASPIC_CALC","MACR_CABRI_CALC",
-           "MACR_ADAP_MAIL","IMPR_FICO_HOMARD"
+           "MACR_ADAP_MAIL","IMPR_FICO_HOMARD","DEFI_PART_FETI",
         )
 
 #atraiter=( "MACR_ADAP_MAIL",)
 
-def traduc(infile,outfile):
+def traduc(infile,outfile,flog=None):
 
-    hdlr=log.initialise()
+    hdlr=log.initialise(flog)
     jdc=getJDC(infile,atraiter)
     root=jdc.root
 
@@ -59,6 +58,7 @@ def traduc(infile,outfile):
     ####################### traitement CALC_FONCTION #######################
     removeMotCleSiRegle(jdc,"CALC_FONCTION","NOM_PARA",((("MAX"),"existeMCFParmi"),))
     renameCommandeSiRegle(jdc,"CALC_FONCTION","INFO_FONCTION", ((("RMS","MAX","NOCI_SEISME","NORME","ECART-TYPE"),"existeMCFParmi"),))
+    renameMotCleInFact(jdc,"CALC_FONCTION","LISS_ENVELOP","FONCTION","NAPPE")
 
     ####################### traitement IMPR_GENE     #######################
     moveMotCleFromFactToFather(jdc,"IMPR_GENE","GENE","UNITE")
@@ -111,6 +111,7 @@ def traduc(infile,outfile):
     renameMotCleAvecErreur(jdc,"DEFI_MATERIAU","OHNO","TAHERI")
     renameMotCleAvecErreur(jdc,"DEFI_MATERIAU","OHNO_FO","TAHERI_FO")
     renameMotCleAvecErreur(jdc,"DEFI_MATERIAU","GLRC","GLRC_DAMAGE")
+    renameMotCleAvecErreur(jdc,"DEFI_MATERIAU","GLRC_FO","GLRC_DAMAGE")
 
     renameMotCleInFact(jdc,"DEFI_MATERIAU","GRAN_IRRA","A","GRAN_A")
     renameMotCleInFact(jdc,"DEFI_MATERIAU","GRAN_IRRA","B","GRAN_B")
@@ -158,11 +159,17 @@ def traduc(infile,outfile):
     ####################### traitement AFFE_CHAR_MECA (CONTACT)   #######################
     renameMotCleInFact(jdc,"AFFE_CHAR_MECA","CONTACT","COEF_MULT_ESCL","COEF_MULT")
     renameMotCleInFact(jdc,"AFFE_CHAR_MECA","CONTACT","NOM_CHAM","NOM_CMP")
-    renameMotCleInFact(jdc,"AFFE_CHAR_MECA","CONTACT","NOM_CHAM","NOM_CMP")
-    renameMotCleInFact(jdc,"AFFE_CHAR_MECA","CONTACT","GROUP_MA_ESCL","GROUP_MA")
+    renameMotCleInFactSiRegle(jdc,"AFFE_CHAR_MECA","CONTACT","GROUP_MA_ESCL","GROUP_MA",((("CONTACT","NOM_CMP"),"existeMCsousMCF"),))
     renameMotCleSiRegle(jdc,"AFFE_CHAR_MECA","CONTACT","LIAISON_UNILATER",((("CONTACT","NOM_CMP"),"existeMCsousMCF"),))
     removeMotCleInFact(jdc,"AFFE_CHAR_MECA","LIAISON_UNILATER","APPARIEMENT")
 
+    ####################### traitement AFFE_CHAR_MECA_F (CONTACT)   #######################
+    renameMotCleInFact(jdc,"AFFE_CHAR_MECA_F","CONTACT","COEF_MULT_ESCL","COEF_MULT")
+    renameMotCleInFact(jdc,"AFFE_CHAR_MECA_F","CONTACT","NOM_CHAM","NOM_CMP")
+    renameMotCleInFactSiRegle(jdc,"AFFE_CHAR_MECA_F","CONTACT","GROUP_MA_ESCL","GROUP_MA",((("CONTACT","NOM_CMP"),"existeMCsousMCF"),))
+    renameMotCleSiRegle(jdc,"AFFE_CHAR_MECA_F","CONTACT","LIAISON_UNILATER",((("CONTACT","NOM_CMP"),"existeMCsousMCF"),))
+    removeMotCleInFact(jdc,"AFFE_CHAR_MECA_F","LIAISON_UNILATER","APPARIEMENT")
+
     ####################### traitement CALC_G   #######################
     chercheOperInsereFacteurSiRegle(jdc,"CALC_G_LOCAL_T","LISSAGE",((("LISSAGE_G","LISSAGE_THETA","DEGRE"),"existeMCFParmi"),))
     moveMotClefInOperToFact(jdc,"CALC_G_LOCAL_T","LISSAGE_THETA","LISSAGE")
@@ -335,7 +342,7 @@ def traduc(infile,outfile):
     ####################### traitement COMB_CHAM_NO #######################
     renameMotCleInFact(jdc,"COMB_CHAM_NO","COMB_C","CHAM_NO","CHAM_GD")
     chercheOperInsereFacteur(jdc,"COMB_CHAM_NO","TYPE_CHAM='xxx',",estunFacteur=0,erreur=1)
-    chercheOperInsereFacteur(jdc,"COMB_CHAM_NO","MODELE='xxx',",estunFacteur=0,erreur=1)
+    chercheOperInsereFacteur(jdc,"COMB_CHAM_NO","MODELE=xxx,",estunFacteur=0,erreur=1)
     chercheOperInsereFacteur(jdc,"COMB_CHAM_NO","OPERATION='ASSE',",estunFacteur=0,erreur=1)
     renameMotCle(jdc,"COMB_CHAM_NO","COMB_C","ASSE")
     AjouteMotClefDansFacteur(jdc,"COMB_CHAM_NO","ASSE","CUMUL='NON',")
@@ -372,6 +379,8 @@ def traduc(infile,outfile):
     dfatigue={"MATAKE":"MATAKE_MODI_AC", "DOMM_MAXI":"MATAKE_MODI_AV", "FATEMI_SOCIE":"FATESOCI_MODI_AV"}
     ChangementValeur(jdc,"CALC_FATIGUE","CRITERE",dfatigue)
 
+    ####################### traitement DEFI_PART_FETI #######################
+    removeMotCleSiRegle(jdc,"DEFI_PART_FETI","MAILLAGE", ((("MODELE",),"existeMCFParmi"),(("MAILLAGE",),"existeMCFParmi")))
 
     ####################### traitement MACR_ADAP_MAIL #######################
     moveMotCleFromFactToFather(jdc,"MACR_ADAP_MAIL","ADAPTATION","MAILLAGE_N")