2 # -*- coding: utf-8 -*-
5 usage="""usage: %prog [options]
7 python traduitV7V8.py --infile=xxxx --outfile=yyyy
13 from load import getJDC
14 from mocles import parseKeywords
15 from removemocle import *
16 from renamemocle import *
17 from renamemocle import *
18 from inseremocle import *
19 from changeValeur import *
20 from movemocle import *
21 from dictErreurs import GenereErreurPourCommande
26 atraiter=( "DEFI_MAILLAGE","CALC_VECT_ELEM","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")
28 def traduc(infile,outfile,flog=None):
30 hdlr=log.initialise(flog)
31 jdc=getJDC(infile,atraiter)
34 #Parse les mocles des commandes
37 ####################### traitement erreurs ########################
38 GenereErreurPourCommande(jdc,("POST_RCCM"))
40 ####################### traitement Sous-Structuration #######################
41 renameMotCleInFact(jdc,"DEFI_MAILLAGE","DEFI_SUPER_MAILLE","MACR_ELEM_STAT","MACR_ELEM")
42 renameMotCleInFact(jdc,"DYNA_NON_LINE","SOUS_STRUC","MAILLE","SUPER_MAILLE")
43 renameMotCleInFact(jdc,"STAT_NON_LINE","SOUS_STRUC","MAILLE","SUPER_MAILLE")
44 renameMotCleInFact(jdc,"CALC_VECT_ELEM","SOUS_STRUC","MAILLE","SUPER_MAILLE")
45 #########################################################################
47 ####################### traitement Resolution lineaire ######################
48 renameMotCle(jdc,"RESO_LDLT","MATR_FACT","MATR")
49 renameMotCle(jdc,"RESO_GRAD","MATR_ASSE","MATR")
50 renameMotCle(jdc,"RESO_GRAD","MATR_FACT","MATR_FACT")
51 renameOper(jdc,"RESO_LDLT","RESOUDRE")
52 renameOper(jdc,"RESO_GRAD","RESOUDRE")
53 renameOper(jdc,"FACT_LDLT","FACTORISER")
54 renameOper(jdc,"FACT_GRAD","FACTORISER")
55 #########################################################################
57 ####################### traitement DYNA_TRAN_MODAL ######################
58 removeMotCle(jdc,"DYNA_TRAN_MODAL","NB_MODE_DIAG")
59 #########################################################################
61 ####################### traitement MASS_INER dans NORM_MODE ##########
62 removeMotCle(jdc,"NORM_MODE","MASSE_INER")
63 removeMotCleInFact(jdc,"MACRO_MODE_MECA","NORM_MODE","MASSE_INER")
64 #########################################################################
66 ####################### traitement POST_RCCM ############################
67 removeMotCleInFactSiRegleAvecErreur(jdc,"POST_RCCM","SITUATION","NUME_PASSAGE",((("TYPE_RESU_MECA","TUYAUTERIE",jdc),"MCaPourValeur"),))
68 #########################################################################
70 ####################### traitement THER_NON_LINE ############################
71 renameMotCleInFact(jdc,"THER_NON_LINE","TEMP_INIT","NUME_INIT","NUME_ORDRE")
72 renameMotCle(jdc,"THER_NON_LINE","TEMP_INIT","ETAT_INIT",)
73 renameMotCleInFact(jdc,"THER_NON_LINE","INCREMENT","NUME_INIT","NUME_INST_INIT")
74 renameMotCleInFact(jdc,"THER_NON_LINE","INCREMENT","NUME_FIN","NUME_INST_FIN")
75 #########################################################################
77 ####################### traitement THER_LINEAIRE ############################
78 renameMotCleInFact(jdc,"THER_LINEAIRE","TEMP_INIT","NUME_INIT","NUME_ORDRE")
79 renameMotCle(jdc,"THER_LINEAIRE","TEMP_INIT","ETAT_INIT",)
80 renameMotCleInFact(jdc,"THER_LINEAIRE","INCREMENT","NUME_INIT","NUME_INST_INIT")
81 renameMotCleInFact(jdc,"THER_LINEAIRE","INCREMENT","NUME_FIN","NUME_INST_FIN")
82 #########################################################################
84 ####################### traitement THER_NON_LINE ############################
85 renameMotCleInFact(jdc,"THER_NON_LINE","TEMP_INIT","NUME_INIT","NUME_ORDRE")
86 renameMotCle(jdc,"THER_NON_LINE","TEMP_INIT","ETAT_INIT",)
87 #########################################################################
89 ####################### traitement DEFI_CABLE_BP ######################
90 removeMotCle(jdc,"DEFI_CABLE_BP","MAILLAGE")
91 #########################################################################
93 ####################### traitement GENE_VARI_ALEA ######################
94 removeMotCleSiRegle(jdc,"GENE_VARI_ALEA","COEF_VAR",((("TYPE","EXPONENTIELLE",jdc),"MCaPourValeur"),))
95 #########################################################################
97 ####################### traitement DEFI_MATERIAU ######################
98 removeMotCleAvecErreur(jdc,"DEFI_MATERIAU","BAZANT_FD")
99 removeMotCleAvecErreur(jdc,"DEFI_MATERIAU","PORO_JOINT")
100 removeMotCleAvecErreur(jdc,"DEFI_MATERIAU","APPUI_ELAS")
101 removeMotCleAvecErreur(jdc,"DEFI_MATERIAU","ZIRC_EPRI")
102 removeMotCleAvecErreur(jdc,"DEFI_MATERIAU","ZIRC_CYRA2")
103 #########################################################################
105 ####################### traitement IMPR_MATRICE ######################
106 removeCommandeSiRegleAvecErreur(jdc,"IMPR_MATRICE",((("MATR_ELEM","FORMAT","RESULTAT",jdc),"MCsousMCFaPourValeur"),))
107 removeCommandeSiRegleAvecErreur(jdc,"IMPR_MATRICE",((("MATR_ASSE","FORMAT","RESULTAT",jdc),"MCsousMCFaPourValeur"),))
108 #########################################################################
111 ####################### traitement CALC_G ######################
112 removeMotCleSiRegleAvecErreur(jdc,"CALC_G","OPTION",((("OPTION","G_LAGR",jdc),"MCaPourValeur"),))
113 removeMotCleSiRegleAvecErreur(jdc,"CALC_G","OPTION",((("OPTION","G_LAGR_GLOB",jdc),"MCaPourValeur"),))
114 removeMotCle(jdc,"CALC_G","PROPAGATION")
115 removeMotCle(jdc,"CALC_G","THETA_LAGR")
116 removeMotCle(jdc,"CALC_G","DIRE_THETA_LAGR")
117 #########################################################################
119 ####################### traitement CALC_MATR_ELEM ######################
120 removeMotCleSiRegle(jdc,"CALC_MATR_ELEM","OPTION",((("OPTION","RIGI_MECA_LAGR",jdc),"MCaPourValeur"),))
121 removeMotCleAvecErreur(jdc,"CALC_MATR_ELEM","PROPAGATION")
122 removeMotCle(jdc,"CALC_MATR_ELEM","THETA")
123 #########################################################################
125 ####################### traitement CONTACT ######################
126 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","KT_ULTM")
127 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","EFFO_N_INIT")
128 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","RIGI_N_IRRA")
129 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","RIGI_N_FO")
130 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","RIGI_MZ")
131 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","ANGLE_1")
132 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","ANGLE_2")
133 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","ANGLE_3")
134 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","ANGLE_4")
135 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","MOMENT_1")
136 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","MOMENT_2")
137 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","MOMENT_3")
138 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","MOMENT_4")
139 removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","C_PRAGER_MZ")
140 dDis_Choc={"DIS_CONTACT":"DIS_CHOC"}
141 ChangementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RELATION",dDis_Choc)
142 ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION",dDis_Choc)
143 renameMotCleInFact(jdc,"STAT_NON_LINE","COMP_INCR","DIS_CONTACT","DIS_CHOC")
144 renameMotCleInFact(jdc,"DYNA_NON_LINE","COMP_INCR","DIS_CONTACT","DIS_CHOC")
145 dGrilles={"DIS_GRICRA":"GRILLE_CRAYONS"}
146 ChangementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RELATION",dGrilles)
147 ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION",dGrilles)
149 removeMotCleInFact(jdc,"AFFE_CHAR_MECA","CONTACT","RECHERCHE")
150 removeMotCleInFact(jdc,"AFFE_CHAR_MECA","CONTACT","VECT_Y")
151 removeMotCleInFact(jdc,"AFFE_CHAR_MECA","CONTACT","VECT_ORIE_POU")
153 renameCommandeSiRegle(jdc,"AFFE_CHAR_MECA_F","AFFE_CHAR_MECA",((("CONTACT",),"existeMCFParmi"),))
154 #########################################################################
156 ####################### traitement CAM_CLAY ######################
157 AjouteMotClefDansFacteur(jdc,"DEFI_MATERIAU","CAM_CLAY","MU=xxx",)
158 #########################################################################
160 ####################### traitement GLRC ######################
161 renameCommandeSiRegle(jdc,"DEFI_MATERIAU","DEFI_GLRC", ((("GLRC_DAMAGE","GLRC_ACIER",),"existeMCFParmi"),))
162 #########################################################################
165 f.write(jdc.getSource())
171 parser = optparse.OptionParser(usage=usage)
173 parser.add_option('-i','--infile', dest="infile", default='toto.comm',
174 help="Le fichier à traduire")
175 parser.add_option('-o','--outfile', dest="outfile", default='tutu.comm',
176 help="Le fichier traduit")
178 options, args = parser.parse_args()
179 traduc(options.infile,options.outfile)
181 if __name__ == '__main__':