--- /dev/null
+Dico = {'ASSIMILATION_STUDY': {'ObservationError': {'INPUT_TYPE': None, 'ScalarSparseMatrix': {'data': {'FROM': None, 'STRING_DATA': {'STRING': None}}}}, 'Observation': {'INPUT_TYPE': None, 'Vector': {'data': {'FROM': 'String', 'STRING_DATA': {'STRING': '22'}}}}, 'BackgroundError': {'INPUT_TYPE': 'DiagonalSparseMatrix', 'DiagonalSparseMatrix': {'data': {'FROM': 'String', 'STRING_DATA': {'STRING': 'prefs.py'}}}}, 'ObservationOperator': {'Function': {'data': {'SCRIPTWITHONEFUNCTION_DATA': {'CenteredFiniteDifference': None, 'SCRIPTWITHONEFUNCTION_FILE': None, 'DifferentialIncrement': None}, 'FROM': None}}, 'INPUT_TYPE': None}, 'UserPostAnalysis': {'TEMPLATE_DATA': {'AnalysisPrinter': {'ValueTemplate': None}, 'Template': None}, 'FROM': None}, 'StudyName': None, 'Background': {'INPUT_TYPE': None, 'Vector': {'data': {'FROM': 'String', 'STRING_DATA': {'STRING': 'prefs.py'}}}}, 'AlgorithmParameters': {'Algorithm': '4DVAR'}}}
\ No newline at end of file
# Classe de base permettant de lire, afficher
# et sauvegarder les fichiers utilisateurs
-class CONFIG(configuration.CONFIG_BASE):
+class CONFIG(configuration.configBase):
def __init__(self,appli,repIni):
self.labels_eficas=['lang','rep_cata','catalogues','closeAutreCommande','closeFrameRechercheCommande','closeEntete','taille']
- configuration.CONFIG_BASE.__init__(self,appli,repIni)
+ configuration.configBase.__init__(self,appli,repIni)
self.rep_user = os.environ["HOME"]
self.appli = appli
#self.catalogues = (("ADAO", "V0", os.path.join(self.rep_ini, 'ADAO_Cata_V0.py'), "adao"),)
def make_config(appli,rep):
-
return CONFIG(appli,rep)
-def make_config_style(appli,rep):
-
- return None
catalogues = (
# ('Adao','V1',os.path.join(repIni,'ADAO_Cata_V1.py'),'python','python'),
# ('Adao','V770',os.path.join(repIni,'ADAO_Cata_V0_V7_7_0.py'),'python','python'),
- ('Adao','V83',os.path.join(repIni,'ADAO_Cata_V0_V8_3_0_DEV.py'),'dico','python'),
+# ('Adao','V83',os.path.join(repIni,'ADAO_Cata_V0_V8_3_0_DEV.py'),'dicoImbrique','dico'),
+# ('Adao','dico',os.path.join(repIni,'ADAO_Cata_V0_V8_3_0_DEV.py'),'dico','dico'),
+ ('Adao','V83',os.path.join(repIni,'ADAO_Cata_V0_V8_3_0_DEV.py'),'python','python'),
# ('Adao','V751',os.path.join(repIni,'ADAO_Cata_V0_V7_5_1.py'),'python','python'),
)
translatorFichier = os.path.join(repIni,'Adao')
nombreDeBoutonParLigne=1
-
import re # module interne utilisé pour vérifier la validité du nom du maillage
-concept_re=re.compile(r'[a-zA-Z_]\w*$') # nom de maillage valide s'il correspond à un identifiant (variable) Python possible. Basé sur Ihm/I_Etape.py:nomme_sd, qui fait foi
+concept_re=re.compile(r'[a-zA-Z_]\w*$') # nom de maillage valide s'il correspond à un identifiant (variable) Python possible. Basé sur Ihm/I_Etape.py:nommeSd, qui fait foi
def handleAjoutGroupSansFiltre(editor,listeGroup):
"""code_Carmel temporel : obtention des groupes de maille du maillage selectionne dans Salome
if dernier != None:
new_node = dernier.append_brother("MESHGROUP",'after')
else:
- new_node=editor.tree.racine.append_child("MESHGROUP",pos='first')
- test,mess = new_node.item.nomme_sd(groupe) # precision du nom (de concept) du groupe
+ new_node=editor.tree.racine.appendChild("MESHGROUP",pos='first')
+ test,mess = new_node.item.nommeSd(groupe) # precision du nom (de concept) du groupe
if debug: print u"ce nom de groupe ("+groupe+") est utilise..."
dernier=new_node # mise a jour du dernier noeud du JdC, afin de rajouter les autres MESH_GROUPE eventuels a sa suite
except:
if dernier != None:
new_node = dernier.append_brother("MESHGROUP",'after')
else:
- new_node=editor.tree.racine.append_child("MESHGROUP",pos='first')
- test,mess = new_node.item.nomme_sd(nomReel) # precision du nom (de concept) du groupe
+ new_node=editor.tree.racine.appendChild("MESHGROUP",pos='first')
+ test,mess = new_node.item.nommeSd(nomReel) # precision du nom (de concept) du groupe
if debug: print u"ce nom de groupe ("+nomReel+") est utilise..."
if prefix in listePrefixesMateriaux: # ce groupe est associe a un materiau
- new_node.append_child('MATERIAL') # on rajoute la propriete de materiau, qu'il suffit d'associer ensuite a la liste des materiaux presents
+ new_node.appendChild('MATERIAL') # on rajoute la propriete de materiau, qu'il suffit d'associer ensuite a la liste des materiaux presents
if debug: print u" et c'est un materiau."
elif prefix in listePrefixesSourcesHorsInducteur: # ce groupe est associe a une source
- new_node.append_child('SOURCE') # on rajoute la propriete de la source, qu'il suffit d'associer ensuite a la liste des sources presentes
+ new_node.appendChild('SOURCE') # on rajoute la propriete de la source, qu'il suffit d'associer ensuite a la liste des sources presentes
if debug: print u" et c'est une source."
elif prefix in listePrefixesInducteurBobine: # ce groupe est associe a une source
- new_node.append_child('STRANDED_INDUCTOR_GEOMETRY') # on rajoute la propriete de géométrie de l'inducteur bobiné
+ new_node.appendChild('STRANDED_INDUCTOR_GEOMETRY') # on rajoute la propriete de géométrie de l'inducteur bobiné
if debug: print u" et c'est un inducteur bobine dont on definit la geometrie."
if nom not in dictGroupesMultiples.keys(): # il ne fait pas partie d'un macro-groupe. La source est définie ici, ainsi que le domaine.
- new_node.append_child('SOURCE') # on rajoute la propriete de la source, qu'il suffit d'associer ensuite a la liste des sources presentes
- new_node.append_child('Domaine') # on rajoute la propriete du domaine (default automatique), qu'il suffit d'associer ensuite a la liste des domaines présents
+ new_node.appendChild('SOURCE') # on rajoute la propriete de la source, qu'il suffit d'associer ensuite a la liste des sources presentes
+ new_node.appendChild('Domaine') # on rajoute la propriete du domaine (default automatique), qu'il suffit d'associer ensuite a la liste des domaines présents
if debug: print u" et c'est une source en un seul morceau."
else: # ce cas ne devrait pas se produire
pass
if dernier != None:
new_node = dernier.append_brother("MACRO_GROUPE",'after')
else:
- new_node=editor.tree.racine.append_child("MACRO_GROUPE",pos='first')
- test,mess = new_node.item.nomme_sd(nomReel) # precision du nom (de concept) du groupe
+ new_node=editor.tree.racine.appendChild("MACRO_GROUPE",pos='first')
+ test,mess = new_node.item.nommeSd(nomReel) # precision du nom (de concept) du groupe
if debug: print u"ce nom de groupe ("+nomReel+") est utilise..."
if debug: print u" et on ajoute la liste LISTE_MESHGROUP."
- node_list=new_node.append_child('LISTE_MESHGROUP') # Ajout de la liste des membres du groupe multiple
+ node_list=new_node.appendChild('LISTE_MESHGROUP') # Ajout de la liste des membres du groupe multiple
if debug:
print 'Liste possible pour LISTE_MESHGROUP :'
print '_____________________'
- print node_list.item.get_liste_possible(())
+ print node_list.item.getListePossible(())
print '_____________________'
print dir(node_list.item)
- listeNom=node_list.item.get_sd_avant_du_bon_type()
+ listeNom=node_list.item.getSdAvantDuBonType()
listeObjet=[]
for nom in listeNom:
if nom in dictGroupesMultiples[groupe]['membres']:
#--> transformation du nom en objet
- obj,valide=node_list.item.eval_valeur(nom)
+ obj,valide=node_list.item.evalValeur(nom)
listeObjet.append(obj)
- node_list.item.set_valeur(listeObjet)
+ node_list.item.setValeur(listeObjet)
node_list.affichePanneau()
if prefix in listePrefixesMateriaux: # ce groupe est associe a un materiau
- new_node.append_child('MATERIAL') # on rajoute la propriete de materiau, qu'il suffit d'associer ensuite a la liste des materiaux presents
+ new_node.appendChild('MATERIAL') # on rajoute la propriete de materiau, qu'il suffit d'associer ensuite a la liste des materiaux presents
if debug: print u" et c'est un materiau."
elif prefix in listePrefixesSourcesHorsInducteur: # ce groupe est associe a une source
- new_node.append_child('SOURCE') # on rajoute la propriete de la source, qu'il suffit d'associer ensuite a la liste des sources presentes
+ new_node.appendChild('SOURCE') # on rajoute la propriete de la source, qu'il suffit d'associer ensuite a la liste des sources presentes
if debug: print u" et c'est une source hors inducteur."
elif prefix in listePrefixesInducteurBobine: # ce groupe est associe a une source
- new_node.append_child('SOURCE') # on rajoute la propriete de la source, qu'il suffit d'associer ensuite a la liste des sources presentes
- new_node.append_child('Domaine') # on rajoute la propriete du domaine (default automatique), qu'il suffit d'associer ensuite a la liste des domaines présents
+ new_node.appendChild('SOURCE') # on rajoute la propriete de la source, qu'il suffit d'associer ensuite a la liste des sources presentes
+ new_node.appendChild('Domaine') # on rajoute la propriete du domaine (default automatique), qu'il suffit d'associer ensuite a la liste des domaines présents
if debug: print u" et c'est une source inducteur."
elif prefix in listePrefixesTrous: # ce groupe est associe a un trou
- new_node.append_child('Domaine') # on rajoute la propriete du domaine (default automatique), qu'il suffit d'associer ensuite a la liste des domaines présents
+ new_node.appendChild('Domaine') # on rajoute la propriete du domaine (default automatique), qu'il suffit d'associer ensuite a la liste des domaines présents
if debug: print u" et c'est un trou."
else: # ce cas ne devrait pas se produire
pass
#listeGroup= ['BBK_bobine', 'CURRENT_ind_2', 'DIEL_air', 'CURRENT_ind_8', 'CURRENT_ind_6', 'CURRENT_ind_1', 'CURRENT_ind_3', 'CURRENT_ind_7', 'CURRENT_ind_5', 'CURRENT_ind_4', 'BBK_topo', 'COND_plaque', 'TOPO_trou_1', 'TOPO_trou_3', 'TOPO_trou_2', 'TOPO_trou_8', 'TOPO_trou_4', 'TOPO_trou_7', 'TOPO_trou_5', 'TOPO_trou_6'] # cas-test T.E.A.M. Workshop 7
if debug:
print "listeGroup=", listeGroup
- version_catalogue = editor.CONFIGURATION.appli.readercata.version_code # détermination si le catalogue est fréquentiel ou temporel, d'après la deuxième entrée de la liste catalogues dans prefs_CARMEL3D.py
+ version_catalogue = editor.maConfiguration.appli.readercata.version_code # détermination si le catalogue est fréquentiel ou temporel, d'après la deuxième entrée de la liste catalogues dans prefs_CARMEL3D.py
if debug:
print "Version catalogue=", version_catalogue
type_code = version_catalogue.split(' ')[0] # on garde le premier mot de la version du catalogue : 'frequentiel' ou 'temporel'
import os\r
\r
\r
-class CONFIG(configuration.CONFIG_BASE):\r
+class CONFIG(configuration.configBase):\r
\r
#-----------------------------------\r
def __init__(self,appli,repIni):\r
self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues']\r
\r
self.INSTALLDIR =os.path.dirname(__file__)\r
- configuration.CONFIG_BASE.__init__(self,appli,repIni)\r
+ configuration.configBase.__init__(self,appli,repIni)\r
\r
\r
def make_config(appli,rep):\r
delattr(self,'change_fichier')
delattr(self,'fichier_ini')
- self.make_includeCarmel(fichier=FileName)
+ self.makeIncludeCarmel(fichier=FileName)
def INCLUDE_context(self,d):
"""
#@ MODIF properties Accas DATE 02/06/2010 AUTEUR aster M.ADMINISTRATEUR
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# RESPONSABLE D6BHHHH J-P.LEFEBVRE
# ======================================================================
# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
def getVal(self):
""" Retourne le nom de la valeur de l'objet pointe par self dans le cas
ou celle-ci est un objet (ASSD) """
- return self.object.getval()
+ return self.object.getVal()
def get_definition(self):
"""
presents ne doivent plus etre proposes, regles ...)"""
return self.object.getListeMcOrdonnee(liste,dico)
- def getListeMcOrdonnee_brute(self,liste,dico):
+ def getListeMcOrdonneeBrute(self,liste,dico):
"""
retourne la liste ordonnee (suivant le catalogue) BRUTE des mots-cles
d'une entite composee dont le chemin complet est donne sous forme
d'une liste du type :ETAPE + MCFACT ou MCBLOC + ...
"""
- return self.object.getListeMcOrdonnee_brute(liste,dico)
+ return self.object.getListeMcOrdonneeBrute(liste,dico)
def getGenealogie(self):
"""
"""
return self.object.getGenealogie()
- def getIndex_child(self,nom_fils):
+ def getIndexChild(self,nom_fils):
"""
Retourne l'index dans la liste des fils de self du nouveau fils de nom nom_fils
Necessaire pour savoir a quelle position dans la liste des fils il faut ajouter
le nouveau mot-cle
"""
- return self.object.getIndex_child(nom_fils)
+ return self.object.getIndexChild(nom_fils)
- def getIndex_child_old(self,nom_fils):
+ def getIndexChild_old(self,nom_fils):
"""
Retourne l'index dans la liste des fils de self du nouveau fils de nom nom_fils
Necessaire pour savoir a quelle position dans la liste des fils il faut ajouter
le nouveau mot-cle
"""
- liste_noms_mc_ordonnee = self.getListeMcOrdonnee_brute(self.getGenealogie(),self.getJdc().cata_ordonne_dico)
+ liste_noms_mc_ordonnee = self.getListeMcOrdonneeBrute(self.getGenealogie(),self.getJdc().cata_ordonne_dico)
liste_noms_mc_presents = self.object.listeMcPresents()
l=[]
for nom in liste_noms_mc_ordonnee:
# pos est un item. Il faut inserer name apres pos
index = self.getIndex(pos) +1
elif type(name) == types.InstanceType:
- index = self.getIndex_child(name.nom)
+ index = self.getIndexChild(name.nom)
else:
- index = self.getIndex_child(name)
+ index = self.getIndexChild(name)
return self.addobject(name,index)
def appendBrother(self,name,pos='after'):
Le deuxieme bb est un jeu de commandes simple.
Le troisieme est decrit dans le fichier ff de type .ini
-qui est parse par le module ConfigParser.
+qui est parse par le module Configparser.
Chaque section du fichier decrit un jeu de commandes.
Un include est specifie par: numero logique=nom du fichier
Une poursuite est specifiee par: poursuite=reference a un jeu de commande
parser : objet analyseur de la ligne de commande
fich : nom du fichier .ini en cours d'analyse
- config : objet de la classe ConfigParser permettant de parser le fichier fich
+ config : objet de la classe Configparser permettant de parser le fichier fich
jdc : nom de la section du fichier fich a analyser
"""
d_study={}
if not hasattr(parser.values,"studies"):
parser.values.studies=[]
parser.values.comm=[]
- config = six.moves.configparser.ConfigParser()
+ config = six.moves.configparser.configparser()
config.read([fich])
if not config.has_option(u"jdc","jdc"):
raise OptionValueError(tr(" jdc %s manque option jdc dans section jdc", str(fich)))
print((tr("nom etude : %s", study["comm"])))
print_pours(study,dec="++")
-def createParser():
+def createparser():
# creation du parser des options de la ligne de commande
#import prefs
parser=optparse.OptionParser(usage=tr("utilisation : %prog [options]"), version="%prog 1.13")
return parser
def parse(args):
- parser=createParser()
+ parser=createparser()
(options,args)=parser.parse_args(args[1:])
if not hasattr(options,"studies"):
options.studies=[]
context_ini = self.jdc.getContexte_avant(self)
try:
# on essaie de creer un objet JDC...
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
if re.search('Fin Commentaire',self.valeur) :
self.valeur=self.valeur.replace('Fin Commentaire','')
J=self.jdc.__class__(procedure=self.valeur,
def addEntite(self,name,pos_rel):
self.editmode = 1
try :
- pos_abs=self.jdc.get_nb_etapes_avant(self)+pos_rel
+ pos_abs=self.jdc.getNbEtapesAvant(self)+pos_rel
cmd = self.jdc.addEntite(name,pos_abs)
self.etapes.insert(pos_rel,cmd)
self.editmode = 0
# Il existe un autre concept de meme nom produit par une etape apres self
# on detruit ce concept pour pouvoir inserer les etapes du jdc_include
if sd.etape:
- sd.etape.supprime_sdprod(sd)
+ sd.etape.supprimeSdprod(sd)
return contexte
return JDC.getListeCmd(self)
return self.jdc_pere.getListeCmd()
- def get_groups(self):
+ def getGroups(self):
"""
Retourne la liste des commandes du catalogue par groupes
"""
if self.jdc_pere is None:
- return JDC.get_groups(self)
- return self.jdc_pere.get_groups()
+ return JDC.getGroups(self)
+ return self.jdc_pere.getGroups()
def initModif(self):
"""
Attention : initModif doit etre appele avant de realiser une modification
La validite devra etre recalculee apres cette modification
- mais par un appel a fin_modif pour preserver l'etat modified
+ mais par un appel a finModif pour preserver l'etat modified
de tous les objets entre temps
"""
#print "jdc_include.initModif",self,self.etape_include
if self.etape_include:
self.etape_include.initModif()
- def fin_modif(self):
+ def finModif(self):
"""
Methode appelee une fois qu'une modification a ete faite afin de
declencher d'eventuels traitements post-modification
ex : INCLUDE et POURSUITE
"""
- #print "jdc_include.fin_modif",self,self.etape_include
+ #print "jdc_include.finModif",self,self.etape_include
CONNECTOR.Emit(self,"valid")
if self.etape_include:
- self.etape_include.fin_modif()
+ self.etape_include.finModif()
def supprime(self):
"""
if self.etape_include:
self.etape_include.parent.replaceConceptAfterEtape(self.etape_include,old_sd,sd)
- def changefichier(self,fichier):
+ def changeFichier(self,fichier):
if self.etape_include:
self.etape_include.fichier_ini=fichier
- self.fin_modif()
+ self.finModif()
def controlContextApres(self,etape):
"""
"""
#print "jdc_include.controlContextApres",self,etape
#Regularise les etapes du jdc apres l'etape etape
- self.control_jdc_context_apres(etape)
+ self.controlJdcContextApres(etape)
if self.etape_include:
#print "CONTROL_INCLUDE:",self.etape_include,self.etape_include.nom
# il existe un jdc pere. On propage la regularisation
if type(val) == bytes:
# on tente l'evaluation dans un contexte fourni par le parent s'il existe
if self.parent:
- valeur=self.parent.eval_in_context(val,self)
+ valeur=self.parent.evalInContext(val,self)
else:
try :
valeur = eval(val)
"""
self.initModif()
self.nom=new_nom
- self.fin_modif()
+ self.finModif()
def initModif(self):
"""
"""
Enregistre le parametre dans la liste des etapes de son parent (JDC)
"""
- self.parent.register_parametre(self)
+ self.parent.registerParametre(self)
self.parent.register(self)
def isValid(self,cr='non'):
"""
self.actif = 1
try:
- self.jdc.append_param(self)
+ self.jdc.appendParam(self)
except:
pass
CONNECTOR.Emit(self,"add",None)
Il faut supprimer le parametre du contexte global du JDC
"""
self.actif = 0
- self.jdc.del_param(self)
+ self.jdc.delParam(self)
self.jdc.deleteConceptAfterEtape(self,self)
CONNECTOR.Emit(self,"supp",None)
CONNECTOR.Emit(self,"valid")
Il faut supprimer le parametre qui a ete entre dans la liste des
parametres du JDC
"""
- self.jdc.delete_param(self)
+ self.jdc.deleteParam(self)
self.parent.deleteConcept(self)
def updateContext(self,d):
formule=(self.nom,'',None,exp_eval)
# on recupere la liste des constantes et des autres fonctions predefinies
# et qui peuvent etre utilisees dans le corps de la formule courante
- l_ctes,l_form = self.jdc.get_parametres_fonctions_avant_etape(self)
+ l_ctes,l_form = self.jdc.getParametresFonctionsAvantEtape(self)
# on cree un objet verificateur
verificateur = interpreteur_formule.Interpreteur_Formule(formule=formule,
constantes = l_ctes,
if len(nom) > 8 :
if cr == 'oui' : self.cr.fatal(tr("Un nom de parametre ne peut depasser 8 caracteres"))
return 0,"Un nom de parametre ne peut depasser 8 caracteres"
- sd = self.parent.get_sd_autour_etape(nom,self)
+ sd = self.parent.getSdAutourEtape(nom,self)
if sd :
if cr == 'oui' : self.cr.fatal(tr("Un concept de nom %s existe deja !"), nom)
return 0,"Un concept de nom %s existe deja !" %nom
return text,boolOK
- def gettext(self):
+ def getText(self):
text = "Regle de classement "' :\n'
for mc in self.listeAvant :
text = text + mc + ', '
import six
class A_CLASSER(I_REGLE.REGLE):
- def gettext(self):
+ def getText(self):
text = 'Regle ' + self.__class__.__name__+ ' :\n'
t=" D'abord :\n"+' '*8
for arg in self.args0:
_no=0
import Accas
-def number_entite(entite):
+def numberEntite(entite):
"""
Fonction qui attribue un numero unique a tous les objets du catalogue
Ce numero permet de conserver l'ordre des objets
class ENTITE:
def __init__(self):
- number_entite(self)
+ numberEntite(self)
def getDocu(self):
if hasattr(self,'docu') :
else:
return None
- def get_sug(self):
+ def getSug(self):
if hasattr(self,'sug') :
if self.sug != "" : return self.sug
return None
- def check_definition(self, parent):
+ def checkDefinition(self, parent):
"""Verifie la definition d'un objet composite (commande, fact, bloc)."""
args = self.entites.copy()
mcs = set()
#if val.max != 1 and val.type == 'TXM':
#print "#CMD", parent, nom
elif val.label == 'FACT':
- val.check_definition(parent)
+ val.checkDefinition(parent)
#PNPNPN surcharge
# CALC_SPEC !
#assert self.label != 'FACT', \
# seuls les blocs peuvent entrer en conflit avec les mcs du plus haut niveau
for nom, val in args.items():
if val.label == 'BLOC':
- mcbloc = val.check_definition(parent)
+ mcbloc = val.checkDefinition(parent)
#XXX
#print "#BLOC", parent, re.sub('\s+', ' ', val.condition)
#assert mcs.isdisjoint(mcbloc), "Commande %s : Mot(s)-clef(s) vu(s) plusieurs fois : %s" \
doc=ET.SubElement(moi,'doc')
doc.attrib=dico
- if ((self.get_sug() !=None) or \
+ if ((self.getSug() !=None) or \
(hasattr(self,'defaut') and (self.defaut != None) and (self.defaut != 'None'))) :
# il faut ajouter des sug dans le catalogue
# les attributs sont toujours du texte
if (self.defaut != None) and (self.defaut != 'None') :
if isinstance(self.defaut,str ) : dico["defaut"]=six.text_type(self.defaut,"iso-8859-1")
else :dico["defaut"]=str(self.defaut)
- if self.get_sug() !=None:
- if isinstance(self.get_sug(),str ) : dico["sug"]=six.text_type(self.get_sug(),"iso-8859-1")
- else :dico["sug"]=str(self.get_sug())
+ if self.getSug() !=None:
+ if isinstance(self.getSug(),str ) : dico["sug"]=six.text_type(self.getSug(),"iso-8859-1")
+ else :dico["sug"]=str(self.getSug())
doc=ET.SubElement(moi,'ValeurDef')
doc.attrib=dico
# Objet re pour controler les identificateurs Python
concept_re=re.compile(r'[a-zA-Z_]\w*$')
-# import rajoute suite a l'ajout de Build_sd --> a resorber
+# import rajoute suite a l'ajout de buildSd --> a resorber
import traceback
import Noyau
from Noyau import N_Exception
def ident(self):
return self.nom
- def get_sdname(self):
+ def getSdname(self):
#print "SDNAME ",self.reuse,self.sd,self.sd.get_name()
if CONTEXT.debug :
print(("SDNAME ", self.reuse, self.sd, self.sd.get_name()))
"""
# initModif doit etre appele avant de realiser une modification
# La validite devra etre recalculee apres cette modification
- # mais dans l'appel a fin_modif pour preserver l'etat modified
+ # mais dans l'appel a finModif pour preserver l'etat modified
# de tous les objets entre temps
#print "initModif",self,self.parent
self.state = 'modified'
if self.parent:
self.parent.initModif()
- def fin_modif(self):
+ def finModif(self):
"""
Methode appelee une fois qu'une modification a ete faite afin de
declencher d'eventuels traitements post-modification
"""
CONNECTOR.Emit(self,"valid")
if self.parent:
- self.parent.fin_modif()
+ self.parent.finModif()
def nommeSd(self,nom) :
"""
# Cas particulier des operateurs obligatoirement reentrants
#
if self.definition.reentrant == 'o':
- self.sd = self.reuse = self.jdc.get_sd_avant_etape(nom,self)
+ self.sd = self.reuse = self.jdc.getSdAvantEtape(nom,self)
if self.sd != None :
self.sdnom=self.sd.nom
- self.fin_modif()
+ self.finModif()
return 1, tr("Concept existant")
else:
return 0, tr("Operateur reentrant mais concept non existant")
#
old_reuse=None
if self.definition.reentrant == 'f' :
- sd = self.jdc.get_sd_avant_etape(nom,self)
+ sd = self.jdc.getSdAvantEtape(nom,self)
if sd != None :
if isinstance(sd,self.getType_produit()) :
self.sd = self.reuse = sd
self.sdnom = sd.nom
- self.fin_modif()
+ self.finModif()
return 1, tr("Operateur reentrant et concept existant trouve")
else:
return 0, tr("Concept deja existant et de mauvais type")
#
if self.sd == None :
#Pas de concept produit preexistant
- if self.parent.get_sd_autour_etape(nom,self):
+ if self.parent.getSdAutourEtape(nom,self):
# Un concept de ce nom existe dans le voisinage de l'etape courante
# On retablit l'ancien concept reentrant s'il existait
if old_reuse:
self.sd.nom = nom
self.sdnom=nom
self.parent.updateConceptAfterEtape(self,self.sd)
- self.fin_modif()
+ self.finModif()
return 1, tr("Nommage du concept effectue")
except:
return 0, tr("Nommage impossible %s", str(sys.exc_info()[1]))
# Dans le cas ou old_nom == sansnom, isValid retourne 0 alors que ...
# par contre si le concept existe et qu'il s'appelle sansnom c'est que l'etape est valide
# on peut donc le nommer sans test prealable
- if self.parent.get_sd_autour_etape(nom,self):
+ if self.parent.getSdAutourEtape(nom,self):
return 0, tr("Nommage du concept refuse : un concept de meme nom existe deja")
else:
# Renommage du concept : Il suffit de changer son attribut nom pour le nommer
self.sd.nom=nom
self.sdnom=nom
self.parent.updateConceptAfterEtape(self,self.sd)
- self.fin_modif()
+ self.finModif()
return 1, tr("Nommage du concept effectue")
if self.isValid() :
# Normalement l appel de isValid a mis a jour le concept produit (son type)
# Il suffit de specifier l attribut nom de sd pour le nommer si le nom n est pas
# deja attribue
- if self.parent.get_sd_autour_etape(nom,self):
+ if self.parent.getSdAutourEtape(nom,self):
return 0, tr("Nommage du concept refuse : un concept de meme nom existe deja")
else:
# Renommage du concept : Il suffit de changer son attribut nom pour le nommer
self.sd.nom=nom
self.sdnom=nom
self.parent.updateConceptAfterEtape(self,self.sd)
- self.fin_modif()
+ self.finModif()
return 1, tr("Nommage du concept effectue")
else:
# Normalement on ne devrait pas passer ici
self.initModif()
if self.sd :
try:
- self.jdc.append_sdprod(self.sd)
+ self.jdc.appendSdProd(self.sd)
except:
pass
CONNECTOR.Emit(self,"add",None)
self.actif = 0
self.initModif()
if self.sd :
- self.jdc.del_sdprod(self.sd)
+ self.jdc.delSdprod(self.sd)
self.jdc.deleteConceptAfterEtape(self,self.sd)
CONNECTOR.Emit(self,"supp",None)
CONNECTOR.Emit(self,"valid")
self.sd=self.reuse=self.sdnom=None
#supprime les references a sd dans les etapes suivantes
self.parent.deleteConceptAfterEtape(self,sd)
- self.fin_modif()
+ self.finModif()
- def supprime_sdprod(self,sd):
+ def supprimeSdprod(self,sd):
"""
Supprime le concept produit sd s'il est produit par l'etape
"""
if sd is not self.sd:return
if self.sd != None :
self.initModif()
- self.parent.del_sdprod(sd)
+ self.parent.delSdprod(sd)
self.sd=None
- self.fin_modif()
+ self.finModif()
self.parent.deleteConcept(sd)
def supprimeSdProds(self):
# le concept retourne par l'etape est a supprimer car il etait
# cree par l'etape
if self.sd != None :
- self.parent.del_sdprod(self.sd)
+ self.parent.delSdprod(self.sd)
self.parent.deleteConcept(self.sd)
def close(self):
l_noms.sort()
return l_noms
- def getGenealogie_precise(self):
+ def getGenealogiePrecise(self):
return [self.nom]
def getGenealogie(self):
for motcle in self.mc_liste :
motcle.verifExistenceSd()
- def update_mc_global(self):
+ def updateMcGlobal(self):
"""
Met a jour les mots cles globaux enregistres dans l'etape
et dans le jdc parent.
des mots cles globaux.
"""
self.mc_globaux={}
- I_MCCOMPO.MCCOMPO.update_mc_global(self)
+ I_MCCOMPO.MCCOMPO.updateMcGlobal(self)
def updateConditionBloc(self):
"""
#ATTENTION SURCHARGE: a garder en synchro ou a reintegrer dans le Noyau
- def Build_sd(self,nom):
+ def buildSd(self,nom):
"""
Methode de Noyau surchargee pour poursuivre malgre tout
si une erreur se produit pendant la creation du concept produit
"""
try:
- sd=Noyau.N_ETAPE.ETAPE.Build_sd(self,nom)
+ sd=Noyau.N_ETAPE.ETAPE.buildSd(self,nom)
except AsException as e :
# Une erreur s'est produite lors de la construction du concept
# Comme on est dans EFICAS, on essaie de poursuivre quand meme
return self.sd
#ATTENTION SURCHARGE: cette methode doit etre gardee en synchronisation avec Noyau
- def make_register(self):
+ def makeRegister(self):
"""
Initialise les attributs jdc, id, niveau et realise les
enregistrements necessaires
Pour EFICAS, on tient compte des niveaux
- Surcharge la methode make_register du package Noyau
+ Surcharge la methode makeRegister du package Noyau
"""
if self.parent :
self.jdc = self.parent.getJdcRoot()
from . import I_REGLE
class EXCLUS(I_REGLE.REGLE):
- def purge_liste(self,liste_a_purger,listeMcPresents):
+ def purgeListe(self,liste_a_purger,listeMcPresents):
regle_active=0
for mc_present in listeMcPresents:
if mc_present in self.mcs:
class FONCTION(ASSD):
def __init__(self,etape=None,sd=None,reg='oui'):
if reg=='oui':
- self.jdc.register_fonction(self)
+ self.jdc.registerFonction(self)
- def get_formule(self):
+ def getFormule(self):
"""
Retourne une formule decrivant self sous la forme d'un tuple :
(nom,type_retourne,arguments,corps)
"""
- if hasattr(self.etape,'get_formule'):
+ if hasattr(self.etape,'getFormule'):
# on est dans le cas d'une formule Aster
- return self.etape.get_formule()
+ return self.etape.getFormule()
else:
# on est dans le cas d'une fonction
return (self.nom,'REEL','(REEL:x)','''bidon''')
def __call__(self,*val):
if len(val) != len(self.nompar):
raise TypeError(" %s() takes exactly %d argument (%d given)" % (self.nom,len(self.nompar),len(val)))
- return param2.Unop2(self.nom,self.real_call,val)
+ return param2.Unop2(self.nom,self.realCall,val)
- def real_call(self,*val):
+ def realCall(self,*val):
if hasattr(self.parent,'contexte_fichier_init'):
context=self.parent.contexte_fichier_init
else : context={}
self.l_types_autorises = list(self.definition.entites.keys())
# en plus de la construction traditionnelle des fils de self
# il faut pour les FORMULE decortiquer l'expression ...
- self.type_retourne,self.arguments,self.corps = self.analyse_formule()
+ self.type_retourne,self.arguments,self.corps = self.analyseFormule()
- def analyse_formule(self):
+ def analyseFormule(self):
"""
Cette methode decortique l'expression de la FORMULE.
Elle retourne 3 valeurs:
type_retourne="REEL"
if len(self.mc_liste) > 0:
child = self.mc_liste[0] # child est un MCSIMP
- corps = child.getval()
+ corps = child.getVal()
else:
corps = None
if len(self.mc_liste) > 1:
child = self.mc_liste[1]
- l_args= child.getval()
+ l_args= child.getVal()
else :
l_args=None
return type_retourne,l_args,corps
else:
return ''
- def get_formule(self):
+ def getFormule(self):
"""
Retourne un tuple decrivant la formule :
(nom,type_retourne,arguments,corps)
"""
- t,a,c = self.analyse_formule()
+ t,a,c = self.analyseFormule()
n = self.getNom()
return (n,t,a,c)
if not re.match(identifier,str(a)) : return 0, str(a)+" n est pas un identifiant"
return test,erreur
- def verif_corps(self,corps=None,arguments=None):
+ def verifCorps(self,corps=None,arguments=None):
"""
Cette methode a pour but de verifier si le corps de la FORMULE
est syntaxiquement correct.
formule=(self.getNom(),self.type_retourne,arguments,corps)
# on recupere la liste des constantes et des autres fonctions predefinies
# et qui peuvent etre utilisees dans le corps de la formule courante
- l_ctes,l_form = self.jdc.get_parametres_fonctions_avant_etape(self)
+ l_ctes,l_form = self.jdc.getParametresFonctionsAvantEtape(self)
# on cree un objet verificateur
try:
verificateur = self.interpreteur(formule=formule,
return 0,tr("Un nom de FORMULE ne peut depasser 8 caracteres")
if nom[0] > "0" and nom[0] < "9" :
return 0,tr("Un nom de FORMULE ne peut pas commencer par un chiffre")
- sd = self.parent.get_sd_autour_etape(nom,self)
+ sd = self.parent.getSdAutourEtape(nom,self)
if sd :
return 0,tr("Un concept de nom %s existe deja !" %nom)
return 1,''
- def verif_type(self,type=None):
+ def verifType(self,type=None):
"""
Verifie si le type passe en argument (si aucun prend le type courant)
est un type valide pour une FORMULE.
if not formule :
formule = (None,None,None,None)
test_nom,erreur_nom = self.verifNom(formule[0])
- test_type,erreur_type = self.verif_type(formule[1])
+ test_type,erreur_type = self.verifType(formule[1])
if formule[2]:
args = '('+formule[2]+')'
else:
args = None
test_arguments,erreur_arguments = self.verifArguments(args)
- test_corps,erreur_corps = self.verif_corps(corps = formule[3], arguments = args)
+ test_corps,erreur_corps = self.verifCorps(corps = formule[3], arguments = args)
# test global = produit des tests partiels
test = test_nom*test_type*test_arguments*test_corps
# message d'erreurs global = concatenation des messages partiels
# parametres
# corps de la fonction
# il faut aussi que les arguments soient sous forme de tuple
- def update_formule_python(self,formule):
+ def updateFormulePython(self,formule):
self.build_mc()
self.mc_liste=[]
if len(formule) < 4 :
nom = self.getNom()
if nom == '' : return
try:
- self.jdc.append_fonction(self.sd)
+ self.jdc.appendFonction(self.sd)
except:
pass
self.actif = 0
self.initModif()
if not self.sd : return
- self.jdc.del_fonction(self.sd)
+ self.jdc.delFonction(self.sd)
def updateConcept(self,sd):
return
# On considere que seul assd indique un type quelconque pas CO
elif self.assd in types_permis :
if v.etape.sdnom != "sansnom" : l.append(k)
- elif self.est_permis(v,types_permis):
+ elif self.estPermis(v,types_permis):
if v.etape.sdnom != "sansnom" : l.append(k)
l.sort()
return l
- def get_variables(self,etape):
+ def getVariables(self,etape):
etapeStop=etape
l=[]
for etapeTraitee in self.etapes :
l.append(variable.nom)
return l
- def get_distributions(self,etape):
+ def getDistributions(self,etape):
etapeStop=etape
l=[]
for etapeTraitee in self.etapes :
# if Correlation !=None : Correlation.state='arecalculer'
# Matrix.state='arecalculer'
- #def recalcule_etat_correlation(self):
+ #def recalculeEtatCorrelation(self):
# for etapeTraitee in self.etapes :
# if etapeTraitee.nom == 'CORRELATION' :
#Matrix=etapeTraitee.get_child('Matrix')
# etapeTraitee.state='arecalculer'
# if etapeTraitee.state=='arecalculer': etapeTraitee.isValid()
- def recalcule_etat_correlation(self):
+ def recalculeEtatCorrelation(self):
for etapeTraitee in self.etapes :
if etapeTraitee.nom == 'CORRELATION' :
Correlation=etapeTraitee.get_child('CorrelationMatrix')
Correlation.isValid()
etapeTraitee.isValid()
- def recalcule_validite_apres_changement_global_jdc(self):
- #print "je passe dans recalcule_validite_apres_changement_global_jdc"
+ def recalculeValiditeApresChangementGlobalJdc(self):
+ #print "je passe dans recalculeValiditeApresChangementGlobalJdc"
try :
liste=self.getJdcRoot().cata[0].liste_condition
except :
l.sort()
return l
- def cherche_list_avant(self,etape,valeur):
+ def chercheListAvant(self,etape,valeur):
d=self.getContexte_avant(etape)
for k,v in d.items():
if issubclass(v.__class__,LASSD):
return v
return None
- def est_permis(self,v,types_permis):
+ def estPermis(self,v,types_permis):
for type_ok in types_permis:
if type_ok in ('R','I','C','TXM') and v in self.params :
return 1
if name == "COMMENTAIRE" :
from Extensions import commentaire
# ajout d'un commentaire
- self.set_current_step()
+ self.setCurrentStep()
ind = 1
for child in self.etapes :
if isinstance(child,commentaire.COMMENTAIRE):
self.editmode=0
self.activeEtapes()
CONNECTOR.Emit(self,"add",objet)
- self.fin_modif()
+ self.finModif()
return objet
elif name == "PARAMETRE":
# ajout d'un parametre
- self.set_current_step()
+ self.setCurrentStep()
nom_param = '_param_'+str(len(self.params)+1)
objet = parametre.PARAMETRE(nom=nom_param)
if pos == None : pos = 0
self.editmode=0
self.activeEtapes()
CONNECTOR.Emit(self,"add",objet)
- self.fin_modif()
+ self.finModif()
return objet
elif name == "PARAMETRE_EVAL":
# ajout d'un parametre EVAL
- self.set_current_step()
+ self.setCurrentStep()
nom_param = '_param_'+str(len(self.params)+1)
objet = parametre_eval.PARAMETRE_EVAL(nom=nom_param)
if pos == None : pos = 0
self.editmode=0
self.activeEtapes()
CONNECTOR.Emit(self,"add",objet)
- self.fin_modif()
+ self.finModif()
return objet
elif not( isinstance(name, basestring)):
#elif type(name)==types.InstanceType:
from Extensions import commentaire
if not( isinstance (objet,commentaire.COMMENTAIRE)):
objet.reparent(self)
- self.set_current_step()
+ self.setCurrentStep()
if isinstance(objet,ETAPE):
if objet.nom_niveau_definition == 'JDC':
# l'objet depend directement du JDC
# il faut verifier que les concepts utilises par objet existent bien
# a ce niveau d'arborescence
objet.verifExistenceSd()
- objet.update_mc_global()
+ objet.updateMcGlobal()
self.editmode=0
self.activeEtapes()
CONNECTOR.Emit(self,"add",objet)
- self.fin_modif()
+ self.finModif()
return objet
else :
# On veut ajouter une nouvelle commande
try:
- self.set_current_step()
+ self.setCurrentStep()
cmd=self.get_cmd(name)
# L'appel a make_objet n'a pas pour effet d'enregistrer l'etape
# aupres du step courant car editmode vaut 1
- # Par contre elle a le bon parent grace a set_current_step
+ # Par contre elle a le bon parent grace a setCurrentStep
e=cmd.make_objet()
if pos == None : pos = 0
self.etapes.insert(pos,e)
- self.reset_current_step()
+ self.resetCurrentStep()
self.resetContext()
self.editmode=0
self.activeEtapes()
CONNECTOR.Emit(self,"add",e)
- self.fin_modif()
+ self.finModif()
return e
except AsException as e:
traceback.print_exc()
- self.reset_current_step()
+ self.resetCurrentStep()
self.editmode=0
raise AsException(tr("Impossible d'ajouter la commande")+name + '\n')
except:
#else :
traceback.print_exc()
- self.reset_current_step()
+ self.resetCurrentStep()
self.editmode=0
raise AsException(tr("Impossible d ajouter la commande")+name)
if hasattr(etape,"close"):etape.close()
CONNECTOR.Emit(self,"close")
- def set_current_step(self):
- CONTEXT.unset_current_step()
- CONTEXT.set_current_step(self)
+ def setCurrentStep(self):
+ CONTEXT.unsetCurrentStep()
+ CONTEXT.setCurrentStep(self)
- def reset_current_step(self):
- CONTEXT.unset_current_step()
+ def resetCurrentStep(self):
+ CONTEXT.unsetCurrentStep()
def listeMcPresents(self):
return []
- def get_sd_avant_etape(self,nom_sd,etape):
+ def getSdAvantEtape(self,nom_sd,etape):
return self.getContexte_avant(etape).get(nom_sd,None)
def getSdApresEtapeAvecDetruire(self,nom_sd,sd,etape,avec='non'):
return sd
return None
- def get_sd_autour_etape(self,nom_sd,etape,avec='non'):
+ def getSdAutourEtape(self,nom_sd,etape,avec='non'):
"""
Fonction: retourne la SD de nom nom_sd qui est eventuellement
definie avant ou apres etape
d'une etape
Si avec vaut 'non' exclut etape de la recherche
"""
- sd=self.get_sd_avant_etape(nom_sd,etape)
+ sd=self.getSdAvantEtape(nom_sd,etape)
if sd:return sd
return self.getSdApresEtape(nom_sd,etape,avec)
self.etapes2=self.etapes[0:indexNoeudOuColler+1]+[etapeACopier,]+self.etapes[indexNoeudOuColler+1:indexNoeudACopier]+self.etapes[indexNoeudACopier+1:]
self.etapes=self.etapes2
if indexNoeudACopier < indexNoeudOuColler :
- self.deleteConcept_entre_etapes(indexNoeudACopier,indexNoeudOuColler,sd)
+ self.deleteConceptEntreEtapes(indexNoeudACopier,indexNoeudOuColler,sd)
self.resetContext()
for e in self.etapes :
e.state = 'modified'
self.resetContext()
CONNECTOR.Emit(self,"supp",etape)
- self.fin_modif()
+ self.finModif()
return 1
def controlContextApres(self,etape):
"""
#print "controlContextApres",self,etape
#Regularise les etapes du jdc apres l'etape etape
- self.control_jdc_context_apres(etape)
+ self.controlJdcContextApres(etape)
- def control_jdc_context_apres(self,etape):
+ def controlJdcContextApres(self,etape):
"""
Methode semblable a controlContextApres mais ne travaille
que sur les etapes et sous etapes du jdc
"""
- #print "control_jdc_context_apres",self,etape
+ #print "controlJdcContextApres",self,etape
if etape is None:
# on demarre de la premiere etape
index_etape=0
self.exec_compile()
self.activeEtapes()
- def register_parametre(self,param):
+ def registerParametre(self,param):
"""
Cette methode sert a ajouter un parametre dans la liste des parametres
"""
self.params.append(param)
- def register_fonction(self,fonction):
+ def registerFonction(self,fonction):
"""
Cette methode sert a ajouter une fonction dans la liste des fonctions
"""
self.fonctions.append(fonction)
- def delete_param(self,param):
+ def deleteParam(self,param):
"""
Supprime le parametre param de la liste des parametres
et du contexte gobal
if param in self.params : self.params.remove(param)
if param.nom in self.g_context : del self.g_context[param.nom]
- def get_parametres_fonctions_avant_etape(self,etape):
+ def getParametresFonctionsAvantEtape(self,etape):
"""
Retourne deux elements :
- une liste contenant les noms des parametres (constantes ou EVAL)
for form in self.fonctions:
nom = form.nom
if not nom : continue
- if nom in d: l_fonctions.append(form.get_formule())
+ if nom in d: l_fonctions.append(form.getFormule())
# on ajoute les concepts produits par DEFI_VALEUR
# XXX On pourrait peut etre faire plutot le test sur le type
# on retourne les deux listes
return l_constantes,l_fonctions
- def get_nb_etapes_avant(self,niveau):
+ def getNbEtapesAvant(self,niveau):
"""
Retourne le nombre d etapes avant le debut de niveau
"""
#print "initModif",self
self.state = 'modified'
- def fin_modif(self):
- #print "fin_modif",self
+ def finModif(self):
+ #print "finModif",self
CONNECTOR.Emit(self,"valid")
self.isValid()
pass
- def deep_updateConditionBloc(self):
+ def deepUpdateConditionBloc(self):
# pour le moment, on ne fait rien
- self.getJdcRoot().recalcule_validite_apres_changement_global_jdc()
+ self.getJdcRoot().recalculeValiditeApresChangementGlobalJdc()
#raise EficasException(tr("Pas implemente"))
def updateConditionBloc(self):
# pour le moment, on ne fait rien
raise EficasException(tr("Pas implemente"))
- def get_liste_mc_inconnus(self):
+ def getListeMcInconnus(self):
"""
Retourne une liste contenant les mots-cles inconnus a la relecture du JDC
"""
for etape in self.etapes :
if etape.isActif() :
if not etape.isValid() :
- l = etape.get_liste_mc_inconnus()
+ l = etape.getListeMcInconnus()
if l : l_mc.extend(l)
return l_mc
- def getGenealogie_precise(self):
+ def getGenealogiePrecise(self):
return []
def getGenealogie(self):
"""
return self.niveau.definition.getListeCmd()
- def get_groups(self):
+ def getGroups(self):
"""
Retourne la liste des groupes
"""
return self.niveau.definition.liste_groupes,self.niveau.definition.dict_groupes
- def set_etape_context(self,etape):
+ def setEtapeContext(self,etape):
"""
Positionne l'etape qui sera utilisee dans NommerSdProd pour
decider si le concept passe pourra etre nomme
# for etape in self.etapes:
# etape.resetContext()
- def del_sdprod(self,sd):
+ def delSdprod(self,sd):
"""
Supprime la SD sd de la liste des sd et des dictionnaires de contexte
"""
- #print "del_sdprod",self,sd
- #print "del_sdprod",self.sds
- #print "del_sdprod",self.g_context
- #print "del_sdprod",self.sds_dict
+ #print "delSdprod",self,sd
+ #print "delSdprod",self.sds
+ #print "delSdprod",self.g_context
+ #print "delSdprod",self.sds_dict
#if sd in self.sds : self.sds.remove(sd)
if sd.nom in self.g_context : del self.g_context[sd.nom]
if sd.nom in self.sds_dict : del self.sds_dict[sd.nom]
- def del_param(self,param):
+ def delParam(self,param):
"""
Supprime le parametre param de la liste des paramatres
et du contexte gobal
if param in self.params : self.params.remove(param)
if param.nom in self.g_context : del self.g_context[param.nom]
- def del_fonction(self,fonction):
+ def delFonction(self,fonction):
"""
Supprime la fonction fonction de la liste des fonctions
et du contexte gobal
if fonction in self.fonctions : self.fonctions.remove(fonction)
if fonction.nom in self.g_context: del self.g_context[fonction.nom]
- def append_sdprod(self,sd):
+ def appendSdProd(self,sd):
"""
Ajoute la SD sd a la liste des sd en verifiant au prealable qu'une SD de
meme nom n'existe pas deja
self.g_context[sd.nom] = sd
#if sd not in self.sds : self.sds.append(sd)
- def append_param(self,param):
+ def appendParam(self,param):
"""
Ajoute le parametre param a la liste des params
et au contexte global
if param not in self.params : self.params.append(param)
self.g_context[param.nom]=param
- def append_fonction(self,fonction):
+ def appendFonction(self,fonction):
"""
Ajoute la fonction fonction a la liste des fonctions
et au contexte global
for etape in self.etapes :
etape.deleteConcept(sd)
#PN PN PN pour les matrices ????
- #self.get_variables_avant(etape)
+ #self.getVariables_avant(etape)
def replaceConceptAfterEtape(self,etape,old_sd,sd):
"""
for child in self.etapes[index:]:
child.updateConcept(sd)
- def dump_state(self):
+ def dumpState(self):
print(("JDC.state: ",self.state))
for etape in self.etapes :
print((etape.nom+".state: ",etape.state))
- def change_unit(self,unit,etape,old_unit):
- #print "change_unit",unit,etape,old_unit
+ def changeUnit(self,unit,etape,old_unit):
+ #print "changeUnit",unit,etape,old_unit
#print id(self.recorded_units),self.recorded_units
#if self.recorded_units.has_key(old_unit):del self.recorded_units[old_unit]
- self.record_unit(unit,etape)
+ self.recordUnit(unit,etape)
- def record_unit(self,unit,etape):
+ def recordUnit(self,unit,etape):
"""Enregistre les unites logiques incluses et les infos relatives a l'etape"""
- #print "record_unit",unit,etape
+ #print "recordUnit",unit,etape
if unit is None:
# Cas de POURSUITE
self.recorded_units[None]=(etape.fichier_ini ,etape.fichier_text,etape.recorded_units)
#print self.recorded_units.get(None,(None,"",{}))[2]
#print self.recorded_units.get(None,(None,"",{}))[2].get(None,(None,"",{}))
- def changefichier(self,fichier):
- self.fin_modif()
+ def changeFichier(self,fichier):
+ self.finModif()
- def eval_in_context(self,valeur,etape):
+ def evalInContext(self,valeur,etape):
""" Tente d'evaluer valeur dans le contexte courant de etape
Retourne le parametre valeur inchange si l'evaluation est impossible
"""
# Il faut utiliser getContexte_avant avec indication de l'etape
# traitee.
# Cette etape est indiquee par l'attribut _etape_context qui a ete
- # positionne prealablement par un appel a set_etape_context
+ # positionne prealablement par un appel a setEtapeContext
if CONTEXT.debug : print(("JDC.NommerSdprod ",sd,sdnom))
if restrict == 'non':
self.g_context[sdnom]=sd
- def deleteConcept_entre_etapes(self,index1,index2,sd):
+ def deleteConceptEntreEtapes(self,index1,index2,sd):
if index2 <= index1 :return
for child in self.etapes[index1:index2]:
child.deleteConcept(sd)
import convert
from Extensions import param2
-# import rajoutes suite a l'ajout de Build_sd --> a resorber
+# import rajoutes suite a l'ajout de buildSd --> a resorber
import Noyau, Validation.V_MACRO_ETAPE
from Noyau import N_Exception
from Noyau.N_Exception import AsException
return d.get(nom_sd,None)
return None
- def getContexte_jdc(self,fichier,text):
+ def getContexteJdc(self,fichier,text):
"""
Interprete text comme un texte de jdc et retourne le contexte final.
ou leve une exception
--> utilisee par ops.POURSUITE et INCLUDE
"""
- #print ("getContexte_jdc",self,self.nom)
+ #print ("getContexteJdc",self,self.nom)
# On recupere l'etape courante
step=CONTEXT.get_current_step()
try:
# le contexte courant. Ce dictionnaire est reactualise regulierement.
# Si on veut garder l'etat du contexte fige, il faut en faire une copie.
context_ini = self.parent.getContexte_avant(self).copy()
- #print "getContexte_jdc",context_ini.keys()
+ #print "getContexteJdc",context_ini.keys()
# Indispensable avant de creer un nouveau JDC
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
args=self.jdc.args
prefix_include=None
if hasattr(self,'prefix'):
#else :
traceback.print_exc()
# On retablit l'etape courante step
- CONTEXT.unset_current_step()
- CONTEXT.set_current_step(step)
+ CONTEXT.unsetCurrentStep()
+ CONTEXT.setCurrentStep(step)
return None
if not j.cr.estvide():
# On retablit l'etape courante step
#print j.cr
#print j.isValid()
- CONTEXT.unset_current_step()
- CONTEXT.set_current_step(step)
+ CONTEXT.unsetCurrentStep()
+ CONTEXT.setCurrentStep(step)
raise EficasException(tr("Impossible de relire le fichier %s \n ")+ six.text_type(j.cr))
# on produit un rapport d'erreurs
cr=j.report()
# On retablit l'etape courante step
- CONTEXT.unset_current_step()
- CONTEXT.set_current_step(step)
+ CONTEXT.unsetCurrentStep()
+ CONTEXT.setCurrentStep(step)
self.jdc.cr.fatal("Le fichier include contient des erreurs ")
raise EficasException(tr("Le fichier include contient des erreurs "))
#print j.g_context.keys()
except:
# On retablit l'etape courante step
- CONTEXT.unset_current_step()
- CONTEXT.set_current_step(step)
+ CONTEXT.unsetCurrentStep()
+ CONTEXT.setCurrentStep(step)
raise EficasException(" ")
# Si on est arrive ici, le texte du fichier inclus (INCLUDE, POURSUITE, ...)
self.jdc_aux=j
# On retablit l'etape courante step
- CONTEXT.unset_current_step()
- CONTEXT.set_current_step(step)
+ CONTEXT.unsetCurrentStep()
+ CONTEXT.setCurrentStep(step)
return j_context
- def reevalue_sd_jdc(self):
+ def reevalueSdJdc(self):
"""
Avec la liste des SD qui ont ete supprimees, propage la
disparition de ces SD dans toutes les etapes et descendants
"""
- #print "reevalue_sd_jdc"
- l_sd_supp,l_sd_repl = self.diff_contextes()
+ #print "reevalueSdJdc"
+ l_sd_supp,l_sd_repl = self.diffContextes()
for sd in l_sd_supp:
self.parent.deleteConceptAfterEtape(self,sd)
for old_sd,sd in l_sd_repl:
self.parent.replaceConceptAfterEtape(self,old_sd,sd)
- def diff_contextes(self):
+ def diffContextes(self):
"""
Realise la difference entre les 2 contextes
old_contexte_fichier_init et contexte_fichier_init
commande ne sont pas incompatibles avec le contexte fourni (d).
Si c'est le cas, le concept produit doit etre supprime
Si la macro a elle meme des etapes, elle doit propager
- le traitement (voir methode control_jdc_context_apres de I_JDC)
+ le traitement (voir methode controlJdcContextApres de I_JDC)
"""
#print ("I_MACRO_ETAPE.controlSdprods",d.keys(),self,self.nom,self.sd and self.sd.nom)
if self.sd:
sd=self.sd
self.sd=self.reuse=self.sdnom=None
self.parent.deleteConceptAfterEtape(self,sd)
- self.fin_modif()
+ self.finModif()
# On verifie les concepts a droite du signe =
self.initModif()
self.parent.deleteConceptAfterEtape(self,co)
else:
self.sdprods.append(co)
- self.fin_modif()
+ self.finModif()
for e in self.etapes:
e.controlSdprods(d)
e.updateContext(d)
- def supprime_sdprod(self,sd):
+ def supprimeSdprod(self,sd):
"""
Supprime le concept produit sd s'il est produit par l'etape
"""
if sd in self.sdprods:
self.initModif()
- self.parent.del_sdprod(sd)
+ self.parent.delSdprod(sd)
self.sdprods.remove(sd)
- self.fin_modif()
+ self.finModif()
self.parent.deleteConcept(sd)
return
if sd is not self.sd :return
if self.sd is not None :
self.initModif()
- self.parent.del_sdprod(sd)
+ self.parent.delSdprod(sd)
self.sd=None
- self.fin_modif()
+ self.finModif()
self.parent.deleteConcept(sd)
def supprimeSdProds(self):
# le concept retourne par l'etape est a supprimer car il etait
# cree par l'etape
if self.sd != None :
- self.parent.del_sdprod(self.sd)
+ self.parent.delSdprod(self.sd)
self.parent.deleteConcept(self.sd)
# On detruit les concepts a droite du signe =
for co in self.sdprods:
- self.parent.del_sdprod(co)
+ self.parent.delSdprod(co)
self.parent.deleteConcept(co)
# Si la macro a des etapes et des concepts inclus, on les detruit
for nom_sd,co in self.g_context.items():
if not isinstance(co,ASSD):continue
- self.parent.del_sdprod(co)
+ self.parent.delSdprod(co)
self.parent.deleteConcept(co)
# On met g_context a blanc
self.g_context={}
for etape in self.etapes:
etape.replaceConcept(old_sd,sd)
- def change_fichier_init(self,new_fic,text):
+ def changeFichierInit(self,new_fic,text):
"""
Tente de changer le fichier include. Le precedent include est conserve
dans old_xxx
self.fichier_text=text
try:
- self.make_contexte_include(new_fic,text)
+ self.makeContexteInclude(new_fic,text)
except:
l=traceback.format_exception_only(tr("Fichier invalide %s", sys.exc_info()[1]))
self.fichier_err=''.join(l)
self.state="undetermined"
self.fichier_err=None
# On enregistre la modification de fichier
- self.record_unite()
+ self.recordUnite()
# Le contexte du parent doit etre reinitialise car les concepts produits ont change
self.parent.resetContext()
# Si des concepts ont disparu lors du changement de fichier, on demande leur suppression
self.old_contexte_fichier_init=self.old_context
- self.reevalue_sd_jdc()
+ self.reevalueSdJdc()
- self.fin_modif()
+ self.finModif()
if self.old_jdc_aux:
self.old_jdc_aux.close()
- def restore_fichier_init(self):
+ def restoreFichierInit(self):
"""
Restaure le fichier init enregistre dans old_xxx
"""
self.etapes=self.old_etapes
self.jdc_aux=self.old_jdc_aux
- def force_fichier_init(self):
+ def forceFichierInit(self):
"""
Force le remplacement du fichier init meme si le remplacant est en erreur
"""
# On enregistre la modification de fichier
self.initModif()
self.state="undetermined"
- self.record_unite()
+ self.recordUnite()
# Le contexte du parent doit etre reinitialise car les concepts produits ont change
self.parent.resetContext()
# On remplace les anciens concepts par les nouveaux (y compris ajouts
# et suppression) et on propage les modifications aux etapes precedentes et suivantes
- # reevalue_sd_jdc construit la liste des differences entre les contextes contexte_fichier_init
+ # reevalueSdJdc construit la liste des differences entre les contextes contexte_fichier_init
# et old_contexte_fichier_init et effectue les destructions et remplacements de concept
# necessaires
self.old_contexte_fichier_init=self.old_context
- self.reevalue_sd_jdc()
- self.fin_modif()
+ self.reevalueSdJdc()
+ self.finModif()
if self.old_jdc_aux:
self.old_jdc_aux.close()
self.jdc_aux.forceContexte(self.g_context)
- def build_include(self,fichier,text):
+ def buildInclude(self,fichier,text):
import Extensions.jdc_include
self.JdC_aux=Extensions.jdc_include.JdC_include
# un include partage la table des unites avec son parent (jdc)
self.recorded_units=self.parent.recorded_units
- self.build_jdcaux(fichier,text)
+ self.buildJdcaux(fichier,text)
- def build_poursuite(self,fichier,text):
+ def buildPoursuite(self,fichier,text):
import Extensions.jdc_include
self.JdC_aux=Extensions.jdc_include.JdC_poursuite
# une poursuite a sa propre table d'unites
self.recorded_units={}
- self.build_jdcaux(fichier,text)
+ self.buildJdcaux(fichier,text)
- def build_includeInclude(self,text):
+ def buildIncludeInclude(self,text):
import Extensions.jdc_include
self.JdC_aux=Extensions.jdc_include.JdC_include
# un include partage la table des unites avec son parent (jdc)
- self.build_jdcauxInclude(text)
+ self.buildJdcauxInclude(text)
- def build_includeEtape(self,text):
+ def buildIncludeEtape(self,text):
import Extensions.jdc_include
self.JdC_aux=Extensions.jdc_include.JdC_include
# un include partage la table des unites avec son parent (jdc)
- #self.build_jdcauxInclude(text)
+ #self.buildJdcauxInclude(text)
# Attention fonctionne pour import_Zone de MT
# a adapter eventuellement
try :
- contexte = self.getContexte_jdc(None,text)
+ contexte = self.getContexteJdc(None,text)
except EficasException:
return 0
self.etapes=[]
self.jdc.resetContext()
self.jdc_aux=None
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
return 1
- def build_jdcauxInclude(self,text):
+ def buildJdcauxInclude(self,text):
try :
- contexte = self.getContexte_jdc(None,text)
+ contexte = self.getContexteJdc(None,text)
except EficasException:
pass
index=self.jdc.etapes.index(self)
self.g_context={}
self.etapes=[]
self.jdc_aux=None
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
- def build_jdcaux(self,fichier,text):
+ def buildJdcaux(self,fichier,text):
"""
Cree un jdc auxiliaire initialise avec text.
Initialise le nom du fichier associe avec fichier
self.fichier_unite=None
self.fichier_err = None
try:
- contexte = self.getContexte_jdc(fichier,text)
+ contexte = self.getContexteJdc(fichier,text)
if contexte is None :
# Impossible de construire le jdc auxiliaire (sortie par None)
# On simule une sortie par exception
# La construction du jdc auxiliaire est allee au bout
self.contexte_fichier_init = contexte
self.initModif()
- self.fin_modif()
+ self.finModif()
except:
# Impossible de construire le jdc auxiliaire (sortie par exception)
l=traceback.format_exception_only("Fichier invalide",sys.exc_info()[1])
self.fichier_err = ''.join(l)
self.contexte_fichier_init={}
self.initModif()
- self.fin_modif()
+ self.finModif()
raise EficasException(" ")
- def make_contexte_include(self,fichier,text):
+ def makeContexteInclude(self,fichier,text):
"""
Cette methode sert a craer un contexte en interpratant un texte source Python.
"""
- print ("make_contexte_include",fichier)
+ print ("makeContexteInclude",fichier)
# on recupere le contexte d'un nouveau jdc dans lequel on interprete text
- contexte = self.getContexte_jdc(fichier,text)
- print ("make_contexte_include",fichier)
+ contexte = self.getContexteJdc(fichier,text)
+ print ("makeContexteInclude",fichier)
if contexte == None :
raise EficasException("Impossible de construire le jeu de commandes correspondant au fichier")
else:
# l'attribut g_context est un dictionnaire qui contient les concepts produits par inclusion
# l'attribut contexte_fichier_init est un dictionnaire qui contient les concepts produits
# en sortie de macro. g_context est obtenu en retirant de contexte_fichier_init les concepts
- # existants en debut de macro contenus dans context_ini (dans getContexte_jdc)
+ # existants en debut de macro contenus dans context_ini (dans getContexteJdc)
# g_context est utilise pour avoir les concepts produits par la macro
# contexte_fichier_init est utilise pour avoir les concepts supprimes par la macro
self.contexte_fichier_init = contexte
- print ("fin make_contexte_include",fichier)
+ print ("fin makeContexteInclude",fichier)
- def reevalue_fichier_init_OBSOLETE(self):
+ def reevalueFichierInitObsolete(self):
"""Recalcule les concepts produits par le fichier enregistre"""
#print "reevalue_fichier_init"
old_context=self.contexte_fichier_init
try:
- self.make_contexte_include(self.fichier_ini ,self.fichier_text)
+ self.makeContexteInclude(self.fichier_ini ,self.fichier_text)
except:
l=traceback.format_exception_only("Fichier invalide",sys.exc_info()[1])
self.fichier_err = ''.join(l)
self.jdc_aux=None
self.old_contexte_fichier_init=old_context
self.contexte_fichier_init={}
- self.reevalue_sd_jdc()
+ self.reevalueSdJdc()
return
# L'evaluation s'est bien passee
self.fichier_err = None
self.old_contexte_fichier_init=old_context
- self.reevalue_sd_jdc()
+ self.reevalueSdJdc()
- def update_fichier_init(self,unite):
+ def updateFichierInit(self,unite):
"""Reevalue le fichier init sans demander (dans la mesure du possible) a l'utilisateur
les noms des fichiers
Ceci suppose que les relations entre unites et noms ont ete memorisees prealablement
L'include a ete initialise precedemment. Le jdc auxiliaire existe.
"""
- #print "update_fichier_init",unite,self.fichier_unite
+ #print "updateFichierInit",unite,self.fichier_unite
self.old_contexte_fichier_init=self.contexte_fichier_init
old_fichier_ini=self.fichier_ini
if not hasattr(self,"jdc_aux"):self.jdc_aux=None
old_jdc_aux=self.jdc_aux
- #print "update_fichier_init",self,self.parent,self.parent.recorded_units
+ #print "updateFichierInit",self,self.parent,self.parent.recorded_units
if self.fichier_unite is None:
# L'unite n'etait pas definie precedemment. On ne change que l'unite
- #print "update_fichier_init","pas de changement dans include"
+ #print "updateFichierInit","pas de changement dans include"
self.fichier_unite=unite
return
elif unite == self.fichier_unite :
# L'unite n'a pas change
- #print "update_fichier_init","pas de changement dans include 3"
+ #print "updateFichierInit","pas de changement dans include 3"
return
elif unite != self.fichier_unite :
# L'unite etait definie precedemment. On remplace l'include
if f is None:
# Le fichier associe n'a pas pu etre defini
# on change l'unite associee mais pas l'include
- #print "update_fichier_init","pas de changement dans include 2"
+ #print "updateFichierInit","pas de changement dans include 2"
self.fichier_unite=unite
return
else:
self.fichier_ini = f
self.fichier_text=text
self.fichier_unite=unite
- #print "update_fichier_init",self.recorded_units
+ #print "updateFichierInit",self.recorded_units
- #print "update_fichier_init",self.fichier_ini,self.fichier_text,self.fichier_unite
+ #print "updateFichierInit",self.fichier_ini,self.fichier_text,self.fichier_unite
if old_fichier_ini == self.fichier_ini:
# Le fichier inclus n'a pas change. On ne recree pas le contexte
# mais on enregistre le changement d'association unite <-> fichier
- #print "update_fichier_init.fichier inchange",self.jdc_aux.context_ini
- self.parent.record_unit(unite,self)
+ #print "updateFichierInit.fichier inchange",self.jdc_aux.context_ini
+ self.parent.recordUnit(unite,self)
return
try:
self.fichier_err=None
- self.make_contexte_include(self.fichier_ini,self.fichier_text)
+ self.makeContexteInclude(self.fichier_ini,self.fichier_text)
# Les 3 attributs fichier_ini fichier_text recorded_units doivent etre corrects
- # avant d'appeler change_unit
+ # avant d'appeler changeUnit
except:
# Erreurs lors de l'evaluation de text dans un JDC auxiliaire
l=traceback.format_exception_only("Fichier invalide",sys.exc_info()[1])
if old_jdc_aux:
old_jdc_aux.close()
- self.parent.record_unit(unite,self)
+ self.parent.recordUnit(unite,self)
# Le contexte du parent doit etre reinitialise car les concepts
# produits ont change
self.parent.resetContext()
# Si des concepts ont disparu lors du changement de fichier, on
# demande leur suppression
- self.reevalue_sd_jdc()
- #print "update_fichier_init",self.jdc_aux.context_ini.keys()
+ self.reevalueSdJdc()
+ #print "updateFichierInit",self.jdc_aux.context_ini.keys()
- def record_unite(self):
- #print "record_unite",self.nom
+ def recordUnite(self):
+ #print "recordUnite",self.nom
if self.nom == "POURSUITE":
- self.parent.record_unit(None,self)
+ self.parent.recordUnit(None,self)
else:
if hasattr(self,'fichier_unite') :
- self.parent.record_unit(self.fichier_unite,self)
+ self.parent.recordUnit(self.fichier_unite,self)
def getFileMemo(self, unite=None, fname=None, fic_origine=''):
"""Retourne le nom du fichier et le source correspondant a l'unite unite
return f,text
- def make_include3(self,fichier=None):
- self.make_includeCarmel(fichier)
+ def makeInclude3(self,fichier=None):
+ self.makeIncludeCarmel(fichier)
- def make_includeCND(self,fichier=None):
+ def makeIncludeCND(self,fichier=None):
unite=999
if fichier==None : return
if hasattr(self,'fichier_ini') : print((self.fichier_ini))
if groupe[0:5]=='VCUT_': texteVcut +='V_'+groupe[5:]+"=VCUT();\n"
texte=texteSources+texteCond+texteNoCond+texteVcut
#print (texte)
- self.build_includeInclude(texte)
- if CONTEXT.get_current_step()==None : CONTEXT.set_current_step(self)
+ self.buildIncludeInclude(texte)
+ if CONTEXT.get_current_step()==None : CONTEXT.setCurrentStep(self)
reevalue=0
- def make_includeCarmel(self,fichier=None):
+ def makeIncludeCarmel(self,fichier=None):
# Pour Carmel
- #print "je suis dans make_includeCarmel"
+ #print "je suis dans makeIncludeCarmel"
unite=999
if hasattr(self,'fichier_ini') : return
reevalue=0
self.fichier_ini="badfile"
self.fichier_text=""
self.fichier_err=tr("Le fichier n est pas defini")
- self.parent.record_unit(999,self)
+ self.parent.recordUnit(999,self)
try :
MCFils=self.get_child('FileName')
MCFils.setValeur(None)
except:
#else:
traceback.print_exc()
- self.make_incl2_except()
+ self.makeIncl2Except()
raise EficasException(" ")
try:
#if 1 :
- self.make_contexte_include(self.fichier_ini ,self.fichier_text)
+ self.makeContexteInclude(self.fichier_ini ,self.fichier_text)
self.old_context_fichier_init=self.contexte_fichier_init
- self.parent.record_unit(unite,self)
+ self.parent.recordUnit(unite,self)
try :
MCFils=self.get_child('FileName')
#MCFils.setValeur(fichier)
pass
except:
#else:
- self.make_incl2_except()
+ self.makeIncl2Except()
# Cette P*** de ligne suivante ne fonctionne que pour Aster
# si quelqu un a une idee merci de m en parler
- #CONTEXT.set_current_step(self)
+ #CONTEXT.setCurrentStep(self)
- def make_include2(self,fichier=None):
+ def makeInclude2(self,fichier=None):
# Pour OT
# gestion de l unicite SVP
unite=999
self.fichier_ini="badfile"
self.fichier_text=""
self.fichier_err=tr("Le fichier n est pas defini")
- self.parent.record_unit(999,self)
+ self.parent.recordUnit(999,self)
try :
MCFils=self.get_child('FileName')
MCFils.setValeur(None)
ligneTexte="%s=DETERMINISTICVARIABLE(N='%s',T='in',R=%d);\n" % (nom, nom, i)
self.fichier_text = self.fichier_text + ligneTexte
except:
- self.make_incl2_except()
+ self.makeIncl2Except()
raise EficasException(" ")
if nbVariableOut != 1 :
print((nbVariableOut ,"nbVariableOut"))
- self.make_incl2_except(mess=tr("le fichier doit contenir une unique variable de sortie"))
+ self.makeIncl2Except(mess=tr("le fichier doit contenir une unique variable de sortie"))
raise EficasException(" ")
try:
self.JdC_aux=Extensions.jdc_include.JdC_include
except:
traceback.print_exc()
- self.make_incl2_except()
+ self.makeIncl2Except()
raise EficasException(" ")
try:
print((self.fichier_ini ,self.fichier_text))
- self.make_contexte_include(self.fichier_ini ,self.fichier_text)
+ self.makeContexteInclude(self.fichier_ini ,self.fichier_text)
self.old_context_fichier_init=self.contexte_fichier_init
- self.parent.record_unit(unite,self)
+ self.parent.recordUnit(unite,self)
try :
MCFils=self.get_child('FileName')
MCFils.setValeur(fichier)
except :
pass
except:
- self.make_incl2_except()
+ self.makeIncl2Except()
# recalcul validite pour la matrice eventuelle
if reevalue :
pass
e.isValid()
- def make_incl2_except(self,mess=None):
+ def makeIncl2Except(self,mess=None):
l=traceback.format_exception_only(tr("Fichier invalide"),sys.exc_info()[1])
if self.jdc.appli is not None:
if mess == None :
else :
self.jdc.appli.afficheAlerte(tr("Erreur lors de l'evaluation du fichier inclus"),
message=tr(mess))
- #self.parent.record_unit(unite,self)
+ #self.parent.recordUnit(unite,self)
self.g_context={}
self.etapes=[]
self.jdc_aux=None
#ATTENTION SURCHARGE : cette methode surcharge celle de Noyau (a garder en synchro)
- def make_include(self, unite=None, fname=None):
+ def makeInclude(self, unite=None, fname=None):
"""
Inclut un fichier dont l'unite logique est unite
Cette methode est appelee par la fonction sd_prod de la macro INCLUDE
Sinon on retourne None. Les concepts produits par l'INCLUDE sont
pris en compte par le JDC parent lors du calcul du contexte (appel de ???)
"""
- #print "make_include",unite
+ #print "makeInclude",unite
# On supprime l'attribut unite qui bloque l'evaluation du source de l'INCLUDE
# car on ne s'appuie pas sur lui dans EFICAS mais sur l'attribut fichier_ini
# Si unite n'a pas de valeur, l'etape est forcement invalide. On peut retourner None
raise EficasException("pb import Extensions")
self.JdC_aux=Extensions.jdc_include.JdC_include
- #print "make_include",self.fichier_ini,self.fichier_text
+ #print "makeInclude",self.fichier_ini,self.fichier_text
if f is None and not text:
self.fichier_err=tr("Le fichier INCLUDE n est pas defini")
- self.parent.record_unit(unite,self)
+ self.parent.recordUnit(unite,self)
raise EficasException(self.fichier_err)
try:
- self.make_contexte_include(self.fichier_ini ,self.fichier_text)
- self.parent.record_unit(unite,self)
+ self.makeContexteInclude(self.fichier_ini ,self.fichier_text)
+ self.parent.recordUnit(unite,self)
except:
l=traceback.format_exception_only(tr("Fichier invalide %s",sys.exc_info()[1]))
if self.jdc.appli:
self.jdc.appli.afficheAlerte(tr("Erreur lors de l'evaluation du fichier inclus"),
message=tr("Le contenu de ce fichier ne sera pas pris en compte\n"+''.join(l)))
- self.parent.record_unit(unite,self)
+ self.parent.recordUnit(unite,self)
self.g_context={}
self.etapes=[]
self.jdc_aux=None
else:
# Si le fichier est deja defini on ne reevalue pas le fichier
# et on leve une exception si une erreur a ete enregistree
- self.update_fichier_init(unite)
+ self.updateFichierInit(unite)
self.fichier_unite=unite
if self.fichier_err is not None: raise EficasException(self.fichier_err)
#ATTENTION SURCHARGE : cette methode surcharge celle de Noyau (a garder en synchro)
- def make_contexte(self,fichier,text):
+ def makeContexte(self,fichier,text):
"""
Cette methode sert a creer un contexte pour INCLUDE_MATERIAU
en interpretant un texte source Python
Elle est appelee par la fonction sd_prod d'INCLUDE_MATERIAU
"""
- #print "make_contexte",fichier
+ #print "makeContexte",fichier
# On supprime l'attribut mat qui bloque l'evaluation du source de l'INCLUDE_MATERIAU
# car on ne s'appuie pas sur lui dans EFICAS mais sur l'attribut fichier_ini
if hasattr(self,'mat'):del self.mat
except:
raise EficasException(" ")
try:
- self.make_contexte_include(self.fichier_ini ,self.fichier_text)
+ self.makeContexteInclude(self.fichier_ini ,self.fichier_text)
if not self.nom_mater in self.g_context :
#Pour permettre de lire un jeu de commandes avec des INCLUDE_MATERIAU errones
self.g_context[self.nom_mater]=None
if self.fichier_err is not None: raise EficasException(self.fichier_err)
#ATTENTION SURCHARGE : cette methode surcharge celle de Noyau (a garder en synchro)
- def update_sdprod(self,cr='non'):
+ def updateSdprod(self,cr='non'):
# Cette methode peut etre appelee dans EFICAS avec des mots cles de
# la commande modifies. Ceci peut conduire a la construction ou
# a la reconstruction d'etapes dans le cas d'INCLUDE ou d'INCLUDE_MATERIAU
# Il faut donc positionner le current_step avant l'appel
- CONTEXT.unset_current_step()
- CONTEXT.set_current_step(self)
- valid=Validation.V_MACRO_ETAPE.MACRO_ETAPE.update_sdprod(self,cr=cr)
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
+ CONTEXT.setCurrentStep(self)
+ valid=Validation.V_MACRO_ETAPE.MACRO_ETAPE.updateSdprod(self,cr=cr)
+ CONTEXT.unsetCurrentStep()
return valid
#ATTENTION SURCHARGE: cette methode surcharge celle de Noyau a garder en synchro
- def Build_sd(self,nom):
+ def buildSd(self,nom):
"""
Methode de Noyau surchargee pour poursuivre malgre tout
si une erreur se produit pendant la creation du concept produit
"""
try:
- sd=Noyau.N_MACRO_ETAPE.MACRO_ETAPE.Build_sd(self,nom)
+ sd=Noyau.N_MACRO_ETAPE.MACRO_ETAPE.buildSd(self,nom)
except :
# return None
#except AsException,e:
return self.sd
#ATTENTION SURCHARGE: cette methode surcharge celle de Noyau a garder en synchro
- def make_poursuite(self):
+ def makePoursuite(self):
""" Cette methode est appelee par la fonction sd_prod de la macro POURSUITE
"""
- #print "make_poursuite"
+ #print "makePoursuite"
if not hasattr(self,'fichier_ini') :
# Si le fichier n'est pas defini on le demande
f,text=self.getFileMemo(fic_origine=self.parent.nom)
raise EficasException(" ")
self.JdC_aux=Extensions.jdc_include.JdC_poursuite
self.contexte_fichier_init={}
- #print "make_poursuite",self.fichier_ini,self.fichier_text
+ #print "makePoursuite",self.fichier_ini,self.fichier_text
if f is None:
self.fichier_err="Le fichier POURSUITE n'est pas defini"
self.jdc_aux=None
- self.parent.record_unit(None,self)
+ self.parent.recordUnit(None,self)
raise EficasException(self.fichier_err)
try:
- self.make_contexte_include(self.fichier_ini,self.fichier_text)
- self.parent.record_unit(None,self)
+ self.makeContexteInclude(self.fichier_ini,self.fichier_text)
+ self.parent.recordUnit(None,self)
except:
l=traceback.format_exception_only("Fichier invalide",sys.exc_info()[1])
if self.jdc.appli:
self.jdc.appli.afficheAlerte(tr("Erreur lors de l'evaluation du fichier poursuite"),
message=tr("Ce fichier ne sera pas pris en compte\n %s",''.join(l)))
- self.parent.record_unit(None,self)
+ self.parent.recordUnit(None,self)
self.g_context={}
self.etapes=[]
self.jdc_aux=None
else:
# Si le fichier est deja defini on ne reevalue pas le fichier
# et on leve une exception si une erreur a ete enregistree
- self.update_fichier_init(None)
+ self.updateFichierInit(None)
if self.fichier_err is not None: raise EficasException(self.fichier_err)
from . import CONNECTOR
class MCCOMPO(I_OBJECT.OBJECT):
- def getlabeltext(self):
+ def getLabelText(self):
"""
Retourne le label de self
utilise pour l'affichage dans l'arbre
il faut encore rearranger cette liste (certains mots-cles deja
presents ne doivent plus etre proposes, regles ...)
"""
- return self.filtre_liste_mc(self.getListeMcOrdonnee_brute(liste,dico))
+ return self.filtreListeMc(self.getListeMcOrdonneeBrute(liste,dico))
- def getListeMcOrdonnee_brute(self,liste,dico):
+ def getListeMcOrdonneeBrute(self,liste,dico):
"""
Retourne la liste ordonnee (suivant le catalogue) BRUTE des mots-cles
d'une entite composee dont le chemin complet est donne sous forme
if specifique == 1 : return l
return objet_cata.ordre_mc
- def filtre_liste_mc(self,liste_brute):
+ def filtreListeMc(self,liste_brute):
"""
Cette methode est appelee par EFICAS afin de presenter a
l'utilisateur la liste des enfants possibles de self actualisee
listeMcPresents = self.listeMcPresents()
# on enleve les mots-cles non permis par les regles
for regle in self.definition.regles:
- # la methode purge_liste est a developper pour chaque regle qui
+ # la methode purgeListe est a developper pour chaque regle qui
# influe sur la liste de choix a proposer a l'utilisateur
# --> EXCLUS,UN_PARMI,PRESENT_ABSENT
- liste = regle.purge_liste(liste,listeMcPresents)
+ liste = regle.purgeListe(liste,listeMcPresents)
# on enleve les mots-cles dont l'occurrence est deja atteinte
liste_copy = copy(liste)
for k in liste_copy:
liste.remove(k)
if self.definition.entites[k].label=='BLOC':
liste.remove(k)
- # Pour corriger les exces qui pourraient etre commis dans la methode purge_liste
+ # Pour corriger les exces qui pourraient etre commis dans la methode purgeListe
# des regles, on essaie de compenser comme suit :
# on ajoute les mots cles facteurs presents dont l'occurence n'est pas atteinte
for k in listeMcPresents:
l.append(k)
return l
- def getIndex_child(self,nom_fils):
+ def getIndexChild(self,nom_fils):
"""
Retourne l'index dans la liste des fils de self du nouveau fils de nom nom_fils
Permet de savoir a quelle position il faut ajouter un nouveau mot-cle
"""
cata_ordonne = self.jdc.cata_ordonne_dico
- liste_noms_mc_ordonnee = self.getListeMcOrdonnee_brute(self.getGenealogie(),cata_ordonne)
+ liste_noms_mc_ordonnee = self.getListeMcOrdonneeBrute(self.getGenealogie(),cata_ordonne)
liste_noms_mc_presents = self.listeMcPresents()
index=0
for nom in liste_noms_mc_ordonnee:
index=index+1
return index
- def ordonne_liste_mc(self,liste_mc_a_ordonner,liste_noms_mc_ordonnee):
+ def ordonneListeMc(self,liste_mc_a_ordonner,liste_noms_mc_ordonnee):
"""
Retourne liste_mc_a_ordonner ordonnee suivant l'ordre
donne par liste_noms_mc_ordonnee
self.initModif()
self.mc_liste.remove(objet)
CONNECTOR.Emit(self,"supp",objet)
- objet.delete_mc_global()
+ objet.deleteMcGlobal()
objet.updateConditionBloc()
objet.supprime()
self.etape.modified()
- self.fin_modif()
+ self.finModif()
return 1
def isOblig(self):
self.jdc.appli.afficheAlerte(tr("Erreur"),
tr("L'objet %(v_1)s ne peut etre un fils de %(v_2)s",\
{'v_1': objet.nom, 'v_2': self.nom}))
- self.fin_modif()
+ self.finModif()
return 0
# On cherche s'il existe deja un mot cle de meme nom
# Il ne faut pas oublier de reaffecter le parent d'obj (si copie)
objet.reparent(self)
CONNECTOR.Emit(self,"add",objet)
- objet.update_mc_global()
+ objet.updateMcGlobal()
objet.updateConditionBloc()
- self.fin_modif()
+ self.finModif()
return objet
else:
# Le mot cle existe deja. Si le mot cle est repetable,
# on emet un message d'erreur.
if not old_obj.isRepetable():
self.jdc.appli.afficheAlerte(tr("Erreur"),tr("L'objet %s ne peut pas etre repete", objet.nom))
- self.fin_modif()
+ self.finModif()
return 0
else:
# une liste d'objets de meme type existe deja
old_obj.addEntite(objet)
- self.fin_modif()
+ self.finModif()
return old_obj
def ispermis(self,fils):
for child in self.mc_liste :
child.replaceConcept(old_sd,sd)
- def get_liste_mc_inconnus(self):
+ def getListeMcInconnus(self):
"""
Retourne la liste des mots-cles inconnus dans self
"""
l_mc.append([self,k,v])
for child in self.mc_liste :
if child.isValid() : continue
- l_child = child.get_liste_mc_inconnus()
+ l_child = child.getListeMcInconnus()
for mc in l_child:
l = [self]
l.extend(mc)
l_mc.append(l)
return l_mc
- def deep_updateConditionBloc(self):
+ def deepUpdateConditionBloc(self):
"""
Parcourt l'arborescence des mcobject et realise l'update
des blocs conditionnels par appel de la methode updateConditionBloc
"""
self._updateConditionBloc()
for mcobj in self.mc_liste:
- if hasattr(mcobj,"deep_updateConditionBloc"):
- mcobj.deep_updateConditionBloc()
+ if hasattr(mcobj,"deepUpdateConditionBloc"):
+ mcobj.deepUpdateConditionBloc()
def updateConditionBloc(self):
"""
# le bloc doit etre present
# mais le bloc n'est pas present et il doit etre cree
#print "AJOUT BLOC",k
- pos=self.getIndex_child(k)
+ pos=self.getIndexChild(k)
self.addEntite(k,pos)
if not presence and bloc:
# le bloc devrait etre absent
for motcle in self.mc_liste :
motcle.verifExistenceSd()
- def update_mc_global(self):
+ def updateMcGlobal(self):
"""
Met a jour les mots cles globaux enregistres dans l'etape parente
et dans le jdc parent.
la requete a ses fils.
"""
for motcle in self.mc_liste :
- motcle.update_mc_global()
+ motcle.updateMcGlobal()
- def delete_mc_global(self):
+ def deleteMcGlobal(self):
for motcle in self.mc_liste :
- motcle.delete_mc_global()
+ motcle.deleteMcGlobal()
try :
- motcle.update_mc_global()
+ motcle.updateMcGlobal()
except :
pass
if len(objet) > 1 : return 0
else : return 1
- def getlabeltext(self):
+ def getLabelText(self):
"""
Retourne le label de self suivant qu'il s'agit d'un MCFACT
isole ou d'un MCFACT appartenant a une MCList :
except:
return tr("Erreur - mot cle facteur de nom : %s", self.nom)
- def getGenealogie_precise(self):
- nom=self.getlabeltext()
+ def getGenealogiePrecise(self):
+ nom=self.getLabelText()
if nom[-1]==':' : nom=nom[0:-1]
if self.parent:
- l=self.parent.getGenealogie_precise()
+ l=self.parent.getGenealogiePrecise()
l.append(nom.strip())
return l
else:
if parent:
parent.initModif()
- def fin_modif(self):
+ def finModif(self):
"""
Methode appelee apres qu'une modification a ete faite afin de declencher
d'eventuels traitements post-modification
"""
- #print "fin_modif",self
+ #print "finModif",self
# pour les objets autres que les commandes, aucun traitement specifique
# on remonte l'info de fin de modif au parent
CONNECTOR.Emit(self,"valid")
parent= hasattr(self,"alt_parent") and self.alt_parent or self.parent
if parent:
- parent.fin_modif()
+ parent.finModif()
def normalize(self):
""" Retourne le MCFACT normalise. Pour un MCFACT isole, l'objet normalise
self.updateConditionBloc()
obj.supprime()
self.etape.modified()
- self.fin_modif()
+ self.finModif()
return 1
def addEntite(self,obj,pos=None):
else:
self.insert(pos,obj)
CONNECTOR.Emit(self,"add",obj)
- self.fin_modif()
+ self.finModif()
self.updateConditionBloc()
return obj
def getDocu(self):
return self.data[0].definition.getDocu()
- def get_liste_mc_inconnus(self):
+ def getListeMcInconnus(self):
"""
Retourne la liste des mots-cles inconnus dans self
"""
l_mc = []
for mcfact in self.data :
if mcfact.isValid() : continue
- l_child = mcfact.get_liste_mc_inconnus()
+ l_child = mcfact.getListeMcInconnus()
for mc in l_child:
l = [self]
l.extend(mc)
# Sans objet pour une liste de mots cles facteurs
return []
- def deep_updateConditionBloc(self):
+ def deepUpdateConditionBloc(self):
"""
Parcourt l'arborescence des mcobject et realise l'update
des blocs conditionnels par appel de la methode updateConditionBloc
"""
- #print "deep_updateConditionBloc",self
+ #print "deepUpdateConditionBloc",self
for mcfact in self.data :
- mcfact.deep_updateConditionBloc()
+ mcfact.deepUpdateConditionBloc()
def updateConditionBloc(self):
"""
if self.parent:
self.parent.initModif()
- def fin_modif(self):
+ def finModif(self):
"""
Methode appelee apres qu'une modification a ete faite afin de declencher
d'eventuels traitements post-modification
"""
- #print "fin_modif",self
+ #print "finModif",self
CONNECTOR.Emit(self,"valid")
if self.parent:
- self.parent.fin_modif()
+ self.parent.finModif()
- def getGenealogie_precise(self):
+ def getGenealogiePrecise(self):
if self.parent:
- return self.parent.getGenealogie_precise()
+ return self.parent.getGenealogiePrecise()
else:
return []
else:
return []
- def getListeMcOrdonnee_brute(self,liste,dico):
+ def getListeMcOrdonneeBrute(self,liste,dico):
"""
Retourne la liste ordonnee (suivant le catalogue) BRUTE des mots-cles
d'une entite composee dont le chemin complet est donne sous forme
"""
return self
- def update_mc_global(self):
+ def updateMcGlobal(self):
"""
Met a jour les mots cles globaux enregistres dans l'etape parente
et dans le jdc parent.
la requete a ses fils.
"""
for motcle in self.data :
- motcle.update_mc_global()
+ motcle.updateMcGlobal()
- def delete_mc_global(self):
+ def deleteMcGlobal(self):
for motcle in self.data :
- motcle.delete_mc_global()
+ motcle.deleteMcGlobal()
#def __del__(self):
# print "__del__",self
self.definition.siValide(self)
return Validation.V_MCSIMP.MCSIMP.isValid(self,cr=cr)
- def GetNomConcept(self):
+ def getNomConcept(self):
p=self
while p.parent :
try :
- nomconcept=p.get_sdname()
+ nomconcept=p.getSdname()
return nomconcept
except:
try :
- nomconcept= p.object.get_sdname()
+ nomconcept= p.object.getSdname()
return nomconcept
except :
pass
elif type(self.valeur) == float :
# traitement d'un flottant isole
txt = str(self.valeur)
- clefobj=self.GetNomConcept()
+ clefobj=self.getNomConcept()
if clefobj in self.jdc.appli.appliEficas.dict_reels :
if self.valeur in self.jdc.appli.appliEficas.dict_reels[clefobj]:
txt=self.jdc.appli.appliEficas.dict_reels[clefobj][self.valeur]
sep=''
for val in self.valeur:
if type(val) == float :
- clefobj=self.GetNomConcept()
+ clefobj=self.getNomConcept()
if clefobj in self.jdc.appli.appliEficas.dict_reels:
if val in self.jdc.appli.appliEficas.dict_reels[clefobj]:
txt=txt + sep +self.jdc.appli.appliEficas.dict_reels[clefobj][val]
# Pour le moment on retourne la chaine telle que
return txt
- def getval(self):
+ def getVal(self):
"""
Retourne une chaine de caractere representant la valeur de self
"""
val=self.valeur
if type(val) == float :
- clefobj=self.GetNomConcept()
+ clefobj=self.getNomConcept()
if clefobj in self.jdc.appli.appliEficas.dict_reels :
if val in self.jdc.appli.appliEficas.appliEficas.dict_reels[clefobj] :
return self.jdc.appli.appliEficas.dict_reels[clefobj][val]
if typ == 'TXM' :return 1
return 0
- def get_liste_valeurs(self):
+ def getListeValeurs(self):
"""
"""
if self.valeur == None:
- def valid_val(self,valeur):
+ def validVal(self,valeur):
"""
Verifie que la valeur passee en argument (valeur) est valide
sans modifier la valeur courante
valid=0
return valid,mess
- def valid_valeur(self,new_valeur):
+ def validValeur(self,new_valeur):
"""
Verifie que la valeur passee en argument (new_valeur) est valide
sans modifier la valeur courante (evite d'utiliser setValeur et est plus performant)
"""
- validite,mess=self.valid_val(new_valeur)
+ validite,mess=self.validVal(new_valeur)
return validite
- def valid_valeur_partielle(self,new_valeur):
+ def validValeurPartielle(self,new_valeur):
"""
Verifie que la valeur passee en argument (new_valeur) est une liste partiellement valide
sans modifier la valeur courante du mot cle
""" Met a jour les blocs conditionnels dependant du mot cle simple self
"""
if self.definition.position == 'global' :
- self.etape.deep_updateConditionBloc()
+ self.etape.deepUpdateConditionBloc()
elif self.definition.position == 'global_jdc' :
- self.jdc.deep_updateConditionBloc()
+ self.jdc.deepUpdateConditionBloc()
else:
self.parent.updateConditionBloc()
self.val = new_valeur
self.updateConditionBloc()
self.etape.modified()
- self.fin_modif()
+ self.finModif()
return 1
def evalValeur(self,new_valeur):
Essaie d'evaluer new_valeur comme une SD, une declaration Python
ou un EVAL: Retourne la valeur evaluee (ou None) et le test de reussite (1 ou 0)
"""
- sd = self.jdc.get_sd_avant_etape(new_valeur,self.etape)
+ sd = self.jdc.getSdAvantEtape(new_valeur,self.etape)
#sd = self.jdc.getContexte_avant(self.etape).get(new_valeur,None)
#print sd
if sd is not None:
return sd,1
- lsd = self.jdc.cherche_list_avant(self.etape,new_valeur)
+ lsd = self.jdc.chercheListAvant(self.etape,new_valeur)
if lsd :
return lsd,1
else:
objet = eval(new_valeur,d)
return objet,1
except Exception:
- itparam=self.cherche_item_parametre(new_valeur)
+ itparam=self.chercheItemParametre(new_valeur)
if itparam:
return itparam,1
try :
if CONTEXT.debug : traceback.print_exc()
return None,0
- def eval_val(self,new_valeur):
+ def evalVal(self,new_valeur):
"""
- Tente d'evaluer new_valeur comme un objet du jdc (par appel a eval_val_item)
+ Tente d'evaluer new_valeur comme un objet du jdc (par appel a evalValItem)
ou comme une liste de ces memes objets
Si new_valeur contient au moins un separateur (,), tente l'evaluation sur
la chaine splittee
"""
if new_valeur in ('True','False') and 'TXM' in self.definition.type :
- valeur=self.eval_val_item(str(new_valeur))
+ valeur=self.evalValItem(str(new_valeur))
return new_valeur
if type(new_valeur) in (list,tuple):
valeurretour=[]
for item in new_valeur :
- valeurretour.append(self.eval_val_item(item))
+ valeurretour.append(self.evalValItem(item))
return valeurretour
else:
- valeur=self.eval_val_item(new_valeur)
+ valeur=self.evalValItem(new_valeur)
return valeur
- def eval_val_item(self,new_valeur):
+ def evalValItem(self,new_valeur):
"""
Tente d'evaluer new_valeur comme un concept, un parametre, un objet Python
Si c'est impossible retourne new_valeur inchange
argument new_valeur : string (nom de concept, de parametre, expression ou simple chaine)
"""
if self.etape and self.etape.parent:
- valeur=self.etape.parent.eval_in_context(new_valeur,self.etape)
+ valeur=self.etape.parent.evalInContext(new_valeur,self.etape)
return valeur
else:
try :
return new_valeur
pass
- def cherche_item_parametre (self,new_valeur):
+ def chercheItemParametre (self,new_valeur):
try:
nomparam=new_valeur[0:new_valeur.find("[")]
indice=new_valeur[new_valeur.find(u"[")+1:new_valeur.find(u"]")]
if type(self.valeur) in (list,tuple) :
if sd in self.valeur:
self.initModif()
- self.fin_modif()
+ self.finModif()
else:
if sd == self.valeur:
self.initModif()
- self.fin_modif()
+ self.finModif()
def deleteConcept(self,sd):
"""
self.initModif()
self.valeur=list(self.valeur)
self.valeur.remove(sd)
- self.fin_modif()
+ self.finModif()
elif type(self.valeur) == list:
if sd in self.valeur:
self.initModif()
self.valeur.remove(sd)
- self.fin_modif()
+ self.finModif()
else:
if self.valeur == sd:
self.initModif()
self.valeur=None
self.val=None
- self.fin_modif()
+ self.finModif()
# Glut Horrible pour les matrices ???
if sd.__class__.__name__== "variable":
for type_permis in self.definition.type:
self.valeur=list(self.valeur)
i=self.valeur.index(old_sd)
self.valeur[i]=sd
- self.fin_modif()
+ self.finModif()
elif type(self.valeur) == list:
if old_sd in self.valeur:
self.initModif()
i=self.valeur.index(old_sd)
self.valeur[i]=sd
- self.fin_modif()
+ self.finModif()
else:
if self.valeur == old_sd:
self.initModif()
self.valeur=sd
self.val=sd
- self.fin_modif()
+ self.finModif()
def setValeurCo(self,nom_co):
"""
else:
# Avant de creer un concept il faut s'assurer du contexte : step
# courant
- sd= step.get_sd_autour_etape(nom_co,self.etape,avec='oui')
+ sd= step.getSdAutourEtape(nom_co,self.etape,avec='oui')
if sd:
# Si un concept du meme nom existe deja dans la portee de l'etape
# on ne cree pas le concept
# Normalement la methode du Noyau doit etre surchargee
# On declare l'etape du mot cle comme etape courante pour NommerSdprod
cs= CONTEXT.get_current_step()
- CONTEXT.unset_current_step()
- CONTEXT.set_current_step(step)
- step.set_etape_context(self.etape)
+ CONTEXT.unsetCurrentStep()
+ CONTEXT.setCurrentStep(step)
+ step.setEtapeContext(self.etape)
new_objet = Accas.CO(nom_co)
- CONTEXT.unset_current_step()
- CONTEXT.set_current_step(cs)
+ CONTEXT.unsetCurrentStep()
+ CONTEXT.setCurrentStep(cs)
self.initModif()
self.valeur = new_objet
self.val = new_objet
# On force l'enregistrement de new_objet en tant que concept produit
# de la macro en appelant getType_produit avec force=1
self.etape.getType_produit(force=1)
- self.fin_modif()
+ self.finModif()
step.resetContext()
#print "setValeurCo",new_objet
return 1,tr("Concept cree")
if len(l) < len(self.valeur):
self.initModif()
self.valeur=tuple(l)
- self.fin_modif()
+ self.finModif()
else:
if isinstance(self.valeur,ASSD) :
if self.valeur not in l_sd_avant_etape and self.etape.getSdprods(self.valeur.nom) is None:
self.initModif()
self.valeur = None
- self.fin_modif()
+ self.finModif()
- def get_min_max(self):
+ def getMinMax(self):
"""
Retourne les valeurs min et max admissibles pour la valeur de self
"""
"""
return self.definition.type
- def delete_mc_global(self):
+ def deleteMcGlobal(self):
""" Retire self des declarations globales
"""
if self.definition.position == 'global' :
elif self.definition.position == 'global_jdc' :
del self.jdc.mc_globaux[self.nom]
- def update_mc_global(self):
+ def updateMcGlobal(self):
"""
Met a jour les mots cles globaux enregistres dans l'etape parente
et dans le jdc parent.
valid=0
return valid
- def verif_type(self,item):
+ def verifType(self,item):
"""Verifie le type d'un item de liste"""
try:
#on verifie le type
def nbDeVariables(self):
- listeVariables=self.jdc.get_variables(self.etape)
+ listeVariables=self.jdc.getVariables(self.etape)
self.monType.nbLigs=len(listeVariables)
self.monType.nbCols=len(listeVariables)
def valideEnteteMatrice(self):
- if self.jdc.get_distributions(self.etape) == () or self.valeur == None : return 0
- if self.jdc.get_distributions(self.etape) != self.valeur[0] : return 0
+ if self.jdc.getDistributions(self.etape) == () or self.valeur == None : return 0
+ if self.jdc.getDistributions(self.etape) != self.valeur[0] : return 0
return 1
def changeEnteteMatrice(self):
- a=[self.jdc.get_distributions(self.etape),]
+ a=[self.jdc.getDistributions(self.etape),]
for t in self.valeur[1:]:
a.append(t)
self.valeur=a
def nNbDeDistributions(self):
- listeVariables=self.jdc.get_distributions(self.etape)
+ listeVariables=self.jdc.getDistributions(self.etape)
self.monType.nbLigs=len(listeVariables)
self.monType.nbCols=len(listeVariables)
# Elles doivent etre reintegrees des que possible
- def verif_typeihm(self,val,cr='non'):
+ def verifTypeIhm(self,val,cr='non'):
try :
val.eval()
return 1
except :
traceback.print_exc()
pass
- return self.verif_type(val,cr)
+ return self.verifType(val,cr)
- def verif_typeliste(self,val,cr='non') :
+ def verifTypeliste(self,val,cr='non') :
verif=0
for v in val :
- verif=verif+self.verif_typeihm(v,cr)
+ verif=verif+self.verifTypeIhm(v,cr)
return verif
def initModifUp(self):
if self.parent:
self.parent.initModif()
- def fin_modif(self):
+ def finModif(self):
"""
Methode appelee apres qu'une modification a ete faite afin de declencher
d'eventuels traitements post-modification
"""
- #print "fin_modif",self
+ #print "finModif",self
# pour les objets autres que les commandes, aucun traitement specifique
# on remonte l'info de fin de modif au parent
CONNECTOR.Emit(self,"valid")
if self.parent:
- self.parent.fin_modif()
+ self.parent.finModif()
def isRepetable(self):
"""
def getDocu(self):
return self.definition.getDocu()
- def get_liste_mc_inconnus(self):
+ def getListeMcInconnus(self):
"""
Retourne la liste des mots-cles inconnus dans self
"""
"""
liste=[]
for regle in self.definition.regles:
- liste=regle.verif_condition_regle(liste,liste_presents)
+ liste=regle.verifConditionRegle(liste,liste_presents)
return liste
def verifConditionBloc(self):
"""
return [],[]
- def getGenealogie_precise(self):
+ def getGenealogiePrecise(self):
if self.parent:
- l=self.parent.getGenealogie_precise()
+ l=self.parent.getGenealogiePrecise()
l.append(self.nom.strip())
return l
else:
"""
return self
- def delete_mc_global(self):
+ def deleteMcGlobal(self):
return
- def update_mc_global(self):
+ def updateMcGlobal(self):
return
#def __del__(self):
from . import I_REGLE
class PRESENT_ABSENT(I_REGLE.REGLE):
- def purge_liste(self,liste_a_purger,listeMcPresents):
+ def purgeListe(self,liste_a_purger,listeMcPresents):
regle_active=0
if self.mcs[0] in listeMcPresents:regle_active=1
if not regle_active : return liste_a_purger
from . import I_REGLE
class PRESENT_PRESENT(I_REGLE.REGLE):
- def verif_condition_regle(self,liste,l_mc_presents):
+ def verifConditionRegle(self,liste,l_mc_presents):
mc0=self.mcs[0]
for mc_present in l_mc_presents:
if mc_present == mc0 :
from . import I_ETAPE
-# import rajoutes suite a l'ajout de Build_sd --> a resorber
+# import rajoutes suite a l'ajout de buildSd --> a resorber
import sys
import traceback,types
import Noyau
from Extensions.eficas_exception import EficasException
class PROC_ETAPE(I_ETAPE.ETAPE):
- def get_sdname(self):
+ def getSdname(self):
return ""
def getSdprods(self,nom_sd):
child.replaceConcept(old_sd,sd)
#ATTENTION SURCHARGE: a garder en synchro ou a reintegrer dans le Noyau
- def Build_sd(self):
+ def buildSd(self):
"""
Methode de Noyau surchargee pour poursuivre malgre tout
si une erreur se produit pendant la creation du concept produit
"""
try:
- sd=Noyau.N_PROC_ETAPE.PROC_ETAPE.Build_sd(self)
+ sd=Noyau.N_PROC_ETAPE.PROC_ETAPE.buildSd(self)
except AsException :
# Une erreur s'est produite lors de la construction du concept
# Comme on est dans EFICAS, on essaie de poursuivre quand meme
class REGLE:
- def gettext(self):
+ def getText(self):
text = self.__class__.__name__+ ' :\n'
for mc in self.mcs :
text = text + '\t' + mc.strip() + '\n'
return text
- def purge_liste(self,liste_a_purger,listeMcPresents):
+ def purgeListe(self,liste_a_purger,listeMcPresents):
"""
Cette methode doit retirer de la liste liste_a_purger
les elements qui ne doivent plus apparaitre en fonction du contexte
# Dans le cas general on ne touche pas a la liste
return liste_a_purger
- def has_operande(self,nom):
+ def hasOperande(self,nom):
# On peut faire aussi try:self.mcs.index(nom);return 1;except:return 0
for mc in self.mcs:
if mc==nom : return 1
return 0
- def verif_condition_regle(self,liste,l_mc_presents):
+ def verifConditionRegle(self,liste,l_mc_presents):
return []
import xml.etree.ElementTree as ET
regleXml=ET.SubElement(root,'regles')
txt=""
- for mot in self.gettext().split('\n'):
+ for mot in self.getText().split('\n'):
mot.replace(' ','')
txt=txt + mot + " "
regleXml.text= txt
class UN_PARMI(I_REGLE.REGLE):
- def purge_liste(self,liste_a_purger,listeMcPresents):
+ def purgeListe(self,liste_a_purger,listeMcPresents):
regle_active=0
for mc_present in listeMcPresents:
if mc_present in self.mcs:
# pos est un item. Il faut inserer name apres pos
index = self.item.getIndex(pos) +1
elif type(name) == types.InstanceType:
- index = self.item.getIndex_child(name.nom)
+ index = self.item.getIndexChild(name.nom)
else:
- index = self.item.getIndex_child(name)
+ index = self.item.getIndexChild(name)
# si on essaye d inserer a la racine
if (isinstance(self.treeParent,JDCTree) and index==0) :
self.treeParent.buildChildren()
if self.treeParent.childrenComplete : toselect=self.treeParent.childrenComplete[index]
else: toselect=self.treeParent
- if recalcule : jdc.recalcule_etat_correlation()
+ if recalcule : jdc.recalculeEtatCorrelation()
if ret==0 :
if self.treeParent.childrenComplete :
notdeleted=self.treeParent.childrenComplete[index+1]
noeud.treeParent.item.suppItem(noeud.item)
jdc.buildChildren()
- if recalcule : jdc.recalcule_etat_correlation()
+ if recalcule : jdc.recalculeEtatCorrelation()
try : toselect=parentPosition.children[index]
except : toselect=jdc
toselect.select()
pass
if (self.item.nom == "VARIABLE" or self.item.nom == "DISTRIBUTION") and self.item.isValid():
- self.item.jdc.recalcule_etat_correlation()
+ self.item.jdc.recalculeEtatCorrelation()
if hasattr(self.item,'forceRecalcul'):
self.forceRecalculChildren(self.item.forceRecalcul)
self.editor.initModif()
- la couleur du texte
"""
# None --> fonte et couleur par defaut
- if not(hasattr(self.object,'getlabeltext')): return self.object.nom,None,None
- return self.object.getlabeltext(),None,None
+ if not(hasattr(self.object,'getLabelText')): return self.object.nom,None,None
+ return self.object.getLabelText(),None,None
def isValid(self):
return self.object.isValid()
new_exp))
if test :
# la formule est bien correcte : on sauve les nouveaux parametres
- test=self.object.update_formule_python(formule=(new_nom,new_typ,new_exp,new_arg))
+ test=self.object.updateFormulePython(formule=(new_nom,new_typ,new_exp,new_arg))
return test,erreur
# ---------------------------------------------------------------------------
if not hasattr(self.item.object,"jdc_aux") or self.item.object.jdc_aux is None:
#L'include n'est pas initialise
- self.item.object.build_include(None,"")
+ self.item.object.buildInclude(None,"")
# On cree un nouvel onglet dans le bureau
self.editor.vm.displayJDC( self.item.object.jdc_aux , self.item.object.jdc_aux.nom )
if not hasattr(self.item.object,"jdc_aux") or self.item.object.jdc_aux is None:
text="""DEBUT()
FIN()"""
- self.object.build_poursuite(None,text)
+ self.object.buildPoursuite(None,text)
# On cree un nouvel onglet dans le bureau
self.editor.vm.displayJDC( self.item.object.jdc_aux , self.item.object.jdc_aux.nom)
def getText(self):
try:
- return self.object.get_sdname()
+ return self.object.getSdname()
except:
return ''
def getMinMax(self):
""" Retourne les valeurs min et max de la definition de object """
- return self.object.get_min_max()
+ return self.object.getMinMax()
def getMultiplicite(self):
""" A preciser.
def getListeValeurs(self) :
""" Retourne la liste des valeurs de object """
- valeurs=self.object.get_liste_valeurs()
+ valeurs=self.object.getListeValeurs()
try :
if "R" in self.object.definition.type:
- clef=self.object.GetNomConcept()
+ clef=self.object.getNomConcept()
if clef in self.appli.dict_reels:
if type(valeurs) == tuple:
valeurs_reelles=[]
def getListeParamPossible(self):
liste_param=[]
- l1,l2=self.jdc.get_parametres_fonctions_avant_etape(self.get_etape())
+ l1,l2=self.jdc.getParametresFonctionsAvantEtape(self.get_etape())
for param in self.object.jdc.params:
if param.nom not in l1 : continue
encorevalide=self.valideItem(param.valeur)
#On protege la liste en entree en la copiant
valeur=list(listecourante)
if item : valeur.append(item)
- return self.object.valid_valeur_partielle(valeur)
+ return self.object.validValeurPartielle(valeur)
def valideListeComplete (self,valeur):
- return self.object.valid_valeur(valeur)
+ return self.object.validValeur(valeur)
def infoErreurItem(self) :
commentaire=""
il faut propager la destruction aux autres etapes
"""
if not valeur : valeur=self.object.valeur
- # XXX faut il vraiment appeler del_sdprod ???
- #self.object.etape.parent.del_sdprod(valeur)
+ # XXX faut il vraiment appeler delSdprod ???
+ #self.object.etape.parent.delSdprod(valeur)
self.object.etape.parent.deleteConcept(valeur)
#-----------------------------------------------
- retourne l'objet associe si on a pu interpreter (entier, reel, ASSD,...)
- retourne 'valeur' (chaine de caracteres) sinon
"""
- newvaleur=self.eval_val(valeur)
+ newvaleur=self.evalVal(valeur)
return newvaleur,1
#sortby = 'cumulative'
#ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
#ps.print_stats()
- #print (s.getvalue())
+ #print (s.getValue())
if jdc_item and self.appliEficas.ssIhm==False :
self.tree = browser.JDCTree( jdc_item, self )
Initialise un nouveau JDC vierge
"""
self.modified=1
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
texte=""
if self.code == "CARMELCND" : texte=self._newJDCCND()
"""
import Extensions.jdc_include
JdC_aux=Extensions.jdc_include.JdC_include
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
jaux=self.readercata.cata[0].JdC( procedure="",
appli=self,
tr("EFICAS ne sait pas ouvrir le type de fichier %s" ,self.appliEficas.format_fichier_in))
return None
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
jdc=self.readercata.cata[0].JdC(procedure=text,
appli=self,
cata=self.readercata.cata,
# ajoute une etape de JdC a partir d un texte
monItem=itemApres
etape=monItem.item.object
- CONTEXT.set_current_step(etape)
- etape.build_includeInclude(texte)
+ CONTEXT.setCurrentStep(etape)
+ etape.buildIncludeInclude(texte)
self.tree.racine.buildChildren()
#-----------------------------------#
# ajoute une etape de JdC a partir d un texte
monItem=itemApres
etape=monItem.item.object
- CONTEXT.set_current_step(etape)
+ CONTEXT.setCurrentStep(etape)
try :
- ok=etape.build_includeEtape(texte)
+ ok=etape.buildIncludeEtape(texte)
except :
ok=0
if not ok :
#sortby = 'cumulative'
#ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
#ps.print_stats()
- #print (s.getvalue())
+ #print (s.getValue())
Eficas.show()
sortby = 'cumulative'
ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
ps.print_stats()
- print (s.getvalue())
+ print (s.getValue())
elif not leger : monEditeur.saveFileAs(fileName=fileName)
else : monEditeur.saveFileLegerAs(fileName=fileName)
def setSuggestion(self):
- if self.monSimpDef.get_sug() != None and self.monSimpDef.get_sug() != "":
- suggere=str('<html><head/><body><p><span style=" font-size:8pt;">suggestion : ')+str(self.monSimpDef.get_sug())+"</span></p></body></html>"
+ if self.monSimpDef.getSug() != None and self.monSimpDef.getSug() != "":
+ suggere=str('<html><head/><body><p><span style=" font-size:8pt;">suggestion : ')+str(self.monSimpDef.getSug())+"</span></p></body></html>"
if hasattr(self,'lineEditVal'): self.lineEditVal.setToolTip(suggere)
def setCommentaire(self):
def setZoneInfo(self):
# info=str(self.nom)+' '
- # if self.monSimpDef.getFr() != None and self.monSimpDef.getFr() != "": info+=self.monSimpDef.get_sug() +" "
- # if self.monSimpDef.get_sug() != None and self.monSimpDef.get_sug() != "": info+="Valeur suggeree : "self.monSimpDef.get_sug()
+ # if self.monSimpDef.getFr() != None and self.monSimpDef.getFr() != "": info+=self.monSimpDef.getSug() +" "
+ # if self.monSimpDef.getSug() != None and self.monSimpDef.getSug() != "": info+="Valeur suggeree : "self.monSimpDef.getSug()
pass
def reaffiche(self):
self.liste=[]
if len(listeRegles) > 0:
for regle in listeRegles :
- texteRegle=regle.gettext()
+ texteRegle=regle.getText()
texteMauvais,test = regle.verif(listeNomsEtapes)
for ligne in texteRegle.split("\n") :
if ligne == "" : continue
def creeListeCommande(self,filtre):
- listeGroupes,dictGroupes=self.jdc.get_groups()
+ listeGroupes,dictGroupes=self.jdc.getGroups()
sensibleALaCasse=self.RBCasse.isChecked()
if "CACHE" in dictGroupes:
aExclure=dictGroupes["CACHE"]
else :
self.buttonGroup.buttonClicked.connect(self.rbClique)
elif self.boolGroupe==1 :
- listeGroupes,dictGroupes=self.jdc.get_groups()
+ listeGroupes,dictGroupes=self.jdc.getGroups()
for grp in listeGroupes:
if grp == "CACHE" : continue
label=QLabel(self)
self.editor.afficheInfos(erreur,Qt.red)
return
- test=self.node.item.object.update_formule_python(formule=(nomFormule,"REEL",arguments,expression))
+ test=self.node.item.object.updateFormulePython(formule=(nomFormule,"REEL",arguments,expression))
test,erreur = self.node.item.saveFormule(nomFormule,"REEL",arguments,expression)
if test :
self.node.onValid()
def nbDeVariables(self):
jdc=self.node.item.object.jdc
etape=self.node.item.object.etape
- self.listeVariables=jdc.get_variables(etape)
+ self.listeVariables=jdc.getVariables(etape)
if self.listeVariables == [] :
QMessageBox.critical( self, tr("Mauvaise Commande "),tr( "Aucune variable connue"))
return
def nNbDeDistributions(self):
jdc=self.node.item.object.jdc
etape=self.node.item.object.etape
- self.listeVariables=jdc.get_distributions(etape)
+ self.listeVariables=jdc.getDistributions(etape)
if self.listeVariables == [] :
QMessageBox.critical( self, tr("Mauvaise Commande "),tr( "Aucune variable connue"))
return
#if self.objSimp.parent.nom == "MODEL" :
# if self.objSimp.isValid():
# self.objSimp.parent.change_fichier="1"
- #self.node.item.parent.build_include(None,"")
+ #self.node.item.parent.buildInclude(None,"")
return valeur,validite,commentaire
if self.node.item.waitTxm() and not( type(valeur) == str) : valeur=str(valeur)
- testtype,commentaire = self.node.item.object.verif_type(valeur)
+ testtype,commentaire = self.node.item.object.verifType(valeur)
if not testtype :
return valeur,0,commentaire
clef=eval(texteValeur)
if str(clef) != str(texteValeur) :
self.node.item.object.initModif()
- clefobj=self.node.item.object.GetNomConcept()
+ clefobj=self.node.item.object.getNomConcept()
if not clefobj in self.parent.appliEficas.dict_reels:
self.parent.appliEficas.dict_reels[clefobj] = {}
self.parent.appliEficas.dict_reels[clefobj][clef]=texteValeur
if not self.node.item.object.etape in self.parent.appliEficas.dict_reels :
self.parent.appliEficas.dict_reels[self.node.item.object.etape] = {}
self.parent.appliEficas.dict_reels[self.node.item.object.etape][clef]=texteValeur
- self.node.item.object.fin_modif()
+ self.node.item.object.finModif()
except:
pass
if self.node.waitTxm() and not self.isParam(valeur) : return "'"+str(valeur)+"'"
else : return(valeur)
if "R" in self.node.item.object.definition.type:
- clefobj=self.node.item.object.GetNomConcept()
+ clefobj=self.node.item.object.getNomConcept()
if clefobj in self.parent.appliEficas.dict_reels:
if valeur in self.parent.appliEficas.dict_reels[clefobj] :
valeurTexte=self.parent.appliEficas.dict_reels[clefobj][valeur]
if str(texteValeur)[0] != "'":
clef=eval(texteValeur)
if str(clef) != str(texteValeur) :
- clefobj=self.node.item.object.GetNomConcept()
+ clefobj=self.node.item.object.getNomConcept()
if not clefobj in self.parent.appliEficas :
self.parent.appliEficas.dict_reels[clefobj] = {}
self.parent.appliEficas.dict_reels[clefobj][clef]=texteValeur
if not valide :
try :
valeur,valide=self.node.item.evalValeur(valeur)
- valide,commentaire2 = self.node.item.object.verif_type(valeur)
+ valide,commentaire2 = self.node.item.object.verifType(valeur)
except :
#return testtype,commentaire,"",listeRetour
pass
self.cr.fatal(
_(u"Argument(s) non permis : %r pour la règle : %s"), l, txt)
- def check_definition(self, parent):
+ def checkDefinition(self, parent):
"""Verifie la definition d'un objet composite (commande, fact, bloc)."""
args = self.entites.copy()
mcs = set()
# if val.max != 1 and val.type == 'TXM':
# print "#CMD", parent, nom
elif val.label == 'FACT':
- val.check_definition(parent)
+ val.checkDefinition(parent)
# CALC_SPEC !
# assert self.label != 'FACT', \
#'Commande %s : Mot-clef facteur present sous un mot-clef facteur : interdit !' \
# niveau
for nom, val in list(args.items()):
if val.label == 'BLOC':
- mcbloc = val.check_definition(parent)
+ mcbloc = val.checkDefinition(parent)
# XXX
# print "#BLOC", parent, re.sub('\s+', ' ', val.condition)
assert mcs.isdisjoint(mcbloc), "Commande %s : Mot(s)-clef(s) vu(s) plusieurs fois : %s" \
self.mc_globaux = {}
self.sd = None
self.actif = 1
- self.make_register()
+ self.makeRegister()
self.icmd = None
- def make_register(self):
+ def makeRegister(self):
"""
Initialise les attributs jdc, id, niveau et realise les
enregistrements necessaires
"""
self.mc_liste = self.build_mc()
- def Build_sd(self, nom):
+ def buildSd(self, nom):
"""
Construit le concept produit de l'operateur. Deux cas
peuvent se presenter :
"""
return self.actif
- def set_current_step(self):
+ def setCurrentStep(self):
"""
Methode utilisee pour que l etape self se declare etape
courante. Utilise par les macros
raise AsException("L'etape courante", cs.nom, cs,
"devrait etre le parent de", self.nom, self)
else:
- CONTEXT.unset_current_step()
- CONTEXT.set_current_step(self)
+ CONTEXT.unsetCurrentStep()
+ CONTEXT.setCurrentStep(self)
- def reset_current_step(self):
+ def resetCurrentStep(self):
"""
Methode utilisee par l'etape self qui remet son etape parent comme
etape courante
raise AsException("L'etape courante", cs.nom, cs,
"devrait etre", self.nom, self)
else:
- CONTEXT.unset_current_step()
- CONTEXT.set_current_step(self.parent)
+ CONTEXT.unsetCurrentStep()
+ CONTEXT.setCurrentStep(self.parent)
def issubstep(self, etape):
"""
Cette methode execute le jeu de commandes compile dans le contexte
self.g_context de l'objet JDC
"""
- CONTEXT.set_current_step(self)
+ CONTEXT.setCurrentStep(self)
# Le module nommage utilise le module linecache pour acceder
# au source des commandes du jeu de commandes.
# Dans le cas d'un fichier, on accède au contenu de ce fichier
self.const_context = self.g_context
exec(self.proc_compile, self.g_context)
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
if self.appli != None:
self.appli.afficheInfos('')
# de commandes avant la fin
# Fonctionnement normal, ne doit pas etre considere comme une
# erreur
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
self.affiche_fin_exec()
self.traiter_fin_exec('commande')
if txt.find('MemoryError') >= 0:
txt = MemoryErrorMsg
self.cr.exception(txt)
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
except NameError as e:
etype, value, tb = sys.exc_info()
if CONTEXT.debug:
traceback.print_exc()
self.cr.exception(msg)
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
# except self.UserError as exc_val:
# self.traiter_user_exception(exc_val)
- # CONTEXT.unset_current_step()
+ # CONTEXT.unsetCurrentStep()
# self.affiche_fin_exec()
# self.traiter_fin_exec('commande')
self.cr.exception(
"erreur non prevue et non traitee prevenir la maintenance " + '\n' + ''.join(l))
del exc_typ, exc_val, exc_fr
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
def affiche_fin_exec(self):
"""
Cette methode a pour fonction d'ouvrir un interpreteur
pour que l'utilisateur entre des commandes interactivement
"""
- CONTEXT.set_current_step(self)
+ CONTEXT.setCurrentStep(self)
try:
# Le module nommage utilise le module linecache pour acceder
# au source des commandes du jeu de commandes.
console.interact(banner)
finally:
console = None
- CONTEXT.unset_current_step()
+ CONTEXT.unsetCurrentStep()
def getContexte_avant(self, etape):
"""
self.niveau.enregistre(self)
self.UIinfo = UIinfo
self.affecter_parente()
- self.check_definition(self.nom)
+ self.checkDefinition(self.nom)
def __call__(self, reuse=None, **args):
"""
Construit l'objet MACRO_ETAPE a partir de sa definition (self),
puis demande la construction de ses sous-objets et du concept produit.
"""
- nomsd = self.nommage.GetNomConceptResultat(self.nom)
+ nomsd = self.nommage.getNomConceptResultat(self.nom)
etape = self.class_instance(oper=self, reuse=reuse, args=args)
etape.McBuild()
- return etape.Build_sd(nomsd)
+ return etape.buildSd(nomsd)
def make_objet(self, mc_list='oui'):
"""
# permet de stocker le nom du dernier concept nomme dans la macro
self.last = None
- def make_register(self):
+ def makeRegister(self):
"""
Initialise les attributs jdc, id, niveau et realise les enregistrements
necessaires
"""
- N_ETAPE.ETAPE.make_register(self)
+ N_ETAPE.ETAPE.makeRegister(self)
if self.parent:
self.UserError = self.jdc.UserError
else:
self.UserError = "UserError"
- def Build_sd(self, nom):
+ def buildSd(self, nom):
"""
Construit le concept produit de l'operateur. Deux cas
peuvent se presenter :
# On positionne la macro self en tant que current_step pour que les
# etapes creees lors de l'appel a sd_prod et a op_init aient la macro
# comme parent
- self.set_current_step()
+ self.setCurrentStep()
if self.parent:
sd = self.parent.create_sdprod(self, nom)
if type(self.definition.op_init) == types.FunctionType:
# On ne nomme le concept que dans le cas de non reutilisation
# d un concept
sd.set_name(nom)
- self.reset_current_step()
+ self.resetCurrentStep()
except AsException as e:
- self.reset_current_step()
+ self.resetCurrentStep()
raise AsException("Etape ", self.nom, 'ligne : ', self.appel[0],
'fichier : ', self.appel[1], e)
#except (EOFError, self.UserError):
except (EOFError):
# Le retablissement du step courant n'est pas strictement
# necessaire. On le fait pour des raisons de coherence
- self.reset_current_step()
+ self.resetCurrentStep()
raise
except:
- self.reset_current_step()
+ self.resetCurrentStep()
l = traceback.format_exception(
sys.exc_info()[0], sys.exc_info()[1], sys.exc_info()[2])
raise AsException("Etape ", self.nom, 'ligne : ', self.appel[0],
for co in self.sdprods:
d[co.nom] = co
- def make_include(self, unite=None, fname=None):
+ def makeInclude(self, unite=None, fname=None):
"""Inclut un fichier dont l'unite logique est `unite` ou de nom `fname`"""
if unite is not None:
warn("'unite' is deprecated, please use 'fname' instead",
self.fichier_init = f
if f == None:
return
- self.make_contexte(f, text)
+ self.makeContexte(f, text)
- def make_poursuite(self):
+ def makePoursuite(self):
"""Inclut un fichier poursuite"""
raise NotImplementedError('this method must be derivated (in Eficas)')
- def make_contexte(self, f, text):
+ def makeContexte(self, f, text):
"""
Interprete le texte fourni (text) issu du fichier f
dans le contexte du parent.
Seulement pour IHM graphique
"""
if self.jdc and self.jdc.cata_ordonne_dico != None:
- liste_noms_mc_ordonnee = self.getListeMcOrdonnee_brute(
+ liste_noms_mc_ordonnee = self.getListeMcOrdonneeBrute(
self.getGenealogie(), self.jdc.cata_ordonne_dico)
- return self.ordonne_liste_mc(mc_liste, liste_noms_mc_ordonnee)
+ return self.ordonneListeMc(mc_liste, liste_noms_mc_ordonnee)
else:
return mc_liste
self.niveau.enregistre(self)
self.UIinfo = UIinfo
self.affecter_parente()
- self.check_definition(self.nom)
+ self.checkDefinition(self.nom)
def __call__(self, reuse=None, **args):
"""
Construit l'objet ETAPE a partir de sa definition (self),
puis demande la construction de ses sous-objets et du concept produit.
"""
- nomsd = self.nommage.GetNomConceptResultat(self.nom)
+ nomsd = self.nommage.getNomConceptResultat(self.nom)
etape = self.class_instance(oper=self, reuse=reuse, args=args)
etape.McBuild()
- return etape.Build_sd(nomsd)
+ return etape.buildSd(nomsd)
def make_objet(self, mc_list='oui'):
"""
self.niveau.enregistre(self)
self.UIinfo = UIinfo
self.affecter_parente()
- self.check_definition(self.nom)
+ self.checkDefinition(self.nom)
def __call__(self, **args):
"""
"""
etape = self.class_instance(oper=self, args=args)
etape.McBuild()
- return etape.Build_sd()
+ return etape.buildSd()
def make_objet(self, mc_list='oui'):
"""
N_ETAPE.ETAPE.__init__(self, oper, reuse=None, args=args, niveau=5)
self.reuse = None
- def Build_sd(self):
+ def buildSd(self):
"""
Cette methode applique la fonction op_init au contexte du parent
et lance l'exécution en cas de traitement commande par commande
self._modes = { 'ENSEMBLE' : 0, 'SEPARE' : 1 }
self.mode = self._modes.get(mode, self._modes['ENSEMBLE'])
- def gettext(self):
+ def getText(self):
"""Pour EFICAS
"""
return ''
REGLE.__init__(self)
self.mocle = mocle
- def gettext(self):
+ def getText(self):
"""Pour EFICAS
"""
return ''
REGLE.__init__(self)
self.mocle = mocle
- def gettext(self):
+ def getText(self):
"""Pour EFICAS
"""
return ''
if parent.get_child(self.MotClef) == None : longueur=0
else : longueur=len(parent.get_child(self.MotClef))
- pos=parent.getIndex_child(self.MCSimp.nom)+1
+ pos=parent.getIndexChild(self.MCSimp.nom)+1
while longueur < valeur :
parent.inhibeValidator=1
parent.addEntite(self.MotClef,pos)
"""
# Avant toutes choses, on met le module context dans le global de l'interpreteur (__builtin__)
# sous le nom CONTEXT afin d'avoir acces aux fonctions
-# get_current_step, set_current_step et unset_current_step de n'importe ou
+# get_current_step, setCurrentStep et unsetCurrentStep de n'importe ou
from __future__ import absolute_import
from . import context
# (Build ne fait rien pour une etape)
-def set_current_step(step):
+def setCurrentStep(step):
"""
Fonction qui permet de changer la valeur de l'etape courante
"""
return _root
-def unset_current_step():
+def unsetCurrentStep():
"""
Fonction qui permet de remettre a None l'etape courante
"""
"""
Ce module sert à nommer les concepts produits par les commandes.
- Le nom du concept est obtenu en appelant la fonction GetNomConceptResultat
+ Le nom du concept est obtenu en appelant la fonction getNomConceptResultat
du module avec le nom de la commande en argument.
Cette fonction parcourt le source dans lequel la commande se trouve, parse le
pattern_comment = re.compile(r"^\s*#.*")
-def _GetNomConceptResultat(ope, level=2):
+def _getNomConceptResultat(ope, level=2):
"""
Cette fonction recherche dans la pile des appels, l'appel à la commande
qui doit etre situé à 2 niveaux au-dessus (cur_frame(2)).
def __init__(self):
"""Initialisation"""
- self.native = _GetNomConceptResultat
+ self.native = _getNomConceptResultat
self.use_global_naming()
def use_naming_function(self, function):
"""Appel à la fonction de nommage."""
return self.naming_func(*args)
-GetNomConceptResultat = NamingSystem()
+getNomConceptResultat = NamingSystem()
#@ MODIF __init__ Cata DATE 20/09/2004 AUTEUR DURAND C.DURAND
# -*- coding: iso-8859-1 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
class cham_mater(ASSD):
cata_sdj = "SD.sd_cham_mater.sd_cham_mater"
- def get_vale_ref(self, nom_varc):
+ def getVale_ref(self, nom_varc):
"""Retourne la valeur de référence de `nom_varc`."""
from SD.sd_carte import sd_carte
nom_varc = nom_varc.strip()
"""
l_typ = [AsType(TABLE),]
for mcf in ACTION:
- dmc = mcf.cree_dict_valeurs(mcf.mc_liste)
+ dmc = mcf.creeDictValeurs(mcf.mc_liste)
if dmc.get('TABLE') != None:
l_typ.append(AsType(dmc['TABLE']))
# une table_fonction étant une table
# person_in_charge: mathieu.courtois at edf.fr
INCLUDE=MACRO(nom="INCLUDE",
- op=OPS("Cata.ops.build_include"),
+ op=OPS("Cata.ops.buildInclude"),
UIinfo={"groupes":("Gestion du travail",)},
fr="Débranchement vers un fichier de commandes secondaires",
sd_prod=ops.INCLUDE,
POST_DYNA_ALEA=MACRO(nom="POST_DYNA_ALEA",
op=OPS('Macro.post_dyna_alea_ops.post_dyna_alea_ops'),
sd_prod=table_sdaster,
- fr="Traitements statistiques de résultats de type interspectre " \
+ fr="traitements statistiques de résultats de type interspectre " \
"et impression sur fichiers",
reentrant='n',
UIinfo={"groupes":("Post-traitements","Dynamique",)},
# person_in_charge: j-pierre.lefebvre at edf.fr
POURSUITE=MACRO(nom="POURSUITE",
- op=OPS("Cata.ops.build_poursuite"),
+ op=OPS("Cata.ops.buildPoursuite"),
repetable='n',
fr="Poursuite d'une étude à partir de la sauvegarde au format JEVEUX " \
"ou HDF de sa base globale",
# POURSUITE
if hasattr(self,'fichier_init'):
return
- self.make_poursuite()
+ self.makePoursuite()
def get_pickled_context():
"""
# Une commande POURSUITE n'est possible qu'au niveau le plus haut
# On ajoute directement les concepts dans le contexte du jdc
-def build_poursuite(self,**args):
+def buildPoursuite(self,**args):
"""
Fonction ops pour la macro POURSUITE
"""
fname = osp.join(repdex, fname)
try:
if aster_exists:
- self.make_include(fname=fname)
+ self.makeInclude(fname=fname)
else:
# dans eficas
if UNITE:
- self.make_include(unite=UNITE)
+ self.makeInclude(unite=UNITE)
else:
- self.make_include(fname=fname)
+ self.makeInclude(fname=fname)
except Accas.AsException:
if aster_exists:
UTMESS('F+', 'FICHIER_1', valk=fname)
ctxt = self.g_context
d.update(ctxt)
-def build_include(self,**args):
+def buildInclude(self,**args):
"""Fonction ops de la macro INCLUDE appelée lors de la phase de Build"""
# Pour presque toutes les commandes (sauf FORMULE et POURSUITE)
# le numéro de la commande n est pas utile en phase de construction
# "suppression" du concept
co.supprime()
# On signale au parent que le concept n'existe plus après l'étape self
- self.parent.delete_concept_after_etape(self, co)
+ self.parent.deleteConceptAfterEtape(self, co)
# marque comme détruit == non executé
co.executed = 0
])
copyfiles('../Aster/Cata',os.path.join(path_distrib,'Aster'),['aster.py',])
copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py'])
- copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py'])
+ copyfiles('../convert/parserv5',os.path.join(path_distrib,'convert','parserv5'),['*.py'])
copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py'])
import os\r
\r
\r
-class CONFIG(configuration.CONFIG_BASE):\r
+class CONFIG(configuration.configBase):\r
\r
#-----------------------------------\r
def __init__(self,appli,repIni):\r
self.labels_user=['exec_acrobat', 'catalogues','savedir','lang']\r
self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues']\r
\r
- configuration.CONFIG_BASE.__init__(self,appli,repIni)\r
+ configuration.configBase.__init__(self,appli,repIni)\r
\r
\r
def make_config(appli,rep):\r
+++ /dev/null
-configuration_ASTER.py
\ No newline at end of file
--- /dev/null
+# -*- coding: utf-8 -*-\r
+# Copyright (C) 2007-2012 EDF R&D\r
+#\r
+# This library is free software; you can redistribute it and/or\r
+# modify it under the terms of the GNU Lesser General Public\r
+# License as published by the Free Software Foundation; either\r
+# version 2.1 of the License.\r
+#\r
+# This library is distributed in the hope that it will be useful,\r
+# but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\r
+# Lesser General Public License for more details.\r
+#\r
+# You should have received a copy of the GNU Lesser General Public\r
+# License along with this library; if not, write to the Free Software\r
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA\r
+#\r
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com\r
+#\r
+"""\r
+ Ce module sert pour charger les parametres de configuration d'EFICAS\r
+"""\r
+# Modules Python\r
+import configuration\r
+import os\r
+\r
+\r
+class CONFIG(configuration.configBase):\r
+\r
+ #-----------------------------------\r
+ def __init__(self,appli,repIni):\r
+ #-----------------------------------\r
+\r
+ self.labels_user=['exec_acrobat', 'catalogues','savedir','lang']\r
+ self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues']\r
+\r
+ configuration.configBase.__init__(self,appli,repIni)\r
+\r
+\r
+def make_config(appli,rep):\r
+ return CONFIG(appli,rep)\r
+\r
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
+++ /dev/null
-prefs_ASTER.py
\ No newline at end of file
--- /dev/null
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2012 EDF R&D
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+import os
+
+# repIni sert a localiser le fichier editeur.ini
+# Obligatoire
+repIni=os.path.dirname(os.path.abspath(__file__))
+rep_cata = os.path.join(repIni,'Cata')
+mode_nouv_commande='alpha'
+
+
+# lang indique la langue utilisee pour les chaines d'aide : fr ou ang
+lang='fr'
+
+# Codage des strings qui accepte les accents (en remplacement de 'ascii')
+encoding='iso-8859-1'
+
+# Utilisateur/Developpeur
+isdeveloppeur = "NON"
+
+rep_mat_STA88=os.path.join(rep_cata,'cataSTA8','materiau')
+rep_mat_STA98=os.path.join(rep_cata,'cataSTA9','materiau')
+rep_mat_STA103=os.path.join(rep_cata,'cataSTA10','materiau')
+
+#path_doc="/local/noyret/Docs"
+rep_doc_STA88="/local/noyret/Docs"
+rep_doc_STA103="/local/noyret/Docs"
+rep_doc_STA11="/local/noyret/Docs/cataSTA11c_clefs_docu"
+
+# Choix des catalogues
+catalogues=(
+#('ASTER','STA8.8',os.path.join(rep_cata,'cataSTA8'),'python'),
+#('ASTER','STA9.8',os.path.join(rep_cata,'cataSTA9'),'python'),
+#('ASTER','STA10.3',os.path.join(rep_cata,'cataSTA10'),'python'),
+#('ASTER','STA11',os.path.join(rep_cata,'cataSTA11'),'python','defaut'),
+('ASTER','STA12',os.path.join(rep_cata,'cataSTA12'),'python','defaut'),
+)
+exec_acrobat = '/usr/bin/xgd-open'
+
+
+def addCatalog(catalogName, catalogPath):
+ """
+ This function helps you to add a new catalog dynamically
+ """
+ global catalogues
+ item=('ASTER',catalogName,catalogPath,'python')
+ catalogues+=(item,)
+
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
# ______________________
copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py'])
- copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py'])
+ copyfiles('../convert/parserv5',os.path.join(path_distrib,'convert','parserv5'),['*.py'])
copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py'])
copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif','*.png'])
copyfiles('../Editeur/Patrons',os.path.join(path_distrib,'Editeur','Patrons'),['*.com*'])
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
# -*- coding: utf-8 -*-\r
-# CONFIGURATION MANAGEMENT OF EDF VERSION\r
+# maConfiguration MANAGEMENT OF EDF VERSION\r
# ======================================================================\r
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG\r
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY\r
import os\r
\r
\r
-class CONFIG(configuration.CONFIG_BASE):\r
+class CONFIG(configuration.configBase):\r
\r
#-----------------------------------\r
def __init__(self,appli,repIni):\r
self.labels_user=['catalogues','lang']\r
self.labels_eficas=['lang','rep_cata','catalogues']\r
\r
- configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode')\r
+ configuration.configBase.__init__(self,appli,'.Eficas_monCode')\r
\r
\r
def make_config(appli,rep):\r
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
# -*- coding: utf-8 -*-\r
-# CONFIGURATION MANAGEMENT OF EDF VERSION\r
+# maConfiguration MANAGEMENT OF EDF VERSION\r
# ======================================================================\r
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG\r
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY\r
import os\r
\r
\r
-class CONFIG(configuration.CONFIG_BASE):\r
+class CONFIG(configuration.configBase):\r
\r
#-----------------------------------\r
def __init__(self,appli,repIni):\r
self.labels_user=['catalogues','lang']\r
self.labels_eficas=['lang','rep_cata','catalogues']\r
\r
- configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode')\r
+ configuration.configBase.__init__(self,appli,'.Eficas_monCode')\r
\r
\r
def make_config(appli,rep):\r
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
CorrelationMatrix = SIMP ( statut = "o",
typ = Matrice(nbLigs=None,
nbCols=None,
- methodeCalculTaille='NbDeVariables',
+ methodeCalculTaille='nbDeVariables',
valSup=1,
valMin=-1,
structure="symetrique"),
CorrelationMatrix = SIMP ( statut = "o",
typ = Matrice(nbLigs=None,
nbCols=None,
- methodeCalculTaille='NbDeVariables',
+ methodeCalculTaille='nbDeVariables',
valSup=1,
valMin=-1,
structure="symetrique"),
CorrelationMatrix = SIMP ( statut = "o",
typ = Matrice(nbLigs=None,
nbCols=None,
- methodeCalculTaille='NbDeVariables',
+ methodeCalculTaille='nbDeVariables',
valSup=1,
valMin=-1,
structure="symetrique"),
CorrelationMatrix = SIMP ( statut = "o",
typ = Matrice(nbLigs=None,
nbCols=None,
- methodeCalculTaille='NbDeVariables',
+ methodeCalculTaille='nbDeVariables',
valSup=1,
valMin=-1,
structure="symetrique"),
import os\r
\r
\r
-class CONFIG(configuration.CONFIG_BASE):\r
+class CONFIG(configuration.configBase):\r
\r
#-----------------------------------\r
def __init__(self,appli,repIni):\r
self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc']\r
self.labels_eficas=["OpenTURNS_path","path_doc","exec_acrobat"]\r
self.labels_eficas=self.labels_eficas+["rep_cata","lang","catalogues"]\r
- configuration.CONFIG_BASE.__init__(self,appli,repIni)\r
+ configuration.configBase.__init__(self,appli,repIni)\r
\r
#---------------------------------------\r
def lecture_fichier_ini_standard(self):\r
#---------------------------------------\r
- configuration.CONFIG_BASE.lecture_fichier_ini_standard(self)\r
+ configuration.configBase.lecture_fichier_ini_standard(self)\r
if hasattr(self,'OpenTURNS_path') : self.oldOTPath=self.OpenTURNS_path\r
\r
#---------------------------------------\r
def lecture_fichier_ini_integrateur(self):\r
#---------------------------------------\r
- configuration.CONFIG_BASE.lecture_fichier_ini_utilisateur(self)\r
+ configuration.configBase.lecture_fichier_ini_utilisateur(self)\r
if hasattr(self,'OpenTURNS_path') :\r
if hasattr(self,'oldOTPath') and (self.OpenTURNS_path != self.oldOTPath):\r
import sys\r
delattr(self,'change_fichier')
delattr(self,'fichier_ini')
- self.make_include2(fichier=FileName)
+ self.makeInclude2(fichier=FileName)
def INCLUDE_context(self,d):
"""
# -*- coding: utf-8 -*-
#@ MODIF properties Accas DATE 10/10/2002 AUTEUR gcbhhhh M.ADMINISTRATEUR
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# RESPONSABLE D6BHHHH J-P.LEFEBVRE
# ======================================================================
# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
# ______________________
copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py'])
- copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py'])
+ copyfiles('../convert/parserv5',os.path.join(path_distrib,'convert','parserv5'),['*.py'])
copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py'])
copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif'])
copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.png'])
import os\r
\r
\r
-class CONFIG(configuration.CONFIG_BASE):\r
+class CONFIG(configuration.configBase):\r
\r
#-----------------------------------\r
def __init__(self,appli,repIni):\r
self.labels_user=['exec_acrobat', 'catalogues','savedir','path_doc']\r
self.labels_eficas=["OpenTURNS_path","path_doc","exec_acrobat"]\r
self.labels_eficas=self.labels_eficas+["rep_cata","lang","catalogues"]\r
- configuration.CONFIG_BASE.__init__(self,appli,repIni)\r
+ configuration.configBase.__init__(self,appli,repIni)\r
\r
#---------------------------------------\r
def lecture_fichier_ini_standard(self):\r
#---------------------------------------\r
- configuration.CONFIG_BASE.lecture_fichier_ini_standard(self)\r
+ configuration.configBase.lecture_fichier_ini_standard(self)\r
if hasattr(self,'OpenTURNS_path') : self.oldOTPath=self.OpenTURNS_path\r
\r
#---------------------------------------\r
def lecture_fichier_ini_integrateur(self):\r
#---------------------------------------\r
- configuration.CONFIG_BASE.lecture_fichier_ini_utilisateur(self)\r
+ configuration.configBase.lecture_fichier_ini_utilisateur(self)\r
if hasattr(self,'OpenTURNS_path') :\r
if hasattr(self,'oldOTPath') and (self.OpenTURNS_path != self.oldOTPath):\r
import sys\r
# -*- coding: utf-8 -*-
#@ MODIF properties Accas DATE 10/10/2002 AUTEUR gcbhhhh M.ADMINISTRATEUR
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# RESPONSABLE D6BHHHH J-P.LEFEBVRE
# ======================================================================
# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
# ______________________
copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py'])
- copyfiles('../convert/Parserv5',os.path.join(path_distrib,'convert','Parserv5'),['*.py'])
+ copyfiles('../convert/parserv5',os.path.join(path_distrib,'convert','parserv5'),['*.py'])
copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py'])
copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif'])
copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.png'])
# -*- coding: utf-8 -*-\r
-# CONFIGURATION MANAGEMENT OF EDF VERSION\r
+# maConfiguration MANAGEMENT OF EDF VERSION\r
# ======================================================================\r
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG\r
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY\r
import os\r
\r
\r
-class CONFIG(configuration.CONFIG_BASE):\r
+class CONFIG(configuration.configBase):\r
\r
#-----------------------------------\r
def __init__(self,appli,repIni):\r
self.labels_user=['catalogues','lang']\r
self.labels_eficas=['lang','rep_cata','catalogues']\r
\r
- configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode')\r
+ configuration.configBase.__init__(self,appli,'.Eficas_monCode')\r
\r
\r
def make_config(appli,rep):\r
print "dans processXLS"
item=listeparam[0]
fileNameObj=item.object.get_child('XLS_file')
- if fileNameObj : fileName=fileNameObj.get_valeur()
+ if fileNameObj : fileName=fileNameObj.getValeur()
else : fileName = ""
if fileName == "" : return 0, 'Nom de fichier invalide'
ongletListObj=item.object.get_child('Onglets')
- if ongletListObj : ongletList= ongletListObj.get_valeur()
+ if ongletListObj : ongletList= ongletListObj.getValeur()
else : ongletList = []
if ongletList == [] : return 0, 'ongletList invalide'
busListObj=item.object.get_child('BusList')
- if busListObj : busList= busListObj.get_valeur()
+ if busListObj : busList= busListObj.getValeur()
else : busList = []
if busList == [] : return 0, 'BusList invalide'
contListObj=item.object.get_child('ContList')
- if contListObj : contList=contListObj.get_valeur()
+ if contListObj : contList=contListObj.getValeur()
else : contList = []
if contList == [] : return 0, 'ContList invalide'
if self.fichier_ini == CaseFolder : return
if hasattr(self,'old_context_fichier_init' ):
for concept in self.old_context_fichier_init.values():
- self.jdc.delete_concept(concept)
+ self.jdc.deleteConcept(concept)
self.jdc_aux=None
self.contexte_fichier_init={}
- self.reevalue_sd_jdc()
- self.jdc.reset_context()
+ self.reevalueSdJdc()
+ self.jdc.resetContext()
self.fichier_ini=CaseFolder
self.contexte_fichier_init = {}
self.OngletsValeurs=[]
else :
# On teste si on a modifie la liste des onglets
- OngletsValeurs= self.get_child('Onglets').getval()
+ OngletsValeurs= self.get_child('Onglets').getVal()
if not (hasattr(self,'OngletsValeurs')) : self.OngletsValeurs=OngletsValeurs
self.OngletsValeurs=[]
return
- OldBusValeurs= self.get_child('BusList').getval()
- OldContValeurs= self.get_child('ContList').getval()
+ OldBusValeurs= self.get_child('BusList').getVal()
+ OldContValeurs= self.get_child('ContList').getVal()
if OldBusValeurs == None : OldBusValeurs=[]
if OldContValeurs == None : OldContValeurs=[]
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
import os
-class CONFIG(configuration.CONFIG_BASE):
+class CONFIG(configuration.configBase):
#-----------------------------------
def __init__(self,appli,repIni):
self.labels_eficas=['path_doc','exec_acrobat','lang','rep_cata','catalogues']
self.INSTALLDIR =os.path.dirname(__file__)
- configuration.CONFIG_BASE.__init__(self,appli,repIni)
+ configuration.configBase.__init__(self,appli,repIni)
# ______________________
copyfiles('../convert',os.path.join(path_distrib,'convert'),['*.py'])
- os.system("rm -rf .././convert/Parserv5 ")
+ os.system("rm -rf .././convert/parserv5 ")
os.system("rm -rf .././convert/convert_asterv5.py ")
copyfiles('../generator',os.path.join(path_distrib,'generator'),['*.py'])
copyfiles('../Editeur/icons',os.path.join(path_distrib,'Editeur','icons'),['*.gif'])
# -*- coding: utf-8 -*-\r
-# CONFIGURATION MANAGEMENT OF EDF VERSION\r
+# maConfiguration MANAGEMENT OF EDF VERSION\r
# ======================================================================\r
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG\r
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY\r
import os\r
\r
\r
-class CONFIG(configuration.CONFIG_BASE):\r
+class CONFIG(configuration.configBase):\r
\r
#-----------------------------------\r
def __init__(self,appli,repIni):\r
self.labels_user=['catalogues','lang']\r
self.labels_eficas=['lang','rep_cata','catalogues']\r
\r
- configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode')\r
+ configuration.configBase.__init__(self,appli,'.Eficas_monCode')\r
\r
\r
def make_config(appli,rep):\r
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
DICO_EXT = '.dico'
-class DicoParser:
+class Dicoparser:
def __init__( self, theFileName, theStartAttr, theIndexAttr ):
if theFileName=='':
return
class Test1( unittest.TestCase ):
def runTest(self):
- d = dicoparser.DicoParser( '', '', '' )
+ d = dicoparser.Dicoparser( '', '', '' )
t = d.parse_tokens( """
/ comment
TYPE = LOGIQUE
class Test2( unittest.TestCase ):
def runTest(self):
- d = dicoparser.DicoParser( '', '', '' )
+ d = dicoparser.Dicoparser( '', '', '' )
self.assertEqual( d.are_equal( 'WIND IN SUMMER', 'Wind_In_Summer' ), True )
self.assertEqual( d.are_equal( 'HELLO', 'Bonjour' ), False )
self.assertEqual( d.are_equal( 'MAXIMUM NUMBER OF ITERATIONS FOR SOLVER', 'Maximum_Number_Of_Iterations_For_Solver' ), True )
class Test3( unittest.TestCase ):
def runTest(self):
- d = dicoparser.DicoParser( 'test', 'NOM', 'NOM1' )
+ d = dicoparser.Dicoparser( 'test', 'NOM', 'NOM1' )
#print d.data.keys()
#for aKey, aValue in d.data['TYPE OF ADVECTION'].iteritems():
# print aKey, aValue
class Test4( unittest.TestCase ):
def runTest(self):
- d = dicoparser.DicoParser( 'telemac2dv6p3.dico', 'NOM', 'NOM1' )
+ d = dicoparser.Dicoparser( 'telemac2dv6p3.dico', 'NOM', 'NOM1' )
self.assertEqual( d.translate( 'Reference_File_Format', 'NOM' ), 'Format Du Fichier De Reference' )
self.assertEqual( d.translate( 'Reference_File_Format', '', 'Serafin', 'CHOIX1', 'CHOIX' ), 'Serafin' )
self.assertEqual( d.translate( 'Reference_File_Format', '', 'Serafin', 'DEFAUT1', 'DEFAUT' ), 'Serafin' )
class Test5( unittest.TestCase ):
def runTest(self):
- d = dicoparser.DicoParser( '', '', '' )
+ d = dicoparser.Dicoparser( '', '', '' )
t = d.parse_tokens( """
CHOIX = '" "="pas de biliotheque"';
'"$PVM_ROOT/lib/$PVM_ARCH/libpvm3.a"="bibliotheque PVM1"'
def translate( theDicoFile, theCataFile, theTSFile, theNotTranslatedFile = '' ):
SPECIAL = ['into', 'defaut']
- DICO = DicoParser( theDicoFile, 'NOM', 'NOM1' )
- PARSER = TSParser()
+ DICO = Dicoparser( theDicoFile, 'NOM', 'NOM1' )
+ PARSER = TSparser()
def is_ok( theName, theObject ):
ok = isinstance( theObject, N_ENTITE.ENTITE ) or theName in SPECIAL
else:
return theFileName + anExt
-class TSParser:
+class TSparser:
def __init__( self ):
self.data = {}
self.check_object = None # the function to check if the object is suitable for translation
#NetworkFile = r"C:\Users\J15773\Documents\GTDosier\PSENdocs\Victoria ALL - EFICAS PSEN\Data\2030Conv_HFP2.sav"\r
#PSSE_PATH = "C:/Program Files/PTI/PSSE33/PSSBIN" #emplacement de PSSE\r
\r
+\r
def ExtractGeneratorLoadLineandTransfoDico(NetworkFile,PSSE_PATH):\r
\r
import os\r
import sys\r
\r
- print NetworkFile\r
- print PSSE_PATH\r
sys.path.append(PSSE_PATH)\r
os.environ['PATH'] += ';' + PSSE_PATH + ';'\r
\r
\r
\r
def ExtractGeneratorLoadLineandTransfoDico2(NetworkFile,PSSE_PATH):\r
+ print ('jjjjjjjjjjjjjjjjjjjjjj')\r
+#def ExtractGeneratorLoadLineandTransfoDico(NetworkFile,PSSE_PATH):\r
MachineDico={'M1':'M1','M2':'M2','M3':'M3','M4':'M4','B6_BUS13__1':'AZ','CSPRING__1':'DD','GT12B__1':'ER','BSTMB__1':'JJ'}\r
LoadDico={'C1':'C1','C2':'C2','C3':'C3','C4':'C4'}\r
LineDico={'L1':'L1','L2':'L2','L3':'L3','L4':'L4'}\r
TfoDico={'T1':'T1','T2':'T2','T3':'T3','T4':'T4'}\r
MDico={'MZ1':'MZ1','MZ2':'MZ2','MZ3':'MZ3','MZ4':'MZ4'}\r
if NetworkFile == '/home/A96028/PSEN/PSEN_V8/Code/PSEN_Eficas/faux2.sav': \r
- print "sans T1"\r
+ print ("sans T1")\r
TfoDico={'T2':'T2','T3':'T3','T4':'T4'}\r
\r
\r
--- /dev/null
+MachineDico = {'M4': 'M4', 'M1': 'M1', 'BSTMB__1': 'JJ', 'M3': 'M3', 'M2': 'M2', 'GT12B__1': 'ER', 'B6_BUS13__1': 'AZ', 'CSPRING__1': 'DD'}
+LoadDico = {'C3': 'C3', 'C2': 'C2', 'C1': 'C1', 'C4': 'C4'}
+LineDico = {'L4': 'L4', 'L2': 'L2', 'L3': 'L3', 'L1': 'L1'}
+TransfoDico = {'T4': 'T4', 'T2': 'T2', 'T3': 'T3', 'T1': 'T1'}
+MotorDico = {'MZ4': 'MZ4', 'MZ1': 'MZ1', 'MZ2': 'MZ2', 'MZ3': 'MZ3'}
+
+Dico ={'DIRECTORY': {'PSSE_path': '/home/A96028/QT5GitEficasTravail/eficas/PSEN_Eficas/PSEN', 'sav_file': '/home/A96028/QT5GitEficasTravail/eficas/PSEN_Eficas/faux.sav', 'results_folder': '/home/A96028/QT5GitEficasTravail/eficas/PSEN_Eficas/PSEN'}, 'PSSE_PARAMETERS': {'I_MAX': 'RateA', 'FUEL_COST': True, 'ALGORITHM': 'Optimum Power Flow', 'MVAR_COST': False, 'ITERATION_LIMIT': 20, 'SAVE_CASE_BEFORE_QCONTROL': False, 'LOCK_TAPS': True, 'LOADSHEDDING_COST': False, 'QGEN_CONTROL': True}, 'CORRELATION': {'CorrelationMatrix': ["['load']", '[1.0]']}, 'DISTRIBUTIONload': {'Load': ['C1'], 'FileName': '/home/A96028/QT5GitEficasTravail/eficas/PSEN_Eficas/faux.csv', 'Activated': True, 'Sampling': 'Same sample for all loads', 'ComponentType': 'Load', 'Law': 'TimeSeries_from_file', 'Type': 'Load Level'}, 'SIMULATION': {'NUMBER_PACKAGE': 1, 'SIZE_PACKAGE': 10}}
\ No newline at end of file
\r
def commaToPoint (string) :\r
stringReplaced = string.replace(',','.')\r
- return stringReplaced
\ No newline at end of file
+ return stringReplaced\r
CorrelationMatrix = SIMP ( statut = "o",
typ = Matrice(nbLigs=None,
nbCols=None,
- methodeCalculTaille='NbDeDistributions',
+ methodeCalculTaille='nNbDeDistributions',
structure="symetrique"),
fr = "Matrice de correlation entre les variables d'entree",
ang = "Correlation matrix for input variables",
# -*- coding: utf-8 -*-\r
-# CONFIGURATION MANAGEMENT OF EDF VERSION\r
+# maConfiguration MANAGEMENT OF EDF VERSION\r
# ======================================================================\r
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG\r
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY\r
import os\r
\r
\r
-class CONFIG(configuration.CONFIG_BASE):\r
+class CONFIG(configuration.configBase):\r
\r
#-----------------------------------\r
def __init__(self,appli,repIni):\r
self.labels_user=['catalogues','lang']\r
self.labels_eficas=['lang','rep_cata','catalogues']\r
\r
- configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode')\r
+ configuration.configBase.__init__(self,appli,'.Eficas_monCode')\r
\r
\r
def make_config(appli,rep):\r
nouvelleVal=[]
prob=item.object.get_child('Probability')
- valeur=prob.get_valeur()
+ valeur=prob.getValeur()
texte=""
for v in valeur :
texte+=v[0].nom+";"+str(v[1]).replace('.',',')+"\n"
nouvelleVal=[]
prob=item.object.get_child('Probability')
monType=prob.definition.validators.typeDesTuples[0]
- listeObjet=item.object.etape.parent.get_sd_avant_du_bon_type(item.object.etape,(monType,))
+ listeObjet=item.object.etape.parent.getSdAvantDuBonType(item.object.etape,(monType,))
for ligne in fn.readlines():
try :
nom,valeur = ligne.split(';')
nouvelleVal.append((concept,valeur))
# exec nom in self.jdc
- if nouvelleVal != [] : prob.set_valeur(nouvelleVal)
+ if nouvelleVal != [] : prob.setValeur(nouvelleVal)
if texte != "" :
try :
from PyQt5.QtWidgets import QMessageBox
if hasattr(self,'old_context_fichier_init' ):
toClean=True
for concept in self.old_context_fichier_init.values():
- #self.jdc.delete_concept(concept)
+ #self.jdc.deleteConcept(concept)
listeADeTruire.append(concept)
self.jdc_aux=None
self.contexte_fichier_init={}
- #self.reevalue_sd_jdc()
- self.jdc.reset_context()
+ #self.reevalueSdJdc()
+ self.jdc.resetContext()
self.fichier_ini=sav_file
self.contexte_fichier_init = {}
else :
#except :
if self.jdc.appli is not None:
- self.jdc.appli.affiche_alerte("Error", 'An error happened in ExtractGeneratorandLoadList execution ')
+ self.jdc.appli.afficheAlerte("Error", 'An error happened in ExtractGeneratorandLoadList execution ')
self.g_context = {}
self.etapes = []
self.jdc_aux = None
import Extensions.jdc_include
self.JdC_aux = Extensions.jdc_include.JDC_CATA_INCLUDE(code='PSEN', execmodul=None)
- self.make_contexte_include(None, self.fichier_text)
+ self.makeContexteInclude(None, self.fichier_text)
self.old_context_fichier_init = self.contexte_fichier_init
- self.parent.record_unit(unite, self)
+ self.parent.recordUnit(unite, self)
self.jdc.MachineDico=MachineDico
self.jdc.LoadDico=LoadDico
if toClean:
for concept in listeADeTruire :
- if concept.nom not in listeNouveau: self.jdc.delete_concept(concept)
- self.reevalue_sd_jdc()
+ if concept.nom not in listeNouveau: self.jdc.deleteConcept(concept)
+ self.reevalueSdJdc()
def INCLUDE_context(self,d):
"""
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
# -*- coding: utf-8 -*-\r
-# CONFIGURATION MANAGEMENT OF EDF VERSION\r
+# maConfiguration MANAGEMENT OF EDF VERSION\r
# ======================================================================\r
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG\r
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY\r
import os\r
\r
\r
-class CONFIG(configuration.CONFIG_BASE):\r
+class CONFIG(configuration.configBase):\r
\r
#-----------------------------------\r
def __init__(self,appli,repIni):\r
self.labels_user=['catalogues','lang']\r
self.labels_eficas=['lang','rep_cata','catalogues','affiche']\r
\r
- configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode')\r
+ configuration.configBase.__init__(self,appli,'.Eficas_monCode')\r
\r
\r
def make_config(appli,rep):\r
if self.fichier_ini == CaseFolder : return
if hasattr(self,'old_context_fichier_init' ):
for concept in self.old_context_fichier_init.values():
- self.jdc.delete_concept(concept)
+ self.jdc.deleteConcept(concept)
self.jdc_aux=None
self.contexte_fichier_init={}
- self.reevalue_sd_jdc()
- self.jdc.reset_context()
+ self.reevalueSdJdc()
+ self.jdc.resetContext()
self.fichier_ini=CaseFolder
self.contexte_fichier_init = {}
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
--- /dev/null
+## -*- coding: utf-8 -*-
+#
+## --------------------------------------------------
+## debut entete
+## --------------------------------------------------
+#
+from Accas import *
+
+
+# rend disponible le type tuple (liste)
+import types
+class Tuple:
+ def __init__(self,ntuple):
+ self.ntuple=ntuple
+
+ def __convert__(self,valeur):
+ if type(valeur) == types.StringType:
+ return None
+ if len(valeur) != self.ntuple:
+ return None
+ return valeur
+
+ def info(self):
+ return "Tuple de %s elements" % self.ntuple
+
+ __repr__=info
+ __str__=info
+
+
+
+#
+#CONTEXT.debug = 1
+
+VERSION_CATALOGUE="2017.0.0";
+
+JdC = JDC_CATA ( code = 'SPECA',
+ execmodul = None,
+ regles=(AU_MOINS_UN('SPECIFICATION_ANALYSE',),
+ AU_PLUS_UN('SPECIFICATION_ANALYSE',),
+ ),
+ )# Fin JDC_CATA
+
+## ----- SPECIFICATION DE L'ETUDE ----- ##
+SPECIFICATION_ANALYSE= MACRO (nom = 'SPECIFICATION_ANALYSE',
+ op = None,
+ UIinfo = {"groupes":("Machine tournante",)},
+ fr = "Specification des analyses",
+ TYPE_ANALYSE = SIMP(statut='o', typ='TXM',into=('STATIQUE', 'MODALE', 'HARMONIQUE', 'TRANSITOIRE', 'TRANSITOIRE_ACCIDENTEL','SYNTHESE')),
+ # pour V1.1 flexion uniquement
+ #TYPE_COMPORTEMENT = SIMP(statut='o', typ='TXM',into=('FLEXION',),defaut='FLEXION',fr="Renseignement du type de comportement voulu"),
+ TYPE_COMPORTEMENT = BLOC(condition = "TYPE_ANALYSE in ('MODALE','HARMONIQUE','STATIQUE','TRANSITOIRE','TRANSITOIRE_ACCIDENTEL')",
+ FLEXION = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix de la prise en compte la flexion de la ligne d'arbres"),
+ TORSION = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Choix de la prise en compte la torsion de la ligne d'arbres"),
+ COMPRESSION = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Choix de la prise en compte la traction/compression de la ligne d'arbres"),
+ ),
+
+ SURCHARGE=BLOC(condition = "TYPE_ANALYSE in ('MODALE','HARMONIQUE','STATIQUE','TRANSITOIRE','TRANSITOIRE_ACCIDENTEL','SYNTHESE')",statut="f",
+ TEMPLATE=SIMP( statut="f",
+ typ=("Fichier","Fichier Template (*.tpl)"),
+ min=1,max=1,
+ fr="Utiliser un template d'analyse modifie"
+ ),
+ PARAMETRES= FACT(statut='f',min=1,max='**',fr="Definition et renseignement des parametres utilises dans le template surcharge",
+ CLE=SIMP(statut='o',typ='TXM',defaut=None,fr="Nom du parametre dans le template"),
+ TYPE=SIMP(statut='o',typ='TXM',into=('ENTIER','REEL','CHAINE','FICHIER','REPERTOIRE'),fr="Nature du parametre a renseigner"),
+ ENTIER=BLOC(condition="TYPE=='ENTIER'",
+ VALUE=SIMP(statut='o',typ='I',defaut=0,fr="Renseignement d'un nombre entier"),
+ ),
+ REEL=BLOC(condition="TYPE=='REEL'",
+ VALUE=SIMP(statut='o',typ='R',defaut=0.0,fr="Renseignement d'un nombre reel"),
+ ),
+ CHAINE=BLOC(condition="TYPE=='CHAINE'",
+ VALUE=SIMP(statut='o',typ='TXM',defaut='',fr="Renseignement d'une chaine de caracteres"),
+ ),
+ FICHIER=BLOC(condition="TYPE=='FICHIER'",
+ VALUE=SIMP(statut='o',typ=("Fichier","All files (*.*)"),fr="Renseignement d'un fichier")
+ ),
+ REPERTOIRE =BLOC(condition="TYPE=='REPERTOIRE'",
+ VALUE=SIMP(statut='o',typ="Repertoire",fr="Renseignement d'un repertoire")
+ ),
+
+ ),
+ ),
+
+
+
+### ----- CALCUL STATIQUE ----- ##
+ ANALYSE_STATIQUE = BLOC(condition = "TYPE_ANALYSE == 'STATIQUE' ",fr="Analyse statique (vitesse de rotation nulle de la ligne d'arbres)",
+ CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique",
+ TYPE = SIMP(statut='o',typ='TXM',into=('POIDS','FORCE','MOMENT','DELIGNAGE'),defaut=None,min=1,max=1,fr="Choix du type de chargement a appliquer"),
+ POIDS = BLOC(condition = "TYPE == 'POIDS' ",fr="Prise en compte du champ de pesanteur",
+ GRAVITE = SIMP(statut='o',typ='R',defaut=9.81,fr="Renseignement de l'intensite de la gravite (m/s^2)"),
+ DIRECTION = SIMP(statut='o',typ='R',min=3,max=3,defaut=(1,0,0),fr="Renseignement de la direction de la force de gravite"),
+ ), # fin POIDS
+ FORCE = BLOC(condition = "TYPE == 'FORCE' ",fr="Application d'une force ponctuelle",
+ POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique la force (m)"),
+ AMPLITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant la force (N)"),
+ #FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"),
+ ), # fin FORCE
+ MOMENT = BLOC(condition = "TYPE == 'MOMENT' ",fr="Application d'un moment ponctuel",
+ POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"),
+ AMPLITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"),
+ ), # fin MOMENT
+ DELIGNAGE = BLOC(condition = "TYPE == 'DELIGNAGE' ",fr="Application d'un delignage sur un ou plusieurs paliers",
+ NOM_PALIER = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom du palier deligne"),
+ DX = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du delignage suivant X du palier (m)"),
+ DY = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du delignage suivant Y du palier (m)"),
+ ), # fin Delignage
+ ), #fin CHARGES
+
+ # POST-TRAITEMENTS DU CALCUL STATIQUE
+ POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",
+ CONTRAINTES = SIMP(statut='o',typ='TXM',into=('OUI', 'NON'),defaut='NON',fr="Export des contraintes en tout noeud de la ligne d'arbres"),
+ ), #fin POST_TRAITEMENTS
+ ),# fin ANALYSE_STATIQUE
+
+### ----- CALCUL MODAL ----- ##
+ ANALYSE_MODALE = BLOC(condition = "TYPE_ANALYSE == 'MODALE' ",fr="Analyse modale de la ligne d'arbres",
+ BASE_CALCUL = SIMP(statut='o',typ="TXM",into=('MODALE','PHYSIQUE'),defaut=None,fr="Choix du type de resolution de l'analyse modale (sur base physique ou sur base modale)"),
+ BASE_MODALE = BLOC(condition="BASE_CALCUL=='MODALE'",fr="Resolution sur base modale",
+ regles=UN_PARMI('NB_MODES','FREQ_MAX'),
+ NB_MODES=SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),
+ FREQ_MAX=SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"),
+ ), # fin BASE_MODALE
+ AMORTISSEMENT = SIMP(statut='o',typ='TXM',min=1,max=1,into=('OUI','NON'),defaut='OUI',fr="Choix de la prise en compte de l'amortissment"),
+ GYROSCOPIE = SIMP(statut='o',typ='TXM',min=1,max=1,into=('OUI','NON'),defaut='OUI',fr="Choix de la prise en compte de la gyroscopie"),
+ VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste des vitesses de rotation etudiees (tr/min)"),
+ OPTION_CALCUL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('PLUS_PETITE','CENTRE'),defaut=None,fr="Choix de l'option de calcul"),
+ PLUS_PETITE = BLOC(condition="OPTION_CALCUL=='PLUS_PETITE'",fr="Calcul des n premieres frequences",
+ NMAX_FREQ = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre maximal de frequences a calculer"),
+ METHODE=SIMP(statut='o',typ='TXM',min=1,max=1,into=('QZ',),defaut='QZ',fr="Choix de la methode de resolution"),
+ ), # fin PLUS_PETITE
+ CENTRE = BLOC(condition="OPTION_CALCUL=='CENTRE'",fr="Calcul d'un nombre n de frequences autour d'une frequence donnee",
+ FREQ = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence centrale (Hz)"),
+ NMAX_FREQ = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre maximal de frequences"),
+ METHODE=SIMP(statut='o',typ='TXM',min=1,max=1,into=('QZ','SORENSEN'),defaut='QZ',fr="Choix de la methode de resolution"),
+ ), # fin CENTRE
+ #METHODE=SIMP(statut='f',typ='TXM',min=1,max=1,into=('QZ','SORENSEN'),defaut='QZ',fr="Choix de la methode de resolution"),
+
+ # POST-TRAITEMENTS DU CALCUL MODAL
+ POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",
+ RESU_SUPPORT_GENERALISE = SIMP(statut='o',typ='TXM',into=('OUI', 'NON'),defaut='NON',fr="Export de la reponse du support generalise au format rmed"),
+ ),# fin POST_TRAITEMENTS
+ ), # fin ANALYSE_MODALE
+
+## ----- CALCUL HARMONIQUE ----- ##
+ ANALYSE_HARMONIQUE = BLOC(condition = "TYPE_ANALYSE == 'HARMONIQUE' ",fr="Analyse harmonique de la ligne d'arbres",
+
+ ## specification calcul harmonique
+ BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('PHYSIQUE','MODALE'),defaut=None,fr="Choix du type de resolution de l'analyse modale (sur base physique ou sur base modale)"),
+ BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Resolution sur base modale",
+ #MODALE = FACT(statut='o',
+ regles=UN_PARMI('NB_MODES','FREQ_MAX'),
+ NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),
+ FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"),
+ #),# fin MODALE
+ ),# fin BASE_MODALE
+ AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ",
+ AMORTISSEMENT_REDUIT = SIMP(statut='o', typ='TXM',into=('OUI','NON'),defaut=None,fr="Choix d'un amortissement reduit'"),
+ AMOR_MODAL = BLOC(condition = "AMORTISSEMENT_REDUIT == 'OUI' ",
+ AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max='**',defaut=None,fr="Renseignement de l'amortissement modal reduit (en %), la taille de la liste doit etre egale au nombre de modes constituant la base de projection"),
+ ),# fin AMOR_MODALE
+ ), # fin AMORTISSEMENT_M
+ VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste des vitesses de rotation etudiees (tr/min)"),
+ # 20121018 retrait de defaut_fn a la demande de EDF
+ CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique",
+ TYPE = SIMP(statut='o',typ='TXM',into=('BALOURD','HARMONIQUE'),defaut=None,min=1,max=1,fr="Choix du type de chargement a appliquer"),
+ BALOURD = BLOC(condition = "TYPE == 'BALOURD' ",fr="Chargement de type balourd",
+ POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique le balourd (m)"),
+ AMPLITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude du balourd (kg.m)"),
+ PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (degres)"),
+ ),# fin BALOURD
+ HARMONIQUE = BLOC(condition = "TYPE == 'HARMONIQUE' ",fr="Charge harmonique",
+ POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique la charge harmonique (m)"),
+ FREQUENCE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence d'excitation harmonique (Hz)"),
+ AMPLITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude de la charge harmonique, (N)"),
+ FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste de coefficients appliques sur la charge harmonique (autant que de vitesses de rotation)"),
+ PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge harmonique (degres)"),
+ TYPE_DDL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DRX','DY','DRY','DZ','DRZ'),defaut=None,fr="Renseignement du DDL sur lequel s'applique la charge harmonique"),
+ ), # fin HARMONIQUE
+ ), #FIN CHARGES
+
+ # POST-TRAITEMENTS DU CALCUL HARMONIQUE
+ POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",
+ CONTRAINTES = SIMP(statut='o',typ='TXM',into=('OUI', 'NON'),defaut='NON',fr="Export des contraintes en tout noeud de la ligne d'arbres"),
+ RESU_SUPPORT_GENERALISE = SIMP(statut='o',typ='TXM',into=('OUI', 'NON'),defaut='NON',fr="Export de la reponse du support generalise au format rmed"),
+ ),
+ ## fin POST_TRAITEMENTS
+
+ ),# fin ANALYSE_HARMONIQUE
+
+### ----- CALCUL TRANSITOIRE ----- ##
+ ANALYSE_TRANSISTOIRE = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE' ",fr="Analyse transitoire de la ligne d'arbres",
+
+ VITESSE = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,into=('CONSTANTE','VARIABLE'),fr="Renseignement du type de vitesse de rotation consideree"),
+ BASE_C = BLOC(condition ="VITESSE == 'CONSTANTE'",fr="Analyse transitoire a vitesse constante",
+ BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('PHYSIQUE','MODALE'),defaut=None,fr="Choix du type de resolution de l'analyse transitoire (sur base physique ou sur base modale)"),
+ BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Resolution sur base modale",
+ regles=UN_PARMI('NB_MODES','FREQ_MAX'),
+ NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),
+ FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"),
+ ),# fin BASE_MODALE
+ AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ",
+ AMORTISSEMENT_REDUIT = SIMP(statut='o', typ='TXM',into=('OUI','NON'),defaut=None,fr="Choix du type d'amortissement"),
+ AMOR_MODAL = BLOC(condition = "AMORTISSEMENT_REDUIT == 'OUI' ",
+ AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max='**',defaut=None,fr="Renseignement de l'amortissement modal reduit (en %), la taille de la liste doit etre egale au nombre de modes constituant la base de projection"),
+ ),# fin AMOR_MODALE
+ ), # fin AMORTISSEMENT_M
+ ), # fin BASE_C
+ BASE_V = BLOC(condition ="VITESSE == 'VARIABLE'",fr="Analyse transitoire a vitesse variable",
+ BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('MODALE',),defaut='MODALE',fr="Choix du type de resolution de l'analyse transitoire (obligatoirement sur base modale)"),
+ BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Resolution sur base modale",
+ regles=UN_PARMI('NB_MODES','FREQ_MAX'),
+ NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),
+ FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"),
+ ),# fin BASE_MODALE
+ AMORTISSEMENT_REDUIT = SIMP(statut='o', typ='TXM',into=('OUI','NON'),defaut=None,fr="Choix du type d'amortissement"),
+ AMOR_MODAL = BLOC(condition = "AMORTISSEMENT_REDUIT == 'OUI' ",
+ #AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"),
+ AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max='**',defaut=None,fr="Renseignement de l'amortissement modal reduit (en %), la taille de la liste doit etre egale au nombre de modes constituant la base de projection"),
+ ),# fin AMOR_MODALE
+ ), # fin BASE_C
+ VITESSE_CONSTANTE = BLOC(condition = "VITESSE == 'CONSTANTE' ", fr="Vitesse de rotation constante",
+ VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation (tr/min)"),
+ ),# fin VITESSE_CONSTANTE
+ VITESSE_VARIABLE = BLOC(condition = "VITESSE == 'VARIABLE' ", fr="Vitesse de rotation variable", regles=UN_PARMI('LINEAIRE','EXPONENTIELLE','PERSONNALISE'),
+ LINEAIRE = FACT(statut='f',min=1,max=1,fr="Variation lineaire de la vitesse de rotation",
+ VITESSE_INITIALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation initiale (tr/min)",),
+ VITESSE_FINALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation finale (tr/min)",),
+ DEPHASAGE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la postion angulaire initiale (degres)"),
+ PAS_MAJ = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement du pas de mise a jour des matrices des paliers (tr/min)"),
+ ),# fin LINEAIRE
+ EXPONENTIELLE = FACT(statut='f',min=1,max=1,fr="Variation exponentielle de la vitesse de rotation",
+ VITESSE_INITIALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation initiale (tr/min)",),
+ VITESSE_FINALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation finale (tr/min)",),
+ DEPHASAGE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la postion angulaire initiale (degres)"),
+ LAMBDA = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du parametre de la loi exponentielle (Hz)"),
+ PAS_MAJ = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement du pas de mise a jour des matrices des paliers (tr/min)"),
+ ),# fin EXPONENTIELLE
+ PERSONNALISE = FACT(statut='f',min=1,max=1,fr="Fonction personnalisee decrivant la variation de la vitesse de rotation",
+ FICHIER = SIMP(statut='o',typ=('Fichier','Formule vitesse rotation (*.*)'),min=1,max=1,defaut=None,fr="Renseignement du fichier contenant l'evolution temporelle (s) de la vitesse de rotation (tr/min)"),
+ PAS_MAJ = SIMP(statut='f',typ='R',min=1,max='**',defaut=None,fr="Renseignement du pas de mise a jour des matrices des paliers (tr/min)"),
+ ANGLE_INIT = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position angulaire initiale du rotor (degres)"),
+ ),# fin PERSONNALISE
+ ),# fin VITESSE_VARIABLE
+ #POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"),
+
+ CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique",
+ TYPE = SIMP(statut='o',typ='TXM',into=('POIDS','BALOURD','FORCE','MOMENT','HARMONIQUE'),defaut=None,min=1,max=1,fr="Choix du type de chargement a appliquer"),
+ BALOURD = BLOC(condition = "TYPE == 'BALOURD' ",fr="Chargement de type balourd",
+ POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique le balourd (m)"),
+ AMPLITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude du balourd (kg.m)"),
+ PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (degres)"),
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du balourd (s)"),
+ TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre l'amplitude nominale du balourd (s)"),
+ ),# fin BALOURD
+ POIDS = BLOC(condition = "TYPE == 'POIDS' ",fr="Prise en compte du champ de pesanteur",
+ GRAVITE = SIMP(statut='o',typ='R',defaut=9.81,fr="Renseignement de l'intensite de la gravite (m/s^2)"),
+ DIRECTION = SIMP(statut='o',typ='R',min=3,max=3,defaut=(1,0,0),fr="Renseignement de la direction de la force de gravite"),
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du poids (s)"),
+ TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre la valeur nominale du poids (s)"),
+ ), # fin POIDS
+ FORCE = BLOC(condition = "TYPE == 'FORCE' ",fr="Application d'une force ponctuelle",
+ POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique la force (m)"),
+ AMPLITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant la force (N)"),
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition de la force (s)"),
+ TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre la valeur nominale de la force (s)"),
+ #FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"),
+ ), # fin FORCE
+ MOMENT = BLOC(condition = "TYPE == 'MOMENT' ",fr="Application d'un moment ponctuel",
+ POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"),
+ AMPLITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"),
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du moment (s)"),
+ TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre la valeur nominale du moment (s)"),
+ ), # fin MOMENT
+ HARMONIQUE = BLOC(condition = "TYPE == 'HARMONIQUE' ",fr="Charge harmonique",
+ POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique la charge harmonique (m)"),
+ FREQUENCE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence d'excitation harmonique (Hz)"),
+ AMPLITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude de la charge harmonique, (N)"),
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition de la charge harmonique (s)"),
+ TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre la valeur nominale de la charge harmonique (s)"),
+ #FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la fonction appliquee de la charge harmonique (autant de valeurs que de vitesses de rotation)"),
+ PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge harmonique (degres)"),
+ TYPE_DDL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DRX','DY','DRY','DZ','DRZ'),defaut=None,fr="Renseignement du DDL sur lequel s'applique la charge harmonique"),
+ ), # fin HARMONIQUE
+ ), #fin CHARGES
+
+ ETAT_INIT = FACT(statut='o',fr="Renseignement de l'etat initial du calcul",
+ #RESULTAT = SIMP(statut='o',typ=('sd_resultat'),max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),
+ RESULTAT = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Choix de la structure de donnees de type 'resultat' de Code_Aster"),
+ INST_INIT = SIMP(statut='f',typ='R',max=1,defaut=0.0,fr="Renseignement de l'instant de la structure de donnees a partir duquel il faut lancer le calcul (s)"),
+ ), # fin ETAT_INIT
+ PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS','LISTE'),defaut=None,fr="Choix du type de discretisation temporelle"),
+ #PAS = BLOC(condition = "VITESSE == 'VARIABLE'",fr="Renseignement des parametres des pas",
+ PAS = BLOC(condition = "PARAM_TEMPS == 'PAS'",fr="Renseignement de pas de temps",
+ TEMPS_PAS = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps d'integration(en s)"),
+ INST_INI = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de l'instant initial du calcul (s)"),
+ INST_FIN = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de l'instant final du calcul (s)"),
+ ), # fin TEMPS_PAS
+ LIST_INST = BLOC(condition = "PARAM_TEMPS == 'LISTE'",fr="Renseignement d'une liste d'instants",
+ LISTE = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste d'instants auxquels resoudre le calcul (s)"),
+ ), # fin LIST_INST
+ PAS_ARCHIVAGE = SIMP(statut='o',typ='I',max=1,defaut=1,fr="Renseignement du pas d'archivage des resultats (une sauvegarde tous les 'PAS_ARCHIVAGE' instants d'integration)",),
+ SCHEMA_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('NEWMARK','WILSON','ADAPT_ORDRE1','ADAPT_ORDRE2','DIFF_CENTRE'),defaut='NEWMARK',fr="Choix d'un schema d'integration temporelle"),
+ NEWMARK = BLOC(condition = "SCHEMA_TEMPS == 'NEWMARK' ",fr="Methode de NEWMARK",
+ BETA = SIMP(statut='f',typ='R',max=1,defaut=0.25,fr="Renseignement de la valeur beta pour la methode de NEWMARK"),
+ GAMMA = SIMP(statut='f',typ='R',max=1,defaut=0.25,fr="Renseignement de la valeur gamma pour la methode de NEWMARK"),
+ ),# fin NEWMARK
+ WILSON = BLOC(condition = "SCHEMA_TEMPS == 'WILSON' ",fr="Methode de WILSON",
+ THETA = SIMP(statut='f',typ='R',max=1,defaut=1.4,fr="Renseignement de la valeur theta pour la methode de WILSON"),
+ ), # fin WILSON
+
+ # POST-TRAITEMENTS DU CALCUL TRANSITOIRE
+ POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",
+ CONTRAINTES = SIMP(statut='o',typ='TXM',into=('OUI', 'NON'),defaut='NON',fr="Export des contraintes en tout noeud de la ligne d'arbres"),
+ ), # fin POST_TRAITEMENTS
+
+ ), # fin ANALYSE_TRANSISTOIRE
+
+
+### ----- CALCUL COUPLE CODE_ASTER/EYDOS ----- ##
+ ANALYSE_TRANSITOIRE_ACCIDENTEL = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE_ACCIDENTEL' ",fr="Analyse transitoire accidentelle de la ligne d'arbres",
+ #BASE_MODALE = FACT(statut='o', fr="Choix des parametres de la base modale",
+ #POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"),
+ BASE_MODALE = BLOC(condition = "True", fr="Resolution sur base modale",
+ regles=UN_PARMI('NB_MODES','FREQ_MAX'),
+ NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),
+ FREQ_MAX = SIMP(statut='f',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence maximale des modes constituant la base de projection (Hz)"),
+ ),# fin BASE_MODALE
+ VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation (tr/min)"),
+
+ CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique",
+ TYPE = SIMP(statut='o',typ='TXM',into=('POIDS','BALOURD','FORCE','MOMENT','HARMONIQUE'),defaut=None,min=1,max=1,fr="Choix du type de chargement a appliquer"),
+ BALOURD = BLOC(condition = "TYPE == 'BALOURD' ",fr="Chargement de type balourd",
+ POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique le balourd (m)"),
+ AMPLITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude du balourd (kg.m)"),
+ PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (degres)"),
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du balourd (s)"),
+ TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre l'amplitude nominale du balourd (s)"),
+ ),# fin BALOURD
+ POIDS = BLOC(condition = "TYPE == 'POIDS' ",fr="Prise en compte du champ de pesanteur",
+ GRAVITE = SIMP(statut='o',typ='R',defaut=9.81,fr="Renseignement de l'intensite de la gravite (m/s^2)"),
+ DIRECTION = SIMP(statut='o',typ='R',min=3,max=3,defaut=(1,0,0),fr="Renseignement de la direction de la force de gravite"),
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du poids (s)"),
+ TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre la valeur nominale du poids (s)"),
+ ), # fin POIDS
+ FORCE = BLOC(condition = "TYPE == 'FORCE' ",fr="Application d'une force ponctuelle",
+ POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"),
+ AMPLITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"),
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition de la force (s)"),
+ TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre la valeur nominale de la force (s)"),
+ #FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"),
+ ), # fin FORCE
+ MOMENT = BLOC(condition = "TYPE == 'MOMENT' ",fr="Application d'un moment ponctuel",
+ POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"),
+ AMPLITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"),
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du moment (s)"),
+ TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre la valeur nominale du moment (s)"),
+ ), # fin MOMENT
+ HARMONIQUE = BLOC(condition = "TYPE == 'HARMONIQUE' ",fr="Charge harmonique",
+ POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique la charge harmonique (m)"),
+ FREQUENCE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence d'excitation harmonique (Hz)"),
+ AMPLITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude de la charge harmonique, (N)"),
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition de la charge harmonique (s)"),
+ TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement du temps necessaire pour atteindre la valeur nominale de la charge harmonique (s)"),
+ #FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la fonction appliquee de la charge harmonique (autant de valeurs que de vitesses de rotation)"),
+ PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge harmonique (degres)"),
+ TYPE_DDL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('DX','DRX','DY','DRY','DZ','DRZ'),defaut=None,fr="Renseignement du DDL sur lequel s'applique la charge harmonique"),
+ ), # fin HARMONIQUE
+ ), #fin CHARGES
+ ETAT_INIT = FACT(statut='o',fr="Renseignement de l'etat initial du calcul",
+ #RESULTAT = SIMP(statut='o',typ=('sd_resultat'),max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),
+ # 20121126
+ #RESULTAT = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),
+ INST_INIT = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de l'instant initial a partir duquel il faut lancer le calcul (s)"),
+ ), # fin ETAT_INIT
+ #PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS','LIST_INST'),defaut=None,fr="Choix du type de parametrage temporel"),
+ # 20121126
+ PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS',),defaut="PAS",fr="Choix du type de discretisation temporelle",),
+ PAS = BLOC(condition = "PARAM_TEMPS == 'PAS' ",fr="Renseignement de pas de temps",
+ PAS_ASTER = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps d'integration Code_Aster (en s)",),
+ PAS_EDYOS = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps d'integration Edyos (en s)",),
+ INST_FIN = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de l'instant final du calcul (en s)",),
+ ), # fin TEMPS_PAS
+ #LIST_INST = BLOC(condition = "PARAM_TEMPS == 'LIST_INST' ",fr="Renseignement d'une liste de pas",
+ #LISTE = SIMP(statut='f',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste de pas"),
+ #), # fin LIST_INST
+ PAS_ARCHIVAGE = SIMP(statut='o',typ='I',max=1,defaut=1,fr="Renseignement du pas d'archivage des resultats (une sauvegarde tous les 'PAS_ARCHIVAGE' instants d'integration)",),
+ PARA_MEM = SIMP(statut='f',typ='I',max=1,defaut=6400,fr="Renseigner la taille maximale de la memoire (Mo)",),
+ PARA_CPU = SIMP(statut='f',typ='I',max=1,defaut=10000,fr="Renseigner le temps CPU maximal (s)",),
+ SCHEMA_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('DIFF_CENTRE', 'ADAPT_ORDRE1','ADAPT_ORDRE2'),defaut='ADAPT_ORDRE2',fr="Choix d'un schema d'integration temporelle"),
+
+ # POST-TRAITEMENTS DU CALCUL TRANSITOIRE ACCIDENTEL
+ POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",
+ CONTRAINTES = SIMP(statut='o',typ='TXM',into=('OUI', 'NON'),defaut='NON',fr="Export des contraintes en tout noeud de la ligne d'arbres"),
+ ), # fin POST_TRAITEMENTS
+ ), # fin ANALYSE_TRANSITOIRE_ACCIDENTEL
+
+)# fin SPECIFICATION_ANALYSE
# -*- coding: utf-8 -*-\r
-# CONFIGURATION MANAGEMENT OF EDF VERSION\r
+# maConfiguration MANAGEMENT OF EDF VERSION\r
# ======================================================================\r
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG\r
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY\r
import os\r
\r
\r
-class CONFIG(configuration.CONFIG_BASE):\r
+class CONFIG(configuration.configBase):\r
\r
#-----------------------------------\r
def __init__(self,appli,repIni):\r
self.labels_user=['catalogues','lang']\r
self.labels_eficas=['lang','rep_cata','catalogues']\r
\r
- configuration.CONFIG_BASE.__init__(self,appli,repIni)\r
+ configuration.configBase.__init__(self,appli,repIni)\r
\r
\r
def make_config(appli,rep):\r
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
--- /dev/null
+# -*- coding: utf-8 -*-
+#
+# Copyright (C) 2012-2013 EDF
+#
+# This file is part of SALOME HYDRO module.
+#
+# SALOME HYDRO module is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 3 of the License, or
+# (at your option) any later version.
+#
+# SALOME HYDRO module is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with SALOME HYDRO module. If not, see <http://www.gnu.org/licenses/>.
+
+import types
+from Accas import *
+
+def get_list_var_api(module):
+# """
+# Returns the list of variables avaialable throught the API for module
+#
+# @param One of the modules of TELEMAC-MASCARET
+# """
+ return ('A','B','C')
+# if module == 'TELEMAC2D':
+# from TelApy.api.t2d import Telemac2d
+# model = Telemac2d('dummy.cas')
+# elif module == 'TELEMAC3D':
+# from TelApy.api.t3d import Telemac3d
+# model = Telemac3d('dummy.cas')
+# elif module == 'SISYPHE':
+# from TelApy.api.sis import Sisyphe
+# model = Sisyphe('dummy.cas')
+# else:
+# return ['No variable available']
+
+# varnames, _ = model.list_variables()
+# del(model)
+# return sorted(varnames)
+
+class Tuple:
+ def __init__(self,ntuple):
+ self.ntuple=ntuple
+
+ def __convert__(self,valeur):
+ if type(valeur) == types.StringType:
+ return None
+ if len(valeur) != self.ntuple:
+ return None
+ return valeur
+
+ def info(self):
+ return "Tuple de %s elements" % self.ntuple
+
+ __repr__=info
+ __str__=info
+
+JdC = JDC_CATA(regles = (UN_PARMI('TELEMAC2D',)),
+ )
+
+
+
+TELEMAC2D = PROC(
+ nom = "TELEMAC2D", op = None,
+ fr = u"Définition d'un cas d'étude Telemac2D",
+ ang = u"Definition of a Telemac2D study case",
+ STEERING_FILE = SIMP(statut = "o", typ = 'Fichier',
+ fr = u"Fichier de description du cas",
+ ang = u"Case description file",
+ ),
+ USER_FORTRAN = SIMP(statut = "f", typ = 'FichierOuRepertoire',
+ fr = "Fichier Fortran utilisateur",
+ ang = u"Fortran user file",
+ ),
+ WORKING_DIRECTORY = SIMP(statut = "o", typ = 'Repertoire',
+ defaut = '/tmp',
+ fr = "Repertoire de travail",
+ ang = u"Working directory user file",
+ ),
+ RESULT_DIRECTORY = SIMP(statut = "f", typ = 'Repertoire',
+ fr = "Repertoire de travail",
+ ang = u"Working directory user file",
+ ),
+ RESULTS_FILE_NAME = SIMP(statut = "f", typ = 'TXM',
+ fr = u"Fichier des resultats (Ecrasera celui dans le fichier cas)",
+ ang = u"Results file (Will replace the one in the steering file)"
+ ),
+ Consigne = SIMP(statut ="o", homo="information", typ="TXM",
+ defaut = "All index are in Python numbering (Starting from 0)",
+ ),
+ INPUT_VARIABLE = FACT(statut = 'f', max = '**',
+ fr = u"Variable d'entrée du calcul",
+ ang = u"Computation input variable",
+
+ NAME = SIMP(statut = "o", typ = 'TXM',
+ fr = u"Nom de la variable (format Python)",
+ ang = u"Variable name (Python format)"
+ ),
+ VAR_INFO = FACT(statut = "o",
+ fr = u'Variable du modèle Telemac2D',
+ ang = u'Telemac2D model variable',
+
+ VAR_NAME = SIMP(statut = "o", typ = 'TXM',
+ #max='**',
+ #intoSug = ('A','B','C'),
+ intoSug=get_list_var_api('TELEMAC2D'),
+ fr = u'Nom de la variable du modèle (ex: "MODEL.DEBIT")',
+ ang = u'Model variable name (ex: "MODEL.DEBIT")'
+ ),
+ DEFAULT_VALUE = SIMP(statut = "o", typ = 'TXM',
+ fr = u'Valeur par défaut',
+ ang = u'Default value',
+ ),
+ ZONE_DEF = FACT(statut = "o",
+ ang = u'Variable definition area',
+ fr = u'Zone de définition de la variable',
+
+ TYPE = SIMP(statut = "o", typ = 'TXM',
+ into = ['INDEX', 'RANGE', 'POLYGON', 'POLYGON_FILE'],
+ fr = u'Type de definition de la variable',
+ ang = u'Type of definition for the variable',
+ ),
+
+ b_INDEX = BLOC(condition = "TYPE == 'INDEX'",
+ INDEX = SIMP(statut = "o", typ = Tuple(3),
+ max='**',
+ defaut = (0, 0, 0),
+ ang = "Index of the variable",
+ fr = u"Indice de la variable",
+ validators = VerifTypeTuple(('I', 'I', 'I')),
+ ),
+ ),
+ b_RANGE = BLOC(condition = "TYPE == 'RANGE'",
+ RANGE = SIMP(statut = "o", typ = 'TXM',
+ fr = u"Liste d'index pour des tableaux à une dimension ex: [1,3:8,666]",
+ ang = "Range of index for one dimension arrays ex: [1,3:8,666]",
+ ),
+ Consigne = SIMP(statut ="o", homo="information", typ="TXM",
+ defaut = "Format [0,2:8,50:88,666]",
+ ),
+ ),
+ b_POLYGON = BLOC(condition = "TYPE == 'POLYGON'",
+ POLYGON = SIMP(statut = "o",
+ typ = Tuple(2),
+ max = '**',
+ fr = u"Liste des sommets (coordonnées X,Y) du "
+ u"polygone définissant le contour de la zone",
+ ang = "List of points (X,Y coordinates) of the "
+ "polygon defining the border of the area",
+ validators = VerifTypeTuple(('R', 'R')),
+ ),
+ ),
+ b_POLYGON_FILE = BLOC(condition = "TYPE == 'POLYGON_FILE'",
+ POLYGON_FILE = FACT(statut = "o",
+ fr = u"Polygon dans un fichier",
+ ang = "Polygone in a file",
+ FILE_NAME = SIMP(statut = "o", typ = 'Fichier',
+ fr = u"Fichier contenant les info du polygone",
+ ang = "File containing the polygon info",
+ ),
+ SEPARATOR = SIMP(statut = "o", typ = 'TXM',
+ defaut = ',',
+ fr = u"Separateur pour le fichier de polygone",
+ ang = "Separator for the polygon file",
+ ),
+ ),
+ ),
+ ),
+ ),
+ ),
+ OUTPUT_VARIABLE = FACT(statut = 'f', max = '**',
+ fr = u"Variable de sortie du calcul",
+ ang = u"Computation output variable",
+ NAME = SIMP(statut = "o", typ = 'TXM',
+ fr = u"Nom de la variable",
+ ang = u"Variable name",
+ ),
+ VAR_INFO = FACT(statut = "o",
+ fr = u'Variable du modèle Telemac2D',
+ ang = u'Telemac2D model variable',
+ VAR_NAME = SIMP(statut = "o", typ = 'TXM',
+ into = get_list_var_api('TELEMAC2D'),
+ fr = u'Nom de la variable du modèle (ex: "MODEL.DEBIT")',
+ ang = u'Model variable name (ex: "MODEL.DEBIT")',
+ ),
+ ZONE_DEF = FACT(statut = "o",
+ ang = u'Variable definition area',
+ fr = u'Zone de définition de la variable',
+ INDEX = SIMP(statut = "o", typ = Tuple(3),
+ defaut = (0, 0, 0, ),
+ ang = "Index of the point / border",
+ fr = u"Indice du point ou de la frontière",
+ validators = VerifTypeTuple(('I', 'I', 'I')),
+ ),
+ ),
+ ),
+ ),
+)
+
+TEXTE_NEW_JDC="TELEMAC2D()"
import os\r
\r
\r
-class CONFIG(configuration.CONFIG_BASE):\r
+class CONFIG(configuration.configBase):\r
\r
#-----------------------------------\r
def __init__(self,appli,repIni):\r
self.labels_user=['catalogues','lang','force_langue']\r
self.labels_eficas=['lang','rep_cata','catalogues']\r
\r
- configuration.CONFIG_BASE.__init__(self,appli,'.Eficas_monCode')\r
+ configuration.configBase.__init__(self,appli,'.Eficas_monCode')\r
\r
\r
def make_config(appli,rep):\r
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
catalogues=(
#('TELEMAC','default',os.path.join(repIni,'Telemac_Cata_nouveau.py'),'TELEMAC','python'),
#('TELEMAC','cas',os.path.join(repIni,'Telemac_Cata.py'),'TELEMAC','TELEMAC'),
- ('2D','cas',os.path.join(repIni,'Telemac2d_Cata_auto.py'),'TELEMAC','TELEMAC'),
+ #('2D','cas',os.path.join(repIni,'Telemac2d_Cata_auto.py'),'TELEMAC','TELEMAC'),
+ ('TELEMAC','pn',os.path.join(repIni,'telemac2d_V6_cata.py'),'TELEMAC','TELEMAC'),
+ #('2222D','cas',os.path.join(repIni,'telemac2d_V6_cata.py'),'TELEMAC','TELEMAC'),
#('TELEMAC','cas',os.path.join(repIni,'Telemac_Cata.py'),'python','TELEMAC3'),
+ #('YOHAN','cas',os.path.join(repIni,'Cata.py'),'TELEMAC','TELEMAC'),
#('TELEMAC','comm',os.path.join(repIni,'Telemac_Cata.py'),'TELEMAC2','python'),
)
mode_nouv_commande="figee"
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
#for f in ('t2d_bj78.cas' ,'t2d_bowl_fe.cas' ,'t2d_bowl_vf.cas' ,'t2d_bowl_vf_gb.cas' ,'t2d_breach.cas' ,'t2d_break.cas' ,'t2d_bumpcri.cas' ,'t2d_bumpflu.cas' ,'t2d_cavity.cas' ,'t2d_cinetiques.cas' ,'t2d_clotilde.cas' ,'t2d_cone.cas' ,'t2d_confluence.cas' ,'t2d_culm.cas' ,'t2d_dambreak_v1p0.cas' ,'t2d_dambreak_v2p0.cas' ,'t2d_digue.cas' ,'t2d_donau.cas' ,'t2d_dragforce.cas' ,'t2d_estimation.cas' ,'t2d_flotteurs_v1p0.cas' ,'t2d_flotteurs_v2p0.cas' ,'t2d_friction.cas' ,'t2d_gouttedo.cas' ,'t2d_gouttedo_cin.cas' ,'t2d_gouttedo_qua.cas' ,'t2d_hydraulic_jump_v1p0.cas' ,'t2d_hydraulic_jump_v2p0.cas' ,'t2d_init-1.cas' ,'t2d_init-2.cas' ,'t2d_init-3.cas' ,'t2d_init_cin.cas' ,'t2d_island.cas' ,'t2d_m2wave.cas' ,'t2d_malpasset-large.cas' ,'t2d_malpasset-large_med.cas' ,'t2d_malpasset-small_charac.cas' ,'t2d_malpasset-small_cin.cas' ,'t2d_malpasset-small_ERIA.cas' ,'t2d_malpasset-small_pos.cas' ,'t2d_malpasset-small_prim.cas' ,'t2d_mersey.cas' ,'t2d_monai.cas' ,'t2d_okada.cas' ,'t2d_ondem2.cas' ,'t2d_pildepon.cas' ,'t2d_pildepon_cin.cas' ,'t2d_pildepon_qua.cas' ,'t2d_pluie.cas' ,'t2d_pluie_cn.cas' ,'t2d_pluie_cn_geo_hyetograph.cas' ,'t2d_porosite.cas' ,'t2d_riogrande.cas' ,'t2d_ritter.cas' ,'t2d_riv_art.cas' ,'t2d_ruptmoui.cas' ,'t2d_seccurrents.cas' ,'t2d_seiche.cas' ,'t2d_shoal.cas' ,'t2d_siphon.cas' ,'t2d_swash.cas' ,'t2d_tests_channel.cas' ,'t2d_thacker.cas' ,'t2d_thomson.cas' ,'t2d_tide-ES_real.cas' ,'t2d_tide-jmj_real_gen.cas' ,'t2d_tide-jmj_type.cas' ,'t2d_tide-jmj_type_gen.cas' ,'t2d_tide-jmj_type_med.cas' ,'t2d_tide-NEA_prior_real.cas' ,'t2d_tide-NEA_prior_type.cas' ,'t2d_tracer_decay.cas' ,'t2d_trdec.cas' ,'t2d_triangular_shelf.cas' ,'t2d_vasque.cas' ,'t2d_waq_o2.cas' ,'t2d_waq_thermic.cas' ,'t2d_wave.cas' ,'t2d_weirs.cas' ,'t2d_wesel.cas' ,'t2d_wesel_pos.cas' ,'t2d_wind.cas' ,'t2d_wind_txy_bin.cas' ,'t2d_wind_txy.cas' ,'waq_steer.cas') :
if f == ' ' : continue
- print ("Traitement de : ", 'CasEn/'+f)
+ print ("traitement de : ", 'CasEn/'+f)
# on veut ouvrir un fichier directement au lancement d'Eficas
eficas_go.lance_eficas_ssIhm_reecrit(code='TELEMAC',fichier = 'CasEn/'+f,ou = 'CasEn_Reecrits',cr=True)
--- /dev/null
+
+# -*- coding: latin-1 -*-
+
+from Accas import *
+class DateJJMMAAAA:
+ def __init__(self):
+ self.ntuple=3
+
+ def __convert__(self,valeur):
+ if type(valeur) == types.StringType: return None
+ if len(valeur) != self.ntuple: return None
+ return valeur
+
+ def info(self):
+ return "Date : jj/mm/aaaa "
+
+ __repr__=info
+ __str__=info
+
+class grma(GEOM):
+ pass
+
+import types
+class Tuple:
+ def __init__(self,ntuple):
+ self.ntuple=ntuple
+
+ def __convert__(self,valeur):
+ if type(valeur) == types.StringType:
+ return None
+ if len(valeur) != self.ntuple:
+ return None
+ return valeur
+
+ def info(self):
+ return "Tuple de %s elements" % self.ntuple
+
+
+
+JdC = JDC_CATA (code = 'TELEMAC2D',
+ execmodul = None,
+ )
+# =======================================================================
+# Catalog entry for the MAP function : c_pre_interfaceBody_mesh
+# =======================================================================
+
+VERSION_CATALOGUE="TRUNK"
+# -----------------------------------------------------------------------
+COMPUTATION_ENVIRONMENT = PROC(nom= "COMPUTATION_ENVIRONMENT",op = None,
+# -----------------------------------------------------------------------
+ UIinfo = {"groupes": ("CACHE")},
+ fr ='tototoooooooooooooo',
+ ang ='tototoooooooooooooo',
+# -----------------------------------
+
+ INDEX = SIMP(statut = "o", typ = 'R',
+ max='**',
+ ang = "Index of the variable",
+ fr = u"Indice de la variable",
+ #validators = VerifTypeTuple(('R', 'R')),
+ ),
+
+ SUPG_OPTION = SIMP(statut ='o', typ = 'R', min=0, max='**',),
+ VARIABLES_PN = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM', min=0,
+ max="**",
+ into= ["velocity along x axis (m/s)","velocity along y axis (m/s)","wave celerity (m/s)","water depth (m)","free surface elevation (m)","bottom elevation (m)","Froude number","scalar flowrate of fluid (m2/s)","tracer 1, etc.","turbulent kinetic energy in k-epsilon model (J/kg)","dissipation of turbulent energy (W/kg)","turbulent viscosity of k-epsilon model (m2/s)","flowrate along x axis (m2/s)","flowrate along y axis (m2/s)","scalar velocity (m/s)","wind along x axis (m/s)","wind along y axis (m/s)","air pressure (Pa)","friction coefficient","drift along x (m)","drift along y (m)","nombre de courants ","supplementary variable N","supplementary variable O","supplementary variable R","supplementary variable Z","gradient 1, etc."],
+ defaut = '',
+ fr = """Nom des variables que l''utilisateur desire ecrire a l''ecran. Meme
+possibilites que pour les sorties graphiques.""",
+ ang = """Name of the variables that the user wants printed on screen.
+Same values available as graphical outputs""",
+ ),
+# -----------------------------------
+ TITLE2 = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ defaut = '',
+ fr = """Titre du cas etudie. Ce titre figurera sur les dessins.""",
+ ang = """Title of the case being considered. This title shall be marked on the
+drawings.""",
+ ),
+# -----------------------------------
+ INITIALIZATION = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ TITLE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ defaut = '',
+ fr = """Titre du cas etudie. Ce titre figurera sur les dessins.""",
+ ang = """Title of the case being considered. This title shall be marked on the
+drawings.""",
+ ),
+# -----------------------------------
+ INITIAL_CONDITIONS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ['ZERO ELEVATION','CONSTANT ELEVATION','ZERO DEPTH','CONSTANT DEPTH','SPECIAL','PARTICULIERES','PARTICULAR','TPXO SATELLITE ALTIMETRY'],
+ defaut = 'ZERO ELEVATION',
+ fr = """Permet de definir les conditions initiales sur
+les hauteurs d''eau.
+Les valeurs possibles sont :
+ - COTE NULLE. Initialise la cote de surface libre a 0.
+ Les hauteurs d''eau initiales sont alors retrouvees en
+ faisant la difference entre les cotes de surface libre
+ et du fond.
+ - COTE CONSTANTE .Initialise la cote de surface libre a la
+ valeur donnee par le mot-cle COTE INITIALE. Les hauteurs
+ d''eau initiales sont calculees comme precedemment.
+ - HAUTEUR NULLE .Initialise les hauteurs d''eau a 0.
+ - HAUTEUR CONSTANTE. Initialise les hauteurs d''eau a la valeur
+ donnee par le mot-cle HAUTEUR INITIALE.
+ - PARTICULIERES. Les conditions initiales sur la hauteur d''eau
+ doivent etre precisees dans le sous-programme CONDIN.
+ - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur
+ d''eau et les vitesses sont etiblies sur la base des donnees
+ satellite TPXO dont les 8 premiers constistuents
+ont ete extrait
+ et sauves dans le fichier BASE DE DONNEES DE MAREE.""",
+ ang = """Makes it possible to define the initial conditions with
+the water depth.
+The possible values are as follows:
+ - ZERO ELEVATION-. Initializes the free surface elevation to 0.
+The initial water depths are then found by computing the difference
+between the free surface and the bottom.
+ - CONSTANT ELEVATION-. Initializes the water elevation to the value
+given by the keyword -INITIAL ELEVATION-. The initial water depths
+are computed as in the previous case.
+ - ZERO DEPTH-. Initializes the water depths to 0.
+ - CONSTANT DEPTH-. Initializes the water depths to the value given
+by the key-word -INITIAL DEPTH-.
+ - SPECIAL-. The initial conditions with the water depth should be
+stated in the CONDIN subroutine.
+ - TPXO SATELITE ALTIMETRY. The initial conditions on the
+free surface and
+velocities are established from the TPXO satellite program data,
+the harmonic
+constituents of which are stored in the TIDE DATA BASE file.""",
+ ),
+# -----------------------------------
+ b_INITIAL_CONDITIONSG = BLOC(condition="INITIAL_CONDITIONS == 'CONSTANT ELEVATION'",
+# -----------------------------------
+# -----------------------------------
+ INITIAL_ELEVATION = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Valeur utilisee avec l''option :
+ CONDITIONS INITIALES - COTE CONSTANTE""",
+ ang = """Value to be used with the option :
+INITIAL CONDITIONS -CONSTANT ELEVATION""",
+ ),
+ ),
+# -----------------------------------
+ b_INITIAL_CONDITIONSH = BLOC(condition="INITIAL_CONDITIONS == 'CONSTANT DEPTH'",
+# -----------------------------------
+# -----------------------------------
+ INITIAL_DEPTH = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Valeur utilisee avec l''option :
+CONDITIONS INITIALES :-HAUTEUR CONSTANTE-""",
+ ang = """Value to be used along with the option:
+ INITIAL CONDITIONS -CONSTANT DEPTH-""",
+ ),
+ ),
+# -----------------------------------
+ BINARY_DATA_FILE_1_FORMAT = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ into = ['BIN','SERAFIN','SERAFIND','MED'],
+ defaut = 'BIN',
+ fr = """Format du fichier de geometrie.
+Les valeurs possibles sont :
+- BIN : format binaire standard
+- SERAFIN : format standard simple precision pour Telemac;
+- SERAFIND: format standard double precision pour Telemac;
+- MED : format MED base sur HDF5""",
+ ang = """Geometry file format.
+Possible values are:
+- BIN : Standard binary format
+- SERAFIN : classical single precision format in Telemac;
+- SERAFIND: classical double precision format in Telemac;
+- MED : MED format based on HDF5""",
+ ),
+# -----------------------------------
+ BINARY_DATA_FILE_1 = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier de donnees code en binaire mis a la disposition
+de l''utilisateur.
+Les donnees de ce fichier seront a lire sur le canal 24.""",
+ ang = """Binary-coded data file made available to the user.
+The data in this file shall be read on channel 24.""",
+ ),
+# -----------------------------------
+ BINARY_DATA_FILE_2_FORMAT = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ into = ['BIN','SERAFIN','SERAFIND','MED'],
+ defaut = 'BIN',
+ fr = """Format du fichier de geometrie.
+Les valeurs possibles sont :
+- BIN : format binaire standard
+- SERAFIN : format standard simple precision pour Telemac;
+- SERAFIND: format standard double precision pour Telemac;
+- MED : format MED base sur HDF5""",
+ ang = """Geometry file format.
+Possible values are:
+- BIN : Standard binary format
+- SERAFIN : classical single precision format in Telemac;
+- SERAFIND: classical double precision format in Telemac;
+- MED : MED format based on HDF5""",
+ ),
+# -----------------------------------
+ BINARY_DATA_FILE_2 = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier de donnees code en binaire mis a la disposition
+de l''utilisateur.
+Les donnees de ce fichier seront a lire sur le canal 25.""",
+ ang = """Binary-coded data file made available to the user.
+The data in this file shall be read on channel 25.""",
+ ),
+# -----------------------------------
+ FORMATTED_DATA_FILE_1 = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier de donnees formate mis a la disposition de
+l''utilisateur.
+Les donnees de ce fichier seront a lire sur le canal 26.""",
+ ang = """Formatted data file made available to the user.
+The data in this file shall be read on channel 26.""",
+ ),
+# -----------------------------------
+ FORMATTED_DATA_FILE_2 = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier de donnees formate mis a la disposition de
+l''utilisateur.
+Les donnees de ce fichier seront a lire sur le canal 27.""",
+ ang = """Formatted data file made available to the user.
+The data in this file shall be read on channel 27.""",
+ ),
+# -----------------------------------
+ INPUT_FILES = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ GEOMETRY_FILE_FORMAT = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ['SERAFIN','SERAFIND','MED'],
+ defaut = 'SERAFIN',
+ fr = """Format du fichier de geometrie.
+Les valeurs possibles sont :
+- SERAFIN : format standard simple precision pour Telemac;
+- SERAFIND: format standard double precision pour Telemac;
+- MED : format MED base sur HDF5""",
+ ang = """Geometry file format.
+Possible values are:
+- SERAFIN : classical single precision format in Telemac;
+- SERAFIND: classical double precision format in Telemac;
+- MED : MED format based on HDF5""",
+ ),
+# -----------------------------------
+ GEOMETRY_FILE = SIMP(statut ='o',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ fr = """Nom du fichier contenant le maillage du calcul a realiser.""",
+ ang = """Name of the file containing the mesh. This file may also
+contain the topography and the friction coefficients.""",
+ ),
+# -----------------------------------
+ FORTRAN_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'FichierOuRepertoire',
+ defaut = 'DEFAUT',
+ fr = """Nom du fichier FORTRAN a soumettre.""",
+ ang = """Name of FORTRAN file to be submitted.""",
+ ),
+# -----------------------------------
+ BOTTOM_TOPOGRAPHY_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Nom du fichier eventuel contenant la bathymetrie associee au
+maillage.
+Si ce mot-cle est utilise; c''est cette bathymetrie qui sera utilisee
+pour le calcul.""",
+ ang = """Name of the possible file containing the bathymetric data.
+Where this keyword is used, these bathymetric data shall be used in
+the computation.""",
+ ),
+# -----------------------------------
+ BOTTOM_SMOOTHINGS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Nombre de lissages effectues sur la topographie.
+chaque lissage, effectue a l''aide d''une matrice de masse,
+est conservatif.
+Utilise lorsque les donnees de bathymetrie donnent des resultats
+trop irreguliers apres interpolation.""",
+ ang = """Number of smoothings on bottom topography.
+each smoothing is mass conservative.
+to be used when interpolation of bathymetry on the mesh gives
+very rough results.""",
+ ),
+# -----------------------------------
+ BOUNDARY_CONDITIONS_FILE = SIMP(statut ='o',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ fr = """Nom du fichier contenant les types de conditions aux limites.
+Ce fichier est rempli de facon automatique par le mailleur au moyen de
+couleurs affectees aux noeuds des frontieres du domaine de calcul.""",
+ ang = """Name of the file containing the types of boundary conditions.
+This file is filled automatically by the mesh generator through
+through colours that are assigned to the boundary nodes.""",
+ ),
+# -----------------------------------
+ VALIDATION = SIMP(statut ='f',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Option utilisee principalement pour le dossier de validation. Le
+fichier des resultats du calcul precedent est alors considere comme une
+reference a laquelle on va comparer le calcul. La comparaison est
+effectuee par le sous-programme VALIDA qui peut etre une comparaison
+avec une solution exacte par exemple.""",
+ ang = """This option is primarily used for the validation documents. The
+PREVIOUS COMPUTATION FILE is then considered as a reference which the
+computation is going to be compared with. The comparison is made by the
+subroutine VALIDA, which can be modified as to so as to include, for
+example,a comparison with an exact solution.""",
+ ),
+# -----------------------------------
+ REFERENCE_FILE_FORMAT = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ into = ['SERAFIN','SERAFIND','MED'],
+ defaut = 'SERAFIN',
+ fr = """Format du fichier de resultats du calcul precedent.
+Les valeurs possibles sont :
+- SERAFIN : format standard simple precision pour Telemac;
+- SERAFIND: format standard double precision pour Telemac;
+- MED : format MED base sur HDF5""",
+ ang = """Previous computation results file format.
+Possible values are:
+- SERAFIN : classical single precision format in Telemac;
+- SERAFIND: classical double precision format in Telemac;
+- MED : MED format based on HDF5""",
+ ),
+# -----------------------------------
+ REFERENCE_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier de resultats de reference pour la validation. Les resultats a
+placer dans ce fichier seront a ecrire sur le canal 22.""",
+ ang = """Binary-coded result file for validation. The results to be entered
+into this file shall be written on channel 22.""",
+ ),
+ ),
+# -----------------------------------
+ GLOBAL = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ PARALLEL_PROCESSORS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """NOMBRE DE PROCESSEURS EN CALCUL PARALLELE
+0 : 1 machine, compilation sans bibliotheque de parallelisme
+1 : 1 machine, compilation avec bibliotheque de parallelisme
+2 : 2 processeurs ou machines en parallele
+etc...""",
+ ang = """NUMBER OF PROCESSORS FOR PARALLEL PROCESSING
+0 : 1 machine, compiling without parallel library
+1 : 1 machine, compiling with a parallel library
+2 : 2 processors or machines in parallel
+etc....""",
+ ),
+# -----------------------------------
+ CHECKING_THE_MESH = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Si oui on appelle le sous-programme checkmesh qui verifie
+la coherence du maillage, points superposes, etc.""",
+ ang = """if this key word is equal to yes, a call to subroutine
+checkmesh will look for errors in the mesh, superimposed points, etc.""",
+ ),
+# -----------------------------------
+ MAXIMUM_NUMBER_OF_BOUNDARIES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 30,
+ fr = """nombre maximal de frontieres differentes dans le maillage.
+Sert au dimensionnement de la memoire, a augmenter si necessaire""",
+ ang = """maximal number of boundaries in the mesh.
+Used for dimensioning arrays. Can be increased if needed""",
+ ),
+# -----------------------------------
+ MAXIMUM_NUMBER_OF_SOURCES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 20,
+ fr = """nombre maximal de points sources dans le maillage.
+Sert au dimensionnement de la memoire, a augmenter si necessaire""",
+ ang = """maximal number of punctual sources in the mesh.
+Used for dimensioning arrays. Can be increased if needed""",
+ ),
+# -----------------------------------
+ MAXIMUM_NUMBER_OF_TRACERS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 20,
+ fr = """nombre maximal de traceurs.
+Sert au dimensionnement de la memoire, a augmenter si necessaire""",
+ ang = """maximal number of tracers.
+Used for dimensioning arrays. Can be increased if needed""",
+ ),
+# -----------------------------------
+ VECTOR_LENGTH = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """LONGUEUR DU VECTEUR POUR LES MACHINES VECTORIELLES""",
+ ang = """VECTOR LENGTH ON VECTOR MACHINES""",
+ ),
+ ),
+ ),
+# -----------------------------------
+ RESTART = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ COMPUTATION_CONTINUED = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Determine si le calcul en cours est independant de tout autre
+resultat ou est une reprise effectuee a partir du resultat d''un calcul
+precedent.
+NON : Il s''agit du premier passage pour ce calcul et il est necessaire
+de definir un jeu complet de conditions initiales
+OUI : Il s''agit d''une reprise de calcul :
+les conditions initiales sont constituees par le dernier pas de
+temps du ''FICHIER DU CALCUL PRECEDENT'' du fichier des parametres
+utilise pour soumettre le calcul.
+Par contre, l''ensemble des donnees du fichier des parametres
+peuvent etre redefinies ; ce qui offre la possibilite de changer
+par exemple, le pas de temps, le modele de turbulence, le
+frottement, d''ajouter ou retirer un traceur ...
+De meme, il est necessaire de definir des conditions aux limites
+(sous-programme BORD ou valeurs placees dans le fichier des
+parametres), qui peuvent egalement etre modifiees.""",
+ ang = """Determines whether the computation under way is independent
+result or is following an earlier result.
+NO: It is the first run for this computation and a whole set of
+initial conditions should be defined.
+YES: It follows a former computation:
+the initial conditions consist in the last time step of the
+PREVIOUS COMPUTATION FILE in the steering file used for submitting
+the computation.
+All the data from the steering file may be defined once again, which
+provides an opportunity to change, for example, the time step,
+the turbulence model, the friction, to add or remove a tracer...
+It is also possible to define new boundary conditions.""",
+ ),
+# -----------------------------------
+ b_COMPUTATION_CONTINUEDG = BLOC(condition="COMPUTATION_CONTINUED == True",
+# -----------------------------------
+# -----------------------------------
+ PREVIOUS_COMPUTATION_FILE_FORMAT = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ['SERAFIN','SERAFIND','MED'],
+ defaut = 'SERAFIN',
+ fr = """Format du fichier de resultats du calcul precedent.
+Les valeurs possibles sont :
+- SERAFIN : format standard simple precision pour Telemac;
+- SERAFIND: format standard double precision pour Telemac;
+- MED : format MED base sur HDF5""",
+ ang = """Previous computation results file format.
+Possible values are:
+- SERAFIN : classical single precision format in Telemac;
+- SERAFIND: classical double precision format in Telemac;
+- MED : MED format based on HDF5""",
+ ),
+# -----------------------------------
+ PREVIOUS_COMPUTATION_FILE = SIMP(statut ='o',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Nom d''un fichier contenant les resultats d''un calcul
+precedent realise sur le meme maillage et dont le dernier pas de temps
+enregistre va fournir les conditions initiales pour une suite de de
+calcul.""",
+ ang = """Name of a file containing the results of an earlier
+computation which was made on the same mesh. The last recorded time
+step will provid the initial conditions for the new computation.""",
+ ),
+# -----------------------------------
+ RECORD_NUMBER_FOR_RESTART = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """En cas de suite de calcul, numero de l''enregistrement
+de depart dans le fichier du calcul precedent. 0 signifie
+qu''on prend le dernier enregistrement""",
+ ang = """In case of COMPUTATION CONTINUED, record number to
+start from in the PREVIOUS COMPUTATION FILE""",
+ ),
+ ),
+# -----------------------------------
+ INITIAL_TIME_SET_TO_ZERO = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Remet le temps a zero en cas de suite de calcul""",
+ ang = """Initial time set to zero in case of restart""",
+ ),
+ ),
+# -----------------------------------
+ OUTPUT_FILES = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ RESULTS_FILES = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ NUMBER_OF_FIRST_TIME_STEP_FOR_GRAPHIC_PRINTOUTS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Determine le nombre de pas de temps a partir duquel debute
+l''ecriture des resultats dans le FICHIER DES RESULTATS.""",
+ ang = """Determines the number of time steps after which the results
+are first written into the RESULTS FILE.""",
+ ),
+# -----------------------------------
+ GRAPHIC_PRINTOUT_PERIOD = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """ Determine la periode en nombre de pas de temps d''impression des
+VARIABLES POUR LES SORTIES GRAPHIQUES (voir ce mot-cle) dans le FICHIER
+DES RESULTATS.""",
+ ang = """ Determines, in number of time steps, the printout period for the
+VARIABLES FOR GRAPHIC PRINTOUTS in the RESULTS FILE.""",
+ ),
+# -----------------------------------
+ VARIABLES_FOR_GRAPHIC_PRINTOUTS = SIMP(statut ='o',
+# -----------------------------------
+ #typ = 'TXM', min=0, max='**',
+ typ = 'TXM', min=0,
+ into = ["velocity along x axis (m/s)","velocity along y axis (m/s)","wave celerity (m/s)","water depth (m)","free surface elevation (m)","bottom elevation (m)","Froude number","scalar flowrate of fluid (m2/s)","tracer 1 etc.","All the tracers 1 to 9.","All the tracers 10 to 19.","turbulent kinetic energy in k-epsilon model (J/kg)","dissipation of turbulent energy (W/kg)","turbulent viscosity (m2/s)","flowrate along x axis (m2/s)","flowrate along y axis (m2/s)","scalar velocity (m/s)","wind along x axis (m/s)","wind along y axis (m/s)","air pressure (Pa)","friction coefficient","drift along x (m)","drift along y (m)","Courant number ","supplementary variable N","supplementary variable O","supplementary variable R","supplementary variable Z","maximum elevation","time of maximum elevation","maximum velocity","time of maximum velocity","friction velocity","gradient 1, etc. "],
+ defaut = ["velocity along x axis (m/s)","velocity along y axis (m/s)","water depth (m)","bottom elevation (m)"],
+ fr = """ Noms des variables que l''utilisateur veut ecrire dans le fichier des
+resultats. Chaque variable est representee par une lettre. Le choix des
+separateurs est libre. Les possibilites offertes sont les suivantes :
+ - U : vitesse suivant l''axe des x (m/s),
+ - V : vitesse suivant l''axe des y (m/s),
+ - C : celerite des ondes (m/s),
+ - H : hauteur d''eau (m),
+ - S : cote de surface libre (m),
+ - B : cote du fond (m),
+ - F : nombre de Froude,
+ - Q : debit scalaire du fluide (m2/s),
+ - Tn: traceur, avec n le numero du traceur,
+ - K : energie turbulente du modele k-epsilon (J/kg),
+ - E : dissipation de l''energie turbulente (W/kg),
+ - D : viscosite turbulente du modele k-epsilon (m2/s),
+ - I : debit suivant l''axe des x (m2/s),
+ - J : debit suivant l''axe des y (m2/s),
+ - M : vitesse scalaire (m/s),
+ - X : vent suivant l''axe des x (m/s),
+ - Y : vent suivant l''axe des y (m/s),
+ - P : pression atmospherique (Pa),
+ - W : coefficient de frottement sur le fond,
+ - A : derive en x (m),
+ - G : derive en y (m),
+ - L : coefficient de frottement sur le fond,
+ - Gn: gradient differencie, avec n le numero de reference du gradient.
+L''utilisateur dispose egalement de 4 champs libres, qu''il peut
+utiliser pour ecrire dans le fichier des resultats des variables qu''il
+cree lui-meme. Ces variables propres a l''utlisateur doivent etre
+calculees dans le sous-programme PRERES et le nom que l''on desire leur
+donner doit etre ecrit dans le sous-programme NOMVAR. Ces 7 champs sont
+:
+ - N, O, R, Z qui correspondent aux tableaux PRIVE(1,1), PRIVE(1,2),
+ PRIVE(1,3), PRIVE(1,4).
+A la difference des variables precedentes, celles-ci sont conservees
+dans tout le programme, et peuvent donc etre reutilisees. Dans ce
+dernier cas ne pas oublier de donner une taille suffisante au tableau
+PRIVE (dans le programme principal). Il est ainsi possible de limiter,
+par exemple, la taille des fichiers de resultats pour de tres gros
+calculs. Cependant, il faut etre conscient du fait que, dans
+l''eventualite d''une reprise de calcul, le code doit disposer, dans le
+fichier des resultats, des informations necessaires a sa poursuite, a
+savoir :
+ - les vitesses U et V,
+ - les hauteurs d''eau H,
+ - les cotes du fond B.
+Toutefois, TELEMAC peut recalculer certaines de ces variables a
+partir d''autres qui lui seront fournies (par exemple, il recalculera H
+a partir de S et B).""",
+ ang = """ Names of variables the user wants to write into the results file. Each
+variable is represented by a letter. The separators can be freely
+selected. The available capabilities are as follows:
+ - U : velocity along x axis (m/s),
+ - V : velocity along y axis (m/s),
+ - C : wave celerity (m/s),
+ - H : water depth (m),
+ - S : free surface elevation (m),
+ - B : bottom elevation (m),
+ - F : Froude number,
+ - Q : scalar flowrate of fluid (m2/s),
+ - Tn : tracer, with n the tracer number,
+ - K : turbulent kinetic energy in k-epsilon model (J/kg),
+ - E : dissipation of turbulent energy (W/kg),
+ - D : turbulent viscosity of k-epsilon model (m2/s),
+ - I : flowrate along x axis (m2/s),
+ - J : flowrate along y axis (m2/s),
+ - M : scalar velocity (m/s),
+ - X : wind along x axis (m/s) Y : wind along y axis (m/s),
+ - P : air pressure (Pa),
+ - W : friction coefficient ,
+ - A : drift along x,
+ - G : drift along y,
+ - L : nombre de courant,
+ - Gn : differentiated gradient, with n the gradient reference number.
+Four other variables are also made available to the
+user who may use them for writing into the file the results of variables
+he creates himself. These user-specific variables should be computed in
+the subroutine PRERES and their desired name should be written into the
+subroutine NOMVAR. These seven variables are as follows:
+- N, O, R, Z
+which correspond to arrays PRIVE(1,1) up to PRIVE(1, Unlike the
+preceding variables, they are preserved throughout the program, so that
+they can be used again.
+In the latter case, do not forget to provide the
+array PRIVE with sufficiently large dimensions (in FORTRAN file). With
+this key-word, one can limit the size of the RESULTS FILE. It should be
+kept in mind, however, that if a computation has to be continued, the
+RESULTS FILE should contain the appropriate information for running the
+code,i.e.:
+ - velocities U and V,
+ - water depths H,
+ - bottom elevations B.
+TELEMAC, however, can compute some of these variables from others for
+example, it will compute H from S and B.""",
+ ),
+# -----------------------------------
+ NUMBER_OF_PRIVATE_ARRAYS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Nombre de tableaux mis a disposition de l utilisateur""",
+ ang = """Number of arrays for own user programming""",
+ ),
+# -----------------------------------
+ NAMES_OF_PRIVATE_VARIABLES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM', min=0, max='**',
+ fr = """Noms des variables privees en 32 caracteres, 16 pour le nom
+ 16 pour l''unite. Elles correspondent au bloc PRIVE
+ et peuvent etre lues dans le fichier de geometrie si elles
+ y sont presentes avec leur nom""",
+ ang = """Name of private variables in 32 characters, 16 for the name,
+ 16 for the unit. They are stored in the block PRIVE and
+ can be read in the geometry file if they are here with their
+ name""",
+ ),
+# -----------------------------------
+ RESULTS_FILE_FORMAT = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ['SERAFIN','SERAFIND','MED'],
+ defaut = 'SERAFIN',
+ fr = """Format du fichier de resultats.
+Les valeurs possibles sont :
+- SERAFIN : format standard simple precision pour Telemac;
+- SERAFIND: format standard double precision pour Telemac;
+- MED : format MED base sur HDF5""",
+ ang = """Results file format. Possible values are:
+- SERAFIN : classical single precision format in Telemac;
+- SERAFIND: classical double precision format in Telemac;
+- MED : MED format based on HDF5""",
+ ),
+# -----------------------------------
+ RESULTS_FILE = SIMP(statut ='o',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Nom du fichier dans lequel seront ecrits les resultats du
+calcul avec la periodicite donnee par le mot cle ''PERIODE POUR LES
+SORTIES GRAPHIQUES''.""",
+ ang = """Name of the file into which the computation results shall be
+written,
+the periodicity being given by the key-word:
+GRAPHIC PRINTOUT PERIOD.""",
+ ),
+# -----------------------------------
+ BINARY_RESULTS_FILE_FORMAT = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ into = ['BIN','SERAFIN','SERAFIND','MED'],
+ defaut = 'BIN',
+ fr = """Format du fichier de geometrie.
+Les valeurs possibles sont :
+- SERAFIN : format standard simple precision pour Telemac;
+- SERAFIND: format standard double precision pour Telemac;
+- MED : format MED base sur HDF5""",
+ ang = """Geometry file format.
+Possible values are:
+- SERAFIN : classical single precision format in Telemac;
+- SERAFIND: classical double precision format in Telemac;
+- MED : MED format based on HDF5""",
+ ),
+# -----------------------------------
+ BINARY_RESULTS_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultats code en binaire mis a la disposition
+de l''utilisateur. Les resultats a placer dans ce fichier seront a
+ecrire sur le canal 28.""",
+ ang = """Additional binary-coded result file made available
+to the user. The results to be entered into this file shall be written
+on channel 28.""",
+ ),
+# -----------------------------------
+ FORMATTED_RESULTS_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultats formate mis a la disposition de
+l''utilisateur.
+Les resultats a placer dans ce fichier seront a ecrire sur
+le canal 29.""",
+ ang = """Formatted file of results made available to the user.
+The results to be entered into this file shall be written
+on channel 29.""",
+ ),
+ ),
+# -----------------------------------
+ CONTROL_SECTION = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ CONTROL_SECTIONS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I', min=0, max='**',
+ fr = """Couples de points (numeros globaux dans le maillage) entre
+lesquels les debits instantanes et cumules seront donnes.""",
+ ang = """Couples of points (global numbers
+in the mesh) defining sections
+ where the instantaneous and cumulated discharges will be given""",
+ ),
+# -----------------------------------
+ PRINTING_CUMULATED_FLOWRATES = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """IMPRESSION DU FLUX CUMULE A TRAVERS LES SECTIONS DE CONTROLE""",
+ ang = """PRINTING THE CUMULATED FLOWRATES THROUGH CONTROL SECTIONS""",
+ ),
+# -----------------------------------
+ COMPATIBLE_COMPUTATION_OF_FLUXES = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """FLUX A TRAVERS LES SECTIONS DE CONTROLE, CALCUL COMPATIBLE
+AVEC L''IMPERMEABILITE SOUS FORME FAIBLE""",
+ ang = """FLOWRATES THROUGH CONTROL SECTIONS, COMPUTATION COMPATIBLE
+WITH THE WEAK FORMULATION OF NO-FLUX BOUNDARY CONDITION""",
+ ),
+# -----------------------------------
+ SECTIONS_INPUT_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """sections input file, partitioned""",
+ ang = """sections input file, partitioned""",
+ ),
+# -----------------------------------
+ SECTIONS_OUTPUT_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """sections output file, written by the master""",
+ ang = """sections output file, written by the master""",
+ ),
+# -----------------------------------
+ FLUXLINE = SIMP(statut ='f',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """FLUXLINE""",
+ ang = """Use Fluxline to compute flux over lines""",
+ ),
+# -----------------------------------
+ FLUXLINE_INPUT_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Nom du fichier de fluxline, avec des donnees sur les sections""",
+ ang = """Name of the Fluxline file, with data on cross-sections""",
+ ),
+ ),
+# -----------------------------------
+ LISTING = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ NUMBER_OF_FIRST_TIME_STEP_FOR_LISTING_PRINTOUTS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Determine le nombre de pas de temps a partir duquel debute
+l''ecriture des resultats dans le listing.""",
+ ang = """Determines the number of time steps after which the results
+are first written into the listing.""",
+ ),
+# -----------------------------------
+ LISTING_PRINTOUT_PERIOD = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """ Determine la periode en nombre de pas de temps d''impression des
+VARIABLES A IMPRIMER (voir ce mot-cle) Pour la mise au point, il faut
+savoir que la sortie des resultats est effectuee systematiquement sur le
+fichier de retour d''execution du code (actuellement accessible par le
+menu 3.f de SPF sur IBM, et dans le fichier !CAS.SORTIE sur station de
+travail)""",
+ ang = """ Determines, in number of time steps, the printout period of the
+VARIABLES TO BE PRINTED The results are systematically printed out on
+the listing file (file CAS.SORTIE at the workstation).""",
+ ),
+# -----------------------------------
+ LISTING_FOR_PRINTOUT_PERIOD = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """Determine la periode en nombre de pas de temps d''impression
+des VARIABLES A IMPRIMER (voir ce mot-cle) Pour la mise au point,
+il faut savoir que la sortie des resultats est effectuee
+systematiquement sur le fichier de retour d''execution du code
+(actuellement accessible par le menu 3.f de SPF sur IBM, et dans
+le fichier !CAS.SORTIE sur station de travail)""",
+ ang = """Determines, in number of time steps, the printout period of
+the VARIABLES TO BE PRINTED
+The results are systematically printed out on the listing file
+(file CAS.SORTIE at the workstation).""",
+ ),
+# -----------------------------------
+ LISTING_PRINTOUT = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = True,
+ fr = """Sortie des resultats sur support papier.
+Si l''on met NON le listing ne contient que l''entete et la mention
+FIN NORMALE DU PROGRAMME
+Commande a eviter""",
+ ang = """Result printout on hard copy.
+When NO is selected, the listing only includes the heading and the
+phrase "NORMAL END OF PROGRAM"
+In addition, the options MASS BALANCE and VALIDATION are inhibited.
+Not recommended for use.""",
+ ),
+# -----------------------------------
+ VARIABLES_TO_BE_PRINTED = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM', min=0,
+#max='**',
+ intoSug = ["velocity along x axis (m/s)","velocity along y axis (m/s)","wave celerity (m/s)","water depth (m)","free surface elevation (m)","bottom elevation (m)","Froude number","scalar flowrate of fluid (m2/s)","tracer 1, etc.","turbulent kinetic energy in k-epsilon model (J/kg)","dissipation of turbulent energy (W/kg)","turbulent viscosity of k-epsilon model (m2/s)","flowrate along x axis (m2/s)","flowrate along y axis (m2/s)","scalar velocity (m/s)","wind along x axis (m/s)","wind along y axis (m/s)","air pressure (Pa)","friction coefficient","drift along x (m)","drift along y (m)","nombre de courants ","supplementary variable N","supplementary variable O","supplementary variable R","supplementary variable Z","gradient 1, etc."],
+ defaut = '',
+ fr = """Nom des variables que l''utilisateur desire ecrire a l''ecran. Meme
+possibilites que pour les sorties graphiques.""",
+ ang = """Name of the variables that the user wants printed on screen.
+Same values available as graphical outputs""",
+ ),
+# -----------------------------------
+ MASS_BALANCE = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Determine si l''on effectue ou non le bilan de masse
+sur le domaine.
+Cette procedure calcule a chaque pas de temps :
+ - les flux aux entrees et sorties du domaine;
+ - le flux global a travers l''ensemble des parois du domaine (liquides
+ou solides)
+- l''erreur relative sur la masse pour ce pas de temps.
+En fin de listing, on trouve l''erreur relative sur la masse pour
+l''ensemble du calcul.
+Il ne s''agit que d''un calcul indicatif car il n''existe pas
+d''expression compatible du debit en formulation c,u,v.""",
+ ang = """Determines whether a check of the mass-balance over
+the domain is mader or not.
+This procedures computes the following at each time step:
+the domain inflows and outflows,
+the overall flow across all the boundaries,
+the relative error in the mass for that time step.
+The relative error in the mass over the whole computation can be found
+at the end of the listing.""",
+ ),
+# -----------------------------------
+ INFORMATION_ABOUT_SOLVER = SIMP(statut ='f',
+# -----------------------------------
+ typ = bool,
+ defaut = True,
+ fr = """Donne a chaque pas de temps le nombre d''iterations necessaires
+a la convergence du solveur de l''etape de propagation.""",
+ ang = """if YES, prints the number of iterations
+that have been necessar
+to get the solution of the linear system.""",
+ ),
+# -----------------------------------
+ LIST_OF_POINTS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I', min=0, max='**',
+ fr = """Liste de points remarquables pour les impressions""",
+ ang = """List of remarkable points for printouts""",
+ ),
+# -----------------------------------
+ NAMES_OF_POINTS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM', min=0, max='**',
+ fr = """Noms des points remarquables pour les impressions""",
+ ang = """Names of remarkable points for printouts""",
+ ),
+ ),
+# -----------------------------------
+ FOURIER = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ FOURIER_ANALYSIS_PERIODS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min=0, max='**',
+ fr = """Liste des periodes que l''on veut analyser""",
+ ang = """List of periods to be analysed""",
+ ),
+# -----------------------------------
+ TIME_RANGE_FOR_FOURIER_ANALYSIS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min= 2, max= 2,
+ defaut = [0.,0.],
+ fr = """Pour le calcul du marnage et de la phase de la maree""",
+ ang = """For computing tidal range and phase of tide""",
+ ),
+ ),
+ ),
+)
+# -----------------------------------------------------------------------
+HYDRO = PROC(nom= "HYDRO",op = None,
+# -----------------------------------------------------------------------
+ UIinfo = {"groupes": ("CACHE")},
+# -----------------------------------
+ BOUNDARY_CONDITIONS = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ PRESCRIBED_ELEVATIONS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'R', max='**',
+ fr = """Valeurs des cotes imposees aux frontieres liquides entrantes.
+Lire la partie du mode d''emploi consacree aux conditions aux limites""",
+ ang = """Values of prescribed elevations at the inflow boundaries.
+The section about boundary conditions is to be read in the manual""",
+ ),
+# -----------------------------------
+ PRESCRIBED_FLOWRATES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'R', max='**',
+ fr = """Valeurs des debits imposes aux frontieres liquides entrantes.
+Lire la partie du mode d''emploi consacree aux conditions aux limites""",
+ ang = """Values of prescribed flowrates at the inflow boundaries.
+The section about boundary conditions is to be read in the manual""",
+ ),
+# -----------------------------------
+ PRESCRIBED_VELOCITIES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'R', max='**',
+ fr = """Valeurs des vitesses imposees aux frontieres liquides entrantes.
+ Lire la partie du mode d''emploi consacree aux conditions aux limites""",
+ ang = """Values of prescribed velocities at the liquid inflow boundaries.
+ Refer to the section dealing with the boundary conditions""",
+ ),
+ ),
+# -----------------------------------
+ BOUNDARY_CONDITIONS_OTHERS = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ STAGE_DISCHARGE_CURVES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM', max='**',
+ into = ["no","Z(Q)","Q(Z) not programmed"],
+ fr = """Indique si une courbe de tarage doit etre utilisee pour une frontiere
+0:non 1:Z(Q) 2: Q(Z) (2 non programme)""",
+ ang = """Says if a discharge-elevation curve must be used for a given boundary
+0:NO 1:Z(Q) 2: Q(Z) (2 not programmed)""",
+ ),
+# -----------------------------------
+ b_STAGE_DISCHARGE_CURVESG = BLOC(condition="STAGE_DISCHARGE_CURVES != 'no'",
+# -----------------------------------
+# -----------------------------------
+ STAGE_DISCHARGE_CURVES_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Nom du fichier contenant les courbes de tarage""",
+ ang = """Name of the file containing stage-discharge curves""",
+ ),
+ ),
+# -----------------------------------
+ VELOCITY_PROFILES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM', min=0, max='**',
+ into = ["constant normal profile","u and v given in the conlim file","normal velocity given in ubor in the conlim file","velocity proportional to square root of depth","velocity proportional to square root of depth, variant"],
+ fr = """1:profil normal constant 2:u et v
+donnes dans le fichier conlim
+ 3:vitesse normale donnee dans ubor dans le fichier conlim
+ 4:profil en racine de la profondeur
+ 5:profil en racine de la profondeur, variante""",
+ ang = """1:constant normal profile 2:u and v given in the conlim file
+ 3:normal velocity given in ubor in the conlim file
+ 4:sqrt(depth) profile
+ 5:sqrt(depth) profile, variant""",
+ ),
+# -----------------------------------
+ OPTION_FOR_LIQUID_BOUNDARIES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM', max='**',
+ into = ["classical","Thompson method based on characteristics"],
+ fr = """On donne 1 entier par frontiere liquide
+ 1 : conditions aux limites classiques
+ 2 : methode de Thompson avec calcul de caracteristiques""",
+ ang = """One integer per liquid boundary is given
+ 1 : classical boundary conditions
+ 2 : Thompson method based on characteristics""",
+ ),
+# -----------------------------------
+ LIQUID_BOUNDARIES_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier de variations en temps des conditions aux limites.
+Les donnees de ce fichier seront a lire sur le canal 12.""",
+ ang = """Variations in time of boundary conditions.
+Data of this file are read
+on channel 12.""",
+ ),
+# -----------------------------------
+ ELEMENTS_MASKED_BY_USER = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """SI OUI REMPLIR LE SOUS-PROGRAMME MASKOB""",
+ ang = """IF YES REWRITE SUBROUTINE MASKOB""",
+ ),
+# -----------------------------------
+ b_ELEMENTS_MASKED_BY_USERG = BLOC(condition="ELEMENTS_MASKED_BY_USER == True",
+# -----------------------------------
+# -----------------------------------
+ Consigne = SIMP(statut ="o", homo="information", typ="TXM",
+# -----------------------------------
+ defaut = "Rewrite subroutine maskob"),
+ ),
+ ),
+# -----------------------------------
+ PHYSICAL_PARAMETERS_HYDRO = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ FRICTION = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ MAXIMUM_NUMBER_OF_FRICTION_DOMAINS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 10,
+ fr = """nombre maximal de zones pouvant etre definies pour le
+frottement. Peut etre augmente si necessaire""",
+ ang = """maximal number of zones defined for the friction.
+Could be increased if needed""",
+ ),
+# -----------------------------------
+ FRICTION_DATA = SIMP(statut ='f',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Lois de frottements definies par zone""",
+ ang = """Friction law defined by area""",
+ ),
+# -----------------------------------
+ FRICTION_DATA_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """fichier de donnees pour le frottement""",
+ ang = """friction data file""",
+ ),
+# -----------------------------------
+ LAW_OF_BOTTOM_FRICTION = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["NO FRICTION","HAALAND","CHEZY","STRICKLER","MANNING","NIKURADSE"],
+ fr = """ selectionne le type de formulation utilisee pour le calcul du
+frottement sur le fond. Les lois possibles sont les suivantes (cf. Note
+de principe) : - 0 : pas de frottement sur le fond; 1 : formule de
+Haaland 2 : formule de Chezy 3 : formule de STRICKLER 4 : formule de
+MANNING 5 : formule de NIKURADSE""",
+ ang = """ Selects the type of formulation used for the bottom friction. The
+possible laws are as follows (refer to the Principle note): 0: no
+friction against bottom, 1: Haaland''s formula 2: CHEZY''s formula 3:
+STRICKLER''s formula 4: MANNING''s formula 5: NIKURADSE''s formula""",
+ ),
+# -----------------------------------
+ b_LAW_OF_BOTTOM_FRICTIONG = BLOC(condition="LAW_OF_BOTTOM_FRICTION != 'NO FRICTION'",
+# -----------------------------------
+# -----------------------------------
+ FRICTION_COEFFICIENT = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 50.,
+ fr = """Fixe la valeur du coefficient de frottement pour la
+formulation choisie.
+Attention; la signification de ce chiffre varie suivant la formule
+choisie :
+ 1 : coefficient lineaire
+ 2 : coefficient de Chezy
+ 3 : coefficient de Strickler
+ 4 : coefficient de Manning
+ 5 : hauteur de rugosite de Nikuradse""",
+ ang = """Sets the value of the friction coefficient for the selected
+formulation. It is noteworthy that the meaning of this figure changes
+according to the selected formula (Chezy, Strickler, etc.) :
+ 1 : linear coefficient
+ 2 : Chezy coefficient
+ 3 : Strickler coefficient
+ 4 : Manning coefficient
+ 5 : Nikuradse grain size""",
+ ),
+ ),
+# -----------------------------------
+ MANNING_DEFAULT_VALUE_FOR_COLEBROOK_WHITE_LAW = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.02,
+ fr = """valeur par defaut du manning pour la loi de frottement de
+Colebrook-White (loi numero 7)""",
+ ang = """Manning default value for the friction law of Colebrook-White
+(law number 7)""",
+ ),
+# -----------------------------------
+ DEPTH_IN_FRICTION_TERMS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["nodal","average"],
+ defaut = "nodal",
+ fr = """1 : nodale 2 : moyenne""",
+ ang = """1: nodal 2: average""",
+ ),
+# -----------------------------------
+ NON_SUBMERGED_VEGETATION_FRICTION = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """calcul du frottement du a la vegetation non submergee""",
+ ang = """friction calculation of the non-submerged vegetation""",
+ ),
+# -----------------------------------
+ b_NON_SUBMERGED_VEGETATION_FRICTIONG = BLOC(condition="NON_SUBMERGED_VEGETATION_FRICTION == True",
+# -----------------------------------
+# -----------------------------------
+ DIAMETER_OF_ROUGHNESS_ELEMENTS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.006,
+ fr = """diametre des elements de frottements""",
+ ang = """diameter of roughness element""",
+ ),
+# -----------------------------------
+ SPACING_OF_ROUGHNESS_ELEMENTS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.14,
+ fr = """espacement des elements de frottement""",
+ ang = """spacing of rouhness element""",
+ ),
+ ),
+# -----------------------------------
+ LAW_OF_FRICTION_ON_LATERAL_BOUNDARIES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["NO FRICTION","HAALAND","CHEZY","STRICKLER","MANNING","NIKURADSE","LOG LAW","COLEBROOK-WHITE"],
+ defaut = "NO FRICTION",
+ fr = """selectionne le type de formulation utilisee pour le calcul
+du frottement sur les parois laterales.
+Les lois possibles sont les suivantes (cf. Note de principe) :
+0 : pas de frottement
+1 : lineaire
+2 : Chezy
+3 : Strickler
+4 : Manning
+5 : formule de NIKURADSE
+6 : loi en log
+7 : Colebrook-White""",
+ ang = """Selects the type of formulation used
+for the friction on lateral boundaries.
+The possible laws are as follows (refer to the Principle note):
+0: no friction
+1: linear
+2: Chezy
+3: Strickler
+4: Manning
+5: NIKURADSE''s formula
+6 : law log
+7 : Colebrook-White""",
+ ),
+# -----------------------------------
+ b_LAW_OF_FRICTION_ON_LATERAL_BOUNDARIESG = BLOC(condition="LAW_OF_FRICTION_ON_LATERAL_BOUNDARIES != 'NO FRICTION'",
+# -----------------------------------
+# -----------------------------------
+ ROUGHNESS_COEFFICIENT_OF_BOUNDARIES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 100.,
+ fr = """Fixe la valeur du coefficient de frottement sur les frontieres
+solides avec un regime turbulent rugueux sur les bords du domaine.
+meme convention que pour le coefficient de frottement:
+ 1 : non programme
+ 2 : coefficient de Chezy
+ 3 : coefficient de Strickler
+ 4 : coefficient de Manning
+ 5 : hauteur de rugosite de Nikuradse""",
+ ang = """Sets the value of the friction coefficient of the solid
+boundary with the bed roughness option. Same meaning than friction
+coefficient""",
+ ),
+ ),
+# -----------------------------------
+ DEFINITION_OF_ZONES = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Declenche l''appel a def\_zones, pour donner
+ un numero de zone a chaque point""",
+ ang = """Triggers the call to def\_zones to give a zone number to every point""",
+ ),
+# -----------------------------------
+ b_DEFINITION_OF_ZONESG = BLOC(condition="DEFINITION_OF_ZONES == True",
+# -----------------------------------
+# -----------------------------------
+ Consigne = SIMP(statut ="o", homo="information", typ="TXM",
+# -----------------------------------
+ defaut = "Rewrite subroutine def_zones"),
+ ),
+# -----------------------------------
+ ZONES_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier des zones avec sur chaque ligne
+numero de point numero de zone""",
+ ang = """Zones file, with on every line:
+point number zone number""",
+ ),
+ ),
+# -----------------------------------
+ METEOROLOGY = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ WIND = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Prise en compte ou non des effets du vent.""",
+ ang = """Determines whether the wind effects are to be taken into
+account or not.""",
+ ),
+# -----------------------------------
+ b_WINDG = BLOC(condition="WIND == True",
+# -----------------------------------
+# -----------------------------------
+ WIND_VELOCITY_ALONG_X = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Composante de la vitesse du vent suivant l''axe des x (m/s).""",
+ ang = """Wind velocity, component along x axis (m/s).""",
+ ),
+# -----------------------------------
+ WIND_VELOCITY_ALONG_Y = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Composante de la vitesse du vent suivant l''axe des y (m/s).""",
+ ang = """Wind velocity, component along y axis (m/s).""",
+ ),
+# -----------------------------------
+ THRESHOLD_DEPTH_FOR_WIND = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.,
+ fr = """Retire la force due au vent dans les petites profondeurs""",
+ ang = """Wind is not taken into account for small depths""",
+ ),
+# -----------------------------------
+ COEFFICIENT_OF_WIND_INFLUENCE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Fixe la valeur du coefficient d''entrainement du vent (cf.
+Note de principe).""",
+ ang = """Sets the value of the wind driving coefficient.
+Refer to principle note.""",
+ ),
+# -----------------------------------
+ OPTION_FOR_WIND = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["constant in time and space","variable in time given by formated file","variable in time and space given by formated file"],
+ defaut = "constant in time and space",
+ fr = """donne les options pour introduire le vent:
+ 1: constant en temps et en espace (donne par le mot cle
+ VITESSE ET DIRECTION DU VENT)
+ 2: variable en temps donne par fichier formate
+ 3: variable en temps et en espace donne par fichier formate
+ ou un fichier binaire serafin""",
+ ang = """gives option for managing the wind:
+ 1: constant in time and space, given by keyword SPEED AND
+ DIRECTION OF WIND
+ 2: variable in time and (constant in space), given by formated file
+ 3: variable in time and space , given by formated file or by
+ a binary serafin file""",
+ ),
+# -----------------------------------
+ b_OPTION_FOR_WINDG = BLOC(condition="OPTION_FOR_WIND == 'constant in time and space'",
+# -----------------------------------
+# -----------------------------------
+ SPEED_AND_DIRECTION_OF_WIND = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min= 2, max= 2,
+ defaut = [0.,0.],
+ fr = """Donne la vitesse et la direction (en degres de 0 a 360,
+0 etant y=0 et x=+inf) du vent lorsqu ils sont consant en temps et
+en espace (mot cle OPTION DU VENT = 1)""",
+ ang = """gives the speed and direction (degre (from 0 to 360),
+0 given y=0 anx x=+infinity) when they are constant in time and space
+(keyword OPTION FOR WIND = 1)""",
+ ),
+ ),
+# -----------------------------------
+ b_OPTION_FOR_WINDH = BLOC(condition="OPTION_FOR_WIND == 'variable in time given by formated file' or OPTION_FOR_WIND == 'variable in time and space given by formated file'",
+# -----------------------------------
+# -----------------------------------
+ Consigne = SIMP(statut ="o", homo="information", typ="TXM",
+# -----------------------------------
+ defaut = "Give the formatted file 3"),
+ ),
+ ),
+# -----------------------------------
+ AIR_PRESSURE = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Permet de decider si l''on prend ou non en compte l''influence
+d''un champ de pression.""",
+ ang = """Provided to decide whether the influence of
+an atmosphere field
+is taken into account or not.""",
+ ),
+# -----------------------------------
+ b_AIR_PRESSUREG = BLOC(condition="AIR_PRESSURE == True",
+# -----------------------------------
+# -----------------------------------
+ VALUE_OF_ATMOSPHERIC_PRESSURE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 100000.,
+ fr = """donne la valeur de la pression atmospherique lorsquelle est
+constante en temps et en espace""",
+ ang = """gives the value of atmospheric pressure when it is contant
+in time and space""",
+ ),
+ ),
+# -----------------------------------
+ RAIN_OR_EVAPORATION = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Pour ajouter un apport ou une perte d''eau en surface.
+Voir le mot-cle PLUIE OU EVAPORATION EN MM PAR JOUR""",
+ ang = """to add or remove water at the free surface. See the key-word
+RAIN OR EVAPORATION IN MM PER DAY""",
+ ),
+# -----------------------------------
+ b_RAIN_OR_EVAPORATIONG = BLOC(condition="RAIN_OR_EVAPORATION == True",
+# -----------------------------------
+# -----------------------------------
+ RAIN_OR_EVAPORATION_IN_MM_PER_DAY = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.0,
+ fr = """Pour ajouter un apport ou une perte d''eau en surface""",
+ ang = """to add or remove water at the free surface""",
+ ),
+ ),
+# -----------------------------------
+ RAINFALL_RUNOFF_MODEL = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["No infiltration","CN runoff model"],
+ defaut = "No infiltration",
+ fr = """Option pour modele pluie-debit. Les options disponibles sont:
+ 0 : Pas d infiltration (fonction de base)
+ 1 : Modele CN (Curve Number du SCS)""",
+ ang = """Option for the rainfall-runoff model. Available options are:
+ 0 : No infiltration
+ 1 : CN runoff model (Curve Number method of the SCS)""",
+ ),
+# -----------------------------------
+ ANTECEDENT_MOISTURE_CONDITIONS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 2,
+ fr = """Donne les conditions d humidite precedant un episode de pluie pour
+le modele CN du SCS. Les options disponibles sont:
+ 1 : conditions precedentes seches
+ 2 : conditions precedentes normales
+ 3 : conditions prcedentes mouillees
+ce mot cle est uniquement utile pour le modele pluie-debit 1 (CN)""",
+ ang = """Gives the antecedent moisture conditions before a rainfall
+ event for the SCS CN runoff model. Available options are:
+ 1 : dry antecedent conditions
+ 2 : normal antecedent conditions
+ 3 : wet antecedent conditions
+This keyword is only usefull for runoff model 1 (SCS CN model)""",
+ ),
+# -----------------------------------
+ DURATION_OF_RAIN_OR_EVAPORATION_IN_HOURS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.E6,
+ fr = """Donne la duree de la pluie en heure, par defaut pluie infinie""",
+ ang = """Gives the duration of the rain in hour,
+default value is infinite""",
+ ),
+# -----------------------------------
+ ASCII_ATMOSPHERIC_DATA_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier de donnees en ascii contenant les informations
+atmospheriques variables en temps""",
+ ang = """Ascii data file containing the atmospheric data varying in
+time""",
+ ),
+# -----------------------------------
+ BINARY_ATMOSPHERIC_DATA_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier de donnees code en binaire contenant les informations
+atmospheriques variables en temps et en espace sur le maillage""",
+ ang = """Binary-coded data file containing the atmospheric data varying in
+time and space on the mesh""",
+ ),
+# -----------------------------------
+ BINARY_ATMOSPHERIC_DATA_FILE_FORMAT = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ into = ['SERAFIN','SERAFIND','MED'],
+ defaut = 'SERAFIN',
+ fr = """Format du fichier binaire de donn\E9es atmospheriques.
+Les valeurs possibles sont :
+- SERAFIN : format standard simple precision pour Telemac;
+- SERAFIND: format standard double precision pour Telemac;
+- MED : format MED base sur HDF5""",
+ ang = """Binary atmospheric file format.
+Possible values are:
+- SERAFIN : classical single precision format in Telemac;
+- SERAFIND: classical double precision format in Telemac;
+- MED : MED format based on HDF5""",
+ ),
+# -----------------------------------
+ OPTION_FOR_INITIAL_ABSTRACTION_RATIO = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """Donne le ratio entre pertes initiales IA et la retention potenti
+maximale S pour le modele pluie-debit SCS CN. Les options disponibles so
+ 1 : IA/S = 0.2 (methode standard)
+ 2 : IA/S = 0.05 (methode revisee, cf. Woodward, Hawkins et al. 2003. A
+ cette option les coefficients CN fournis en entree sont alors
+ automatiquement corriges, cf. manuel utilisateur).
+Ce mot cle est uniquement utile pour le modele pluie-d�bit 1 (CN)""",
+ ang = """Gives the ratio for Initial Abstraction to Maximal Potential
+Retention S for the SCS CN runoff model. Available options are:
+ 1 : IA/S = 0.2 (standard method)
+ 2 : IA/S = 0.05 (revised method, see Woodward, Hawkins et al. 2003. Wi
+ this option the CN values given in input are automatically convers
+ see user manual).
+This keyword is only useful for runoff model 1 (SCS CN model)""",
+ ),
+ ),
+# -----------------------------------
+ WAVE = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ WAVE_DRIVEN_CURRENTS = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Active la prise en compte des courants de houle""",
+ ang = """Wave driven currents are taken into account.""",
+ ),
+# -----------------------------------
+ b_WAVE_DRIVEN_CURRENTSG = BLOC(condition="WAVE_DRIVEN_CURRENTS == True",
+# -----------------------------------
+# -----------------------------------
+ RECORD_NUMBER_IN_WAVE_FILE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """Numero d enregistrement dans le fichier des courants de houle""",
+ ang = """Record number to read in the wave driven currents file""",
+ ),
+ ),
+# -----------------------------------
+ WAVE_ENHANCED_FRICTION_FACTOR = SIMP(statut ='f',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Active la prise en compte des interactions non-lineaires entre la
+houle et les courant pour le calcul du courant de houle (cf OConnor and
+Yoo, 1988, Coast Eng.12.)""",
+ ang = """Wave friction enhancement for the calculation of the wave generated
+longshore current (cf OConnor and Yoo, 1988, Coast Eng.12.)""",
+ ),
+ ),
+# -----------------------------------
+ ESTIMATION = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ PARAMETER_ESTIMATION = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ['','FRICTION','FRICTION, STEADY'],
+ defaut = '',
+ fr = """Liste des parametres a estimer, choix : FROTTEMENT
+ ou FROTTEMENT, PERMANENT""",
+ ang = """List of parameter to be estimated, choice : FRICTION
+ or FRICTION, STEADY""",
+ ),
+# -----------------------------------
+ COST_FUNCTION = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["Computed with h,u,v","Computed with c,u,v"],
+ defaut = "Computed with h,u,v",
+ fr = """1 : calculee sur h, u , v 2 : calculee avec c, u , v""",
+ ang = """1: computed with h, u , v 2: computed with c, u , v""",
+ ),
+# -----------------------------------
+ IDENTIFICATION_METHOD = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["list of tests","gradient simple","conj gradient","Lagrange interp."],
+ defaut = "gradient simple",
+ fr = """0 : plan d''experience
+1 : gradient simple
+2 : gradient conj.
+3 : interp. de Lagrange""",
+ ang = """0 : list of tests
+1: gradient
+2 : conj. gradient
+3 : lagrange interp.""",
+ ),
+# -----------------------------------
+ TOLERANCES_FOR_IDENTIFICATION = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min= 4, max= 4,
+ defaut = [1.E-3,1.E-3,1.E-3,1.E-4],
+ fr = """4 nombres : precision absolue sur H, U, V,
+ et precision relative sur la fonction cout""",
+ ang = """4 numbers: absolute precision on H, U V,
+ and relative precision on the cost function""",
+ ),
+# -----------------------------------
+ MAXIMUM_NUMBER_OF_ITERATIONS_FOR_IDENTIFICATION = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 20,
+ fr = """chaque iteration comprend au moins un
+ calcul direct et un calcul adjoint""",
+ ang = """every iteration implies at least a direct and
+ an adjoint computation""",
+ ),
+ ),
+# -----------------------------------
+ SOURCES = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ ABSCISSAE_OF_SOURCES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'R', min=0, max='**',
+ fr = """Valeurs des abscisses des sources de debit et de traceur.""",
+ ang = """abscissae of sources of flowrate and/or tracer""",
+ ),
+# -----------------------------------
+ ORDINATES_OF_SOURCES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'R', min=0, max='**',
+ fr = """Valeurs des ordonnees des sources de debit et de traceur.""",
+ ang = """ordinates of sources of flowrate and/or tracer""",
+ ),
+# -----------------------------------
+ WATER_DISCHARGE_OF_SOURCES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'R', min=0, max='**',
+ fr = """Valeurs des debits des sources.""",
+ ang = """values of water discharge of sources""",
+ ),
+# -----------------------------------
+ VELOCITIES_OF_THE_SOURCES_ALONG_X = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'R', min=0, max='**',
+ fr = """Vitesses du courant a chacune des sources. Si elles ne sont pas
+donnees, on considere que la vitesse est celle du courant""",
+ ang = """Velocities at the sources. If they are not given, the velocity
+of the flow at this location is taken""",
+ ),
+# -----------------------------------
+ VELOCITIES_OF_THE_SOURCES_ALONG_Y = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'R', min=0, max='**',
+ fr = """Vitesses du courant a chacune des sources""",
+ ang = """Velocities at the sources""",
+ ),
+# -----------------------------------
+ TYPE_OF_SOURCES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["Normal","Dirac"],
+ defaut = "Normal",
+ fr = """1: Source portee par une base elements finis
+2: Source portee par une fonction de Dirac""",
+ ang = """1: Source term multiplied by a finite element basis
+2: Source term multiplied by a Dirac function""",
+ ),
+# -----------------------------------
+ SOURCES_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Nom du fichier contenant les informations variables
+en temps des sources""",
+ ang = """Name of the file containing time-dependent
+information on sources""",
+ ),
+# -----------------------------------
+ BLOBAL_NUMBERS_OF_SOURCE_NODES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I', min=0, max='**',
+ fr = """ Numeros globaux des noeuds du maillage sur lequels sont affectes des
+points source""",
+ ang = """ Global numbers of nodes in the mesh that correspond to source point
+locations""",
+ ),
+ ),
+# -----------------------------------
+ WATER_QUALITY_INFO = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ WATER_QUALITY_PROCESS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """donne le numero du processus waq (1 ou 2 ou 3
+ou 4 ou 5)
+0- RIEN, 1-O2, 2-BIOMASS, 3-EUTRO 4-MICROPOL 5-THERMIC)""",
+ ang = """gives the waq process number (from 1 to 5)
+0-NOTHING, 1-O2, 2-BIOMASS, 3-EUTRO 4-MICROPOL 5-THERMIC)""",
+ ),
+ ),
+# -----------------------------------
+ ADVANCED_PHY = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ WATER_DENSITY = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1000.,
+ fr = """Fixe la valeur de la masse volumique de l''eau.""",
+ ang = """set the value of water density""",
+ ),
+# -----------------------------------
+ GRAVITY_ACCELERATION = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 9.81,
+ fr = """Fixe la valeur de l''acceleration de la pesanteur.""",
+ ang = """Set the value of the acceleration due to gravity.""",
+ ),
+# -----------------------------------
+ VERTICAL_STRUCTURES = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Prise en compte de la force de trainee de structures verticales
+(il faut alors remplir la subroutine DRAGFO)""",
+ ang = """drag forces from vertical structures are taken into account.
+(subroutine DRAGFO must then be implemented)""",
+ ),
+# -----------------------------------
+ b_VERTICAL_STRUCTURESG = BLOC(condition="VERTICAL_STRUCTURES == True",
+# -----------------------------------
+# -----------------------------------
+ Consigne = SIMP(statut ="o", homo="information", typ="TXM",
+# -----------------------------------
+ defaut = "Fill the subroutine DRAGFO"),
+ ),
+ ),
+ ),
+# -----------------------------------
+ NUMERICAL_PARAMETERS_HYDRO = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ EQUATIONS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ['SAINT-VENANT FE','SAINT-VENANT FV','BOUSSINESQ'],
+ defaut = 'SAINT-VENANT FE',
+ fr = """CHOIX DES EQUATIONS A RESOUDRE : SAINT-VENANT ELEMENTS FINIS,
+SAINT-VENANT VOLUMES FINIS OU BOUSSINESQ 20 CARACTERES""",
+ ang = """CHOICE OF EQUATIONS TO SOLVE : SAINT-VENANT FINITE ELEMENTS,
+SAINT-VENANT FINITE VOLUMES OR BOUSSINESQ 20 CHARACTERS""",
+ ),
+# -----------------------------------
+ b_EQUATIONSG = BLOC(condition="EQUATIONS == 'SAINT-VENANT FV'",
+# -----------------------------------
+# -----------------------------------
+ FINITE_VOLUME_SCHEME = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["Roe scheme","kinetic order 1","kinetic order 2","Zokagoa scheme order 1","Tchamen scheme order 1","HLLC scheme order 1","WAF scheme order 2"],
+ defaut = "kinetic order 1",
+ fr = """0 : schema de Roe 1 : cinetique ordre 1 2 : cinetique ordre 2
+3 : schema de Zokagoa 4 : schema de Tchamen 5 : HLLC ordre 1
+6 : WAF ordre 2""",
+ ang = """0: Roe scheme 1: kinetic order 1 2: kinetic order 2
+3 : Zokagoa scheme 4 : Tchamen scheme 5 : HLLC order 1
+6 : WAF order 2""",
+ ),
+ ),
+# -----------------------------------
+ TREATMENT_OF_THE_LINEAR_SYSTEM = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["coupled","Wave equation"],
+ defaut = "coupled",
+ fr = """1 : traitement couple 2 : equation d onde""",
+ ang = """1 : Coupled 2 : wave equation""",
+ ),
+ ),
+# -----------------------------------
+ FLUID = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ CORIOLIS_EFFECT = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ CORIOLIS = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Prise en compte ou non de la force de Coriolis.""",
+ ang = """The Coriolis force is taken into account or ignored.""",
+ ),
+# -----------------------------------
+ CORIOLIS_COEFFICIENT = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Fixe la valeur du coefficient de la force de Coriolis.
+Celui-ci doit etre calcule en fonction de la latitude l par la formule
+ FCOR = 2w sin(l) , w etant la vitesse de rotation de la terre.
+ w = 7.2921 10-5 rad/s
+Les composantes de la force de Coriolis sont alors :
+ FU = FCOR x V
+ FV = - FCOR x U""",
+ ang = """Sets the value of the Coriolis force coefficient, in cartesian
+coordinates.
+This coefficient, denoted FCOR in the code, should be equal to
+2 w sin(l)d where w denotes the earth angular speed of rotation
+and l the latitude. w = 7.27 10-5 rad/sec
+The Coriolis force components are then:
+FU = FCOR x V,
+FV = -FCOR x U
+In spherical coordinates, the latitudes are known""",
+ ),
+ ),
+# -----------------------------------
+ TSUNAMI = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ OPTION_FOR_TSUNAMI_GENERATION = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["No Tsunami","Tsunami generated on the basis of the Okada model 1992"],
+ defaut = "No Tsunami",
+ fr = """""",
+ ang = """""",
+ ),
+# -----------------------------------
+ PHYSICAL_CHARACTERISTICS_OF_THE_TSUNAMI = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min=10, max=10,
+ defaut = [100.,210000.,75000.,13.6,81.,41.,110.,0.,0.,3.],
+ fr = """""",
+ ang = """""",
+ ),
+ ),
+# -----------------------------------
+ SECONDARY_CURRENTS_INFO = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ SECONDARY_CURRENTS = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Pour prendre en compte les courants secondaires""",
+ ang = """Using the parametrisation for secondary currents""",
+ ),
+# -----------------------------------
+ b_SECONDARY_CURRENTSG = BLOC(condition="SECONDARY_CURRENTS == True",
+# -----------------------------------
+# -----------------------------------
+ PRODUCTION_COEFFICIENT_FOR_SECONDARY_CURRENTS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 7.071,
+ fr = """Une constante dans les termes de creation de Omega""",
+ ang = """A constant in the production terms of Omega""",
+ ),
+# -----------------------------------
+ DISSIPATION_COEFFICIENT_FOR_SECONDARY_CURRENTS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 5.E-1,
+ fr = """Coefficient de dissipation de Omega""",
+ ang = """Coefficient of dissipation term of Omega""",
+ ),
+ ),
+ ),
+ ),
+)
+# -----------------------------------------------------------------------
+GENERAL_PARAMETERS = PROC(nom= "GENERAL_PARAMETERS",op = None,
+# -----------------------------------------------------------------------
+ UIinfo = {"groupes": ("CACHE")},
+# -----------------------------------
+ DEBUGGER = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Pour imprimer la sequence des appels, mettre 1""",
+ ang = """If 1, calls of subroutines will be printed in the listing""",
+ ),
+# -----------------------------------
+ TIME = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ TIME_STEP = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.,
+ fr = """Definit le pas de temps en secondes. Remarque : Pour une bonne
+precision; il est souhaitable de choisir le pas de temps de telle sorte
+que le nombre de Courant de propagation soit inferieur a 2 ; voir 3.
+Ceci peut etre realisable en hydraulique fluviale ; mais ne l''est
+pratiquement jamais en hydraulique maritime ou l''on peut atteindre des
+valeurs de 50.""",
+ ang = """Specifies the time step in seconds.""",
+ ),
+# -----------------------------------
+ NUMBER_OF_TIME_STEPS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """ Definit le nombre de pas de temps effectues lors de l''execution du
+code.""",
+ ang = """ Specifies the number of time steps performed when running the code.""",
+ ),
+# -----------------------------------
+ DURATION = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Duree de la simulation. alternative au parametre nombre de pas
+de temps. On en deduit le nombre de pas de temps en prenant l''entier le
+ plus proche de (duree du calcul/pas de temps). Si le nombre de pas de
+temps est aussi donne, on prend la plus grande valeur""",
+ ang = """Duration of simulation. May be used instead of the parameter
+NUMBER OF TIME STEPS. The nearest integer to (duration/time step) is
+taken.
+If NUMBER OF TIME STEPS is also given, the greater value is taken""",
+ ),
+# -----------------------------------
+ ORIGINAL_DATE_OF_TIME = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I', min= 3, max= 3,
+ defaut = [1900,1,1],
+ fr = """Permet de fixer la date d''origine des temps du modele lors
+de la prise en compte de la force generatrice de la maree.""",
+ ang = """Give the date of the time origin of the model when taking into
+account the tide generating force.""",
+ ),
+# -----------------------------------
+ ORIGINAL_HOUR_OF_TIME = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I', min= 3, max= 3,
+ defaut = [0,0,0],
+ fr = """ Permet de fixer l''heure d''origine des temps du modele lors de la
+prise en compte de la force generatrice de la maree.""",
+ ang = """ Give the time of the time origin of the model when taking into account
+of the tide generator force.""",
+ ),
+# -----------------------------------
+ STOP_IF_A_STEADY_STATE_IS_REACHED = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """A UTILISER AVEC LE MOT-CLE : CRITERES D''ARRET""",
+ ang = """TO BE USED WITH THE KEY-WORD: STOP CRITERIA""",
+ ),
+# -----------------------------------
+ b_STOP_IF_A_STEADY_STATE_IS_REACHEDG = BLOC(condition="STOP_IF_A_STEADY_STATE_IS_REACHED == True",
+# -----------------------------------
+# -----------------------------------
+ STOP_CRITERIA = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min= 3, max= 3,
+ defaut = [1.E-4,1.E-4,1.E-4],
+ fr = """Criteres d''arret pour un ecoulement permanent
+ces coefficients sont respectivement appliques a
+ 1) U et V
+ 2) H
+ 3) T
+A utiliser avec le mot-cle : ARRET SI UN ETAT PERMANENT EST ATTEINT""",
+ ang = """Stop criteria for a steady state
+These coefficients are applied respectively to
+ 1) U and V
+ 2) H
+ 3) T
+To be used with the key-word: STOP IF A STEADY STATE IS REACHED""",
+ ),
+ ),
+# -----------------------------------
+ CONTROL_OF_LIMITS = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Utiliser avec le mot-cle : valeurs limites, le programme
+s''arrete si les limites sur u,v,h ou t sont depassees""",
+ ang = """Use with the key-word : limit values,
+the program is stopped if
+the limits on u,v,h, or t are trespassed""",
+ ),
+# -----------------------------------
+ b_CONTROL_OF_LIMITSG = BLOC(condition="CONTROL_OF_LIMITS == True",
+# -----------------------------------
+# -----------------------------------
+ LIMIT_VALUES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min= 8, max= 8,
+ defaut = [-1000.,9000.,-1000.,1000.,-1000.,1000.,-1000.,1000.],
+ fr = """Utilise avec le mot-cle CONTROLE DES LIMITES
+ valeurs mini et maxi acceptables pour H,U,V et T dans l''ordre
+ suivant : min(H) max(H) min(U) max(U)
+ min(V) max(V) min(T) max(T)""",
+ ang = """To be used with the key-word CONTROL OF LIMITS
+ min and max acceptable values for H,U,V et T in the following
+ order : min(H) max(H) min(U) max(U)
+ min(V) max(V) min(T) max(T)""",
+ ),
+ ),
+# -----------------------------------
+ VARIABLE_TIME_STEP = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """ Pas de temps variable pour avoir un nombre de courant souhaite""",
+ ang = """ Variable time-step to get a given Courant number""",
+ ),
+# -----------------------------------
+ b_VARIABLE_TIME_STEPG = BLOC(condition="VARIABLE_TIME_STEP == True",
+# -----------------------------------
+# -----------------------------------
+ DESIRED_COURANT_NUMBER = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.,
+ fr = """Nombre de Courant souhaite en cas de pas de temps variable""",
+ ang = """Desired Courant number when VARIABLE TIME-STEP is set to YES""",
+ ),
+ ),
+ ),
+# -----------------------------------
+ LOCATION = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ ORIGIN_COORDINATES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I', min= 2, max= 2,
+ defaut = [0,0],
+ fr = """Valeur en metres, utilise
+pour eviter les trops grands nombres, transmis
+dans le format Selafin mais pas d''autre traitement pour l''instant""",
+ ang = """Value in metres, used to avoid large real numbers,
+added in Selafin format, but so far no other treatment""",
+ ),
+# -----------------------------------
+ SPHERICAL_COORDINATES = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Choix des coordonnees spheriques pour la realisation du calcul
+( pour les grands domaines de calcul).
+Attention : cette option est etroitement liee au
+maillage qui doit avoir
+ete saisi sur une carte marine en projection de Mercator.
+Il faut de plus relever sur la carte la LATITUDE DU POINT ORIGINE
+(autre mot-cle) qui correspond dans le maillage a l''ordonnee y = 0.""",
+ ang = """Selection of spherical coordinates to perform the computation
+(for large computation domains).
+Warning: this option is closely related to the mesh that should have
+been entered onto a nautical chart drawn as per Mercator projection
+The LATITUDE OF ORIGIN POINT (another keyword), which corresponds to
+ordinate y=0 in the mesh, must moreover be given.""",
+ ),
+# -----------------------------------
+ b_SPHERICAL_COORDINATESG = BLOC(condition="SPHERICAL_COORDINATES == True",
+# -----------------------------------
+# -----------------------------------
+ LATITUDE_OF_ORIGIN_POINT = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 48.,
+ fr = """Determine l''origine utilisee pour le calcul de latitudes
+lorsque l''on effectue un calcul en coordonnees spheriques.""",
+ ang = """Determines the origin used for computing latitudes when
+a computation is made in spherical coordinates.
+this latitude is in particular used to compute the Coriolis force.
+In cartesian coordinates, Coriolis coefficient is considered constant.""",
+ ),
+ ),
+# -----------------------------------
+ LONGITUDE_OF_ORIGIN_POINT = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Fixe la valeur de la longitude du point origine du modele,
+lors de l''utilisation de la force generatrice de la maree.""",
+ ang = """Give the value of the longitude of the origin point
+of the model, when taking into account of the tide generator force.""",
+ ),
+# -----------------------------------
+ NORTH = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Direction du nord en degres, par rapport a l''axe des y
+dans le sens trigonometrique. Notation decimale 10.5 signifie 10 degres
+ et trente minutes.""",
+ ang = """Angle of the North with the y axis, in degrees. 10.5 means
+10 degrees and 30 minutes.""",
+ ),
+# -----------------------------------
+ SPATIAL_PROJECTION_TYPE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["CARTESIAN, NOT GEOREFERENCED","MERCATOR","LATITUDE LONGITUDE"],
+ defaut = "CARTESIAN, NOT GEOREFERENCED",
+ fr = """Option 2 ou 3 obligatoire pour les coordonnees spheriques
+Option 3 : latitude et longitude en degres !""",
+ ang = """Option 2 or 3 mandatory for spherical coordinates
+Option 3: latitude and longitude in degrees!""",
+ ),
+ ),
+)
+# -----------------------------------------------------------------------
+NUMERICAL_PARAMETERS = PROC(nom= "NUMERICAL_PARAMETERS",op = None,
+# -----------------------------------------------------------------------
+ UIinfo = {"groupes": ("CACHE")},
+# -----------------------------------
+ SOLVER_INFO = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ SOLVER = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["conjugate gradient on a normal equation","conjugate gradient","conjugate residual","minimum error","cgstab","gmres","direct"],
+ defaut = "conjugate gradient on a normal equation",
+ fr = """Permet de choisir le solveur utilise pour la resolution de
+l''etape de propagation. Toutes les methodes proposees actuellement
+s''apparentent au Gradient Conjugue. Ce sont :
+ 1 : gradient conjugue
+ 2 : residu conjugue
+ 3 : gradient conjugue sur equation normale
+ 4 : erreur minimale
+ 5 : gradient conjugue carre (non programme)
+ 6 : gradient conjugue carre stabilise (cgstab)
+ 7 : gmres (voir aussi option du solveur)
+ 8 : direct""",
+ ang = """Makes it possible to select the solver used for solving the
+propagation step. All the currently available methods are variations
+of the Conjugate Gradient method. They are as follows:
+1: conjugate gradient
+2: conjugate residual
+3: conjugate gradient on a normal equation
+4: minimum error
+5: conjugate gradient squared (not implemented)
+6: conjugate gradient squared stabilised (cgstab)
+7: gmres (see option for solver)
+8: direct""",
+ ),
+# -----------------------------------
+ b_SOLVERG = BLOC(condition="SOLVER == 'gmres'",
+# -----------------------------------
+# -----------------------------------
+ SOLVER_OPTION = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 2,
+ fr = """si le solveur est GMRES (7) le mot cle est la dimension de
+l''espace de KRYLOV (valeurs conseillees entre 2 et 15)""",
+ ang = """WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE
+TRY VALUES BETWEEN 2 AND 15""",
+ ),
+ ),
+# -----------------------------------
+ SOLVER_ACCURACY = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.E-4,
+ fr = """Precision demandee pour la resolution de l''etape de propagation
+ (cf. Note de principe).""",
+ ang = """Required accuracy for solving the propagation step
+(refer to Principle note).""",
+ ),
+# -----------------------------------
+ MAXIMUM_NUMBER_OF_ITERATIONS_FOR_SOLVER = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 100,
+ fr = """Les algorithmes utilises pour la resolution de l''etape de
+propagation etant iteratifs; il est necessaire de limiter le nombre
+d''iterations autorisees.
+Remarque : un maximum de 40 iterations par pas de temps semble
+raisonnable.""",
+ ang = """Since the algorithms used for solving the propagation step are
+iterative, the allowed number of iterations should be limited.
+NOTE: a maximum number of 40 iterations per time step seems to be
+reasonable.""",
+ ),
+# -----------------------------------
+ CONTINUITY_CORRECTION = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Corrige les vitesses sur les points avec hauteur imposee ou
+l''equation de continuite n''a pas ete resolue""",
+ ang = """Correction of the velocities on points with a prescribed
+elevation, where the continuity equation has not been solved""",
+ ),
+# -----------------------------------
+ PRECONDITIONING = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["diagonal","no preconditioning","block-diagonal (4-9 matrices)","absolute value of diagonal","crout","gauss-seidel","diagonal and crout"],
+ defaut = "diagonal",
+ fr = """Permet de preconditionner le systeme de l''etape de propagation
+afin d''accelerer la convergence lors de sa resolution.
+ - 0 : pas de preconditionnement;
+ - 2 : preconditionnement diagonal.
+ - 3 : preconditionnement diagonal-bloc
+ - 7 : preconditionnement de Crout par element ou segment
+ -11 : preconditionnement de Gauss-Seidel par element ou segment
+Certains preconditionnements sont cumulables
+(les diagonaux 2 ou 3 avec les autres)
+Pour cette raison on ne retient que les nombres premiers pour
+designer les preconditionnements. Si l''on souhaite en cumuler
+plusieurs on formera le produit des options correspondantes.""",
+ ang = """Choice of the preconditioning in the propagation step linear
+system that the convergence is speeded up when it is being solved.
+ 0: no preconditioning
+ 2: diagonal preconditioning
+ 3: block-diagonal preconditioning (systemes a 4 ou 9 matrices)
+ 7: Crout''s preconditioning per element or segment
+11: Gauss-Seidel''s preconditioning per element or segment
+Some operations (either 2 or 3 diagonal preconditioning) can be
+performed concurrently with the others.
+Only prime numbers are therefore kept to denote the preconditioning
+operations. When several of them are to be performed concurrently,
+the product of relevant options shall be made.""",
+ ),
+# -----------------------------------
+ C_U_PRECONDITIONING = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = True,
+ fr = """Changement de variable de H en C dans le systeme lineaire final""",
+ ang = """Change of variable from H to C in the final linear system""",
+ ),
+ ),
+# -----------------------------------
+ DISCRETISATIONS_IMPLICITATION = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ IMPLICITATION_FOR_DEPTH = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.55,
+ fr = """Fixe la valeur du coefficient d''implicitation sur C dans l''etape de
+propagation (cf. Note de principe). Les valeurs inferieures a 0.5
+donnent un schema instable.""",
+ ang = """Sets the value of the implicitation coefficient for C (the celerity of
+waves) in the propagation step (refer to principle note). Values below
+0.5 result in an unstable scheme.""",
+ ),
+# -----------------------------------
+ IMPLICITATION_FOR_VELOCITY = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.55,
+ fr = """Fixe la valeur du coefficient d''implicitation sur la vitesse dans
+l''etape de propagation (cf. Note de principe). Les valeurs inferieures
+a 0.5 donnent un schema instable.""",
+ ang = """Sets the value of the implicitation coefficient for velocity in the
+propagation step (refer to principle note). Values below 0.5 result in
+an unstable condition.""",
+ ),
+# -----------------------------------
+ DISCRETIZATIONS_IN_SPACE = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM', max='**',
+ into = ["linear","quasi-bubble","quadratic"],
+ defaut = ["linear","linear","linear","linear"],
+ fr = """ Choix de la discretisation pour chaque variable ces coefficients sont
+respectivement appliques a 1) U et V 2) H 3) T 4) K ET EPSILON (NON
+PROGRAMME) 11 : lineaire 12 : quasi-bulle 13 : quadratique""",
+ ang = """ Choice of space discretisation for every variable These coefficients
+are applied respectively to 1) U and V 2) H 3) T 4) K and EPSILON (NOT
+IMPLEMENTED) 11: linear 12: quasi-bubble 13: quadratic""",
+ ),
+# -----------------------------------
+ b_DISCRETIZATIONS_IN_SPACEG = BLOC(condition="DISCRETIZATIONS_IN_SPACE != None",
+# -----------------------------------
+# -----------------------------------
+ Consigne = SIMP(statut ="o", homo="information", typ="TXM",
+# -----------------------------------
+ defaut = "Choice of space discretisation for every variable. These coefficients are applied respectively to 1) U and V 2) H 3) T 4) K and EPSILON"),
+ ),
+ ),
+# -----------------------------------
+ PROPAGATION_INFO = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ PROPAGATION = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = True,
+ fr = """Prise en compte ou non de la propagation de la vitesse et de la
+hauteur d''eau.
+La diffusion etant contenue dans cette etape sera supprimee aussi.""",
+ ang = """Determines whether the propagation step is taken into account
+or not.
+The diffusion being included in that step will be deleted as well.""",
+ ),
+# -----------------------------------
+ b_PROPAGATIONG = BLOC(condition="PROPAGATION == True",
+# -----------------------------------
+# -----------------------------------
+ MEAN_DEPTH_FOR_LINEARIZATION = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Fixe la hauteur d''eau autour de laquelle s''effectue la
+linearisation lorsque l''option PROPAGATION LINEARISEE est choisie.""",
+ ang = """Sets the water depth about which the linearization is made
+when the LINEARIZED PROPAGATION OPTION is selected.""",
+ ),
+# -----------------------------------
+ INITIAL_GUESS_FOR_U = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["zero","previous","extrapolation"],
+ defaut = "previous",
+ fr = """Tir initial du solveur de l''etape de propagation.
+Offre la possibilite de modifier la valeur initiale de U, a chaque
+iteration, dans l''etape de propagation en utilisant les valeurs
+finales de cette variable aux pas de temps precedents. Ceci peut
+permettre d''accelerer la vitesse de convergence lors de la resolution
+du systeme. Trois possibilites sont offertes :
+ 0 : U = 0
+ 1 : U = U(n)
+ 2 : U = 2 U(n)- U(n-1) (extrapolation)""",
+ ang = """Initial guess for the solver in the propagation step.
+Makes it possible to modify the initial value of U, upon each
+iteration in the propagation step, by using the ultimate values this
+variable had in the earlier time steps. Thus, the convergence can be
+speeded up when the system is being solved. 3 options are available:
+ 0 : U = 0
+ 1 : U = U(n)
+ 2 : U = 2 U(n)- U(n-1) (extrapolation)""",
+ ),
+ ),
+# -----------------------------------
+ INITIAL_GUESS_FOR_H = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["previous","zero","extrapolation"],
+ defaut = "previous",
+ fr = """ Tir initial du solveur de l''etape de propagation. Offre la
+possibilite de modifier la valeur initiale de DH, accroissement de H, a
+chaque iteration, dans l''etape de propagation en utilisant les valeurs
+finales de cette variable aux pas de temps precedents. Ceci peut
+permettre d''accelerer la vitesse de convergence lors de la resolution
+du systeme. Trois possibilites sont offertes :
+ 0 : DH = 0.
+ 1 : DH = DHn (valeur finale de DH au pas de temps precedent),
+ 2 : DH = 2DHn - DHn-1 (extrapolation).""",
+ ang = """Initial guess for the solver in the propagation step.
+Makes it possible to modify the initial value of C, upon each
+iteration in the propagation step, by using the ultimate values this
+variable had in the earlier time steps. Thus, the convergence can be
+speeded up when the system is being solved. 3 options are available:
+ 0: DH = 0
+ 1: DH = DHn (ultimate DH value in the next previous time step)
+ 2: DH = 2DHn - DHn-1 (extrapolation)""",
+ ),
+# -----------------------------------
+ LINEARIZED_PROPAGATION = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Permet de lineariser l''etape de propagation;
+par exemple lors de la realisation de cas tests
+pour lesquels on dispose
+d''une solution analytique dans le cas linearise.""",
+ ang = """Provided for linearizing the propagation step, e.g. when
+performing test-cases for which an analytical
+solution in the linearized
+case is available.""",
+ ),
+ ),
+# -----------------------------------
+ ADVECTION_INFO = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ ADVECTION = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = True,
+ fr = """Prise en compte ou non des termes de convection.
+En cas de reponse positive;
+on peut encore supprimer certains termes de convection avec
+les mots-cles CONVECTION DE ...""",
+ ang = """Are the advection terms taken into account or not?
+If YES, some advection terms can still be deleted using the keywords
+-ADVECTION OF ..-""",
+ ),
+# -----------------------------------
+ ADVECTION_OF_H = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = True,
+ fr = """Prise en compte ou non de la convection de H.
+Il s''agit en fait dans la version 2.0 de la convection de C""",
+ ang = """The advection of H is taken into account or ignored.
+Actually, in version 2.0, the matter is about C advection.""",
+ ),
+# -----------------------------------
+ ADVECTION_OF_U_AND_V = SIMP(statut ='f',
+# -----------------------------------
+ typ = bool,
+ defaut = True,
+ fr = """Prise en compte ou non de la convection de U et V.""",
+ ang = """The advection of U and V is taken into account or ignored.""",
+ ),
+# -----------------------------------
+ b_ADVECTION_OF_U_AND_VG = BLOC(condition="ADVECTION_OF_U_AND_V == True",
+# -----------------------------------
+# -----------------------------------
+ SCHEME_FOR_ADVECTION_OF_VELOCITIES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["NO ADVECTION","CHARACTERISTICS","EXPLICIT + SUPG","EXPLICIT LEO POSTMA","EXPLICIT + MURD SCHEME N","EXPLICIT + MURD SCHEME PSI","N-SCHEME FOR TIDAL FLATS","N-SCHEME FOR TIDAL FLATS","ERIA SCHEME"],
+ defaut = "CHARACTERISTICS",
+ fr = """Choix du schema de convection pour les vitesses,
+remplace FORME DE LA CONVECTION""",
+ ang = """Choice of the advection scheme for the velocities,
+replaces TYPE OF ADVECTION""",
+ ),
+ ),
+# -----------------------------------
+ TYPE_OF_ADVECTION = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM', max='**',
+ into = ["CHARACTERISTICS","SUPG","CONSERVATIVE N-SCHEME LP","CONSERVATIVE N-SCHEME","CONSERVATIVE PSI-SCHEME","EDGE-BASED N-SCHEME LP","EDGE-BASED N-SCHEME","ERIA SCHEME"],
+ defaut = ["CHARACTERISTICS","CONSERVATIVE PSI-SCHEME","CHARACTERISTICS","CHARACTERISTICS"],
+ fr = """Choix du schema de convection pour chaque variable
+ces coefficients sont respectivement appliques a
+1) U et V 2) H 3) T 4) K ET EPSILON
+1 : caracteristiques sur h
+2 : SUPG
+3 : Schema N conservatif
+4 : Schema N conservatif
+5 : Schema PSI conservatif
+13 : Schema N par segment
+14 : Schema N par segment
+15 : Schema ERIA
+Second integer must be 5""",
+ ang = """Choice of advection schemes for every variable
+These coefficients are applied respectively to
+1) U et V 2) H 3) T 4) K and EPSILON
+1: characteristics
+2: SUPG
+3: Conservative N-scheme
+4: Conservative N-scheme
+5: Conservative PSI-scheme
+13 : Edge-based N-scheme
+14 : Edge-based N-scheme
+15 : ERIA scheme
+Second integer must be 5""",
+ ),
+# -----------------------------------
+ b_TYPE_OF_ADVECTIONG = BLOC(condition="TYPE_OF_ADVECTION != None",
+# -----------------------------------
+# -----------------------------------
+ Consigne = SIMP(statut ="o", homo="information", typ="TXM",
+# -----------------------------------
+ defaut = "Choice of space discretisation for every variable. These coefficients are applied respectively to 1) U and V 2) H 3) T 4) K and EPSILON"),
+ ),
+# -----------------------------------
+ OPTION_FOR_CHARACTERISTICS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["strong","weak"],
+ defaut = "strong",
+ fr = """1: forme forte 2: forme faible""",
+ ang = """1: strong form 2: weak form""",
+ ),
+# -----------------------------------
+ SUPG_OPTION = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I', min=0, max='**',
+ val_max=4,
+ val_min=0,
+ defaut = [2,2,2,2],
+ fr = """0:pas de decentrement SUPG 1:SUPG classique 2:SUPG modifiee
+ces coefficients sont respectivement appliques a
+1) U et V 2) H 3) T 4) K ET EPSILON""",
+ ang = """0:no upwinding 1: classical SUPG 2:modified SUPG
+These coefficients are applied respectively to
+1) U et V 2) H 3) T 4) K and EPSILON""",
+ ),
+# -----------------------------------
+ NUMBER_OF_GAUSS_POINTS_FOR_WEAK_CHARACTERISTICS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 3,
+ fr = """Voir les release notes 6.3""",
+ ang = """See release notes 6.3""",
+ ),
+# -----------------------------------
+ MASS_LUMPING_FOR_WEAK_CHARACTERISTICS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Applique a la matrice de masse""",
+ ang = """To be applied to the mass matrix""",
+ ),
+# -----------------------------------
+ b_MAXIMUM_NUMBER_OF_ITERATIONS_FOR_ADVECTION_SCHEMESF = BLOC(condition="(ADVECTION_OF_TRACERS == True and SCHEME_FOR_ADVECTION_OF_TRACERS == 'EDGE-BASED N-SCHEME') or (ADVECTION_OF_K_AND_EPSILON == True and SCHEME_FOR_ADVECTION_OF_K_EPSILON == 'EDGE-BASED N-SCHEME') or (ADVECTION_OF_U_AND_V == True and SCHEME_FOR_ADVECTION_OF_VELOCITIES == 'EDGE-BASED N-SCHEME')",
+# -----------------------------------
+ ),
+# -----------------------------------
+ MAXIMUM_NUMBER_OF_ITERATIONS_FOR_ADVECTION_SCHEMES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 10,
+ fr = """Seulement pour schemes 13 et 14""",
+ ang = """Only for schemes 13 and 14""",
+ ),
+# -----------------------------------
+ UPWIND_COEFFICIENTS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min= 4, max= 4,
+ defaut = [1.,1.,1.,1],
+ fr = """Coefficients utilises par la methode S.U.P.G.
+ces coefficients sont respectivement appliques a
+ 1) U et V
+ 2) H ou C
+ 3) T
+ 4) K ET EPSILON""",
+ ang = """Upwind coefficients used by the S.U.P.G. method
+These coefficients are applied respectively to
+ 1) U and V
+ 2) H or C
+ 3) T
+ 4) K and epsilon""",
+ ),
+# -----------------------------------
+ MASS_LUMPING_ON_H = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """TELEMAC offre la possibilite d''effectuer du mass-lumping
+sur H ou U.
+Ceci revient a ramener tout ou partie (suivant la valeur de ce
+coefficient) des matrices AM1 (h) ou AM2 (U) et AM3 (V) sur
+leur diagonale.
+Cette technique permet d''accelerer le code dans des proportions tres
+importantes et de le rendre egalement beaucoup plus stable. Cependant
+les solutions obtenues se trouvent lissees.
+Ce parametre fixe le taux de mass-lumping effectue sur h.""",
+ ang = """TELEMAC provides an opportunity to carry out mass-lumping
+either on C,H or on the velocity.
+This is equivalent to bringing the matrices AM1 (h) or AM2 (U) and
+AM3 (V) wholly or partly, back onto their diagonal.
+Thanks to that technique, the code can be speeded up to a quite
+significant extent and it can also be made much more stable. The
+resulting solutions, however, become artificially smoothed.
+This parameter sets the extent of mass-lumping that is performed on h.""",
+ ),
+# -----------------------------------
+ MASS_LUMPING_ON_VELOCITY = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Fixe le taux de mass-lumping effectue sur la vitesse.""",
+ ang = """Sets the amount of mass-lumping that is performed on the velocity.""",
+ ),
+# -----------------------------------
+ SCHEME_OPTION_FOR_ADVECTION_OF_VELOCITIES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """Si present remplace et a priorite sur :
+OPTION POUR LES CARACTERISTIQUES
+OPTION DE SUPG
+Si schema PSI ou N : 1=explicite 2=predicteur-correcteur
+3=predicteur-correcteur deuxieme ordre en temps
+4=implicite""",
+ ang = """If present replaces and has priority over:
+OPTION FOR CHARACTERISTICS
+SUPG OPTION
+if N or PSI SCHEME: 1=explicit 2=predictor-corrector
+3= predictor-corrector second-order in time 4= implicit""",
+ ),
+# -----------------------------------
+ FREE_SURFACE_GRADIENT_COMPATIBILITY = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.,
+ fr = """Des valeurs inferieures a 1 suppriment les oscillations
+parasites""",
+ ang = """Values less than 1 suppress spurious oscillations""",
+ ),
+# -----------------------------------
+ NUMBER_OF_SUB_ITERATIONS_FOR_NON_LINEARITIES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """Permet de reactualiser, pour un meme pas de temps, les champs
+convecteur et propagateur au cours de plusieurs sous-iterations. A la
+premiere sous-iteration, ces champs sont donnes par C et le champ de
+vitesses au pas de temps precedent. Aux iterations suivantes, ils sont
+pris egaux au champ de vitesse obtenu a la fin de la sous-iteration
+precedente. Cette technique permet d''ameliorer la prise en compte des
+non linearites.""",
+ ang = """Used for updating, within one time step, the advection and
+propagation field.
+upon the first sub-iteration, these fields are given by
+C and the velocity field in the previous time step. At subsequent
+iterations, the results of the previous sub-iteration is used to
+update the advection and propagation field.
+The non-linearities can be taken into account through this technique.""",
+ ),
+# -----------------------------------
+ b_TREATMENT_OF_FLUXES_AT_THE_BOUNDARIESF = BLOC(condition="(ADVECTION_OF_TRACERS == True and SCHEME_FOR_ADVECTION_OF_TRACERS in ['EDGE-BASED N-SCHEME','SUPG','CONSERVATIVE N-SCHEME','CONSERVATIVE PSI-SCHEME']) or (ADVECTION_OF_K_AND_EPSILON == True and SCHEME_FOR_ADVECTION_OF_K_EPSILON in ['EDGE-BASED N-SCHEME','SUPG','CONSERVATIVE N-SCHEME','CONSERVATIVE PSI-SCHEME']) or (ADVECTION_OF_U_AND_V == True and SCHEME_FOR_ADVECTION_OF_VELOCITIES in ['EDGE-BASED N-SCHEME','SUPG','CONSERVATIVE N-SCHEME','CONSERVATIVE PSI-SCHEME'])",
+# -----------------------------------
+ ),
+# -----------------------------------
+ TREATMENT_OF_FLUXES_AT_THE_BOUNDARIES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM', min=0, max='**',
+ into = ["Priority to prescribed values","Priority to fluxes"],
+ defaut = ["Priority to prescribed values","Priority to prescribed values"],
+ fr = """Utilise pour les schemas SUPG, PSI et N, avec option 2, on ne retrouve
+pas exactement les valeurs imposees des traceurs, mais le flux est
+correct""",
+ ang = """Used so far only with the SUPG, PSI and N schemes. With option 2,
+Dirichlet prescribed values are not obeyed, but the fluxes are correct""",
+ ),
+# -----------------------------------
+ NUMBER_OF_CORRECTIONS_OF_DISTRIBUTIVE_SCHEMES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = [1],
+ fr = """Pour les options avec predicteur-correcteur""",
+ ang = """For predictor-corrector options""",
+ ),
+# -----------------------------------
+ NUMBER_OF_SUB_STEPS_OF_DISTRIBUTIVE_SCHEMES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """ Pour les options predicteur-correcteur avec schema localement
+implicite""",
+ ang = """ Only for implicit scheme with predictor-corrector""",
+ ),
+# -----------------------------------
+ PSI_SCHEME_OPTION = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["explicit","predictor-corrector"],
+ defaut = "explicit",
+ fr = """ 1: explicite 2: predicteur-correcteur""",
+ ang = """ 1: explicit 2: predictor-corrector""",
+ ),
+ ),
+# -----------------------------------
+ DIFFUSION = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ DIFFUSION_OF_VELOCITY = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = True,
+ fr = """Permet de decider si l''on prend ou non en compte la diffusion
+des vitesses.""",
+ ang = """Makes it possible to decide whether the diffusion of velocity
+(i.e. viscosity) is taken into account or not.""",
+ ),
+# -----------------------------------
+ b_DIFFUSION_OF_VELOCITYG = BLOC(condition="DIFFUSION_OF_VELOCITY == True",
+# -----------------------------------
+# -----------------------------------
+ IMPLICITATION_FOR_DIFFUSION_OF_VELOCITY = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.,
+ fr = """Fixe la valeur du coefficient d''implicitation sur les termes de
+diffusion des vitesses""",
+ ang = """Sets the value of the implicitation coefficient for the diffusion of
+velocity""",
+ ),
+# -----------------------------------
+ OPTION_FOR_THE_DIFFUSION_OF_VELOCITIES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["div( nu grad(U) )","1/h div ( h nu grad(U)"],
+ defaut = "div( nu grad(U) )",
+ fr = """1: Diffusion de la forme div( nu grad(U) )
+2: Diffusion de la forme 1/h div ( h nu grad(U) )""",
+ ang = """1: Diffusion in the form div( nu grad(U) )
+2: Diffusion in the form 1/h div ( h nu grad(U) )""",
+ ),
+ ),
+ ),
+# -----------------------------------
+ AUTOMATIC_DIFFERENTIATION = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ AD_NUMBER_OF_DERIVATIVES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Definit le nombre de derivees utilisateurs, dans le cadre
+de la differentiation algorithmique.""",
+ ang = """Defines the number of user derivatives, within the framework
+of the algorithmic differentiation.""",
+ ),
+# -----------------------------------
+ AD_NAMES_OF_DERIVATIVES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM', min= 2, max= 2,
+ fr = """Noms des differentiateurs utilisateurs en 32 caracteres,
+ 16 pour le nom, 16 pour l''unite""",
+ ang = """Name of user differentiators in 32 characters,
+ 16 for the name, 16 for the unit.""",
+ ),
+ ),
+# -----------------------------------
+ ADVANCED = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ MATRIX_STORAGE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["classical EBE","Edge-based storage"],
+ defaut = "Edge-based storage",
+ fr = """1 : EBE classique 3 : Stockage par segments""",
+ ang = """1 : classical EBE 3 : Edge-based storage""",
+ ),
+# -----------------------------------
+ MATRIX_VECTOR_PRODUCT = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """1 : classique 2 : frontal
+attention, avec 2, il faut une numerotation speciale des points""",
+ ang = """1 : classic 2 : frontal
+beware, with option 2, a special numbering of points is required""",
+ ),
+# -----------------------------------
+ NEWMARK_TIME_INTEGRATION_COEFFICIENT = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.,
+ fr = """1. : Euler explicite 0.5 : ordre 2 en temps""",
+ ang = """1. : Euler explicit 0.5 : order 2 in time""",
+ ),
+# -----------------------------------
+ ZERO = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.E-10,
+ fr = """Non active pour l''instant.""",
+ ang = """Not yet implemented""",
+ ),
+# -----------------------------------
+ PROPAGATION_OPTION = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 3,
+ fr = """Non active pour l''instant.""",
+ ang = """Not yet implemented.""",
+ ),
+# -----------------------------------
+ OPTION_OF_THE_HYDROSTATIC_RECONSTRUCTION = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """donne l option de la reconstruction hydrostatique
+(option utile uniquement pour les volumes finis):
+1: option d Audusse, 2: option de Noelle""",
+ ang = """gives the option for hydrostatic reconstruction
+(used only for finite volumes):
+1: option of Audusse, 2: option of Noelle""",
+ ),
+ ),
+)
+# -----------------------------------------------------------------------
+TURBULENCE = PROC(nom= "TURBULENCE",op = None,
+# -----------------------------------------------------------------------
+ UIinfo = {"groupes": ("CACHE")},
+# -----------------------------------
+ VELOCITY_DIFFUSIVITY = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.E-6,
+ fr = """Fixe de facon uniforme pour l''ensemble du domaine;
+la valeur du coefficient de diffusion de viscosite globale (dynamique +
+turbulente). Cette valeur peut avoir une influence non negligeable sur
+la forme et la taille des recirculations.""",
+ ang = """Sets, in an even way for the whole domain, the value of the
+coefficient of global (dynamic+turbulent) viscosity. this value may
+have a significant effect both on the shapes and sizes of
+recirculation zones.""",
+ ),
+# -----------------------------------
+ TURBULENCE_MODEL = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["CONSTANT VISCOSITY","ELDER","K-EPSILON MODEL","SMAGORINSKI","MIXING LENGTH","SPALART-ALLMARAS"],
+ defaut = "CONSTANT VISCOSITY",
+ fr = """3 choix sont possibles actuellement : viscosite constante (1)
+modele de Elder (2) ou modele k-epsilon (3).
+Attention : si on choisit l''option 1
+il ne faut pas oublier d''ajuster la valeur du mot-cle COEFFICIENT DE
+DIFFUSION DES VITESSES.
+si on choisit l''option 2
+il ne faut pas oublier d''ajuster les deux valeurs du mot-cle :
+COEFFICIENTS ADIMENSIONNELS DE DISPERSION
+Si on choisit l''option 3;
+ce meme parametre doit retrouver sa vraie valeur physique car elle est
+utilisee comme telle dans le modele de turbulence""",
+ ang = """The current alternatives are as follows: constant viscosity (1)
+elder''s model (2) or k-epsilon model (3).
+NOTE: when option 1 is chosen, it should be kept in mind that the
+value of the keyword VELOCITY DIFFUSIVITY has to be ajusted.
+When option 2 is chosen, the two values of key-word :
+NON-DIMENSIONAL DISPERSION COEFFICIENTS are used
+When option 3 is chosen, this parameter should recover its true
+physical value, since it is used as such in the turbulence model.""",
+ ),
+# -----------------------------------
+ b_TURBULENCE_MODELG = BLOC(condition="TURBULENCE_MODEL == 'CONSTANT VISCOSITY'",
+# -----------------------------------
+ ),
+# -----------------------------------
+ b_TURBULENCE_MODELH = BLOC(condition="TURBULENCE_MODEL == 'Elder'",
+# -----------------------------------
+# -----------------------------------
+ NON_DIMENSIONAL_DISPERSION_COEFFICIENTS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min= 2, max= 2,
+ defaut = [6.,0.6],
+ fr = """Coefficients longitudinal et transversal dans la formule de
+Elder. Utilises uniquement avec le modele de turbulence 2""",
+ ang = """Longitudinal and transversal coefficients in elder s formula.
+ Used only with turbulence model number 2""",
+ ),
+ ),
+# -----------------------------------
+ SOLVER_INFO = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ SOLVER_FOR_K_EPSILON_MODEL = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["conjugate gradient","conjugate residuals","conjugate gradient on normal equation","minimum error","conjugate gradient squared","conjugate gradient squared stabilised (cgstab)","gmres (see option for the solver for k-epsilon model)","direct"],
+ defaut = "conjugate gradient",
+ fr = """Permet de choisir le solveur utilise pour la resolution
+du systeme du modele k-epsilon :
+1 : gradient conjugue
+2 : residu conjugue
+3 : gradient conjugue sur equation normale
+4 : erreur minimale
+5 : gradient conjugue carre
+6 : gradient conjugue carre stabilise (cgstab)
+7 : gmres (voir aussi option du solveur pour le modele k-epsilon)
+8 : direct""",
+ ang = """Makes it possible to select the solver used for solving
+the system of the k-epsilon model.
+1: conjugate gradient
+2: conjugate residuals
+3: conjugate gradient on normal equation
+4: minimum error
+5: conjugate gradient squared
+6: conjugate gradient squared stabilised (cgstab)
+7: gmres (see option for the solver for k-epsilon model)
+8: direct""",
+ ),
+# -----------------------------------
+ OPTION_FOR_THE_SOLVER_FOR_K_EPSILON_MODEL = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 2,
+ fr = """si le solveur est GMRES (7) le mot cle est la dimension de
+l''espace de KRILOV (valeurs conseillees entre 2 et 15)""",
+ ang = """WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE
+TRY VALUES BETWEEN 2 AND 15""",
+ ),
+# -----------------------------------
+ PRECONDITIONING_FOR_K_EPSILON_MODEL = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["diagonal","no preconditioning","crout","diagonal and crout"],
+ defaut = "diagonal",
+ fr = """Permet de preconditionner le systeme relatif au
+modele k-epsilon
+0 : pas de preconditionnement;
+2 : preconditionnement diagonal.
+7 : preconditionnement de Crout par element.""",
+ ang = """Preconditioning of the linear system in the diffusion step of
+the k-epsilon model.
+0: no preconditioning
+2: diagonal preconditioning
+7: Crout''s preconditioning per element""",
+ ),
+ ),
+# -----------------------------------
+ ADVANCED = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ TURBULENCE_REGIME_FOR_SOLID_BOUNDARIES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["smooth","rough"],
+ defaut = "rough",
+ fr = """ Permet de choisir le regime de turbulence aux parois 1 : regime
+turbulent lisse. 2 : regime turbulent rugueux.""",
+ ang = """ Provided for selecting the type of friction on the walls 1: smooth 2:
+rough""",
+ ),
+# -----------------------------------
+ INFORMATION_ABOUT_K_EPSILON_MODEL = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = True,
+ fr = """Donne le nombre d''iterations du solveur de l''etape de
+diffusion et termes sources du modele k-epsilon.""",
+ ang = """Gives the number of iterations of the solver in the diffusion
+and source terms step of the k-epsilon model.""",
+ ),
+# -----------------------------------
+ ADVECTION_OF_K_AND_EPSILON = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = True,
+ fr = """Prise en compte ou non de la convection de k et epsilon.""",
+ ang = """The k and epsilon advection is taken into account or ignored.""",
+ ),
+# -----------------------------------
+ b_ADVECTION_OF_K_AND_EPSILONG = BLOC(condition="ADVECTION_OF_K_AND_EPSILON == True",
+# -----------------------------------
+# -----------------------------------
+ SCHEME_FOR_ADVECTION_OF_K_EPSILON = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["NO ADVECTION","CHARACTERISTICS","EXPLICIT + SUPG","EXPLICIT LEO POSTMA","EXPLICIT + MURD SCHEME N","EXPLICIT + MURD SCHEME PSI","LEO POSTMA FOR TIDAL FLATS","N-SCHEME FOR TIDAL FLATS","ERIA SCHEME FOR TIDAL FLATS"],
+ defaut = "CHARACTERISTICS",
+ fr = """Choix du schema de convection pour k et epsilon,
+remplace FORME DE LA CONVECTION""",
+ ang = """Choice of the advection scheme for k and epsilon,
+replaces TYPE OF ADVECTION""",
+ ),
+ ),
+# -----------------------------------
+ SCHEME_OPTION_FOR_ADVECTION_OF_K_EPSILON = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """Si present remplace et a priorite sur :
+OPTION POUR LES CARACTERISTIQUES
+OPTION DE SUPG
+Si schema PSI ou N : 1=explicite 2=predicteur-correcteur
+3=predicteur-correcteur deuxieme ordre en temps
+4=implicite""",
+ ang = """If present replaces and has priority over:
+OPTION FOR CHARACTERISTICS
+SUPG OPTION
+if N or PSI SCHEME: 1=explicit 2=predictor-corrector
+3= predictor-corrector second-order in time 4= implicit""",
+ ),
+# -----------------------------------
+ TIME_STEP_REDUCTION_FOR_K_EPSILON_MODEL = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.,
+ fr = """Coefficient reducteur du pas de temps pour le modele k-epsilon (qui
+est normalement identique a celui du systeme hydrodynamique).
+Utilisation deconseillee""",
+ ang = """Time step reduction coefficient for k-epsilon model (which is normally
+same the same as that of the hydrodynamic system) Not recommended for
+use.""",
+ ),
+ ),
+# -----------------------------------
+ ACCURACY = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ ACCURACY_OF_K = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.E-9,
+ fr = """Fixe la precision demandee sur k pour le test d''arret dans
+l''etape de diffusion et termes sources du modele k-epsilon.""",
+ ang = """Sets the required accuracy for computing k in the diffusion
+and source terms step of the k-epsilon model.""",
+ ),
+# -----------------------------------
+ ACCURACY_OF_EPSILON = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.E-9,
+ fr = """Fixe la precision demandee sur epsilon pour le test d''arret
+dans l''etape de diffusion et termes sources de k et epsilon.""",
+ ang = """Sets the required accuracy for computing epsilon in
+the diffusion and source-terms step of the k-epsilon model.""",
+ ),
+# -----------------------------------
+ MAXIMUM_NUMBER_OF_ITERATIONS_FOR_K_AND_EPSILON = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 50,
+ fr = """Fixe le nombre maximum d''iterations accepte lors de la
+resolution du systeme diffusion-termes sources du modele k-epsilon.""",
+ ang = """Sets the maximum number of iterations that are acceptable when
+solving the diffusion source-terms step of the k-epsilon model.""",
+ ),
+ ),
+)
+# -----------------------------------------------------------------------
+TIDAL_FLATS_INFO = PROC(nom= "TIDAL_FLATS_INFO",op = None,
+# -----------------------------------------------------------------------
+# -----------------------------------
+ TIDAL_FLATS = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = True,
+ fr = """permet de supprimer les tests sur les bancs decouvrants, dans
+les cas ou l''on est certain qu''il n''y en aura pas.
+En cas de doute : oui""",
+ ang = """When no, the specific
+treatments for tidal flats are by-passed.
+This spares time, but of course you must be sure that you have no
+tidal flats""",
+ ),
+# -----------------------------------
+ b_TIDAL_FLATSG = BLOC(condition="TIDAL_FLATS == True",
+# -----------------------------------
+# -----------------------------------
+ OPTION_FOR_THE_TREATMENT_OF_TIDAL_FLATS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["EQUATIONS SOLVED EVERYWHERE WITH CORRECTION ON TIDAL FLATS","DRY ELEMENTS FROZEN","LIKE 1 BUT WITH POROSITY (DEFINA METHOD)"],
+ defaut = "EQUATIONS SOLVED EVERYWHERE WITH CORRECTION ON TIDAL FLATS",
+ fr = """Utilise si BANCS DECOUVRANTS est vrai
+1 : EQUATIONS RESOLUES PARTOUT AVEC
+CORRECTION SUR LES BANCS DECOUVRANTS
+2 : GEL DES ELEMENTS DECOUVRANTS
+3 : COMME 1 MAIS AVEC POROSITE (METHODE DEFINA)""",
+ ang = """Used if TIDAL FLATS is true
+1 : EQUATIONS SOLVED EVERYWHERE WITH CORRECTION ON TIDAL FLATS
+2 : DRY ELEMENTS FROZEN
+3 : LIKE 1 BUT WITH POROSITY (DEFINA METHOD)""",
+ ),
+# -----------------------------------
+ b_OPTION_FOR_THE_TREATMENT_OF_TIDAL_FLATSG = BLOC(condition="OPTION_FOR_THE_TREATMENT_OF_TIDAL_FLATS == 'EQUATIONS SOLVED EVERYWHERE WITH CORRECTION ON TIDAL FLATS'",
+# -----------------------------------
+# -----------------------------------
+ TREATMENT_OF_NEGATIVE_DEPTHS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["SMOOTHING","FLUX CONTROL","FLUX CONTROL (ERIA)"],
+ defaut = "SMOOTHING",
+ fr = """Seulement avec OPTION DE TRAITEMENT DES BANCS DECOUVRANTS = 1
+ 0 : pas de traitement
+ 1 : lissage
+ 2 : limitation des flux, approche par segment
+ 3 : limitation des flux, approche par triangle""",
+ ang = """Only with OPTION FOR THE TREATMENT OF TIDAL FLATS=1
+ 0:no treatment
+ 1:smoothing
+ 2:flux control, by segment
+ 3:flux control, by element""",
+ ),
+ ),
+# -----------------------------------
+ THRESHOLD_FOR_NEGATIVE_DEPTHS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """En dessous du seuil, les hauteurs negatives sont lissees""",
+ ang = """Below the threshold the negative depths are smoothed""",
+ ),
+# -----------------------------------
+ THRESHOLD_DEPTH_FOR_RECEDING_PROCEDURE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Si > 0., declenche la procedure de ressuyage qui evite le
+franchissement parasite des digues mal discretisees""",
+ ang = """If > 0., will trigger the receding procedure that avoids overwhelming
+of dykes which are too loosely discretised""",
+ ),
+# -----------------------------------
+ H_CLIPPING = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Determine si l''on desire ou non limiter par valeur inferieure
+la hauteur d''eau H (dans le cas des bancs decouvrants par exemple).""",
+ ang = """Determines whether limiting the water depth H by a lower value
+desirable or not. (for instance in the case of tidal flats)
+This key-word may have an influence on mass conservation since
+the truncation of depth is equivalent to adding mass.""",
+ ),
+# -----------------------------------
+ b_H_CLIPPINGG = BLOC(condition="H_CLIPPING == True",
+# -----------------------------------
+# -----------------------------------
+ MINIMUM_VALUE_OF_DEPTH = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Fixe la valeur minimale de a lorsque l''option CLIPPING DE H est
+activee.""",
+ ang = """Sets the minimum H value when option H CLIPPING is implemented. Not
+fully implemented.""",
+ ),
+ ),
+ ),
+)
+# -----------------------------------------------------------------------
+TRACERS = PROC(nom= "TRACERS",op = None,
+# -----------------------------------------------------------------------
+# -----------------------------------
+ BOUNDARY_CONDITIONS_FOR_TRACERS = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ PRESCRIBED_TRACERS_VALUES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', max='**',
+ fr = """Valeurs du traceur imposees aux frontieres liquides entrantes.
+Lire la partie du mode d''emploi consacree aux conditions aux limites""",
+ ang = """Tracer values prescribed at the inflow boundaries.
+Read the usermanual section dealing with the boundary conditions""",
+ ),
+ ),
+# -----------------------------------
+ SETTING = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ NUMBER_OF_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Definit le nombre de traceurs.""",
+ ang = """Defines the number of tracers""",
+ ),
+# -----------------------------------
+ NAMES_OF_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM', min=0, max='**',
+ fr = """Noms des traceurs en 32 caracteres, 16 pour le nom 16 pour l''unite""",
+ ang = """Name of tracers in 32 characters, 16 for the name, 16 for the unit.""",
+ ),
+# -----------------------------------
+ INITIAL_VALUES_OF_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min=0, max='**',
+ defaut = [0.,0.],
+ fr = """Fixe la valeur initiale du traceur.""",
+ ang = """Sets the initial value of the tracer.""",
+ ),
+# -----------------------------------
+ DENSITY_EFFECTS = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """PRISE EN COMPTE DU GRADIENT HORIZONTAL DE DENSITE
+ LE TRACEUR EST ALORS LA SALINITE""",
+ ang = """THE HORIZONTAL GRADIENT OF DENSITY IS TAKEN INTO ACCOUNT
+ THE TRACER IS THEN THE SALINITY""",
+ ),
+# -----------------------------------
+ b_DENSITY_EFFECTSG = BLOC(condition="DENSITY_EFFECTS == True",
+# -----------------------------------
+# -----------------------------------
+ MEAN_TEMPERATURE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 20.,
+ fr = """TEMPERATURE DE REFERENCE POUR LE CALCUL DES EFFETS DE DENSITE
+A UTILISER AVEC LE MOT-CLE EFFETS DE DENSITE""",
+ ang = """REFERENCE TEMPERATURE FOR DENSITY EFFECTS
+TO BE USED WITH THE KEY-WORD DENSITY EFFECTS""",
+ ),
+ ),
+# -----------------------------------
+ b_DENSITY_EFFECTSH = BLOC(condition="DENSITY_EFFECTS == True",
+# -----------------------------------
+# -----------------------------------
+ Consigne = SIMP(statut ="o", homo="information", typ="TXM",
+# -----------------------------------
+ defaut = "The first tracer must be the salinity in kg/m3"),
+ ),
+ ),
+# -----------------------------------
+ SOLVER_TRA = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ SOLVER_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM', min=0, max='**',
+ into = ["conjugate gradient","conjugate residual","conjugate gradient on a normal equation","minimum error","squared conjugate gradient","cgstab","gmres (see option for the solver for tracer diffusion)","direct"],
+ defaut = ["conjugate gradient","conjugate gradient"],
+ fr = """ 1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue sur
+equation normale 4 : erreur minimale 5 : gradient conjugue carre""",
+ ang = """ 1 : conjugate gradient 2 : conjugate gradient 3 : conjugate gradient
+on a normal equation 4 : minimum error 5 : squared conjugate gradient 6
+: cgstab 7 : gmres (see option for the solver for tracer diffusion) 8 :
+direct""",
+ ),
+# -----------------------------------
+ SOLVER_OPTION_FOR_TRACERS_DIFFUSION = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I', min=0, max='**',
+ defaut = [2],
+ fr = """si le solveur est GMRES (7) le mot cle est la dimension de
+l''espace de KRILOV (valeurs conseillees entre 2 et 15)""",
+ ang = """WHEN GMRES (7) IS CHOSEN, DIMENSION OF THE KRYLOV SPACE
+TRY VALUES BETWEEN 2 AND 15""",
+ ),
+# -----------------------------------
+ PRECONDITIONING_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM', min=0, max='**',
+ into = ["no preconditioning ","diagonal","crout","diagonal and crout"],
+ defaut = ["diagonal"],
+ fr = """Permet de preconditionner le systeme relatif au traceur.
+Memes definition et possibilites que pour le mot-cle
+PRECONDITIONNEMENT.
+ 0 : pas de preconditionnement;
+ 2 : preconditionnement diagonal.
+ 7 : Crout par element""",
+ ang = """Preconditioning of the linear system in the tracer diffusion
+step.
+Same definition and possibilities as for the keyword PRECONDITIONING
+ 0: no preconditioning
+ 2: diagonal preconditioning
+ 7: Crout''s preconditioning per element.""",
+ ),
+ ),
+# -----------------------------------
+ ACCURACY_TRA = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ ACCURACY_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.E-6,
+ fr = """Fixe la precision demandee pour le calcul de la diffusion
+du traceur.""",
+ ang = """Sets the required accuracy for computing the tracer
+diffusion.""",
+ ),
+# -----------------------------------
+ MAXIMUM_NUMBER_OF_ITERATIONS_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 60,
+ fr = """ Limite le nombre d''iterations du solveur a chaque pas de temps pour
+le calcul de la diffusion du traceur.""",
+ ang = """Limits the number of solver iterations at each time step for
+the diffusion of tracer.""",
+ ),
+ ),
+# -----------------------------------
+ SOURCES_TRA = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ VALUES_OF_THE_TRACERS_AT_THE_SOURCES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min=0, max='**',
+ fr = """Valeurs des traceurs a chacune des sources""",
+ ang = """Values of the tracers at the sources""",
+ ),
+ ),
+# -----------------------------------
+ METEOROLOGY_TRA = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ VALUES_OF_TRACERS_IN_THE_RAIN = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min=0, max='**',
+ fr = """generalement ce traceur est la temperature, dans ce cas
+cette valeur est a modifier, sinon la valeur 0 est raisonnable""",
+ ang = """most often, this tracer is temperature, in this case
+this value should be modified, otherwise, default value of 0 seems
+reasonable""",
+ ),
+ ),
+# -----------------------------------
+ NUMERICAL = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ ADVECTION_OF_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = True,
+ fr = """Prise en compte ou non de la convection du traceur passif.""",
+ ang = """The advection of the passive tracer is taken into account
+or ignored.""",
+ ),
+# -----------------------------------
+ b_ADVECTION_OF_TRACERSG = BLOC(condition="ADVECTION_OF_TRACERS == True",
+# -----------------------------------
+# -----------------------------------
+ SCHEME_FOR_ADVECTION_OF_TRACERS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM', min=0, max='**',
+ into = ["NO ADVECTION","CHARACTERISTICS","EXPLICIT + SUPG","EXPLICIT LEO POSTMA","EXPLICIT + MURD SCHEME N","EXPLICIT + MURD SCHEME PSI","LEO POSTMA FOR TIDAL FLATS","N-SCHEME FOR TIDAL FLATS","ERIA SCHEME FOR TIDAL FLATS"],
+ defaut = ["CHARACTERISTICS"],
+ fr = """Choix du schema de convection pour les traceurs,
+remplace FORME DE LA CONVECTION""",
+ ang = """Choice of the advection scheme for the tracers,
+replaces TYPE OF ADVECTION""",
+ ),
+ ),
+# -----------------------------------
+ IMPLICITATION_COEFFICIENT_OF_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.6,
+ fr = """Fixe la valeur du coefficient d''implicitation du traceur""",
+ ang = """Sets the value of the implicitation coefficient
+for the tracer""",
+ ),
+# -----------------------------------
+ DIFFUSION_OF_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = True,
+ fr = """Prise en compte ou non de la diffusion du traceur passif.""",
+ ang = """The diffusion of the passive tracer is taken into account
+or ignored.""",
+ ),
+# -----------------------------------
+ b_DIFFUSION_OF_TRACERSG = BLOC(condition="DIFFUSION_OF_TRACERS == True",
+# -----------------------------------
+# -----------------------------------
+ COEFFICIENT_FOR_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min=0, max='**',
+ defaut = [1.E-6],
+ fr = """Fixe la valeur du coefficient de diffusion du traceur.
+L''influence de ce parametre sur l''evolution du traceur dans
+le temps est importante.""",
+ ang = """Sets the value of the tracer diffusivity.""",
+ ),
+ ),
+# -----------------------------------
+ OPTION_FOR_THE_DIFFUSION_OF_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM', min=0, max='**',
+ into = ["div( nu grad(T) )","1/h div ( h nu grad(T)"],
+ defaut = ["div( nu grad(T) )"],
+ fr = """1: Diffusion de la forme div( nu grad(T) )
+2: Diffusion de la forme 1/h div ( h nu grad(T) )""",
+ ang = """1: Diffusion in the form div( nu grad(T) )
+2: Diffusion in the form 1/h div ( h nu grad(T) )""",
+ ),
+# -----------------------------------
+ SCHEME_OPTION_FOR_ADVECTION_OF_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I', min=0, max='**',
+ defaut = [1],
+ fr = """Si present remplace et a priorite sur :
+OPTION POUR LES CARACTERISTIQUES
+OPTION DE SUPG
+Si schema PSI ou N : 1=explicite 2=predicteur-correcteur
+3=predicteur-correcteur deuxieme ordre en temps
+4=implicite""",
+ ang = """If present replaces and has priority over:
+OPTION FOR CHARACTERISTICS
+SUPG OPTION
+if N or PSI SCHEME: 1=explicit 2=predictor-corrector
+3= predictor-corrector second-order in time 4= implicit""",
+ ),
+# -----------------------------------
+ MASS_LUMPING_ON_TRACERS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Fixe le taux de mass-lumping effectue sur le traceur.""",
+ ang = """Sets the amount of mass-lumping that is performed on
+ the tracer.""",
+ ),
+ ),
+# -----------------------------------
+ DEGRADATION = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ LAW_OF_TRACERS_DEGRADATION = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM', min=0, max='**',
+ into = ["NO DEGRADATION","F(T90) LAW"],
+ defaut = ["NO DEGRADATION","NO DEGRADATION"],
+ fr = """Prise en compte d''une loi de decroissance des traceurs""",
+ ang = """Take in account a law for tracers decrease""",
+ ),
+# -----------------------------------
+ b_LAW_OF_TRACERS_DEGRADATIONG = BLOC(condition="'F(T90) LAW' in LAW_OF_TRACERS_DEGRADATION",
+# -----------------------------------
+# -----------------------------------
+ COEFFICIENT_1_FOR_LAW_OF_TRACERS_DEGRADATION = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R', min=0, max='**',
+ fr = """Coefficient 1 de la loi de decroissance des traceurs""",
+ ang = """Coefficient 1 of law for tracers decrease""",
+ ),
+ ),
+ ),
+)
+# -----------------------------------------------------------------------
+PARTICLE_TRANSPORT = PROC(nom= "PARTICLE_TRANSPORT",op = None,
+# -----------------------------------------------------------------------
+# -----------------------------------
+ DROGUES = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ NUMBER_OF_DROGUES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Permet d''effectuer un suivi de flotteurs""",
+ ang = """Number of drogues in the computation.
+The user must then fill the subroutine FLOT specifying
+the coordinates of the starting points, their departure
+and arrival times.
+The trajectory of drogues is recorded in the BINARY RESULTS
+FILE that must be given in the steering file""",
+ ),
+# -----------------------------------
+ b_NUMBER_OF_DROGUESG = BLOC(condition="NUMBER_OF_DROGUES != 0",
+# -----------------------------------
+# -----------------------------------
+ DROGUES_FILE = SIMP(statut ='o',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultat avec les positions des flotteurs""",
+ ang = """Results file with positions of drogues""",
+ ),
+# -----------------------------------
+ PRINTOUT_PERIOD_FOR_DROGUES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """Nombre de pas de temps entre 2 sorties de positions de
+flotteurs dans le fichier des resultats binaire supplementaire
+N affecte pas la qualite du calcul de la trajectoire""",
+ ang = """Number of time steps between 2 outputs of drogues
+positions in the binary file""",
+ ),
+ ),
+ ),
+# -----------------------------------
+ ALGAES = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ ALGAE_TRANSPORT_MODEL = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Si oui, les flotteurs seront des algues""",
+ ang = """If yes, the floats or particles will be algae""",
+ ),
+# -----------------------------------
+ b_ALGAE_TRANSPORT_MODELG = BLOC(condition="ALGAE_TRANSPORT_MODEL == True",
+# -----------------------------------
+# -----------------------------------
+ ALGAE_TYPE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["SPHERE","IRIDAEA FLACCIDA (CLOSE TO ULVA)","PELVETIOPSIS LIMITATA","GIGARTINA LEPTORHYNCHOS"],
+ defaut = "SPHERE",
+ fr = """Type des algues. Pour le choix 1 les algues seront
+modelisees comme des spheres, pour les autres choix voir Gaylord
+et al. (1994).""",
+ ang = """Algae type. For choice 1 the algae particles will be
+modeled as spheres, and for the other choices see Gaylord et
+al. (1994)""",
+ ),
+# -----------------------------------
+ DIAMETRE_OF_ALGAE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.1,
+ fr = """Diametre des algues en m""",
+ ang = """Diametre of algae in m""",
+ ),
+# -----------------------------------
+ DENSITY_OF_ALGAE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1050.,
+ fr = """Masse volumique des algues en kg/m3""",
+ ang = """Density of algae in kg/m3""",
+ ),
+# -----------------------------------
+ THICKNESS_OF_ALGAE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.01,
+ fr = """Epaisseur des algues en m""",
+ ang = """Thickness of algae in m""",
+ ),
+ ),
+ ),
+# -----------------------------------
+ OIL_SPILL = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ OIL_SPILL_MODEL = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """POUR DECLENCHER LE MODELE DE DERIVE DE NAPPES, DANS
+CE CAS LE FICHIER DE COMMANDES MIGRHYCAR EST NECESSAIRE""",
+ ang = """WILL TRIGGER THE OIL SPILL MODEL, IN THIS CASE
+THE MIGRHYCAR STEERING FILE IS NEEDED""",
+ ),
+# -----------------------------------
+ b_OIL_SPILL_MODELG = BLOC(condition="OIL_SPILL_MODEL == True",
+# -----------------------------------
+# -----------------------------------
+ OIL_SPILL_STEERING_FILE = SIMP(statut ='o',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Contient les donnees pour le modele de derive de nappes""",
+ ang = """Contains data for the oil spill model""",
+ ),
+ ),
+ ),
+# -----------------------------------
+ BROWNIAN_MOTION = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ STOCHASTIC_DIFFUSION_MODEL = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["No model","brownian movement"],
+ defaut = "No model",
+ fr = """Pour les particules : flotteurs, hydrocarbures""",
+ ang = """Meant for particles: drogues, oil spills""",
+ ),
+ ),
+# -----------------------------------
+ LAGRANGIAN_DRIFTS = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ NUMBER_OF_LAGRANGIAN_DRIFTS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Permet d''effectuer simultanement plusieurs calculs de derives
+lagrangiennes initiees a des pas differents""",
+ ang = """Provided for performing several computations of lagrangian
+drifts starting at different times.
+Add A and G in the VARIABLES FOR GRAPHIC PRINTOUTS key-word""",
+ ),
+# -----------------------------------
+ b_NUMBER_OF_LAGRANGIAN_DRIFTSG = BLOC(condition="NUMBER_OF_LAGRANGIAN_DRIFS != 0",
+# -----------------------------------
+# -----------------------------------
+ Consigne = SIMP(statut ="o", homo="information", typ="TXM",
+# -----------------------------------
+ defaut = "Add 'drift along x (m)' and 'drift along y (m)' in VARIABLES FOR GRAPHIC PRINTOUTS"),
+ ),
+ ),
+)
+# -----------------------------------------------------------------------
+HYDRAULIC_STRUCTURES = PROC(nom= "HYDRAULIC_STRUCTURES",op = None,
+# -----------------------------------------------------------------------
+# -----------------------------------
+ WEIRS = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ NUMBER_OF_WEIRS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Nombre de seuils qui seront traites par des conditions aux
+limites. Ces seuils doivent etre decrits comme des frontieres du
+domaine de calcul, et leurs caracteristiques sont donnees dans le
+fichier de donnees des seuils (voir la documentation ecrite)""",
+ ang = """Number of weirs that will be treated by boundary conditions.
+They must be described as boundaries of the domain and their features
+are given in the weir data file (see written documentation)""",
+ ),
+# -----------------------------------
+ b_NUMBER_OF_WEIRSG = BLOC(condition="NUMBER_OF_WEIRS != 0",
+# -----------------------------------
+# -----------------------------------
+ WEIRS_DATA_FILE = SIMP(statut ='o',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier de description des seuils presents dans le modele""",
+ ang = """Description of weirs existing in the model""",
+ ),
+# -----------------------------------
+ TYPE_OF_WEIRS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["HORIZONTAL WITH SAME NUMBER OF NODES UPSTREAM/DOWNSTREAM","GENERAL"],
+ defaut = "HORIZONTAL WITH SAME NUMBER OF NODES UPSTREAM/DOWNSTREAM",
+ fr = """Methode de traitement des seuils. Deux Solutions:
+- HORIZONTAL AVEC MEME NOMBRE DE NOEUDS AMONT/AVAL (Solution historique
+ avec bord)
+- GENERALE (Nouvelle solution avec pts sources)""",
+ ang = """Method for treatment of weirs. Two options:
+- HORIZONTAL WITH SAME NUMBER OF NODES UPSTREAM/DOWNSTREAM (Historical
+ solution with bord)
+- GENERAL (New solution with sources points""",
+ ),
+ ),
+ ),
+# -----------------------------------
+ SIPHONS = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ NUMBER_OF_SIPHONS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Nombre de siphons traites comme des termes sources ou
+puits. Ces siphons doivent etre decrits comme des sources dans le
+fichier cas. Leurs caracteristiques sont donnees dans le
+fichier de donnees des siphons (voir la documentation ecrite)""",
+ ang = """Number of siphons treated as source terms.
+They must be described as sources in the domain and their features
+are given in the culvert data file (see written documentation)""",
+ ),
+# -----------------------------------
+ b_NUMBER_OF_SIPHONSG = BLOC(condition="NUMBER_OF_SIPHONS != 0",
+# -----------------------------------
+# -----------------------------------
+ SIPHONS_DATA_FILE = SIMP(statut ='o',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier de description des siphons presents dans le modele""",
+ ang = """Description of culvert existing in the model""",
+ ),
+ ),
+ ),
+# -----------------------------------
+ CULVERTS = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ NUMBER_OF_CULVERTS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Nombre de buses ou ponts traites comme des termes sources ou
+puits. Ces buses doivent etre decrits comme des sources dans le
+fichier cas. Leurs caracteristiques sont donnees dans le
+fichier de donnees des buses (voir la documentation ecrite)""",
+ ang = """Number of culverts, tubes or bridges treated as source terms.
+They must be described as sources in the domain and their features
+are given in the culverts data file (see written documentation)""",
+ ),
+# -----------------------------------
+ b_NUMBER_OF_CULVERTSG = BLOC(condition="NUMBER_OF_CULVERTS != 0",
+# -----------------------------------
+# -----------------------------------
+ CULVERTS_DATA_FILE = SIMP(statut ='o',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier de description des buses/ponts presents dans le modele""",
+ ang = """Description of culverts/tubes/bridges existing in the model""",
+ ),
+ ),
+# -----------------------------------
+ OPTION_FOR_CULVERTS = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """Option pour le traitement des buses. Il existe deux formulations
+dans Telemac""",
+ ang = """Option for the treatment of culverts. There are two options in
+Telemac""",
+ ),
+ ),
+# -----------------------------------
+ BREACHES = FACT(statut='f',
+# -----------------------------------
+# -----------------------------------
+ BREACH = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Prise en compte de breches dans le calcul par
+modification altimetrique dans le maillage. La description
+des breches se fait avec le fichier de donnees des breches.""",
+ ang = """Take in account some breaches during the computation
+by modifying the bottom level of the mesh. Brech description
+is done with the breaches data file.""",
+ ),
+# -----------------------------------
+ b_BREACHG = BLOC(condition="BREACH == True",
+# -----------------------------------
+# -----------------------------------
+ BREACHES_DATA_FILE = SIMP(statut ='o',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier de description des breches""",
+ ang = """Description of breaches""",
+ ),
+ ),
+ ),
+)
+# -----------------------------------------------------------------------
+TIDES = PROC(nom= "TIDES",op = None,
+# -----------------------------------------------------------------------
+# -----------------------------------
+ BOUNDARY_CONDITIONS = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ TIDAL_DATA_BASE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["NO DEFAULT VALUE","JMJ","TPXO","MISCELLANEOUS (LEGOS-NEA, FES20XX, PREVIMER...)"],
+ defaut = "NO DEFAULT VALUE",
+ fr = """Pour JMJ, renseigner la localisation du fichier bdd\_jmj et geofin
+dans les mots-cles BASE DE DONNEES DE MAREE et FICHIER DU MODELE DE
+MAREE. Pour TPXO, LEGOS-NEA, FES20XX et PREVIMER, l''utilisateur doit
+telecharger les fichiers de constantes harmoniques sur internet""",
+ ang = """For JMJ, indicate the location of the files bdd\_jmj and geofin with
+keywords TIDE DATA BASE and TIDAL MODEL FILE. For TPXO, LEGOS-NEA,
+FES20XX and PREVIMER, the user has to download files of harmonic
+constituents on the internet""",
+ ),
+# -----------------------------------
+ b_TIDAL_DATA_BASEG = BLOC(condition="TIDAL_DATA_BASE == 'TPXO'",
+# -----------------------------------
+# -----------------------------------
+ MINOR_CONSTITUENTS_INFERENCE = SIMP(statut ='f',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Pour la base de donnees TPXO uniquement.
+Interpolation de composantes harmoniques mineures
+a partir de celles lues dans les fichiers d''entree
+lies aux mots-cles BASE BINAIRE 1 DE DONNEES DE MAREE
+et BASE BINAIRE 2 DE DONNEES DE MAREE""",
+ ang = """For TPXO tidal data base only.
+Inference of minor constituents from the one read in input files
+linked to keywords BINARY DATABASE 1 FOR TIDE
+and BINARY DATABASE 2 FOR TIDE""",
+ ),
+# -----------------------------------
+ BINARY_DATABASE_1_FOR_TIDE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Base de donnees binaire 1 tiree du fichier du modele de maree.
+ Dans le cas des donnees satellitaires de TPXO, ce fichier correspond
+ aux donnees de niveau d''eau, par exemple h\_tpxo7.2""",
+ ang = """Binary database 1 extracted from the tidal model file.
+ In the case of the TPXO satellite altimetry model, this file should
+ be for free surface level, for instance h\_tpxo7.2""",
+ ),
+# -----------------------------------
+ BINARY_DATABASE_2_FOR_TIDE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Base de donnees binaire 2 tiree du fichier du modele de maree.
+ Dans le cas des donnees satellitaires de TPXO, ce fichier correspond
+ aux donnees de vitesse de marrees, par exemple u\_tpxo7.2""",
+ ang = """Binary database 2 extracted from the tidal model file.
+ In the case of the TPXO satellite altimetry model, this file should
+ be for tidal velocities, for instance u\_tpxo7.2""",
+ ),
+ ),
+# -----------------------------------
+ TIDAL_MODEL_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Fichier de geometrie du modele dont sont extraites
+les constantes harmoniques""",
+ ang = """Geometry file of the model from which harmonic constituents
+are extracted""",
+ ),
+# -----------------------------------
+ ASCII_DATABASE_FOR_TIDE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Base de donnees de constantes harmoniques
+tirees du fichier du modele de maree.
+Ancien nom en version 6.1 : BASE DE DONNEES DE MAREE""",
+ ang = """Tide data base of harmonic constituents
+extracted from the tidal model file.
+Old name in 6.1 version: TIDE DATA BASE""",
+ ),
+# -----------------------------------
+ HARMONIC_CONSTANTS_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Constantes harmoniques extraites du fichier du modele de maree""",
+ ang = """Harmonic constants extracted from the tidalmodel file""",
+ ),
+ ),
+# -----------------------------------
+ PHYSICAL_PARAMETERS = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ TIDE_GENERATING_FORCE = SIMP(statut ='o',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Active la prise en compte de la force generatrice de la maree""",
+ ang = """The tide generating force is taken into account.""",
+ ),
+# -----------------------------------
+ b_TIDE_GENERATING_FORCEG = BLOC(condition="TIDE_GENERATING_FORCE == True",
+# -----------------------------------
+ ),
+# -----------------------------------
+ OPTION_FOR_TIDAL_BOUNDARY_CONDITIONS = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM', max='**',
+ into = ["No tide","Real tide (recommended methodology)","Astronomical tide","Mean spring tide","Mean tide","Mean neap tide","Astronomical neap tide","Real tide (methodology before 2010)"],
+ fr = """Option pour les conditions aux limites de maree. Pour des marees
+reelles, l option 1 est recommandee. Depuis la version 7.1, ce mot-cle
+est un tableau avec une valeur donnee par frontiere liquide, separee par
+point-virgules. Ceci permet d''avoir des conditions de maree (ou pas)
+calculees sur des frontieres liquides avec vitesses ou hauteur d eau
+imposees. Ca evite un conflit lors de l utilisation de seuils dans le
+domaine. 0 est le code pour des conditions autres que des conditions de
+maree. ATTENTION depuis la version 7.1 ! Les anciens modeles doivent
+etre changes si la frontiere de maree n a pas le numero 1. Dans ce cas,
+le mot-cle doit etre change et plus de valeurs doivent etre donnees.
+Calage possible par les mots-cles COEFFICIENT POUR CALAGE EN MARNAGE et
+COEFFICIENT POUR CALAGE EN NIVEAU.""",
+ ang = """Option for tidal boundary conditions. For real tides, option 1 is
+recommended. This keyword has been an array with a value given per
+liquid boundary, separated by semicolons, since version 7.1. This
+enables to have tidal conditions (or not) computed on liquid boundaries
+with prescribed velocities or depths, avoiding a clash when using weirs
+in the domain. 0 codes for conditions other than tidal. BEWARE since
+version 7.1! Old models must be changed if their tidal boundary is not
+number 1. In that case this keyword must be changed and more values
+given. Possible calibration with the keywords COEFFICIENT TO ADJUST
+TIDAL RANGE, COEFFICENT TO CALIBRATE TIDAL VELOCITIES, and COEFFICIENT
+TO ADJUST SEA LEVEL.""",
+ ),
+ ),
+# -----------------------------------
+ CALIBRATION = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ GEOGRAPHIC_SYSTEM = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["NO DEFAULT VALUE","DEFINED BY USER","WGS84 LONGITUDE/LATITUDE IN REAL DEGREES","WGS84 NORTHERN UTM","WGS84 SOUTHERN UTM","LAMBERT","MERCATOR FOR TELEMAC"],
+ defaut = "NO DEFAULT VALUE",
+ fr = """Systeme de coordonnees geographiques dans lequel est construit le
+modele numerique. Indiquer la zone correspondante avec le mot-cle""",
+ ang = """Geographic coordinates system in which the numerical model is built.
+Indicate the corresponding zone with the keyword""",
+ ),
+# -----------------------------------
+ b_GEOGRAPHIC_SYSTEMG = BLOC(condition="GEOGRAPHIC_SYSTEM in ['WGS84 NOTHERN UTM','WGS84 SOUTHERN UTM','LAMBERT']",
+# -----------------------------------
+# -----------------------------------
+ ZONE_NUMBER_IN_GEOGRAPHIC_SYSTEM = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["NO DEFAULT VALUE","LAMBERT 1 NORTH","LAMBERT 2 CENTER","LAMBERT 3 SOUTH","LAMBERT 4 CORSICA","LAMBERT 2 EXTENDED","UTM ZONE, E.G."],
+ defaut = "NO DEFAULT VALUE",
+ fr = """Numero de zone (fuseau ou type de projection) lors de l''utilisation
+d''une projection plane. Indiquer le systeme geographique dans lequel
+est construit le modele numerique avec le mot-cle SYSTEME GEOGRAPHIQUE""",
+ ang = """Number of zone when using a plane projection. Indicate the geographic
+system in which the numerical model is built with the keyword GEOGRAPHIC
+SYSTEM""",
+ ),
+ ),
+# -----------------------------------
+ COEFFICIENT_TO_CALIBRATE_SEA_LEVEL = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 0.,
+ fr = """Coefficient pour ajuster le niveau de mer""",
+ ang = """Coefficient to calibrate the sea level""",
+ ),
+# -----------------------------------
+ COEFFICIENT_TO_CALIBRATE_TIDAL_RANGE = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 1.,
+ fr = """Coefficient pour ajuster le marnage de l''onde de maree
+aux frontieres maritimes""",
+ ang = """Coefficient to calibrate the tidal range of tidal wave
+at tidal open boundary conditions""",
+ ),
+# -----------------------------------
+ COEFFICIENT_TO_CALIBRATE_TIDAL_VELOCITIES = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'R',
+ defaut = 999999.,
+ fr = """Coefficient pour ajuster les composantes de vitesse
+de l''onde de maree aux frontieres maritimes.
+La valeur par defaut 999999. signifie que c''est la racine carree
+du COEFFICIENT DE CALAGE DU MARNAGE qui est prise""",
+ ang = """Coefficient to calibrate the tidal velocities of tidal wave
+at tidal open boundary conditions.
+Default value 999999. means that the square root of
+COEFFICIENT TO CALIBRATE TIDAL RANGE is taken""",
+ ),
+# -----------------------------------
+ LOCAL_NUMBER_OF_THE_POINT_TO_CALIBRATE_HIGH_WATER = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Numero local du point entre 1 et le nombre de points de frontiere
+maritime (du FICHIER DES CONSTANTES HARMONIQUES) ou les conditions aux
+limites de maree sont calculees avec les bases de donnees JMJ, NEA, FES,
+PREVIMER (sauf les bases de type TPXO). Les ondes de maree sont
+dephasees par rapport a ce point pour debuter le calcul par une pleine
+mer (en marees schematiques seulement).""",
+ ang = """Local number between 1 and the number of tidal boundary points (of the
+HARMONIC CONSTANTS FILE) where the tidal boundary conditions are
+computed with JMJ, NEA, FES, PREVIMER databases (except TPXO-type
+databases). The tidal constituents have their phase shifted with respect
+to this point to start the simulation with a high water (for schematic
+tides only).""",
+ ),
+# -----------------------------------
+ GLOBAL_NUMBER_OF_THE_POINT_TO_CALIBRATE_HIGH_WATER = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 0,
+ fr = """Numero global du point par rapport auquel les ondes de maree sont
+dephasees pour debuter le calcul par une pleine mer (en marees
+schematiques seulement). Ne concerne que les bases de constantes
+harmoniques de type TPXO.""",
+ ang = """Global number of the point with respect to which the tidal
+constituents have their phase shifted to start the calculation with a
+high water (for schematic tides only). Only harmonic constants databases
+like TPXO are concerned.""",
+ ),
+ ),
+)
+# -----------------------------------------------------------------------
+COUPLING = PROC(nom= "COUPLING",op = None,
+# -----------------------------------------------------------------------
+# -----------------------------------
+ COUPLING_WITH = SIMP(statut ='o',
+# -----------------------------------
+ typ = 'TXM',
+ into = ['SISYPHE','TOMAWAC','DELWAQ'],
+ defaut = '',
+ fr = """Liste des codes avec lesquels on couple Telemac-2D
+ SISYPHE : couplage interne avec Sisyphe
+ TOMAWAC : couplage interne avec Tomawac
+ DELWAQ : sortie de fichiers de resultats pour Delwaq""",
+ ang = """List of codes to be coupled with Telemac-2D
+ SISYPHE : internal coupling with Sisyphe
+ TOMAWAC : internal coupling with Tomawac
+ DELWAQ: will yield results file for Delwaq""",
+ ),
+# -----------------------------------
+ NAMES_OF_CLANDESTINE_VARIABLES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM', min= 2, max= 2,
+ fr = """Noms de variables qui ne sont pas utilisees par TELEMAC;
+mais qui doivent etre conservees lors de son execution.
+Ceci peut etre utilise entre autres lors du couplage de TELEMAC
+avec un autre code.
+Les variables clandestines sont alors des variables propres a l''autre
+code et sont rendues dans le fichier de resultats.""",
+ ang = """Names of variables that are not used by TELEMAC, but should be
+preserved when it is being run. This keyword may be used, for instance
+when it if TELEMAC is coupled with another code. Thus, the clandestine
+variables belong to the other code and are given back in the results
+file.""",
+ ),
+# -----------------------------------
+ DELWAQ = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ COUPLING_DIRECTORY = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ defaut = '',
+ fr = """Nom complet du dossier d echange des fichiers
+ pour couplage de codes""",
+ ang = """Name with full path of the directory where the files will
+ be exchanged for coupling""",
+ ),
+# -----------------------------------
+ DELWAQ_PRINTOUT_PERIOD = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """Periode de sortie des resultats pour Delwaq""",
+ ang = """Printout period for Delwaq file""",
+ ),
+# -----------------------------------
+ VOLUMES_DELWAQ_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultats pour le couplage avec Delwaq""",
+ ang = """Results file for coupling with Delwaq""",
+ ),
+# -----------------------------------
+ EXCHANGE_AREAS_DELWAQ_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultats pour le couplage avec Delwaq""",
+ ang = """Results file for coupling with Delwaq""",
+ ),
+# -----------------------------------
+ VERTICAL_FLUXES_DELWAQ_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultats pour le couplage avec Delwaq""",
+ ang = """Results file for coupling with Delwaq""",
+ ),
+# -----------------------------------
+ SALINITY_DELWAQ_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultats pour le couplage avec Delwaq""",
+ ang = """Results file for coupling with Delwaq""",
+ ),
+# -----------------------------------
+ BOTTOM_SURFACES_DELWAQ_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultats pour le couplage avec Delwaq""",
+ ang = """Results file for coupling with Delwaq""",
+ ),
+# -----------------------------------
+ EXCHANGES_BETWEEN_NODES_DELWAQ_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultats pour le couplage avec Delwaq""",
+ ang = """Results file for coupling with Delwaq""",
+ ),
+# -----------------------------------
+ NODES_DISTANCES_DELWAQ_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultats pour le couplage avec Delwaq""",
+ ang = """Results file for coupling with Delwaq""",
+ ),
+# -----------------------------------
+ TEMPERATURE_DELWAQ_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultats pour le couplage avec Delwaq""",
+ ang = """Results file for coupling with Delwaq""",
+ ),
+# -----------------------------------
+ VELOCITY_DELWAQ_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultats pour le couplage avec Delwaq""",
+ ang = """Results file for coupling with Delwaq""",
+ ),
+# -----------------------------------
+ DIFFUSIVITY_DELWAQ_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultats pour le couplage avec Delwaq""",
+ ang = """Results file for coupling with Delwaq""",
+ ),
+# -----------------------------------
+ DELWAQ_STEERING_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)','Sauvegarde'),
+ defaut = '',
+ fr = """Fichier de resultats pour le couplage avec Delwaq""",
+ ang = """Results file for coupling with Delwaq""",
+ ),
+# -----------------------------------
+ SALINITY_FOR_DELWAQ = SIMP(statut ='f',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Decide de la sortie de la salinite pour Delwaq""",
+ ang = """Triggers output of salinity for Delwaq""",
+ ),
+# -----------------------------------
+ TEMPERATURE_FOR_DELWAQ = SIMP(statut ='f',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Decide de la sortie de la temperature pour Delwaq""",
+ ang = """Triggers output of temperature for Delwaq""",
+ ),
+# -----------------------------------
+ VELOCITY_FOR_DELWAQ = SIMP(statut ='f',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Decide de la sortie de la vitesse pour Delwaq""",
+ ang = """Triggers output of velocity for Delwaq""",
+ ),
+# -----------------------------------
+ DIFFUSIVITY_FOR_DELWAQ = SIMP(statut ='f',
+# -----------------------------------
+ typ = bool,
+ defaut = False,
+ fr = """Decide de la sortie du coefficient de diffusion pour Delwaq""",
+ ang = """Triggers output of diffusion for Delwaq""",
+ ),
+ ),
+# -----------------------------------
+ SISYPHE = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ SISYPHE_STEERING_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ defaut = '',
+ fr = """Fichier des parametres de Sisyphe en cas de couplage interne""",
+ ang = """Sisyphe parameter file in case of internal coupling""",
+ ),
+# -----------------------------------
+ COUPLING_PERIOD_FOR_SISYPHE = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """pour eviter de faire le couplage a chaque pas de temps""",
+ ang = """to avoid coupling at every time-step""",
+ ),
+ ),
+# -----------------------------------
+ TOMAWAC = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ TOMAWAC_STEERING_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ defaut = '',
+ fr = """Fichier des parametres de Tomawac en cas de couplage interne""",
+ ang = """Tomawac parameter file in case of internal coupling""",
+ ),
+# -----------------------------------
+ COUPLING_PERIOD_FOR_TOMAWAC = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'I',
+ defaut = 1,
+ fr = """pour eviter de faire le couplage a chaque pas de temps""",
+ ang = """to avoid coupling at every time-step""",
+ ),
+ ),
+# -----------------------------------
+ WAQTEL = FACT(statut='o',
+# -----------------------------------
+# -----------------------------------
+ WAQTEL_STEERING_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ defaut = '',
+ fr = """fichier des parametres physiques pour les processus de qualite d eau
+(internes non ceux de DELWAQ)""",
+ ang = """file for physical parameters of waq processes (local ones of
+Telemac-tracer not those of DELWAQ)""",
+ ),
+ ),
+)
+# -----------------------------------------------------------------------
+INTERNAL = PROC(nom= "INTERNAL",op = None,
+# -----------------------------------------------------------------------
+# -----------------------------------
+ LANGUAGE = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ into = ["FRANCAIS","ANGLAIS"],
+ defaut = "ANGLAIS",
+ fr = """1 : FRANCAIS 2 : ANGLAIS""",
+ ang = """1: FRENCH 2: ENGLISH""",
+ ),
+# -----------------------------------
+ STEERING_FILE = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = '',
+ fr = """Nom du fichier contenant les parametres du calcul a realiser.""",
+ ang = """Name of the file containing the parameters of the computation
+Written by the user.""",
+ ),
+# -----------------------------------
+ DICTIONARY = SIMP(statut ='f',
+# -----------------------------------
+ typ = ('Fichier','All Files (*)'),
+ defaut = 'telemac2d.dico',
+ fr = """Dictionnaire des mots cles.""",
+ ang = """Key word dictionary.""",
+ ),
+# -----------------------------------
+ PARTITIONING_TOOL = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ into = ['METIS','SCOTCH','PARMETIS','PTSCOTCH'],
+ defaut = 'METIS',
+ fr = """CHOIX DU PARTITIONNEUR
+1 : METIS
+2 : SCOTCH
+3 : PARMETIS
+4 : PTSCOTCH
+etc...""",
+ ang = """PARTITIONING TOOL SELECTION
+1 : METIS
+2 : SCOTCH
+3 : PARMETIS
+4 : PTSCOTCH
+etc...""",
+ ),
+# -----------------------------------
+ RELEASE = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ defaut = 'TRUNK',
+ fr = """Numero de version des bibliotheques utilisees par TELEMAC.
+SUR UNE STATION DE TRAVAIL
+5 versions sont donnees correspondant a :
+TELEMAC,DAMO,UTILE,BIEF,HP""",
+ ang = """version number of the libraries used by TELEMAC.
+ON A WORKSTATION
+5 numbers are given, corresponding to the libraries called:
+TELEMAC,DAMO,UTILE,BIEF,HP""",
+ ),
+# -----------------------------------
+ LIST_OF_FILES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM', min=47, max=47,
+ defaut = 'STEERING FILE;DICTIONARY;FORTRAN FILE;GEOMETRY FILE;BOUNDARY CONDITIONS FILE;RESULTS FILE;PREVIOUS COMPUTATION FILE;BOTTOM TOPOGRAPHY FILE;BINARY DATA FILE 1;BINARY DATA FILE 2;FORMATTED DATA FILE 1;FORMATTED DATA FILE 2;BINARY RESULTS FILE;FORMATTED RESULTS FILE;REFERENCE FILE;LIQUID BOUNDARIES FILE;FRICTION DATA FILE;VOLUMES DELWAQ FILE;EXCHANGE AREAS DELWAQ FILE;VERTICAL FLUXES DELWAQ FILE;SALINITY DELWAQ FILE;VELOCITY DELWAQ FILE;DIFFUSIVITY DELWAQ FILE;BOTTOM SURFACES DELWAQ FILE;EXCHANGES BETWEEN NODES DELWAQ FILE;NODES DISTANCES DELWAQ FILE;TEMPERATURE DELWAQ FILE;DELWAQ STEERING FILE;STAGE-DISCHARGE CURVES FILE;SOURCES FILE;SECTIONS INPUT FILE;SECTIONS OUTPUT FILE;OIL SPILL STEERING FILE;HARMONIC CONSTANTS FILE;TIDAL MODEL FILE;ASCII DATABASE FOR TIDE;BINARY DATABASE 1 FOR TIDE;BINARY DATABASE 2 FOR TIDE;WEIRS DATA FILE;SIPHONS DATA FILE;CULVERTS DATA FILE;BREACHES DATA FILE;DROGUES FILE;ZONES FILE;FLUXLINE INPUT FILE;ASCII ATMOSPHERIC DATA FILE;BINARY ATMOSPHERIC DATA FILE',
+ fr = """Noms des fichiers exploites par le code""",
+ ang = """File names of the used files""",
+ ),
+# -----------------------------------
+ DESCRIPTION_OF_LIBRARIES = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM', min=11, max=11,
+ defaut = 'builds|PPP|lib|telemac2dMMMVVV.LLL;builds|PPP|lib|sisypheMMMVVV.LLL;builds|PPP|lib|tomawacMMMVVV.LLL;builds|PPP|lib|nestorMMMVVV.LLL;builds|PPP|lib|waqtelMMMVVV.LLL;builds|PPP|lib|stbtelMMMVVV.LLL;builds|PPP|lib|biefMMMVVV.LLL;builds|PPP|lib|hermesMMMVVV.LLL;builds|PPP|lib|damoMMMVVV.LLL;builds|PPP|lib|parallelMMMVVV.LLL;builds|PPP|lib|specialMMMVVV.LLL',
+ fr = """Description des librairies de T2D""",
+ ang = """LIBRARIES description""",
+ ),
+# -----------------------------------
+ DEFAULT_EXECUTABLE = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ defaut = 'builds|PPP|bin|telemac2dMMMVVV.exe',
+ fr = """Executable par defaut de T2D""",
+ ang = """Default executable for T2D""",
+ ),
+# -----------------------------------
+ DEFAULT_PARALLEL_EXECUTABLE = SIMP(statut ='f',
+# -----------------------------------
+ typ = 'TXM',
+ defaut = 'builds|PPP|bin|telemac2dMMMVVV.exe',
+ fr = """Executable parallele par defaut de T2D""",
+ ang = """Default parallel executable for T2D""",
+ ),
+)
+Ordre_Des_Commandes = (
+'COMPUTATION_ENVIRONMENT',
+'HYDRO',
+'GENERAL_PARAMETERS',
+'NUMERICAL_PARAMETERS',
+'TURBULENCE',
+'TIDAL_FLATS_INFO',
+'TRACERS',
+'PARTICLE_TRANSPORT',
+'HYDRAULIC_STRUCTURES',
+'TIDES',
+'COUPLING',
+'INTERNAL')
+Classement_Commandes_Ds_Arbre = (
+'COMPUTATION_ENVIRONMENT',
+'HYDRO',
+'GENERAL_PARAMETERS',
+'NUMERICAL_PARAMETERS',
+'TURBULENCE',
+'TIDAL_FLATS_INFO',
+'TRACERS',
+'PARTICLE_TRANSPORT',
+'HYDRAULIC_STRUCTURES',
+'TIDES',
+'COUPLING',
+'INTERNAL')
if ( obj==None ):
return None
- if ( hasattr( obj, 'get_sdname' ) and obj.get_sdname() == name ):
+ if ( hasattr( obj, 'getSdname' ) and obj.getSdname() == name ):
return obj
list=[]
if ( obj != None and hasattr( obj, 'parent' ) ):
p=obj.parent
if ( p != None ):
- p.suppentite(obj)
+ p.suppEntite(obj)
def compare_files(self, orig, test):
origlines = open(orig, 'U').readlines()
sys.stderr = self.stderr0
self.stdout0 = None
self.stderr0 = None
- return self.outputBuffer.getvalue()
+ return self.outputBuffer.getValue()
def stopTest(self, test):
#!/usr/bin/env python
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
#@ MODIF properties Accas DATE 26/10/2005 AUTEUR gcbhhhh M.ADMINISTRATEUR
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# RESPONSABLE D6BHHHH J-P.LEFEBVRE
# ======================================================================
# COPYRIGHT (C) 1991 - 2001 EDF R&D WWW.CODE-ASTER.ORG
import sys,types,os
import sre
import unittest
-from optparse import OptionParser
+from optparse import Optionparser
import config
self.runTests()
def parseArgs(self,argv):
- parser = OptionParser(usage=self.USAGE)
+ parser = Optionparser(usage=self.USAGE)
parser.add_option("-v","--verbose",action="count",
dest="verbosity",default=1,
help="Be more verbose. ")
#
from Traducteur.utils import lineToDict
import logging
-from Traducteur.dictErreurs import EcritErreur
+from Traducteur.dictErreurs import ecritErreur
from Traducteur.load import jdcSet
from Traducteur.renamemocle import decaleLignesdeNBlancs
from Traducteur.removemocle import removeMotCleInFact
#--------------------------------------------------------------------------
-def ChangementValeur(jdc,command,motcle,DictNouvVal,liste=(),defaut=0):
+def changementValeur(jdc,command,motcle,DictNouvVal,liste=(),defaut=0):
#--------------------------------------------------------------------------
if command not in jdcSet : return
boolChange=0
MaLigneTexte=Nouveau # raccourci honteux mais ...
MaLigneGlob=Nouveau
if Valeur in liste :
- EcritErreur((command,motcle,Valeur),indexLigneGlob)
+ ecritErreur((command,motcle,Valeur),indexLigneGlob)
else :
logging.info("Changement de %s par %s dans %s ligne %d",Valeur,DictNouvVal[Valeur],command,indexLigneGlob)
boolChange=1
indexLigneGlob=indexLigneGlob+1
indexTexteMC=indexTexteMC+1
if (trouveUnMC == 0) and ( defaut == 1):
- EcritErreur((command,motcle,"DEFAUT"),c.lineno)
+ ecritErreur((command,motcle,"DEFAUT"),c.lineno)
if boolChange : jdc.reset(jdc.getSource())
#--------------------------------------------------------------------------------
-def ChangementValeurDsMCF(jdc,command,fact,motcle,DictNouvVal,liste=(),ensemble=regles.SansRegle,defaut=0):
+def changementValeurDsMCF(jdc,command,fact,motcle,DictNouvVal,liste=(),ensemble=regles.SansRegle,defaut=0):
#--------------------------------------------------------------------------------
if command not in jdcSet : return
MaLigneTexte=Nouveau # raccourci honteux mais ...
MaLigneGlob=Nouveau
if Valeur in liste :
- EcritErreur((command,fact,motcle,Valeur),indexLigneGlob)
+ ecritErreur((command,fact,motcle,Valeur),indexLigneGlob)
else :
logging.info("Changement de %s par %s dans %s ligne %d",Valeur,DictNouvVal[Valeur],command,indexLigneGlob)
boolChange=1
indexTexteMC=indexTexteMC+1
if (trouveUnMC == 0) and ( defaut == 1):
logging.warning("OPTION (defaut) de CALCG à verifier ligne %s" ,c.lineno )
- EcritErreur((command,fact,motcle,"DEFAUT"),c.lineno)
+ ecritErreur((command,fact,motcle,"DEFAUT"),c.lineno)
if boolChange : jdc.reset(jdc.getSource())
#--------------------------------------------------------------------------------
-def ChangementValeurDsMCFSiRegle(jdc,command,fact,motcle,DictNouvVal,liste_regles,defaut=0):
+def changementValeurDsMCFSiRegle(jdc,command,fact,motcle,DictNouvVal,liste_regles,defaut=0):
#--------------------------------------------------------------------------------
if command not in jdcSet : return
mesRegles=regles.ensembleRegles(liste_regles)
liste=()
- ChangementValeurDsMCF(jdc,command,fact,motcle,DictNouvVal,liste,mesRegles,defaut)
+ changementValeurDsMCF(jdc,command,fact,motcle,DictNouvVal,liste,mesRegles,defaut)
#---------------------------------------------------------------------------------------
-def ChangementValeurDsMCFAvecAvertissement(jdc, command, fact,motcle,DictNouvVal,liste):
+def changementValeurDsMCFAvecAvertissement(jdc, command, fact,motcle,DictNouvVal,liste):
#---------------------------------------------------------------------------------------
if command not in jdcSet : return
defaut=0
if liste[-1] == "defaut" :
defaut=1
- ChangementValeurDsMCF(jdc,command,fact,motcle,DictNouvVal,liste,defaut)
+ changementValeurDsMCF(jdc,command,fact,motcle,DictNouvVal,liste,defaut)
#--------------------------------------------------------------------------
-def ChangementValeurAvecAvertissement(jdc, command,motcle,DictNouvVal,liste):
+def changementValeurAvecAvertissement(jdc, command,motcle,DictNouvVal,liste):
#--------------------------------------------------------------------------
if command not in jdcSet : return
defaut=0
if liste[-1] == "defaut" :
defaut=1
- ChangementValeur(jdc,command,motcle,DictNouvVal,liste,defaut)
+ changementValeur(jdc,command,motcle,DictNouvVal,liste,defaut)
#--------------------------------------------------------------------------
-def SuppressionValeurs(jdc, command,motcle,liste):
+def suppressionValeurs(jdc, command,motcle,liste):
#--------------------------------------------------------------------------
if command not in jdcSet : return
if boolChange : jdc.reset(jdc.getSource())
#----------------------------------------------
-def AppelleMacroSelonValeurConcept(jdc,macro,genea):
+def appelleMacroSelonValeurConcept(jdc,macro,genea):
#----------------------------------------------
if macro not in jdcSet : return
boolChange=0
if boolChange : jdc.reset(jdc.getSource())
#----------------------------------------------
-def ChangeTouteValeur(jdc,command,motcle,DictNouvVal,liste=(),defaut=0):
+def changeTouteValeur(jdc,command,motcle,DictNouvVal,liste=(),defaut=0):
#----------------------------------------------
if macro not in jdcSet : return
boolChange=0
from Traducteur.load import jdcSet
-def EcritErreur(listeGena,ligne=None) :
+def ecritErreur(listeGena,ligne=None) :
from sys import dict_erreurs
maCle=""
for Mot in listeGena :
#except :
# pass
-def GenereErreurPourCommande(jdc,listeCommande) :
+def genereErreurPourCommande(jdc,listeCommande) :
commands= jdc.root.childNodes[:]
commands.reverse()
for c in commands:
if type(listeCommande)==list:
for Mot in listeCommande :
if c.name != Mot :continue
- EcritErreur((Mot,),c.lineno)
+ ecritErreur((Mot,),c.lineno)
else:
if c.name != listeCommande :continue
- EcritErreur((listeCommande,),c.lineno)
+ ecritErreur((listeCommande,),c.lineno)
-def GenereErreurMotCleInFact(jdc,command,fact,mocle):
+def genereErreurMotCleInFact(jdc,command,fact,mocle):
for c in jdc.root.childNodes:
if c.name != command:continue
for mc in c.childNodes:
if n.name != mocle:
continue
else :
- EcritErreur((command,fact,mocle,),c.lineno)
+ ecritErreur((command,fact,mocle,),c.lineno)
-def GenereErreurMCF(jdc,command,fact):
+def genereErreurMCF(jdc,command,fact):
for c in jdc.root.childNodes:
if c.name != command:continue
for mc in c.childNodes:
if mc.name != fact:
continue
else :
- EcritErreur((command,fact,),c.lineno)
+ ecritErreur((command,fact,),c.lineno)
-def GenereErreurValeur(jdc,command,fact,list_valeur):
+def genereErreurValeur(jdc,command,fact,list_valeur):
for c in jdc.root.childNodes:
if c.name != command:continue
for mc in c.childNodes:
if trouve > -1 :
logging.warning("%s doit etre supprimee ou modifiee dans %s : ligne %d",valeur,c.name,mc.lineno)
-def GenereErreurValeurDsMCF(jdc,command,fact,mocle,list_valeur):
+def genereErreurValeurDsMCF(jdc,command,fact,mocle,list_valeur):
for c in jdc.root.childNodes:
if c.name != command:continue
for mc in c.childNodes:
import logging
from Traducteur.parseur import FactNode
from Traducteur.load import jdcSet
-from Traducteur.dictErreurs import EcritErreur
+from Traducteur.dictErreurs import ecritErreur
from Traducteur import regles
debug=0
for c in commands:
if c.name != nomcommande:continue
if ensemble.verif(c) == 0 : continue
- if erreur : EcritErreur((nomcommande,nouveau),c.lineno)
+ if erreur : ecritErreur((nomcommande,nouveau),c.lineno)
boolChange=1
insereMotCle(jdc,c,texte)
if boolChange : jdc.reset(jdc.getSource())
chercheOperInsereFacteur(jdc,nomcommande,nouveau,mesRegles,estunFacteur,erreur=1)
#-------------------------------------------------------------------------------------------------
-def AjouteMotClefDansFacteur(jdc,commande,fact,nouveau,ensemble=regles.SansRegle, estunFacteur=0):
+def ajouteMotClefDansFacteur(jdc,commande,fact,nouveau,ensemble=regles.SansRegle, estunFacteur=0):
#-------------------------------------------------------------------------------------------------
# Cherche la commande
# Cherche le MCF
if boolChange : jdc.reset(jdc.getSource())
#-------------------------------------------------------------------------------------------
-def AjouteMotClefDansFacteurSiRegle(jdc,commande,fact,nouveau,liste_regles,estunFacteur=0):
+def ajouteMotClefDansFacteurSiRegle(jdc,commande,fact,nouveau,liste_regles,estunFacteur=0):
#-------------------------------------------------------------------------------------------
#
if commande not in jdcSet : return
mesRegles=regles.ensembleRegles(liste_regles)
- AjouteMotClefDansFacteur(jdc,commande,fact,nouveau,mesRegles,estunFacteur)
+ ajouteMotClefDansFacteur(jdc,commande,fact,nouveau,mesRegles,estunFacteur)
#-------------------------------------------------------------------------------------------
-def AjouteMotClefDansFacteurCourantSiRegle(jdc,commande,fact,nouveau,liste_regles):
+def ajouteMotClefDansFacteurCourantSiRegle(jdc,commande,fact,nouveau,liste_regles):
#-------------------------------------------------------------------------------------------
#
if commande not in jdcSet : return
def init(self,src,atraiter):
#---------------------------
# construction de self.lines
- self.root=parseur.Parser(src,atraiter)
+ self.root=parseur.parser(src,atraiter)
self.lines=src.splitlines(1)
def parseKeywords(self):
import compiler
import types
-from Traducteur.parseur import Keyword, FactNode, lastparen, lastparen2,maskStringsAndComments
+from Traducteur.parseur import Keyword, FactNode, lastParen, lastParen2,maskStringsAndComments
from Traducteur.visiteur import KeywordFinder, visitor
-from Traducteur.utils import indexToCoordinates, lineToDict, DictToLine
+from Traducteur.utils import indexToCoordinates, lineToDict, dictToLine
debug=0
def parseFact(match,c,kw):
#------------------------
submatch=match[2]
- lastpar=match[0]+lastparen(c.src[match[0]:])
+ lastpar=match[0]+lastParen(c.src[match[0]:])
if type(submatch[0][0]) ==types.IntType:
#mot cle facteur isolé
no=FactNode()
#mot cle facteur multiple
ii=0
for l in submatch:
- lastpar=l[0][0]+lastparen2(c.src[l[0][0]:])
+ lastpar=l[0][0]+lastParen2(c.src[l[0][0]:])
ii=ii+1
no=FactNode()
kw.addChild(no)
# dernier mocle :
# il commence au debut du dernier keyword
# (matchFinder.matches[i+1][0]) et
- # finit avant la parenthese fermante de la commande (c.lastparen)
+ # finit avant la parenthese fermante de la commande (c.lastParen)
- if debug:print "texte:",c.src[matchFinder.matches[i+1][0]:c.lastparen]
+ if debug:print "texte:",c.src[matchFinder.matches[i+1][0]:c.lastParen]
x,y=indexToCoordinates(c.src,matchFinder.matches[i+1][0])
lineno=y+c.lineno
colno=x
- x,y=indexToCoordinates(c.src,c.lastparen)
+ x,y=indexToCoordinates(c.src,c.lastParen)
endline=y+c.lineno
endcol=x
if debug:print matchFinder.matches[i+1][0],matchFinder.matches[i+1][1],lineno,colno,endline,endcol
#un seul mocle trouve :
# il commence au début du keyword (matchFinder.matches[0][0]) et
# finit juste avant la parenthese fermante de la
- # commande (c.lastparen)
- if debug:print "texte:",c.src[matchFinder.matches[0][0]:c.lastparen]
+ # commande (c.lastParen)
+ if debug:print "texte:",c.src[matchFinder.matches[0][0]:c.lastParen]
x,y=indexToCoordinates(c.src,matchFinder.matches[0][0])
lineno=y+c.lineno
colno=x
- x,y=indexToCoordinates(c.src,c.lastparen)
+ x,y=indexToCoordinates(c.src,c.lastParen)
endline=y+c.lineno
endcol=x
if debug:print matchFinder.matches[0][0],matchFinder.matches[0][1],lineno,colno,endline,endcol
import logging
from Traducteur import removemocle
from Traducteur import inseremocle
-from Traducteur.parseur import lastparen
+from Traducteur.parseur import lastParen
from Traducteur.load import jdcSet
debug=0
jdcSet.add(commandcible)
#-----------------------------------------------------
-def FusionMotCleToFact(jdc,command,liste_mc,factcible,defaut=0):
+def fusionMotCleToFact(jdc,command,liste_mc,factcible,defaut=0):
#-----------------------------------------------------
if command not in jdcSet : return
boolChange=0
jdc.reset(jdc.getSource())
#-----------------------------------------------------
-def FusionMotCleInFact(jdc,command,fact,liste_mc,new_name,defaut=0):
+def fusionMotCleInFact(jdc,command,fact,liste_mc,new_name,defaut=0):
#-----------------------------------------------------
if command not in jdcSet : return
boolChange=0
jdc.reset(jdc.getSource())
#-----------------------------------------------------
-def FusionMCFToMCF(jdc,command,liste_mcf,factcible,defaut=0):
+def fusionMCFToMCF(jdc,command,liste_mcf,factcible,defaut=0):
#-----------------------------------------------------
if command not in jdcSet : return
boolChange=0
#--------------------------------------------------------------------
-def EclaMotCleToFact(jdc,command,motcle,mot1,mot2,defaut=0):
+def eclaMotCleToFact(jdc,command,motcle,mot1,mot2,defaut=0):
#--------------------------------------------------------------------------
# exemple STA10 pesanteur devient MCF avec eclatement des valeurs dans les MC
# On suppose que le MC est sur une seule ligne
motcle1=mot1+"="+Ligne[0]
motcle2=mot2+"=("+Ligne[1]+','+Ligne[2]+','+Ligne[3]+')'
texte=motcle+'=_F('+motcle1+','+motcle2+')'
- num=lastparen(TexteMC)
+ num=lastParen(TexteMC)
Nouveau=MaLigneGlob.replace(TexteMC[0:num],texte)
jdc.getLines()[indexLigneGlob]=Nouveau
logging.info("Transformation de %s dans %s ligne %s",motcle,command,c.lineno)
printNode(c)
#------------------------
-def Parser(src,atraiter):
+def parser(src,atraiter):
#------------------------
"""Parse le texte src et retourne un arbre syntaxique (root).
c.src=src
c.endline=linenum
decal=len(line)-line.rindex(')')
- c.lastparen=len(src)-decal
+ c.lastParen=len(src)-decal
if debug:print "logical line %s %s:" % (c.lineno,c.endline),src
break
line=iterlines.next()
#-----------------
-def lastparen(src):
+def lastParen(src):
#-----------------
"""Retourne la position de la derniere parenthese fermante dans src a partir du debut de la string
return i
#-------------------
-def lastparen2(src):
+def lastParen2(src):
#-------------------
"""Retourne la position de la derniere parenthese fermante dans src a partir du debut de la string
import logging
from Traducteur import regles
from Traducteur.parseur import FactNode
-from Traducteur.dictErreurs import EcritErreur
+from Traducteur.dictErreurs import ecritErreur
from Traducteur.load import jdcSet
debug=0
for mc in c.childNodes:
if mc.name != mocle:continue
if ensemble.verif(c) == 0 : continue
- if erreur : EcritErreur((command,mocle),c.lineno)
+ if erreur : ecritErreur((command,mocle),c.lineno)
boolChange=1
removeMC(jdc,c,mc)
if c.name != command:continue
if ensemble.verif(c) == 0 : continue
boolChange=1
- if erreur : EcritErreur((command,),c.lineno)
+ if erreur : ecritErreur((command,),c.lineno)
jdc.supLignes(c.lineno,c.endline)
logging.warning("Suppression de %s ligne %s",c.name,c.lineno)
if boolChange : jdc.reset(jdc.getSource())
for n in ll.childNodes:
if n.name != mocle:continue
if ensemble.verif(c) == 0 : continue
- if erreur : EcritErreur((command,fact,mocle),c.lineno)
+ if erreur : ecritErreur((command,fact,mocle),c.lineno)
boolChange=1
removeMC(jdc,c,n)
if ensemble.verif(ll) == 0 : continue
for n in ll.childNodes:
if n.name != mocle:continue
- if erreur : EcritErreur((command,fact,mocle),c.lineno)
+ if erreur : ecritErreur((command,fact,mocle),c.lineno)
boolChange=1
removeMC(jdc,c,n)
from Traducteur.parseur import FactNode
from Traducteur.load import jdcSet
from Traducteur import regles
-from Traducteur.dictErreurs import EcritErreur
+from Traducteur.dictErreurs import ecritErreur
#debug=1
debug=0
boolChange=1
if debug:print "Renommage de:",c.name,mc.name,mc.lineno,mc.colno
if erreur :
- EcritErreur((command,mocle),c.lineno)
+ ecritErreur((command,mocle),c.lineno)
else :
logging.info("Renommage de: %s %s ligne %d en %s",c.name,mc.name,mc.lineno,new_name)
s=jdc.getLines()[mc.lineno-1]
jdc.getLines()[n.lineno-1]=s[:n.colno]+new_name+s[n.colno+len(mocle):]
boolChange=1
if erreur :
- EcritErreur((command,fact,mocle),c.lineno)
+ ecritErreur((command,fact,mocle),c.lineno)
else :
logging.info("Renommage de: %s, ligne %s, en %s",n.name,n.lineno,new_name)
jdc.getLines()[n.lineno-1]=s[:n.colno]+new_name+s[n.colno+len(mocle):]
boolChange=1
if erreur :
- EcritErreur((command,fact,mocle),c.lineno)
+ ecritErreur((command,fact,mocle),c.lineno)
else :
logging.info("Renommage de: %s, ligne %s, en %s",n.name,n.lineno,new_name)
#Parse les mocles des commandes
parseKeywords(root)
- GenereErreurPourCommande(jdc,("CALC_SENSI",))
+ genereErreurPourCommande(jdc,("CALC_SENSI",))
#### traitement des cas particuliers ##############################
moveMotCleFromFactToFact(jdc,"AFFE_CARA_ELEM","POUTRE","PREC_INERTIE","MULTIFIBRE")
removeMotCleInFact(jdc,"AFFE_CARA_ELEM","POUTRE","PREC_INERTIE",pasDeRegle(),0)
# Résorption de la sensibilité
- GenereErreurMotCleInFact(jdc,"AFFE_CARA_ELEM","COQUE","EPAIS_F")
- GenereErreurMotCleInFact(jdc,"AFFE_CARA_ELEM","DISCRET","VALE_F")
- GenereErreurMotCleInFact(jdc,"AFFE_CARA_ELEM","DISCRET_2D","VALE_F")
+ genereErreurMotCleInFact(jdc,"AFFE_CARA_ELEM","COQUE","EPAIS_F")
+ genereErreurMotCleInFact(jdc,"AFFE_CARA_ELEM","DISCRET","VALE_F")
+ genereErreurMotCleInFact(jdc,"AFFE_CARA_ELEM","DISCRET_2D","VALE_F")
# Suppression de GRILLE_NCOU
removeMotCleInFact(jdc,"AFFE_CARA_ELEM","GRILLE","GRILLE_NCOU",pasDeRegle(),0)
# Suppression de ORIG_AXE
renameMotCle(jdc,"AFFE_CHAR_MECA_F","EPSI_INIT","PRE_EPSI")
#### traitement de AFFE_CHAR_OPS011 ##############################
- GenereErreurPourCommande(jdc,("AFFE_CHAR_OPS011",))
+ genereErreurPourCommande(jdc,("AFFE_CHAR_OPS011",))
#### traitement de AFFE_CHAR_THER/_F ##############################
renameMotCle(jdc,"AFFE_CHAR_THER","GRAD_TEMP_INIT","PRE_GRAD_TEMP")
#### traitement de AFFE_MODELE ##############################
dXFEMCONT={"3D_XFEM_CONT":"3D","C_PLAN_XFEM_CONT":"C_PLAN","D_PLAN_XFEM_CONT":"D_PLAN"}
- ChangementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",dXFEMCONT)
+ changementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",dXFEMCONT)
#### traitement de ASSE_ELEM_SSD ##############################
# Rien à faire
"SIMU_POINT_MAT","STAT_NON_LINE","TEST_COMPOR",]
dPRED={"EXTRAPOL":"EXTRAPOLE"}
for com in lCOMMANDE :
- ChangementValeurDsMCF(jdc,com,"NEWTON","PREDICTION",dPRED)
+ changementValeurDsMCF(jdc,com,"NEWTON","PREDICTION",dPRED)
#### traitement de C_SOLVEUR ##############################
# Renommage de EXTRAPOL en EXTRAPOLE
lMETA=["DURT_ELNO"]
#SPMX_ELGA / NOM_CHAM / NOM_CMP
## Erreur pour les options supprimées
- GenereErreurValeur(jdc,"CALC_ELEM","OPTION",("'SICA_ELNO'","'EFCA_ELNO'","'PMPB_ELNO'","'PMPB_ELGA'",))
+ genereErreurValeur(jdc,"CALC_ELEM","OPTION",("'SICA_ELNO'","'EFCA_ELNO'","'PMPB_ELNO'","'PMPB_ELGA'",))
lCHANOPT={"SICO_ELNO":"SIGM_ELNO","EPTU_ELNO":"EPSI_ELNO","SITU_ELNO":"SIGM_ELNO","SITQ_ELNO":"SIGM_ELNO","EPTQ_ELNO":"EPSI_ELNO"}
- ChangementValeur(jdc,"CALC_ELEM","OPTION",lCHANOPT)
+ changementValeur(jdc,"CALC_ELEM","OPTION",lCHANOPT)
## copie de OPTION dans MCF TEMPORAIRE pour chaque type
chercheOperInsereFacteur(jdc,"CALC_CHAMP","TEMPORAIRE")
copyMotClefInOperToFact(jdc,"CALC_CHAMP","OPTION","TEMPORAIRE")
removeMotCleSiRegle(jdc,"CALC_CHAMP","ERREUR",((("ERREUR",lERREUR,jdc),"MCnaPasPourValeurDansListe"),))
removeMotCleSiRegle(jdc,"CALC_CHAMP","META",((("META",lMETA,jdc),"MCnaPasPourValeurDansListe"),))
## suppression des valeurs non-licites
- SuppressionValeurs(jdc,"CALC_CHAMP","CONTRAINTE",list(set(lTOUT)-set(lCONTRAINTE)))
- SuppressionValeurs(jdc,"CALC_CHAMP","DEFORMATION",list(set(lTOUT)-set(lDEFORMATION)))
- SuppressionValeurs(jdc,"CALC_CHAMP","ENERGIE",list(set(lTOUT)-set(lENERGIE)))
- SuppressionValeurs(jdc,"CALC_CHAMP","CRITERES",list(set(lTOUT)-set(lCRITERES)))
- SuppressionValeurs(jdc,"CALC_CHAMP","VARI_INTERNE",list(set(lTOUT)-set(lVARI_INTERNE)))
- SuppressionValeurs(jdc,"CALC_CHAMP","HYDRAULIQUE",list(set(lTOUT)-set(lHYDRAULIQUE)))
- SuppressionValeurs(jdc,"CALC_CHAMP","THERMIQUE",list(set(lTOUT)-set(lTHERMIQUE)))
- SuppressionValeurs(jdc,"CALC_CHAMP","ACOUSTIQUE",list(set(lTOUT)-set(lACOUSTIQUE)))
- SuppressionValeurs(jdc,"CALC_CHAMP","ERREUR",list(set(lTOUT)-set(lERREUR)))
- SuppressionValeurs(jdc,"CALC_CHAMP","META",list(set(lTOUT)-set(lMETA)))
+ suppressionValeurs(jdc,"CALC_CHAMP","CONTRAINTE",list(set(lTOUT)-set(lCONTRAINTE)))
+ suppressionValeurs(jdc,"CALC_CHAMP","DEFORMATION",list(set(lTOUT)-set(lDEFORMATION)))
+ suppressionValeurs(jdc,"CALC_CHAMP","ENERGIE",list(set(lTOUT)-set(lENERGIE)))
+ suppressionValeurs(jdc,"CALC_CHAMP","CRITERES",list(set(lTOUT)-set(lCRITERES)))
+ suppressionValeurs(jdc,"CALC_CHAMP","VARI_INTERNE",list(set(lTOUT)-set(lVARI_INTERNE)))
+ suppressionValeurs(jdc,"CALC_CHAMP","HYDRAULIQUE",list(set(lTOUT)-set(lHYDRAULIQUE)))
+ suppressionValeurs(jdc,"CALC_CHAMP","THERMIQUE",list(set(lTOUT)-set(lTHERMIQUE)))
+ suppressionValeurs(jdc,"CALC_CHAMP","ACOUSTIQUE",list(set(lTOUT)-set(lACOUSTIQUE)))
+ suppressionValeurs(jdc,"CALC_CHAMP","ERREUR",list(set(lTOUT)-set(lERREUR)))
+ suppressionValeurs(jdc,"CALC_CHAMP","META",list(set(lTOUT)-set(lMETA)))
## ajout CALC_META ou CALC_ERREUR
lMOTCLE=[]
lMOTCLE=["reuse","RESULTAT","TOUT_ORDRE","NUME_ORDRE","NUME_MODE","NOEUD_CMP","NOM_CAS",
removeMotCleInFactSiRegle(jdc,"CALC_G","COMP_INCR","SIGM_INIT",((("RELATION","ELAS",jdc),"MCnaPasPourValeur"),))
removeMotCle(jdc,"CALC_G","ETAT_INIT",pasDeRegle(),0)
# Renommage de l'option K_G_MODA en CALC_K_G
- ChangementValeur(jdc,"CALC_G","OPTION",{"K_G_MODA":"CALC_K_G",})
+ changementValeur(jdc,"CALC_G","OPTION",{"K_G_MODA":"CALC_K_G",})
# Suppression de EXCIT dans le cas elas_mult
removeMotCleSiRegle(jdc,"CALC_G","EXCIT",((("NOM_CAS",),"existe"),))
# Ajout règle UN_PARMI('THETA','FOND_FISS','FISSURE')
lERREUR=["ERME_NOEU","ERTH_NOEU","QIRE_NOEU",]
lMETA=["DURT_NOEU","META_NOEU",]
## Erreur pour les options supprimées
- GenereErreurValeur(jdc,"CALC_CHAMPNO","OPTION",("'SICA_NOEU'","'EFCA_NOEU'","'PMPB_NOEU'",))
- ChangementValeur(jdc,"CALC_CHAMPNO","OPTION",{"SICO_NOEU":"SIGM_NOEU",})
+ genereErreurValeur(jdc,"CALC_CHAMPNO","OPTION",("'SICA_NOEU'","'EFCA_NOEU'","'PMPB_NOEU'",))
+ changementValeur(jdc,"CALC_CHAMPNO","OPTION",{"SICO_NOEU":"SIGM_NOEU",})
## copie de OPTION dans MCF TEMPORAIRE pour chaque type
chercheOperInsereFacteur(jdc,"CALC_CHAMPNO","TEMPORAIRE")
copyMotClefInOperToFact(jdc,"CALC_CHAMPNO","OPTION","TEMPORAIRE")
removeMotCleSiRegle(jdc,"CALC_CHAMPNO","ERREUR",((("ERREUR",lERREUR,jdc),"MCnaPasPourValeurDansListe"),))
removeMotCleSiRegle(jdc,"CALC_CHAMPNO","META",((("META",lMETA,jdc),"MCnaPasPourValeurDansListe"),))
## suppression des valeurs non-licites
- SuppressionValeurs(jdc,"CALC_CHAMPNO","CONTRAINTE",list(set(lTOUT)-set(lCONTRAINTE)))
- SuppressionValeurs(jdc,"CALC_CHAMPNO","DEFORMATION",list(set(lTOUT)-set(lDEFORMATION)))
- SuppressionValeurs(jdc,"CALC_CHAMPNO","ENERGIE",list(set(lTOUT)-set(lENERGIE)))
- SuppressionValeurs(jdc,"CALC_CHAMPNO","CRITERES",list(set(lTOUT)-set(lCRITERES)))
- SuppressionValeurs(jdc,"CALC_CHAMPNO","VARI_INTERNE",list(set(lTOUT)-set(lVARI_INTERNE)))
- SuppressionValeurs(jdc,"CALC_CHAMPNO","THERMIQUE",list(set(lTOUT)-set(lTHERMIQUE)))
- SuppressionValeurs(jdc,"CALC_CHAMPNO","ACOUSTIQUE",list(set(lTOUT)-set(lACOUSTIQUE)))
- SuppressionValeurs(jdc,"CALC_CHAMPNO","FORCE",list(set(lTOUT)-set(lFORCE)))
- SuppressionValeurs(jdc,"CALC_CHAMPNO","ERREUR",list(set(lTOUT)-set(lERREUR)))
- SuppressionValeurs(jdc,"CALC_CHAMPNO","META",list(set(lTOUT)-set(lMETA)))
+ suppressionValeurs(jdc,"CALC_CHAMPNO","CONTRAINTE",list(set(lTOUT)-set(lCONTRAINTE)))
+ suppressionValeurs(jdc,"CALC_CHAMPNO","DEFORMATION",list(set(lTOUT)-set(lDEFORMATION)))
+ suppressionValeurs(jdc,"CALC_CHAMPNO","ENERGIE",list(set(lTOUT)-set(lENERGIE)))
+ suppressionValeurs(jdc,"CALC_CHAMPNO","CRITERES",list(set(lTOUT)-set(lCRITERES)))
+ suppressionValeurs(jdc,"CALC_CHAMPNO","VARI_INTERNE",list(set(lTOUT)-set(lVARI_INTERNE)))
+ suppressionValeurs(jdc,"CALC_CHAMPNO","THERMIQUE",list(set(lTOUT)-set(lTHERMIQUE)))
+ suppressionValeurs(jdc,"CALC_CHAMPNO","ACOUSTIQUE",list(set(lTOUT)-set(lACOUSTIQUE)))
+ suppressionValeurs(jdc,"CALC_CHAMPNO","FORCE",list(set(lTOUT)-set(lFORCE)))
+ suppressionValeurs(jdc,"CALC_CHAMPNO","ERREUR",list(set(lTOUT)-set(lERREUR)))
+ suppressionValeurs(jdc,"CALC_CHAMPNO","META",list(set(lTOUT)-set(lMETA)))
## ajout CALC_METANO ou CALC_ERREURNO
lMOTCLE=[]
lMOTCLE=["reuse","RESULTAT","TOUT_ORDRE","NUME_ORDRE","NUME_MODE","NOEUD_CMP","NOM_CAS",
#### traitement de CALC_PRECONT ##############################
# Renommage de IMPLEX
- ChangementValeur(jdc,"CALC_PRECONT","METHODE",{"IMPL_EX":"IMPLEX"})
+ changementValeur(jdc,"CALC_PRECONT","METHODE",{"IMPL_EX":"IMPLEX"})
removeMotCle(jdc,"CALC_PRECONT","IMPL_EX",pasDeRegle(),0)
#### traitement de CALC_SENSI ##############################
# Résorption de la sensibilité
removeCommande(jdc,"CALC_SENSI")
- #GenereErreurPourCommande(jdc,("CALC_SENSI",))
+ #genereErreurPourCommande(jdc,("CALC_SENSI",))
#### traitement de CALC_SPEC ##############################
# Déplacement d'un mot-clé facteur facteur
#### traitement de CALC_TABLE ##############################
# Renommage de AJOUT en AJOUT_LIGNE
dOPE={"AJOUT":"AJOUT_LIGNE",}
- ChangementValeurDsMCF(jdc,"CALC_TABLE","ACTION","OPERATION",dOPE)
+ changementValeurDsMCF(jdc,"CALC_TABLE","ACTION","OPERATION",dOPE)
# Résorption de la sensibilité
removeMotCle(jdc,"CALC_TABLE","SENSIBILITE",pasDeRegle(),0)
# Renommage critere table
dCRIT={"ABS_MAXI":"MAXI_ABS","ABS_MINI":"MINI_ABS"}
- ChangementValeurDsMCF(jdc,"CALC_TABLE","FILTRE","CRIT_COMP",dCRIT)
+ changementValeurDsMCF(jdc,"CALC_TABLE","FILTRE","CRIT_COMP",dCRIT)
#### traitement de CALC_THETA ##############################
# Résorption de la sensibilité
renameMotCle(jdc,"COMB_FOURIER","ANGL","ANGLE")
#### traitement de COMB_SISM_MODAL ##############################
- GenereErreurValeur(jdc,"COMB_SISM_MODAL","OPTION",("'EFCA_ELNO'",))
+ genereErreurValeur(jdc,"COMB_SISM_MODAL","OPTION",("'EFCA_ELNO'",))
#### traitement de CREA_CHAMP ##############################
removeMotCle(jdc,"CREA_CHAMP","SENSIBILITE",pasDeRegle(),0)
#### traitement de DEFI_COMPOR ##############################
# Suppression famille de sytèmes de glissement
lFAMGLIS=["'BASAL'", "'PRISMATIQUE'","'PYRAMIDAL1'","'PYRAMIDAL2'","'MACLAGE'",]
- GenereErreurValeurDsMCF(jdc,"DEFI_COMPOR","MONOCRISTAL","FAMI_SYST_GLIS",lFAMGLIS)
+ genereErreurValeurDsMCF(jdc,"DEFI_COMPOR","MONOCRISTAL","FAMI_SYST_GLIS",lFAMGLIS)
# Suppression famille de sytèmes de glissement
- GenereErreurValeurDsMCF(jdc,"DEFI_COMPOR","MONOCRISTAL","ECOULEMENT",("'MONO_VISC3'",))
+ genereErreurValeurDsMCF(jdc,"DEFI_COMPOR","MONOCRISTAL","ECOULEMENT",("'MONO_VISC3'",))
# Suppression de ALGO_1D
removeMotCleInFact(jdc,"DEFI_COMPOR","MULTIFIBRE","ALGO_1D",pasDeRegle(),0)
# Suppression de DEFORMATION
- GenereErreurMotCleInFact(jdc,"DEFI_COMPOR","MULTIFIBRE","DEFORMATION")
+ genereErreurMotCleInFact(jdc,"DEFI_COMPOR","MULTIFIBRE","DEFORMATION")
#### traitement de DEFI_CONTACT ##############################
- GenereErreurValeurDsMCF(jdc,"DEFI_CONTACT","ZONE","ALGO_CONT",("'AVANCE'",))
- GenereErreurValeurDsMCF(jdc,"DEFI_CONTACT","ZONE","ALGO_FROT",("'AVANCE'",))
+ genereErreurValeurDsMCF(jdc,"DEFI_CONTACT","ZONE","ALGO_CONT",("'AVANCE'",))
+ genereErreurValeurDsMCF(jdc,"DEFI_CONTACT","ZONE","ALGO_FROT",("'AVANCE'",))
# résorption de RACCORD_LINE_QUAD et éléments de Barsoum
- GenereErreurMCF(jdc,"DEFI_CONTACT","FOND_FISSURE")
- GenereErreurMCF(jdc,"DEFI_CONTACT","NOEUD_FOND")
- GenereErreurMCF(jdc,"DEFI_CONTACT","GROUP_NO_FOND")
- GenereErreurMCF(jdc,"DEFI_CONTACT","MAILLE_FOND")
- GenereErreurMCF(jdc,"DEFI_CONTACT","GROUP_MA_FOND")
- GenereErreurMCF(jdc,"DEFI_CONTACT","RACCORD_LINE_QUAD")
- GenereErreurMCF(jdc,"DEFI_CONTACT","NOEUD_RACC")
- GenereErreurMCF(jdc,"DEFI_CONTACT","GROUP_NO_RACC")
- GenereErreurMCF(jdc,"DEFI_CONTACT","EXCLUSION_PIV_NUL")
- GenereErreurMCF(jdc,"DEFI_CONTACT","COEF_ECHELLE")
+ genereErreurMCF(jdc,"DEFI_CONTACT","FOND_FISSURE")
+ genereErreurMCF(jdc,"DEFI_CONTACT","NOEUD_FOND")
+ genereErreurMCF(jdc,"DEFI_CONTACT","GROUP_NO_FOND")
+ genereErreurMCF(jdc,"DEFI_CONTACT","MAILLE_FOND")
+ genereErreurMCF(jdc,"DEFI_CONTACT","GROUP_MA_FOND")
+ genereErreurMCF(jdc,"DEFI_CONTACT","RACCORD_LINE_QUAD")
+ genereErreurMCF(jdc,"DEFI_CONTACT","NOEUD_RACC")
+ genereErreurMCF(jdc,"DEFI_CONTACT","GROUP_NO_RACC")
+ genereErreurMCF(jdc,"DEFI_CONTACT","EXCLUSION_PIV_NUL")
+ genereErreurMCF(jdc,"DEFI_CONTACT","COEF_ECHELLE")
# résorption de COMPLIANCE
- GenereErreurMCF(jdc,"DEFI_CONTACT","COMPLIANCE")
- GenereErreurMCF(jdc,"DEFI_CONTACT","ASPERITE")
- GenereErreurMCF(jdc,"DEFI_CONTACT","E_N")
- GenereErreurMCF(jdc,"DEFI_CONTACT","E_V")
+ genereErreurMCF(jdc,"DEFI_CONTACT","COMPLIANCE")
+ genereErreurMCF(jdc,"DEFI_CONTACT","ASPERITE")
+ genereErreurMCF(jdc,"DEFI_CONTACT","E_N")
+ genereErreurMCF(jdc,"DEFI_CONTACT","E_V")
# résorption de l'usure
- GenereErreurMCF(jdc,"DEFI_CONTACT","USURE")
- GenereErreurMCF(jdc,"DEFI_CONTACT","K")
- GenereErreurMCF(jdc,"DEFI_CONTACT","H")
+ genereErreurMCF(jdc,"DEFI_CONTACT","USURE")
+ genereErreurMCF(jdc,"DEFI_CONTACT","K")
+ genereErreurMCF(jdc,"DEFI_CONTACT","H")
# Suppression de schémas d'inégration pour XFEM
lSCHEMA=["FPG2","FPG3","FPG4","FPG6","FPG7","SIMPSON1","NCOTES1","NCOTES2"]
removeMotCleInFactSiRegle(jdc,"DEFI_CONTACT","ZONE","INTEGRATION",((("FORMULATION","XFEM",jdc),"MCaPourValeur")and(("ZONE","INTEGRATION",lSCHEMA,jdc),"MCsousMCFaPourValeurDansListe"),),)
removeMotCle(jdc,"DEFI_FISS_XFEM","ORIE_FOND",pasDeRegle(),0)
# Fusion FORM_FISS='ELLIPSE' et FORM_FISS='INCLUSION'
dFORME={"INCLUSION":"ELLIPSE",}
- ChangementValeurDsMCF(jdc,"DEFI_FISS_XFEM","DEFI_FISS","FORM_FISS",dOPE)
+ changementValeurDsMCF(jdc,"DEFI_FISS_XFEM","DEFI_FISS","FORM_FISS",dOPE)
#### traitement de DEFI_FONC_ELEC ##############################
# Rien à faire
#### traitement de DEFI_FOND_FISS ##############################
renameMotCle(jdc,"DEFI_FOND_FISS","FOND_FISS","FONDFISS")
# Cas FOND OUVERT
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_FOND_FISS","FONDFISS","TYPE_FOND='OUVERT'",((("FONDFISS",),"existe"),))
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_FOND_FISS","FONDFISS","TYPE_FOND='OUVERT'",((("FONDFISS",),"existe"),))
# Cas FOND FERME
chercheOperInsereFacteurSiRegle(jdc,"DEFI_FOND_FISS","TYPE_FOND='FERME'",((("FOND_FERME",),"existe"),),0)
renameMotCle(jdc,"DEFI_FOND_FISS","FOND_FERME","FONDFISS")
#### traitement de DEFI_LIST_INST ##############################
dMETHODE={"UNIFORME":"MANUEL","EXTRAPOLE":"MANUEL","AUCUNE":"AUTO"}
- ChangementValeurDsMCF(jdc,"DEFI_LIST_INST","ECHEC","SUBD_METHODE",dMETHODE)
+ changementValeurDsMCF(jdc,"DEFI_LIST_INST","ECHEC","SUBD_METHODE",dMETHODE)
removeMotCleInFact(jdc,"DEFI_LIST_INST","ECHEC","SUBD_COEF_PAS_1",pasDeRegle(),0)
#### traitement de DEFI_MATER_GC ##############################
#### traitement de DEFI_MATERIAU ##############################
# Suppression des critères pour les poutres
- GenereErreurMCF(jdc,"DEFI_MATERIAU","ECRO_FLEJOU")
- GenereErreurMCF(jdc,"DEFI_MATERIAU","VMIS_POUTRE")
- GenereErreurMCF(jdc,"DEFI_MATERIAU","VMIS_POUTRE_FO")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","ECRO_FLEJOU")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","VMIS_POUTRE")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","VMIS_POUTRE_FO")
# Modification de la loi de grandissement
- GenereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LEMAITRE_IRRA","GRAN_A")
- GenereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LEMAITRE_IRRA","GRAN_B")
- GenereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LEMAITRE_IRRA","GRAN_S")
- GenereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LMARC_IRRA","GRAN_A")
- GenereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LMARC_IRRA","GRAN_B")
- GenereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LMARC_IRRA","GRAN_S")
- GenereErreurMotCleInFact(jdc,"DEFI_MATERIAU","GRAN_IRRA_LOG","GRAN_A")
- GenereErreurMotCleInFact(jdc,"DEFI_MATERIAU","GRAN_IRRA_LOG","GRAN_B")
- GenereErreurMotCleInFact(jdc,"DEFI_MATERIAU","GRAN_IRRA_LOG","GRAN_S")
+ genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LEMAITRE_IRRA","GRAN_A")
+ genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LEMAITRE_IRRA","GRAN_B")
+ genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LEMAITRE_IRRA","GRAN_S")
+ genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LMARC_IRRA","GRAN_A")
+ genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LMARC_IRRA","GRAN_B")
+ genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","LMARC_IRRA","GRAN_S")
+ genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","GRAN_IRRA_LOG","GRAN_A")
+ genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","GRAN_IRRA_LOG","GRAN_B")
+ genereErreurMotCleInFact(jdc,"DEFI_MATERIAU","GRAN_IRRA_LOG","GRAN_S")
# Modification des paramètres de la loi ENDO_SCALAIRE
- GenereErreurMCF(jdc,"DEFI_MATERIAU","ENDO_SCALAIRE")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","ENDO_SCALAIRE")
# Modification des paramètres de la loi MAZARS
- GenereErreurMCF(jdc,"DEFI_MATERIAU","MAZARS")
- GenereErreurMCF(jdc,"DEFI_MATERIAU","MAZARS_FO")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","MAZARS")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","MAZARS_FO")
# Modification des paramètres de la loi GLRC_DM
renameMotCleInFact(jdc,"DEFI_MATERIAU","GLRC_DM","SYT","NYT",pasDeRegle(),0)
renameMotCleInFact(jdc,"DEFI_MATERIAU","GLRC_DM","SYC","NYC",pasDeRegle(),0)
renameMotCleInFact(jdc,"DEFI_MATERIAU","GLRC_DM","SYF","NYF",pasDeRegle(),0)
# Suppression de la loi MONO_VISC3
- GenereErreurMCF(jdc,"DEFI_MATERIAU","MONO_VISC3")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","MONO_VISC3")
# Suppression de la loi MONO_DD_CC
- GenereErreurMCF(jdc,"DEFI_MATERIAU","MONO_DD_CC")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","MONO_DD_CC")
#### traitement de DEFI_NAPPE ##############################
# Rien à faire
#### traitement de DEFI_PARA_SENSI ##############################
# Résorption de la sensibilité
removeCommande(jdc,"DEFI_PARA_SENSI")
- #GenereErreurPourCommande(jdc,("DEFI_PARA_SENSI",))
+ #genereErreurPourCommande(jdc,("DEFI_PARA_SENSI",))
#### traitement de DEFI_PART_FETI ##############################
# Rien à faire
# Rien à faire
#### traitement de DYNA_ISS_VARI ##############################
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"DYNA_ISS_VARI","MATR_COHE","TYPE='MITA_LUCO'",((("MATR_COHE",),"existe"),))
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"DYNA_ISS_VARI","MATR_COHE","TYPE='MITA_LUCO'",((("MATR_COHE",),"existe"),))
#### traitement de DYNA_LINE_HARM ##############################
# Résorption de la sensibilité
removeMotCle(jdc,"DYNA_LINE_TRAN","SENSIBILITE",pasDeRegle(),0)
# Ajout SCHEMA_TEMPS
chercheOperInsereFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS",((("NEWMARK","WILSON","DIFF_CENTRE","ADAPT",),"existeMCFParmi"),),1)
- AjouteMotClefDansFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","SCHEMA='NEWMARK'",((("NEWMARK",),"existeMCFParmi"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","SCHEMA='NEWMARK'",((("NEWMARK",),"existeMCFParmi"),))
moveMotCleFromFactToFact(jdc,"DYNA_LINE_TRAN","NEWMARK","ALPHA","SCHEMA_TEMPS")
moveMotCleFromFactToFact(jdc,"DYNA_LINE_TRAN","NEWMARK","DELTA","SCHEMA_TEMPS")
renameMotCleInFact(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","ALPHA","BETA",pasDeRegle(),0)
renameMotCleInFact(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","DELTA","GAMMA",pasDeRegle(),0)
removeMotCle(jdc,"DYNA_LINE_TRAN","NEWMARK",pasDeRegle(),0)
- AjouteMotClefDansFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","SCHEMA='WILSON'",((("WILSON",),"existeMCFParmi"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","SCHEMA='WILSON'",((("WILSON",),"existeMCFParmi"),))
moveMotCleFromFactToFact(jdc,"DYNA_LINE_TRAN","WILSON","THETA","SCHEMA_TEMPS")
removeMotCle(jdc,"DYNA_LINE_TRAN","WILSON",pasDeRegle(),0)
- AjouteMotClefDansFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","SCHEMA='DIFF_CENTRE'",((("DIFF_CENTRE",),"existeMCFParmi"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","SCHEMA='DIFF_CENTRE'",((("DIFF_CENTRE",),"existeMCFParmi"),))
removeMotCle(jdc,"DYNA_LINE_TRAN","DIFF_CENTRE",pasDeRegle(),0)
- AjouteMotClefDansFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","SCHEMA='ADAPT_ORDRE2'",((("ADAPT",),"existeMCFParmi"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_LINE_TRAN","SCHEMA_TEMPS","SCHEMA='ADAPT_ORDRE2'",((("ADAPT",),"existeMCFParmi"),))
removeMotCle(jdc,"DYNA_LINE_TRAN","ADAPT",pasDeRegle(),0)
# Renommage dans ETAT_INIT
renameMotCleInFact(jdc,"DYNA_LINE_TRAN","ETAT_INIT","DYNA_TRANS","RESULTAT",pasDeRegle(),0)
# Suppression mot-clé TYPE_CHARGE
removeMotCleInFact(jdc,"DYNA_LINE_TRAN","EXCIT","TYPE_CHARGE",pasDeRegle(),0)
# Suppression mot-clé FONC_INST
- GenereErreurMotCleInFact(jdc,"DYNA_LINE_TRAN","INCREMENT","FONC_INST")
+ genereErreurMotCleInFact(jdc,"DYNA_LINE_TRAN","INCREMENT","FONC_INST")
# Suppression mot-clé PAS_CALCUL
removeMotCleInFact(jdc,"DYNA_LINE_TRAN","INCREMENT","PAS_CALCUL",pasDeRegle(),0)
# Renommage dans ARCHIVAGE
#### traitement de EXTR_TABLE ##############################
# Renommage critere table
dCRIT={"ABS_MAXI":"MAXI_ABS","ABS_MINI":"MINI_ABS"}
- ChangementValeurDsMCF(jdc,"RECU_TABLE","FILTRE","CRIT_COMP",dCRIT)
+ changementValeurDsMCF(jdc,"RECU_TABLE","FILTRE","CRIT_COMP",dCRIT)
#### traitement de FACTORISER ##############################
# Suppression de RENUM
removeMotCle(jdc,"FACTORISER","LIBERE_MEMOIRE",pasDeRegle(),0)
renameMotCle(jdc,"FACTORISER","OUT_OF_CORE","GESTION_MEMOIRE")
dMEM={"OUI":"OUT_OF_CORE","NON":"IN_CORE"}
- ChangementValeur(jdc,"FACTORISER","GESTION_MEMOIRE",dCRIT)
+ changementValeur(jdc,"FACTORISER","GESTION_MEMOIRE",dCRIT)
#### traitement de FORMULE ##############################
# Rien à faire
# Résorption de la sensibilité
removeMotCleInFact(jdc,"IMPR_RESU","RESU","SENSIBILITE",pasDeRegle(),0)
# Suppression de l'écriture au format ENSIGHT
- GenereErreurValeur(jdc,"IMPR_RESU","FORMAT",("'ENSIGHT'",))
+ genereErreurValeur(jdc,"IMPR_RESU","FORMAT",("'ENSIGHT'",))
# Homogénéisation de ANGLE
renameMotCleInFact(jdc,"IMPR_RESU","FORMAT","ANGL","ANGLE",pasDeRegle(),0)
# Suppression mot-clé MODELE
renameMotCle(jdc,"IMPR_STURM","MATR_B","MATR_MASS")
#
chercheOperInsereMotCleSiRegle(jdc,"IMPR_STURM","FREQ_MIN=0.",((("FREQ_MIN",),"nexistepas")and(("FREQ_MAX",),"existeMCFParmi"),),)
- FusionMotCleToFact(jdc,"IMPR_STURM",("FREQ_MIN","FREQ_MAX"),"FREQ")
- FusionMotCleToFact(jdc,"IMPR_STURM",("CHAR_CRIT_MIN","CHAR_CRIT_MAX"),"CHAR_CRIT")
+ fusionMotCleToFact(jdc,"IMPR_STURM",("FREQ_MIN","FREQ_MAX"),"FREQ")
+ fusionMotCleToFact(jdc,"IMPR_STURM",("CHAR_CRIT_MIN","CHAR_CRIT_MAX"),"CHAR_CRIT")
# Ajout COMPTAGE
chercheOperInsereFacteurSiRegle(jdc,"IMPR_STURM","COMPTAGE",((("NMAX_ITER_SHIFT","PREC_SHIFT","SEUIL_FREQ"),"existeMCFParmi"),),1)
moveMotClefInOperToFact(jdc,"IMPR_STURM","NMAX_ITER_SHIFT","COMPTAGE")
removeMotCle(jdc,"IMPR_TABLE","SENSIBILITE",pasDeRegle(),0)
# Renommage critere table
dCRIT={"ABS_MAXI":"MAXI_ABS","ABS_MINI":"MINI_ABS"}
- ChangementValeurDsMCF(jdc,"IMPR_TABLE","FILTRE","CRIT_COMP",dCRIT)
+ changementValeurDsMCF(jdc,"IMPR_TABLE","FILTRE","CRIT_COMP",dCRIT)
# Suppression de FORMAT_C
- GenereErreurMCF(jdc,"IMPR_TABLE","FORMAT_C")
+ genereErreurMCF(jdc,"IMPR_TABLE","FORMAT_C")
#### traitement de INCLUDE ##############################
# Rien à faire
#### traitement de LIRE_RESU ##############################
# Suppression du type HARM_GENE
- GenereErreurValeur(jdc,"LIRE_RESU","TYPE_RESU",("'HARM_GENE'",))
+ genereErreurValeur(jdc,"LIRE_RESU","TYPE_RESU",("'HARM_GENE'",))
# renommage de MATR_A et MATR_B
renameMotCle(jdc,"LIRE_RESU","MATR_A","MATR_RIGI")
renameMotCle(jdc,"LIRE_RESU","MATR_B","MATR_MASS")
"'PMPB_ELNO'","'PMPB_NOEU'","'SITQ_ELNO'","'SICA_ELNO'",
"'SICO_ELNO'","'SITU_ELNO'","'SICA_NOEU'","'SICO_NOEU'",
"'SPMX_ELGA'","'VACO_ELNO'","'VATU_ELNO'",]
- GenereErreurValeurDsMCF(jdc,"LIRE_RESU","FORMAT_IDEAS","NOM_CHAM",lSUPCHAMPS)
- GenereErreurValeurDsMCF(jdc,"LIRE_RESU","FORMAT_MED","NOM_CHAM",lSUPCHAMPS)
- GenereErreurValeur(jdc,"LIRE_RESU","NOM_CHAM",lSUPCHAMPS)
+ genereErreurValeurDsMCF(jdc,"LIRE_RESU","FORMAT_IDEAS","NOM_CHAM",lSUPCHAMPS)
+ genereErreurValeurDsMCF(jdc,"LIRE_RESU","FORMAT_MED","NOM_CHAM",lSUPCHAMPS)
+ genereErreurValeur(jdc,"LIRE_RESU","NOM_CHAM",lSUPCHAMPS)
#### traitement de LIRE_TABLE ##############################
# Rien à faire
# Résorption de la sensibilité
removeMotCle(jdc,"MACR_ADAP_MAIL","SENSIBILITE",pasDeRegle(),0)
# Changement de version
- ChangementValeur(jdc,"MACR_ADAP_MAIL","VERSION_HOMARD",{"V10_1":"V10_6"})
+ changementValeur(jdc,"MACR_ADAP_MAIL","VERSION_HOMARD",{"V10_1":"V10_6"})
# Changement d'adaptation
- ChangementValeur(jdc,"MACR_ADAP_MAIL","ADAPTATION",{"RAFFINEMENT_ZONE":"RAFF_DERA_ZONE"})
+ changementValeur(jdc,"MACR_ADAP_MAIL","ADAPTATION",{"RAFFINEMENT_ZONE":"RAFF_DERA_ZONE"})
# Renommage du mot-clé ELEMENTS_NON_HOMARD
renameMotCle(jdc,"MACR_ADAP_MAIL","ELEMENTS_NON_HOMARD","ELEMENTS_ACCEPTES")
- ChangementValeur(jdc,"MACR_ADAP_MAIL","ELEMENTS_ACCEPTES",{"REFUSER":"HOMARD","IGNORER":"IGNORE_PYRA"})
+ changementValeur(jdc,"MACR_ADAP_MAIL","ELEMENTS_ACCEPTES",{"REFUSER":"HOMARD","IGNORER":"IGNORE_PYRA"})
#### traitement de MACR_ASCOUF_CALC ##############################
# Rien à faire
#### traitement de MACR_ECRE_CALC ##############################
# Changement de version
- ChangementValeur(jdc,"MACR_ECRE_CALC","VERSION",{"3.1.1":"3.2.1","3.1.2":"3.2.1","3.2":"3.2.1"})
+ changementValeur(jdc,"MACR_ECRE_CALC","VERSION",{"3.1.1":"3.2.1","3.1.2":"3.2.1","3.2":"3.2.1"})
#### traitement de MACR_ECREVISSE ##############################
# Changement de version
- ChangementValeur(jdc,"MACR_ECRE_CALC","VERSION",{"3.1.1":"3.2.1","3.1.2":"3.2.1","3.2":"3.2.1"})
+ changementValeur(jdc,"MACR_ECRE_CALC","VERSION",{"3.1.1":"3.2.1","3.1.2":"3.2.1","3.2":"3.2.1"})
#### traitement de MACR_ELEM_DYNA ##############################
# Rien à faire
#### traitement de MACR_FIABILITE ##############################
- GenereErreurPourCommande(jdc,("MACR_FIABILITE",))
+ genereErreurPourCommande(jdc,("MACR_FIABILITE",))
#### traitement de MACR_FIAB_IMPR ##############################
- GenereErreurPourCommande(jdc,("MACR_FIAB_IMPR",))
+ genereErreurPourCommande(jdc,("MACR_FIAB_IMPR",))
#### traitement de MACR_INFO_MAIL ##############################
# Changement de version
- ChangementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",{"V10_1":"V10_6"})
+ changementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",{"V10_1":"V10_6"})
# Renommage du mot-clé ELEMENTS_NON_HOMARD
renameMotCle(jdc,"MACR_INFO_MAIL","ELEMENTS_NON_HOMARD","ELEMENTS_ACCEPTES")
- ChangementValeur(jdc,"MACR_INFO_MAIL","ELEMENTS_ACCEPTES",{"REFUSER":"HOMARD","IGNORER":"IGNORE_PYRA"})
+ changementValeur(jdc,"MACR_INFO_MAIL","ELEMENTS_ACCEPTES",{"REFUSER":"HOMARD","IGNORER":"IGNORE_PYRA"})
#### traitement de MACR_LIGN_COUPE ##############################
# Rien à faire
"'QIRE_ELNO'","'QIZ1_ELEM'","'QIZ2_ELEM'","'EPEQ_ELGA'","'FORC_NODA'",
"'REAC_NODA'","'EPSI_NOEU'","'SIGM_NOEU'","'EFGE_NOEU'","'SIEQ_NOEU'",
"'EPEQ_NOEU'","'FLUX_NOEU'",]
- GenereErreurValeurDsMCF(jdc,"MACRO_ELAS_MULT","CAS_CHARGE","OPTION",lOPT)
+ genereErreurValeurDsMCF(jdc,"MACRO_ELAS_MULT","CAS_CHARGE","OPTION",lOPT)
#### traitement de MACRO_EXPANS ##############################
# Rien à faire
removeMotCleInFact(jdc,"MACRO_MATR_ASSE","SOLVEUR","OUT_OF_CORE",pasDeRegle(),0)
removeMotCleInFact(jdc,"MACRO_MATR_ASSE","SOLVEUR","LIBERE_MEMOIRE",pasDeRegle(),0)
# Suppression de RIGI_MECA_LAGR
- GenereErreurValeurDsMCF(jdc,"MACRO_MATR_ASSE","MATR_ASSE","OPTION",("'RIGI_MECA_LAGR'",))
- GenereErreurMotCleInFact(jdc,"MACRO_MATR_ASSE","MATR_ASSE","THETA")
- GenereErreurMotCleInFact(jdc,"MACRO_MATR_ASSE","MATR_ASSE","PROPAGATION")
+ genereErreurValeurDsMCF(jdc,"MACRO_MATR_ASSE","MATR_ASSE","OPTION",("'RIGI_MECA_LAGR'",))
+ genereErreurMotCleInFact(jdc,"MACRO_MATR_ASSE","MATR_ASSE","THETA")
+ genereErreurMotCleInFact(jdc,"MACRO_MATR_ASSE","MATR_ASSE","PROPAGATION")
# Renommage de la commande
renameCommande(jdc,"MACRO_MATR_ASSE","ASSEMBLAGE", )
renameMotCle(jdc,"MACRO_MODE_MECA","CALC_FREQ","CALCFREQ")
moveMotCleFromFactToFather(jdc,"MACRO_MODE_MECA","CALCFREQ","FREQ_MIN")
moveMotCleFromFactToFather(jdc,"MACRO_MODE_MECA","CALCFREQ","FREQ_MAX")
- FusionMotCleToFact(jdc,"MACRO_MODE_MECA",("FREQ_MIN","FREQ_MAX"),"FREQ")
+ fusionMotCleToFact(jdc,"MACRO_MODE_MECA",("FREQ_MIN","FREQ_MAX"),"FREQ")
moveMotClefInOperToFact(jdc,"MACRO_MODE_MECA","FREQ","CALCFREQ",)
renameMotCle(jdc,"MACRO_MODE_MECA","CALCFREQ","CALC_FREQ")
removeMotCleInFact(jdc,"MACRO_MODE_MECA","CALC_FREQ","NB_BLOC_FREQ",pasDeRegle(),0)
renameMotCleInFact(jdc,"MACRO_MODE_MECA","CALC_FREQ","STOP_FREQ_VIDE","STOP_BANDE_VIDE",pasDeRegle(),0)
# Renommage critere de Sturm
- ChangementValeurDsMCF(jdc,"MACRO_MODE_MECA","VERI_MODE","STURM",{"OUI":"GLOBAL",})
+ changementValeurDsMCF(jdc,"MACRO_MODE_MECA","VERI_MODE","STURM",{"OUI":"GLOBAL",})
#### traitement de MACRO_PROJ_BASE ##############################
renameMotCle(jdc,"MACRO_PROJ_BASE","PROFIL","STOCKAGE")
renameMotCleInFact(jdc,"MODE_STATIQUE","MODE_INTERF","FREQ","SHIFT",pasDeRegle(),0)
#### traitement de MODI_MODELE_XFEM ##############################
- GenereErreurValeur(jdc,"MODI_MODELE_XFEM","CONTACT",("'P1P1A'",))
+ genereErreurValeur(jdc,"MODI_MODELE_XFEM","CONTACT",("'P1P1A'",))
#### traitement de MODI_REPERE ##############################
# renommage de DEFI_REPERE
#### traitement de POST_FATIGUE ##############################
# Suppression du chargement periodique
- GenereErreurValeur(jdc,"POST_FATIGUE","CHARGEMENT",("'PERIODIQUE'",))
+ genereErreurValeur(jdc,"POST_FATIGUE","CHARGEMENT",("'PERIODIQUE'",))
#### traitement de POST_GP ##############################
# Suppression de POST_GP au profit de CALC_GP
- GenereErreurPourCommande(jdc,("POST_GP",))
+ genereErreurPourCommande(jdc,("POST_GP",))
#### traitement de POST_K1_K2_K3 ##############################
# Suppression de VECT_K1
#### traitement de POST_K_TRANS ##############################
# Suppression de la possibilité de donner un mode_meca
- GenereErreurMotCleInFact(jdc,"POST_K_TRANS","K_MODAL","RESU_MODA")
+ genereErreurMotCleInFact(jdc,"POST_K_TRANS","K_MODAL","RESU_MODA")
#### traitement de POST_MAC3COEUR ##############################
# Rien à faire, n'existe pas en 10
#### traitement de PROJ_BASE ##############################
# Suppression de RESU_GENE pour défaut de validation
- GenereErreurMCF(jdc,"PROJ_BASE","RESU_GENE")
+ genereErreurMCF(jdc,"PROJ_BASE","RESU_GENE")
#### traitement de PROJ_CHAMP ##############################
# Résorption de la sensibilité
#### traitement de PROJ_RESU_BASE ##############################
# Suppression de RESU_GENE pour défaut de validation
- GenereErreurMCF(jdc,"PROJ_RESU_BASE","RESU_GENE")
+ genereErreurMCF(jdc,"PROJ_RESU_BASE","RESU_GENE")
#### traitement de PROJ_SPEC_BASE ##############################
# Rien à faire
removeMotCle(jdc,"RECU_FONCTION","SENSIBILITE",pasDeRegle(),0)
# Renommage critere table
dCRIT={"ABS_MAXI":"MAXI_ABS","ABS_MINI":"MINI_ABS"}
- ChangementValeurDsMCF(jdc,"RECU_FONCTION","FILTRE","CRIT_COMP",dCRIT)
+ changementValeurDsMCF(jdc,"RECU_FONCTION","FILTRE","CRIT_COMP",dCRIT)
#### traitement de RECU_GENE ##############################
# Rien à faire
#### traitement de STAT_NON_LINE ##############################
# Renommage de IMPLEX
- ChangementValeur(jdc,"STAT_NON_LINE","METHODE",{"IMPL_EX":"IMPLEX"})
+ changementValeur(jdc,"STAT_NON_LINE","METHODE",{"IMPL_EX":"IMPLEX"})
removeMotCle(jdc,"STAT_NON_LINE","IMPL_EX",pasDeRegle(),0)
# Renommage CRIT_FLAMB en CRIT_STAB
renameMotCle(jdc,"STAT_NON_LINE","CRIT_FLAMB","CRIT_STAB")
log.ferme(hdlr)
def main():
- parser = optparse.OptionParser(usage=usage)
+ parser = optparse.Optionparser(usage=usage)
parser.add_option('-i','--infile', dest="infile", default='toto.comm',
help="Le fichier à traduire")
parseKeywords(root)
#### traitement de DEFI_PART_PA_OPS ##############################
- GenereErreurPourCommande(jdc,"DEFI_PART_PA_OPS")
+ genereErreurPourCommande(jdc,"DEFI_PART_PA_OPS")
#### traitement de AFFE_CARA_ELEM ##############################
- ChangementValeurDsMCFSiRegle(jdc,"AFFE_CARA_ELEM","POUTRE","CARA",{"R1":"R_DEBUT","R2":"R_FIN",
+ changementValeurDsMCFSiRegle(jdc,"AFFE_CARA_ELEM","POUTRE","CARA",{"R1":"R_DEBUT","R2":"R_FIN",
"EP1":"EP_DEBUT","EP2":"EP_FIN"},
((("POUTRE","MAILLE",),"nexistepasMCsousMCF"),
(("POUTRE","SECTION","CERCLE",jdc),"MCsousMCFaPourValeur"),
removeMotCleInFact(jdc,"AFFE_CHAR_MECA_F","LIAISON_SOLIDE","ANGL_NAUT",pasDeRegle(),0)
removeMotCleInFact(jdc,"AFFE_CHAR_MECA_F","LIAISON_SOLIDE","CENTRE",pasDeRegle(),0)
- GenereErreurMotCleInFact(jdc,"AFFE_CHAR_MECA_F","ONDE_PLANE","DIRECTION")
+ genereErreurMotCleInFact(jdc,"AFFE_CHAR_MECA_F","ONDE_PLANE","DIRECTION")
#### traitement de AFFE_CHAR_THER ##############################
# Suppression du mot-clé METHODE
dINCO.update(d3DINCO)
dINCO.update(dAXIS)
dINCO.update(dDPLAN)
- ChangementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",dINCO)
+ changementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",dINCO)
#### traitement de ASSEMBLAGE ##############################
- GenereErreurValeurDsMCF(jdc,"ASSEMBLAGE","MATR_ASSE","OPTION",("'MASS_THER'",))
+ genereErreurValeurDsMCF(jdc,"ASSEMBLAGE","MATR_ASSE","OPTION",("'MASS_THER'",))
#### traitement de CALC_ESSAI_GEOMECA ##############################
renameMotCleInFact(jdc,"CALC_ESSAI_GEOMECA","ESSAI_CISA_C","EPSI_IMPOSE","GAMMA_IMPOSE",pasDeRegle(),0)
#### traitement de CALC_EUROPLEXUS ##############################
removeMotCle(jdc,"CALC_EUROPLEXUS","DIME",pasDeRegle(),0)
- GenereErreurMCF(jdc,"CALC_EUROPLEXUS","FONC_PARASOL")
+ genereErreurMCF(jdc,"CALC_EUROPLEXUS","FONC_PARASOL")
removeMotCleInFact(jdc,"CALC_EUROPLEXUS","ARCHIVAGE","CONT_GENER")
#### traitement de CALC_FERRAILLAGE ##############################
- GenereErreurPourCommande(jdc,"CALC_FERRAILLAGE")
+ genereErreurPourCommande(jdc,"CALC_FERRAILLAGE")
#### traitement de CALC_FONCTION ##############################
- AjouteMotClefDansFacteur(jdc,"CALC_FONCTION","CORR_ACCE","METHODE='POLYNOME'",pasDeRegle(),0)
- GenereErreurMotCleInFact(jdc,"CALC_FONCTION","DSP","FREQ")
+ ajouteMotClefDansFacteur(jdc,"CALC_FONCTION","CORR_ACCE","METHODE='POLYNOME'",pasDeRegle(),0)
+ genereErreurMotCleInFact(jdc,"CALC_FONCTION","DSP","FREQ")
#### traitement de CALC_G ##############################
removeMotCleInFact(jdc,"CALC_G","COMP_ELAS","RESI_INTE_RELA",pasDeRegle(),0)
removeMotCleInFact(jdc,"CALC_G","COMP_ELAS","ITER_INTE_MAXI",pasDeRegle(),0)
#### traitement de CALC_FATIGUE ##############################
- ChangementValeur(jdc,"CALC_FATIGUE","COURBE_GRD_VIE",{"MANSON_C":"MANSON_COFFIN",})
+ changementValeur(jdc,"CALC_FATIGUE","COURBE_GRD_VIE",{"MANSON_C":"MANSON_COFFIN",})
#### traitement de CALC_IFS_DNL ##############################
removeMotCle(jdc,"CALC_IFS_DNL","ENERGIE",pasDeRegle(),0)
#### traitement de CALC_MAC3COEUR ##############################
- AjouteMotClefDansFacteur(jdc,"CALC_MAC3COEUR","DEFORMATION","ARCHIMEDE = 'OUI'",pasDeRegle())
+ ajouteMotClefDansFacteur(jdc,"CALC_MAC3COEUR","DEFORMATION","ARCHIMEDE = 'OUI'",pasDeRegle())
#### traitement de CALC_MATR_ELEM ##############################
- GenereErreurValeur(jdc,"CALC_MATR_ELEM","OPTION",("'MASS_THER'",))
+ genereErreurValeur(jdc,"CALC_MATR_ELEM","OPTION",("'MASS_THER'",))
#### traitement de CALC_MISS ##############################
- GenereErreurValeurDsMCF(jdc,"CALC_MISS","PARAMETRE","ISSF",("'OUI'",))
+ genereErreurValeurDsMCF(jdc,"CALC_MISS","PARAMETRE","ISSF",("'OUI'",))
#### traitement de CALC_MODAL ##############################
# renameCommande(jdc,"CALC_MODAL","CALC_MODES", )
- GenereErreurPourCommande(jdc,"CALC_MODAL")
+ genereErreurPourCommande(jdc,"CALC_MODAL")
#### traitement de CALC_VECT_ELEM ##############################
- GenereErreurValeur(jdc,"CALC_VECT_ELEM","OPTION",("'FORC_NODA'",))
+ genereErreurValeur(jdc,"CALC_VECT_ELEM","OPTION",("'FORC_NODA'",))
#### traitement de CREA_MAILLAGE ##############################
renameMotCle(jdc,"CREA_MAILLAGE","CREA_GROUP_MA","CREA_MAILLE")
- GenereErreurMCF(jdc,"CREA_MAILLAGE","ECLA_PG")
+ genereErreurMCF(jdc,"CREA_MAILLAGE","ECLA_PG")
lMCLEF=['COQU_VOLU', 'CREA_FISS', 'CREA_GROUP_MA', 'CREA_MAILLE', 'CREA_POI1',
'ECLA_PG', 'HEXA20_27', 'LINE_QUAD', 'MODI_MAILLE','QUAD_LINE',
'REPERE','RESTREINT','PENTA15_18']
- GenereErreurMCF(jdc,"CREA_MAILLAGE","DETR_GROUP_MA")
+ genereErreurMCF(jdc,"CREA_MAILLAGE","DETR_GROUP_MA")
removeMotCleInFactSiRegle(jdc,"CREA_MAILLAGE","DETR_GROUP_MA","NB_MAILLE",((lMCLEF,"nexistepasMCFParmi"),))
renameMotCleInFactSiRegle(jdc,"CREA_MAILLAGE","DETR_GROUP_MA","GROUP_MA","NOM",((lMCLEF,"nexistepasMCFParmi"),))
renameCommandeSiRegle(jdc,"CREA_MAILLAGE","DEFI_GROUP",((lMCLEF,"nexistepasMCFParmi"),))
#### traitement de DEBUT ##############################
- # GenereErreurPourCommande(jdc,("DEBUT",))
+ # genereErreurPourCommande(jdc,("DEBUT",))
removeMotCleInFact(jdc,"DEBUT","CODE","NOM",pasDeRegle(),0)
#### traitement de DEFI_COMPOR ##############################
- GenereErreurValeur(jdc,"DEFI_COMPOR","LOCALISATION",["'RL'",])
- GenereErreurValeur(jdc,"DEFI_COMPOR","RELATION_KIT",["'RVMIS_ISOT_CINE'",])
- GenereErreurValeurDsMCF(jdc,"DEFI_COMPOR","MULTIFIBRE","RELATION",["'LABORD_1D'"])
- GenereErreurMCF(jdc,"DEFI_COMPOR","POLYCRISTAL")
+ genereErreurValeur(jdc,"DEFI_COMPOR","LOCALISATION",["'RL'",])
+ genereErreurValeur(jdc,"DEFI_COMPOR","RELATION_KIT",["'RVMIS_ISOT_CINE'",])
+ genereErreurValeurDsMCF(jdc,"DEFI_COMPOR","MULTIFIBRE","RELATION",["'LABORD_1D'"])
+ genereErreurMCF(jdc,"DEFI_COMPOR","POLYCRISTAL")
#### traitement de DEFI_FISS_XFEM ##############################
- GenereErreurPourCommande(jdc,("DEFI_FISS_XFEM",))
+ genereErreurPourCommande(jdc,("DEFI_FISS_XFEM",))
removeMotCle(jdc,"DEFI_FISS_XFEM","MODELE",pasDeRegle(),0)
removeMotCle(jdc,"DEFI_FISS_XFEM","MODELE_GRILLE",pasDeRegle(),0)
#### traitement de DEFI_LIST_INST ##############################
- ChangementValeurDsMCF(jdc,"DEFI_LIST_INST","ECHEC","ACTION",{"REAC_PRECOND":"DECOUPE"})
+ changementValeurDsMCF(jdc,"DEFI_LIST_INST","ECHEC","ACTION",{"REAC_PRECOND":"DECOUPE"})
#### traitement de DEFI_MATER_GC ##############################
- AjouteMotClefDansFacteur(jdc,"DEFI_MATER_GC","MAZARS","CODIFICATION='ESSAI'",pasDeRegle(),0)
+ ajouteMotClefDansFacteur(jdc,"DEFI_MATER_GC","MAZARS","CODIFICATION='ESSAI'",pasDeRegle(),0)
removeMotCleInFactSiRegle(jdc,"DEFI_MATER_GC","MAZARS","UNITE_LONGUEUR",
((("MAZARS","CODIFICATION",["ESSAI"],jdc),"MCsousMCFaPourValeurDansListe"),),)
renameMotCleInFact(jdc,"DEFI_MATER_GC","MAZARS","UNITE_LONGUEUR","UNITE_CONTRAINTE")
- ChangementValeurDsMCF(jdc,"DEFI_MATER_GC","MAZARS","UNITE_CONTRAINTE",{"MM":"MPa"})
- ChangementValeurDsMCF(jdc,"DEFI_MATER_GC","MAZARS","UNITE_CONTRAINTE",{"M":"Pa"})
+ changementValeurDsMCF(jdc,"DEFI_MATER_GC","MAZARS","UNITE_CONTRAINTE",{"MM":"MPa"})
+ changementValeurDsMCF(jdc,"DEFI_MATER_GC","MAZARS","UNITE_CONTRAINTE",{"M":"Pa"})
- GenereErreurMCF(jdc,"DEFI_MATER_GC","MAZARS")
+ genereErreurMCF(jdc,"DEFI_MATER_GC","MAZARS")
#### traitement de DEFI_MATERIAU ##############################
lMLA=["F_MRR_RR", "C_MRR_RR", "F_MTT_TT", "C_MTT_TT", "F_MZZ_ZZ",
removeMotCleInFact(jdc,"DEFI_MATERIAU","UMAT","NB_VALE",pasDeRegle(),0)
removeMotCleInFact(jdc,"DEFI_MATERIAU","UMAT_FO","NB_VALE",pasDeRegle(),0)
liste_mc=["C"+str(i) for i in range(1,198)]
- FusionMotCleInFact(jdc,"DEFI_MATERIAU","UMAT",liste_mc,"LISTE_COEF")
- FusionMotCleInFact(jdc,"DEFI_MATERIAU","UMAT_FO",liste_mc,"LISTE_COEF")
+ fusionMotCleInFact(jdc,"DEFI_MATERIAU","UMAT",liste_mc,"LISTE_COEF")
+ fusionMotCleInFact(jdc,"DEFI_MATERIAU","UMAT_FO",liste_mc,"LISTE_COEF")
removeMotCle(jdc,"DEFI_MATERIAU","LABORD_1D",pasDeRegle(),0)
- GenereErreurMCF(jdc,"DEFI_MATERIAU","DIS_VISC")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","DIS_VISC")
lDISC=["PUIS_DX", "PUIS_DY", "PUIS_DZ", "PUIS_RX", "PUIS_RY", "PUIS_RZ",
"COEF_DX", "COEF_DY", "COEF_DZ", "COEF_RX", "COEF_RY", "COEF_RZ"]
for param in lDISC:
removeMotCleInFact(jdc,"DEFI_MATERIAU","GLRC_DM","EF",pasDeRegle(),0)
removeMotCleInFact(jdc,"DEFI_MATERIAU","GLRC_DM","NUF",pasDeRegle(),0)
- GenereErreurMCF(jdc,"DEFI_MATERIAU","THER_FO")
- GenereErreurMCF(jdc,"DEFI_MATERIAU","THER_NL")
- GenereErreurMCF(jdc,"DEFI_MATERIAU","THER_HYDR")
- GenereErreurMCF(jdc,"DEFI_MATERIAU","THER_COQUE")
- GenereErreurMCF(jdc,"DEFI_MATERIAU","THER_COQUE_FO")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","THER_FO")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","THER_NL")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","THER_HYDR")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","THER_COQUE")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","THER_COQUE_FO")
#### traitement de DEFI_OBSTACLE ##############################
"GUID_B_GCOMB_900","GUID_C_GCOMB_900","GUID_D_GCOMB_900","GUID_E_GCOMB_900",
"GUID_F_GCOMB_900","GUID_A_GCOMB_1300","GUID_B_GCOMB_1300","GUID_C_GCOMB_1300",
"GUID_D_GCOMB_1300","GUID_E_GCOMB_1300","GUID_F_GCOMB_1300",)
- GenereErreurValeur(jdc,"DEFI_OBSTACLE","TYPE",lMCLE)
+ genereErreurValeur(jdc,"DEFI_OBSTACLE","TYPE",lMCLE)
#### traitement de DYNA_TRAN_MODAL ##############################
removeMotCle(jdc,"DYNA_TRAN_MODAL","LAME_FLUIDE",pasDeRegle(),0)
removeMotCle(jdc,"DYNA_VIBRA","RELA_TRANSIS",pasDeRegle(),0)
#### traitement de EXTR_TABLE ##############################
- ChangementValeurDsMCF(jdc,"EXTR_TABLE","FILTRE","VALE_K",{"MATR_ELEM":"MATR_TANG_ELEM"})
- ChangementValeurDsMCF(jdc,"EXTR_TABLE","FILTRE","VALE_K",{"CODE_RETOUR":"CODE_RETOUR_INTE"})
+ changementValeurDsMCF(jdc,"EXTR_TABLE","FILTRE","VALE_K",{"MATR_ELEM":"MATR_TANG_ELEM"})
+ changementValeurDsMCF(jdc,"EXTR_TABLE","FILTRE","VALE_K",{"CODE_RETOUR":"CODE_RETOUR_INTE"})
#### traitement de FACTORISER ##############################
renameMotCle(jdc,"FACTORISER","ELIM_LAGR2","ELIM_LAGR")
- ChangementValeur(jdc,"FACTORISER","ELIM_LAGR",{"OUI":"LAGR2",})
+ changementValeur(jdc,"FACTORISER","ELIM_LAGR",{"OUI":"LAGR2",})
#### traitement de GENE_ACCE_SEISME ##############################
- GenereErreurMCF(jdc,"GENE_ACCE_SEISME","MODULATION")
+ genereErreurMCF(jdc,"GENE_ACCE_SEISME","MODULATION")
moveMotCleFromFactToFather(jdc,"GENE_ACCE_SEISME","MODULATION","DUREE_PHASE_FORTE")
removeMotCleInFact(jdc,"GENE_ACCE_SEISME","DSP","FREQ_PENTE")
#### traitement de IMPR_MISS_3D ##############################
- GenereErreurPourCommande(jdc,"IMPR_MISS_3D")
+ genereErreurPourCommande(jdc,"IMPR_MISS_3D")
# removeCommande(jdc,"IMPR_MISS_3D")
#### traitement de IMPR_RESU ##############################
removeMotCle(jdc,"IMPR_RESU","RESTREINT",pasDeRegle(),0)
#### traitement de INFO_FONCTION ##############################
- GenereErreurMCF(jdc,"INFO_FONCTION","NOCI_SEISME")
+ genereErreurMCF(jdc,"INFO_FONCTION","NOCI_SEISME")
#### traitement de LIRE_MAILLAGE ##############################
removeMotCle(jdc,"LIRE_MAILLAGE","ABSC_CURV",pasDeRegle(),0)
#### traitement de LIRE_MISS_3D ##############################
- GenereErreurPourCommande(jdc,"LIRE_MISS_3D")
+ genereErreurPourCommande(jdc,"LIRE_MISS_3D")
#### traitement de MACR_ASCOUF_CALC ##############################
removeMotCle(jdc,"MACR_ASCOUF_CALC","CL_BOL_P2_GV",pasDeRegle(),0)
- # GenereErreurMCF(jdc,"MACR_ASCOUF_CALC","COMP_ELAS")
+ # genereErreurMCF(jdc,"MACR_ASCOUF_CALC","COMP_ELAS")
#### traitement de MACR_ASCOUF_MAIL ##############################
- GenereErreurValeurDsMCF(jdc,"MACR_ASCOUF_MAIL","COUDE","BOL_P2",("'GV'",))
+ genereErreurValeurDsMCF(jdc,"MACR_ASCOUF_MAIL","COUDE","BOL_P2",("'GV'",))
#### traitement de MACR_ASPIC_CALC ##############################
- # GenereErreurMCF(jdc,"MACR_ASPIC_CALC","COMP_ELAS")
+ # genereErreurMCF(jdc,"MACR_ASPIC_CALC","COMP_ELAS")
#### traitement de MACR_ECREVISSE ##############################
- GenereErreurMCF(jdc,"MACR_ECREVISSE","COMP_INCR")
+ genereErreurMCF(jdc,"MACR_ECREVISSE","COMP_INCR")
#### traitement de MACR_INFO_MAIL ##############################
- ChangementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",{"V10_6":"V11_2"})
- ChangementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",{"V10_N":"V11_N"})
- ChangementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",{"V10_N_PERSO":"V11_N_PERSO"})
+ changementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",{"V10_6":"V11_2"})
+ changementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",{"V10_N":"V11_N"})
+ changementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",{"V10_N_PERSO":"V11_N_PERSO"})
#### traitement de MACRO_BASCULE_SCHEMA ##############################
renameMotCle(jdc,"MACRO_BASCULE_SCHEMA","COMP_INCR_IMPL","COMPORTEMENT_IMPL",pasDeRegle())
renameMotCle(jdc,"MACRO_BASCULE_SCHEMA","COMP_INCR_EXPL","COMPORTEMENT_EXPL",pasDeRegle())
#### traitement de MACRO_MISS_3D ##############################
- GenereErreurPourCommande(jdc,"MACRO_MISS_3D")
+ genereErreurPourCommande(jdc,"MACRO_MISS_3D")
#### traitement de MACRO_MODE_MECA ##############################
# insereMotCleDansCommande(jdc,"MACRO_MODE_MECA","TYPE_RESU='DYNAMIQUE'")
removeMotCleSiRegle(jdc,"MODE_ITER_SIMULT","OPTION",((("METHODE","TRI_DIAG",jdc),"MCnaPasPourValeur"),),)
removeMotCleSiRegle(jdc,"MODE_ITER_SIMULT","OPTION",((("OPTION","SANS",jdc),"MCaPourValeur"),),)
moveMotClefInOperToFact(jdc,"MODE_ITER_SIMULT","OPTION","SOLVEUR_MODAL")
- ChangementValeurDsMCF(jdc,"MODE_ITER_SIMULT","SOLVEUR_MODAL","OPTION",{"MODE_RIGIDE":"OUI"})
+ changementValeurDsMCF(jdc,"MODE_ITER_SIMULT","SOLVEUR_MODAL","OPTION",{"MODE_RIGIDE":"OUI"})
renameMotCleInFact(jdc,"MODE_ITER_SIMULT","SOLVEUR_MODAL","OPTION","MODE_RIGIDE")
moveMotCleFromFactToFather(jdc,"MODE_ITER_SIMULT","CALC_FREQ","OPTION")
moveMotCleFromFactToFather(jdc,"MODE_ITER_SIMULT","CALC_CHAR_CRIT","OPTION")
renameCommande(jdc,"MODE_ITER_SIMULT","CALC_MODES", )
#### traitement de MODI_MAILLAGE ##############################
- GenereErreurValeurDsMCF(jdc,"MODI_MAILLAGE","DEFORME","OPTION",("'TRAN_APPUI'",))
+ genereErreurValeurDsMCF(jdc,"MODI_MAILLAGE","DEFORME","OPTION",("'TRAN_APPUI'",))
removeMotCleInFact(jdc,"MODI_MAILLAGE","DEFORME",["GROUP_NO_APPUI"],pasDeRegle(),0)
removeMotCleInFact(jdc,"MODI_MAILLAGE","DEFORME",["GROUP_NO_STRU"],pasDeRegle(),0)
#### traitement de MODI_MODELE_XFEM ##############################
- ChangementValeur(jdc,"MODI_MODELE_XFEM","CONTACT",{"P1P1":"STANDARD",})
- ChangementValeur(jdc,"MODI_MODELE_XFEM","CONTACT",{"P2P1":"STANDARD",})
+ changementValeur(jdc,"MODI_MODELE_XFEM","CONTACT",{"P1P1":"STANDARD",})
+ changementValeur(jdc,"MODI_MODELE_XFEM","CONTACT",{"P2P1":"STANDARD",})
#### traitement de POST_DYNA_ALEA ##############################
moveMotClefInOperToFact(jdc,"POST_DYNA_ALEA",mcle,"INTERSPECTRE")
removeMotCle(jdc,"POST_DYNA_ALEA","TOUT_ORDRE",pasDeRegle(),0)
- AjouteMotClefDansFacteur(jdc,"POST_DYNA_ALEA","FRAGILITE","METHODE = 'EMV'",pasDeRegle())
+ ajouteMotClefDansFacteur(jdc,"POST_DYNA_ALEA","FRAGILITE","METHODE = 'EMV'",pasDeRegle())
#### traitement de POST_ELEM ##############################
- AjouteMotClefDansFacteurSiRegle(jdc,"POST_ELEM","VOLUMOGRAMME","NB_INTERV=5",
+ ajouteMotClefDansFacteurSiRegle(jdc,"POST_ELEM","VOLUMOGRAMME","NB_INTERV=5",
((("VOLUMOGRAMME","NB_INTERV",),"nexistepasMCsousMCF"),),)
#### traitement de POST_FATIGUE ##############################
- ChangementValeur(jdc,"POST_FATIGUE","DOMMAGE",{"MANSON_C":"MANSON_COFFIN",})
+ changementValeur(jdc,"POST_FATIGUE","DOMMAGE",{"MANSON_C":"MANSON_COFFIN",})
#### traitement de POURSUITE ##############################
removeMotCle(jdc,"POURSUITE","CODE",)#"NOM",pasDeRegle(),0)
#### traitement de RECU_FONCTION ##############################
- GenereErreurMCF(jdc,"RECU_FONCTION","TABLE")
+ genereErreurMCF(jdc,"RECU_FONCTION","TABLE")
#### traitement de C_COMP_INCR et C_COMP_ELAS ##############################
lCOM=["CALCUL","STAT_NON_LINE","CALC_G", "CALC_PRECONT","DYNA_NON_LINE","CALC_META",
"MACR_ASCOUF_CALC","MACR_ASPIC_CALC","CALC_EUROPLEXUS","MACR_ECREVISSE",]
for com in lCOM:
# chercheOperInsereFacteurSiRegle(jdc,com,"COMPORTEMENT",(((["COMPORTEMENT"],),"nexistepasMCFParmi"),),1)
- FusionMCFToMCF(jdc,com,["COMP_ELAS","COMP_INCR"],"COMPORTEMENT")
+ fusionMCFToMCF(jdc,com,["COMP_ELAS","COMP_INCR"],"COMPORTEMENT")
# renameMotCle(jdc,com,"COMP_ELAS","COMPORTEMENT")
# renameMotCle(jdc,com,"COMP_INCR","COMPORTEMENT")
chercheOperInsereFacteurSiRegle(jdc,com,"ETAT_INIT",((("COMPORTEMENT","SIGM_INIT",),"existeMCsousMCF"),),1)
renameMotCleInFact(jdc,com,"ETAT_INIT","SIGM_INIT","SIGM",pasDeRegle(),0)
removeMotCleInFact(jdc,com,"COMPORTEMENT","SIGM_INIT",pasDeRegle(),0)
- ChangementValeur(jdc,com,"OPTION",{"FORC_INT_ELEM":"FORC_INTE_ELEM"})
+ changementValeur(jdc,com,"OPTION",{"FORC_INT_ELEM":"FORC_INTE_ELEM"})
removeMotCleInFactSiRegle(jdc,com,"COMPORTEMENT","NB_VARI",((("COMPORTEMENT","RELATION","'MFRONT'",jdc),"MCsousMCFaPourValeur"),))
#### traitement de TEST_COMPOR ##############################
- GenereErreurPourCommande(jdc,"TEST_COMPOR")
+ genereErreurPourCommande(jdc,"TEST_COMPOR")
#### traitement de THER_NON_LINE ##############################
renameMotCle(jdc,"THER_NON_LINE","COMP_THER_NL","COMPORTEMENT")
'STAT_NON_LINE', 'THER_LINEAIRE', 'THER_NON_LINE', 'THER_NON_LINE_MO', 'CALC_ERC_DYN','CALC_MODES',]
for com in lCOM:
# Suppression de ELIM_LAGR2
- ChangementValeurDsMCF(jdc,com,"SOLVEUR","ELIM_LAGR2",{"OUI":"LAGR2"})
+ changementValeurDsMCF(jdc,com,"SOLVEUR","ELIM_LAGR2",{"OUI":"LAGR2"})
removeMotCleInFactSiRegle(jdc,com,"SOLVEUR","ELIM_LAGR2",((("SOLVEUR","ELIM_LAGR2","NON",jdc),"MCsousMCFaPourValeur"),))
renameMotCleInFact(jdc,com,"SOLVEUR","ELIM_LAGR2","ELIM_LAGR")
# Suppression de la méthode FETI
- GenereErreurValeurDsMCF(jdc,com,"SOLVEUR","METHODE",["FETI"])
+ genereErreurValeurDsMCF(jdc,com,"SOLVEUR","METHODE",["FETI"])
lMCLE=["NB_REORTHO_DD","NMAX_ITER","INFO_FETI","RESI_RELA","PARTITION"]
for mocle in lMCLE:
- GenereErreurMotCleInFact(jdc,com,"SOLVEUR",mocle)
+ genereErreurMotCleInFact(jdc,com,"SOLVEUR",mocle)
#### traitement de DEFI_PART_FETI ##############################
- GenereErreurMCF(jdc,"DEFI_PART_FETI","EXCIT")
+ genereErreurMCF(jdc,"DEFI_PART_FETI","EXCIT")
removeMotCle(jdc,"DEFI_PART_FETI","EXCIT",pasDeRegle(),0)
removeMotCle(jdc,"DEFI_PART_FETI","CORRECTION_CONNEX",pasDeRegle(),0)
- GenereErreurPourCommande(jdc,"DEFI_PART_FETI")
+ genereErreurPourCommande(jdc,"DEFI_PART_FETI")
renameCommande(jdc,"DEFI_PART_FETI","DEFI_PARTITION", )
#################################################################
log.ferme(hdlr)
def main():
- parser = optparse.OptionParser(usage=usage)
+ parser = optparse.Optionparser(usage=usage)
parser.add_option('-i','--infile', dest="infile", default='toto.comm',
help="Le fichier à traduire")
from inseremocle import *
from changeValeur import *
from movemocle import *
-from dictErreurs import GenereErreurPourCommande,GenereErreurMotCleInFact
+from dictErreurs import genereErreurPourCommande,genereErreurMotCleInFact
import calcG
parseKeywords(root)
####################### traitement erreurs ########################
- GenereErreurPourCommande(jdc,("DEBUT","POST_RCCM","DIST_LIGN_3D","IMPR_OAR","COMB_CHAM_NO","COMB_CHAM_ELEM"))
+ genereErreurPourCommande(jdc,("DEBUT","POST_RCCM","DIST_LIGN_3D","IMPR_OAR","COMB_CHAM_NO","COMB_CHAM_ELEM"))
####################### traitement CALC_META #######################
renameMotCleInFact(jdc,"CALC_META","ETAT_INIT","META_INIT","META_INIT_ELNO")
dStatNonLine={"ELAS":"ELAS_THER"}
lavertit=("ELAS")
- ChangementValeurDsMCFAvecAvertissement(jdc,"STAT_NON_LINE","COMP_INCR","RELATION_KIT",dStatNonLine,lavertit)
+ changementValeurDsMCFAvecAvertissement(jdc,"STAT_NON_LINE","COMP_INCR","RELATION_KIT",dStatNonLine,lavertit)
lavertit=("CHABOCHE","ASSE_COMBU","OHNO","GLRC")
dchaboche={"CHABOCHE":"VMIS_CIN1_CHAB","ASSE_COMBU":"XXX_IRA","OHNO":"VISC_TAHERI","GLRC":"GLRC_DAMAGE"}
- ChangementValeurDsMCFAvecAvertissement(jdc,"STAT_NON_LINE","COMP_INCR","RELATION",dchaboche,lavertit)
- ChangementValeurDsMCFAvecAvertissement(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION",dchaboche,lavertit)
+ changementValeurDsMCFAvecAvertissement(jdc,"STAT_NON_LINE","COMP_INCR","RELATION",dchaboche,lavertit)
+ changementValeurDsMCFAvecAvertissement(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION",dchaboche,lavertit)
removeMotCleInFactSiRegle(jdc,"STAT_NON_LINE","INCREMENT","SUBD_PAS_MINI",((("INCREMENT","SUBD_PAS","1",jdc),"MCsousMCFaPourValeur"),))
removeMotCleInFactSiRegle(jdc,"STAT_NON_LINE","INCREMENT","COEF_SUBD_PAS_1",((("INCREMENT","SUBD_PAS","1",jdc),"MCsousMCFaPourValeur"),))
removeMotCleInFactSiRegleAvecErreur(jdc,"STAT_NON_LINE","INCREMENT","SUBD_PAS",((("INCREMENT","SUBD_PAS","1",jdc),"MCsousMCFaPourValeur"),))
- AjouteMotClefDansFacteurSiRegle(jdc,"STAT_NON_LINE","INCREMENT","SUBD_METHODE='UNIFORME',",((("INCREMENT","SUBD_PAS"),"existeMCsousMCF"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"STAT_NON_LINE","INCREMENT","SUBD_METHODE='UNIFORME',",((("INCREMENT","SUBD_PAS"),"existeMCsousMCF"),))
renameMotCleInFact(jdc,"STAT_NON_LINE","INCREMENT","COEF_SUBD_PAS_1","SUBD_COEF_PAS_1")
removeMotCleInFactSiRegle(jdc,"DYNA_NON_LINE","INCREMENT","SUBD_PAS_MINI",((("INCREMENT","SUBD_PAS","1",jdc),"MCsousMCFaPourValeur"),))
removeMotCleInFactSiRegle(jdc,"DYNA_NON_LINE","INCREMENT","COEF_SUBD_PAS_1",((("INCREMENT","SUBD_PAS","1",jdc),"MCsousMCFaPourValeur"),))
removeMotCleInFactSiRegleAvecErreur(jdc,"DYNA_NON_LINE","INCREMENT","SUBD_PAS",((("INCREMENT","SUBD_PAS","1",jdc),"MCsousMCFaPourValeur"),))
- AjouteMotClefDansFacteurSiRegle(jdc,"DYNA_NON_LINE","INCREMENT","SUBD_METHODE='UNIFORME',",((("INCREMENT","SUBD_PAS"),"existeMCsousMCF"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_NON_LINE","INCREMENT","SUBD_METHODE='UNIFORME',",((("INCREMENT","SUBD_PAS"),"existeMCsousMCF"),))
renameMotCleInFact(jdc,"DYNA_NON_LINE","INCREMENT","COEF_SUBD_PAS_1","SUBD_COEF_PAS_1")
moveMotClefInOperToFact(jdc,"STAT_NON_LINE","PARM_THETA","COMP_INCR")
moveMotCleFromFactToFactMulti(jdc,"DEFI_MATERIAU","CABLE","NU", ("ELAS",))
moveMotCleFromFactToFactMulti(jdc,"DEFI_MATERIAU","CABLE","RHO",("ELAS",))
moveMotCleFromFactToFactMulti(jdc,"DEFI_MATERIAU","CABLE","ALPHA",("ELAS",))
- AjouteMotClefDansFacteurSiRegle(jdc,"DEFI_MATERIAU","ELAS","NU=0.,",((("ELAS","NU"),"nexistepasMCsousMCF"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"DEFI_MATERIAU","ELAS","NU=0.,",((("ELAS","NU"),"nexistepasMCsousMCF"),))
removeMotCleAvecErreur(jdc,"DEFI_MATERIAU","POLY_CFC")
removeMotCleAvecErreur(jdc,"DEFI_MATERIAU","ECOU_PLAS1")
lavertit=("ELAS_THM","SURF_ETAT_SATU","SURF_ETAT_NSAT","CAM_CLAY_THM","LIQU_SATU_GAT","LIQU_NSAT_GAT")
dTHM={"ELAS_THM":"xxx", "SURF_ETAT_SATU":"xxx", "SURF_ETAT_NSAT":"xxx","CAM_CLAY_THM":"xxx","LIQU_SATU_GAT":"xxx","LIQU_NSAT_GAT":"xxx"}
- ChangementValeurAvecAvertissement(jdc,"DEFI_MATERIAU","COMP_THM",dTHM,lavertit)
+ changementValeurAvecAvertissement(jdc,"DEFI_MATERIAU","COMP_THM",dTHM,lavertit)
dfatigue={"MATAKE":"MATAKE_MODI_AC", "DOMM_MAXI":"MATAKE_MODI_AV", "FATEMI_SOCIE":"FATESOCI_MODI_AV"}
- ChangementValeurDsMCF(jdc,"DEFI_MATERIAU","CISA_PLAN_CRIT","CRITERE",dfatigue)
+ changementValeurDsMCF(jdc,"DEFI_MATERIAU","CISA_PLAN_CRIT","CRITERE",dfatigue)
####################### traitement IMPR_CO #######################
chercheOperInsereFacteurSiRegle(jdc,"IMPR_CO","CONCEPT",((("CO",),"existe"),))
moveMotClefInOperToFact(jdc,"CALC_G_LOCAL_T","DEGRE","LISSAGE")
dlocal={"CALC_G_LGLO":"G_LAGR", "G_BILINEAIRE":"G_BILI", "CALC_G_MAX":"G_MAX"}
- ChangementValeur(jdc,"CALC_G_LOCAL_T","OPTION",dlocal)
+ changementValeur(jdc,"CALC_G_LOCAL_T","OPTION",dlocal)
#
dtheta={"CALC_G_LAGR":"G_LAGR_GLOB", "G_BILINEAIRE":"G_BILI_GLOB", "CALC_G_MAX":"G_MAX_GLOB","CALC_G":"CALC_G_GLOB"}
# Attention si le defaut doit generer un avertissement Il faut le mettre comme dernier mot de la liste
lavertit=("CALC_G_LAGR","CALC_G","defaut")
- ChangementValeurAvecAvertissement(jdc,"CALC_G_THETA_T","OPTION",dtheta,lavertit)
+ changementValeurAvecAvertissement(jdc,"CALC_G_THETA_T","OPTION",dtheta,lavertit)
renameOper(jdc,"CALC_G_LOCAL_T","CALC_G")
renameOper(jdc,"CALC_G_THETA_T","CALC_G")
####################### traitement AFFE_MODELE #######################
daffeModele={"PLAN_FISSURE":"PLAN_JOINT", "AXIS_FISSURE":"AXIS_JOINT"}
- ChangementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",daffeModele)
+ changementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",daffeModele)
removeMotCleSiRegleAvecErreur(jdc,"AFFE_MODELE","AFFE",((("AFFE","MODELISATION","APPUI_REP",jdc),"MCsousMCFaPourValeur"),))
removeMotCleSiRegleAvecErreur(jdc,"AFFE_MODELE","AFFE",((("AFFE","MODELISATION","ASSE_GRIL",jdc),"MCsousMCFaPourValeur"),))
removeMotCleSiRegleAvecErreur(jdc,"AFFE_MODELE","AFFE",((("AFFE","MODELISATION","3D_JOINT_CT",jdc),"MCsousMCFaPourValeur"),))
####################### traitement CALC_ELEM / CALC_NO #######################
dcalcelemno={"ERRE_ELGA_NORE":"ERRE_ELEM_SIGM","ERRE_ELEM_NOZ1":"ERZ1_ELEM_SIGM","ERRE_ELEM_NOZ2":"ERZ2_ELEM_SIGM","ERRE_ELNO_ELGA":"ERRE_ELNO_ELEM","ERRE_NOEU_ELGA":"ERRE_NOEU_ELEM","ERTH_ELEM_TEMP":"ERRE_ELEM_TEMP","ERTH_ELNO_ELEM":"ERRE_ELNO_ELEM","EPGR_ELNO":"EPFP_ELNO","EPGR_ELGA":"EPFP_ELGA","DURT_ELGA_TEMP":"DURT_ELNO_TEMP"}
- ChangementValeur(jdc,"CALC_ELEM","OPTION",dcalcelemno)
- ChangementValeur(jdc,"CALC_NO","OPTION",dcalcelemno)
- ChangementValeurDsMCF(jdc,"IMPR_RESU","RESU","NOM_CHAM",dcalcelemno)
- ChangementValeur(jdc,"TEST_RESU","RESU",dcalcelemno)
+ changementValeur(jdc,"CALC_ELEM","OPTION",dcalcelemno)
+ changementValeur(jdc,"CALC_NO","OPTION",dcalcelemno)
+ changementValeurDsMCF(jdc,"IMPR_RESU","RESU","NOM_CHAM",dcalcelemno)
+ changementValeur(jdc,"TEST_RESU","RESU",dcalcelemno)
removeMotCleAvecErreur(jdc,"TEST_RESU","UNITE")
chercheOperInsereFacteurSiRegle(jdc,"CALC_ELEM","REPE_COQUE",((("NUME_COUCHE","NIVE_COUCHE","ANGLE","PLAN"),"existeMCFParmi"),))
####################### traitement EXTR_MODE #######################
- AjouteMotClefDansFacteurSiRegle(jdc,"EXTR_MODE","FILTRE_MODE","SEUIL=1.E-3", ((("FILTRE_MODE","CRIT_EXTR",),"existeMCsousMCF"),(("FILTRE_MODE","SEUIL",),"nexistepasMCsousMCF")))
+ ajouteMotClefDansFacteurSiRegle(jdc,"EXTR_MODE","FILTRE_MODE","SEUIL=1.E-3", ((("FILTRE_MODE","CRIT_EXTR",),"existeMCsousMCF"),(("FILTRE_MODE","SEUIL",),"nexistepasMCsousMCF")))
####################### traitement DYNA_TRAN_EXPLI #######################
removeMotCle(jdc,"DYNA_TRAN_EXPLI","NEWMARK")
####################### traitement CREA_RESU #######################
dcrearesu={"HYDR_ELGA":"HYDR_NOEU_ELGA"}
lavertit=("HYDR_ELGA",)
- ChangementValeur(jdc,"CREA_RESU","NOM_CHAM",dcrearesu,lavertit)
+ changementValeur(jdc,"CREA_RESU","NOM_CHAM",dcrearesu,lavertit)
####################### traitement CREA_CHAMP #######################
dcrearesu={"HYDR_ELGA":"HYDR_ELNO_ELGA"}
lavertit=("HYDR_ELGA",)
- ChangementValeur(jdc,"CREA_CHAMP","NOM_CHAM",dcrearesu,lavertit)
- ChangementValeur(jdc,"CREA_CHAMP","TYPE_CHAM",dcrearesu,lavertit)
+ changementValeur(jdc,"CREA_CHAMP","NOM_CHAM",dcrearesu,lavertit)
+ changementValeur(jdc,"CREA_CHAMP","TYPE_CHAM",dcrearesu,lavertit)
####################### traitement TEST_RESU #######################
dcrearesu={"HYDR_ELGA":"HYDR_NOEU_ELGA"}
lavertit=("HYDR_ELGA",)
- ChangementValeurDsMCFAvecAvertissement(jdc,"TEST_RESU","RESU","NOM_CHAM",dcrearesu,lavertit)
+ changementValeurDsMCFAvecAvertissement(jdc,"TEST_RESU","RESU","NOM_CHAM",dcrearesu,lavertit)
####################### traitement DEBUT #######################
removeMotCleSiRegle(jdc,"DEBUT","BASE",((("BASE","FICHIER","LOCALE",jdc),"MCsousMCFaPourValeur"),))
removeCommandeSiRegleAvecErreur(jdc,"CALC_CHAM_ELEM",((("OPTION","SOUR_ELGA_ELEC",jdc),"MCaPourValeur"),))
####################### traitement MACR_LIGNE_COUPE #######################
- AppelleMacroSelonValeurConcept(jdc,"MACR_LIGN_COUPE",("LIGN_COUPE","TABLE"))
+ appelleMacroSelonValeurConcept(jdc,"MACR_LIGN_COUPE",("LIGN_COUPE","TABLE"))
removeMotCleInFact(jdc,"MACR_LIGN_COUPE","LIGN_COUPE","TABLE")
####################### traitement MODI_MAILLAGE #######################
removeMotCle(jdc,"RECU_FONCTION","TYPE_RESU")
chercheOperInsereFacteurSiRegle(jdc,"RECU_FONCTION","NOM_PARA_TABL='FONCTION',",((("OBSTACLE",),"existe"),),estunFacteur=0)
chercheOperInsereFacteurSiRegle(jdc,"RECU_FONCTION","FILTRE",((("OBSTACLE",),"existe"),))
- AjouteMotClefDansFacteurSiRegle(jdc,"RECU_FONCTION","FILTRE","NOM_PARA='LIEU',",((("OBSTACLE",),"existe"),))
- AjouteMotClefDansFacteurSiRegle(jdc,"RECU_FONCTION","FILTRE","VALE_K='DEFIOBST',",((("OBSTACLE",),"existe"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"RECU_FONCTION","FILTRE","NOM_PARA='LIEU',",((("OBSTACLE",),"existe"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"RECU_FONCTION","FILTRE","VALE_K='DEFIOBST',",((("OBSTACLE",),"existe"),))
renameMotCle(jdc,"RECU_FONCTION","OBSTACLE","TABLE")
####################### traitement DYNA_TRAN_MODAL #######################
removeMotCleInFactSiRegle(jdc,"CALC_PRECONT","INCREMENT","SUBD_PAS_MINI",((("INCREMENT","SUBD_PAS","1",jdc),"MCsousMCFaPourValeur"),))
removeMotCleInFactSiRegle(jdc,"CALC_PRECONT","INCREMENT","COEF_SUBD_PAS_1",((("INCREMENT","SUBD_PAS","1",jdc),"MCsousMCFaPourValeur"),))
removeMotCleInFactSiRegleAvecErreur(jdc,"CALC_PRECONT","INCREMENT","SUBD_PAS",((("INCREMENT","SUBD_PAS","1",jdc),"MCsousMCFaPourValeur"),))
- AjouteMotClefDansFacteurSiRegle(jdc,"CALC_PRECONT","INCREMENT","SUBD_METHODE='UNIFORME',",((("INCREMENT","SUBD_PAS"),"existeMCsousMCF"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"CALC_PRECONT","INCREMENT","SUBD_METHODE='UNIFORME',",((("INCREMENT","SUBD_PAS"),"existeMCsousMCF"),))
moveMotCleFromFactToFactMulti(jdc,"CALC_PRECONT","CONVERGENCE","RESI_INTE_RELA",("COMP_INCR","COMP_ELAS"))
moveMotCleFromFactToFactMulti(jdc,"CALC_PRECONT","CONVERGENCE","ITER_INTE_MAXI",("COMP_INCR","COMP_ELAS"))
moveMotCleFromFactToFactMulti(jdc,"CALC_PRECONT","CONVERGENCE","ITER_INTE_PAS",("COMP_INCR","COMP_ELAS"))
chercheOperInsereFacteur(jdc,"COMB_CHAM_NO","MODELE=xxx,",estunFacteur=0,erreur=1)
chercheOperInsereFacteur(jdc,"COMB_CHAM_NO","OPERATION='ASSE',",estunFacteur=0,erreur=1)
renameMotCle(jdc,"COMB_CHAM_NO","COMB_C","ASSE")
- AjouteMotClefDansFacteur(jdc,"COMB_CHAM_NO","ASSE","CUMUL='NON',")
- AjouteMotClefDansFacteur(jdc,"COMB_CHAM_NO","ASSE","TOUT='OUI',")
+ ajouteMotClefDansFacteur(jdc,"COMB_CHAM_NO","ASSE","CUMUL='NON',")
+ ajouteMotClefDansFacteur(jdc,"COMB_CHAM_NO","ASSE","TOUT='OUI',")
renameOper(jdc,"COMB_CHAM_NO","CREA_CHAMP")
####################### traitement MACR_ASCOUF_CALC #######################
- AjouteMotClefDansFacteurSiRegle(jdc,"MACR_ASCOUF_CALC","INCREMENT","SUBD_METHODE='UNIFORME',",((("INCREMENT","SUBD_PAS"),"existeMCsousMCF"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"MACR_ASCOUF_CALC","INCREMENT","SUBD_METHODE='UNIFORME',",((("INCREMENT","SUBD_PAS"),"existeMCsousMCF"),))
renameMotCleInFact(jdc,"MACR_ASCOUF_CALC","INCREMENT","COEF_SUBD_PAS_1","SUBD_COEF_PAS_1")
moveMotCleFromFactToFactMulti(jdc,"MACR_ASCOUF_CALC","CONVERGENCE","RESI_INTE_RELA",("COMP_INCR","COMP_ELAS"))
moveMotCleFromFactToFactMulti(jdc,"MACR_ASCOUF_CALC","CONVERGENCE","ITER_INTE_MAXI",("COMP_INCR","COMP_ELAS"))
####################### traitement MACR_ASPIC_CALC #######################
- AjouteMotClefDansFacteurSiRegle(jdc,"MACR_ASPIC_CALC","INCREMENT","SUBD_METHODE='UNIFORME',",((("INCREMENT","SUBD_PAS"),"existeMCsousMCF"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"MACR_ASPIC_CALC","INCREMENT","SUBD_METHODE='UNIFORME',",((("INCREMENT","SUBD_PAS"),"existeMCsousMCF"),))
renameMotCleInFact(jdc,"MACR_ASPIC_CALC","INCREMENT","COEF_SUBD_PAS_1","SUBD_COEF_PAS_1")
moveMotCleFromFactToFactMulti(jdc,"MACR_ASPIC_CALC","CONVERGENCE","RESI_INTE_RELA",("COMP_INCR","COMP_ELAS"))
moveMotCleFromFactToFactMulti(jdc,"MACR_ASPIC_CALC","CONVERGENCE","ITER_INTE_MAXI",("COMP_INCR","COMP_ELAS"))
####################### traitement MACR_CABRI_CALC #######################
- AjouteMotClefDansFacteurSiRegle(jdc,"MACR_CABRI_CALC","INCREMENT","SUBD_METHODE='UNIFORME',",((("INCREMENT","SUBD_PAS"),"existeMCsousMCF"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"MACR_CABRI_CALC","INCREMENT","SUBD_METHODE='UNIFORME',",((("INCREMENT","SUBD_PAS"),"existeMCsousMCF"),))
renameMotCleInFact(jdc,"MACR_CABRI_CALC","INCREMENT","COEF_SUBD_PAS_1","SUBD_COEF_PAS_1")
moveMotCleFromFactToFactMulti(jdc,"MACR_CABRI_CALC","CONVERGENCE","RESI_INTE_RELA",("COMP_INCR","COMP_ELAS"))
moveMotCleFromFactToFactMulti(jdc,"MACR_CABRI_CALC","CONVERGENCE","ITER_INTE_MAXI",("COMP_INCR","COMP_ELAS"))
####################### traitement CALC_FATIGUE #######################
dfatigue={"MATAKE":"MATAKE_MODI_AC", "DOMM_MAXI":"MATAKE_MODI_AV", "FATEMI_SOCIE":"FATESOCI_MODI_AV"}
- ChangementValeur(jdc,"CALC_FATIGUE","CRITERE",dfatigue)
+ changementValeur(jdc,"CALC_FATIGUE","CRITERE",dfatigue)
####################### traitement DEFI_PART_FETI #######################
removeMotCleSiRegle(jdc,"DEFI_PART_FETI","MAILLAGE", ((("MODELE",),"existeMCFParmi"),(("MAILLAGE",),"existeMCFParmi")))
removeMotCle(jdc,"MACR_ADAP_MAIL","ADAPTATION")
renameMotCle(jdc,"MACR_ADAP_MAIL","ADAPTATIONEW","ADAPTATION")
dcalcelemno={"ERRE_ELGA_NORE":"ERRE_ELEM_SIGM","ERRE_ELEM_NOZ1":"ERZ1_ELEM_SIGM","ERRE_ELEM_NOZ2":"ERZ2_ELEM_SIGM","ERRE_ELNO_ELGA":"ERRE_ELNO_ELEM","ERRE_NOEU_ELGA":"ERRE_NOEU_ELEM","ERTH_ELEM_TEMP":"ERRE_ELEM_TEMP","ERTH_ELNO_ELEM":"ERRE_ELNO_ELEM","EPGR_ELNO":"EPFP_ELNO","EPGR_ELGA":"EPFP_ELGA","DURT_ELGA_TEMP":"DURT_ELNO_TEMP"}
- ChangementValeur(jdc,"MACR_ADAP_MAIL","ADAPTATION",dcalcelemno)
+ changementValeur(jdc,"MACR_ADAP_MAIL","ADAPTATION",dcalcelemno)
####################### traitement IMPR_FICO_HOMARD #######################
log.ferme(hdlr)
def main():
- parser = optparse.OptionParser(usage=usage)
+ parser = optparse.Optionparser(usage=usage)
parser.add_option('-i','--infile', dest="infile", default='toto.comm',
help="Le fichier à traduire")
from inseremocle import *
from changeValeur import *
from movemocle import *
-from dictErreurs import GenereErreurPourCommande,GenereErreurMotCleInFact
+from dictErreurs import genereErreurPourCommande,genereErreurMotCleInFact
import calcG
parseKeywords(root)
####################### traitement erreurs ########################
- GenereErreurPourCommande(jdc,("POST_RCCM","DEFI_MATERIAU","TEST_FICHIER","DYNA_NON_LINE","DEFI_FISS_XFEM","POST_MAIL_XFEM"))
+ genereErreurPourCommande(jdc,("POST_RCCM","DEFI_MATERIAU","TEST_FICHIER","DYNA_NON_LINE","DEFI_FISS_XFEM","POST_MAIL_XFEM"))
####################### traitement Sous-Structuration #######################
renameMotCleInFact(jdc,"DEFI_MAILLAGE","DEFI_SUPER_MAILLE","MACR_ELEM_STAT","MACR_ELEM")
####################### traitement XFEM #######################
dXFEM={"3D_XFEM":"3D", "C_PLAN_X":"C_PLAN", "D_PLAN_X":"D_PLAN"}
- ChangementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",dXFEM)
+ changementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",dXFEM)
renameMotCleInFact(jdc,"DEFI_FISS_XFEM","ORIE_FOND","PT_ORIGIN","POINT_ORIG")
removeMotCleAvecErreur(jdc,"DEFI_FISS_XFEM","CONTACT")
#########################################################################
removeMotCleInFactSiRegleAvecErreur(jdc,"POST_RCCM","SITUATION","NUME_PASSAGE",((("TYPE_RESU_MECA","TUYAUTERIE",jdc),"MCaPourValeur"),))
chercheOperInsereFacteurSiRegle(jdc,"POST_RCCM","SEISME", ((("SITUATION","NB_CYCL_SEISME"),"existeMCsousMCF"),))
moveMotCleFromFactToFact(jdc,"POST_RCCM","SITUATION","NB_CYCL_SEISME","SEISME")
-# AjouteMotClefDansFacteurSiRegle(jdc,"POST_RCCM","SITUATION", "transferez_au_bloc_SEISME_CHAR_ETAT_NB_OCCUR,NUME_SITU,NUME_GROUP_et_eventuellement_NOM_SITU_et_NUME_RESU_THER",((("SITUATION","NB_CYCL_SEISME"),"existeMCsousMCF"),))
- AjouteMotClefDansFacteurSiRegle(jdc,"POST_RCCM","SITUATION","supprimez_a_la_main_ce_bloc",((("SITUATION","NB_CYCL_SEISME"),"existeMCsousMCF"),))
+# ajouteMotClefDansFacteurSiRegle(jdc,"POST_RCCM","SITUATION", "transferez_au_bloc_SEISME_CHAR_ETAT_NB_OCCUR,NUME_SITU,NUME_GROUP_et_eventuellement_NOM_SITU_et_NUME_RESU_THER",((("SITUATION","NB_CYCL_SEISME"),"existeMCsousMCF"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"POST_RCCM","SITUATION","supprimez_a_la_main_ce_bloc",((("SITUATION","NB_CYCL_SEISME"),"existeMCsousMCF"),))
# removeMotCleInFactSiRegleAvecErreur(jdc,"POST_RCCM","SITUATION","NB_CYCL_SEISME",((("SITUATION","NB_CYCL_SEISME"),"existeMCsousMCF"),))
removeMotCleInFactSiRegle(jdc,"POST_RCCM","SITUATION","NB_CYCL_SEISME",((("SITUATION","NB_CYCL_SEISME"),"existeMCsousMCF"),))
removeMotCleInFact(jdc,"POST_RCCM","CHAR_MECA","TYPE_CHAR",)
moveMotCleFromFactToFact(jdc,"DEFI_MATERIAU","CAM_CLAY","PA","BARCELONE")
renameMotCleInFact(jdc,"DEFI_MATERIAU","CAM_CLAY","PA","KCAM")
# CAM_CLAY
-# AjouteMotClefDansFacteur(jdc,"DEFI_MATERIAU","CAM_CLAY","MU=xxx",)
-# AjouteMotClefDansFacteurSiRegle(jdc,"DEFI_MATERIAU","CAM_CLAY","PTRAC=XXX",((("CAM_CLAY","KCAM"),"existeMCsousMCF"),))
+# ajouteMotClefDansFacteur(jdc,"DEFI_MATERIAU","CAM_CLAY","MU=xxx",)
+# ajouteMotClefDansFacteurSiRegle(jdc,"DEFI_MATERIAU","CAM_CLAY","PTRAC=XXX",((("CAM_CLAY","KCAM"),"existeMCsousMCF"),))
# VENDOCHAB
renameMotCleInFact(jdc,"DEFI_MATERIAU","VENDOCHAB","S_VP","S")
renameMotCleInFact(jdc,"DEFI_MATERIAU","VENDOCHAB","N_VP","N")
####################### traitement MACR_ADAP/INFO_MAIL ######################
dadap_mail={ "V8_5":"V9_5", "V8_N":"V9_N", "V8_N_PERSO":"V9_N_PERSO"}
- ChangementValeur(jdc,"MACR_ADAP_MAIL","VERSION_HOMARD",dadap_mail)
- ChangementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",dadap_mail)
+ changementValeur(jdc,"MACR_ADAP_MAIL","VERSION_HOMARD",dadap_mail)
+ changementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",dadap_mail)
#########################################################################
####################### traitement REST_BASE_PHYS ######################
#########################################################################
####################### traitement COMB_SISM_MODAL ######################
- AjouteMotClefDansFacteurSiRegle(jdc,"COMB_SISM_MODAL","EXCIT","MULTI_APPUI='DECORRELE'", ((("EXCIT","MONO_APPUI"),"nexistepasMCsousMCF"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"COMB_SISM_MODAL","EXCIT","MULTI_APPUI='DECORRELE'", ((("EXCIT","MONO_APPUI"),"nexistepasMCsousMCF"),))
#########################################################################
####################### traitement TEST_FICHIER ######################
####################### traitement DYNA_TRAN_EXPLI ######################
renameOper(jdc,"DYNA_TRAN_EXPLI","DYNA_NON_LINE")
- AjouteMotClefDansFacteur(jdc,"DYNA_NON_LINE","TCHAMWA","FORMULATION='ACCELERATION'")
- AjouteMotClefDansFacteur(jdc,"DYNA_NON_LINE","DIFF_CENT","FORMULATION='ACCELERATION'")
+ ajouteMotClefDansFacteur(jdc,"DYNA_NON_LINE","TCHAMWA","FORMULATION='ACCELERATION'")
+ ajouteMotClefDansFacteur(jdc,"DYNA_NON_LINE","DIFF_CENT","FORMULATION='ACCELERATION'")
#########################################################################
####################### traitement SCHEMA_TEMPS dans DYNA_NON_LINE ######################
- AjouteMotClefDansFacteur(jdc,"DYNA_NON_LINE","NEWMARK","FORMULATION='DEPLACEMENT'")
- AjouteMotClefDansFacteur(jdc,"DYNA_NON_LINE","HHT","FORMULATION='DEPLACEMENT'")
- AjouteMotClefDansFacteur(jdc,"DYNA_NON_LINE","TETA_METHODE","FORMULATION='DEPLACEMENT'")
+ ajouteMotClefDansFacteur(jdc,"DYNA_NON_LINE","NEWMARK","FORMULATION='DEPLACEMENT'")
+ ajouteMotClefDansFacteur(jdc,"DYNA_NON_LINE","HHT","FORMULATION='DEPLACEMENT'")
+ ajouteMotClefDansFacteur(jdc,"DYNA_NON_LINE","TETA_METHODE","FORMULATION='DEPLACEMENT'")
renameMotCleInFact(jdc,"DYNA_NON_LINE","NEWMARK","ALPHA","BETA",)
renameMotCleInFact(jdc,"DYNA_NON_LINE","NEWMARK","DELTA","GAMMA",)
renameMotCleInFact(jdc,"DYNA_NON_LINE","TETA_METHODE","TETA","THETA",)
- AjouteMotClefDansFacteurSiRegle(jdc,"DYNA_NON_LINE","NEWMARK","SCHEMA='NEWMARK'",((("NEWMARK",),"existeMCFParmi"),))
- AjouteMotClefDansFacteurSiRegle(jdc,"DYNA_NON_LINE","TETA_METHODE","SCHEMA='THETA_METHODE'",((("TETA_METHODE",),"existeMCFParmi"),))
- AjouteMotClefDansFacteurSiRegle(jdc,"DYNA_NON_LINE","HHT","SCHEMA='HHT'",((("HHT",),"existeMCFParmi"),))
- AjouteMotClefDansFacteurSiRegle(jdc,"DYNA_NON_LINE","TCHAMWA","SCHEMA='TCHAMWA'",((("TCHAMWA",),"existeMCFParmi"),))
- AjouteMotClefDansFacteurSiRegle(jdc,"DYNA_NON_LINE","DIFF_CENT","SCHEMA='DIFF_CENT'",((("DIFF_CENT",),"existeMCFParmi"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_NON_LINE","NEWMARK","SCHEMA='NEWMARK'",((("NEWMARK",),"existeMCFParmi"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_NON_LINE","TETA_METHODE","SCHEMA='THETA_METHODE'",((("TETA_METHODE",),"existeMCFParmi"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_NON_LINE","HHT","SCHEMA='HHT'",((("HHT",),"existeMCFParmi"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_NON_LINE","TCHAMWA","SCHEMA='TCHAMWA'",((("TCHAMWA",),"existeMCFParmi"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"DYNA_NON_LINE","DIFF_CENT","SCHEMA='DIFF_CENT'",((("DIFF_CENT",),"existeMCFParmi"),))
renameMotCle(jdc,"DYNA_NON_LINE","NEWMARK","SCHEMA_TEMPS")
renameMotCle(jdc,"DYNA_NON_LINE","TETA_METHODE","SCHEMA_TEMPS")
renameMotCle(jdc,"DYNA_NON_LINE","HHT","SCHEMA_TEMPS")
removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","MOMENT_4")
removeMotCleInFact(jdc,"DEFI_MATERIAU","DIS_CONTACT","C_PRAGER_MZ")
dDis_Choc={"DIS_CONTACT":"DIS_CHOC"}
- ChangementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RELATION",dDis_Choc)
- ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION",dDis_Choc)
+ changementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RELATION",dDis_Choc)
+ changementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION",dDis_Choc)
renameMotCleInFact(jdc,"STAT_NON_LINE","COMP_INCR","DIS_CONTACT","DIS_CHOC")
renameMotCleInFact(jdc,"DYNA_NON_LINE","COMP_INCR","DIS_CONTACT","DIS_CHOC")
dGrilles={"GRILLE_CRAYONS":"DIS_GRICRA"}
- ChangementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RELATION",dGrilles)
- ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION",dGrilles)
+ changementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RELATION",dGrilles)
+ changementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION",dGrilles)
renameCommandeSiRegle(jdc,"AFFE_CHAR_MECA_F","AFFE_CHAR_MECA",((("CONTACT",),"existeMCFParmi"),))
removeMotCleInFact(jdc,"AFFE_CHAR_MECA","CONTACT","RECHERCHE")
removeMotCleInFact(jdc,"AFFE_CHAR_MECA","CONTACT","VECT_ORIE_POU")
removeMotCleInFact(jdc,"AFFE_CHAR_MECA","CONTACT","MODL_AXIS")
dAppariement={"MAIT_ESCL_SYME":"MAIT_ESCL"}
- ChangementValeurDsMCF(jdc,"AFFE_CHAR_MECA","CONTACT","APPARIEMENT",dAppariement)
+ changementValeurDsMCF(jdc,"AFFE_CHAR_MECA","CONTACT","APPARIEMENT",dAppariement)
- AjouteMotClefDansFacteurSiRegle(jdc,"AFFE_CHAR_MECA","CONTACT","TYPE_APPA='FIXE'",((("CONTACT","DIRE_APPA",),"existeMCsousMCF"),))
+ ajouteMotClefDansFacteurSiRegle(jdc,"AFFE_CHAR_MECA","CONTACT","TYPE_APPA='FIXE'",((("CONTACT","DIRE_APPA",),"existeMCsousMCF"),))
#########################################################################
####################### traitement CREA_CHAMP ######################
chercheOperInsereFacteurSiRegle(jdc,"CREA_CHAMP","PRECISION=1.E-3,", ((("PRECISION",),"nexistepas"),(("CRITERE",),"existe"),),0)
dTypeChamp={"ELEM_ERREUR":"ELEM_ERRE_R"}
- ChangementValeur(jdc,"CREA_CHAMP","TYPE_CHAM",dTypeChamp)
+ changementValeur(jdc,"CREA_CHAMP","TYPE_CHAM",dTypeChamp)
#########################################################################
####################### traitement CALC_NO ######################
#########################################################################
######### traitement variables de commandes TEMP_CALCULEE/TEMP_REF ##############
- GenereErreurMotCleInFact(jdc,"AFFE_MATERIAU","AFFE","TEMP_REF")
+ genereErreurMotCleInFact(jdc,"AFFE_MATERIAU","AFFE","TEMP_REF")
################################################################################
################# traitement LIRE_CHAMP #######################################
# dTypeChamp={"ELEM_ERREUR":"ELEM_ERRE_R"}
- ChangementValeur(jdc,"LIRE_CHAMP","TYPE_CHAM",dTypeChamp)
+ changementValeur(jdc,"LIRE_CHAMP","TYPE_CHAM",dTypeChamp)
################################################################################
######### traitement SUIVI_DDL #################################################
# en pre-traitement il faudrait une methode qui separe tous les mots clefs facteurs en les dupliquant
# par exemple ici mettre autant de mots clefs facteurs SUIVI_DDL qu'il a de _F
- AjouteMotClefDansFacteur(jdc,"STAT_NON_LINE","SUIVI_DDL","SUIVI_DDL='OUI'")
+ ajouteMotClefDansFacteur(jdc,"STAT_NON_LINE","SUIVI_DDL","SUIVI_DDL='OUI'")
renameMotCle(jdc,"STAT_NON_LINE","SUIVI_DDL","OBSERVATION")
# en post-traitement il faudrait une methode qui fusionne tous les mots clefs facteurs en double
# par exemple ici les OBSERVATION
######### traitement du MODELE GRILLE ##############################################
dGrille={"GRILLE":"GRILLE_EXCENTRE"}
- ChangementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",dGrille)
+ changementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",dGrille)
################################################################################
######### traitement de MACR_ASPIC/ASCOUF_CALC GRILLE ##########################
######### traitement de MACR_LIGN_COUPE ######################################
# il y a un probleme s'il y a plusieurs mots clefs facteurs LIGN_COUPE : la regle ne marche qu'une fois par commande
- AjouteMotClefDansFacteurSiRegle(jdc,"MACR_LIGN_COUPE","LIGN_COUPE","REPERE='LOCAL'", ((("LIGN_COUPE","VECT_Y",),"existeMCsousMCF"),),0)
+ ajouteMotClefDansFacteurSiRegle(jdc,"MACR_LIGN_COUPE","LIGN_COUPE","REPERE='LOCAL'", ((("LIGN_COUPE","VECT_Y",),"existeMCsousMCF"),),0)
# autre probleme : s'il y a plusieurs mots clefs facteurs le traducteur peut, dans l'insertion, se tromper de mot clef facteur
- AjouteMotClefDansFacteurSiRegle(jdc,"MACR_LIGN_COUPE","LIGN_COUPE","TYPE='GROUP_NO'", ((("LIGN_COUPE","GROUP_NO",),"existeMCsousMCF"),),0)
- AjouteMotClefDansFacteurSiRegle(jdc,"MACR_LIGN_COUPE","LIGN_COUPE","TYPE='GROUP_MA'", ((("LIGN_COUPE","GROUP_MA",),"existeMCsousMCF"),),0)
+ ajouteMotClefDansFacteurSiRegle(jdc,"MACR_LIGN_COUPE","LIGN_COUPE","TYPE='GROUP_NO'", ((("LIGN_COUPE","GROUP_NO",),"existeMCsousMCF"),),0)
+ ajouteMotClefDansFacteurSiRegle(jdc,"MACR_LIGN_COUPE","LIGN_COUPE","TYPE='GROUP_MA'", ((("LIGN_COUPE","GROUP_MA",),"existeMCsousMCF"),),0)
################################################################################
####################### traitement DRUCKER_PRAGER #######################
dPRAGER={"DRUCKER_PRAGER":"DRUCK_PRAGER",}
- ChangementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RELATION",dPRAGER)
- ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION",dPRAGER)
- ChangementValeurDsMCF(jdc,"SIMU_POINT_MAT","COMP_INCR","RELATION",dPRAGER)
- ChangementValeurDsMCF(jdc,"CALC_PRECONT","COMP_INCR","RELATION",dPRAGER)
+ changementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RELATION",dPRAGER)
+ changementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION",dPRAGER)
+ changementValeurDsMCF(jdc,"SIMU_POINT_MAT","COMP_INCR","RELATION",dPRAGER)
+ changementValeurDsMCF(jdc,"CALC_PRECONT","COMP_INCR","RELATION",dPRAGER)
#########################################################################
####################### traitement RELATION_KIT #######################
dKIT={"ELAS_THER":"ELAS",}
- ChangementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RELATION_KIT",dKIT)
- ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION_KIT",dKIT)
- ChangementValeurDsMCF(jdc,"SIMU_POINT_MAT","COMP_INCR","RELATION_KIT",dKIT)
- ChangementValeurDsMCF(jdc,"CALC_PRECONT","COMP_INCR","RELATION_KIT",dKIT)
+ changementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RELATION_KIT",dKIT)
+ changementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RELATION_KIT",dKIT)
+ changementValeurDsMCF(jdc,"SIMU_POINT_MAT","COMP_INCR","RELATION_KIT",dKIT)
+ changementValeurDsMCF(jdc,"CALC_PRECONT","COMP_INCR","RELATION_KIT",dKIT)
#########################################################################
log.ferme(hdlr)
def main():
- parser = optparse.OptionParser(usage=usage)
+ parser = optparse.Optionparser(usage=usage)
parser.add_option('-i','--infile', dest="infile", default='toto.comm',
help="Le fichier à traduire")
#####RESORPTION
- GenereErreurPourCommande(jdc,("POST_ZAC",))
- GenereErreurMCF(jdc,"AFFE_CHAR_MECA","GRAPPE_FLUIDE")
- GenereErreurMCF(jdc,"DEFI_MATERIAU","LMARC")
- GenereErreurMCF(jdc,"DEFI_MATERIAU","LMARC_FO")
- GenereErreurMCF(jdc,"AFFE_CHAR_MECA","ARLEQUIN")
+ genereErreurPourCommande(jdc,("POST_ZAC",))
+ genereErreurMCF(jdc,"AFFE_CHAR_MECA","GRAPPE_FLUIDE")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","LMARC")
+ genereErreurMCF(jdc,"DEFI_MATERIAU","LMARC_FO")
+ genereErreurMCF(jdc,"AFFE_CHAR_MECA","ARLEQUIN")
#####SOLVEUR
# */SOLVEUR/PARTITION --> AFFE_MODELE (ou MODI_MODELE)/PARTITION/PARTITION
- GenereErreurMotCleInFact(jdc,"CALC_PRECONT","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"CALC_PRECONT","SOLVEUR","PARTITION")
- GenereErreurMotCleInFact(jdc,"DYNA_LINE_HARM","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"DYNA_LINE_HARM","SOLVEUR","PARTITION")
- GenereErreurMotCleInFact(jdc,"DYNA_LINE_TRAN","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"DYNA_LINE_TRAN","SOLVEUR","PARTITION")
- GenereErreurMotCleInFact(jdc,"DYNA_TRAN_MODAL","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"DYNA_TRAN_MODAL","SOLVEUR","PARTITION")
- GenereErreurMotCleInFact(jdc,"MACR_ASCOUF_CALC","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"MACR_ASCOUF_CALC","SOLVEUR","PARTITION")
- GenereErreurMotCleInFact(jdc,"MACR_ASPIQ_CALC","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"MACR_ASPIQ_CALC","SOLVEUR","PARTITION")
- GenereErreurMotCleInFact(jdc,"MACRO_MATR_AJOU","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"MACRO_MATR_AJOU","SOLVEUR","PARTITION")
- GenereErreurMotCleInFact(jdc,"MECA_STATIQUE","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"MECA_STATIQUE","SOLVEUR","PARTITION")
- GenereErreurMotCleInFact(jdc,"MODE_STATIQUE","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"MODE_STATIQUE","SOLVEUR","PARTITION")
- GenereErreurMotCleInFact(jdc,"STAT_NON_LINE","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"STAT_NON_LINE","SOLVEUR","PARTITION")
- GenereErreurMotCleInFact(jdc,"THER_LINEAIRE","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"THER_LINEAIRE","SOLVEUR","PARTITION")
- GenereErreurMotCleInFact(jdc,"THER_NON_LINE","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"THER_NON_LINE","SOLVEUR","PARTITION")
- GenereErreurMotCleInFact(jdc,"THER_NON_LINE_MO","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"THER_NON_LINE_MO","SOLVEUR","PARTITION")
- GenereErreurMotCleInFact(jdc,"DYNA_NON_LINE","SOLVEUR","PARALLELISME")
- GenereErreurMotCleInFact(jdc,"DYNA_NON_LINE","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"CALC_PRECONT","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"CALC_PRECONT","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"DYNA_LINE_HARM","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"DYNA_LINE_HARM","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"DYNA_LINE_TRAN","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"DYNA_LINE_TRAN","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"DYNA_TRAN_MODAL","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"DYNA_TRAN_MODAL","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"MACR_ASCOUF_CALC","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"MACR_ASCOUF_CALC","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"MACR_ASPIQ_CALC","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"MACR_ASPIQ_CALC","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"MACRO_MATR_AJOU","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"MACRO_MATR_AJOU","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"MECA_STATIQUE","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"MECA_STATIQUE","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"MODE_STATIQUE","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"MODE_STATIQUE","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"STAT_NON_LINE","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"STAT_NON_LINE","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"THER_LINEAIRE","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"THER_LINEAIRE","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"THER_NON_LINE","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"THER_NON_LINE","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"THER_NON_LINE_MO","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"THER_NON_LINE_MO","SOLVEUR","PARTITION")
+ genereErreurMotCleInFact(jdc,"DYNA_NON_LINE","SOLVEUR","PARALLELISME")
+ genereErreurMotCleInFact(jdc,"DYNA_NON_LINE","SOLVEUR","PARTITION")
####################### traitement mot cle INCREMENT redecoupage en temps #######################
renameMotCleSiRegle(jdc,"STAT_NON_LINE","INCREMENT","INCREMENT_NEW",((("INCREMENT","SUBD_METHODE"),"existeMCsousMCF"),),1)
removeMotCle(jdc,"CALC_MODAL","SOLVEUR",pasDeRegle())
##################### traitement DYNA_TRAN-MODAL ADAPT #################
- ChangementValeur(jdc,"DYNA_TRAN_MODAL","METHODE",{"ADAPT":"ADAPT_ORDRE2"})
+ changementValeur(jdc,"DYNA_TRAN_MODAL","METHODE",{"ADAPT":"ADAPT_ORDRE2"})
#################### traitement STAT/DYNA_NON_LINE OBSERVATION SUIVI_DDL=NON ###########
removeMotCleInFactCourantSiRegle(jdc,"STAT_NON_LINE","OBSERVATION","SUIVI_DDL",((("SUIVI_DDL","NON",jdc),"MCsousMCFcourantaPourValeur"),))
#####COMPORTEMENT/CARA
################### traitement AFFE_MODELE/SHB8 ##########################
- ChangementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",{"SHB8":"SHB"})
+ changementValeurDsMCF(jdc,"AFFE_MODELE","AFFE","MODELISATION",{"SHB8":"SHB"})
################### traitement COMP_ELAS et COMP_INCR DEFORMATION = GREEN ##############"
dGREEN={"GREEN_GR":"GROT_GDEP","GREEN":"GROT_GDEP","REAC_GEOM":"GROT_GDEP","EULER_ALMANSI":"GROT_GDEP","COROTATIONNEL":"GDEF_HYPO_ELAS"}
- ChangementValeurDsMCF(jdc,"SIMU_POINT_MAT","COMP_ELAS","DEFORMATION",dGREEN)
- ChangementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_ELAS","DEFORMATION",dGREEN)
- ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_ELAS","DEFORMATION",dGREEN)
- ChangementValeurDsMCF(jdc,"CALCUL","COMP_ELAS","DEFORMATION",dGREEN)
- ChangementValeurDsMCF(jdc,"POST_GP","COMP_ELAS","DEFORMATION",dGREEN)
- ChangementValeurDsMCF(jdc,"CALC_G","COMP_ELAS","DEFORMATION",dGREEN)
- ChangementValeurDsMCF(jdc,"SIMU_POINT_MAT","COMP_INCR","DEFORMATION",dGREEN)
- ChangementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","DEFORMATION",dGREEN)
- ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","DEFORMATION",dGREEN)
- ChangementValeurDsMCF(jdc,"CALCUL","COMP_INCR","DEFORMATION",dGREEN)
- ChangementValeurDsMCF(jdc,"CALC_PRECONT","COMP_INCR","DEFORMATION",dGREEN)
- ChangementValeurDsMCF(jdc,"CALC_NO","COMP_INCR","DEFORMATION",dGREEN)
- ChangementValeurDsMCF(jdc,"LIRE_RESU","COMP_INCR","DEFORMATION",dGREEN)
- ChangementValeurDsMCF(jdc,"MACR_ECREVISSE","COMP_INCR","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"SIMU_POINT_MAT","COMP_ELAS","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_ELAS","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_ELAS","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"CALCUL","COMP_ELAS","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"POST_GP","COMP_ELAS","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"CALC_G","COMP_ELAS","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"SIMU_POINT_MAT","COMP_INCR","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"CALCUL","COMP_INCR","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"CALC_PRECONT","COMP_INCR","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"CALC_NO","COMP_INCR","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"LIRE_RESU","COMP_INCR","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"MACR_ECREVISSE","COMP_INCR","DEFORMATION",dGREEN)
###################### traitement COMP_INCR/COMP_ELAS RESO_INTE ##########
dALGOI={"RUNGE_KUTTA_2":"RUNGE_KUTTA","RUNGE_KUTTA_4":"RUNGE_KUTTA"}
removeMotCleInFactCourantSiRegle(jdc,"LIRE_RESU","COMP_INCR","RESO_INTE",((("RESO_INTE","IMPLICITE",jdc),"MCsousMCFcourantaPourValeur"),))
removeMotCleInFactCourantSiRegle(jdc,"MACR_ECREVISSE","COMP_INCR","RESO_INTE",((("RESO_INTE","IMPLICITE",jdc),"MCsousMCFcourantaPourValeur"),))
- ChangementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_ELAS","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_ELAS","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"CALCUL","COMP_ELAS","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"CALCUL","COMP_INCR","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"MACR_ASCOUF_CALC","COMP_ELAS","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"MACR_ASCOUF_CALC","COMP_INCR","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"MACR_ASPIQF_CALC","COMP_ELAS","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"MACR_ASPIQ_CALC","COMP_INCR","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"SIMU_POINT_MAT","COMP_INCR","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"CALC_PRECONT","COMP_INCR","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"CALC_NO","COMP_INCR","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"LIRE_RESU","COMP_INCR","RESO_INTE",dALGOI)
- ChangementValeurDsMCF(jdc,"MACR_ECREVISSE","COMP_INCR","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_ELAS","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"STAT_NON_LINE","COMP_INCR","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_ELAS","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"DYNA_NON_LINE","COMP_INCR","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"CALCUL","COMP_ELAS","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"CALCUL","COMP_INCR","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"MACR_ASCOUF_CALC","COMP_ELAS","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"MACR_ASCOUF_CALC","COMP_INCR","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"MACR_ASPIQF_CALC","COMP_ELAS","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"MACR_ASPIQ_CALC","COMP_INCR","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"SIMU_POINT_MAT","COMP_INCR","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"CALC_PRECONT","COMP_INCR","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"CALC_NO","COMP_INCR","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"LIRE_RESU","COMP_INCR","RESO_INTE",dALGOI)
+ changementValeurDsMCF(jdc,"MACR_ECREVISSE","COMP_INCR","RESO_INTE",dALGOI)
renameMotCleInFact(jdc,"STAT_NON_LINE","COMP_ELAS","RESO_INTE","ALGO_INTE")
renameMotCleInFact(jdc,"STAT_NON_LINE","COMP_INCR","RESO_INTE","ALGO_INTE")
removeMotCleInFact(jdc,"STAT_NON_LINE","COMP_ELAS","ITER_INTE_PAS",pasDeRegle(),0)
###################### traitement CALC_G/COMP_INCR/RELATION ELAS_VMIS_PUIS ####
- ChangementValeurDsMCF(jdc,"CALC_G","COMP_INCR","RELATION",{"ELAS_VMIS_PUIS":"VMIS_ISOT_PUIS"})
+ changementValeurDsMCF(jdc,"CALC_G","COMP_INCR","RELATION",{"ELAS_VMIS_PUIS":"VMIS_ISOT_PUIS"})
########################" traitement DEFI_COMPOR/MULTIFIBRE/DEFORMATION=REAC_GEOM #########
- ChangementValeurDsMCF(jdc,"DEFI_COMPOR","MULTIFIBRE","DEFORMATION",dGREEN)
+ changementValeurDsMCF(jdc,"DEFI_COMPOR","MULTIFIBRE","DEFORMATION",dGREEN)
####################### traitement DEFI_COMPOR/MONOCRISTAL/ECOULEMENT #############
dECOULEMENT={"ECOU_VISC1":"MONO_VISC1","ECOU_VISC2":"MONO_VISC2","ECOU_VISC3":"MONO_VISC3","KOCKS_RAUCH":"MONO_DD_KR"}
- ChangementValeurDsMCF(jdc,"DEFI_COMPOR","MONOCRISTAL","ECOULEMENT",dECOULEMENT)
+ changementValeurDsMCF(jdc,"DEFI_COMPOR","MONOCRISTAL","ECOULEMENT",dECOULEMENT)
dISOT={"ECRO_ISOT1":"MONO_ISOT1","ECRO_ISOT2":"MONO_ISOT2"}
dCINE={"ECRO_CINE1":"MONO_CINE1","ECRO_CINE2":"MONO_CINE2"}
- ChangementValeurDsMCF(jdc,"DEFI_COMPOR","MONOCRISTAL","ECRO_ISOT",dISOT)
- ChangementValeurDsMCF(jdc,"DEFI_COMPOR","MONOCRISTAL","ECRO_CINE",dCINE)
+ changementValeurDsMCF(jdc,"DEFI_COMPOR","MONOCRISTAL","ECRO_ISOT",dISOT)
+ changementValeurDsMCF(jdc,"DEFI_COMPOR","MONOCRISTAL","ECRO_CINE",dCINE)
################### traitement DEFI_MATERIAU monocristallin #######
renameMotCle(jdc,"DEFI_MATERIAU","ECOU_VISC1","MONO_VISC1")
removeMotCleInFact(jdc,"AFFE_CARA_ELEM","DISCRET_2D","SYME")
removeMotCleInFact(jdc,"AFFE_CARA_ELEM","DISCRET","SYME")
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"AFFE_CARA_ELEM","DISCRET","SYME='NON'",((("CARA",dlist_DISCRET,jdc),"MCsousMCFcourantaPourValeurDansListe"),))
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"AFFE_CARA_ELEM","DISCRET_2D","SYME='NON'",((("CARA",dlist_DISCRET,jdc),"MCsousMCFcourantaPourValeurDansListe"),))
- ChangementValeurDsMCF(jdc,"AFFE_CARA_ELEM","DISCRET_2D","CARA",dDISCRET)
- ChangementValeurDsMCF(jdc,"AFFE_CARA_ELEM","DISCRET","CARA",dDISCRET)
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"AFFE_CARA_ELEM","DISCRET","SYME='NON'",((("CARA",dlist_DISCRET,jdc),"MCsousMCFcourantaPourValeurDansListe"),))
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"AFFE_CARA_ELEM","DISCRET_2D","SYME='NON'",((("CARA",dlist_DISCRET,jdc),"MCsousMCFcourantaPourValeurDansListe"),))
+ changementValeurDsMCF(jdc,"AFFE_CARA_ELEM","DISCRET_2D","CARA",dDISCRET)
+ changementValeurDsMCF(jdc,"AFFE_CARA_ELEM","DISCRET","CARA",dDISCRET)
#####CHARGEMENT
renameMotCleInFact(jdc,"AFFE_CHAR_MECA","CONTACT","ITER_MULT_MAXI","ITER_CONT_MULT")
renameMotCleInFact(jdc,"AFFE_CHAR_MECA","CONTACT","NB_REAC_GEOM","NB_ITER_GEOM")
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"AFFE_CHAR_MECA","CONTACT","RESOLUTION='NON'",((("METHODE","VERIF",jdc),"MCsousMCFcourantaPourValeur"),))
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"AFFE_CHAR_MECA","CONTACT","RESOLUTION='NON'",((("METHODE","VERIF",jdc),"MCsousMCFcourantaPourValeur"),))
copyMotClefInOperToFact(jdc,"AFFE_CHAR_MECA","MODELE","CONTACT")
moveMCFToCommand(jdc,"AFFE_CHAR_MECA","CONTACT","DEFI_CONTACT","ZONE")
removeMotCle(jdc,"AFFE_CHAR_MECA","CONTACT",pasDeRegle(),1)
removeMotCleInFact(jdc,"AFFE_CHAR_MECA","LIAISON_UNILATER","METHODE")
- AjouteMotClefDansFacteur(jdc,"AFFE_CHAR_MECA","LIAISON_UNILATER","METHODE='LIAISON_UNIL'",pasDeRegle())
+ ajouteMotClefDansFacteur(jdc,"AFFE_CHAR_MECA","LIAISON_UNILATER","METHODE='LIAISON_UNIL'",pasDeRegle())
copyMotClefInOperToFact(jdc,"AFFE_CHAR_MECA","MODELE","LIAISON_UNILATER")
moveMCFToCommand(jdc,"AFFE_CHAR_MECA","LIAISON_UNILATER","DEFI_CONTACT","ZONE")
removeMotCle(jdc,"AFFE_CHAR_MECA","LIAISON_UNILATER",pasDeRegle(),1)
removeMotCleInFact(jdc,"AFFE_CHAR_MECA_F","LIAISON_UNILATER","METHODE")
- AjouteMotClefDansFacteur(jdc,"AFFE_CHAR_MECA_F","LIAISON_UNILATER","METHODE='LIAISON_UNIL'",pasDeRegle())
- AjouteMotClefDansFacteur(jdc,"AFFE_CHAR_MECA_F","LIAISON_UNILATER","FORMULATION='LIAISON_UNIL'",pasDeRegle())
+ ajouteMotClefDansFacteur(jdc,"AFFE_CHAR_MECA_F","LIAISON_UNILATER","METHODE='LIAISON_UNIL'",pasDeRegle())
+ ajouteMotClefDansFacteur(jdc,"AFFE_CHAR_MECA_F","LIAISON_UNILATER","FORMULATION='LIAISON_UNIL'",pasDeRegle())
copyMotClefInOperToFact(jdc,"AFFE_CHAR_MECA_F","MODELE","LIAISON_UNILATER")
moveMCFToCommand(jdc,"AFFE_CHAR_MECA_F","LIAISON_UNILATER","DEFI_CONTACT","ZONE")
removeMotCle(jdc,"AFFE_CHAR_MECA_F","LIAISON_UNILATER",pasDeRegle(),1)
chercheOperInsereMotCleSiRegle(jdc,"DEFI_CONTACT","FORMULATION='LIAISON_UNIL'",((("ZONE","METHODE","LIAISON_UNIL",jdc),"MCsousMCFaPourValeur"),))
liste_meth_ZONE=["GCP","CONTRAINTE","LAGRANGIEN","PENALISATION"]
chercheOperInsereMotCleSiRegle(jdc,"DEFI_CONTACT","FORMULATION='DISCRETE'",((("ZONE","METHODE",liste_meth_ZONE,jdc),"MCsousMCFaPourValeurDansListe"),))
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_CONTACT","ZONE","ALGO_CONT='LAGRANGIEN'",((("METHODE","LAGRANGIEN",jdc),"MCsousMCFcourantaPourValeur"),))
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_CONTACT","ZONE","ALGO_FROT='LAGRANGIEN'",((("METHODE","LAGRANGIEN",jdc),"MCsousMCFcourantaPourValeur"),(("COULOMB",),"existeMCsousMCFcourant"),))
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_CONTACT","ZONE","ALGO_CONT='GCP'",((("METHODE","GCP",jdc),"MCsousMCFcourantaPourValeur"),))
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_CONTACT","ZONE","ALGO_CONT='PENALISATION'",((("METHODE","PENALISATION",jdc),"MCsousMCFcourantaPourValeur"),))
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_CONTACT","ZONE","ALGO_FROT='PENALISATION'",((("METHODE","PENALISATION",jdc),"MCsousMCFcourantaPourValeur"),(("COULOMB",),"existeMCsousMCFcourant"),))
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_CONTACT","ZONE","ALGO_CONT='CONTRAINTE'",((("METHODE","CONTRAINTE",jdc),"MCsousMCFcourantaPourValeur"),))
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_CONTACT","ZONE","ALGO_CONT='LAGRANGIEN'",((("METHODE","LAGRANGIEN",jdc),"MCsousMCFcourantaPourValeur"),))
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_CONTACT","ZONE","ALGO_FROT='LAGRANGIEN'",((("METHODE","LAGRANGIEN",jdc),"MCsousMCFcourantaPourValeur"),(("COULOMB",),"existeMCsousMCFcourant"),))
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_CONTACT","ZONE","ALGO_CONT='GCP'",((("METHODE","GCP",jdc),"MCsousMCFcourantaPourValeur"),))
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_CONTACT","ZONE","ALGO_CONT='PENALISATION'",((("METHODE","PENALISATION",jdc),"MCsousMCFcourantaPourValeur"),))
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_CONTACT","ZONE","ALGO_FROT='PENALISATION'",((("METHODE","PENALISATION",jdc),"MCsousMCFcourantaPourValeur"),(("COULOMB",),"existeMCsousMCFcourant"),))
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"DEFI_CONTACT","ZONE","ALGO_CONT='CONTRAINTE'",((("METHODE","CONTRAINTE",jdc),"MCsousMCFcourantaPourValeur"),))
removeMotCleInFact(jdc,"DEFI_CONTACT","ZONE","METHODE")
renameMotCleSiRegle(jdc,"COMB_SISM_MODAL","COMB_MULT_APPUI","GROUP_APPUI",((("MULTI_APPUI","DECORRELE",jdc),"MCaPourValeur"),),1)
######################## traitement DYNA_TRAN_MODAL ##################
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"DYNA_TRAN_MODAL","CHOC","FROTTEMENT='COULOMB'",((("COULOMB",),"existeMCsousMCFcourant"),))
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"DYNA_TRAN_MODAL","CHOC","FROTTEMENT='COULOMB'",((("COULOMB",),"existeMCsousMCFcourant"),))
######################### traitement AFFE_CHAR_MECA PESANTEUR ROTATION#################
- EclaMotCleToFact(jdc,"AFFE_CHAR_MECA","PESANTEUR","GRAVITE","DIRECTION")
- EclaMotCleToFact(jdc,"AFFE_CHAR_MECA","ROTATION","VITESSE","AXE")
+ eclaMotCleToFact(jdc,"AFFE_CHAR_MECA","PESANTEUR","GRAVITE","DIRECTION")
+ eclaMotCleToFact(jdc,"AFFE_CHAR_MECA","ROTATION","VITESSE","AXE")
moveMotClefInOperToFact(jdc,"AFFE_CHAR_MECA","CENTRE","ROTATION")
######################## traitement DEFI_BASE_MODALE ##############
####################### traitement PROJ_CHAMP #####################
renameMotCle(jdc,"PROJ_CHAMP","CHAM_NO","CHAM_GD",1,pasDeRegle())
- ChangementValeur(jdc,"PROJ_CHAMP","METHODE",{ "ELEM":"COLLOCATION"})
+ changementValeur(jdc,"PROJ_CHAMP","METHODE",{ "ELEM":"COLLOCATION"})
####################### traitement MACR_ADAP_MAIL ##############"
- ChangementValeur(jdc,"MACR_ADAP_MAIL","TYPE_VALEUR_INDICA",{"V_ABSOLUE":"ABSOLU","V_RELATIVE":"RELATIF"})
+ changementValeur(jdc,"MACR_ADAP_MAIL","TYPE_VALEUR_INDICA",{"V_ABSOLUE":"ABSOLU","V_RELATIVE":"RELATIF"})
renameMotCle(jdc,"MACR_ADAP_MAIL","INDICATEUR","NOM_CHAM")
renameMotCle(jdc,"MACR_ADAP_MAIL","NOM_CMP_INDICA","NOM_CMP")
renameMotCle(jdc,"MACR_ADAP_MAIL","TYPE_OPER_INDICA","USAGE_CHAMP")
renameMotCle(jdc,"MACR_ADAP_MAIL","TYPE_VALEUR_INDICA","USAGE_CMP")
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"MACR_ADAP_MAIL","ZONE","TYPE='BOITE'",((("RAYON",),"nexistepasMCsousMCFcourant"),))
- AjouteMotClefDansFacteurCourantSiRegle(jdc,"MACR_ADAP_MAIL","ZONE","TYPE='SPHERE'",((("RAYON",),"existeMCsousMCFcourant"),))
- ChangementValeur(jdc,"MACR_ADAP_MAIL","VERSION_HOMARD",{"V9_5":"V10_1"})
- ChangementValeur(jdc,"MACR_ADAP_MAIL","VERSION_HOMARD",{"V9_N":"V10_1_N"})
- ChangementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",{"V9_5":"V10_1"})
- ChangementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",{"V9_N":"V10_1_N"})
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"MACR_ADAP_MAIL","ZONE","TYPE='BOITE'",((("RAYON",),"nexistepasMCsousMCFcourant"),))
+ ajouteMotClefDansFacteurCourantSiRegle(jdc,"MACR_ADAP_MAIL","ZONE","TYPE='SPHERE'",((("RAYON",),"existeMCsousMCFcourant"),))
+ changementValeur(jdc,"MACR_ADAP_MAIL","VERSION_HOMARD",{"V9_5":"V10_1"})
+ changementValeur(jdc,"MACR_ADAP_MAIL","VERSION_HOMARD",{"V9_N":"V10_1_N"})
+ changementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",{"V9_5":"V10_1"})
+ changementValeur(jdc,"MACR_INFO_MAIL","VERSION_HOMARD",{"V9_N":"V10_1_N"})
###################### traitement de POST_CHAM_XFEM #################
removeMotCle(jdc,"POST_CHAM_XFEM","MODELE",pasDeRegle(),0)
######### traitement CALC_ELEM/TYPE_ESTI ####
dESTI={"ERRE_ELEM_SIGM":"ERME_ELEM","ERZ1_ELEM_SIGM":"ERZ1_ELEM","ERZ2_ELEM_SIGM":"ERZ2_ELEM",
"QIRE_ELEM_SIGM":"QIRE_ELEM","QIZ1_ELEM_SIGM":"QIZ1_ELEM","QIZ2_ELEM_SIGM":"QIZ2_ELEM"}
- ChangementValeur(jdc,"CALC_ELEM","TYPE_ESTI",dESTI)
+ changementValeur(jdc,"CALC_ELEM","TYPE_ESTI",dESTI)
######### suppression CALC_ELEM/NORME ######
removeMotCle(jdc,"CALC_ELEM","NORME",pasDeRegle(),0)
"VARI_NOEU_ELGA":"VARI_NOEU","VARI_ELNO_ELGA":"VARI_ELNO",
"INDI_LOCA_ELGA":"INDL_ELGA"}
#"FORC_NODA":"FORC_NOEU","REAC_NODA":"REAC_NOEU"
- ChangementValeurDsMCF(jdc,"AFFE_MATERIAU","AFFE_VARC","NOM_CHAM",dOPTION)
- ChangementValeur(jdc,"COMB_FOURIER","NOM_CHAM",dOPTION)
- ChangementValeur(jdc,"CREA_CHAMP","NOM_CHAM",dOPTION)
- ChangementValeur(jdc,"CREA_RESU","NOM_CHAM",dOPTION)
- ChangementValeurDsMCF(jdc,"EXTR_RESU","ARCHIVAGE","NOM_CHAM",dOPTION)
- ChangementValeurDsMCF(jdc,"IMPR_RESU","RESU","NOM_CHAM",dOPTION)
- ChangementValeurDsMCF(jdc,"LIRE_RESU","FORMAT_MED","NOM_CHAM",dOPTION)
- ChangementValeurDsMCF(jdc,"LIRE_RESU","FORMAT_IDEAS","NOM_CHAM",dOPTION)
- ChangementValeur(jdc,"LIRE_RESU","NOM_CHAM",dOPTION)
- ChangementValeur(jdc,"MACR_ADAP_MAIL","NOM_CHAM",dOPTION)
- ChangementValeurDsMCF(jdc,"MACR_ASPIC_CALC","IMPRESSION","NOM_CHAM",dOPTION)
- ChangementValeur(jdc,"MACR_LIGN_COUPE","NOM_CHAM",dOPTION)
- ChangementValeurDsMCF(jdc,"MODI_REPERE","MODI_CHAM","NOM_CHAM",dOPTION)
- ChangementValeurDsMCF(jdc,"POST_ELEM","INTEGRALE","NOM_CHAM",dOPTION)
- ChangementValeurDsMCF(jdc,"POST_ELEM","MINMAX","NOM_CHAM",dOPTION)
- ChangementValeurDsMCF(jdc,"POST_RCCM","RESU_MECA","NOM_CHAM",dOPTION)
- ChangementValeurDsMCF(jdc,"POST_RELEVE_T","ACTION","NOM_CHAM",dOPTION)
- ChangementValeur(jdc,"PROJ_CHAMP","NOM_CHAM",dOPTION)
- ChangementValeurDsMCF(jdc,"PROJ_MESU_MODAL","MODELE_MESURE","NOM_CHAM",dOPTION)
- ChangementValeur(jdc,"RECU_FONCTION","NOM_CHAM",dOPTION)
- ChangementValeur(jdc,"REST_GENE_PHYS","NOM_CHAM",dOPTION)
- ChangementValeur(jdc,"REST_SOUS_STRUC","NOM_CHAM",dOPTION)
- ChangementValeur(jdc,"REST_SPEC_PHYS","NOM_CHAM",dOPTION)
- ChangementValeurDsMCF(jdc,"TEST_RESU","RESU","NOM_CHAM",dOPTION)
- ChangementValeurDsMCF(jdc,"TEST_RESU","GENE","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"AFFE_MATERIAU","AFFE_VARC","NOM_CHAM",dOPTION)
+ changementValeur(jdc,"COMB_FOURIER","NOM_CHAM",dOPTION)
+ changementValeur(jdc,"CREA_CHAMP","NOM_CHAM",dOPTION)
+ changementValeur(jdc,"CREA_RESU","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"EXTR_RESU","ARCHIVAGE","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"IMPR_RESU","RESU","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"LIRE_RESU","FORMAT_MED","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"LIRE_RESU","FORMAT_IDEAS","NOM_CHAM",dOPTION)
+ changementValeur(jdc,"LIRE_RESU","NOM_CHAM",dOPTION)
+ changementValeur(jdc,"MACR_ADAP_MAIL","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"MACR_ASPIC_CALC","IMPRESSION","NOM_CHAM",dOPTION)
+ changementValeur(jdc,"MACR_LIGN_COUPE","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"MODI_REPERE","MODI_CHAM","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"POST_ELEM","INTEGRALE","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"POST_ELEM","MINMAX","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"POST_RCCM","RESU_MECA","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"POST_RELEVE_T","ACTION","NOM_CHAM",dOPTION)
+ changementValeur(jdc,"PROJ_CHAMP","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"PROJ_MESU_MODAL","MODELE_MESURE","NOM_CHAM",dOPTION)
+ changementValeur(jdc,"RECU_FONCTION","NOM_CHAM",dOPTION)
+ changementValeur(jdc,"REST_GENE_PHYS","NOM_CHAM",dOPTION)
+ changementValeur(jdc,"REST_SOUS_STRUC","NOM_CHAM",dOPTION)
+ changementValeur(jdc,"REST_SPEC_PHYS","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"TEST_RESU","RESU","NOM_CHAM",dOPTION)
+ changementValeurDsMCF(jdc,"TEST_RESU","GENE","NOM_CHAM",dOPTION)
- ChangementValeur(jdc,"CALC_CHAM_ELEM","OPTION",dOPTION)
- ChangementValeur(jdc,"CALC_ELEM","OPTION",dOPTION)
- ChangementValeur(jdc,"CALC_META","OPTION",dOPTION)
- ChangementValeur(jdc,"CALC_NO","OPTION",dOPTION)
- ChangementValeur(jdc,"COMB_SISM_MODAL","OPTION",dOPTION)
- ChangementValeur(jdc,"MECA_STATIQUE","OPTION",dOPTION)
- ChangementValeurDsMCF(jdc,"MACRO_ELAS_MULT","CAS_CHARGE","OPTION",dOPTION)
- ChangementValeur(jdc,"THER_NON_LINE","OPTION",dOPTION)
-
- ############ Message si SuppressionValeurs ou Valeurs ambigue CALC_ELEM/OPTION
+ changementValeur(jdc,"CALC_CHAM_ELEM","OPTION",dOPTION)
+ changementValeur(jdc,"CALC_ELEM","OPTION",dOPTION)
+ changementValeur(jdc,"CALC_META","OPTION",dOPTION)
+ changementValeur(jdc,"CALC_NO","OPTION",dOPTION)
+ changementValeur(jdc,"COMB_SISM_MODAL","OPTION",dOPTION)
+ changementValeur(jdc,"MECA_STATIQUE","OPTION",dOPTION)
+ changementValeurDsMCF(jdc,"MACRO_ELAS_MULT","CAS_CHARGE","OPTION",dOPTION)
+ changementValeur(jdc,"THER_NON_LINE","OPTION",dOPTION)
+
+ ############ Message si suppressionValeurs ou Valeurs ambigue CALC_ELEM/OPTION
rOPTION=("'DEUL_ELGA_DEPL'","'DEUL_ELGA_TEMP'","'DURT_ELGA_META'",
"'ERRE_ELNO_DEPL'", "'ERRE_NOEU_ELEM'", "'ERRE_ELNO_ELEM'","'EPSP_NOEU_ZAC'","'HYDR_ELNO_ELGA'",
"'SIGM_NOEU_ZAC'","'SIGM_ELNO_SIEF'","'SIGM_NOEU_SIEF'","'SIPO_ELNO_SIEF'","'SIPO_NOEU_SIEF'",
# Options ambigue : PRES_ELNO_DBEL --> prac_elno/prme_elno, ERRE* --> ERME_ELNO ou ERTH_ELNO selon PHENOMENE
# En commentaires les commandes non concernees par rOPTION
- GenereErreurValeurDsMCF(jdc,"AFFE_MATERIAU","AFFE_VARC","NOM_CHAM",rOPTION)
- #GenereErreurValeur(jdc,"COMB_FOURIER","NOM_CHAM",rOPTION)
- GenereErreurValeur(jdc,"CREA_CHAMP","NOM_CHAM",rOPTION)
- GenereErreurValeur(jdc,"CREA_RESU","NOM_CHAM",rOPTION)
- GenereErreurValeurDsMCF(jdc,"EXTR_RESU","ARCHIVAGE","NOM_CHAM",rOPTION)
- GenereErreurValeurDsMCF(jdc,"IMPR_RESU","RESU","NOM_CHAM",rOPTION)
- GenereErreurValeurDsMCF(jdc,"LIRE_RESU","FORMAT_MED","NOM_CHAM",rOPTION)
- GenereErreurValeurDsMCF(jdc,"LIRE_RESU","FORMAT_IDEAS","NOM_CHAM",rOPTION)
- GenereErreurValeur(jdc,"LIRE_RESU","NOM_CHAM",rOPTION)
- GenereErreurValeur(jdc,"MACR_ADAP_MAIL","NOM_CHAM",rOPTION)
- #GenereErreurDsMCF(jdc,"MACR_ASPIC_CALC","IMPRESSION","NOM_CHAM",rOPTION)
- GenereErreurValeur(jdc,"MACR_LIGN_COUPE","NOM_CHAM",rOPTION)
- GenereErreurValeurDsMCF(jdc,"MODI_REPERE","MODI_CHAM","NOM_CHAM",rOPTION)
- #GenereErreurValeurDsMCF(jdc,"POST_RCCM","RESU_MECA","NOM_CHAM",rOPTION)
- GenereErreurValeurDsMCF(jdc,"POST_ELEM","INTEGRALE","NOM_CHAM",rOPTION)
- GenereErreurValeurDsMCF(jdc,"POST_ELEM","MINMAX","NOM_CHAM",rOPTION)
- GenereErreurValeurDsMCF(jdc,"POST_RELEVE_T","ACTION","NOM_CHAM",rOPTION)
- GenereErreurValeur(jdc,"PROJ_CHAMP","NOM_CHAM",rOPTION)
- #GenereErreurValeurDsMCF(jdc,"PROJ_MESU_MODAL","MODELE_MESURE","NOM_CHAM",rOPTION)
- GenereErreurValeur(jdc,"RECU_FONCTION","NOM_CHAM",rOPTION)
- #GenereErreurValeur(jdc,"REST_GENE_PHYS","NOM_CHAM",rOPTION)
- #GenereErreurValeur(jdc,"REST_SOUS_STRUC","NOM_CHAM",rOPTION)
- #GenereErreurValeur(jdc,"REST_SPEC_PHYS","NOM_CHAM",rOPTION)
- GenereErreurValeurDsMCF(jdc,"TEST_RESU","RESU","NOM_CHAM",rOPTION)
- GenereErreurValeurDsMCF(jdc,"TEST_RESU","GENE","NOM_CHAM",rOPTION)
+ genereErreurValeurDsMCF(jdc,"AFFE_MATERIAU","AFFE_VARC","NOM_CHAM",rOPTION)
+ #genereErreurValeur(jdc,"COMB_FOURIER","NOM_CHAM",rOPTION)
+ genereErreurValeur(jdc,"CREA_CHAMP","NOM_CHAM",rOPTION)
+ genereErreurValeur(jdc,"CREA_RESU","NOM_CHAM",rOPTION)
+ genereErreurValeurDsMCF(jdc,"EXTR_RESU","ARCHIVAGE","NOM_CHAM",rOPTION)
+ genereErreurValeurDsMCF(jdc,"IMPR_RESU","RESU","NOM_CHAM",rOPTION)
+ genereErreurValeurDsMCF(jdc,"LIRE_RESU","FORMAT_MED","NOM_CHAM",rOPTION)
+ genereErreurValeurDsMCF(jdc,"LIRE_RESU","FORMAT_IDEAS","NOM_CHAM",rOPTION)
+ genereErreurValeur(jdc,"LIRE_RESU","NOM_CHAM",rOPTION)
+ genereErreurValeur(jdc,"MACR_ADAP_MAIL","NOM_CHAM",rOPTION)
+ #genereErreurDsMCF(jdc,"MACR_ASPIC_CALC","IMPRESSION","NOM_CHAM",rOPTION)
+ genereErreurValeur(jdc,"MACR_LIGN_COUPE","NOM_CHAM",rOPTION)
+ genereErreurValeurDsMCF(jdc,"MODI_REPERE","MODI_CHAM","NOM_CHAM",rOPTION)
+ #genereErreurValeurDsMCF(jdc,"POST_RCCM","RESU_MECA","NOM_CHAM",rOPTION)
+ genereErreurValeurDsMCF(jdc,"POST_ELEM","INTEGRALE","NOM_CHAM",rOPTION)
+ genereErreurValeurDsMCF(jdc,"POST_ELEM","MINMAX","NOM_CHAM",rOPTION)
+ genereErreurValeurDsMCF(jdc,"POST_RELEVE_T","ACTION","NOM_CHAM",rOPTION)
+ genereErreurValeur(jdc,"PROJ_CHAMP","NOM_CHAM",rOPTION)
+ #genereErreurValeurDsMCF(jdc,"PROJ_MESU_MODAL","MODELE_MESURE","NOM_CHAM",rOPTION)
+ genereErreurValeur(jdc,"RECU_FONCTION","NOM_CHAM",rOPTION)
+ #genereErreurValeur(jdc,"REST_GENE_PHYS","NOM_CHAM",rOPTION)
+ #genereErreurValeur(jdc,"REST_SOUS_STRUC","NOM_CHAM",rOPTION)
+ #genereErreurValeur(jdc,"REST_SPEC_PHYS","NOM_CHAM",rOPTION)
+ genereErreurValeurDsMCF(jdc,"TEST_RESU","RESU","NOM_CHAM",rOPTION)
+ genereErreurValeurDsMCF(jdc,"TEST_RESU","GENE","NOM_CHAM",rOPTION)
- GenereErreurValeur(jdc,"CALC_CHAM_ELEM","OPTION",rOPTION)
- GenereErreurValeur(jdc,"CALC_ELEM","OPTION",rOPTION)
- #GenereErreurValeur(jdc,"CALC_META","OPTION",rOPTION)
- GenereErreurValeur(jdc,"CALC_NO","OPTION",rOPTION)
- #GenereErreurValeur(jdc,"COMB_SISM_MODAL","OPTION",rOPTION)
- #GenereErreurValeur(jdc,"MECA_STATIQUE","OPTION",rOPTION)
- GenereErreurValeurDsMCF(jdc,"MACRO_ELAS_MULT","CAS_CHARGE","OPTION",rOPTION)
- #GenereErreurValeur(jdc,"THER_NON_LINE","OPTION",rOPTION)
+ genereErreurValeur(jdc,"CALC_CHAM_ELEM","OPTION",rOPTION)
+ genereErreurValeur(jdc,"CALC_ELEM","OPTION",rOPTION)
+ #genereErreurValeur(jdc,"CALC_META","OPTION",rOPTION)
+ genereErreurValeur(jdc,"CALC_NO","OPTION",rOPTION)
+ #genereErreurValeur(jdc,"COMB_SISM_MODAL","OPTION",rOPTION)
+ #genereErreurValeur(jdc,"MECA_STATIQUE","OPTION",rOPTION)
+ genereErreurValeurDsMCF(jdc,"MACRO_ELAS_MULT","CAS_CHARGE","OPTION",rOPTION)
+ #genereErreurValeur(jdc,"THER_NON_LINE","OPTION",rOPTION)
########### Message si CALC_ELEM/SENSIBILITE
- GenereErreurMCF(jdc,"CALC_ELEM","SENSIBILITE")
+ genereErreurMCF(jdc,"CALC_ELEM","SENSIBILITE")
# non fait CALC_NO OPTION=FORC_NODA_NONL
removeMotCle(jdc,"CALC_MISS","UNITE_OPTI_MISS",pasDeRegle())
removeMotCle(jdc,"CALC_MISS","UNITE_MODELE_SOL",pasDeRegle())
removeMotCle(jdc,"CALC_MISS","OPTION",pasDeRegle(),1)
- ChangementValeur(jdc,"CALC_MISS","VERSION",{"V1_4":"V6.5"})
- ChangementValeur(jdc,"CALC_MISS","VERSION",{"V1_5":"V6.6"})
- ChangementValeur(jdc,"CALC_MISS","VERSION",{"V1_3":"V6.5"})
+ changementValeur(jdc,"CALC_MISS","VERSION",{"V1_4":"V6.5"})
+ changementValeur(jdc,"CALC_MISS","VERSION",{"V1_5":"V6.6"})
+ changementValeur(jdc,"CALC_MISS","VERSION",{"V1_3":"V6.5"})
macr=""
interf=""
log.ferme(hdlr)
def main():
- parser = optparse.OptionParser(usage=usage)
+ parser = optparse.Optionparser(usage=usage)
parser.add_option('-i','--infile', dest="infile", default='toto.comm',
help="Le fichier à traduire")
i+=len(word)
return h
-def DictToLine(d):
+def dictToLine(d):
"""Transformation inverse: à partir d'un dictionnaire retourne une ligne"""
cols = d
cols.sort()
#
eficas_compile_ui ( desWidgetBloc.ui )
eficas_compile_ui ( desWidgetCB.ui )
+eficas_compile_ui ( desWidgetCBIntoSug.ui )
eficas_compile_ui ( desWidgetCommentaire.ui )
eficas_compile_ui ( desWidgetDate.ui )
eficas_compile_ui ( desWidgetFact.ui )
desChoixLangue.py desRecherche.py desRechercheCatalogue.py\
desSelectVal.py desViewTexte.py desViewRegles.py desVisu.py desWidgetCreeParam.py desWidgetCommande.py \
desWidgetOptionnel.py desWidgetOptionnelMC.py Tuple2.py Tuple3.py \
- desWidgetBloc.py desWidgetCB.py desWidgetCommentaire.py desWidgetDate.py \
+ desWidgetBloc.py desWidgetCB.py desWidgetCBIntoSug.py desWidgetCommentaire.py desWidgetDate.py \
desWidgetFact.py desWidgetFactPlie.py desWidgetFormule.py desGroupeOptionnel.py \
desWidgetHeure.py desWidgetInformation.py desWidgetIntoSug.py desWidgetInactif.py \
desWidgetMatrice.py desWidgetParam.py desWidgetPlusieursBase.py desWidgetPlusieursInto.py \
desWidget4a6RadioButton.py desWidgetSimpBase.py desWidgetSDCOInto.py desWidgetSimpBool.py \
desWidgetSimpSalome.py desPBOptionnelMT.py\
desWidgetSimpComplexe.py desWidgetSimpFichier.py desWidgetSimpTxt.py desWidgetTuple2.py \
- desWidgetTuple3.py desWidgetVide.py desWidgetUniqueSDCO.py desWidgetPlusieursPlie.py
+ desWidgetTuple3.py desWidgetVide.py desWidgetUniqueSDCO.py desWidgetPlusieursPlie.py \
+ desWidgetNiveauFact.py commandeTableau.py dateEtHeure.py
valid = valid * self.valid_sdnom(cr)
if valid:
- valid = self.update_sdprod(cr)
+ valid = self.updateSdprod(cr)
self.set_valid(valid)
return self.valid
- def update_sdprod(self, cr='non'):
+ def updateSdprod(self, cr='non'):
"""
Cette methode met a jour le concept produit en fonction des conditions initiales :
valid = 0
if valid:
- valid = self.update_sdprod(cr)
+ valid = self.updateSdprod(cr)
# Si la macro comprend des etapes internes, on teste leur validite
for e in self.etapes:
return self.valid
- def update_sdprod(self, cr='non'):
+ def updateSdprod(self, cr='non'):
"""
Cette methode met a jour le concept produit en fonction des conditions initiales :
#class ObjetUtilisateur(ASSD): pass\r
\r
class classeVisuEquation :\r
- def __init__(self,dicoListeAffiche, listEquation, listModele,listPostTraitement):\r
+ def __init__(self,dicoListeAffiche, listEquation, listModele,listPosttraitement):\r
self.dicoListeAffiche=dicoListeAffiche\r
self.listEquation=listEquation\r
self.listModele=listModele\r
- self.listPostTraitement=listPostTraitement\r
+ self.listPosttraitement=listPosttraitement\r
\r
\r
def maFunc():\r
if valeurDB == None : valeurDB=editor.getValeur('Modele','Modele_DB',())\r
correspond=pckdb.DBRENAME\r
if valeurDB != None :\r
- listEquation, listModele,listPostTraitement=pckdb.read_pckdb(correspond[valeurDB])\r
+ listEquation, listModele,listPosttraitement=pckdb.read_pckdb(correspond[valeurDB])\r
monMC.dsMaFunct = False\r
- return listEquation, listModele,listPostTraitement\r
+ return listEquation, listModele,listPosttraitement\r
\r
def recupereDicoEquation(monMC):\r
if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
- listEquation, listModele,listePostTraitement=recupereDicoGenerique(monMC)\r
+ listEquation, listModele,listePosttraitement=recupereDicoGenerique(monMC)\r
editor=monMC.jdc.editor\r
\r
valeurEquationListe=editor.getValeur('Equation','Equation_Liste',('b_type_show',))\r
if change :\r
editor.reCalculeValiditeMCApresChgtInto('Equation', 'listeEquation', ('b_type_show',)) \r
if editor.fenetreCentraleAffichee : editor.fenetreCentraleAffichee.node.affichePanneau()\r
- editor.maClasseVisuEquation = classeVisuEquation(dicoListeAffiche,listEquation, listModele,listPostTraitement)\r
+ editor.maClasseVisuEquation = classeVisuEquation(dicoListeAffiche,listEquation, listModele,listPosttraitement)\r
monMC.dsMaFunct = False\r
\r
def afficheValeurEquation(monMC):\r
if monMC.valeur == None: return\r
if hasattr(monMC,'dsMaFunct') and monMC.dsMaFunct== True : return\r
print ('je passe dans recupereDicoModele')\r
- listEquation, listModele,listPostTraitement=recupereDicoGenerique(monMC)\r
+ listEquation, listModele,listPosttraitement=recupereDicoGenerique(monMC)\r
editor=monMC.jdc.editor\r
- editor.maClasseVisuEquation = classeVisuEquation({},listEquation, listModele,listPostTraitement)\r
+ editor.maClasseVisuEquation = classeVisuEquation({},listEquation, listModele,listPosttraitement)\r
monMC.dsMaFunct = False\r
\r
\r
'Modele_TechnicalUse' : ('cable', 'coating', 'pipes'),\r
'Aging_Factor' : { 'predefinedSimulationTime' : ('40years BR top', '40years BR bottom')},\r
'Boundary_Conditions' : ('flux_volume','flux_surface','constant_constration','convection_flux'),\r
- 'postTraitement_Typ' : ('chimique','mecanique','physique'),\r
+ 'posttraitement_Typ' : ('chimique','mecanique','physique'),\r
}\r
\r
monModele=listesDB.sModele().monModele\r
Commentaire = SIMP (statut = 'f', typ = 'TXM'),\r
) # Fin Modele\r
#---------------------------------\r
-PostTraitement = PROC (nom="PostTraitement",\r
+Posttraitement = PROC (nom="Posttraitement",\r
op=None,\r
- postTraitement_DB=SIMP(statut= 'o',typ= 'TXM', into=("Approved data base", "My data base") ),\r
- postTraitement_Type = SIMP(statut= 'o',typ= 'TXM', into=("Show post-traitement database", "post-traitement creation"),),\r
+ posttraitement_DB=SIMP(statut= 'o',typ= 'TXM', into=("Approved data base", "My data base") ),\r
+ posttraitement_Type = SIMP(statut= 'o',typ= 'TXM', into=("Show post-traitement database", "post-traitement creation"),),\r
# ---------------------------------------------------------------------------\r
- b_post_creation = BLOC(condition = " postTraitement_Type == 'post-traitement creation'",\r
- postTraitement_Name=SIMP(statut= 'o',typ= 'TXM',defaut=monPost.nom,),\r
+ b_post_creation = BLOC(condition = " posttraitement_Type == 'post-traitement creation'",\r
+ posttraitement_Name=SIMP(statut= 'o',typ= 'TXM',defaut=monPost.nom,),\r
generic=SIMP(statut= 'o',typ= bool,defaut=monPost.general,),\r
- postTraitement_Typ = SIMP(statut= 'o',typ= 'TXM', into=monDico['postTraitement_Typ'],homo='SansOrdreNiDoublon',max='**',defaut=monPost.type_post),\r
+ posttraitement_Typ = SIMP(statut= 'o',typ= 'TXM', into=monDico['posttraitement_Typ'],homo='SansOrdreNiDoublon',max='**',defaut=monPost.type_post),\r
calculation= FACT(statut='o',\r
# il faut un fact horizontal\r
calculation_results=SIMP(statut= 'o',typ= 'TXM', min=0,max='**', intoSug=monPost.calculation_results,defaut=monPost.calculation_results),\r
)# fin b_post_creation\r
# ---------------------------------------------------------------------------\r
#---------------------------------\r
-) #PostTraitement\r
+) #Posttraitement\r
# -*- coding: utf-8 -*-\r
-# CONFIGURATION MANAGEMENT OF EDF VERSION\r
+# maConfiguration MANAGEMENT OF EDF VERSION\r
# ======================================================================\r
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG\r
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY\r
import os\r
\r
\r
-class CONFIG(configuration.CONFIG_BASE):\r
+class CONFIG(configuration.configBase):\r
\r
#-----------------------------------\r
def __init__(self,appli,repIni):\r
self.labels_user=['catalogues','lang']\r
self.labels_eficas=['lang','rep_cata','catalogues']\r
\r
- configuration.CONFIG_BASE.__init__(self,appli,repIni)\r
+ configuration.configBase.__init__(self,appli,repIni)\r
\r
\r
def make_config(appli,rep):\r
def __init__ (self):\r
self.listEquation = None\r
self.listModele = None\r
- self.listPostTraitement = None\r
+ self.listPosttraitement = None\r
self.dicoListAffiche = {}\r
self.valeurEquationChoisie = None\r
self.listeConstantesAAfficher = []\r
print ('metAJour')\r
if valeur == None : return\r
correspond=pckdb.DBRENAME\r
- self.listEquation, self.listModele,self.listPostTraitement=pckdb.read_pckdb(correspond[valeur])\r
+ self.listEquation, self.listModele,self.listPosttraitement=pckdb.read_pckdb(correspond[valeur])\r
self.dicoListeEquation = {}\r
for equation in self.listEquation :\r
self.dicoListeEquation[equation.representation]=equation\r
def getListModele(self):\r
return self.listModele\r
\r
- def getListPostTraitement(self):\r
- return self.listPostTraitement\r
+ def getListPosttraitement(self):\r
+ return self.listPosttraitement\r
\r
def getdicoListAffiche(self):\r
return self.dicoListAffiche\r
# -*- coding: utf-8 -*-
-# CONFIGURATION MANAGEMENT OF EDF VERSION
+# maConfiguration MANAGEMENT OF EDF VERSION
# ======================================================================
# COPYRIGHT (C) 1991 - 2002 EDF R&D WWW.CODE-ASTER.ORG
# THIS PROGRAM IS FREE SOFTWARE; YOU CAN REDISTRIBUTE IT AND/OR MODIFY
from Extensions.i18n import tr
-from .convert_python import PythonParser
+from .convert_python import Pythonparser
import six
from six.moves import range
try:
"""
return {
'name' : 'TELEMAC',
- 'factory' : TELEMACParser
+ 'factory' : TELEMACparser
}
-class TELEMACParser(PythonParser):
+class TELEMACparser(Pythonparser):
"""
- This converter works like PythonParser, except that it also initializes all
+ This converter works like Pythonparser, except that it also initializes all
model variables to None in order to avoid Python syntax errors when loading
a file with a different or inexistent definition of variables.
"""
dicoParMC={}
for simp in self.dictSimp:
- if simp in TELEMACParser.__dict__ : TELEMACParser.__dict__[simp](self,)
+ if simp in TELEMACparser.__dict__ : TELEMACparser.__dict__[simp](self,)
for simp in self.dictSimp:
if simp not in self.dicoInverse :
def convertFACT(self,obj,nom,valeur):
# traitement LIQUID_BOUNDARIES
- if nom in TELEMACParser.__dict__ :
- TELEMACParser.__dict__[nom](self,)
+ if nom in TELEMACparser.__dict__ :
+ TELEMACparser.__dict__[nom](self,)
return
self.textePy += nom + "=_F( "
self.traiteMC(valeur)
#from Extensions import localisation
-from .convert_python import PythonParser
+from .convert_python import Pythonparser
from Noyau import N_CR
try:
"""
return {
'name' : 'dico',
- 'factory' : DicoParser
+ 'factory' : Dicoparser
}
-class DicoParser(PythonParser):
+class Dicoparser(Pythonparser):
"""
This converter initializes model variable from a python dictionnary
"""
"""
from __future__ import absolute_import
-from .convert_python import PythonParser
+from .convert_python import Pythonparser
def entryPoint():
"""
# Le nom du plugin
'name' : 'MAP',
# La factory pour creer une instance du plugin
- 'factory' : PythonParser,
+ 'factory' : Pythonparser,
}
# Le nom du plugin
'name' : 'pyth',
# La factory pour creer une instance du plugin
- 'factory' : PythParser,
+ 'factory' : Pythparser,
}
-class PythParser(object):
+class Pythparser(object):
"""
Ce convertisseur lit un fichier au format pyth avec la
methode readfile : convertisseur.readfile(nom_fichier)
# Le nom du plugin
'name' : 'python',
# La factory pour creer une instance du plugin
- 'factory' : PythonParser,
+ 'factory' : Pythonparser,
}
-class PythonParser(object):
+class Pythonparser(object):
"""
Ce convertisseur lit un fichier au format python avec la
methode readfile : convertisseur.readfile(nom_fichier)
#sortby = 'cumulative'
#ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
#ps.print_stats()
- #print (s.getvalue())
+ #print (s.getValue())
return l
except EficasException:
linecontinueRE = re.compile(r"\\\s*(#.*)?$")
emptyHangingBraces = [0,0,0,0,0]
-class ParserException(Exception): pass
+class parserException(Exception): pass
class FatalError(Exception): pass
#commentaire double precede d'un nombre quelconque de blancs (pas multiligne)
hangingComments ^= line.count(u"'''") % 2
#print (hangingComments,hangingBraces)
if hangingBraces[0] < 0 or hangingBraces[1] < 0 or hangingBraces[2] < 0:
- raise ParserException()
+ raise parserException()
if ligne.strip() == '':
# il s'agit d'un saut de ligne
and (hangingBraces == emptyHangingBraces) \
and not hangingComments:
#la commande est terminee
- self.analyse_reel(commande_courante.texte)
+ self.analyseReel(commande_courante.texte)
commande_courante = None
#on passe a la ligne suivante
and (hangingBraces == emptyHangingBraces) \
and not hangingComments:
#la commande est terminee
- self.analyse_reel(commande_courante.texte)
+ self.analyseReel(commande_courante.texte)
commande_courante = None
#on passe a la ligne suivante
continue
# c est un ;
return dict_reel_concept
- def analyse_reel(self,commande) :
+ def analyseReel(self,commande) :
nomConcept=None
# On verifie qu on a bien un OPER
# et pas une MACRO
for obj in self.l_objets:
txt = txt+str(obj)
#else :
- except ParserException:
+ except parserException:
#Impossible de convertir le texte, on le retourne tel que
txt=self.texte
return txt
self.sep = ':'
self.l_max = 72
- def formate_jdc(self):
+ def formateJdc(self):
comment=re.compile("\n#")
commentaireavant=0
for etape in self.l_jdc:
self.indent_courant = self.indent[0]
self.texte_etape = '\n' + etape[0]
if len(etape)>1 :
- self.formate_etape(etape[1:])
+ self.formateEtape(etape[1:])
else :
# L'etape est deja sous forme de chaine de caracteres
self.indent=[]
- def formate_etape(self,liste):
+ def formateEtape(self,liste):
"""
Enrichissement de la chaine de caracteres representant l'etape (attribut
texte_etape de l'objet Formatage).
self.indent.insert(length,self.indent[length-1]+len(element[0]))
self.indent_courant = self.indent[length]
# on écrit ses fils
- self.formate_etape(element[1:])
+ self.formateEtape(element[1:])
#elif type(element) == types.StringType:
elif type(element) == bytes:
# il s'agit d'un mot-clé simple ou de ')' ou ');' ou '),' ou ');\n'
if element in l_patterns_fin_mcf :
- self.traite_mcfact(s_mcfact=element,ind=ind)
+ self.traiteMcfact(s_mcfact=element,ind=ind)
elif element in l_patterns_fin_etape :
- self.traite_etape(s_etape=element,ind=ind)
+ self.traiteEtape(s_etape=element,ind=ind)
else :
- self.traite_mcsimp(s_mcsimp=element,ind=ind)
+ self.traiteMcsimp(s_mcsimp=element,ind=ind)
ind = 1
- def traite_etape(self,s_etape,ind) :
+ def traiteEtape(self,s_etape,ind) :
"""
Traite une partie du jdc formaté : s_etape, une chaîne de caractères
contenant une étape
self.indent_courant=self.indent[0]
self.texte_etape = self.texte_etape + s_etape.strip()
- def traite_mcfact(self,s_mcfact,ind) :
+ def traiteMcfact(self,s_mcfact,ind) :
"""
Traite une partie du jdc formaté : s_mcfact, une chaîne de caractères
contenant un mot-clef facteur.
return
- def traite_mcsimp(self,s_mcsimp,ind) :
+ def traiteMcsimp(self,s_mcsimp,ind) :
"""
Traite une partie du jdc formaté : s_mcsimp, une chaîne de caractères
contenant un mot-clef simple.
# il faut couper ...
#nom,valeur = string.split(s_mcsimp,self.sep,1)
nom,valeur = str.split(s_mcsimp,self.sep,1)
- chaine = self.creer_chaine(nom,valeur,'\n'+self.indent_courant*' ',ind)
+ chaine = self.creerChaine(nom,valeur,'\n'+self.indent_courant*' ',ind)
#self.jdc_fini = self.jdc_fini + ('\n'+self.indent_courant*' ')*ind + s_mcsimp.strip()
self.texte_etape = self.texte_etape + chaine
return
return len(texte[texte.rfind('\n'):-1])
- def creer_chaine(self,nom,valeur,increment,ind):
+ def creerChaine(self,nom,valeur,increment,ind):
"""
- La methode creer_chaine reconstitue un objet Eficas à partir de
+ La methode creerChaine reconstitue un objet Eficas à partir de
- son nom,
- sa valeur.
"""
def __init__(self,l_jdc,code=None,mode=None,sep='=',l_max="**"):
Formatage.__init__(self,l_jdc,code=None,mode=None,sep='=',l_max="**")
- def formate_jdc(self):
- texte1=Formatage.formate_jdc(self)
+ def formateJdc(self):
+ texte1=Formatage.formateJdc(self)
newText=""
lignes=texte1.split("\n")
texte=""
"""
try:
if usePrefix:
- nomGroupe = self.nomReelGroupe(obj.get_sdname()) # nom du groupe de maillage, i.e. nom du concept, avec prefixes enleves
+ nomGroupe = self.nomReelGroupe(obj.getSdname()) # nom du groupe de maillage, i.e. nom du concept, avec prefixes enleves
print "liste des noms sans prefixes %s" %(nomGroupe)
else:
- nomGroupe = obj.get_sdname() # nom du groupe de maillage, i.e. nom du concept
+ nomGroupe = obj.getSdname() # nom du groupe de maillage, i.e. nom du concept
print "liste des noms sans prefixes %s" %(nomGroupe)
# test: un et un seul nom de materiau ou source doit etre associe a ce groupe de maillage, via les cles MATERIAL et SOURCE, respectivement.
texte=""
texte+="%s"%(obj.valeur['Domaine'])
print"le texte=%s" %(texte)
- self.dictDomaine[obj.get_sdname()]=texte
+ self.dictDomaine[obj.getSdname()]=texte
print "liste des domaines =%s" %(self.dictGroupes[nomGroupe]['DOMAINE'])
# else:
try:
#nomGroupe={'SOURCE':[], 'MATERIAL':[], 'LISTE':[], 'STRAND':[], }
if usePrefix:
- nomGroupe = self.nomReelGroupe(obj.get_sdname()) # nom du groupe de maillage, i.e. nom du concept, avec prefixes enleves
+ nomGroupe = self.nomReelGroupe(obj.getSdname()) # nom du groupe de maillage, i.e. nom du concept, avec prefixes enleves
print "liste des noms sans prefixes %s" %(nomGroupe)
else:
- nomGroupe = obj.get_sdname() # nom du macro groupe
+ nomGroupe = obj.getSdname() # nom du macro groupe
print "liste des noms sans prefixes %s" %(nomGroupe)
self.dictGroupes[nomGroupe] = {}
texte=""
texte+="%s"%(obj.valeur['Domaine'])
print"le texte=%s" %(texte)
- self.dictDomaine[obj.get_sdname()]=texte
+ self.dictDomaine[obj.getSdname()]=texte
else: # Erreur si Domaine et macro-groupe pas complètement inducteur
raise ValueError, nomGroupe + tr(" : ce MACRO_GROUPE ne doit pas contenir de Domaine car il contient, dans LISTE_MESHGROUP, des groupes qui ne sont pas que des morceaux d'inducteurs bobines ou topologiques.")
else: # Domaine manquant
print "_____________cond_____________"
# verification des proprietes du sous bloc CONDUCTOR (PERMEABILITY, CONDUCTIVITY)
if 'PERMEABILITY' not in obj.valeur or 'CONDUCTIVITY' not in obj.valeur:
- print "ERREUR! Le matériau conducteur (CONDUCTOR) de nom %s doit contenir les propriétés PERMEABILITY et CONDUCTIVITY." % obj.get_sdname()
- raise ValueError, obj.get_sdname() + tr(" : ce materiau conducteur (CONDUCTOR) doit contenir les proprietes PERMEABILITY et CONDUCTIVITY.")
+ print "ERREUR! Le matériau conducteur (CONDUCTOR) de nom %s doit contenir les propriétés PERMEABILITY et CONDUCTIVITY." % obj.getSdname()
+ raise ValueError, obj.getSdname() + tr(" : ce materiau conducteur (CONDUCTOR) doit contenir les proprietes PERMEABILITY et CONDUCTIVITY.")
else:
# parcours des proprietes du sous bloc CONDUCTOR (PERMEABILITY, CONDUCTIVITY)
for keyN1 in ('PERMEABILITY','CONDUCTIVITY') :
texte+=" ]"+"\n"
if self.debug:
print "texte = %s", texte
- self.dictMaterConductor[obj.get_sdname()]={'texte': texte, 'valeur': obj.valeur} # sauvegarde du texte pour ce bloc, ainsi que de toutes les valeurs pour analyse ultérieure
+ self.dictMaterConductor[obj.getSdname()]={'texte': texte, 'valeur': obj.valeur} # sauvegarde du texte pour ce bloc, ainsi que de toutes les valeurs pour analyse ultérieure
def generMATERIAL_DIELECTRIC(self,obj):
"""preparation du sous bloc DIELECTRIC"""
texte+=" ]"+"\n"
if self.debug:
print "texte = %s" % texte
- self.dictMaterDielectric[obj.get_sdname()]={'texte': texte, 'valeur': obj.valeur} # sauvegarde du texte pour ce bloc, ainsi que de toutes les valeurs pour analyse ultérieure
+ self.dictMaterDielectric[obj.getSdname()]={'texte': texte, 'valeur': obj.valeur} # sauvegarde du texte pour ce bloc, ainsi que de toutes les valeurs pour analyse ultérieure
def generMATERIAL_ZSURFACIC(self,obj):
"""preparation du sous bloc ZSURFACIC"""
print "______________zsurf_____________"
# verification des proprietes du sous bloc ZSURFACIC (PERMEABILITY, CONDUCTIVITY)
if 'PERMEABILITY' not in obj.valeur or 'CONDUCTIVITY' not in obj.valeur:
- print "ERREUR! Le matériau impedance de surface (ZSURFACIC) de nom %s doit contenir les propriétés PERMEABILITY et CONDUCTIVITY." % obj.get_sdname()
- raise ValueError, obj.get_sdname() + tr(" : ce materiau impedance de surface (ZSURFACIC) doit contenir les proprietes PERMEABILITY et CONDUCTIVITY.")
+ print "ERREUR! Le matériau impedance de surface (ZSURFACIC) de nom %s doit contenir les propriétés PERMEABILITY et CONDUCTIVITY." % obj.getSdname()
+ raise ValueError, obj.getSdname() + tr(" : ce materiau impedance de surface (ZSURFACIC) doit contenir les proprietes PERMEABILITY et CONDUCTIVITY.")
else:
# parcours des proprietes du sous bloc ZSURFACIC (PERMEABILITY, CONDUCTIVITY)
for keyN1 in obj.valeur :
texte+=" ]"+"\n"
if self.debug:
print "texte = %s", texte
- self.dictMaterZsurfacic[obj.get_sdname()]=texte # sauvegarde du texte pour ce bloc
+ self.dictMaterZsurfacic[obj.getSdname()]=texte # sauvegarde du texte pour ce bloc
def generMATERIAL_EMISO(self,obj):
"""preparation du sous bloc EM_ISOTROPIC_FILES.
#from os.path import basename
#texte =" CONDUCTIVITY MED "+basename(str(obj.valeur["CONDUCTIVITY_File"]))+"\n"
#texte+=" PERMEABILITY MED "+basename(str(obj.valeur["PERMEABILITY_File"]))+"\n"
- # print "obj get sdname= ", obj.get_sdname()
- # if obj.get_sdname() in self.dictMaterEmIso.keys() :
- # self.dictMaterEmIso[obj.get_sdname()].append(texte)
+ # print "obj get sdname= ", obj.getSdname()
+ # if obj.getSdname() in self.dictMaterEmIso.keys() :
+ # self.dictMaterEmIso[obj.getSdname()].append(texte)
# else :
- self.dictMaterEmIso[obj.get_sdname()]=texte
+ self.dictMaterEmIso[obj.getSdname()]=texte
def generMATERIAL_EMANISO(self,obj):
"""preparation du sous bloc EM_ANISOTROPIC_FILES.
texte =" CONDUCTIVITY MATER "+str(obj.valeur["CONDUCTIVITY_File"])+"\n"
if "PERMEABILITY_File" in obj.valeur:
texte+=" PERMEABILITY MATER "+str(obj.valeur["PERMEABILITY_File"])+"\n"
- # print "obj get sdname= ", obj.get_sdname()
- # if obj.get_sdname() in self.dictMaterEmAnIso.keys() :
- # self.dictMaterEmAnIso[obj.get_sdname()].append(texte)
+ # print "obj get sdname= ", obj.getSdname()
+ # if obj.getSdname() in self.dictMaterEmAnIso.keys() :
+ # self.dictMaterEmAnIso[obj.getSdname()].append(texte)
# else :
- self.dictMaterEmAnIso[obj.get_sdname()]=texte
+ self.dictMaterEmAnIso[obj.getSdname()]=texte
def generMATERIAL_NILMAT(self,obj):
"""preparation du sous bloc NILMAT"""
texte=""
- self.dictMaterNilmat[obj.get_sdname()]=texte
+ self.dictMaterNilmat[obj.getSdname()]=texte
def generMATERIAL_ZINSULATOR(self,obj):
""""preparation du sous bloc ZINSULATOR"""
texte=""
- self.dictMaterZinsulator[obj.get_sdname()]=texte
+ self.dictMaterZinsulator[obj.getSdname()]=texte
#-------------------------------------------------------------------
if self.problem == HARMONIC:
texte+=" CURJ POLAR %(ampli)s %(phase)s\n" \
% {'ampli': str(wdict['AMPLITUDE']), 'phase': str(wdict['PHASE'])}
- self.dictSourceStInd[obj.get_sdname()]=texte
+ self.dictSourceStInd[obj.getSdname()]=texte
if self.debug:
print texte
except ValueError, err:
"""preparation du sous bloc HPORT"""
texte=""
sdict = obj.valeur['HPORT'] # dictionnaire contenant les parametres de la source, outre la forme de la source
- nomPort = obj.get_sdname()
+ nomPort = obj.getSdname()
self.dictPort[nomPort] = {}
self.dictPort[nomPort]['HPORT']=str(sdict['TYPE'])
try :
if self.problem == HARMONIC:
texte+=" AMP POLAR %(ampli)s %(phase)s\n" \
% {'ampli': str(wdict['AMPLITUDE']), 'phase': str(wdict['PHASE'])}
- self.dictSourceHport[obj.get_sdname()]=texte
+ self.dictSourceHport[obj.getSdname()]=texte
if self.debug:
print texte
except ValueError, err:
"""preparation du sous bloc EPORT"""
texte=""
sdict = obj.valeur['EPORT'] # dictionnaire contenant les parametres de la source, outre la forme de la source
- nomPort = obj.get_sdname()
+ nomPort = obj.getSdname()
self.dictPort[nomPort] = {}
self.dictPort[nomPort]['EPORT']=str(sdict['TYPE'])
print "sdict=%s" %(sdict)
if self.problem == HARMONIC:
texte+=" AMP POLAR %(ampli)s %(phase)s\n" \
% {'ampli': str(wdict['AMPLITUDE']), 'phase': str(wdict['PHASE'])}
- self.dictSourceEport[obj.get_sdname()]=texte
+ self.dictSourceEport[obj.getSdname()]=texte
if self.debug:
print texte
except ValueError, err:
texte+="\n1"
texte+="\n%s" % ' '.join(map(str, self.direction))
texte+="\n%g" % (self.section)
- self.dictStrand[obj.get_sdname()]=texte
+ self.dictStrand[obj.getSdname()]=texte
if self.debug:
print texte
texte+="\n%s" % ' '.join(map(str,self.direction))
texte+="\n%s" % ' '.join(map(str, self.centre))
texte+="\n%g" % (self.section)
- self.dictStrand[obj.get_sdname()]=texte
+ self.dictStrand[obj.getSdname()]=texte
if self.debug:
print texte
on sauvegarde aussi les noms des groupes de maillage
"""
try:
- nomGroupe = obj.get_sdname() # nom du groupe de maillage, i.e. nom du concept
+ nomGroupe = obj.getSdname() # nom du groupe de maillage, i.e. nom du concept
print "liste des noms sans prefixes %s" %(nomGroupe)
# test: un et un seul nom de materiau ou source doit etre associe a ce groupe de maillage, via les cles MATERIAL et SOURCE, respectivement.
texte=""
texte+="%s"%(obj.valeur['Domaine'])
print"le texte=%s" %(texte)
- self.dictDomaine[obj.get_sdname()]=texte
+ self.dictDomaine[obj.getSdname()]=texte
print "liste des domaines =%s" %(self.dictGroupes[nomGroupe]['DOMAINE'])
if 'Potentiel_Flottant' in obj.valeur.keys():
self.dictGroupes[nomGroupe]['Potentiel_Flottant'] = True
on sauvegarde aussi les noms des macros groupes
"""
try:
- nomMacroGroupe = obj.get_sdname() # nom du macro groupe
+ nomMacroGroupe = obj.getSdname() # nom du macro groupe
print "liste des noms sans prefixes %s" %(nomMacroGroupe)
self.dictMacroGroupes[nomMacroGroupe] = obj.valeur # sauvegarde des propriétés du macro-groupe
if self.debug:
print "generation material obj.valeur = %s" % obj.valeur
try :
- nomMaterial = obj.get_sdname()
+ nomMaterial = obj.getSdname()
self.dictMaterial[nomMaterial]=obj.valeur
print"self.dictMaterial=%s" %(self.dictMaterial)
except ValueError, err:
print "generation source obj valeur = %s" % obj.valeur
texte=""
try :
- nomSource = obj.get_sdname()
+ nomSource = obj.getSdname()
self.dictSource[nomSource]=obj.valeur # dictionnaire
self.dictSource[nomSource]['milieux'] = [] # liste ordonnée des groupes associés à cette source
print"mon dico des sources=%s" %(self.dictSource)
print "generation du mouvement obj.valeur = %s" % obj.valeur
try:
- nom = obj.get_sdname()
+ nom = obj.getSdname()
self.nombreMouvements = self.nombreMouvements+1
self.dictMouvement[nom] = {'ordre': self.nombreMouvements, 'valeurs': obj.valeur}
self.dictMouvement['ordre'].append(nom)
if self.debug:
print "generation strand obj valeur = %s" % obj.valeur
try :
- nomStrand = obj.get_sdname()
+ nomStrand = obj.getSdname()
self.dictStrand[nomStrand]=obj.valeur
print"mon dico des stranded inductor geometry=%s" %(self.dictStrand)
def NAME_OF_TRACER(self,obj):
print((dir(obj) ))
- print((obj.getGenealogie_precise()))
+ print((obj.getGenealogiePrecise()))
def Validation(self,obj):
self.texteDico += "VALIDATION : True \n"
"""recuperation de l objet MCSIMP"""
s=PythonGenerator.generMCSIMP(self,obj)
courant=self.Dico
- for p in obj.getGenealogie_precise()[0:-1]:
+ for p in obj.getGenealogiePrecise()[0:-1]:
if not (p in courant.keys()) : courant[p]={}
courant=courant[p]
courant[obj.nom]=obj.val
if obj.isInformation() : return s
if not obj.isValid() : return s
- liste=obj.getGenealogie_precise()
+ liste=obj.getGenealogiePrecise()
if obj.etape.nom=='MODIFICATION_CATALOGUE' : return s
nom = obj.etape.nom
#import cProfile, pstats, StringIO
#pr = cProfile.Profile()
#pr.enable()
- self.text=jdc_formate.formate_jdc()
+ self.text=jdc_formate.formateJdc()
#pr.disable()
#s = StringIO.StringIO()
#sortby = 'cumulative'
#ps = pstats.Stats(pr, stream=s).sort_stats(sortby)
#ps.print_stats()
- #print (s.getvalue())
+ #print (s.getValue())
elif format == 'Ligne':
jdc_formate = FormatageLigne(liste,mode='.py')
- self.text=jdc_formate.formate_jdc()
+ self.text=jdc_formate.formateJdc()
else:
raise EficasException(tr("Format non implemente ") +format)
return self.text
s = str(valeur)
if vientDeListe and repr(valeur) != str(valeur) : s=repr(valeur)
if (s.find('.')== -1 and s.find('e')== -1 and s.find('E')==-1) : s=s+'.0'
- clefobj=etape.get_sdname()
+ clefobj=etape.getSdname()
if self.appli.appliEficas and clefobj in self.appli.appliEficas.dict_reels:
if valeur in self.appli.appliEficas.dict_reels[clefobj]:
s=self.appli.appliEficas.dict_reels[clefobj][valeur]