Salome HOME
modif pour MT
[tools/eficas.git] / Traducteur / traduitV10V11.py
1 #!/usr/bin/env python
2 # -*- coding: utf-8 -*-
3 # Copyright (C) 2007-2017   EDF R&D
4 #
5 # This library is free software; you can redistribute it and/or
6 # modify it under the terms of the GNU Lesser General Public
7 # License as published by the Free Software Foundation; either
8 # version 2.1 of the License.
9 #
10 # This library is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
13 # Lesser General Public License for more details.
14 #
15 # You should have received a copy of the GNU Lesser General Public
16 # License along with this library; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
18 #
19 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 #
21 """
22 """
23 usage="""usage: %prog [options]
24 Typical use is:
25   python traduitV10V11.py --infile=xxxx --outfile=yyyy
26 """
27
28 import log
29 import optparse
30 import sys
31
32 from Traducteur.load   import getJDC
33 from Traducteur.mocles import parseKeywords
34 from Traducteur.removemocle  import *
35 from Traducteur.renamemocle  import *
36 from Traducteur.renamemocle  import *
37 from Traducteur.inseremocle  import *
38 from Traducteur.changeValeur import *
39 from Traducteur.movemocle    import *
40 from Traducteur.dictErreurs  import *
41 from Traducteur.regles import pasDeRegle
42
43 atraiter=(
44           "AFFE_CARA_ELEM",
45           "AFFE_CHAR_MECA",
46           "AFFE_CHAR_MECA_F",
47           "AFFE_CHAR_OPS011",
48           "AFFE_CHAR_THER",
49           "AFFE_CHAR_THER_F",
50           "AFFE_MATERIAU",
51           "AFFE_MODELE",
52           "ASSE_ELEM_SSD",
53           "ASSEMBLAGE",
54           "CALC_CHAM_ELEM",
55           "CALC_CHAMP",
56           "CALC_ECREVISSE",
57           "CALC_ELEM",
58           "CALC_ERREUR",
59           "CALC_ESSAI",
60           "CALC_EUROPLEXUS",
61           "CALC_FATIGUE",
62           "CALC_FERRAILLAGE",
63           "CALC_FONC_INTERP",
64           "CALC_FONCTION",
65           "CALC_FORC_AJOU",
66           "CALC_G",
67           "CALC_IFS_DNL",
68           "CALC_INTE_SPEC",
69           "CALC_MAC3COEUR",
70           "CALC_MATR_AJOU",
71           "CALC_MATR_ELEM",
72           "CALC_META",
73           "CALC_MISS",
74           "CALC_MODAL",
75           "CALC_MODE_ROTATION",
76           "CALC_NO",
77           "CALC_POINT_MAT",
78           "CALC_PRECONT",
79           "CALC_SENSI",
80           "CALC_SPEC",
81           "CALC_TABLE",
82           "CALC_THETA",
83           "COMB_FOURIER",
84           "COMB_SISM_MODAL",
85           "COPIER",
86           "CREA_CHAMP",
87           "CREA_ELEM_SSD",
88           "CREA_MAILLAGE",
89           "CREA_RESU",
90           "CREA_TABLE",
91           "DEBUT",
92           "DEFI_BASE_MODALE",
93           "DEFI_CABLE_BP",
94           "DEFI_COMPOR",
95           "DEFI_CONTACT",
96           "DEFI_COQU_MULT",
97           "DEFI_FICHIER",
98           "DEFI_FISS_XFEM",
99           "DEFI_FONC_ELEC",
100           "DEFI_FOND_FISS",
101           "DEFI_GLRC",
102           "DEFI_GROUP",
103           "DEFI_INTE_SPEC",
104           "DEFI_LIST_INST",
105           "DEFI_MATER_GC",
106           "DEFI_MATERIAU",
107           "DEFI_NAPPE",
108           "DEFI_PARA_SENSI",
109           "DEFI_PART_FETI",
110           "DEFI_SOL_MISS",
111           "DEFI_SPEC_TURB",
112           "DETRUIRE",
113           "DYNA_ALEA_MODAL",
114           "DYNA_ISS_VARI",
115           "DYNA_LINE_HARM",
116           "DYNA_LINE_TRAN",
117           "DYNA_NON_LINE",
118           "DYNA_SPEC_MODAL",
119           "DYNA_TRAN_MODAL",
120           "DYNA_VIBRA",
121           "EXEC_LOGICIEL",
122           "EXTR_RESU",
123           "EXTR_TABLE",
124           "FACTORISER",
125           "FORMULE",
126           "GENE_ACCE_SEISME",
127           "GENE_FONC_ALEA",
128           "GENE_VARI_ALEA",
129           "IMPR_CO",
130           "IMPR_DIAG_CAMPBELL",
131           "IMPR_FONCTION",
132           "IMPR_GENE",
133           "IMPR_OAR",
134           "IMPR_RESU",
135           "IMPR_STURM",
136           "IMPR_TABLE",
137           "INCLUDE",
138           "INCLUDE_MATERIAU",
139           "INFO_EXEC_ASTER",
140           "INFO_FONCTION",
141           "INFO_MODE",
142           "LIRE_CHAMP",
143           "LIRE_FONCTION",
144           "LIRE_IMPE_MISS",
145           "LIRE_INTE_SPEC",
146           "LIRE_MAILLAGE",
147           "LIRE_RESU",
148           "LIRE_TABLE",
149           "MACR_ADAP_MAIL",
150           "MACR_ASCOUF_CALC",
151           "MACR_ASCOUF_MAIL",
152           "MACR_ASPIC_CALC",
153           "MACR_ASPIC_MAIL",
154           "MACR_CARA_POUTRE",
155           "MACR_ECLA_PG",
156           "MACR_ECRE_CALC",
157           "MACR_ECREVISSE",
158           "MACR_ELEM_DYNA",
159           "MACR_FIABILITE",
160           "MACR_FIAB_IMPR",
161           "MACR_INFO_MAIL",
162           "MACR_LIGN_COUPE",
163           "MACRO_ELAS_MULT",
164           "MACRO_EXPANS",
165           "MACRO_MATR_AJOU",
166           "MACRO_MATR_ASSE",
167           "MACRO_MISS_3D",
168           "MACRO_MODE_MECA",
169           "MACRO_PROJ_BASE",
170           "MACR_RECAL",
171           "MACR_SPECTRE",
172           "MECA_STATIQUE",
173           "MODE_ITER_INV",
174           "MODE_ITER_SIMULT",
175           "MODE_STATIQUE",
176           "MODI_MODELE_XFEM",
177           "MODI_REPERE",
178           "NORM_MODE",
179           "NUME_DDL",
180           "NUME_DDL_GENE",
181           "OBSERVATION",
182           "POST_BORDET",
183           "POST_CHAMP",
184           "POST_CHAM_XFEM",
185           "POST_COQUE",
186           "POST_DECOLLEMENT",
187           "POST_DYNA_ALEA",
188           "POST_ELEM",
189           "POST_ENDO_FISS",
190           "POST_FATIGUE",
191           "POST_GP",
192           "POST_K1_K2_K3",
193           "POST_K_TRANS",
194           "POST_MAC3COEUR",
195           "POST_MAIL_XFEM",
196           "POST_RCCM",
197           "POST_RELEVE_T",
198           "POST_RUPTURE",
199           "POST_USURE",
200           "POURSUITE",
201           "PROJ_BASE",
202           "PROJ_CHAMP",
203           "PROJ_RESU_BASE",
204           "PROJ_SPEC_BASE",
205           "PROPA_FISS",
206           "PROPA_XFEM",
207           "RAFF_XFEM",
208           "RECU_FONCTION",
209           "RECU_GENE",
210           "RESOUDRE",
211           "REST_SPEC_PHYS",
212           "SIMU_POINT_MAT",
213           "STANLEY",
214           "STAT_NON_LINE",
215           "TEST_COMPOR",
216           "TEST_FICHIER",
217           "TEST_FONCTION",
218           "TEST_RESU",
219           "TEST_TABLE",
220           "TEST_TEMPS",
221           "THER_LINEAIRE",
222           "THER_NON_LINE",
223           "THER_NON_LINE_MO",
224           
225           "CALC_CHAMPNO",
226           "CALC_METANO",
227           "CALC_ERREURNO",
228           
229           )
230
231 dict_erreurs={
232
233               "CALC_G_THETA_DTAN_ORIG":"La valeur de DTAN_ORIG est maintenant calculée automatiquement",
234               "CALC_G_THETA_DTAN_EXTR":"La valeur de DTAN_EXTR est maintenant calculée automatiquement",
235               "AFFE_CHAR_MECA_CONTACT":"Attention, modification de la définition du CONTACT : nommer DEFI_CONTACT,verifier les paramètres globaux et le mettre dans le calcul",
236               "DEFI_COMPOR_MONOCRISTAL_FAMI_SYST_GLIS":"Famille de système de glissement supprimée : choisir une autre famille",
237               "DEFI_COMPOR_MULTIFIBRE_DEFORMATION":"Il faut maintenant renseigner le mot-clé DEFORMATION dans STAT_NON_LINE ou DYNA_NON_LINE.",
238               "DEFI_MATERIAU_ECRO_FLEJOU":"Le comportement ECRO_FLEJOU a été supprimé. Il faut maintenant utiliser un modèle de poutre multifibres avec une loi d'écrouissage'.",
239               "DEFI_MATERIAU_VMIS_POUTRE":"Le comportement VMIS_POUTRE a été supprimé. Il faut maintenant utiliser un modèle de poutre multifibres avec une loi plastique.",
240               "DEFI_MATERIAU_VMIS_POUTRE_FO":"Le comportement VMIS_POUTRE_FO a été supprimé. Il faut maintenant utiliser un modèle de poutre multifibres avec une loi plastique.",
241               "DEFI_MATERIAU_LEMAITRE_IRRA_GRAN_A":"Les paramètres de la loi de grandissement se définissent maintenant par une fonction avec GRAN_FO.",
242               "DEFI_MATERIAU_LEMAITRE_IRRA_GRAN_B":"Les paramètres de la loi de grandissement se définissent maintenant par une fonction avec GRAN_FO.",
243               "DEFI_MATERIAU_LEMAITRE_IRRA_GRAN_S":"Les paramètres de la loi de grandissement se définissent maintenant par une fonction avec GRAN_FO.",
244               "DEFI_MATERIAU_LMARC_IRRA_GRAN_A":"Les paramètres de la loi de grandissement se définissent maintenant par une fonction avec GRAN_FO.",
245               "DEFI_MATERIAU_LMARC_IRRA_GRAN_B":"Les paramètres de la loi de grandissement se définissent maintenant par une fonction avec GRAN_FO.",
246               "DEFI_MATERIAU_LMARC_IRRA_GRAN_S":"Les paramètres de la loi de grandissement se définissent maintenant par une fonction avec GRAN_FO.",
247               "DEFI_MATERIAU_GRAN_IRRA_LOG_GRAN_A":"Les paramètres de la loi de grandissement se définissent maintenant par une fonction avec GRAN_FO.",
248               "DEFI_MATERIAU_GRAN_IRRA_LOG_GRAN_B":"Les paramètres de la loi de grandissement se définissent maintenant par une fonction avec GRAN_FO.",
249               "DEFI_MATERIAU_GRAN_IRRA_LOG_GRAN_S":"Les paramètres de la loi de grandissement se définissent maintenant par une fonction avec GRAN_FO.",
250               "DEFI_MATERIAU_ENDO_SCALAIRE":"Les paramètres définissant la loi ENDO_SCALAIRE ont changé. Il faut renseigner les nouveaux paramètres.",
251               "DEFI_MATERIAU_MAZARS":"Le paramètres BETA définissant la loi MAZARS a été supprimé. Il faut renseigner le nouveau paramètre K.",
252               "DEFI_MATERIAU_MONO_VISC3":"Le comportement MONO_VISC3 a été supprimé.",
253               "DEFI_MATERIAU_MONO_DD_CC":"Le comportement MONO_DD_CC a été supprimé.",
254               "DYNA_LINE_TRAN_INCREMENT_FONC_INST":"Le mot-clé FONC_INST a été supprimé. Il faut maintenant utiliser ",
255               "LIRE_RESU_TYPE_RESU":"Il n'est plus possible de lire un résultat de type HARM_GENE. Il faut choisir un autre type.",
256               "MACRO_ELAS_MULT_CAS_CHARGE_OPTION":"Seule l'option SIEF_ELGA est permise pour MACRO_ELAS_MULT. Il faut calculer les autres options avec CALC_CHAMP.",
257               "MODI_MODELE_XFEM_CONTACT":"La formulation du contact aux arêtes P1P1A a été supprimée. Il faut choisir une autre formulation.",
258               "POST_GP":"La commande POST_GP a été supprimée. Il faut maintenant utiliser la commande CALC_GP.",
259               "AFFE_CARA_ELEM_COQUE_EPAIS_F":"Il n'est plus possible de faire d'analyse de sensibilité.",
260               "AFFE_CARA_ELEM_DISCRET_VALE_F":"Il n'est plus possible de faire d'analyse de sensibilité.",
261               "AFFE_CARA_ELEM_DISCRET_2D_VALE_F":"Il n'est plus possible de faire d'analyse de sensibilité.",
262               "CALC_CHAMP_REPE_COQUE":"Pour les éléments de structures, les résultats sont calculés sur tous les sous-points. Pour extraire un champ sur un seul sous-point, il faut utiliser POST_CHAMP.",
263               "CALC_THETA_THETA_BANDE":"L'option THETA_BANDE n'existe plus, il faut choisir entre THETA_2D ou THETA_3D."
264               }
265
266 sys.dict_erreurs=dict_erreurs
267
268 def traduc(infile,outfile,flog=None):
269
270     hdlr=log.initialise(flog)
271     jdc=getJDC(infile,atraiter)
272     root=jdc.root
273
274     #Parse les mocles des commandes
275     parseKeywords(root)
276
277     genereErreurPourCommande(jdc,("CALC_SENSI",))
278
279
280     ####  traitement des cas particuliers   ##############################
281     #  On ne traite pas les commandes TEST*
282     removeCommande(jdc,"TEST_COMPOR")
283     removeCommande(jdc,"TEST_FICHIER")
284     removeCommande(jdc,"TEST_FONCTION")
285     removeCommande(jdc,"TEST_RESU")
286     removeCommande(jdc,"TEST_TABLE")
287     removeCommande(jdc,"TEST_TEMPS")
288
289     ####   traitement de AFFE_CARA_ELEM   ##############################
290     # Déplacement de PREC_AIRE et PREC_INERTIE dans MULTIFIBRE
291     moveMotCleFromFactToFact(jdc,"AFFE_CARA_ELEM","POUTRE","PREC_AIRE","MULTIFIBRE")
292     removeMotCleInFact(jdc,"AFFE_CARA_ELEM","POUTRE","PREC_AIRE",pasDeRegle(),0)
293     moveMotCleFromFactToFact(jdc,"AFFE_CARA_ELEM","POUTRE","PREC_INERTIE","MULTIFIBRE")
294     removeMotCleInFact(jdc,"AFFE_CARA_ELEM","POUTRE","PREC_INERTIE",pasDeRegle(),0)
295     # Résorption de la sensibilité
296     genereErreurMotCleInFact(jdc,"AFFE_CARA_ELEM","COQUE","EPAIS_F")
297     genereErreurMotCleInFact(jdc,"AFFE_CARA_ELEM","DISCRET","VALE_F")
298     genereErreurMotCleInFact(jdc,"AFFE_CARA_ELEM","DISCRET_2D","VALE_F")
299     # Suppression de GRILLE_NCOU
300     removeMotCleInFact(jdc,"AFFE_CARA_ELEM","GRILLE","GRILLE_NCOU",pasDeRegle(),0)
301     # Suppression de ORIG_AXE
302     removeMotCleInFact(jdc,"AFFE_CARA_ELEM","GRILLE","ORIG_AXE",pasDeRegle(),0)
303
304     ####   traitement de AFFE_CHAR_MECA/_F  ##############################
305     renameMotCle(jdc,"AFFE_CHAR_MECA","SIGM_INTERNE","PRE_SIGM")
306     renameMotCle(jdc,"AFFE_CHAR_MECA","EPSI_INIT","PRE_EPSI")
307     renameMotCle(jdc,"AFFE_CHAR_MECA_F","SIGM_INTERNE","PRE_SIGM")
308     renameMotCle(jdc,"AFFE_CHAR_MECA_F","EPSI_INIT","PRE_EPSI")
309
310     ####   traitement de AFFE_CHAR_OPS011   ##############################
311     genereErreurPourCommande(jdc,("AFFE_CHAR_OPS011",))
312
313     ####   traitement de AFFE_CHAR_THER/_F  ##############################
314     renameMotCle(jdc,"AFFE_CHAR_THER","GRAD_TEMP_INIT","PRE_GRAD_TEMP")
315     renameMotCle(jdc,"AFFE_CHAR_THER_F","GRAD_TEMP_INIT","PRE_GRAD_TEMP")
316
317     ####   traitement de AFFE_MATERIAU   ##############################
318     # VALE_REF obligatoire si NOM_VARC in ('TEMP', 'SECH')
319     lNOMVARC=["CORR","IRRA","HYDR","EPSA","M_ACIER","M_ZIRC","NEUT1","NEUT2"]
320     removeMotCleInFactSiRegle(jdc,"AFFE_MATERIAU","AFFE_VARC","VALE_REF",((("NOM_VARC",lNOMVARC,jdc),"MCsousMCFcourantaPourValeurDansListe"),))
321     # renommage CHAMP_GD en CHAM_GD
322     renameMotCleInFact(jdc,"AFFE_MATERIAU","AFFE_VARC","CHAMP_GD","CHAM_GD",pasDeRegle(),0)
323
324     ####   traitement de AFFE_MODELE   ##############################
325     dXFEMCONT={"3D_XFEM_CONT":"3D","C_PLAN_XFEM_CONT":"C_PLAN","D_PLAN_XFEM_CONT":"D_PLAN"}
326     changementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",dXFEMCONT)
327
328     ####   traitement de ASSE_ELEM_SSD   ##############################
329     # Rien à faire
330
331     ####   traitement de ASSEMBLAGE   ##############################
332     # Rien à faire, n'existe pas en 10
333
334     ####   traitement de C_COMP_INCR   ##############################
335     # Suppression de ALGO_C_PLAN et ALGO_1D
336     lCOMMANDE=["CALC_FORC_NONL","CALC_IFS_DNL","CALC_POINT_MAT",
337                "CALC_PRECONT","CALCUL","DYNA_NON_LINE","LIRE_RESU",
338                "MACR_ECREVISSE","SIMU_POINT_MAT","STAT_NON_LINE",
339                "TEST_COMPOR",]
340     for com in lCOMMANDE :
341         removeMotCleInFact(jdc,com,"COMP_INCR","ALGO_C_PLAN",pasDeRegle(),0)
342         removeMotCleInFact(jdc,com,"COMP_INCR","ALGO_1D",pasDeRegle(),0)
343         renameMotCleInFact(jdc,com,"COMP_INCR","RESI_DEBO_MAXI","RESI_CPLAN_MAXI",pasDeRegle(),0)
344         renameMotCleInFact(jdc,com,"COMP_INCR","RESI_DEBO_RELA","RESI_CPLAN_RELA",pasDeRegle(),0)
345         renameMotCleInFact(jdc,com,"COMP_INCR","ITER_MAXI_DEBORST","ITER_CPLAN_MAXI",pasDeRegle(),0)
346
347     ####   traitement de C_NEWTON   ##############################
348     # Renommage de EXTRAPOL en EXTRAPOLE
349     lCOMMANDE=["CALC_IFS_DNL","CALC_POINT_MAT","CALC_PRECONT",
350                "DYNA_NON_LINE","MACR_ASCOUF_CALC","MACR_ASPIC_CALC",
351                "SIMU_POINT_MAT","STAT_NON_LINE","TEST_COMPOR",]
352     dPRED={"EXTRAPOL":"EXTRAPOLE"}
353     for com in lCOMMANDE :
354         changementValeurDsMCF(jdc,com,"NEWTON","PREDICTION",dPRED)
355
356     ####   traitement de C_SOLVEUR   ##############################
357     # Renommage de EXTRAPOL en EXTRAPOLE
358     lCOMMANDE=["CALC_ELEM","CALC_FORC_AJOU","CALC_IFS_DNL",
359                "CALC_MATR_AJOU","CALC_PRECONT","CREA_ELEM_SSD",
360                "DEFI_BASE_MODALE","DYNA_LINE_HARM","DYNA_LINE_HARM",
361                "DYNA_LINE_TRAN","DYNA_NON_LINE","DYNA_TRAN_MODAL",
362                "IMPR_STURM","MACR_ASCOUF_CALC","MACR_ASPIC_CALC",
363                "MACRO_ELAS_MULT","MACRO_MATR_AJOU","MACRO_MATR_ASSE",
364                "MECA_STATIQUE","MODE_ITER_INV","MODE_ITER_INV",
365                "MODE_ITER_SIMULT","MODE_ITER_SIMULT","MODE_STATIQUE",
366                "STAT_NON_LINE","THER_LINEAIRE","THER_NON_LINE","THER_NON_LINE_MO",]
367     dPRED={"EXTRAPOL":"EXTRAPOLE"}
368     for com in lCOMMANDE :
369         removeMotCleInFact(jdc,com,"SOLVEUR","OUT_OF_CORE",pasDeRegle(),0)
370         removeMotCleInFact(jdc,com,"SOLVEUR","LIBERE_MEMOIRE",pasDeRegle(),0)
371
372     ####   traitement de CALC_CHAMP   ##############################
373     # Rien à faire, n'existe pas en 10
374
375     ####   traitement de CALC_ECREVISSE   ##############################
376     # Rien à faire
377
378     ####   traitement de CALC_ELEM   ##############################
379     # renommage de la commande
380     renameCommande(jdc,"CALC_ELEM","CALC_CHAMP", )
381     # Suppression des types de charges
382     removeMotCleInFact(jdc,"CALC_CHAMP","EXCIT","TYPE_CHARGE",pasDeRegle(),0)
383     # Suppression des types d'option'
384     removeMotCle(jdc,"CALC_CHAMP","TYPE_OPTION",pasDeRegle(),0)
385     # Redistribution des options de calcul
386     ## dictionnaire contenant les options
387     lTOUT=["SIEF_ELNO","SIGM_ELNO","SIEF_ELGA",
388            "SIPO_ELNO","EFGE_ELNO","EFCA_ELNO","SICA_ELNO",
389            "SIRO_ELEM","SIPM_ELNO","SIRO_ELEM",
390            "EFCA_ELNO","SIPO_ELNO","SIPM_ELNO",
391            "EPTU_ELNO","SITU_ELNO","SICO_ELNO",
392            "EPSI_ELNO","EPSI_ELGA","EPSG_ELNO","EPSG_ELGA",
393            "EPME_ELNO","EPME_ELGA","EPMG_ELNO","EPMG_ELGA",
394            "DEGE_ELNO","EPTU_ELNO",
395            "EPSP_ELNO","EPSP_ELGA",
396            "EPFD_ELNO","EPFD_ELGA","EPVC_ELNO","EPVC_ELGA",
397            "EPFP_ELNO","EPFP_ELGA",
398            "EPOT_ELEM","ECIN_ELEM","ENEL_ELGA","ENEL_ELNO",
399            "ETOT_ELGA","ETOT_ELNO","ETOT_ELEM","DISS_ELGA","DISS_ELNO",
400            "SIEQ_ELNO","SIEQ_ELGA","CRIT_ELNO","EPEQ_ELNO","EPEQ_ELGA","EPMQ_ELNO","EPMQ_ELGA",
401            "ENDO_ELGA","ENDO_ELNO","SITQ_ELNO","EPTQ_ELNO","INDL_ELGA","DERA_ELNO","DERA_ELGA",
402            "SITQ_ELNO","EPTQ_ELNO",
403            "VARI_ELNO","VATU_ELNO","VACO_ELNO","VARC_ELGA",
404            "VAEX_ELGA","VAEX_ELNO",
405            "FLHN_ELGA",
406            "FLUX_ELGA","FLUX_ELNO","SOUR_ELGA",
407            "INTE_ELNO","PRAC_ELNO",
408            "SIZ1_NOEU","ERZ1_ELEM","SIZ2_NOEU","ERZ2_ELEM",
409            "ERME_ELEM","ERME_ELNO","ERTH_ELEM","ERTH_ELNO",
410            "QIRE_ELEM","QIRE_ELNO","QIZ1_ELEM","QIZ2_ELEM",
411            "SING_ELEM","SING_ELNO",
412            "DURT_ELNO"]
413     lCONTRAINTE=["SIEF_ELNO","SIGM_ELNO","SIEF_ELGA",
414                  "SIPO_ELNO","EFGE_ELNO","EFCA_ELNO","SICA_ELNO",
415                  "SIRO_ELEM","SIPM_ELNO","SIRO_ELEM",
416                  "EFCA_ELNO","SIPO_ELNO","SIPM_ELNO",
417                  "EPTU_ELNO","SITU_ELNO","SICO_ELNO",]
418     lDEFORMATION=["EPSI_ELNO","EPSI_ELGA","EPSG_ELNO","EPSG_ELGA",
419                   "EPME_ELNO","EPME_ELGA","EPMG_ELNO","EPMG_ELGA",
420                   "DEGE_ELNO","EPTU_ELNO",
421                   "EPSP_ELNO","EPSP_ELGA",
422                   "EPFD_ELNO","EPFD_ELGA","EPVC_ELNO","EPVC_ELGA",
423                   "EPFP_ELNO","EPFP_ELGA",]
424     lENERGIE=["EPOT_ELEM","ECIN_ELEM","ENEL_ELGA","ENEL_ELNO",
425               "ETOT_ELGA","ETOT_ELNO","ETOT_ELEM","DISS_ELGA","DISS_ELNO",]
426     lCRITERES=["SIEQ_ELNO","SIEQ_ELGA","CRIT_ELNO","EPEQ_ELNO","EPEQ_ELGA","EPMQ_ELNO","EPMQ_ELGA",
427               "ENDO_ELGA","ENDO_ELNO","SITQ_ELNO","EPTQ_ELNO","INDL_ELGA","DERA_ELNO","DERA_ELGA",
428               "SITQ_ELNO","EPTQ_ELNO"]
429     lVARI_INTERNE=["VARI_ELNO","VATU_ELNO","VACO_ELNO","VARC_ELGA",
430                    "VAEX_ELGA","VAEX_ELNO",]
431     lHYDRAULIQUE=["FLHN_ELGA",]
432     lTHERMIQUE=["FLUX_ELGA","FLUX_ELNO","SOUR_ELGA",]
433     lACOUSTIQUE=["INTE_ELNO","PRAC_ELNO"]
434     lERREUR=["SIZ1_NOEU","ERZ1_ELEM","SIZ2_NOEU","ERZ2_ELEM",
435              "ERME_ELEM","ERME_ELNO","ERTH_ELEM","ERTH_ELNO",
436              "QIRE_ELEM","QIRE_ELNO","QIZ1_ELEM","QIZ2_ELEM",
437              "SING_ELEM","SING_ELNO",]
438     lMETA=["DURT_ELNO"]
439     #SPMX_ELGA / NOM_CHAM / NOM_CMP
440     ## Erreur pour les options supprimées
441     genereErreurValeur(jdc,"CALC_ELEM","OPTION",("'SICA_ELNO'","'EFCA_ELNO'","'PMPB_ELNO'","'PMPB_ELGA'",))
442     lCHANOPT={"SICO_ELNO":"SIGM_ELNO","EPTU_ELNO":"EPSI_ELNO","SITU_ELNO":"SIGM_ELNO","SITQ_ELNO":"SIGM_ELNO","EPTQ_ELNO":"EPSI_ELNO"}
443     changementValeur(jdc,"CALC_ELEM","OPTION",lCHANOPT)
444     ## copie de OPTION dans MCF TEMPORAIRE pour chaque type
445     chercheOperInsereFacteur(jdc,"CALC_CHAMP","TEMPORAIRE")
446     copyMotClefInOperToFact(jdc,"CALC_CHAMP","OPTION","TEMPORAIRE")
447     renameMotCleInFact(jdc,"CALC_CHAMP","TEMPORAIRE","OPTION","CONTRAINTE",pasDeRegle(),0)
448     copyMotClefInOperToFact(jdc,"CALC_CHAMP","OPTION","TEMPORAIRE")
449     renameMotCleInFact(jdc,"CALC_CHAMP","TEMPORAIRE","OPTION","DEFORMATION",pasDeRegle(),0)
450     copyMotClefInOperToFact(jdc,"CALC_CHAMP","OPTION","TEMPORAIRE")
451     renameMotCleInFact(jdc,"CALC_CHAMP","TEMPORAIRE","OPTION","ENERGIE",pasDeRegle(),0)
452     copyMotClefInOperToFact(jdc,"CALC_CHAMP","OPTION","TEMPORAIRE")
453     renameMotCleInFact(jdc,"CALC_CHAMP","TEMPORAIRE","OPTION","CRITERES",pasDeRegle(),0)
454     copyMotClefInOperToFact(jdc,"CALC_CHAMP","OPTION","TEMPORAIRE")
455     renameMotCleInFact(jdc,"CALC_CHAMP","TEMPORAIRE","OPTION","VARI_INTERNE",pasDeRegle(),0)
456     copyMotClefInOperToFact(jdc,"CALC_CHAMP","OPTION","TEMPORAIRE")
457     renameMotCleInFact(jdc,"CALC_CHAMP","TEMPORAIRE","OPTION","HYDRAULIQUE",pasDeRegle(),0)
458     copyMotClefInOperToFact(jdc,"CALC_CHAMP","OPTION","TEMPORAIRE")
459     renameMotCleInFact(jdc,"CALC_CHAMP","TEMPORAIRE","OPTION","THERMIQUE",pasDeRegle(),0)
460     copyMotClefInOperToFact(jdc,"CALC_CHAMP","OPTION","TEMPORAIRE")
461     renameMotCleInFact(jdc,"CALC_CHAMP","TEMPORAIRE","OPTION","ACOUSTIQUE",pasDeRegle(),0)
462     copyMotClefInOperToFact(jdc,"CALC_CHAMP","OPTION","TEMPORAIRE")
463     renameMotCleInFact(jdc,"CALC_CHAMP","TEMPORAIRE","OPTION","ERREUR",pasDeRegle(),0)
464     copyMotClefInOperToFact(jdc,"CALC_CHAMP","OPTION","TEMPORAIRE")
465     renameMotCleInFact(jdc,"CALC_CHAMP","TEMPORAIRE","OPTION","META",pasDeRegle(),0)
466     removeMotCle(jdc,"CALC_CHAMP","OPTION",pasDeRegle(),0)
467     ## déplacement au premier niveau de mot-clés
468     moveMotCleFromFactToFather(jdc,"CALC_CHAMP","TEMPORAIRE","CONTRAINTE")
469     moveMotCleFromFactToFather(jdc,"CALC_CHAMP","TEMPORAIRE","DEFORMATION")
470     moveMotCleFromFactToFather(jdc,"CALC_CHAMP","TEMPORAIRE","ENERGIE")
471     moveMotCleFromFactToFather(jdc,"CALC_CHAMP","TEMPORAIRE","CRITERES")
472     moveMotCleFromFactToFather(jdc,"CALC_CHAMP","TEMPORAIRE","VARI_INTERNE")
473     moveMotCleFromFactToFather(jdc,"CALC_CHAMP","TEMPORAIRE","HYDRAULIQUE")
474     moveMotCleFromFactToFather(jdc,"CALC_CHAMP","TEMPORAIRE","THERMIQUE")
475     moveMotCleFromFactToFather(jdc,"CALC_CHAMP","TEMPORAIRE","ACOUSTIQUE")
476     moveMotCleFromFactToFather(jdc,"CALC_CHAMP","TEMPORAIRE","ERREUR")
477     moveMotCleFromFactToFather(jdc,"CALC_CHAMP","TEMPORAIRE","META")
478     ## suppression des mot-clés s'ils ne contiennent pas d'options à traiter
479     removeMotCleSiRegle(jdc,"CALC_CHAMP","CONTRAINTE",((("CONTRAINTE",lCONTRAINTE,jdc),"MCnaPasPourValeurDansListe"),))
480     removeMotCleSiRegle(jdc,"CALC_CHAMP","DEFORMATION",((("DEFORMATION",lDEFORMATION,jdc),"MCnaPasPourValeurDansListe"),))
481     removeMotCleSiRegle(jdc,"CALC_CHAMP","ENERGIE",((("ENERGIE",lENERGIE,jdc),"MCnaPasPourValeurDansListe"),))
482     removeMotCleSiRegle(jdc,"CALC_CHAMP","CRITERES",((("CRITERES",lCRITERES,jdc),"MCnaPasPourValeurDansListe"),))
483     removeMotCleSiRegle(jdc,"CALC_CHAMP","VARI_INTERNE",((("VARI_INTERNE",lVARI_INTERNE,jdc),"MCnaPasPourValeurDansListe"),))
484     removeMotCleSiRegle(jdc,"CALC_CHAMP","HYDRAULIQUE",((("HYDRAULIQUE",lHYDRAULIQUE,jdc),"MCnaPasPourValeurDansListe"),))
485     removeMotCleSiRegle(jdc,"CALC_CHAMP","THERMIQUE",((("THERMIQUE",lTHERMIQUE,jdc),"MCnaPasPourValeurDansListe"),))
486     removeMotCleSiRegle(jdc,"CALC_CHAMP","ACOUSTIQUE",((("ACOUSTIQUE",lACOUSTIQUE,jdc),"MCnaPasPourValeurDansListe"),))
487     removeMotCleSiRegle(jdc,"CALC_CHAMP","ERREUR",((("ERREUR",lERREUR,jdc),"MCnaPasPourValeurDansListe"),))
488     removeMotCleSiRegle(jdc,"CALC_CHAMP","META",((("META",lMETA,jdc),"MCnaPasPourValeurDansListe"),))
489     ## suppression des valeurs non-licites
490     suppressionValeurs(jdc,"CALC_CHAMP","CONTRAINTE",list(set(lTOUT)-set(lCONTRAINTE)))
491     suppressionValeurs(jdc,"CALC_CHAMP","DEFORMATION",list(set(lTOUT)-set(lDEFORMATION)))
492     suppressionValeurs(jdc,"CALC_CHAMP","ENERGIE",list(set(lTOUT)-set(lENERGIE)))
493     suppressionValeurs(jdc,"CALC_CHAMP","CRITERES",list(set(lTOUT)-set(lCRITERES)))
494     suppressionValeurs(jdc,"CALC_CHAMP","VARI_INTERNE",list(set(lTOUT)-set(lVARI_INTERNE)))
495     suppressionValeurs(jdc,"CALC_CHAMP","HYDRAULIQUE",list(set(lTOUT)-set(lHYDRAULIQUE)))
496     suppressionValeurs(jdc,"CALC_CHAMP","THERMIQUE",list(set(lTOUT)-set(lTHERMIQUE)))
497     suppressionValeurs(jdc,"CALC_CHAMP","ACOUSTIQUE",list(set(lTOUT)-set(lACOUSTIQUE)))
498     suppressionValeurs(jdc,"CALC_CHAMP","ERREUR",list(set(lTOUT)-set(lERREUR)))
499     suppressionValeurs(jdc,"CALC_CHAMP","META",list(set(lTOUT)-set(lMETA)))
500     ## ajout CALC_META ou CALC_ERREUR   
501     lMOTCLE=[]
502     lMOTCLE=["reuse","RESULTAT","TOUT_ORDRE","NUME_ORDRE","NUME_MODE","NOEUD_CMP","NOM_CAS",
503               "INST","FREQ","LIST_INST","LIST_FREQ","LIST_ORDRE","CRITERE","PRECISION","EXCIT"]
504     ### traitement métallurgie
505     llistMETA=[]
506     llistMETA=list(lMOTCLE)
507     llistMETA.extend(["META",])
508     for mc in llistMETA :
509                 copyMotClefInOperToFact(jdc,"CALC_CHAMP",mc,"TEMPORAIRE")
510     moveMCFToCommand(jdc,"CALC_CHAMP","TEMPORAIRE","CALC_META","TEMPORAIRE")
511     for mc in llistMETA :
512                 moveMotCleFromFactToFather(jdc,"CALC_META","TEMPORAIRE",mc)
513     removeCommandeSiRegle(jdc,"CALC_META",((("META","COMP_INCR","ETAT_INIT"),"nexistepasMCFParmi"),))
514     renameMotCle(jdc,"CALC_META","META","OPTION")
515     removeMotCle(jdc,"CALC_META","TEMPORAIRE",pasDeRegle(),0)
516     removeMotCle(jdc,"CALC_CHAMP","TEMPORAIRE",pasDeRegle(),0)
517     ### traitement calcul d'erreur
518     llistERREUR=[]
519     llistERREUR=list(lMOTCLE)
520     llistERREUR.extend(["ERREUR","SOLVEUR","RESU_DUAL","PREC_ESTI","TYPE_ESTI"])
521     for mc in llistERREUR :
522                 copyMotClefInOperToFact(jdc,"CALC_CHAMP",mc,"TEMPORAIRE")
523     moveMCFToCommand(jdc,"CALC_CHAMP","TEMPORAIRE","CALC_ERREUR","TEMPORAIRE")
524     for mc in llistERREUR :
525                 moveMotCleFromFactToFather(jdc,"CALC_ERREUR","TEMPORAIRE",mc)
526     removeCommandeSiRegle(jdc,"CALC_ERREUR",((("ERREUR"),"nexistepasMCFParmi"),))
527     renameMotCle(jdc,"CALC_ERREUR","ERREUR","OPTION")
528     removeMotCle(jdc,"CALC_ERREUR","TEMPORAIRE",pasDeRegle(),0)
529     removeMotCle(jdc,"CALC_CHAMP","TEMPORAIRE",pasDeRegle(),0)
530     ### traitement de REPE_COQUE
531     removeMotCle(jdc,"CALC_CHAMP","REPE_COQUE",pasDeRegle(),1)
532     ## ménage final
533     removeCommandeSiRegle(jdc,"CALC_CHAMP",((("CONTRAINTE","DEFORMATION","ENERGIE","CRITERES","VARI_INTERNE","HYDRAULIQUE","THERMIQUE","ACOUSTIQUE"),"nexistepasMCFParmi"),))
534     removeMotCle(jdc,"CALC_CHAMP","META",pasDeRegle(),0)
535     removeMotCle(jdc,"CALC_CHAMP","ERREUR",pasDeRegle(),0)
536
537     ####   traitement de CALC_ERREUR   ##############################
538     # Rien à faire, n'existe pas en 10
539
540     ####   traitement de CALC_ESSAI   ##############################
541     # Rien à faire
542
543     ####   traitement de CALC_EUROPLEXUS   ##############################
544     # Rien à faire
545
546     ####   traitement de CALC_FATIGUE   ##############################
547     # Rien à faire
548
549     ####   traitement de CALC_FERRAILLAGE   ##############################
550     # Rien à faire
551
552     ####   traitement de CALC_FONCTION   ##############################
553     # Rien à faire
554
555     ####   traitement de CALC_FORC_AJOU   ##############################
556     # Rien à faire
557
558     ####   traitement de CALC_G   ##############################
559     # Suppression SYME_CHAR
560     removeMotCle(jdc,"CALC_G","SYME_CHAR",pasDeRegle(),0)
561     # Règle sur DEGRE
562     removeMotCleInFactSiRegle(jdc,"CALC_G","LISSAGE","DEGRE",((("LISSAGE_THETA","LEGENDRE",jdc),"MCnaPasPourValeur")or(("LISSAGE_G","LEGENDRE",jdc),"MCnaPasPourValeur"),))
563     # Suppression de DTAN_ORIG et DTAN_EXTR pour calcul automatique
564     removeMotCleInFact(jdc,"CALC_G","THETA","DTAN_ORIG",pasDeRegle(),1)
565     removeMotCleInFact(jdc,"CALC_G","THETA","DTAN_EXTR",pasDeRegle(),1)
566     # Résorption de la sensibilité
567     removeMotCle(jdc,"CALC_G","SENSIBILITE",pasDeRegle(),0)
568     # Restriction de ETAT_INIT à SIGM_INIT sous COMP_INCR
569     moveMotCleFromFactToFact(jdc,"CALC_G","ETAT_INIT","SIGM","COMP_INCR")
570     renameMotCleInFact(jdc,"CALC_G","COMP_INCR","SIGM","SIGM_INIT",pasDeRegle(),0)
571     removeMotCleInFactSiRegle(jdc,"CALC_G","COMP_INCR","SIGM_INIT",((("RELATION","ELAS",jdc),"MCnaPasPourValeur"),))
572     removeMotCle(jdc,"CALC_G","ETAT_INIT",pasDeRegle(),0)
573     # Renommage de l'option K_G_MODA en CALC_K_G
574     changementValeur(jdc,"CALC_G","OPTION",{"K_G_MODA":"CALC_K_G",})
575     # Suppression de EXCIT dans le cas elas_mult
576     removeMotCleSiRegle(jdc,"CALC_G","EXCIT",((("NOM_CAS",),"existe"),))
577     # Ajout règle UN_PARMI('THETA','FOND_FISS','FISSURE')
578     removeMotCleInFactSiRegle(jdc,"CALC_G","THETA","THETA",((("THETA","FOND_FISS",),"existeMCsousMCF"),))
579     removeMotCleInFactSiRegle(jdc,"CALC_G","THETA","THETA",((("THETA","FISSURE",),"existeMCsousMCF"),))
580
581     ####   traitement de CALC_IFS_DNL   ##############################
582     # Renommage CRIT_FLAMB en CRIT_STAB
583     renameMotCle(jdc,"CALC_IFS_DNL","CRIT_FLAMB","CRIT_STAB")
584     removeMotCleInFact(jdc,"CALC_IFS_DNL","CRIT_FLAMB","INST_CALCUL",pasDeRegle(),1)
585     # Résorption de la sensibilité
586     removeMotCle(jdc,"CALC_IFS_DNL","SENSIBILITE",pasDeRegle(),0)
587     # Suppression de ARCHIVAGE/DETR_NUME_SUIV
588     removeMotCleInFact(jdc,"CALC_IFS_DNL","ARCHIVAGE","DETR_NUME_SUIV",pasDeRegle(),0)
589
590     ####   traitement de CALC_INTE_SPEC   ##############################
591     # Rien à faire
592
593     ####   traitement de CALC_MAC3COEUR   ##############################
594     # Rien à faire, n'existe pas en 10
595
596     ####   traitement de CALC_MATR_AJOU   ##############################
597     # Suppression d'algo pour PETSc
598     removeMotCleSiRegle(jdc,"RESOUDRE","ALGORITHME",((("BCGS","BICG","TFQMR",),"MCaPourValeur"),))
599
600     ####   traitement de CALC_MATR_ELEM   ##############################
601     # Rien à faire
602
603     ####   traitement de CALC_META   ##############################
604     # OPTION est obligatoire
605     chercheOperInsereFacteurSiRegle(jdc,"CALC_META","OPTION='META_ELNO'",((("OPTION",),"nexistepas"),),0)
606
607     ####   traitement de CALC_MISS   ##############################
608     # Suppression de TYPE_CHARGE
609     removeMotCle(jdc,"CALC_MISS","TYPE_CHARGE",pasDeRegle(),0)
610
611     ####   traitement de CALC_MODAL   ##############################
612     # renommage de STOP_FREQ_VIDE
613     renameMotCle(jdc,"CALC_MODAL","STOP_FREQ_VIDE","STOP_BANDE_VIDE")
614
615     ####   traitement de CALC_MODE_ROTATION   ##############################
616     # renommage de MATR_A et MATR_B
617     renameMotCle(jdc,"CALC_MODE_ROTATION","MATR_A","MATR_RIGI")
618     renameMotCle(jdc,"CALC_MODE_ROTATION","MATR_B","MATR_MASS")
619
620     ####   traitement de CALC_NO   ##############################
621     # renommage de la commande
622     renameCommande(jdc,"CALC_NO","CALC_CHAMPNO", )
623     # Suppression des types de charges
624     removeMotCleInFact(jdc,"CALC_CHAMPNO","EXCIT","TYPE_CHARGE",pasDeRegle(),0)
625     # Redistribution des options de calcul
626     ## dictionnaire contenant les options
627     lTOUT=["FORC_NODA","REAC_NODA","DERA_NOEU","DURT_NOEU","EFCA_NOEU",
628            "EFGE_NOEU","ENDO_NOEU","ENEL_NOEU","EPMG_NOEU","EPSG_NOEU",
629            "EPSI_NOEU","EPSP_NOEU","EPVC_NOEU","EPFD_NOEU","EPFP_NOEU",
630            "EPMQ_NOEU","EPEQ_NOEU","SIEQ_NOEU","ERME_NOEU","ERTH_NOEU",
631            "QIRE_NOEU","FLUX_NOEU","HYDR_NOEU","INTE_NOEU","META_NOEU",
632            "PMPB_NOEU","PRAC_NOEU","SIEF_NOEU","SICA_NOEU","SICO_NOEU",
633            "SIGM_NOEU","SIPO_NOEU","VAEX_NOEU","VARI_NOEU","DISS_NOEU"]
634     lCONTRAINTE=["EFCA_NOEU","EFGE_NOEU","SIEF_NOEU","SICA_NOEU",
635                  "SICO_NOEU","SIGM_NOEU","SIPO_NOEU",]
636     lDEFORMATION=["EPMG_NOEU","EPSG_NOEU","EPSI_NOEU","EPSP_NOEU",
637                   "EPVC_NOEU","EPFD_NOEU","EPFP_NOEU",]
638     lENERGIE=["ENEL_NOEU","DISS_NOEU",]
639     lCRITERES=["DERA_NOEU","ENDO_NOEU","EPEQ_NOEU","EPMQ_NOEU",
640                "SIEQ_NOEU","PMPB_NOEU",]
641     lVARI_INTERNE=["VAEX_NOEU","VARI_NOEU",]
642     lTHERMIQUE=["FLUX_NOEU","HYDR_NOEU",]
643     lACOUSTIQUE=["INTE_NOEU","PRAC_NOEU",]
644     lFORCE=["FORC_NODA","REAC_NODA",]
645     lERREUR=["ERME_NOEU","ERTH_NOEU","QIRE_NOEU",]
646     lMETA=["DURT_NOEU","META_NOEU",]
647     ## Erreur pour les options supprimées
648     genereErreurValeur(jdc,"CALC_CHAMPNO","OPTION",("'SICA_NOEU'","'EFCA_NOEU'","'PMPB_NOEU'",))
649     changementValeur(jdc,"CALC_CHAMPNO","OPTION",{"SICO_NOEU":"SIGM_NOEU",})
650     ## copie de OPTION dans MCF TEMPORAIRE pour chaque type
651     chercheOperInsereFacteur(jdc,"CALC_CHAMPNO","TEMPORAIRE")
652     copyMotClefInOperToFact(jdc,"CALC_CHAMPNO","OPTION","TEMPORAIRE")
653     renameMotCleInFact(jdc,"CALC_CHAMPNO","TEMPORAIRE","OPTION","CONTRAINTE",pasDeRegle(),0)
654     copyMotClefInOperToFact(jdc,"CALC_CHAMPNO","OPTION","TEMPORAIRE")
655     renameMotCleInFact(jdc,"CALC_CHAMPNO","TEMPORAIRE","OPTION","DEFORMATION",pasDeRegle(),0)
656     copyMotClefInOperToFact(jdc,"CALC_CHAMPNO","OPTION","TEMPORAIRE")
657     renameMotCleInFact(jdc,"CALC_CHAMPNO","TEMPORAIRE","OPTION","ENERGIE",pasDeRegle(),0)
658     copyMotClefInOperToFact(jdc,"CALC_CHAMPNO","OPTION","TEMPORAIRE")
659     renameMotCleInFact(jdc,"CALC_CHAMPNO","TEMPORAIRE","OPTION","CRITERES",pasDeRegle(),0)
660     copyMotClefInOperToFact(jdc,"CALC_CHAMPNO","OPTION","TEMPORAIRE")
661     renameMotCleInFact(jdc,"CALC_CHAMPNO","TEMPORAIRE","OPTION","VARI_INTERNE",pasDeRegle(),0)
662     copyMotClefInOperToFact(jdc,"CALC_CHAMPNO","OPTION","TEMPORAIRE")
663     renameMotCleInFact(jdc,"CALC_CHAMPNO","TEMPORAIRE","OPTION","THERMIQUE",pasDeRegle(),0)
664     copyMotClefInOperToFact(jdc,"CALC_CHAMPNO","OPTION","TEMPORAIRE")
665     renameMotCleInFact(jdc,"CALC_CHAMPNO","TEMPORAIRE","OPTION","ACOUSTIQUE",pasDeRegle(),0)
666     copyMotClefInOperToFact(jdc,"CALC_CHAMPNO","OPTION","TEMPORAIRE")
667     renameMotCleInFact(jdc,"CALC_CHAMPNO","TEMPORAIRE","OPTION","FORCE",pasDeRegle(),0)
668     copyMotClefInOperToFact(jdc,"CALC_CHAMPNO","OPTION","TEMPORAIRE")
669     renameMotCleInFact(jdc,"CALC_CHAMPNO","TEMPORAIRE","OPTION","ERREUR",pasDeRegle(),0)
670     copyMotClefInOperToFact(jdc,"CALC_CHAMPNO","OPTION","TEMPORAIRE")
671     renameMotCleInFact(jdc,"CALC_CHAMPNO","TEMPORAIRE","OPTION","META",pasDeRegle(),0)
672     removeMotCle(jdc,"CALC_CHAMPNO","OPTION",pasDeRegle(),0)
673     ## déplacement au premier niveau de mot-clés
674     moveMotCleFromFactToFather(jdc,"CALC_CHAMPNO","TEMPORAIRE","CONTRAINTE")
675     moveMotCleFromFactToFather(jdc,"CALC_CHAMPNO","TEMPORAIRE","DEFORMATION")
676     moveMotCleFromFactToFather(jdc,"CALC_CHAMPNO","TEMPORAIRE","ENERGIE")
677     moveMotCleFromFactToFather(jdc,"CALC_CHAMPNO","TEMPORAIRE","CRITERES")
678     moveMotCleFromFactToFather(jdc,"CALC_CHAMPNO","TEMPORAIRE","VARI_INTERNE")
679     moveMotCleFromFactToFather(jdc,"CALC_CHAMPNO","TEMPORAIRE","THERMIQUE")
680     moveMotCleFromFactToFather(jdc,"CALC_CHAMPNO","TEMPORAIRE","ACOUSTIQUE")
681     moveMotCleFromFactToFather(jdc,"CALC_CHAMPNO","TEMPORAIRE","FORCE")
682     moveMotCleFromFactToFather(jdc,"CALC_CHAMPNO","TEMPORAIRE","ERREUR")
683     moveMotCleFromFactToFather(jdc,"CALC_CHAMPNO","TEMPORAIRE","META")
684     ## suppression des mot-clés s'ils ne contiennent pas d'options à traiter
685     removeMotCleSiRegle(jdc,"CALC_CHAMPNO","CONTRAINTE",((("CONTRAINTE",lCONTRAINTE,jdc),"MCnaPasPourValeurDansListe"),))
686     removeMotCleSiRegle(jdc,"CALC_CHAMPNO","DEFORMATION",((("DEFORMATION",lDEFORMATION,jdc),"MCnaPasPourValeurDansListe"),))
687     removeMotCleSiRegle(jdc,"CALC_CHAMPNO","ENERGIE",((("ENERGIE",lENERGIE,jdc),"MCnaPasPourValeurDansListe"),))
688     removeMotCleSiRegle(jdc,"CALC_CHAMPNO","CRITERES",((("CRITERES",lCRITERES,jdc),"MCnaPasPourValeurDansListe"),))
689     removeMotCleSiRegle(jdc,"CALC_CHAMPNO","VARI_INTERNE",((("VARI_INTERNE",lVARI_INTERNE,jdc),"MCnaPasPourValeurDansListe"),))
690     removeMotCleSiRegle(jdc,"CALC_CHAMPNO","THERMIQUE",((("THERMIQUE",lTHERMIQUE,jdc),"MCnaPasPourValeurDansListe"),))
691     removeMotCleSiRegle(jdc,"CALC_CHAMPNO","ACOUSTIQUE",((("ACOUSTIQUE",lACOUSTIQUE,jdc),"MCnaPasPourValeurDansListe"),))
692     removeMotCleSiRegle(jdc,"CALC_CHAMPNO","FORCE",((("FORCE",lFORCE,jdc),"MCnaPasPourValeurDansListe"),))
693     removeMotCleSiRegle(jdc,"CALC_CHAMPNO","ERREUR",((("ERREUR",lERREUR,jdc),"MCnaPasPourValeurDansListe"),))
694     removeMotCleSiRegle(jdc,"CALC_CHAMPNO","META",((("META",lMETA,jdc),"MCnaPasPourValeurDansListe"),))
695     ## suppression des valeurs non-licites
696     suppressionValeurs(jdc,"CALC_CHAMPNO","CONTRAINTE",list(set(lTOUT)-set(lCONTRAINTE)))
697     suppressionValeurs(jdc,"CALC_CHAMPNO","DEFORMATION",list(set(lTOUT)-set(lDEFORMATION)))
698     suppressionValeurs(jdc,"CALC_CHAMPNO","ENERGIE",list(set(lTOUT)-set(lENERGIE)))
699     suppressionValeurs(jdc,"CALC_CHAMPNO","CRITERES",list(set(lTOUT)-set(lCRITERES)))
700     suppressionValeurs(jdc,"CALC_CHAMPNO","VARI_INTERNE",list(set(lTOUT)-set(lVARI_INTERNE)))
701     suppressionValeurs(jdc,"CALC_CHAMPNO","THERMIQUE",list(set(lTOUT)-set(lTHERMIQUE)))
702     suppressionValeurs(jdc,"CALC_CHAMPNO","ACOUSTIQUE",list(set(lTOUT)-set(lACOUSTIQUE)))
703     suppressionValeurs(jdc,"CALC_CHAMPNO","FORCE",list(set(lTOUT)-set(lFORCE)))
704     suppressionValeurs(jdc,"CALC_CHAMPNO","ERREUR",list(set(lTOUT)-set(lERREUR)))
705     suppressionValeurs(jdc,"CALC_CHAMPNO","META",list(set(lTOUT)-set(lMETA)))
706     ## ajout CALC_METANO ou CALC_ERREURNO   
707     lMOTCLE=[]
708     lMOTCLE=["reuse","RESULTAT","TOUT_ORDRE","NUME_ORDRE","NUME_MODE","NOEUD_CMP","NOM_CAS",
709               "INST","FREQ","LIST_INST","LIST_FREQ","LIST_ORDRE","CRITERE","PRECISION","EXCIT"]
710     ### traitement métallurgie
711     llistMETA=[]
712     llistMETA=list(lMOTCLE)
713     llistMETA.append("META")
714     for mc in llistMETA :
715                 copyMotClefInOperToFact(jdc,"CALC_CHAMPNO",mc,"TEMPORAIRE")
716     moveMCFToCommand(jdc,"CALC_CHAMPNO","TEMPORAIRE","CALC_METANO","TEMPORAIRE")
717     for mc in llistMETA :
718                 moveMotCleFromFactToFather(jdc,"CALC_METANO","TEMPORAIRE",mc)
719     removeCommandeSiRegle(jdc,"CALC_METANO",((("META"),"nexistepasMCFParmi"),))
720     renameMotCle(jdc,"CALC_METANO","META","OPTION")
721     removeMotCle(jdc,"CALC_METANO","TEMPORAIRE",pasDeRegle(),0)
722     removeMotCle(jdc,"CALC_CHAMPNO","TEMPORAIRE",pasDeRegle(),0)
723     ### traitement calcul d'erreur
724     llistERREUR=[]
725     llistERREUR=list(lMOTCLE)
726     llistERREUR.append("ERREUR")
727     for mc in llistERREUR :
728                 copyMotClefInOperToFact(jdc,"CALC_CHAMPNO",mc,"TEMPORAIRE")
729     moveMCFToCommand(jdc,"CALC_CHAMPNO","TEMPORAIRE","CALC_ERREURNO","TEMPORAIRE")
730     for mc in llistERREUR :
731                 moveMotCleFromFactToFather(jdc,"CALC_ERREURNO","TEMPORAIRE",mc)
732     removeCommandeSiRegle(jdc,"CALC_ERREURNO",((("ERREUR"),"nexistepasMCFParmi"),))
733     renameMotCle(jdc,"CALC_ERREURNO","ERREUR","OPTION")
734     removeMotCle(jdc,"CALC_ERREURNO","TEMPORAIRE",pasDeRegle(),0)
735     removeMotCle(jdc,"CALC_CHAMPNO","TEMPORAIRE",pasDeRegle(),0)
736     ## ménage final
737     removeCommandeSiRegle(jdc,"CALC_CHAMPNO",((("CONTRAINTE","DEFORMATION","ENERGIE","CRITERES","VARI_INTERNE","THERMIQUE","ACOUSTIQUE","FORCE"),"nexistepasMCFParmi"),))
738     renameCommande(jdc,"CALC_CHAMPNO","CALC_CHAMP")
739     renameCommande(jdc,"CALC_METANO","CALC_META")
740     renameCommande(jdc,"CALC_ERREURNO","CALC_ERREUR")
741     removeMotCle(jdc,"CALC_CHAMP","METANO",pasDeRegle(),0)
742     removeMotCle(jdc,"CALC_CHAMP","ERREURNO",pasDeRegle(),0)
743
744     ####   traitement de CALC_POINT_MAT   ##############################
745     # Rien à faire
746
747     ####   traitement de CALC_PRECONT   ##############################
748     # Renommage de IMPLEX
749     changementValeur(jdc,"CALC_PRECONT","METHODE",{"IMPL_EX":"IMPLEX"})
750     removeMotCle(jdc,"CALC_PRECONT","IMPL_EX",pasDeRegle(),0)
751
752     ####   traitement de CALC_SENSI   ##############################
753     # Résorption de la sensibilité
754     removeCommande(jdc,"CALC_SENSI")
755     #genereErreurPourCommande(jdc,("CALC_SENSI",))
756
757     ####   traitement de CALC_SPEC   ##############################
758     # Déplacement d'un mot-clé facteur facteur
759     moveMotCleFromFactToFather(jdc,"CALC_SPEC","TAB_ECHANT","LONGUEUR_ECH")
760     moveMotCleFromFactToFather(jdc,"CALC_SPEC","LONGUEUR_ECH","DUREE")
761     moveMotCleFromFactToFather(jdc,"CALC_SPEC","LONGUEUR_ECH","POURCENT")
762     moveMotCleFromFactToFather(jdc,"CALC_SPEC","LONGUEUR_ECH","NB_PTS")
763     removeMotCle(jdc,"CALC_SPEC","LONGUEUR_ECH",pasDeRegle(),0)
764     renameMotCle(jdc,"CALC_SPEC","DUREE","LONGUEUR_DUREE")
765     renameMotCle(jdc,"CALC_SPEC","POURCENT","LONGUEUR_POURCENT")
766     renameMotCle(jdc,"CALC_SPEC","NB_PTS","LONGUEUR_NB_PTS")
767     moveMotClefInOperToFact(jdc,"CALC_SPEC","LONGUEUR_DUREE","TAB_ECHANT")
768     moveMotClefInOperToFact(jdc,"CALC_SPEC","POURCENT_DUREE","TAB_ECHANT")
769     moveMotClefInOperToFact(jdc,"CALC_SPEC","LONGUEUR_NB_PTS","TAB_ECHANT")
770     moveMotCleFromFactToFather(jdc,"CALC_SPEC","TAB_ECHANT","RECOUVREMENT")
771     moveMotCleFromFactToFather(jdc,"CALC_SPEC","RECOUVREMENT","DUREE")
772     moveMotCleFromFactToFather(jdc,"CALC_SPEC","RECOUVREMENT","POURCENT")
773     moveMotCleFromFactToFather(jdc,"CALC_SPEC","RECOUVREMENT","NB_PTS")
774     removeMotCle(jdc,"CALC_SPEC","RECOUVREMENT",pasDeRegle(),0)
775     renameMotCle(jdc,"CALC_SPEC","DUREE","RECOUVREMENT_DUREE")
776     renameMotCle(jdc,"CALC_SPEC","POURCENT","RECOUVREMENT_POURCENT")
777     renameMotCle(jdc,"CALC_SPEC","NB_PTS","RECOUVREMENT_NB_PTS")
778     moveMotClefInOperToFact(jdc,"CALC_SPEC","RECOUVREMENT_DUREE","TAB_ECHANT")
779     moveMotClefInOperToFact(jdc,"CALC_SPEC","RECOUVREMENT_POURCENT","TAB_ECHANT")
780     moveMotClefInOperToFact(jdc,"CALC_SPEC","RECOUVREMENT_NB_PTS","TAB_ECHANT")
781
782     ####   traitement de CALC_TABLE   ##############################
783     # Renommage de AJOUT en AJOUT_LIGNE
784     dOPE={"AJOUT":"AJOUT_LIGNE",}
785     changementValeurDsMCF(jdc,"CALC_TABLE","ACTION","OPERATION",dOPE)
786     # Résorption de la sensibilité
787     removeMotCle(jdc,"CALC_TABLE","SENSIBILITE",pasDeRegle(),0)
788     # Renommage critere table
789     dCRIT={"ABS_MAXI":"MAXI_ABS","ABS_MINI":"MINI_ABS"}
790     changementValeurDsMCF(jdc,"CALC_TABLE","FILTRE","CRIT_COMP",dCRIT)
791
792     ####   traitement de CALC_THETA   ##############################
793     # Résorption de la sensibilité
794     removeMotCle(jdc,"CALC_THETA","OPTION",pasDeRegle(),0)
795     removeMotCle(jdc,"CALC_THETA","THETA_BANDE",pasDeRegle(),1)
796     removeMotCle(jdc,"CALC_THETA","GRAD_NOEU_THETA",pasDeRegle(),0)
797
798     ####   traitement de COMB_FOURIER  ##############################
799     # Homogénéisation de ANGLE
800     renameMotCle(jdc,"COMB_FOURIER","ANGL","ANGLE")
801
802     ####   traitement de COMB_SISM_MODAL   ##############################
803     genereErreurValeur(jdc,"COMB_SISM_MODAL","OPTION",("'EFCA_ELNO'",))
804
805     ####   traitement de CREA_CHAMP   ##############################
806     removeMotCle(jdc,"CREA_CHAMP","SENSIBILITE",pasDeRegle(),0)
807     removeMotCle(jdc,"CREA_CHAMP","PROL_ZERO",pasDeRegle(),0)
808
809     ####   traitement de CREA_ELEM_SSD   ##############################
810     # Rien à faire
811
812     ####   traitement de CREA_MAILLAGE   ##############################
813     # Suppression de la possibilité de copier un maillage
814     lFACTEUR=['COQU_VOLU', 'CREA_FISS', 'CREA_GROUP_MA', 'CREA_MAILLE', 'CREA_POI1',
815                         'DETR_GROUP_MA', 'ECLA_PG', 'HEXA20_27', 'LINE_QUAD', 'MODI_MAILLE',
816                         'QUAD_LINE', 'REPERE','RESTREINT','PENTA15_18','GEOM_FIBRE']
817     renameCommandeSiRegle(jdc,"CREA_MAILLAGE","COPIER",(((lFACTEUR),"nexistepasMCFParmi"),))
818     renameMotCle(jdc,"COPIER","MAILLAGE","CONCEPT")
819
820     ####   traitement de CREA_RESU   ##############################
821     # Rien à faire
822
823     ####   traitement de CREA_TABLE   ##############################
824     removeMotCle(jdc,"CREA_TABLE","SENSIBILITE",pasDeRegle(),0)
825
826     ####   traitement de DEBUT   ##############################
827     # Suppression du mot-clé TITRE
828     removeMotCleInFact(jdc,"DEBUT","CATALOGUE","TITRE",pasDeRegle(),0)
829     # Suppression du mot-clé IMPRESSION
830     removeMotCle(jdc,"DEBUT","IMPRESSION",pasDeRegle(),0)
831     # Suppression des mots-clés mémoire dynamique
832     removeMotCleInFact(jdc,"DEBUT","MEMOIRE","GESTION",pasDeRegle(),0)
833     removeMotCleInFact(jdc,"DEBUT","MEMOIRE","TYPE_ALLOCATION",pasDeRegle(),0)
834     removeMotCleInFact(jdc,"DEBUT","MEMOIRE","TAILLE",pasDeRegle(),0)
835     removeMotCleInFact(jdc,"DEBUT","MEMOIRE","PARTITION",pasDeRegle(),0)
836     removeMotCleInFact(jdc,"DEBUT","MEMOIRE","DYNAMIQUE",pasDeRegle(),0)
837
838     ####   traitement de DEFI_BASE_MODALE   ##############################
839     # Rien à faire
840
841     ####   traitement de DEFI_CABLE_BP   ##############################
842     # Rien à faire
843
844     ####   traitement de DEFI_COMPOR   ##############################
845     # Suppression famille de sytèmes de glissement
846     lFAMGLIS=["'BASAL'", "'PRISMATIQUE'","'PYRAMIDAL1'","'PYRAMIDAL2'","'MACLAGE'",]
847     genereErreurValeurDsMCF(jdc,"DEFI_COMPOR","MONOCRISTAL","FAMI_SYST_GLIS",lFAMGLIS)
848     # Suppression famille de sytèmes de glissement
849     genereErreurValeurDsMCF(jdc,"DEFI_COMPOR","MONOCRISTAL","ECOULEMENT",("'MONO_VISC3'",))
850     # Suppression de ALGO_1D
851     removeMotCleInFact(jdc,"DEFI_COMPOR","MULTIFIBRE","ALGO_1D",pasDeRegle(),0)
852      # Suppression de DEFORMATION
853     genereErreurMotCleInFact(jdc,"DEFI_COMPOR","MULTIFIBRE","DEFORMATION")
854
855     ####   traitement de DEFI_CONTACT  ##############################
856     genereErreurValeurDsMCF(jdc,"DEFI_CONTACT","ZONE","ALGO_CONT",("'AVANCE'",))
857     genereErreurValeurDsMCF(jdc,"DEFI_CONTACT","ZONE","ALGO_FROT",("'AVANCE'",))
858     # résorption de RACCORD_LINE_QUAD et éléments de Barsoum
859     genereErreurMCF(jdc,"DEFI_CONTACT","FOND_FISSURE")
860     genereErreurMCF(jdc,"DEFI_CONTACT","NOEUD_FOND")
861     genereErreurMCF(jdc,"DEFI_CONTACT","GROUP_NO_FOND")
862     genereErreurMCF(jdc,"DEFI_CONTACT","MAILLE_FOND")
863     genereErreurMCF(jdc,"DEFI_CONTACT","GROUP_MA_FOND")
864     genereErreurMCF(jdc,"DEFI_CONTACT","RACCORD_LINE_QUAD")
865     genereErreurMCF(jdc,"DEFI_CONTACT","NOEUD_RACC")
866     genereErreurMCF(jdc,"DEFI_CONTACT","GROUP_NO_RACC")
867     genereErreurMCF(jdc,"DEFI_CONTACT","EXCLUSION_PIV_NUL")
868     genereErreurMCF(jdc,"DEFI_CONTACT","COEF_ECHELLE")
869     # résorption de COMPLIANCE
870     genereErreurMCF(jdc,"DEFI_CONTACT","COMPLIANCE")
871     genereErreurMCF(jdc,"DEFI_CONTACT","ASPERITE")
872     genereErreurMCF(jdc,"DEFI_CONTACT","E_N")
873     genereErreurMCF(jdc,"DEFI_CONTACT","E_V")
874     # résorption de l'usure
875     genereErreurMCF(jdc,"DEFI_CONTACT","USURE")
876     genereErreurMCF(jdc,"DEFI_CONTACT","K")
877     genereErreurMCF(jdc,"DEFI_CONTACT","H")
878     # Suppression de schémas d'inégration pour XFEM
879     lSCHEMA=["FPG2","FPG3","FPG4","FPG6","FPG7","SIMPSON1","NCOTES1","NCOTES2"]
880     removeMotCleInFactSiRegle(jdc,"DEFI_CONTACT","ZONE","INTEGRATION",((("FORMULATION","XFEM",jdc),"MCaPourValeur")and(("ZONE","INTEGRATION",lSCHEMA,jdc),"MCsousMCFaPourValeurDansListe"),),)
881     # règles sur relation
882     removeMotCleInFactSiRegle(jdc,"DEFI_CONTACT","ZONE","RELATION",((("ZONE","RELATION","NON",jdc),"MCsousMCFaPourValeur"),),)
883     # Suppression de schémas d'inégration pour méthode CONTINUE
884     lSCHEMA=["NOEUD","SIMPSON1","SIMPSON2","NCOTES1","NCOTES2"]
885     removeMotCleInFactSiRegle(jdc,"DEFI_CONTACT","ZONE","INTEGRATION",((("FORMULATION","CONTINUE",jdc),"MCaPourValeur")and(("ZONE","INTEGRATION",lSCHEMA,jdc),"MCsousMCFaPourValeurDansListe"),),)
886     # Ajout règle sur REAC_GEOM
887     removeMotCleSiRegle(jdc,"DEFI_CONTACT","REAC_GEOM",((("ALGO_RESO_GEOM","NEWTON",jdc),"MCaPourValeur"),))
888
889     ####   traitement de DEFI_COQU_MULT   ##############################
890     renameCommande(jdc,"DEFI_COQU_MULT","DEFI_COMPOSITE", )
891
892     ####   traitement de DEFI_FICHIER   ##############################
893     # Rien à faire
894
895     ####   traitement de DEFI_FISS_XFEM   ##############################
896     # Suppression de ORIE_FOND
897     removeMotCle(jdc,"DEFI_FISS_XFEM","ORIE_FOND",pasDeRegle(),0)
898     # Fusion FORM_FISS='ELLIPSE' et FORM_FISS='INCLUSION'
899     dFORME={"INCLUSION":"ELLIPSE",}
900     changementValeurDsMCF(jdc,"DEFI_FISS_XFEM","DEFI_FISS","FORM_FISS",dOPE)
901
902     ####   traitement de DEFI_FONC_ELEC   ##############################
903     # Rien à faire
904
905     ####   traitement de DEFI_FOND_FISS   ##############################
906     renameMotCle(jdc,"DEFI_FOND_FISS","FOND_FISS","FONDFISS")
907     # Cas FOND OUVERT
908     ajouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_FOND_FISS","FONDFISS","TYPE_FOND='OUVERT'",((("FONDFISS",),"existe"),))
909     # Cas FOND FERME
910     chercheOperInsereFacteurSiRegle(jdc,"DEFI_FOND_FISS","TYPE_FOND='FERME'",((("FOND_FERME",),"existe"),),0)
911     renameMotCle(jdc,"DEFI_FOND_FISS","FOND_FERME","FONDFISS")
912     moveMotClefInOperToFact(jdc,"DEFI_FOND_FISS","TYPE_FOND","FONDFISS")
913     # Cas FOND INF
914     chercheOperInsereFacteurSiRegle(jdc,"DEFI_FOND_FISS","TYPE_FOND='INF'",((("FOND_INF",),"existe"),),0)
915     renameMotCle(jdc,"DEFI_FOND_FISS","FOND_SUP","FONDFISS")
916     moveMotClefInOperToFact(jdc,"DEFI_FOND_FISS","TYPE_FOND","FONDFISS")
917     # Cas FOND SUP
918     chercheOperInsereFacteurSiRegle(jdc,"DEFI_FOND_FISS","TYPE_FOND='SUP'",((("FOND_SUP",),"existe"),),0)
919     renameMotCle(jdc,"DEFI_FOND_FISS","FOND_SUP","FONDFISS")
920     moveMotClefInOperToFact(jdc,"DEFI_FOND_FISS","TYPE_FOND","FONDFISS")
921     # Autres mots-clés
922     moveMotClefInOperToFact(jdc,"DEFI_FOND_FISS","DTAN_ORIG","FONDFISS")
923     moveMotClefInOperToFact(jdc,"DEFI_FOND_FISS","DTAN_EXTR","FONDFISS")
924     moveMotClefInOperToFact(jdc,"DEFI_FOND_FISS","VECT_GRNO_ORIG","FONDFISS")
925     moveMotClefInOperToFact(jdc,"DEFI_FOND_FISS","VECT_GRNO_EXTR","FONDFISS")
926     removeMotCle(jdc,"DEFI_FOND_FISS","NORMALE",pasDeRegle(),0)
927     #
928     renameMotCle(jdc,"DEFI_FOND_FISS","FONDFISS","FOND_FISS")
929
930     ####   traitement de DEFI_GLRC   ##############################
931     # Renommage de mot-clés
932     renameMotCle(jdc,"DEFI_GLRC","GC","GAMMA_C")
933     renameMotCle(jdc,"DEFI_GLRC","SYC","NYC")
934     renameMotCle(jdc,"DEFI_GLRC","EPSI_FLEX","KAPPA_FLEX")
935
936     ####   traitement de DEFI_GROUPE   ##############################
937     # Rien à faire
938
939     ####   traitement de DEFI_INTE_SPEC   ##############################
940     # Rien à faire
941
942     ####   traitement de DEFI_LIST_INST   ##############################
943     dMETHODE={"UNIFORME":"MANUEL","EXTRAPOLE":"MANUEL","AUCUNE":"AUTO"}
944     changementValeurDsMCF(jdc,"DEFI_LIST_INST","ECHEC","SUBD_METHODE",dMETHODE)
945     removeMotCleInFact(jdc,"DEFI_LIST_INST","ECHEC","SUBD_COEF_PAS_1",pasDeRegle(),0)
946
947     ####   traitement de DEFI_MATER_GC   ##############################
948     # Rien à faire, n'existe pas en 10
949
950     ####   traitement de DEFI_MATERIAU   ##############################
951     # Suppression des critères pour les poutres
952     genereErreurMCF(jdc,"DEFI_MATERIAU","ECRO_FLEJOU")
953     genereErreurMCF(jdc,"DEFI_MATERIAU","VMIS_POUTRE")
954     genereErreurMCF(jdc,"DEFI_MATERIAU","VMIS_POUTRE_FO")
955     # Modification de la loi de grandissement
956     genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LEMAITRE_IRRA","GRAN_A")
957     genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LEMAITRE_IRRA","GRAN_B")
958     genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LEMAITRE_IRRA","GRAN_S")
959     genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LMARC_IRRA","GRAN_A")
960     genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LMARC_IRRA","GRAN_B")
961     genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LMARC_IRRA","GRAN_S")
962     genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","GRAN_IRRA_LOG","GRAN_A")
963     genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","GRAN_IRRA_LOG","GRAN_B")
964     genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","GRAN_IRRA_LOG","GRAN_S")
965     # Modification des paramètres de la loi ENDO_SCALAIRE
966     genereErreurMCF(jdc,"DEFI_MATERIAU","ENDO_SCALAIRE")
967     # Modification des paramètres de la loi MAZARS
968     genereErreurMCF(jdc,"DEFI_MATERIAU","MAZARS")
969     genereErreurMCF(jdc,"DEFI_MATERIAU","MAZARS_FO")
970     # Modification des paramètres de la loi GLRC_DM
971     renameMotCleInFact(jdc,"DEFI_MATERIAU","GLRC_DM","SYT","NYT",pasDeRegle(),0)
972     renameMotCleInFact(jdc,"DEFI_MATERIAU","GLRC_DM","SYC","NYC",pasDeRegle(),0)
973     renameMotCleInFact(jdc,"DEFI_MATERIAU","GLRC_DM","SYF","NYF",pasDeRegle(),0)
974     # Suppression de la loi MONO_VISC3
975     genereErreurMCF(jdc,"DEFI_MATERIAU","MONO_VISC3")
976     # Suppression de la loi MONO_DD_CC
977     genereErreurMCF(jdc,"DEFI_MATERIAU","MONO_DD_CC")
978
979     ####   traitement de DEFI_NAPPE   ##############################
980     # Rien à faire
981
982     ####   traitement de DEFI_PARA_SENSI   ##############################
983     # Résorption de la sensibilité
984     removeCommande(jdc,"DEFI_PARA_SENSI")
985     #genereErreurPourCommande(jdc,("DEFI_PARA_SENSI",))
986
987     ####   traitement de DEFI_PART_FETI   ##############################
988     # Rien à faire
989
990     ####   traitement de DEFI_SOL_MISS   ##############################
991     # Rien à faire
992
993     ####   traitement de DEFI_SPEC_TURB  ##############################
994     # Homogénéisation de ANGLE
995     renameMotCleInFact(jdc,"DEFI_SPEC_TURB","SPEC_EXCI_POINT","ANGL","ANGLE",pasDeRegle(),0)
996
997     ####   traitement de DETRUIRE  ##############################
998     # Résorption de la sensibilité
999     removeMotCleInFact(jdc,"DETRUIRE","CONCEPT","SENSIBILITE",pasDeRegle(),0)
1000     # Suppression mot-clé ALARME
1001     removeMotCle(jdc,"DETRUIRE","ALARME",pasDeRegle(),0)
1002
1003     ####   traitement de DYNA_ALEA_MODAL   ##############################
1004     # Rien à faire
1005
1006     ####   traitement de DYNA_ISS_VARI   ##############################
1007     ajouteMotClefDansFacteurCourantSiRegle(jdc,"DYNA_ISS_VARI","MATR_COHE","TYPE='MITA_LUCO'",((("MATR_COHE",),"existe"),))
1008
1009     ####   traitement de DYNA_LINE_HARM   ##############################
1010     # Résorption de la sensibilité
1011     removeMotCle(jdc,"DYNA_LINE_HARM","SENSIBILITE",pasDeRegle(),0)
1012     # Suppression mot-clé TYPE_CHARGE
1013     removeMotCleInFact(jdc,"DYNA_LINE_HARM","EXCIT","TYPE_CHARGE",pasDeRegle(),0)
1014     # Ajout AMOR_MODAL
1015     chercheOperInsereFacteurSiRegle(jdc,"DYNA_LINE_HARM","AMOR_MODAL",((("AMOR_REDUIT","LIST_AMOR",),"existeMCFParmi"),),1)
1016     moveMotClefInOperToFact(jdc,"DYNA_LINE_HARM","AMOR_REDUIT","AMOR_MODAL")
1017     moveMotClefInOperToFact(jdc,"DYNA_LINE_HARM","LIST_AMOR","AMOR_MODAL")
1018
1019     ####   traitement de DYNA_LINE_TRAN   ##############################
1020     # Résorption de la sensibilité
1021     removeMotCle(jdc,"DYNA_LINE_TRAN","SENSIBILITE",pasDeRegle(),0)
1022     # Ajout SCHEMA_TEMPS
1023     chercheOperInsereFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS",((("NEWMARK","WILSON","DIFF_CENTRE","ADAPT",),"existeMCFParmi"),),1)
1024     ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","SCHEMA='NEWMARK'",((("NEWMARK",),"existeMCFParmi"),))
1025     moveMotCleFromFactToFact(jdc,"DYNA_LINE_TRAN","NEWMARK","ALPHA","SCHEMA_TEMPS")
1026     moveMotCleFromFactToFact(jdc,"DYNA_LINE_TRAN","NEWMARK","DELTA","SCHEMA_TEMPS")
1027     renameMotCleInFact(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","ALPHA","BETA",pasDeRegle(),0)
1028     renameMotCleInFact(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","DELTA","GAMMA",pasDeRegle(),0)
1029     removeMotCle(jdc,"DYNA_LINE_TRAN","NEWMARK",pasDeRegle(),0)
1030     ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","SCHEMA='WILSON'",((("WILSON",),"existeMCFParmi"),))
1031     moveMotCleFromFactToFact(jdc,"DYNA_LINE_TRAN","WILSON","THETA","SCHEMA_TEMPS")
1032     removeMotCle(jdc,"DYNA_LINE_TRAN","WILSON",pasDeRegle(),0)
1033     ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","SCHEMA='DIFF_CENTRE'",((("DIFF_CENTRE",),"existeMCFParmi"),))
1034     removeMotCle(jdc,"DYNA_LINE_TRAN","DIFF_CENTRE",pasDeRegle(),0)
1035     ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","SCHEMA='ADAPT_ORDRE2'",((("ADAPT",),"existeMCFParmi"),))
1036     removeMotCle(jdc,"DYNA_LINE_TRAN","ADAPT",pasDeRegle(),0)
1037     # Renommage dans ETAT_INIT
1038     renameMotCleInFact(jdc,"DYNA_LINE_TRAN","ETAT_INIT","DYNA_TRANS","RESULTAT",pasDeRegle(),0)
1039     renameMotCleInFact(jdc,"DYNA_LINE_TRAN","ETAT_INIT","DEPL_INIT","DEPL",pasDeRegle(),0)
1040     renameMotCleInFact(jdc,"DYNA_LINE_TRAN","ETAT_INIT","ACCE_INIT","ACCE",pasDeRegle(),0)
1041     renameMotCleInFact(jdc,"DYNA_LINE_TRAN","ETAT_INIT","VITE_INIT","VITE",pasDeRegle(),0)
1042     renameMotCleInFact(jdc,"DYNA_LINE_TRAN","ETAT_INIT","NUME_INIT","NUME_ORDRE",pasDeRegle(),0)
1043     # Suppression mot-clé TYPE_CHARGE
1044     removeMotCleInFact(jdc,"DYNA_LINE_TRAN","EXCIT","TYPE_CHARGE",pasDeRegle(),0)
1045     # Suppression mot-clé FONC_INST
1046     genereErreurMotCleInFact(jdc,"DYNA_LINE_TRAN","INCREMENT","FONC_INST")
1047     # Suppression mot-clé PAS_CALCUL
1048     removeMotCleInFact(jdc,"DYNA_LINE_TRAN","INCREMENT","PAS_CALCUL",pasDeRegle(),0)
1049     # Renommage dans ARCHIVAGE
1050     renameMotCleInFact(jdc,"DYNA_LINE_TRAN","ARCHIVAGE","LIST_ARCH","LIST_INST",pasDeRegle(),0)
1051
1052     ####   traitement de DYNA_NON_LINE   ##############################
1053     # Renommage CRIT_FLAMB en CRIT_STAB
1054     renameMotCle(jdc,"DYNA_NON_LINE","CRIT_FLAMB","CRIT_STAB")
1055     # Résorption de la sensibilité
1056     removeMotCle(jdc,"DYNA_NON_LINE","SENSIBILITE",pasDeRegle(),0)
1057     # Suppression de ARCHIVAGE/DETR_NUME_SUIV
1058     removeMotCleInFact(jdc,"DYNA_NON_LINE","ARCHIVAGE","DETR_NUME_SUIV",pasDeRegle(),0)
1059
1060     ####   traitement de DYNA_SPEC_MODAL   ##############################
1061     # Rien à faire
1062
1063     ####   traitement de DYNA_TRAN_MODAL   ##############################
1064     # Ajout SCHEMA_TEMPS
1065     chercheOperInsereFacteur(jdc,"DYNA_TRAN_MODAL","SCHEMA_TEMPS")
1066     chercheOperInsereMotCleSiRegle(jdc,"DYNA_TRAN_MODAL","METHODE='EULER'",((("METHODE",),"nexistepas"),),)
1067     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","METHODE","SCHEMA_TEMPS")
1068     renameMotCleInFact(jdc,"DYNA_TRAN_MODAL","SCHEMA_TEMPS","METHODE","SCHEMA",pasDeRegle(),0)
1069     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","BASE_ELAS_FLUI","SCHEMA_TEMPS")
1070     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","NUME_VITE_FLUI","SCHEMA_TEMPS")
1071     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","ETAT_STAT","SCHEMA_TEMPS")
1072     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","PREC_DUREE","SCHEMA_TEMPS")
1073     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","CHOC_FLUI","SCHEMA_TEMPS")
1074     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","NB_MODE","SCHEMA_TEMPS")
1075     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","NB_MODE_FLUI","SCHEMA_TEMPS")
1076     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","TS_REG_ETAB","SCHEMA_TEMPS")
1077     # Renommage des matrices
1078     renameMotCle(jdc,"DYNA_TRAN_MODAL","MASS_GENE","MATR_MASS")
1079     renameMotCle(jdc,"DYNA_TRAN_MODAL","RIGI_GENE","MATR_RIGI")
1080     renameMotCle(jdc,"DYNA_TRAN_MODAL","AMOR_GENE","MATR_AMOR")
1081     # Ajout AMOR_MODAL
1082     chercheOperInsereFacteurSiRegle(jdc,"DYNA_TRAN_MODAL","AMOR_MODAL",((("AMOR_REDUIT","LIST_AMOR",),"existeMCFParmi"),),1)
1083     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","AMOR_REDUIT","AMOR_MODAL")
1084     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","LIST_AMOR","AMOR_MODAL")
1085     # couplage
1086     chercheOperInsereFacteurSiRegle(jdc,"DYNA_TRAN_MODAL","VITESSE_VARIABLE='NON'",((("COUPLAGE_EDYOS"),"existe"),),1)
1087     moveMotCleFromFactToFather(jdc,"DYNA_TRAN_MODAL","COUPLAGE_EDYOS","VITE_ROTA")
1088     # Renommage dans ETAT_INIT
1089     renameMotCleInFact(jdc,"DYNA_TRAN_MODAL","ETAT_INIT","RESU_GENE","RESULTAT",pasDeRegle(),0)
1090     renameMotCleInFact(jdc,"DYNA_TRAN_MODAL","ETAT_INIT","INIT_GENE","DEPL",pasDeRegle(),0)
1091     renameMotCleInFact(jdc,"DYNA_TRAN_MODAL","ETAT_INIT","DEPL_INIT_GENE","DEPL",pasDeRegle(),0)
1092     renameMotCleInFact(jdc,"DYNA_TRAN_MODAL","ETAT_INIT","VITE_INIT_GENE","VITE",pasDeRegle(),0)
1093     # Renommage dans ARCHIVAGE
1094     renameMotCleInFact(jdc,"DYNA_LINE_TRAN","ARCHIVAGE","LIST_ARCH","LIST_INST",pasDeRegle(),0)
1095     # Paramètres LAME_FLUIDE
1096     chercheOperInsereFacteurSiRegle(jdc,"DYNA_TRAN_MODAL","PARA_LAMEFLUI",((("NMAX_ITER","RESI_RELA","LAMBDA"),"existeMCFParmi"),),1)
1097     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","NMAX_ITER","PARA_LAMEFLUI")
1098     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","RESI_RELA","PARA_LAMEFLUI")
1099     moveMotClefInOperToFact(jdc,"DYNA_TRAN_MODAL","LAMBDA","PARA_LAMEFLUI")
1100     renameMotCle(jdc,"DYNA_TRAN_MODAL","PARA_LAMEFLUI","PARA_LAME_FLUI")
1101
1102     ####   traitement de DYNA_VIBRA   ##############################
1103     # Rien à faire, n'existe pas en 10
1104
1105     ####   traitement de EXEC_LOGICIEL   ##############################
1106     # Rien à faire
1107
1108     ####   traitement de EXTR_RESU   ##############################
1109     # Résorption de la sensibilité
1110     removeMotCle(jdc,"EXTR_RESU","SENSIBILITE",pasDeRegle(),0)
1111
1112     ####   traitement de EXTR_TABLE   ##############################
1113     # Renommage critere table
1114     dCRIT={"ABS_MAXI":"MAXI_ABS","ABS_MINI":"MINI_ABS"}
1115     changementValeurDsMCF(jdc,"RECU_TABLE","FILTRE","CRIT_COMP",dCRIT)
1116
1117     ####   traitement de FACTORISER   ##############################
1118     # Suppression de RENUM
1119     removeMotCleSiRegle(jdc,"FACTORISER","RENUM",((("PRE_COND","LDLT_INC",jdc),"MCaPourValeur"),))
1120     removeMotCleSiRegle(jdc,"FACTORISER","RENUM",((("PRE_COND","LDLT_SP",jdc),"MCaPourValeur"),))
1121     # Modification mot-clés liés à la mémoire
1122     removeMotCle(jdc,"FACTORISER","LIBERE_MEMOIRE",pasDeRegle(),0)
1123     renameMotCle(jdc,"FACTORISER","OUT_OF_CORE","GESTION_MEMOIRE")
1124     dMEM={"OUI":"OUT_OF_CORE","NON":"IN_CORE"}
1125     changementValeur(jdc,"FACTORISER","GESTION_MEMOIRE",dCRIT)
1126
1127     ####   traitement de FORMULE   ##############################
1128     # Rien à faire
1129     
1130     ####   traitement de GENE_ACCE_SEISME   ##############################
1131     # Rien à faire, n'existe pas en 10
1132
1133     ####   traitement de GENE_FONC_ALEA   ##############################
1134     # Rien à faire
1135
1136     ####   traitement de GENE_VARI_ALEA   ##############################
1137     # Rien à faire
1138
1139     ####   traitement de IMPR_CO  ##############################
1140     # Résorption de la sensibilité
1141     removeMotCleInFact(jdc,"IMPR_CO","CONCEPT","SENSIBILITE",pasDeRegle(),0)
1142
1143     ####   traitement de IMPR_DIAG_CAMPBELL   ##############################
1144     # Rien à faire
1145
1146     ####   traitement de IMPR_FONCTION   ##############################
1147     # Rien à faire
1148
1149     ####   traitement de IMPR_GENE   ##############################
1150     # Rien à faire
1151
1152     ####   traitement de IMPR_OAR   ##############################
1153     # Rien à faire
1154
1155     ####   traitement de IMPR_RESU   ##############################
1156     # Résorption de la sensibilité
1157     removeMotCleInFact(jdc,"IMPR_RESU","RESU","SENSIBILITE",pasDeRegle(),0)
1158     # Suppression de l'écriture au format ENSIGHT
1159     genereErreurValeur(jdc,"IMPR_RESU","FORMAT",("'ENSIGHT'",))
1160     # Homogénéisation de ANGLE
1161     renameMotCleInFact(jdc,"IMPR_RESU","FORMAT","ANGL","ANGLE",pasDeRegle(),0)
1162     # Suppression mot-clé MODELE
1163     removeMotCle(jdc,"IMPR_RESU","MODELE",pasDeRegle(),0)
1164
1165     ####   traitement de IMPR_STURM   ##############################
1166     renameMotCle(jdc,"IMPR_STURM","TYPE_RESU","TYPE_MODE")
1167     # renommage de MATR_A, MATR_B et MATR_C
1168     renameMotCleSiRegle(jdc,"IMPR_STURM","MATR_A","MATR_RIGI",((("TYPE_MODE","DYNAMIQUE",jdc),"MCaPourValeur"),),1)
1169     renameMotCleSiRegle(jdc,"IMPR_STURM","MATR_B","MATR_MASS",((("TYPE_MODE","DYNAMIQUE",jdc),"MCaPourValeur"),),1)
1170     renameMotCleSiRegle(jdc,"IMPR_STURM","MATR_A","MATR_RIGI",((("TYPE_MODE","MODE_FLAMB",jdc),"MCaPourValeur"),),1)
1171     renameMotCleSiRegle(jdc,"IMPR_STURM","MATR_B","MATR_RIGI_GEOM",((("TYPE_MODE","MODE_FLAMB",jdc),"MCaPourValeur"),),1)
1172     renameMotCle(jdc,"IMPR_STURM","MATR_A","MATR_RIGI")
1173     renameMotCle(jdc,"IMPR_STURM","MATR_B","MATR_MASS")
1174     #
1175     chercheOperInsereMotCleSiRegle(jdc,"IMPR_STURM","FREQ_MIN=0.",((("FREQ_MIN",),"nexistepas")and(("FREQ_MAX",),"existeMCFParmi"),),)
1176     fusionMotCleToFact(jdc,"IMPR_STURM",("FREQ_MIN","FREQ_MAX"),"FREQ")
1177     fusionMotCleToFact(jdc,"IMPR_STURM",("CHAR_CRIT_MIN","CHAR_CRIT_MAX"),"CHAR_CRIT")
1178     # Ajout COMPTAGE
1179     chercheOperInsereFacteurSiRegle(jdc,"IMPR_STURM","COMPTAGE",((("NMAX_ITER_SHIFT","PREC_SHIFT","SEUIL_FREQ"),"existeMCFParmi"),),1)
1180     moveMotClefInOperToFact(jdc,"IMPR_STURM","NMAX_ITER_SHIFT","COMPTAGE")
1181     moveMotClefInOperToFact(jdc,"IMPR_STURM","PREC_SHIFT","COMPTAGE")
1182     moveMotClefInOperToFact(jdc,"IMPR_STURM","SEUIL_FREQ","COMPTAGE")
1183     renameMotCleInFactSiRegle(jdc,"IMPR_STURM","COMPTAGE","SEUIL_FREQ","SEUIL_CHAR_CRIT",((("TYPE_MODE","MODE_FLAMB",jdc),"MCaPourValeur"),),)
1184     # Suppression UNITE
1185     removeMotCle(jdc,"IMPR_STURM","UNITE",pasDeRegle(),0)
1186     # Renommage de la commande
1187     renameCommande(jdc,"IMPR_STURM","INFO_MODE", )
1188
1189     ####   traitement de IMPR_TABLE   ##############################
1190     # Résorption de la sensibilité
1191     removeMotCle(jdc,"IMPR_TABLE","SENSIBILITE",pasDeRegle(),0)
1192     # Renommage critere table
1193     dCRIT={"ABS_MAXI":"MAXI_ABS","ABS_MINI":"MINI_ABS"}
1194     changementValeurDsMCF(jdc,"IMPR_TABLE","FILTRE","CRIT_COMP",dCRIT)
1195     # Suppression de FORMAT_C
1196     genereErreurMCF(jdc,"IMPR_TABLE","FORMAT_C")
1197
1198     ####   traitement de INCLUDE   ##############################
1199     # Rien à faire
1200
1201     ####   traitement de INCLUDE_MATERIAU   ##############################
1202     # Rien à faire
1203
1204     ####   traitement de INFO_EXEC_ASTER   ##############################
1205     # Rien à faire
1206
1207     ####   traitement de INFO_FONCTION   ##############################
1208     # Rien à faire
1209
1210     ####   traitement de INFO_MODE   ##############################
1211     # Rien à faire, n'existe pas en 10
1212
1213     ####   traitement de LIRE_CHAMP   ##############################
1214     # Rien à faire
1215
1216     ####   traitement de LIRE_FONCTION   ##############################
1217     # Rien à faire
1218
1219     ####   traitement de LIRE_IMPE_MISS   ##############################
1220     # Rien à faire
1221
1222     ####   traitement de LIRE_INTE_SPEC   ##############################
1223     # Rien à faire
1224
1225     ####   traitement de LIRE_MAILLAGE   ##############################
1226     # Rien à faire
1227
1228     ####   traitement de LIRE_RESU   ##############################
1229     # Suppression du type HARM_GENE
1230     genereErreurValeur(jdc,"LIRE_RESU","TYPE_RESU",("'HARM_GENE'",))
1231     # renommage de MATR_A et MATR_B
1232     renameMotCle(jdc,"LIRE_RESU","MATR_A","MATR_RIGI")
1233     renameMotCle(jdc,"LIRE_RESU","MATR_B","MATR_MASS")
1234     removeMotCle(jdc,"LIRE_RESU","NUME_DDL",pasDeRegle(),0)
1235     # Suppression de certains champ
1236     lSUPCHAMPS=["'EFCA_ELNO'","'EFCA_NOEU'","'EPTQ_ELNO'","'EPTU_ELNO'",
1237                 "'PMPB_ELNO'","'PMPB_NOEU'","'SITQ_ELNO'","'SICA_ELNO'",
1238                 "'SICO_ELNO'","'SITU_ELNO'","'SICA_NOEU'","'SICO_NOEU'",
1239                 "'SPMX_ELGA'","'VACO_ELNO'","'VATU_ELNO'",]
1240     genereErreurValeurDsMCF(jdc,"LIRE_RESU","FORMAT_IDEAS","NOM_CHAM",lSUPCHAMPS)
1241     genereErreurValeurDsMCF(jdc,"LIRE_RESU","FORMAT_MED","NOM_CHAM",lSUPCHAMPS)
1242     genereErreurValeur(jdc,"LIRE_RESU","NOM_CHAM",lSUPCHAMPS)
1243
1244     ####   traitement de LIRE_TABLE   ##############################
1245     # Rien à faire
1246
1247     ####   traitement de MACR_ADAP_MAIL   ##############################
1248     # Résorption de la sensibilité
1249     removeMotCle(jdc,"MACR_ADAP_MAIL","SENSIBILITE",pasDeRegle(),0)
1250     # Changement de version
1251     changementValeur(jdc,"MACR_ADAP_MAIL","VERSION_HOMARD",{"V10_1":"V10_6"})
1252     # Changement d'adaptation
1253     changementValeur(jdc,"MACR_ADAP_MAIL","ADAPTATION",{"RAFFINEMENT_ZONE":"RAFF_DERA_ZONE"})
1254     # Renommage du mot-clé ELEMENTS_NON_HOMARD
1255     renameMotCle(jdc,"MACR_ADAP_MAIL","ELEMENTS_NON_HOMARD","ELEMENTS_ACCEPTES")
1256     changementValeur(jdc,"MACR_ADAP_MAIL","ELEMENTS_ACCEPTES",{"REFUSER":"HOMARD","IGNORER":"IGNORE_PYRA"})
1257
1258     ####   traitement de MACR_ASCOUF_CALC   ##############################
1259     # Rien à faire
1260
1261     ####   traitement de MACR_ASCOUF_MAIL   ##############################
1262     # Rien à faire
1263
1264     ####   traitement de MACR_ASPIC_CALC   ##############################
1265     # Rien à faire
1266
1267     ####   traitement de MACR_ASPIC_MAIL   ##############################
1268     # Rien à faire
1269
1270     ####   traitement de MACR_CARA_POUTRE   ##############################
1271     renameMotCle(jdc,"MACR_CARA_POUTRE","SYME_Y","SYME_ZZ")
1272     renameMotCle(jdc,"MACR_CARA_POUTRE","SYME_X","SYME_Y")
1273     renameMotCle(jdc,"MACR_CARA_POUTRE","SYME_ZZ","SYME_Z")
1274
1275     ####   traitement de MACR_ECLA_PG   ##############################
1276     # Rien à faire
1277
1278     ####   traitement de MACR_ECRE_CALC   ##############################
1279     # Changement de version
1280     changementValeur(jdc,"MACR_ECRE_CALC","VERSION",{"3.1.1":"3.2.1","3.1.2":"3.2.1","3.2":"3.2.1"})
1281
1282     ####   traitement de MACR_ECREVISSE   ##############################
1283     # Changement de version
1284     changementValeur(jdc,"MACR_ECRE_CALC","VERSION",{"3.1.1":"3.2.1","3.1.2":"3.2.1","3.2":"3.2.1"})
1285
1286     ####   traitement de MACR_ELEM_DYNA   ##############################
1287     # Rien à faire
1288
1289     ####   traitement de MACR_FIABILITE   ##############################
1290     genereErreurPourCommande(jdc,("MACR_FIABILITE",))
1291
1292     ####   traitement de MACR_FIAB_IMPR   ##############################
1293     genereErreurPourCommande(jdc,("MACR_FIAB_IMPR",))
1294
1295     ####   traitement de MACR_INFO_MAIL   ##############################
1296     # Changement de version
1297     changementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",{"V10_1":"V10_6"})
1298     # Renommage du mot-clé ELEMENTS_NON_HOMARD
1299     renameMotCle(jdc,"MACR_INFO_MAIL","ELEMENTS_NON_HOMARD","ELEMENTS_ACCEPTES")
1300     changementValeur(jdc,"MACR_INFO_MAIL","ELEMENTS_ACCEPTES",{"REFUSER":"HOMARD","IGNORER":"IGNORE_PYRA"})
1301
1302     ####   traitement de MACR_LIGN_COUPE   ##############################
1303     # Rien à faire
1304
1305     ####   traitement de MACRO_ELAS_MULT   ##############################
1306     # Résorption de NUME_COUCHE NIVE_COUCHE
1307     removeMotCleInFact(jdc,"MACRO_ELAS_MULT","CAS_CHARGE","NUME_COUCHE",pasDeRegle(),0)
1308     removeMotCleInFact(jdc,"MACRO_ELAS_MULT","CAS_CHARGE","NIVE_COUCHE",pasDeRegle(),0)
1309     # Réduction de la liste des options calculables
1310     lOPT=["'EFGE_ELNO'","'EPOT_ELEM'","'SIGM_ELNO'","'SICA_ELNO'","'EFCA_ELNO'",
1311           "'DEGE_ELNO'","'EPSI_ELNO'","'EPSI_ELGA'","'EPSG_ELNO'","'EPSG_ELGA'",
1312           "'EPSP_ELNO'","'EPSP_ELGA'","'ECIN_ELEM'","'FLUX_ELGA'","'FLUX_ELNO'",
1313           "'SOUR_ELGA'","'PRAC_ELNO'","'INTE_ELNO'","'SIZ1_NOEU'","'ERZ1_ELEM'",
1314           "'SIZ2_NOEU'","'ERZ2_ELEM'","'VNOR_ELEM_DEPL'","'ERME_ELNO'",
1315           "'ERME_ELEM'","'SIEQ_ELNO'","'SIEQ_ELGA'","'EPEQ_ELNO'","'QIRE_ELEM'",
1316           "'QIRE_ELNO'","'QIZ1_ELEM'","'QIZ2_ELEM'","'EPEQ_ELGA'","'FORC_NODA'",
1317           "'REAC_NODA'","'EPSI_NOEU'","'SIGM_NOEU'","'EFGE_NOEU'","'SIEQ_NOEU'",
1318           "'EPEQ_NOEU'","'FLUX_NOEU'",]
1319     genereErreurValeurDsMCF(jdc,"MACRO_ELAS_MULT","CAS_CHARGE","OPTION",lOPT)
1320
1321     ####   traitement de MACRO_EXPANS   ##############################
1322     # Rien à faire
1323
1324     ####   traitement de MACRO_MATR_AJOU   ##############################
1325     # Rien à faire
1326
1327     ####   traitement de MACRO_MATR_ASSE   ##############################
1328     # Suppression de paramètres mémoire
1329     removeMotCleInFact(jdc,"MACRO_MATR_ASSE","SOLVEUR","OUT_OF_CORE",pasDeRegle(),0)
1330     removeMotCleInFact(jdc,"MACRO_MATR_ASSE","SOLVEUR","LIBERE_MEMOIRE",pasDeRegle(),0)
1331     # Suppression de RIGI_MECA_LAGR
1332     genereErreurValeurDsMCF(jdc,"MACRO_MATR_ASSE","MATR_ASSE","OPTION",("'RIGI_MECA_LAGR'",))
1333     genereErreurMotCleInFact(jdc,"MACRO_MATR_ASSE","MATR_ASSE","THETA")
1334     genereErreurMotCleInFact(jdc,"MACRO_MATR_ASSE","MATR_ASSE","PROPAGATION")
1335     # Renommage de la commande
1336     renameCommande(jdc,"MACRO_MATR_ASSE","ASSEMBLAGE", )
1337
1338     ####   traitement de MACRO_MISS_3D   ##############################
1339     # Rien à faire
1340
1341     ####   traitement de MACRO_MODE_MECA   ##############################
1342     # renommage de MATR_A et MATR_B
1343     renameMotCle(jdc,"MACRO_MODE_MECA","MATR_A","MATR_RIGI")
1344     renameMotCle(jdc,"MACRO_MODE_MECA","MATR_B","MATR_MASS")
1345     # Suppression des mot-clés FREQ_*
1346     renameMotCle(jdc,"MACRO_MODE_MECA","CALC_FREQ","CALCFREQ")
1347     moveMotCleFromFactToFather(jdc,"MACRO_MODE_MECA","CALCFREQ","FREQ_MIN")
1348     moveMotCleFromFactToFather(jdc,"MACRO_MODE_MECA","CALCFREQ","FREQ_MAX")
1349     fusionMotCleToFact(jdc,"MACRO_MODE_MECA",("FREQ_MIN","FREQ_MAX"),"FREQ")
1350     moveMotClefInOperToFact(jdc,"MACRO_MODE_MECA","FREQ","CALCFREQ",)
1351     renameMotCle(jdc,"MACRO_MODE_MECA","CALCFREQ","CALC_FREQ")
1352     removeMotCleInFact(jdc,"MACRO_MODE_MECA","CALC_FREQ","NB_BLOC_FREQ",pasDeRegle(),0)
1353     renameMotCleInFact(jdc,"MACRO_MODE_MECA","CALC_FREQ","STOP_FREQ_VIDE","STOP_BANDE_VIDE",pasDeRegle(),0)
1354     # Renommage critere de Sturm
1355     changementValeurDsMCF(jdc,"MACRO_MODE_MECA","VERI_MODE","STURM",{"OUI":"GLOBAL",})
1356  
1357     ####   traitement de MACRO_PROJ_BASE   ##############################
1358     renameMotCle(jdc,"MACRO_PROJ_BASE","PROFIL","STOCKAGE")
1359     # Renommage de la commande
1360     renameCommande(jdc,"MACRO_PROJ_BASE","PROJ_BASE", )
1361
1362     ####   traitement de MACR_RECAL   ##############################
1363     renameMotCle(jdc,"MACR_RECAL","POIDS","LIST_POIDS")
1364
1365     ####   traitement de MACR_SPECTRE   ##############################
1366     # Rien à faire
1367
1368     ####   traitement de MECA_STATIQUE   ##############################
1369     # Résorption de la sensibilité
1370     removeMotCle(jdc,"MECA_STATIQUE","SENSIBILITE",pasDeRegle(),0)
1371
1372     ####   traitement de MODE_ITER_INV   ##############################
1373     # Résorption de la sensibilité
1374     removeMotCle(jdc,"MODE_ITER_INV","SENSIBILITE",pasDeRegle(),0)
1375     # renommage de MATR_A, MATR_B et MATR_C
1376     renameMotCleSiRegle(jdc,"MODE_ITER_INV","MATR_A","MATR_RIGI",((("TYPE_RESU","DYNAMIQUE",jdc),"MCaPourValeur"),),1)
1377     renameMotCleSiRegle(jdc,"MODE_ITER_INV","MATR_B","MATR_MASS",((("TYPE_RESU","DYNAMIQUE",jdc),"MCaPourValeur"),),1)
1378     renameMotCle(jdc,"MODE_ITER_INV","MATR_C","MATR_AMOR")
1379     renameMotCleSiRegle(jdc,"MODE_ITER_INV","MATR_A","MATR_RIGI",((("TYPE_RESU","MODE_FLAMB",jdc),"MCaPourValeur"),),1)
1380     renameMotCleSiRegle(jdc,"MODE_ITER_INV","MATR_B","MATR_RIGI_GEOM",((("TYPE_RESU","MODE_FLAMB",jdc),"MCaPourValeur"),),1)
1381     renameMotCleSiRegle(jdc,"MODE_ITER_INV","CALC_FREQ","CALC_CHAR_CRIT",((("TYPE_RESU","MODE_FLAMB",jdc),"MCaPourValeur")or(("TYPE_RESU","GENERAL",jdc),"MCaPourValeur"),),1)
1382     renameMotCleInFact(jdc,"MODE_ITER_INV","CALC_CHAR_CRIT","NMAX_FREQ","NMAX_CHAR_CRIT",pasDeRegle(),0)
1383     renameMotCleInFact(jdc,"MODE_ITER_INV","CALC_CHAR_CRIT","SEUIL_FREQ","SEUIL_CHAR_CRIT",pasDeRegle(),0)
1384     renameMotCle(jdc,"MODE_ITER_INV","MATR_A","MATR_RIGI")
1385     renameMotCle(jdc,"MODE_ITER_INV","MATR_B","MATR_MASS")
1386
1387     ####   traitement de MODE_ITER_SIMULT   ##############################
1388     # Résorption de la sensibilité
1389     removeMotCle(jdc,"MODE_ITER_SIMULT","SENSIBILITE",pasDeRegle(),0)
1390     # renommage de MATR_A, MATR_B et MATR_C
1391     renameMotCleSiRegle(jdc,"MODE_ITER_SIMULT","MATR_A","MATR_RIGI",((("TYPE_RESU","DYNAMIQUE",jdc),"MCaPourValeur"),),1)
1392     renameMotCleSiRegle(jdc,"MODE_ITER_SIMULT","MATR_B","MATR_MASS",((("TYPE_RESU","DYNAMIQUE",jdc),"MCaPourValeur"),),1)
1393     renameMotCle(jdc,"MODE_ITER_SIMULT","MATR_C","MATR_AMOR")
1394     renameMotCleSiRegle(jdc,"MODE_ITER_SIMULT","MATR_A","MATR_RIGI",((("TYPE_RESU","MODE_FLAMB",jdc),"MCaPourValeur"),),1)
1395     renameMotCleSiRegle(jdc,"MODE_ITER_SIMULT","MATR_B","MATR_RIGI_GEOM",((("TYPE_RESU","MODE_FLAMB",jdc),"MCaPourValeur"),),1)
1396     renameMotCleSiRegle(jdc,"MODE_ITER_SIMULT","CALC_FREQ","CALC_CHAR_CRIT",((("TYPE_RESU","MODE_FLAMB",jdc),"MCaPourValeur")or(("TYPE_RESU","GENERAL",jdc),"MCaPourValeur"),),1)
1397     renameMotCleInFact(jdc,"MODE_ITER_SIMULT","CALC_CHAR_CRIT","NMAX_FREQ","NMAX_CHAR_CRIT",pasDeRegle(),0)
1398     renameMotCleInFact(jdc,"MODE_ITER_SIMULT","CALC_CHAR_CRIT","SEUIL_FREQ","SEUIL_CHAR_CRIT",pasDeRegle(),0)
1399     renameMotCle(jdc,"MODE_ITER_SIMULT","MATR_A","MATR_RIGI")
1400     renameMotCle(jdc,"MODE_ITER_SIMULT","MATR_B","MATR_MASS")
1401     # renommage STOP_FREQ_VIDE
1402     renameMotCle(jdc,"MODE_ITER_SIMULT","STOP_FREQ_VIDE","STOP_BANDE_VIDE")
1403
1404     ####   traitement de MODE_STATIQUE   ##############################
1405     # renommage du mot-clé FREQ
1406     renameMotCleInFact(jdc,"MODE_STATIQUE","MODE_INTERF","FREQ","SHIFT",pasDeRegle(),0)
1407
1408     ####   traitement de MODI_MODELE_XFEM   ##############################
1409     genereErreurValeur(jdc,"MODI_MODELE_XFEM","CONTACT",("'P1P1A'",))
1410
1411     ####   traitement de MODI_REPERE   ##############################
1412     # renommage de DEFI_REPERE
1413     renameMotCle(jdc,"MODI_REPERE","DEFI_REPERE","AFFE")
1414     moveMotCleFromFactToFather(jdc,"MODI_REPERE","AFFE","REPERE")
1415     # localisation dans AFFE
1416     moveMotClefInOperToFact(jdc,"MODI_REPERE","GROUP_MA","AFFE",)
1417     moveMotClefInOperToFact(jdc,"MODI_REPERE","GROUP_NO","AFFE",)
1418     moveMotClefInOperToFact(jdc,"MODI_REPERE","MAILLE","AFFE",)
1419     moveMotClefInOperToFact(jdc,"MODI_REPERE","NOEUD","AFFE",)
1420
1421     ####   traitement de NORM_MODE   ##############################
1422     removeMotCle(jdc,"NORM_MODE","SENSIBILITE",pasDeRegle(),0)
1423
1424     ####   traitement de NUME_DDL   ##############################
1425     # Rien à faire
1426
1427     ####   traitement de NUME_DDL_GENE   ##############################
1428     # Rien à faire
1429
1430     ####   traitement de OBSERVATION   ##############################
1431     # renommage de MATR_A et MATR_B
1432     renameMotCle(jdc,"OBSERVATION","MATR_A","MATR_RIGI")
1433     renameMotCle(jdc,"OBSERVATION","MATR_B","MATR_MASS")
1434
1435     ####   traitement de POST_BORDET   ##############################
1436     # Rien à faire
1437     
1438     ####   traitement de POST_CHAMP   ##############################
1439     # Rien à faire, n'existe pas en 10
1440
1441     ####   traitement de POST_CHAM_XFEM   ##############################
1442     # Suppression mot-clé MAILLAGE_SAIN
1443     removeMotCle(jdc,"POST_CHAM_XFEM","MAILLAGE_SAIN",pasDeRegle(),0)
1444
1445     ####   traitement de POST_COQUE   ##############################
1446     # Rien à faire
1447
1448     ####   traitement de POST_DECOLLEMENT   ##############################
1449     # Rien à faire
1450
1451     ####   traitement de POST_DYNA_ALEA   ##############################
1452     # Suppression du mot-clé NUME_VITE_FLUI
1453     removeMotCle(jdc,"POST_DYNA_ALEA","NUME_VITE_FLUI",pasDeRegle(),0)
1454
1455     ####   traitement de POST_ELEM   ##############################
1456     # Rien à faire
1457
1458     ####   traitement de POST_ENDO_FISS   ##############################
1459     # Suppression du mot-clé MODELE
1460     removeMotCle(jdc,"POST_ENDO_FISS","MODELE",pasDeRegle(),0)
1461     # Renommage de SEUIL
1462     renameMotCleInFact(jdc,"POST_ENDO_FISS","RECHERCHE","SEUIL","BORNE_MIN",pasDeRegle(),0)
1463
1464     ####   traitement de POST_FATIGUE   ##############################
1465     # Suppression du chargement periodique
1466     genereErreurValeur(jdc,"POST_FATIGUE","CHARGEMENT",("'PERIODIQUE'",))
1467
1468     ####   traitement de POST_GP   ##############################
1469     # Suppression de POST_GP au profit de CALC_GP
1470     genereErreurPourCommande(jdc,("POST_GP",))
1471
1472     ####   traitement de POST_K1_K2_K3   ##############################
1473     # Suppression de VECT_K1
1474     removeMotCle(jdc,"POST_K1_K2_K3","VECT_K1",pasDeRegle(),0)
1475     # Suppression de SYME_CHAR
1476     removeMotCle(jdc,"POST_K1_K2_K3","SYME_CHAR",pasDeRegle(),0)
1477     # Suppression de TABL_DEPL
1478     removeMotCle(jdc,"POST_K1_K2_K3","TABL_DEPL_SUP",pasDeRegle(),0)
1479     removeMotCle(jdc,"POST_K1_K2_K3","TABL_DEPL_INF",pasDeRegle(),0)
1480     # Suppression de MAILLAGE
1481     removeMotCle(jdc,"POST_K1_K2_K3","MAILLAGE",pasDeRegle(),0)
1482     # Suppression de DTAN
1483     removeMotCle(jdc,"POST_K1_K2_K3","DTAN_ORIG",pasDeRegle(),0)
1484     removeMotCle(jdc,"POST_K1_K2_K3","DTAN_EXTR",pasDeRegle(),0)
1485
1486     ####   traitement de POST_K_TRANS   ##############################
1487     # Suppression de la possibilité de donner un mode_meca
1488     genereErreurMotCleInFact(jdc,"POST_K_TRANS","K_MODAL","RESU_MODA")
1489
1490     ####   traitement de POST_MAC3COEUR   ##############################
1491     # Rien à faire, n'existe pas en 10
1492
1493     ####   traitement de POST_MAIL_XFEM   ##############################
1494     # Suppression du mot-clé MAILLAGE_SAIN
1495     removeMotCle(jdc,"POST_MAIL_XFEM","MAILLAGE_SAIN",pasDeRegle(),0)
1496
1497     ####   traitement de POST_RCCM   ##############################
1498     # Rien à faire
1499
1500     ####   traitement de POST_RELEVE_T   ##############################
1501     # Résorption de la sensibilité
1502     removeMotCle(jdc,"POST_RELEVE_T","SENSIBILITE",pasDeRegle(),0)
1503
1504     ####   traitement de POST_RUPTURE   ##############################
1505     # Rien à faire, n'existe pas en 10
1506
1507     ####   traitement de POST_USURE   ##############################
1508     # Rien à faire
1509
1510     ####   traitement de POURSUITE   ##############################
1511     # Suppression du mot-clé TITRE
1512     removeMotCleInFact(jdc,"POURSUITE","CATALOGUE","TITRE",pasDeRegle(),0)
1513     removeMotCle(jdc,"POURSUITE","IMPRESSION",pasDeRegle(),0)
1514     # Suppression des mots-clés mémoire dynamique
1515     removeMotCleInFact(jdc,"POURSUITE","MEMOIRE","GESTION",pasDeRegle(),0)
1516     removeMotCleInFact(jdc,"POURSUITE","MEMOIRE","TYPE_ALLOCATION",pasDeRegle(),0)
1517     removeMotCleInFact(jdc,"POURSUITE","MEMOIRE","TAILLE",pasDeRegle(),0)
1518     removeMotCleInFact(jdc,"POURSUITE","MEMOIRE","PARTITION",pasDeRegle(),0)
1519     removeMotCleInFact(jdc,"POURSUITE","MEMOIRE","DYNAMIQUE",pasDeRegle(),0)
1520
1521     ####   traitement de PROJ_BASE   ##############################
1522     # Suppression de RESU_GENE pour défaut de validation
1523     genereErreurMCF(jdc,"PROJ_BASE","RESU_GENE")
1524
1525     ####   traitement de PROJ_CHAMP   ##############################
1526     # Résorption de la sensibilité
1527     removeMotCle(jdc,"PROJ_CHAMP","SENSIBILITE",pasDeRegle(),0)
1528
1529     ####   traitement de PROJ_RESU_BASE   ##############################
1530     # Suppression de RESU_GENE pour défaut de validation
1531     genereErreurMCF(jdc,"PROJ_RESU_BASE","RESU_GENE")
1532
1533     ####   traitement de PROJ_SPEC_BASE   ##############################
1534     # Rien à faire
1535
1536     ####   traitement de PROPA_FISS   ##############################
1537     # Suppression de DTAN_ORIG et DTAN_EXTR pour calcul automatique
1538     removeMotCleInFact(jdc,"PROPA_FISS","FISSURE","DTAN_ORIG",pasDeRegle(),0)
1539     removeMotCleInFact(jdc,"PROPA_FISS","FISSURE","DTAN_EXTR",pasDeRegle(),0)
1540
1541     ####   traitement de PROPA_XFEM   ##############################
1542     # Suppression paramètres Loi de Paris
1543     removeMotCle(jdc,"PROPA_XFEM","NB_POINT_FOND",pasDeRegle(),0)
1544     removeMotCle(jdc,"PROPA_XFEM","TABLE",pasDeRegle(),0)
1545     removeMotCle(jdc,"PROPA_XFEM","LOI_PROPA",pasDeRegle(),0)
1546     removeMotCle(jdc,"PROPA_XFEM","COMP_LINE",pasDeRegle(),0)
1547
1548     ####   traitement de RAFF_XFEM   ##############################
1549     # Rien à faire
1550
1551     ####   traitement de RECU_FONCTION   ##############################
1552     # Résorption de la sensibilité
1553     removeMotCle(jdc,"RECU_FONCTION","SENSIBILITE",pasDeRegle(),0)
1554     # Renommage critere table
1555     dCRIT={"ABS_MAXI":"MAXI_ABS","ABS_MINI":"MINI_ABS"}
1556     changementValeurDsMCF(jdc,"RECU_FONCTION","FILTRE","CRIT_COMP",dCRIT)
1557
1558     ####   traitement de RECU_GENE   ##############################
1559     # Rien à faire
1560
1561     ####   traitement de RESOUDRE   ##############################
1562     # Suppression d'algo pour PETSc
1563     removeMotCleSiRegle(jdc,"RESOUDRE","ALGORITHME",((("BCGS","BICG","TFQMR",),"MCaPourValeur"),))
1564
1565     ####   traitement de REST_SPEC_PHYS   ##############################
1566     # Rien à faire
1567
1568     ####   traitement de SIMU_POINT_MAT   ##############################
1569     # VALE_REF obligatoire si NOM_VARC in ('TEMP', 'SECH')
1570     lNOMVARC=["CORR","IRRA","HYDR","EPSA","M_ACIER","M_ZIRC","NEUT1","NEUT2"]
1571     removeMotCleInFactSiRegle(jdc,"SIMU_POINT_MAT","AFFE_VARC","VALE_REF",((("NOM_VARC",lNOMVARC,jdc),"MCsousMCFcourantaPourValeurDansListe"),))
1572     # Suppression de ARCHIVAGE/DETR_NUME_SUIV
1573     removeMotCleInFact(jdc,"SIMU_POINT_MAT","ARCHIVAGE","DETR_NUME_SUIV",pasDeRegle(),0)
1574
1575     ####   traitement de STANLEY   ##############################
1576     # Rien à faire
1577
1578     ####   traitement de STAT_NON_LINE   ##############################
1579     # Renommage de IMPLEX
1580     changementValeur(jdc,"STAT_NON_LINE","METHODE",{"IMPL_EX":"IMPLEX"})
1581     removeMotCle(jdc,"STAT_NON_LINE","IMPL_EX",pasDeRegle(),0)
1582     # Renommage CRIT_FLAMB en CRIT_STAB
1583     renameMotCle(jdc,"STAT_NON_LINE","CRIT_FLAMB","CRIT_STAB")
1584     # Résorption de la sensibilité
1585     removeMotCle(jdc,"STAT_NON_LINE","SENSIBILITE",pasDeRegle(),0)
1586     # Déplacement du calcul d'erreur en temps ERRE_TEMPS
1587     chercheOperInsereFacteurSiRegle(jdc,"STAT_NON_LINE","CRIT_QUALITE",((("INCREMENT","ERRE_TEMPS"),"existeMCsousMCF"),),1)
1588     moveMotCleFromFactToFact(jdc,"STAT_NON_LINE","INCREMENT","ERRE_TEMPS","CRIT_QUALITE")
1589     renameMotCleInFact(jdc,"STAT_NON_LINE","CRIT_QUALITE","ERRE_TEMPS","ERRE_TEMPS_THM",pasDeRegle(),0)
1590     removeMotCleInFact(jdc,"STAT_NON_LINE","INCREMENT","ERRE_TEMPS",pasDeRegle(),0)
1591     # Suppression de ARCHIVAGE/DETR_NUME_SUIV
1592     removeMotCleInFact(jdc,"STAT_NON_LINE","ARCHIVAGE","DETR_NUME_SUIV",pasDeRegle(),0)
1593
1594     ####   traitement de THER_LINEAIRE   ##############################
1595     # Résorption de la sensibilité
1596     removeMotCle(jdc,"THER_LINEAIRE","SENSIBILITE",pasDeRegle(),0)
1597     removeMotCle(jdc,"THER_LINEAIRE","SENS_INIT",pasDeRegle(),0)
1598     # Suppression de ARCHIVAGE/DETR_NUME_SUIV
1599     removeMotCleInFact(jdc,"THER_LINEAIRE","ARCHIVAGE","DETR_NUME_SUIV",pasDeRegle(),0)
1600
1601     ####   traitement de THER_NON_LINE   ##############################
1602     # Résorption de la sensibilité
1603     removeMotCle(jdc,"THER_NON_LINE","SENSIBILITE",pasDeRegle(),0)
1604     # Suppression du mot clé OPTION   ######################################
1605     moveMCFToCommand(jdc,"THER_NON_LINE","OPTION","CALC_CHAMP","THERMIQUE")
1606     # Suppression de ARCHIVAGE/DETR_NUME_SUIV
1607     removeMotCleInFact(jdc,"THER_NON_LINE","ARCHIVAGE","DETR_NUME_SUIV",pasDeRegle(),0)
1608
1609     ####   traitement de THER_NON_LINE_MO   ##############################
1610     # Rien à faire
1611
1612     #################################################################
1613     f=open(outfile,'w')
1614     f.write(jdc.getSource())
1615     f.close()
1616
1617     log.ferme(hdlr)
1618
1619 def main():
1620     parser = optparse.Optionparser(usage=usage)
1621
1622     parser.add_option('-i','--infile', dest="infile", default='toto.comm',
1623         help="Le fichier à traduire")
1624     parser.add_option('-o','--outfile', dest="outfile", default='tutu.comm',
1625         help="Le fichier traduit")
1626
1627     options, args = parser.parse_args()
1628     traduc(options.infile,options.outfile)
1629
1630 if __name__ == '__main__':
1631     main()