]> SALOME platform Git repositories - tools/eficas.git/commitdiff
Salome HOME
*** empty log message ***
authorPascale Noyret <pascale.noyret@edf.fr>
Tue, 2 Jun 2009 13:24:36 +0000 (13:24 +0000)
committerPascale Noyret <pascale.noyret@edf.fr>
Tue, 2 Jun 2009 13:24:36 +0000 (13:24 +0000)
Traducteur/renamemocle.py
Traducteur/traduitV7V8.py
Traducteur/traduitV8V9.py

index 822d653d50bf31bd9c862b4d6fd37000ddad722c..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, ligne %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  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 b18ed95333152850f076b2334bc1c5c7d2241f1c..2b591a49f14e1dc7ceb033eb5286f6ab5e0f56af 100644 (file)
@@ -40,7 +40,7 @@ atraiter=( "IMPR_GENE","CALC_FONCTION", "DEFI_MATERIAU","STAT_NON_LINE",
         )
 
 dict_erreurs={
-#STA8.4
+#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",
@@ -97,22 +97,6 @@ dict_erreurs={
               "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 ",
              }
 
 sys.dict_erreurs=dict_erreurs
@@ -511,7 +495,7 @@ def main():
         help="Le fichier traduit")
 
     options, args = parser.parse_args()
-    traduc(options.infile,options.outfile,"/tmp/convert.log")
+    traduc(options.infile,options.outfile)
 
 if __name__ == '__main__':
     main()
index 6a1885d586fa7016a0f308335f7f45d487222c2f..a17422e03cf5a3376d4f131e1627a3ce009755b6 100644 (file)
@@ -24,68 +24,10 @@ 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 = ('AFFE_MODELE',)
+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={
-#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
+# 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",
@@ -101,12 +43,23 @@ dict_erreurs={
               "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 ",
-              "AFFE_MODELE_AFFE_GROUP_MA" : "la commande GenereErreurMCInFact fonctionne ",
+              "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="/tmp/log"):
+def traduc(infile,outfile,flog=None):
 
     hdlr=log.initialise(flog)
     jdc=getJDC(infile,atraiter)
@@ -116,8 +69,7 @@ def traduc(infile,outfile,flog="/tmp/log"):
     parseKeywords(root)
     
     ####################### traitement erreurs ########################
-    GenereErreurPourCommande(jdc,("POST_RCCM","DEFI_MATERIAU","TEST_FICHIER","DYNA_NON_LINE"))
-    GenereErreurMotCleInFact(jdc,"AFFE_MODELE","AFFE","GROUP_MA")
+    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")
@@ -130,10 +82,21 @@ def traduc(infile,outfile,flog="/tmp/log"):
     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")
@@ -166,6 +129,9 @@ def traduc(infile,outfile,flog="/tmp/log"):
     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 ############################
@@ -173,6 +139,7 @@ def traduc(infile,outfile,flog="/tmp/log"):
     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 ############################
@@ -204,8 +171,8 @@ def traduc(infile,outfile,flog="/tmp/log"):
     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")
@@ -229,7 +196,7 @@ def traduc(infile,outfile,flog="/tmp/log"):
     #########################################################################
 
     ####################### 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)
     #########################################################################
@@ -320,7 +287,7 @@ def traduc(infile,outfile,flog="/tmp/log"):
     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)
 
@@ -333,12 +300,103 @@ def traduc(infile,outfile,flog="/tmp/log"):
     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()