if locale=="ang" : locale="en"
#print "eficas_" + locale, monPath
if file != None :
- print 'chagrement de ', file,monPath
+ #print 'chagrement de ', file,monPath
print eficas_translator.load(file,monPath)
print QApplication.installTranslator(eficas_translator)
return
if eficas_translator.load("eficas_" + locale, monPath):
QApplication.installTranslator(eficas_translator)
- print "chargement eficas_", locale, monPath
else:
print "Unable to load Eficas translator!"
+
self.savedir = os.path.abspath('C:/')\r
self.mode_nouv_commande='initial'\r
self.affiche="alpha"\r
+ self.closeAutreCommande = False\r
+ self.closeFrameRechercheCommande = False\r
+\r
\r
#--------------------------------------\r
def lecture_fichier_ini_standard(self):\r
if self.code == 'PSEN_N1' : self.afficheListesPliees = False
self.mode_nouv_commande=self.appliEficas.CONFIGURATION.mode_nouv_commande
+ self.closeAutreCommande=self.appliEficas.CONFIGURATION.closeAutreCommande
+ self.closeFrameRechercheCommande=self.appliEficas.CONFIGURATION.closeFrameRechercheCommande
self.affiche=self.appliEficas.CONFIGURATION.affiche
#if self.code in ['MAP','CARMELCND','PSEN'] : self.afficheCommandesPliees=False
if self.code in ['MAP','CARMELCND'] : self.afficheCommandesPliees=False
self.tree = browser.JDCTree( jdc_item, self )
self.appliEficas.construitMenu()
+
#############
self.splitterSizes = [320,1320,320]
self.splitter.setSizes(self.splitterSizes)
monRechercheDialg=DRecherche(parent=self,fl=0)
monRechercheDialg.show()
+
+ #--------------------------------#
+ def handleRechercherDsCatalogue(self):
+ #-----------------------------#
+ from monRechercheCatalogue import DRechercheCatalogue
+ monRechercheDialg=DRechercheCatalogue(self.QWParent,self)
+ monRechercheDialg.show()
+
#---------------------#
def handleDeplier(self):
#---------------------#
f.close()
return 1
except IOError, why:
- QMessageBox.critical(self, tr('Sauvegarde du Fichier'),
+ if (self.appliEficas.ssIhm == False):
+ QMessageBox.critical(self, tr('Sauvegarde du Fichier'),
tr('Le fichier')+str(fn) + tr('n a pas pu etre sauvegarde : ') + str(why))
+ else :
+ print why
return 0
#-----------------------------------------------------------#
# Le generateur existe on l'utilise
self.generator=generator.plugins[format]()
try :
- jdc_formate=self.generator.gener(self.jdc,format=formatLigne,config=self.appliEficas.CONFIGURATION)
+ jdc_formate=self.generator.gener(self.jdc,format=formatLigne,config=self.appliEficas.CONFIGURATION,appli=self.appliEficas)
if pourRun : jdc_formate=self.generator.textePourRun
except ValueError,e:
QMessageBox.critical(self, tr("Erreur a la generation"),str(e))
--- /dev/null
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2013 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
+#
+# Modules Python
+# Modules Eficas
+
+from desRechercheCatalogue import Ui_desRechercheCatalogue
+from determine import monEnvQT5
+if monEnvQT5:
+ from PyQt5.QtWidgets import QDialog, QCompleter
+ from PyQt5.QtCore import Qt
+else :
+ from PyQt4.QtGui import *
+ from PyQt4.QtCore import *
+
+from Extensions.i18n import tr
+
+# Import des panels
+
+class DRechercheCatalogue (Ui_desRechercheCatalogue ,QDialog):
+ """
+ Classe définissant le panel associé aux mots-clés qui demandent
+ à l'utilisateur de choisir une seule valeur parmi une liste de valeurs
+ discrètes
+ """
+ def __init__(self,parent,editor ):
+ QDialog.__init__(self,parent)
+ #self.setModal(True)
+ self.setupUi(self)
+ self.editor=editor
+ self.CBRecherche.setEditable(True)
+ if monEnvQT5 :
+ self.LERecherche.returnPressed.connect(self.rechercheLE)
+ self.CBRecherche.lineEdit().returnPressed.connect(self.rechercheCB)
+ self.CBRecherche.currentIndexChanged.connect(self.rechercheCB)
+ else :
+ self.connect(self.LERecherche,SIGNAL("returnPressed()"),self.rechercheLE)
+ self.connect(self.CBRecherche.lineEdit(),SIGNAL("returnPressed()"),self.rechercheCB)
+ self.connect(self.CBRecherche,SIGNAL("currentIndexChanged(int)"),self.rechercheCB)
+
+ self.initRecherche()
+
+ def initRecherche(self):
+ listeChoix=self.editor.readercata.dicoInverse.keys()
+ self.CBRecherche.addItem("")
+ for choix in listeChoix:
+ self.CBRecherche.addItem(choix)
+ monCompleteur=QCompleter(listeChoix,self)
+ monCompleteur.setCompletionMode(QCompleter.PopupCompletion)
+ self.CBRecherche.setCompleter(monCompleteur)
+
+
+ def rechercheCB(self):
+ motAChercher=self.CBRecherche.lineEdit().text()
+ self.recherche(motAChercher)
+
+ def rechercheLE(self):
+ motAChercher=self.LERecherche.text()
+ self.recherche(motAChercher)
+
+ def recherche(self,motAChercher):
+ if str(motAChercher)=="" or str(motAChercher) == None : return
+ if str(motAChercher) not in self.editor.readercata.dicoInverse.keys():return
+ try :
+ #if 1 :
+ genea= self.editor.readercata.dicoInverse[str(motAChercher)]
+ print genea
+ listeGenea=[]
+ for t in genea : listeGenea.append(t[0])
+ listeGenea.reverse()
+ texte=''
+ i=0
+ for mc in listeGenea :
+ ligne = i*' '+str(mc) + ' / '+tr(str(mc))+'\n'
+ i=i+1
+ texte += ligne
+ self.teGenea.setText(texte)
+ self.teDoc.setText(getattr(genea[0][1],self.editor.appliEficas.langue))
+
+
+ except :
+ pass
+
--- /dev/null
+# -*- coding: iso-8859-1 -*-
+# Copyright (C) 2007-2013 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
+#
+
+# --------------------------------------------------
+# debut entete
+# --------------------------------------------------
+
+#from Accas import ASSD, JDC_CATA, AU_MOINS_UN, PROC, SIMP, FACT, OPER, MACRO, BLOC, A_VALIDATOR
+from Accas import *
+import opsPSEN_N1
+#
+#
+
+# 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
+
+# class Matrice:
+# def __init__(self,nbLigs=None,nbCols=None,methodeCalculTaille=None,formatSortie="ligne",valSup=None,valMin=None,structure=None):
+# self.nbLigs=nbLigs
+# self.nbCols=nbCols
+# self.methodeCalculTaille=methodeCalculTaille
+# self.formatSortie=formatSortie
+# self.valSup=valSup
+# self.valMin=valMin
+# self.structure=structure
+#
+# def __convert__(self,valeur):
+# # Attention ne verifie pas grand chose
+# if type(valeur) != types.ListType :
+# return None
+# return valeur
+#
+# def info(self):
+# return "Matrice %s x %s" % (self.nbLigs, self.nbCols)
+#
+# __repr__=info
+# __str__=info
+
+
+#CONTEXT.debug = 1
+JdC = JDC_CATA ( code = 'PSEN',
+ execmodul = None,
+ regles = ( AU_MOINS_UN ( 'CASE_SELECTION' ),
+ # AU_MOINS_UN ( 'DIRECTORY' ),
+ # AU_MOINS_UN ( 'DISTRIBUTION' ),
+ # AU_MOINS_UN ( 'SIMULATION' ),
+ # AU_PLUS_UN ( 'PSSE_PARAMETERS' ),
+ # AU_PLUS_UN ( 'DIRECTORY' ),
+ # AU_PLUS_UN ( 'SIMULATION' ),
+ # AU_PLUS_UN ( 'CORRELATION' ),
+ # AU_PLUS_UN ( 'N_1_GENERATORS' ),
+ # AU_PLUS_UN ( 'N_1_LINES' ),
+ # AU_PLUS_UN ( 'N_1_LOADS' ),
+ # AU_PLUS_UN ( 'N_1_TRANSFORMERS' ),
+
+ ),
+ ) # Fin JDC_CATA
+
+
+# --------------------------------------------------
+# fin entete
+# --------------------------------------------------
+## TODO : RUN
+CASE_SELECTION = MACRO ( nom = "CASE_SELECTION",
+ sd_prod = opsPSEN_N1.INCLUDE,
+ op_init = opsPSEN_N1.INCLUDE_context,
+ fichier_ini = 1,
+ op = None,
+ fr = "Sélectionnez les cas à analyser",
+ ang = 'Select the cases to analyze',
+ PSSE_path = SIMP(statut="o",typ='Repertoire',defaut='C:\Program Files (x86)\PTI\PSSE33\PSSBIN'),
+ output_folder = SIMP(statut="o", typ="Repertoire"),
+
+
+ BusesList = SIMP(statut = 'f', typ = 'R', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'),
+ LinesList = SIMP(statut = 'f', typ = 'R', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'),
+ TransformersList = SIMP(statut = 'f', typ = 'TXM', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'),
+ MaxDepth = SIMP(statut = 'o', typ = 'I', defaut = 5),
+ OutputNewCsv = SIMP ( statut = "o",typ=bool,defaut=False,),
+ )
+N_PROCESSING_OPTIONS = PROC ( nom = 'N_PROCESSING_OPTIONS',
+ op = None,
+ ang = "Select whether the program should be displaying data ablout the different categories. The values displayed will be the min, max, and mean of each item, plus a chart.",
+ Output_bus_values = SIMP(statut = 'o', typ = bool, defaut = True),
+ Output_lines_values = SIMP(statut = 'o', typ = bool, defaut = True),
+ Output_transformer_values = SIMP(statut = 'o', typ = bool, defaut = True),
+ Threshold_selection_for_the_treated_cases = FACT(
+ statut = 'f',
+ Branches = SIMP(statut="o",typ=Tuple(3),defaut=(0,0,0),validators=VerifTypeTuple(('R','R','R'),),),
+ Transformers = SIMP(statut="o",typ=Tuple(3),defaut=(0,0,0),validators=VerifTypeTuple(('R','R','R'),),),
+ High_voltage = SIMP(statut="o",typ=Tuple(3),defaut=(0,0,0),validators=VerifTypeTuple(('R','R','R'),),),
+ Low_voltage = SIMP(statut="o",typ=Tuple(3),defaut=(0,0,0),validators=VerifTypeTuple(('R','R','R'),),),
+ ),
+ )
+
+
+CONTINGENCY_OPTIONS = PROC (nom = 'CONTINGENCY_OPTIONS',
+ op = None,
+
+ GeneralOptions = FACT(statut='o',
+ Vmin = SIMP(statut = 'o', typ = 'R', defaut = 0.9, val_min = 0),
+ Vmax = SIMP(statut = 'o', typ = 'R', defaut = 1.1, val_min = 0),
+ ContingencyRate = SIMP(statut = 'o', typ = 'TXM', defaut = 'a', into=['a', 'b']),
+ FlowLimitLines = SIMP(statut = 'o', typ = 'I', defaut = 120, val_min = 0),
+ FlowLimitTransformers = SIMP(statut = 'o', typ = 'I', defaut = 120, val_min = 0),
+ Tolerance = SIMP(statut = 'o', typ = 'R', defaut = 0.5, val_min = 0),
+ TripLines = SIMP(statut = 'o', typ = bool, defaut = True),
+ TripTransfos = SIMP(statut = 'o', typ = bool, defaut = True),
+ TripGenerators = SIMP(statut = 'o', typ = bool, defaut = True),
+ ),
+
+ LoadFlowOptions = FACT(statut='o',
+ AdjustTaps = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Lock', '1 - Stepping', '2 - Direct'], defaut = '1 - Stepping'),
+ AdjustDCtaps = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Disable', '1 - Enable'], defaut = '1 - Enable'),
+ SolutionMethod = SIMP(statut = 'o', typ = 'TXM', into = ['0 - FDNS', '1 - FNSL', '2 - Optimized FDNS'], defaut = '1 - FNSL'),
+ AdjustSwitchedShunts = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Disable', '1 - Enable', '2 - Enable continuous mode'], defaut = '1 - Enable'),
+ DispatchMode = SIMP(statut = 'o', typ = 'TXM', into = ['0 - Disable', '1 - Reserve', '2 - Pmax', '3 - Inertia', '4 - Droop'], defaut = '1 - Reserve'),
+ FlatStart = SIMP(statut = 'o', typ = bool, defaut = False),
+ VarLimits = SIMP(statut = 'o', typ = 'I', defaut = 99,ang = 'if set to -1, var limits will not be applied'),
+ ),
+
+ OutputOptions = FACT(statut='o',
+ consigne1 = SIMP(statut='o',homo='information',typ = "TXM",defaut = 'Output PSSE multiple contingency report to Shell?'),
+ MultipleContingencyReport = SIMP(statut = 'o', typ = bool, defaut = True, ang = 'Output PSSE multiple contingency report to Shell?'),
+ consigne2 = SIMP(statut='o',homo='information',typ = "TXM",defaut = 'Write an Excel file for the results of each case file?'),
+ WriteIndivExcels = SIMP(statut = 'o', typ = bool, defaut = True),
+ consigne3 = SIMP(statut='o',homo='information',typ = "TXM",defaut = 'Add a tab in Excel results file for the differences between the max flow rate (MVAR) and the actual flow rate in lines and transformers?'),
+ WriteFlowDifs = SIMP(statut = 'o', typ = bool, defaut = True),
+ ),
+ )
+
+
+
+
+CONTINGENCY_SELECTION = PROC(nom='CONTINGENCY_SELECTION',op = None,
+ SelectionMethod = SIMP(statut='o',typ='TXM',into=['CaseSelectionFromFile','SelectAllCases','SelectWorstCases'],
+ ),
+
+ b_file = BLOC(condition="SelectionMethod=='CaseSelectionFromFile'",
+ CaseSelectionFromFiles = FACT(
+ statut = 'o',
+ regles=(AU_MOINS_UN('branch_cases','transformer_cases','high_voltage_cases','low_voltage_cases',),),
+ branch_cases = SIMP(statut='o', defaut='', typ = ('Fichier', 'CSV file (*.csv);;All Files (*)','Sauvegarde'),),
+ transformer_cases = SIMP(statut='o', defaut='', typ = ('Fichier', 'CSV file (*.csv);;All Files (*)','Sauvegarde',),),
+ high_voltage_cases = SIMP(statut='o', defaut='', typ = ('Fichier', 'CSV file (*.csv);;All Files (*)','Sauvegarde'),),
+ low_voltage_cases = SIMP(statut='o', defaut='', typ = ('Fichier', 'CSV file (*.csv);;All Files (*)','Sauvegarde'),),
+ ),
+
+# CaseSelectionFromFile = FACT(
+# statut = 'o',
+# input_path = SIMP(statut="o",typ='Repertoire'),
+# branch_cases = SIMP(statut='o', typ='TXM'),
+# transformer_cases = SIMP(statut='o', typ='TXM'),
+# high_cases = SIMP(statut='o', typ='TXM'),
+# low_cases = SIMP(statut='o', typ='TXM'),
+# ),
+
+ ),
+
+# b_all = BLOC(condition="SelectionMethod=='SelectAllCases'",
+# SelectAllCases = FACT(
+# statut='o',
+# all_cases = SIMP(statut='o', typ=bool, defaut = True),
+# ),
+# ),
+
+ b_worst = BLOC(condition="SelectionMethod=='SelectWorstCases'",
+ SelectWorstCases = FACT(
+ regles = (UN_PARMI('AvgBranchLoad', 'AvgBranchLoadPercent'), UN_PARMI('AvgTransformerLoad', 'AvgTransformerLoadPercent'), UN_PARMI('AvgHighVoltage', 'AvgHighVoltagePercent'), UN_PARMI('AvgLowVoltage', 'AvgLowVoltagePercent'),),
+ statut = 'o',
+ consigne = SIMP(statut='o',homo='information',typ = "TXM",defaut = 'Choose at least one of the potential selection criteria from the SelectWorstCases list on the right.'),
+ AvgBranchLoad = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0),
+ AvgBranchLoadPercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100),
+ AvgTransformerLoad = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0),
+ AvgTransformerLoadPercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100),
+ AvgHighVoltage = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0),
+ AvgHighVoltagePercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100),
+ AvgLowVoltage = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0),
+ AvgLowVoltagePercent = SIMP(statut = 'f', typ = 'I', defaut = 0, val_min = 0, val_max = 100),
+ ),
+ ),
+
+
+ Automatic_N_2_Selection = FACT(statut='f',
+
+ BusesList = SIMP(statut = 'o', typ = 'R', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'),
+ LinesList = SIMP(statut = 'o', typ = 'R', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'),
+ TransformersList = SIMP(statut = 'o', typ = 'TXM', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'),
+ ),
+
+ MultipleContingencyList = FACT (statut='f',
+ max="**",
+ ComponentList=SIMP(statut='o', typ = 'TXM', max='**', homo = 'SansOrdreNiDoublon',),
+ ),
+
+ )
+
+CONTINGENCY_PROCESSING = MACRO ( nom = 'CONTINGENCY_PROCESSING',
+ sd_prod = opsPSEN_N1.PROCESS,
+ op_init = opsPSEN_N1.PROCESS_context,
+
+ #sd_prod=None,
+
+ op = None,
+ fichier_ini = 1,
+ fr = "",
+ ang="",
+ XLS_file = SIMP(statut="o", typ = ('Fichier', 'XLS file (*.xls);;All Files (*)',),),
+ TabList = SIMP(statut = 'f', typ = 'TXM', min = 0, max = '**', homo = 'SansOrdreNiDoublon'),
+
+# b_highVoltage = BLOC(condition="'High Voltage 0' in TabList",
+# HighVoltageBuses = SIMP(statut = 'o', typ = 'TXM', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'),
+# HighVoltageContingencies = SIMP(statut = 'o', typ = 'TXM', min = 0, max = '**', defaut = (), homo = 'SansOrdreNiDoublon'),
+# ),
+
+ )
+
+Ordre_Des_Commandes = ('CASE_SELECTION' , 'N_PROCESSING_OPTIONS' , 'CONTINGENCY_OPTIONS' , 'CONTINGENCY_SELECTION',)
--- /dev/null
+#!/usr/bin/env python
+# -*- 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
+#
+"""
+ Ce module sert a lancer EFICAS configure pour Code_Aster
+"""
+# Modules Python
+# Modules Eficas
+
+import sys,os
+#sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..'))
+import prefs
+name='prefs_'+prefs.code
+__import__(name)
+
+#acceder scripts de Lucie
+path1 = os.path.abspath(os.path.join(os.path.abspath(__file__),'TreatOutputs'))
+path1 = 'C:\\Logiciels DER\\PSEN_V15\\Code\\ProcessOutputs_Eficas\TreatOutputs'
+sys.path.append(path1)
+
+
+from InterfaceQT4 import eficas_go
+eficas_go.lance_eficas(code=prefs.code)
#\r
#CONTEXT.debug = 1\r
\r
-\r
+VERSION_CATALOGUE="2.0.0";\r
\r
JdC = JDC_CATA ( code = 'SPECA',\r
execmodul = None,\r
fr = "Specification des analyses",\r
TYPE_ANALYSE = SIMP(statut='o', typ='TXM',into=('STATIQUE', 'MODALE', 'HARMONIQUE', 'TRANSITOIRE', 'TRANSITOIRE_ACCIDENTEL','SYNTHESE')),\r
# pour V1.1 flexion uniquement\r
- TYPE_COMPORTEMENT = SIMP(statut='o', typ='TXM',into=('FLEXION'),defaut='FLEXION',fr="Renseignement du type de comportement voulu"),\r
-\r
+ TYPE_COMPORTEMENT = BLOC(condition = "TYPE_ANALYSE in ('MODALE','HARMONIQUE','STATIQUE','TRANSITOIRE','TRANSITOIRE_ACCIDENTEL','SYNTHESE')",\r
+ FLEXION = SIMP(statut='o',typ='TXM',into=('OUI',),defaut='OUI',fr="Inclure la flexion ?"),\r
+ TORSION = SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Inclure la torsion ?"),\r
+ COMPRESSION = SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Inclure la compression ?"),\r
+ ),\r
### ----- CALCUL STATIQUE ----- ##\r
ANALYSE_STATIQUE = BLOC(condition = "TYPE_ANALYSE == 'STATIQUE' ",\r
\r
FREQ = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence centrale (Hz)"),\r
NMAX_FREQ = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre maximal de frequence"),\r
), # fin CENTRE\r
+ METHODE=SIMP(statut='f',typ='TXM',min=1,max=1,into=('QZ','SORENSEN'),defaut='SORENSEN',fr="Choix de la méthode de résolution"),\r
\r
POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Choix du type de post-traitement",\r
TYPE = SIMP(statut='o',typ='TXM',defaut=None,into=('TABLEAU_PARAM_MODAUX','DIAG_CAMPBELL'),),\r
\r
### ----- CALCUL TRANSITOIRE ----- ##\r
ANALYSE_TRANSISTOIRE = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE' ",fr="Analyse transitoire",\r
+ POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"),\r
VITESSE = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,into=('CONSTANTE','VARIABLE'),fr="Renseignement du type de vitesse de rotation"),\r
BASE_C = BLOC(condition ="VITESSE == 'CONSTANTE'",\r
BASE_CALCUL = SIMP(statut='o',typ='TXM',into=('PHYSIQUE','MODALE'),defaut=None,fr="Choix de la base du calcul transitoire"),\r
MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la magnitude de la charge balourd (en kg.m)"),\r
FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la fonction appliquee de la charge balourd (autant de valeurs que de vitesses de rotation)"),\r
PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (en degres)"),\r
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseigner l'instant pour déclencher le balourd"),\r
+ TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseigner le temps pour la montée jusqu'à la valeur finale du balourd"),\r
),# fin BALOURD\r
FORCE = BLOC(condition = "CHARGES == 'FORCE' ",fr="Application d'une force",\r
PARAM_FORCE = FACT(statut='o',min=1,max='**',fr="Parametres de la force",\r
LIST_INST = BLOC(condition = "PARAM_TEMPS == 'LISTE'",fr="Renseignement d'une liste de pas",\r
LISTE = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste de pas"),\r
), # fin LIST_INST\r
+ PAS_ARCHIVAGE = SIMP(statut='o',typ='I',max=1,defaut=None,fr="Renseignement du pas d'archivage",),\r
SCHEMA_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('NEWMARK','EULER','WILSON','ADAPT_ORDRE1','ADAPT_ORDRE2','DIFF_CENTRE'),defaut='NEWMARK',fr="Choix d'un schema temporel"),\r
NEWMARK = BLOC(condition = "SCHEMA_TEMPS == 'NEWMARK' ",fr="Choix de la methode de NEWMARK",\r
BETA = SIMP(statut='f',typ='R',max=1,defaut=0.25,fr="Renseignement de la valeur beta pour la methode de NEWMARK"),\r
### ----- CALCUL COUPLE CODE_ASTER/EYDOS ----- ##\r
ANALYSE_TRANSITOIRE_ACCIDENTEL = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE_ACCIDENTEL' ",fr="Analyse transitoire accidentelle",\r
#BASE_MODALE = FACT(statut='o', fr="Choix des parametres de la base modale", \r
+ POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"),\r
BASE_MODALE = BLOC(condition = "True", fr="Choix des parametres de la base modale",\r
regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de mode"),\r
MAGNITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la magnitude de la charge balourd (en kg.m)"),\r
FONC_APPLI = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la fonction appliquee de la charge balourd (autant de valeurs que de vitesses de rotation)"),\r
PHASE_DEG = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du decalage de la phase de la charge balourd (en degres)"),\r
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseigner l'instant pour déclencher le balourd"),\r
+ TEMPS_MONTEE=SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseigner le temps pour la montée jusqu'à la valeur finale du balourd"),\r
),# fin BALOURD\r
# a commenter\r
# 20121018 retrait de defaut_fn a la demande de EDF\r
#LISTE = SIMP(statut='f',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste de pas"),\r
#), # fin LIST_INST\r
PAS_ARCHIVAGE = SIMP(statut='o',typ='I',max=1,defaut=None,fr="Renseignement du pas d'archivage",),\r
+ PARA_MEM = SIMP(statut='f',typ='I',max=1,defaut=6400,fr="Renseigner la taille de la memoire en Mo",),\r
+ PARA_CPU = SIMP(statut='f',typ='I',max=1,defaut=10000,fr="Renseigner le temps CPU max en secondes",),\r
SCHEMA_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('EULER','ADAPT_ORDRE1','ADAPT_ORDRE2'),defaut='ADAPT_ORDRE2',fr="Choix d'un schema temporel"),\r
\r
## POST_TRAITEMENTS de l'analyse transitoire\r
--- /dev/null
+## -*- coding: utf-8 -*-\r
+#\r
+## --------------------------------------------------\r
+## debut entete\r
+## --------------------------------------------------\r
+#\r
+from Accas import *\r
+\r
+\r
+# rend disponible le type tuple (liste)\r
+import types\r
+class Tuple:\r
+ def __init__(self,ntuple):\r
+ self.ntuple=ntuple\r
+\r
+ def __convert__(self,valeur):\r
+ if type(valeur) == types.StringType:\r
+ return None\r
+ if len(valeur) != self.ntuple:\r
+ return None\r
+ return valeur\r
+\r
+ def info(self):\r
+ return "Tuple de %s elements" % self.ntuple\r
+\r
+ __repr__=info\r
+ __str__=info\r
+\r
+\r
+\r
+#\r
+#CONTEXT.debug = 1\r
+\r
+VERSION_CATALOGUE="2016.0.0";\r
+\r
+JdC = JDC_CATA ( code = 'SPECA',\r
+ execmodul = None,\r
+ regles=(AU_MOINS_UN('SPECIFICATION_ANALYSE',),\r
+ AU_PLUS_UN('SPECIFICATION_ANALYSE',),\r
+ ),\r
+ )# Fin JDC_CATA\r
+\r
+## ----- SPECIFICATION DE L'ETUDE ----- ##\r
+SPECIFICATION_ANALYSE= MACRO (nom = 'SPECIFICATION_ANALYSE',\r
+ op = None,\r
+ UIinfo = {"groupes":("Machine tournante",)},\r
+ fr = "Specification des analyses",\r
+ TYPE_ANALYSE = SIMP(statut='o', typ='TXM',into=('STATIQUE', 'MODALE', 'HARMONIQUE', 'TRANSITOIRE', 'TRANSITOIRE_ACCIDENTEL','SYNTHESE')),\r
+ # pour V1.1 flexion uniquement\r
+ #TYPE_COMPORTEMENT = SIMP(statut='o', typ='TXM',into=('FLEXION',),defaut='FLEXION',fr="Renseignement du type de comportement voulu"),\r
+ TYPE_COMPORTEMENT = BLOC(condition = "TYPE_ANALYSE in ('MODALE','HARMONIQUE','STATIQUE','TRANSITOIRE','TRANSITOIRE_ACCIDENTEL')",\r
+ FLEXION = SIMP(statut='o',typ='TXM',into=('OUI',),defaut='OUI',fr="Prise en compte la flexion de la ligne d'arbres: obligatoire"),\r
+ TORSION = SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Choix de la prise en compte la torsion de la ligne d'arbres"),\r
+ COMPRESSION = SIMP(statut='f',typ='TXM',into=('OUI','NON'),defaut='NON',fr="Choix de la prise en compte la traction/compression de la ligne d'arbres"),\r
+ ),\r
+\r
+ SURCHARGE=BLOC(condition = "TYPE_ANALYSE in ('MODALE','HARMONIQUE','STATIQUE','TRANSITOIRE','TRANSITOIRE_ACCIDENTEL','SYNTHESE')",statut="f",\r
+ TEMPLATE=SIMP( statut="f",\r
+ typ=("Fichier","Fichier Template (*.tpl)"),\r
+ min=1,max=1,\r
+ fr="Utiliser un template d'analyse modifie"\r
+ ),\r
+ PARAMETRES= FACT(statut='f',min=1,max='**',fr="Definition et renseignement des parametres utilises dans le template surcharge",\r
+ CLE=SIMP(statut='o',typ='TXM',defaut=None,fr="Nom du parametre dans le template"),\r
+ TYPE=SIMP(statut='o',typ='TXM',into=('ENTIER','REEL','CHAINE','FICHIER','REPERTOIRE'),fr="Nature du parametre a renseigner"),\r
+ ENTIER=BLOC(condition="TYPE=='ENTIER'",\r
+ VALUE=SIMP(statut='o',typ='I',defaut=0,fr="Renseignement d'un nombre entier"),\r
+ ),\r
+ REEL=BLOC(condition="TYPE=='REEL'",\r
+ VALUE=SIMP(statut='o',typ='R',defaut=0.0,fr="Renseignement d'un nombre reel"),\r
+ ),\r
+ CHAINE=BLOC(condition="TYPE=='CHAINE'",\r
+ VALUE=SIMP(statut='o',typ='TXM',defaut='',fr="Renseignement d'une chaine de caracteres"),\r
+ ),\r
+ FICHIER=BLOC(condition="TYPE=='FICHIER'",\r
+ VALUE=SIMP(statut='o',typ=("Fichier","All files (*.*)"),fr="Renseignement d'un fichier")\r
+ ),\r
+ REPERTOIRE =BLOC(condition="TYPE=='REPERTOIRE'",\r
+ VALUE=SIMP(statut='o',typ="Repertoire",fr="Renseignement d'un repertoire")\r
+ ),\r
+\r
+ ),\r
+ ),\r
+\r
+\r
+\r
+### ----- CALCUL STATIQUE ----- ##\r
+ ANALYSE_STATIQUE = BLOC(condition = "TYPE_ANALYSE == 'STATIQUE' ",fr="Analyse statique (vitesse de rotation nulle de la ligne d'arbres)", \r
+ CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique",\r
+ 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"),\r
+ POIDS = BLOC(condition = "TYPE == 'POIDS' ",fr="Prise en compte du champ de pesanteur",\r
+ GRAVITE = SIMP(statut='o',typ='R',defaut=9.81,fr="Renseignement de l'intensite de la gravite (m/s^2)"),\r
+ DIRECTION = SIMP(statut='o',typ='R',min=3,max=3,defaut=(1,0,0),fr="Renseignement de la direction de la force de gravite"),\r
+ ), # fin POIDS\r
+ FORCE = BLOC(condition = "TYPE == 'FORCE' ",fr="Application d'une force ponctuelle",\r
+ POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique la force (m)"),\r
+ AMPLITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant la force (N)"),\r
+ #FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"),\r
+ ), # fin FORCE\r
+ MOMENT = BLOC(condition = "TYPE == 'MOMENT' ",fr="Application d'un moment ponctuel",\r
+ POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"),\r
+ AMPLITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"),\r
+ ), # fin MOMENT\r
+ DELIGNAGE = BLOC(condition = "TYPE == 'DELIGNAGE' ",fr="Application d'un delignage sur un ou plusieurs paliers",\r
+ NOM_PALIER = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom du palier deligne"),\r
+ DX = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du delignage suivant X du palier (m)"),\r
+ DY = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du delignage suivant Y du palier (m)"),\r
+ ), # fin Delignage\r
+ ), #fin CHARGES\r
+ \r
+ # POST-TRAITEMENTS DU CALCUL STATIQUE\r
+ POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",\r
+ CONTRAINTES = SIMP(statut='o',typ='TXM',into=('OUI', 'NON'),defaut='NON',fr="Export des contraintes en tout noeud de la ligne d'arbres"),\r
+ ), #fin POST_TRAITEMENTS\r
+ ),# fin ANALYSE_STATIQUE\r
+\r
+### ----- CALCUL MODALE ----- ##\r
+ ANALYSE_MODALE = BLOC(condition = "TYPE_ANALYSE == 'MODALE' ",fr="Analyse modale de la ligne d'arbres",\r
+ 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)"),\r
+ BASE_MODALE = BLOC(condition="BASE_CALCUL=='MODALE'",fr="Resolution sur base modale",\r
+ regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
+ NB_MODES=SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),\r
+ 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)"),\r
+ ), # fin BASE_MODALE\r
+ 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"),\r
+ 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"),\r
+ VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste des vitesses de rotation etudiees (tr/min)"),\r
+ OPTION_CALCUL = SIMP(statut='o',typ='TXM',min=1,max=1,into=('PLUS_PETITE','CENTRE'),defaut=None,fr="Choix de l'option de calcul"),\r
+ PLUS_PETITE = BLOC(condition="OPTION_CALCUL=='PLUS_PETITE'",fr="Calcul des n premieres frequences",\r
+ NMAX_FREQ = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre maximal de frequences a calculer"),\r
+ ), # fin PLUS_PETITE\r
+ CENTRE = BLOC(condition="OPTION_CALCUL=='CENTRE'",fr="Calcul d'un nombre n de frequences autour d'une frequence donnee",\r
+ FREQ = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence centrale (Hz)"),\r
+ NMAX_FREQ = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre maximal de frequences"),\r
+ ), # fin CENTRE\r
+ METHODE=SIMP(statut='f',typ='TXM',min=1,max=1,into=('QZ','SORENSEN'),defaut='SORENSEN',fr="Choix de la methode de resolution"),\r
+\r
+ # POST-TRAITEMENTS DU CALCUL MODAL\r
+ POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",\r
+ TYPE = SIMP(statut='o',typ='TXM',into=('AUCUN','DIAG_CAMPBELL'), defaut = 'AUCUN'),\r
+ DIAG_CAMPBELL = BLOC(condition="TYPE == 'DIAG_CAMPBELL'",fr="Choix des options du diagramme de Campbell",\r
+ PRECESSION = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,into=('SOMME','PLUS_GRANDE_ORBITE'),fr="Critere de determination de la precession"),\r
+ SUIVI= SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,into=('SANS_TRI','TRI_PREC','TRI_FORM_MOD'),fr="Methode de suivi des modes"),\r
+ NB_MODES = SIMP(statut='o',typ='I',min=1,max=1,defaut=None,fr="Nombre de modes affiches dans le diagramme, doit etre inferieur au nombre de modes calcules (NMAX_FREQ)"),\r
+ ), # fin DIAG_CAMPBELL\r
+ ),# fin POST_TRAITEMENTS\r
+ ), # fin ANALYSE_MODALE\r
+\r
+## ----- CALCUL HARMONIQUE ----- ##\r
+ ANALYSE_HARMONIQUE = BLOC(condition = "TYPE_ANALYSE == 'HARMONIQUE' ",fr="Analyse harmonique de la ligne d'arbres",\r
+ \r
+ ## specification calcul harmonique\r
+ 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)"),\r
+ BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Resolution sur base modale",\r
+ #MODALE = FACT(statut='o',\r
+ regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
+ NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),\r
+ 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)"),\r
+ #),# fin MODALE\r
+ ),# fin BASE_MODALE\r
+ AMORTISSEMENT_P = BLOC(condition = "BASE_CALCUL == 'PHYSIQUE' ",\r
+ AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL',),defaut='STRUCTUREL',fr="Choix du type d'amortissement"),\r
+ ), # fin AMORTISSEMENT_P\r
+ AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ",\r
+ AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
+ AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
+ #AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"),\r
+ 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"),\r
+ ),# fin AMOR_MODALE\r
+ ), # fin AMORTISSEMENT_M\r
+ VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement de la liste des vitesses de rotation etudiees (tr/min)"),\r
+ # 20121018 retrait de defaut_fn a la demande de EDF\r
+ CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique",\r
+ TYPE = SIMP(statut='o',typ='TXM',into=('BALOURD','HARMONIQUE'),defaut=None,min=1,max=1,fr="Choix du type de chargement a appliquer"),\r
+ BALOURD = BLOC(condition = "TYPE == 'BALOURD' ",fr="Chargement de type balourd",\r
+ POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique le balourd (m)"),\r
+ AMPLITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude du balourd (kg.m)"),\r
+ 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)"),\r
+ ),# fin BALOURD\r
+ HARMONIQUE = BLOC(condition = "TYPE == 'HARMONIQUE' ",fr="Charge harmonique",\r
+ 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)"),\r
+ FREQUENCE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence d'excitation harmonique (Hz)"),\r
+ AMPLITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude de la charge harmonique, (N)"),\r
+ 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)"),\r
+ 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)"),\r
+ 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"),\r
+ ), # fin HARMONIQUE\r
+ ), #FIN CHARGES\r
+\r
+ # POST-TRAITEMENTS DU CALCUL HARMONIQUE\r
+ POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",\r
+ CONTRAINTES = SIMP(statut='o',typ='TXM',into=('OUI', 'NON'),defaut='NON',fr="Export des contraintes en tout noeud de la ligne d'arbres"),\r
+ ),\r
+ ## fin POST_TRAITEMENTS\r
+ \r
+ ),# fin ANALYSE_HARMONIQUE\r
+\r
+### ----- CALCUL TRANSITOIRE ----- ##\r
+ ANALYSE_TRANSISTOIRE = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE' ",fr="Analyse transitoire de la ligne d'arbres",\r
+ \r
+ VITESSE = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,into=('CONSTANTE','VARIABLE'),fr="Renseignement du type de vitesse de rotation consideree"),\r
+ BASE_C = BLOC(condition ="VITESSE == 'CONSTANTE'",fr="Analyse transitoire a vitesse constante",\r
+ 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)"),\r
+ BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Resolution sur base modale",\r
+ regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
+ NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),\r
+ 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)"),\r
+ ),# fin BASE_MODALE\r
+ AMORTISSEMENT_M = BLOC(condition = "BASE_CALCUL == 'MODALE' ",\r
+ AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
+ AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
+ 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"),\r
+ ),# fin AMOR_MODALE\r
+ ), # fin AMORTISSEMENT_M\r
+ ), # fin BASE_C\r
+ BASE_V = BLOC(condition ="VITESSE == 'VARIABLE'",fr="Analyse transitoire a vitesse variable",\r
+ 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)"),\r
+ BASE_MODALE = BLOC(condition = "BASE_CALCUL == 'MODALE' ", fr="Resolution sur base modale",\r
+ regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
+ NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),\r
+ 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)"),\r
+ ),# fin BASE_MODALE\r
+ AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('REDUIT','STRUCTUREL'),defaut=None,fr="Choix du type d'amortissement"),\r
+ AMOR_MODAL = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
+ #AMOR_REDUIT = SIMP(statut='o', typ='R', min=1, max=1,defaut=None,fr="Renseignement de l'amortissement modal reduit (en %)"),\r
+ 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"),\r
+ ),# fin AMOR_MODALE\r
+ ), # fin BASE_C\r
+ VITESSE_CONSTANTE = BLOC(condition = "VITESSE == 'CONSTANTE' ", fr="Vitesse de rotation constante",\r
+ VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation (tr/min)"),\r
+ ),# fin VITESSE_CONSTANTE\r
+ VITESSE_VARIABLE = BLOC(condition = "VITESSE == 'VARIABLE' ", fr="Vitesse de rotation variable", regles=UN_PARMI('LINEAIRE','EXPONENTIELLE','FORMULE'),\r
+ LINEAIRE = FACT(statut='f',min=1,max=1,fr="Variation lineaire de la vitesse de rotation",\r
+ VITESSE_INITIALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation initiale (tr/min)",),\r
+ VITESSE_FINALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation finale (tr/min)",),\r
+ DEPHASAGE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la postion angulaire initiale (degres)"),\r
+ 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)"),\r
+ ),# fin LINEAIRE\r
+ EXPONENTIELLE = FACT(statut='f',min=1,max=1,fr="Variation exponentielle de la vitesse de rotation",\r
+ VITESSE_INITIALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation initiale (tr/min)",),\r
+ VITESSE_FINALE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation finale (tr/min)",),\r
+ DEPHASAGE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la postion angulaire initiale (degres)"),\r
+ LAMBDA = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement du parametre de la loi exponentielle (Hz)"),\r
+ 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)"),\r
+ ),# fin EXPONENTIELLE\r
+ FORMULE = FACT(statut='f',min=1,max=1,fr="Fonction personnalisee decrivant la variation de la vitesse de rotation",\r
+ FICHIER = SIMP(statut='o',typ=('Fichier','Formule vitesse rotation (*.*)'),min=1,max=1,defaut=None,fr="Renseignement du fichier contenant les fonctions de la vitesse de rotation"),\r
+ PHI = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom de la formule de position angulaire (max 8 caractere)"),\r
+ OM = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom de la formule de vitesse angulaire (max 8 caractere)"),\r
+ ACC = SIMP(statut='o',typ='TXM',min=1,max=1,defaut=None,fr="Renseignement du nom de la formule d'acceleration angulaire (max 8 caractere)"),\r
+ VITE_MOY = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la moyenne des vitesses balayees (tr/min)"),\r
+ 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)"),\r
+ ),# fin FORMULE\r
+ ),# fin VITESSE_VARIABLE\r
+ #POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"),\r
+\r
+ CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique",\r
+ 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"),\r
+ BALOURD = BLOC(condition = "TYPE == 'BALOURD' ",fr="Chargement de type balourd",\r
+ POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique le balourd (m)"),\r
+ AMPLITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude du balourd (kg.m)"),\r
+ 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)"),\r
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du balourd (s)"),\r
+ 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)"),\r
+ ),# fin BALOURD\r
+ POIDS = BLOC(condition = "TYPE == 'POIDS' ",fr="Prise en compte du champ de pesanteur",\r
+ GRAVITE = SIMP(statut='o',typ='R',defaut=9.81,fr="Renseignement de l'intensite de la gravite (m/s^2)"),\r
+ DIRECTION = SIMP(statut='o',typ='R',min=3,max=3,defaut=(1,0,0),fr="Renseignement de la direction de la force de gravite"),\r
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du poids (s)"),\r
+ 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)"),\r
+ ), # fin POIDS\r
+ FORCE = BLOC(condition = "TYPE == 'FORCE' ",fr="Application d'une force ponctuelle",\r
+ POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique la force (m)"),\r
+ AMPLITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant la force (N)"),\r
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition de la force (s)"),\r
+ 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)"),\r
+ #FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"),\r
+ ), # fin FORCE\r
+ MOMENT = BLOC(condition = "TYPE == 'MOMENT' ",fr="Application d'un moment ponctuel",\r
+ POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"),\r
+ AMPLITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"),\r
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du moment (s)"),\r
+ 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)"),\r
+ ), # fin MOMENT\r
+ HARMONIQUE = BLOC(condition = "TYPE == 'HARMONIQUE' ",fr="Charge harmonique",\r
+ 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)"),\r
+ FREQUENCE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence d'excitation harmonique (Hz)"),\r
+ AMPLITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude de la charge harmonique, (N)"),\r
+ 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)"),\r
+ 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)"),\r
+ #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)"),\r
+ 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)"),\r
+ 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"),\r
+ ), # fin HARMONIQUE\r
+ ), #fin CHARGES\r
+\r
+ ETAT_INIT = FACT(statut='o',fr="Renseignement de l'etat initial du calcul",\r
+ #RESULTAT = SIMP(statut='o',typ=('sd_resultat'),max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
+ RESULTAT = SIMP(statut='f',typ='TXM',max=1,defaut=None,fr="Choix de la structure de donnees de type 'resultat' de Code_Aster"),\r
+ 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)"),\r
+ ), # fin ETAT_INIT\r
+ PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS','LISTE'),defaut=None,fr="Choix du type de discretisation temporelle"),\r
+ #PAS = BLOC(condition = "VITESSE == 'VARIABLE'",fr="Renseignement des parametres des pas",\r
+ PAS = BLOC(condition = "PARAM_TEMPS == 'PAS'",fr="Renseignement de pas de temps",\r
+ TEMPS_PAS = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps d'integration(en s)"),\r
+ INST_INI = SIMP(statut='f',typ='R',max=1,defaut=None,fr="Renseignement de l'instant initial du calcul (s)"),\r
+ INST_FIN = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de l'instant final du calcul (s)"),\r
+ ), # fin TEMPS_PAS\r
+ LIST_INST = BLOC(condition = "PARAM_TEMPS == 'LISTE'",fr="Renseignement d'une liste d'instants",\r
+ LISTE = SIMP(statut='o',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste d'instants auxquels resoudre le calcul (s)"),\r
+ ), # fin LIST_INST\r
+ 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)",),\r
+ SCHEMA_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('NEWMARK','EULER','WILSON','ADAPT_ORDRE1','ADAPT_ORDRE2','DIFF_CENTRE'),defaut='NEWMARK',fr="Choix d'un schema d'integration temporelle"),\r
+ NEWMARK = BLOC(condition = "SCHEMA_TEMPS == 'NEWMARK' ",fr="Methode de NEWMARK",\r
+ BETA = SIMP(statut='f',typ='R',max=1,defaut=0.25,fr="Renseignement de la valeur beta pour la methode de NEWMARK"),\r
+ GAMMA = SIMP(statut='f',typ='R',max=1,defaut=0.25,fr="Renseignement de la valeur gamma pour la methode de NEWMARK"),\r
+ ),# fin NEWMARK\r
+ WILSON = BLOC(condition = "SCHEMA_TEMPS == 'WILSON' ",fr="Methode de WILSON",\r
+ THETA = SIMP(statut='f',typ='R',max=1,defaut=1.4,fr="Renseignement de la valeur theta pour la methode de WILSON"),\r
+ ), # fin WILSON\r
+ \r
+ # POST-TRAITEMENTS DU CALCUL TRANSITOIRE\r
+ POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",\r
+ CONTRAINTES = SIMP(statut='o',typ='TXM',into=('OUI', 'NON'),defaut='NON',fr="Export des contraintes en tout noeud de la ligne d'arbres"),\r
+ ), # fin POST_TRAITEMENTS\r
+ \r
+ ), # fin ANALYSE_TRANSISTOIRE\r
+ \r
+\r
+### ----- CALCUL COUPLE CODE_ASTER/EYDOS ----- ##\r
+ ANALYSE_TRANSITOIRE_ACCIDENTEL = BLOC(condition = "TYPE_ANALYSE == 'TRANSITOIRE_ACCIDENTEL' ",fr="Analyse transitoire accidentelle de la ligne d'arbres",\r
+ #BASE_MODALE = FACT(statut='o', fr="Choix des parametres de la base modale", \r
+ #POIDS = SIMP(statut='o',typ='TXM',into=('OUI','NON'),defaut='OUI',fr="Choix d'application d'un poids"),\r
+ BASE_MODALE = BLOC(condition = "True", fr="Resolution sur base modale",\r
+ regles=UN_PARMI('NB_MODES','FREQ_MAX'),\r
+ NB_MODES = SIMP(statut='f',typ='I',min=1,max=1,defaut=None,fr="Renseignement du nombre de modes constituant la base de projection"),\r
+ 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)"),\r
+ ),# fin BASE_MODALE \r
+ # cft 20131217 suppression amortissement reduit\r
+ #AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL','REDUIT'),defaut=None,fr="Choix du type d'amortissement"),\r
+ AMORTISSEMENT = SIMP(statut='o', typ='TXM',into=('STRUCTUREL',),defaut='STRUCTUREL',fr="Choix du type d'amortissement"),\r
+ AMOR_REDUIT = BLOC(condition = "AMORTISSEMENT == 'REDUIT' ",\r
+ #LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements"),\r
+ LIST_AMOR = SIMP(statut='o', typ='R', min=1,max='**',defaut=None,fr="Renseignement de la liste des amortissements modaux reduits (en %), la taille de la liste doit etre egale au nombre de modes constituant la base de projection"),\r
+ ),# fin AMOR_REDUIT\r
+ VITESSE_ROTATION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la vitesse de rotation (tr/min)"),\r
+\r
+ CHARGES= FACT(statut='o',min=1,max='**',fr="Definition et renseignement du chargement applique",\r
+ 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"),\r
+ BALOURD = BLOC(condition = "TYPE == 'BALOURD' ",fr="Chargement de type balourd",\r
+ POSITION = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la position axiale ou s'applique le balourd (m)"),\r
+ AMPLITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude du balourd (kg.m)"),\r
+ 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)"),\r
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du balourd (s)"),\r
+ 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)"),\r
+ ),# fin BALOURD\r
+ POIDS = BLOC(condition = "TYPE == 'POIDS' ",fr="Prise en compte du champ de pesanteur",\r
+ GRAVITE = SIMP(statut='o',typ='R',defaut=9.81,fr="Renseignement de l'intensite de la gravite (m/s^2)"),\r
+ DIRECTION = SIMP(statut='o',typ='R',min=3,max=3,defaut=(1,0,0),fr="Renseignement de la direction de la force de gravite"),\r
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du poids (s)"),\r
+ 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)"),\r
+ ), # fin POIDS\r
+ FORCE = BLOC(condition = "TYPE == 'FORCE' ",fr="Application d'une force ponctuelle",\r
+ POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"),\r
+ AMPLITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"),\r
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition de la force (s)"),\r
+ 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)"),\r
+ #FONC_APPLI = SIMP(statut='f',typ='R',min=2,max=2,defaut=None,fr="Renseignement de la fonction appliquee"),\r
+ ), # fin FORCE\r
+ MOMENT = BLOC(condition = "TYPE == 'MOMENT' ",fr="Application d'un moment ponctuel",\r
+ POSITION = SIMP(statut='o',typ='R',defaut=None,fr="Renseignement de la position axiale ou s'applique le moment (m)"),\r
+ AMPLITUDE = SIMP(statut='o',typ='R',min=3,max=3,defaut=None,fr="Renseignement des 3 composantes decrivant le moment (N/m)"),\r
+ INST_APPLI= SIMP(statut='f',typ='R',min=1,max=1,defaut=0,fr="Renseignement de l'instant d'apparition du moment (s)"),\r
+ 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)"),\r
+ ), # fin MOMENT\r
+ HARMONIQUE = BLOC(condition = "TYPE == 'HARMONIQUE' ",fr="Charge harmonique",\r
+ 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)"),\r
+ FREQUENCE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de la frequence d'excitation harmonique (Hz)"),\r
+ AMPLITUDE = SIMP(statut='o',typ='R',min=1,max=1,defaut=None,fr="Renseignement de l'amplitude de la charge harmonique, (N)"),\r
+ 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)"),\r
+ 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)"),\r
+ #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)"),\r
+ 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)"),\r
+ 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"),\r
+ ), # fin HARMONIQUE\r
+ ), #fin CHARGES\r
+ ETAT_INIT = FACT(statut='o',fr="Renseignement de l'etat initial du calcul",\r
+ #RESULTAT = SIMP(statut='o',typ=('sd_resultat'),max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
+ # 20121126\r
+ #RESULTAT = SIMP(statut='o',typ='TXM',max=1,defaut=None,fr="Choix de la structure de donnees resultat de code aster "),\r
+ 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)"),\r
+ ), # fin ETAT_INIT\r
+ #PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS','LIST_INST'),defaut=None,fr="Choix du type de parametrage temporel"),\r
+ # 20121126\r
+ PARAM_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('PAS',),defaut="PAS",fr="Choix du type de discretisation temporelle",),\r
+ PAS = BLOC(condition = "PARAM_TEMPS == 'PAS' ",fr="Renseignement de pas de temps",\r
+ PAS_ASTER = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps d'integration Code_Aster (en s)",),\r
+ PAS_EDYOS = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement du pas de temps d'integration Edyos (en s)",),\r
+ INST_FIN = SIMP(statut='o',typ='R',max=1,defaut=None,fr="Renseignement de l'instant final du calcul (en s)",),\r
+ ), # fin TEMPS_PAS\r
+ #LIST_INST = BLOC(condition = "PARAM_TEMPS == 'LIST_INST' ",fr="Renseignement d'une liste de pas",\r
+ #LISTE = SIMP(statut='f',typ='R',min=1,max='**',defaut=None,fr="Renseignement d'une liste de pas"),\r
+ #), # fin LIST_INST\r
+ 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)",),\r
+ PARA_MEM = SIMP(statut='f',typ='I',max=1,defaut=6400,fr="Renseigner la taille maximale de la memoire (Mo)",),\r
+ PARA_CPU = SIMP(statut='f',typ='I',max=1,defaut=10000,fr="Renseigner le temps CPU maximal (s)",),\r
+ SCHEMA_TEMPS = SIMP(statut='o',typ='TXM',max=1,into=('EULER','ADAPT_ORDRE1','ADAPT_ORDRE2'),defaut='ADAPT_ORDRE2',fr="Choix d'un schema d'integration temporelle"),\r
+ \r
+ # POST-TRAITEMENTS DU CALCUL TRANSITOIRE ACCIDENTEL\r
+ POST_TRAITEMENTS = FACT(statut='o',max='**',fr="Definition et renseignement des post-traitements",\r
+ CONTRAINTES = SIMP(statut='o',typ='TXM',into=('OUI', 'NON'),defaut='NON',fr="Export des contraintes en tout noeud de la ligne d'arbres"),\r
+ ), # fin POST_TRAITEMENTS\r
+ ), # fin ANALYSE_TRANSITOIRE_ACCIDENTEL\r
+ \r
+)# fin SPECIFICATION_ANALYSE\r
#
catalogues=(
- ('SPECA','default',os.path.join(repIni,'SPECA_Cata_V1.py'),'python','python'),
+ ('SPECA','V2016',os.path.join(repIni,'SPECA_Cata_V2016.py'),'python','python'),
)
--- /dev/null
+#!/usr/bin/env python
+# -*- coding: utf-8 -*-
+# Copyright (C) 2007-2013 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
+#
+"""
+ Ce module sert a lancer EFICAS configure pour MAP
+"""
+# Modules Python
+# Modules Eficas
+import prefs
+name='prefs_'+prefs.code
+__import__(name)
+
+
+import sys,os
+sys.path.append(os.path.join(os.path.abspath(os.path.dirname(__file__)),'..'))
+
+import prefs
+from InterfaceQT4 import eficas_go
+eficas_go.lance_eficas(code=prefs.code)
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>desRechercheCatalogue</class>
+ <widget class="QDialog" name="desRechercheCatalogue">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>817</width>
+ <height>359</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Rechercher dans le Catalogue</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="minimumSize">
+ <size>
+ <width>105</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>105</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Mot à charcher</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QComboBox" name="CBRecherche"/>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="LERecherche">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>411</width>
+ <height>41</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">background:rgb(240,240,240)</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Généalogie</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTextEdit" name="teGenea">
+ <property name="minimumSize">
+ <size>
+ <width>419</width>
+ <height>91</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Documentation</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QTextEdit" name="teDoc">
+ <property name="minimumSize">
+ <size>
+ <width>419</width>
+ <height>101</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
<context>
<name>@default</name>
<message>
- <source>Discretisations_En_Espace</source>
- <translation>Discretizations_In_Space</translation>
+ <source>COEFFICIENT_TO_CALIBRATE_TIDAL_VELOCITIES</source>
+ <translation>Coefficient to calibrate tidal velocities</translation>
</message>
<message>
- <source>Option_De_Supg</source>
- <translation>Supg_Option</translation>
+ <source>BOTTOM_TOPOGRAPHY_FILE</source>
+ <translation>Bottom topography file</translation>
</message>
<message>
- <source>Forme_De_La_Convection</source>
- <translation>Type_Of_Advection</translation>
+ <source>NUMBER_OF_CORRECTIONS_OF_DISTRIBUTIVE_SCHEMES</source>
+ <translation>Number of corrections of distributive schemes</translation>
</message>
<message>
- <source>Cote constante</source>
- <translation>Constant elevation</translation>
+ <source>WATER_DENSITY</source>
+ <translation>Water density</translation>
</message>
<message>
- <source>Cote Nulle</source>
- <translation>Zero elevation</translation>
+ <source>VALUE_OF_ATMOSPHERIC_PRESSURE</source>
+ <translation>Value of atmospheric pressure</translation>
</message>
<message>
- <source>Hauteur Nulle</source>
- <translation>Zero depth</translation>
+ <source>LISTING_FOR_PRINTOUT_PERIOD</source>
+ <translation>Listing for printout period</translation>
</message>
<message>
- <source>Hauteur constante</source>
- <translation>Constant depth</translation>
+ <source>CONSERVATIVE_N_SCHEME</source>
+ <translation>Conservative N-Scheme</translation>
</message>
<message>
- <source>Particulieres</source>
- <translation>Special</translation>
+ <source>wave_celerity_(m/s)</source>
+ <translation>Wave celerity (m/s)</translation>
</message>
<message>
- <source>Altimetrie satellite tpxo</source>
- <translation>Tpxo satellite altimetry</translation>
+ <source>scalar_flowrate_of_fluid_(m2/s)</source>
+ <translation>Scalar flowrate of fluid (m2/s)</translation>
</message>
<message>
- <source>Sequentiel</source>
- <translation>Sequential</translation>
+ <source>constant_normal_profile</source>
+ <translation>Constant normal profile</translation>
</message>
<message>
- <source>Parallele</source>
- <translation>Parallel</translation>
+ <source>LAMBERT_4_CORSICA</source>
+ <translation>Lambert 4 corsica</translation>
+ </message>
+ <message>
+ <source>MERCATOR</source>
+ <translation>Mercator</translation>
+ </message>
+ <message>
+ <source>VELOCITY_DIFFUSIVITY</source>
+ <translation>Velocity diffusivity</translation>
+ </message>
+ <message>
+ <source>LINEARIZED_PROPAGATION</source>
+ <translation>Linearized propagation</translation>
+ </message>
+ <message>
+ <source>PRINTOUT_PERIOD_FOR_DROGUES</source>
+ <translation>Printout period for drogues</translation>
+ </message>
+ <message>
+ <source>BINARY_RESULTS_FILE_FORMAT</source>
+ <translation>Binary results file format</translation>
+ </message>
+ <message>
+ <source>COMPUTATION_CONTINUED</source>
+ <translation>Computation continued</translation>
+ </message>
+ <message>
+ <source>PARALLEL_PROCESSORS</source>
+ <translation>Parallel processors</translation>
+ </message>
+ <message>
+ <source>COEFFICIENT_FOR_DIFFUSION_OF_TRACERS</source>
+ <translation>Coefficient for diffusion of tracers</translation>
+ </message>
+ <message>
+ <source>LAMBERT_3_SOUTH</source>
+ <translation>Lambert 3 south</translation>
+ </message>
+ <message>
+ <source>DIAMETER_OF_ALGAE</source>
+ <translation>Diameter of algae</translation>
+ </message>
+ <message>
+ <source>FRICTION_DATA_FILE</source>
+ <translation>Friction data file</translation>
+ </message>
+ <message>
+ <source>Real_tide_(recommended_methodology)</source>
+ <translation>Real tide (recommended methodology)</translation>
+ </message>
+ <message>
+ <source>NAMES_OF_POINTS</source>
+ <translation>Names of points</translation>
+ </message>
+ <message>
+ <source>GIGARTINA_LEPTORHYNCHOS</source>
+ <translation>Gigartina leptorhynchos</translation>
+ </message>
+ <message>
+ <source>STOP_CRITERIA</source>
+ <translation>Stop criteria</translation>
+ </message>
+ <message>
+ <source>Roe_scheme</source>
+ <translation>Roe scheme</translation>
+ </message>
+ <message>
+ <source>FINITE_VOLUME_SCHEME</source>
+ <translation>Finite volume scheme</translation>
+ </message>
+ <message>
+ <source>IMPLICITATION_COEFFICIENT_OF_TRACERS</source>
+ <translation>Implicitation coefficient of tracers</translation>
+ </message>
+ <message>
+ <source>gradient_simple</source>
+ <translation>Gradient simple</translation>
+ </message>
+ <message>
+ <source>SPATIAL_PROJECTION_TYPE</source>
+ <translation>Spatial projection type</translation>
+ </message>
+ <message>
+ <source>PHYSICAL_CHARACTERISTICS_OF_THE_TSUNAMI</source>
+ <translation>Physical characteristics of the tsunami</translation>
+ </message>
+ <message>
+ <source>direct</source>
+ <translation>Direct</translation>
+ </message>
+ <message>
+ <source>zero</source>
+ <translation>Zero</translation>
+ </message>
+ <message>
+ <source>FRICTION_COEFFICIENT</source>
+ <translation>Friction coefficient</translation>
+ </message>
+ <message>
+ <source>BREACHES_DATA_FILE</source>
+ <translation>Breaches data file</translation>
+ </message>
+ <message>
+ <source>COEFFICIENT_1_FOR_LAW_OF_TRACERS_DEGRADATION</source>
+ <translation>Coefficient 1 for law of tracers degradation</translation>
+ </message>
+ <message>
+ <source>TREATMENT_OF_FLUXES_AT_THE_BOUNDARIES</source>
+ <translation>Treatment of fluxes at the boundaries</translation>
+ </message>
+ <message>
+ <source>GLOBAL_NUMBER_OF_THE_POINT_TO_CALIBRATE_HIGH_WATER</source>
+ <translation>Global number of the point to calibrate high water</translation>
+ </message>
+ <message>
+ <source>REFERENCE_FILE_FORMAT</source>
+ <translation>Reference file format</translation>
+ </message>
+ <message>
+ <source>conjugate_residual</source>
+ <translation>Conjugate residual</translation>
+ </message>
+ <message>
+ <source>BOTTOM_SURFACES_DELWAQ_FILE</source>
+ <translation>Bottom surfaces DELWAQ file</translation>
+ </message>
+ <message>
+ <source>N_SCHEME_FOR_TIDAL_FLATS</source>
+ <translation>N-Scheme for tidal flats</translation>
+ </message>
+ <message>
+ <source>NO_FRICTION</source>
+ <translation>No friction</translation>
+ </message>
+ <message>
+ <source>no_preconditioning_</source>
+ <translation>No preconditioning </translation>
+ </message>
+ <message>
+ <source>CONTINUITY_CORRECTION</source>
+ <translation>Continuity correction</translation>
+ </message>
+ <message>
+ <source>F(T90)_LAW</source>
+ <translation>F(T90) law</translation>
+ </message>
+ <message>
+ <source>FREE_SURFACE_GRADIENT_COMPATIBILITY</source>
+ <translation>Free surface gradient compatibility</translation>
+ </message>
+ <message>
+ <source>gmres</source>
+ <translation>GMRES</translation>
+ </message>
+ <message>
+ <source>strong</source>
+ <translation>Strong</translation>
+ </message>
+ <message>
+ <source>1/h_div_(_h_nu_grad(U)</source>
+ <translation>1/h div ( h nu grad(U)</translation>
+ </message>
+ <message>
+ <source>SMAGORINSKI</source>
+ <translation>Smagorinski</translation>
+ </message>
+ <message>
+ <source>NAMES_OF_PRIVATE_VARIABLES</source>
+ <translation>Names of private variables</translation>
+ </message>
+ <message>
+ <source>NODES_DISTANCES_DELWAQ_FILE</source>
+ <translation>Nodes distances DELWAQ file</translation>
+ </message>
+ <message>
+ <source>SCHEME_OPTION_FOR_ADVECTION_OF_TRACERS</source>
+ <translation>Scheme option for advection of tracers</translation>
+ </message>
+ <message>
+ <source>MERCATOR_FOR_TELEMAC</source>
+ <translation>Mercator for telemac</translation>
+ </message>
+ <message>
+ <source>TIME_STEP_REDUCTION_FOR_K_EPSILON_MODEL</source>
+ <translation>Time step reduction for K-Epsilon model</translation>
+ </message>
+ <message>
+ <source>quasi_bubble</source>
+ <translation>Quasi-bubble</translation>
+ </message>
+ <message>
+ <source>NON_DIMENSIONAL_DISPERSION_COEFFICIENTS</source>
+ <translation>Non-dimensional dispersion coefficients</translation>
+ </message>
+ <message>
+ <source>classical_EBE</source>
+ <translation>Classical ebe</translation>
+ </message>
+ <message>
+ <source>IMPLICIT_NON_CONSERVATIVE_N_SCHEME</source>
+ <translation>Implicit non conservative n scheme</translation>
+ </message>
+ <message>
+ <source>GEOMETRY_FILE_FORMAT</source>
+ <translation>Geometry file format</translation>
+ </message>
+ <message>
+ <source>ORIGINAL_HOUR_OF_TIME</source>
+ <translation>Original hour of time</translation>
+ </message>
+ <message>
+ <source>DIFFUSIVITY_FOR_DELWAQ</source>
+ <translation>Diffusivity for DELWAQ</translation>
+ </message>
+ <message>
+ <source>Q(Z)_not_programmed</source>
+ <translation>Q(Z) not programmed</translation>
+ </message>
+ <message>
+ <source>DISSIPATION_COEFFICIENT_FOR_SECONDARY_CURRENTS</source>
+ <translation>Dissipation coefficient for secondary currents</translation>
+ </message>
+ <message>
+ <source>ALGAE_TRANSPORT_MODEL</source>
+ <translation>Algae transport model</translation>
+ </message>
+ <message>
+ <source>TOLERANCES_FOR_IDENTIFICATION</source>
+ <translation>Tolerances for identification</translation>
+ </message>
+ <message>
+ <source>WGS84_SOUTHERN_UTM</source>
+ <translation>WGS84 southern utm</translation>
+ </message>
+ <message>
+ <source>air_pressure_(Pa)</source>
+ <translation>Air pressure (Pa)</translation>
+ </message>
+ <message>
+ <source>No_model</source>
+ <translation>No model</translation>
+ </message>
+ <message>
+ <source>DELWAQ_PRINTOUT_PERIOD</source>
+ <translation>DELWAQ printout period</translation>
+ </message>
+ <message>
+ <source>DROGUES_FILE</source>
+ <translation>Drogues file</translation>
+ </message>
+ <message>
+ <source>MASS_LUMPING_FOR_WEAK_CHARACTERISTICS</source>
+ <translation>Mass-lumping for weak characteristics</translation>
+ </message>
+ <message>
+ <source>GRAVITY_ACCELERATION</source>
+ <translation>Gravity acceleration</translation>
+ </message>
+ <message>
+ <source>BINARY_DATABASE_2_FOR_TIDE</source>
+ <translation>Binary database 2 for tide</translation>
+ </message>
+ <message>
+ <source>6_points</source>
+ <translation>6 points</translation>
+ </message>
+ <message>
+ <source>TIME_RANGE_FOR_FOURIER_ANALYSIS</source>
+ <translation>Time range for fourier analysis</translation>
+ </message>
+ <message>
+ <source>EDGE_BASED_N_SCHEME</source>
+ <translation>Edge-based N-Scheme</translation>
+ </message>
+ <message>
+ <source>Priority_to_fluxes</source>
+ <translation>Priority to fluxes</translation>
+ </message>
+ <message>
+ <source>LAMBERT_1_NORTH</source>
+ <translation>Lambert 1 north</translation>
+ </message>
+ <message>
+ <source>velocity_proportional_to_square_root_of_depth</source>
+ <translation>Velocity proportional to square root of depth</translation>
+ </message>
+ <message>
+ <source>STRICKLER</source>
+ <translation>Strickler</translation>
+ </message>
+ <message>
+ <source>LAMBERT_2_EXTENDED</source>
+ <translation>Lambert 2 extended</translation>
+ </message>
+ <message>
+ <source>ELEMENTS_MASKED_BY_USER</source>
+ <translation>Elements masked by user</translation>
+ </message>
+ <message>
+ <source>NAMES_OF_TRACERS</source>
+ <translation>Names of tracers</translation>
+ </message>
+ <message>
+ <source>H_CLIPPING</source>
+ <translation>H clipping</translation>
+ </message>
+ <message>
+ <source>conjugate_residuals</source>
+ <translation>Conjugate residuals</translation>
+ </message>
+ <message>
+ <source>PARAMETER_ESTIMATION</source>
+ <translation>Parameter estimation</translation>
+ </message>
+ <message>
+ <source>CHECKING_THE_MESH</source>
+ <translation>Checking the mesh</translation>
+ </message>
+ <message>
+ <source>SOLVER_FOR_K_EPSILON_MODEL</source>
+ <translation>Solver for K-Epsilon model</translation>
+ </message>
+ <message>
+ <source>LIST_OF_FILES</source>
+ <translation>List of files</translation>
+ </message>
+ <message>
+ <source>Wave_equation</source>
+ <translation>Wave equation</translation>
+ </message>
+ <message>
+ <source>NAMES_OF_CLANDESTINE_VARIABLES</source>
+ <translation>Names of clandestine variables</translation>
+ </message>
+ <message>
+ <source>WAQTEL_STEERING_FILE</source>
+ <translation>Waqtel steering file</translation>
+ </message>
+ <message>
+ <source>MAXIMUM_NUMBER_OF_ITERATIONS_FOR_ADVECTION_SCHEMES</source>
+ <translation>Maximum number of iterations for advection schemes</translation>
+ </message>
+ <message>
+ <source>squared_conjugate_gradient</source>
+ <translation>Squared conjugate gradient</translation>
+ </message>
+ <message>
+ <source>LAW_OF_BOTTOM_FRICTION</source>
+ <translation>Law of bottom friction</translation>
+ </message>
+ <message>
+ <source>MATRIX_VECTOR_PRODUCT</source>
+ <translation>Matrix-vector product</translation>
+ </message>
+ <message>
+ <source>ACCURACY_FOR_DIFFUSION_OF_TRACERS</source>
+ <translation>Accuracy for diffusion of tracers</translation>
+ </message>
+ <message>
+ <source>cgstab</source>
+ <translation>CGSTAB</translation>
+ </message>
+ <message>
+ <source>MANNING</source>
+ <translation>Manning</translation>
+ </message>
+ <message>
+ <source>SCHEME_FOR_ADVECTION_OF_TRACERS</source>
+ <translation>Scheme for advection of tracers</translation>
+ </message>
+ <message>
+ <source>OPTION_FOR_THE_SOLVER_FOR_K_EPSILON_MODEL</source>
+ <translation>Option for the solver for K-Epsilon model</translation>
+ </message>
+ <message>
+ <source>conjugate_gradient_squared_stabilised_(cgstab)</source>
+ <translation>Conjugate gradient squared stabilised (CGSTAB)</translation>
+ </message>
+ <message>
+ <source>PELVETIOPSIS_LIMITATA</source>
+ <translation>Pelvetiopsis limitata</translation>
+ </message>
+ <message>
+ <source>LIKE_1_BUT_WITH_POROSITY_(DEFINA_METHOD)</source>
+ <translation>Like 1 but with porosity (defina method)</translation>
+ </message>
+ <message>
+ <source>FRICTION_DATA</source>
+ <translation>Friction data</translation>
+ </message>
+ <message>
+ <source>TUBES_DATA_FILE</source>
+ <translation>Tubes data file</translation>
+ </message>
+ <message>
+ <source>ZONES_FILE</source>
+ <translation>Zones file</translation>
+ </message>
+ <message>
+ <source>Mean_tide</source>
+ <translation>Mean tide</translation>
+ </message>
+ <message>
+ <source>DENSITY_EFFECTS</source>
+ <translation>Density effects</translation>
+ </message>
+ <message>
+ <source>THRESHOLD_DEPTH_FOR_RECEDING_PROCEDURE</source>
+ <translation>Threshold depth for receding procedure</translation>
+ </message>
+ <message>
+ <source>explicit</source>
+ <translation>Explicit</translation>
+ </message>
+ <message>
+ <source>DRY_ELEMENTS_FROZEN</source>
+ <translation>Dry elements frozen</translation>
+ </message>
+ <message>
+ <source>extrapolation</source>
+ <translation>Extrapolation</translation>
+ </message>
+ <message>
+ <source>conjugate_gradient_on_normal_equation</source>
+ <translation>Conjugate gradient on normal equation</translation>
+ </message>
+ <message>
+ <source>TREATMENT_OF_NEGATIVE_DEPTHS</source>
+ <translation>Treatment of negative depths</translation>
+ </message>
+ <message>
+ <source>STEERING_FILE</source>
+ <translation>Steering file</translation>
+ </message>
+ <message>
+ <source>ZONE_NUMBER_IN_GEOGRAPHIC_SYSTEM</source>
+ <translation>Zone number in geographic system</translation>
+ </message>
+ <message>
+ <source>DIFFUSION_OF_TRACERS</source>
+ <translation>Diffusion of tracers</translation>
+ </message>
+ <message>
+ <source>PREVIOUS_COMPUTATION_FILE</source>
+ <translation>Previous computation file</translation>
+ </message>
+ <message>
+ <source>DIAMETER_OF_ROUGHNESS_ELEMENTS</source>
+ <translation>Diameter of roughness elements</translation>
+ </message>
+ <message>
+ <source>friction_velocity</source>
+ <translation>Friction velocity</translation>
+ </message>
+ <message>
+ <source>NUMBER_OF_TIME_STEPS</source>
+ <translation>Number of time steps</translation>
+ </message>
+ <message>
+ <source>NEWMARK_TIME_INTEGRATION_COEFFICIENT</source>
+ <translation>Newmark time integration coefficient</translation>
+ </message>
+ <message>
+ <source>TOMAWAC_STEERING_FILE</source>
+ <translation>TOMAWAC steering file</translation>
+ </message>
+ <message>
+ <source>CONSTANT_VISCOSITY</source>
+ <translation>Constant viscosity</translation>
+ </message>
+ <message>
+ <source>INITIAL_DEPTH</source>
+ <translation>Initial depth</translation>
+ </message>
+ <message>
+ <source>WATER_QUALITY</source>
+ <translation>Water quality</translation>
+ </message>
+ <message>
+ <source>MAXIMUM_NUMBER_OF_ITERATIONS_FOR_DIFFUSION_OF_TRACERS</source>
+ <translation>Maximum number of iterations for diffusion of tracers</translation>
+ </message>
+ <message>
+ <source>ANGLAIS</source>
+ <translation>Anglais</translation>
+ </message>
+ <message>
+ <source>EQUATIONS_SOLVED_EVERYWHERE_WITH_CORRECTION_ON_TIDAL_FLATS</source>
+ <translation>Equations solved everywhere with correction on tidal flats</translation>
+ </message>
+ <message>
+ <source>LAW_OF_FRICTION_ON_LATERAL_BOUNDARIES</source>
+ <translation>Law of friction on lateral boundaries</translation>
+ </message>
+ <message>
+ <source>COUPLING_PERIOD_FOR_SISYPHE</source>
+ <translation>Coupling period for sisyphe</translation>
+ </message>
+ <message>
+ <source>NON_CONSERVATIVE_PSI_SCHEME</source>
+ <translation>Non conservative PSI scheme</translation>
+ </message>
+ <message>
+ <source>STAGE_DISCHARGE_CURVES_FILE</source>
+ <translation>Stage-discharge curves file</translation>
+ </message>
+ <message>
+ <source>INITIAL_CONDITIONS</source>
+ <translation>Initial conditions</translation>
+ </message>
+ <message>
+ <source>predictor_corrector</source>
+ <translation>Predictor-corrector</translation>
+ </message>
+ <message>
+ <source>LAMBERT</source>
+ <translation>Lambert</translation>
+ </message>
+ <message>
+ <source>OPTION_FOR_THE_DIFFUSION_OF_TRACERS</source>
+ <translation>Option for the diffusion of tracers</translation>
+ </message>
+ <message>
+ <source>ACCURACY_OF_EPSILON</source>
+ <translation>Accuracy of epsilon</translation>
+ </message>
+ <message>
+ <source>THRESHOLD_DEPTH_FOR_WIND</source>
+ <translation>Threshold depth for wind</translation>
+ </message>
+ <message>
+ <source>SOLVER_ACCURACY</source>
+ <translation>Solver accuracy</translation>
+ </message>
+ <message>
+ <source>TURBULENCE_MODEL_FOR_SOLID_BOUNDARIES</source>
+ <translation>Turbulence model for solid boundaries</translation>
+ </message>
+ <message>
+ <source>BOUNDARY_CONDITIONS_FILE</source>
+ <translation>Boundary conditions file</translation>
+ </message>
+ <message>
+ <source>VALIDATION</source>
+ <translation>Validation</translation>
+ </message>
+ <message>
+ <source>tracer</source>
+ <translation>Tracer</translation>
+ </message>
+ <message>
+ <source>TIDE_GENERATING_FORCE</source>
+ <translation>Tide generating force</translation>
+ </message>
+ <message>
+ <source>SUPG</source>
+ <translation>SUPG</translation>
+ </message>
+ <message>
+ <source>PRESCRIBED_FLOWRATES</source>
+ <translation>Prescribed flowrates</translation>
+ </message>
+ <message>
+ <source>Mean_spring_tide</source>
+ <translation>Mean spring tide</translation>
+ </message>
+ <message>
+ <source>BINARY_DATABASE_1_FOR_TIDE</source>
+ <translation>Binary database 1 for tide</translation>
+ </message>
+ <message>
+ <source>LAW_OF_TRACERS_DEGRADATION</source>
+ <translation>Law of tracers degradation</translation>
+ </message>
+ <message>
+ <source>SECTIONS_INPUT_FILE</source>
+ <translation>Sections input file</translation>
+ </message>
+ <message>
+ <source>MINIMUM_VALUE_OF_DEPTH</source>
+ <translation>Minimum value of depth</translation>
+ </message>
+ <message>
+ <source>No_tide</source>
+ <translation>No tide</translation>
+ </message>
+ <message>
+ <source>SPACING_OF_ROUGHNESS_ELEMENTS</source>
+ <translation>Spacing of roughness elements</translation>
+ </message>
+ <message>
+ <source>SCHEME_OPTION_FOR_ADVECTION_OF_K_EPSILON</source>
+ <translation>Scheme option for advection of K-epsilon</translation>
+ </message>
+ <message>
+ <source>LISTING_PRINTOUT_PERIOD</source>
+ <translation>Listing printout period</translation>
+ </message>
+ <message>
+ <source>COLEBROOK_WHITE</source>
+ <translation>Colebrook-white</translation>
+ </message>
+ <message>
+ <source>MINOR_CONSTITUENTS_INFERENCE</source>
+ <translation>Minor constituents inference</translation>
+ </message>
+ <message>
+ <source>CARTESIAN,_NOT_GEOREFERENCED</source>
+ <translation>Cartesian, not georeferenced</translation>
+ </message>
+ <message>
+ <source>No_Tsunami</source>
+ <translation>No tsunami</translation>
+ </message>
+ <message>
+ <source>drift_along_x_(m)</source>
+ <translation>Drift along X (m)</translation>
+ </message>
+ <message>
+ <source>UTM_ZONE,_E.G.</source>
+ <translation>Utm zone, e.g.</translation>
+ </message>
+ <message>
+ <source>CONSERVATIVE_PSI_SCHEME</source>
+ <translation>Conservative PSI-Scheme</translation>
+ </message>
+ <message>
+ <source>PREVIOUS_COMPUTATION_FILE_FORMAT</source>
+ <translation>Previous computation file format</translation>
+ </message>
+ <message>
+ <source>VALUES_OF_THE_TRACERS_AT_THE_SOURCES</source>
+ <translation>Values of the tracers at the sources</translation>
+ </message>
+ <message>
+ <source>linear</source>
+ <translation>Linear</translation>
+ </message>
+ <message>
+ <source>BINARY_RESULTS_FILE</source>
+ <translation>Binary results file</translation>
+ </message>
+ <message>
+ <source>diagonal</source>
+ <translation>Diagonal</translation>
+ </message>
+ <message>
+ <source>EXCHANGE_AREAS_DELWAQ_FILE</source>
+ <translation>Exchange areas DELWAQ file</translation>
+ </message>
+ <message>
+ <source>IMPLICITATION_FOR_DIFFUSION_OF_VELOCITY</source>
+ <translation>Implicitation for diffusion of velocity</translation>
+ </message>
+ <message>
+ <source>conjugate_gradient</source>
+ <translation>Conjugate gradient</translation>
+ </message>
+ <message>
+ <source>WGS84_NORTHERN_UTM</source>
+ <translation>WGS84 northern utm</translation>
+ </message>
+ <message>
+ <source>WEIRS_DATA_FILE</source>
+ <translation>Weirs data file</translation>
+ </message>
+ <message>
+ <source>IMPLICITATION_FOR_VELOCITY</source>
+ <translation>Implicitation for velocity</translation>
+ </message>
+ <message>
+ <source>DEFINITION_OF_ZONES</source>
+ <translation>Definition of zones</translation>
+ </message>
+ <message>
+ <source>MAXIMUM_NUMBER_OF_ITERATIONS_FOR_K_AND_EPSILON</source>
+ <translation>Maximum number of iterations for K and Epsilon</translation>
+ </message>
+ <message>
+ <source>MEAN_DEPTH_FOR_LINEARIZATION</source>
+ <translation>Mean depth for linearization</translation>
+ </message>
+ <message>
+ <source>3_points</source>
+ <translation>3 points</translation>
+ </message>
+ <message>
+ <source>wind_along_y_axis_(m/s)</source>
+ <translation>Wind along Y axis (m/s)</translation>
+ </message>
+ <message>
+ <source>div(_nu_grad(T)_)</source>
+ <translation>Div( nu grad(t) )</translation>
+ </message>
+ <message>
+ <source>minimum_error</source>
+ <translation>Minimum error</translation>
+ </message>
+ <message>
+ <source>SCHEME_OPTION_FOR_ADVECTION_OF_VELOCITIES</source>
+ <translation>Scheme option for advection of velocities</translation>
+ </message>
+ <message>
+ <source>DESIRED_COURANT_NUMBER</source>
+ <translation>Desired courant number</translation>
+ </message>
+ <message>
+ <source>flowrate_along_x_axis_(m2/s)</source>
+ <translation>Flowrate along X axis (m2/s)</translation>
+ </message>
+ <message>
+ <source>SUPG_OPTION</source>
+ <translation>SUPG option</translation>
+ </message>
+ <message>
+ <source>1/h_div_(_h_nu_grad(T)</source>
+ <translation>1/h div ( h nu grad(t)</translation>
+ </message>
+ <message>
+ <source>crout</source>
+ <translation>Crout</translation>
+ </message>
+ <message>
+ <source>conjugate_gradient_squared</source>
+ <translation>Conjugate gradient squared</translation>
+ </message>
+ <message>
+ <source>STOP_IF_A_STEADY_STATE_IS_REACHED</source>
+ <translation>Stop if a steady state is reached</translation>
+ </message>
+ <message>
+ <source>DEFAULT_PARALLEL_EXECUTABLE</source>
+ <translation>Default parallel executable</translation>
+ </message>
+ <message>
+ <source>INFORMATION_ABOUT_SOLVER</source>
+ <translation>Information about solver</translation>
+ </message>
+ <message>
+ <source>K_EPSILON_MODEL</source>
+ <translation>K-Epsilon model</translation>
+ </message>
+ <message>
+ <source>AIR_PRESSURE</source>
+ <translation>Air pressure</translation>
+ </message>
+ <message>
+ <source>RESULTS_FILE</source>
+ <translation>Results file</translation>
+ </message>
+ <message>
+ <source>VERTICAL_FLUXES_DELWAQ_FILE</source>
+ <translation>Vertical fluxes DELWAQ file</translation>
+ </message>
+ <message>
+ <source>DELWAQ_STEERING_FILE</source>
+ <translation>DELWAQ steering file</translation>
+ </message>
+ <message>
+ <source>wind_along_x_axis_(m/s)</source>
+ <translation>Wind along X axis (m/s)</translation>
+ </message>
+ <message>
+ <source>Lagrange_interp.</source>
+ <translation>Lagrange interp.</translation>
+ </message>
+ <message>
+ <source>MASS_BALANCE</source>
+ <translation>Mass-balance</translation>
+ </message>
+ <message>
+ <source>turbulent_viscosity_(m2/s)</source>
+ <translation>Turbulent viscosity (m2/s)</translation>
+ </message>
+ <message>
+ <source>OPTION_FOR_TIDAL_BOUNDARY_CONDITIONS</source>
+ <translation>Option for tidal boundary conditions</translation>
+ </message>
+ <message>
+ <source>ADVECTION_OF_TRACERS</source>
+ <translation>Advection of tracers</translation>
+ </message>
+ <message>
+ <source>DIFFUSION_OF_VELOCITY</source>
+ <translation>Diffusion of velocity</translation>
+ </message>
+ <message>
+ <source>scalar_velocity_(m/s)</source>
+ <translation>Scalar velocity (m/s)</translation>
+ </message>
+ <message>
+ <source>COEFFICIENT_OF_WIND_INFLUENCE</source>
+ <translation>Coefficient of wind influence</translation>
+ </message>
+ <message>
+ <source>PRODUCTION_COEFFICIENT_FOR_SECONDARY_CURRENTS</source>
+ <translation>Production coefficient for secondary currents</translation>
+ </message>
+ <message>
+ <source>HLLC_scheme_order_1</source>
+ <translation>HLLC scheme order 1</translation>
+ </message>
+ <message>
+ <source>RESULTS_FILE_FORMAT</source>
+ <translation>Results file format</translation>
+ </message>
+ <message>
+ <source>COUPLING_PERIOD_FOR_TOMAWAC</source>
+ <translation>Coupling period for TOMAWAC</translation>
+ </message>
+ <message>
+ <source>NUMBER_OF_PRIVATE_ARRAYS</source>
+ <translation>Number of private arrays</translation>
+ </message>
+ <message>
+ <source>MAXIMUM_NUMBER_OF_FRICTION_DOMAINS</source>
+ <translation>Maximum number of friction domains</translation>
+ </message>
+ <message>
+ <source>DURATION</source>
+ <translation>Duration</translation>
+ </message>
+ <message>
+ <source>BINARY_DATA_FILE_2_FORMAT</source>
+ <translation>Binary data file 2 format</translation>
+ </message>
+ <message>
+ <source>HORIZONTAL_WITH_SAME_NUMBER_OF_NODES_UPSTREAM/DOWNSTREAM</source>
+ <translation>Horizontal with same number of nodes upstream/downstream</translation>
+ </message>
+ <message>
+ <source>OPTION_FOR_THE_DIFFUSION_OF_VELOCITIES</source>
+ <translation>Option for the diffusion of velocities</translation>
+ </message>
+ <message>
+ <source>MASS_LUMPING_ON_TRACERS</source>
+ <translation>Mass-lumping on tracers</translation>
+ </message>
+ <message>
+ <source>NORTH</source>
+ <translation>North</translation>
+ </message>
+ <message>
+ <source>RAIN_OR_EVAPORATION</source>
+ <translation>Rain or evaporation</translation>
+ </message>
+ <message>
+ <source>FRANCAIS</source>
+ <translation>Francais</translation>
+ </message>
+ <message>
+ <source>PARTITIONING_TOOL</source>
+ <translation>Partitioning tool</translation>
+ </message>
+ <message>
+ <source>FORMATTED_RESULTS_FILE</source>
+ <translation>Formatted results file</translation>
+ </message>
+ <message>
+ <source>VERTICAL_STRUCTURES</source>
+ <translation>Vertical structures</translation>
+ </message>
+ <message>
+ <source>OPTION_FOR_TSUNAMI_GENERATION</source>
+ <translation>Option for tsunami generation</translation>
+ </message>
+ <message>
+ <source>VARIABLE_TIME_STEP</source>
+ <translation>Variable time-step</translation>
+ </message>
+ <message>
+ <source>IRIDAEA_FLACCIDA_(CLOSE_TO_ULVA)</source>
+ <translation>Iridaea flaccida (close to ulva)</translation>
+ </message>
+ <message>
+ <source>PROPAGATION_OPTION</source>
+ <translation>Propagation option</translation>
+ </message>
+ <message>
+ <source>REFERENCE_FILE</source>
+ <translation>Reference file</translation>
+ </message>
+ <message>
+ <source>TIDAL_DATA_BASE</source>
+ <translation>Tidal data base</translation>
+ </message>
+ <message>
+ <source>INITIAL_ELEVATION</source>
+ <translation>Initial elevation</translation>
+ </message>
+ <message>
+ <source>average</source>
+ <translation>Average</translation>
+ </message>
+ <message>
+ <source>STOCHASTIC_DIFFUSION_MODEL</source>
+ <translation>Stochastic diffusion model</translation>
+ </message>
+ <message>
+ <source>FORTRAN_FILE</source>
+ <translation>Fortran file</translation>
+ </message>
+ <message>
+ <source>BREACH</source>
+ <translation>Breach</translation>
+ </message>
+ <message>
+ <source>Z(Q)</source>
+ <translation>Z(Q)</translation>
+ </message>
+ <message>
+ <source>NO_DEFAULT_VALUE</source>
+ <translation>No default value</translation>
+ </message>
+ <message>
+ <source>no_preconditioning</source>
+ <translation>No preconditioning</translation>
+ </message>
+ <message>
+ <source>TIME_STEP</source>
+ <translation>Time step</translation>
+ </message>
+ <message>
+ <source>rough</source>
+ <translation>Rough</translation>
+ </message>
+ <message>
+ <source>SALINITY_DELWAQ_FILE</source>
+ <translation>Salinity DELWAQ file</translation>
+ </message>
+ <message>
+ <source>IMPLICITATION_FOR_DEPTH</source>
+ <translation>Implicitation for depth</translation>
+ </message>
+ <message>
+ <source>NUMBER_OF_LAGRANGIAN_DRIFTS</source>
+ <translation>Number of lagrangian drifts</translation>
+ </message>
+ <message>
+ <source>TEMPERATURE_FOR_DELWAQ</source>
+ <translation>Temperature for DELWAQ</translation>
+ </message>
+ <message>
+ <source>GENERAL</source>
+ <translation>General</translation>
+ </message>
+ <message>
+ <source>SECONDARY_CURRENTS</source>
+ <translation>Secondary currents</translation>
+ </message>
+ <message>
+ <source>PRECONDITIONING</source>
+ <translation>Preconditioning</translation>
+ </message>
+ <message>
+ <source>MANNING_DEFAULT_VALUE_FOR_COLEBROOK_WHITE_LAW</source>
+ <translation>Manning default value for colebrook-white law</translation>
+ </message>
+ <message>
+ <source>ADVECTION_OF_H</source>
+ <translation>Advection of H</translation>
+ </message>
+ <message>
+ <source>DEBUGGER</source>
+ <translation>Debugger</translation>
+ </message>
+ <message>
+ <source>LATITUDE_OF_ORIGIN_POINT</source>
+ <translation>Latitude of origin point</translation>
+ </message>
+ <message>
+ <source>PRESCRIBED_TRACERS_VALUES</source>
+ <translation>Prescribed tracers values</translation>
+ </message>
+ <message>
+ <source>RECORD_NUMBER_FOR_RESTART</source>
+ <translation>Record number for restart</translation>
+ </message>
+ <message>
+ <source>turbulent_viscosity_of_k_epsilon_model_(m2/s)</source>
+ <translation>Turbulent viscosity of K-epsilon model (m2/s)</translation>
+ </message>
+ <message>
+ <source>LISTING_PRINTOUT</source>
+ <translation>Listing printout</translation>
+ </message>
+ <message>
+ <source>CORIOLIS_COEFFICIENT</source>
+ <translation>Coriolis coefficient</translation>
+ </message>
+ <message>
+ <source>TURBULENCE_MODEL</source>
+ <translation>Turbulence model</translation>
+ </message>
+ <message>
+ <source>NUMBER_OF_FIRST_TIME_STEP_FOR_LISTING_PRINTOUTS</source>
+ <translation>Number of first time step for listing printouts</translation>
+ </message>
+ <message>
+ <source>PRINTING_CUMULATED_FLOWRATES</source>
+ <translation>Printing cumulated flowrates</translation>
+ </message>
+ <message>
+ <source>OPTION_FOR_THE_TREATMENT_OF_TIDAL_FLATS</source>
+ <translation>Option for the treatment of tidal flats</translation>
+ </message>
+ <message>
+ <source>variable_in_time_and_space_given_by_formated_file</source>
+ <translation>Variable in time and space given by formated file</translation>
+ </message>
+ <message>
+ <source>CONTROL_SECTIONS</source>
+ <translation>Control sections</translation>
+ </message>
+ <message>
+ <source>SOLVER_FOR_DIFFUSION_OF_TRACERS</source>
+ <translation>Solver for diffusion of tracers</translation>
+ </message>
+ <message>
+ <source>SECTIONS_OUTPUT_FILE</source>
+ <translation>Sections output file</translation>
+ </message>
+ <message>
+ <source>NUMBER_OF_SUB_STEPS_OF_DISTRIBUTIVE_SCHEMES</source>
+ <translation>Number of sub-steps of distributive schemes</translation>
+ </message>
+ <message>
+ <source>UPWIND_COEFFICIENTS</source>
+ <translation>Upwind coefficients</translation>
+ </message>
+ <message>
+ <source>time_of_maximum_elevation</source>
+ <translation>Time of maximum elevation</translation>
+ </message>
+ <message>
+ <source>ALGAE_TYPE</source>
+ <translation>Algae type</translation>
+ </message>
+ <message>
+ <source>RAIN_OR_EVAPORATION_IN_MM_PER_DAY</source>
+ <translation>Rain or evaporation in mm per day</translation>
+ </message>
+ <message>
+ <source>FORMATTED_DATA_FILE_1</source>
+ <translation>Formatted data file 1</translation>
+ </message>
+ <message>
+ <source>FORMATTED_DATA_FILE_2</source>
+ <translation>Formatted data file 2</translation>
+ </message>
+ <message>
+ <source>C_U_PRECONDITIONING</source>
+ <translation>C-U preconditioning</translation>
+ </message>
+ <message>
+ <source>LIST_OF_POINTS</source>
+ <translation>List of points</translation>
+ </message>
+ <message>
+ <source>WGS84_LONGITUDE/LATITUDE_IN_REAL_DEGREES</source>
+ <translation>WGS84 longitude/latitude in real degrees</translation>
+ </message>
+ <message>
+ <source>MISCELLANEOUS_(LEGOS_NEA,_FES20XX,_PREVIMER...)</source>
+ <translation>Miscellaneous (LEGOS-NEA, FES20XX, PREVIMER...)</translation>
+ </message>
+ <message>
+ <source>conj_gradient</source>
+ <translation>Conj gradient</translation>
+ </message>
+ <message>
+ <source>weak</source>
+ <translation>Weak</translation>
+ </message>
+ <message>
+ <source>SCHEME_FOR_ADVECTION_OF_VELOCITIES</source>
+ <translation>Scheme for advection of velocities</translation>
+ </message>
+ <message>
+ <source>gmres_(see_option_for_the_solver_for_k_epsilon_model)</source>
+ <translation>GMRES (see option for the solver for K-Epsilon model)</translation>
+ </message>
+ <message>
+ <source>NO_ADVECTION</source>
+ <translation>No advection</translation>
+ </message>
+ <message>
+ <source>NUMBER_OF_FIRST_TIME_STEP_FOR_GRAPHIC_PRINTOUTS</source>
+ <translation>Number of first time step for graphic printouts</translation>
+ </message>
+ <message>
+ <source>DEPTH_IN_FRICTION_TERMS</source>
+ <translation>Depth in friction terms</translation>
+ </message>
+ <message>
+ <source>FOURIER_ANALYSIS_PERIODS</source>
+ <translation>Fourier analysis periods</translation>
+ </message>
+ <message>
+ <source>EQUATIONS</source>
+ <translation>Equations</translation>
+ </message>
+ <message>
+ <source>MAXIMUM_NUMBER_OF_ITERATIONS_FOR_IDENTIFICATION</source>
+ <translation>Maximum number of iterations for identification</translation>
+ </message>
+ <message>
+ <source>WIND</source>
+ <translation>Wind</translation>
+ </message>
+ <message>
+ <source>SPEED_AND_DIRECTION_OF_WIND</source>
+ <translation>Speed and direction of wind</translation>
+ </message>
+ <message>
+ <source>TYPE_OF_SOURCES</source>
+ <translation>Type of sources</translation>
+ </message>
+ <message>
+ <source>TITLE</source>
+ <translation>Title</translation>
+ </message>
+ <message>
+ <source>MASS_LUMPING_ON_H</source>
+ <translation>Mass-lumping on H</translation>
+ </message>
+ <message>
+ <source>NUMBER_OF_SUB_ITERATIONS_FOR_NON_LINEARITIES</source>
+ <translation>Number of sub-iterations for non-linearities</translation>
+ </message>
+ <message>
+ <source>PSI_SCHEME_OPTION</source>
+ <translation>Psi scheme option</translation>
+ </message>
+ <message>
+ <source>LIQUID_BOUNDARIES_FILE</source>
+ <translation>Liquid boundaries file</translation>
+ </message>
+ <message>
+ <source>VELOCITIES_OF_THE_SOURCES_ALONG_X</source>
+ <translation>Velocities of the sources along X</translation>
+ </message>
+ <message>
+ <source>VELOCITIES_OF_THE_SOURCES_ALONG_Y</source>
+ <translation>Velocities of the sources along Y</translation>
+ </message>
+ <message>
+ <source>CHARACTERISTICS</source>
+ <translation>Characteristics</translation>
+ </message>
+ <message>
+ <source>BOTTOM_SMOOTHINGS</source>
+ <translation>Bottom smoothings</translation>
+ </message>
+ <message>
+ <source>SALINITY_FOR_DELWAQ</source>
+ <translation>Salinity for DELWAQ</translation>
+ </message>
+ <message>
+ <source>OPTION_FOR_CHARACTERISTICS</source>
+ <translation>Option for characteristics</translation>
+ </message>
+ <message>
+ <source>MAXIMUM_NUMBER_OF_TRACERS</source>
+ <translation>Maximum number of tracers</translation>
+ </message>
+ <message>
+ <source>maximum_velocity</source>
+ <translation>Maximum velocity</translation>
+ </message>
+ <message>
+ <source>FREE_INTEGER_20</source>
+ <translation>Free integer 20</translation>
+ </message>
+ <message>
+ <source>ZERO</source>
+ <translation>Zero</translation>
+ </message>
+ <message>
+ <source>OPTION_FOR_WIND</source>
+ <translation>Option for wind</translation>
+ </message>
+ <message>
+ <source>BINARY_DATA_FILE_1</source>
+ <translation>Binary data file 1</translation>
+ </message>
+ <message>
+ <source>BINARY_DATA_FILE_2</source>
+ <translation>Binary data file 2</translation>
+ </message>
+ <message>
+ <source>free_surface_elevation_(m)</source>
+ <translation>Free surface elevation (m)</translation>
+ </message>
+ <message>
+ <source>PRESCRIBED_VELOCITIES</source>
+ <translation>Prescribed velocities</translation>
+ </message>
+ <message>
+ <source>water_depth_(m)</source>
+ <translation>Water depth (m)</translation>
+ </message>
+ <message>
+ <source>VELOCITY_DELWAQ_FILE</source>
+ <translation>Velocity DELWAQ file</translation>
+ </message>
+ <message>
+ <source>kinetic_order_2</source>
+ <translation>Kinetic order 2</translation>
+ </message>
+ <message>
+ <source>kinetic_order_1</source>
+ <translation>Kinetic order 1</translation>
+ </message>
+ <message>
+ <source>coupled</source>
+ <translation>Coupled</translation>
+ </message>
+ <message>
+ <source>LAMBERT_2_CENTER</source>
+ <translation>Lambert 2 center</translation>
+ </message>
+ <message>
+ <source>COMPATIBLE_COMPUTATION_OF_FLUXES</source>
+ <translation>Compatible computation of fluxes</translation>
+ </message>
+ <message>
+ <source>Astronomical_neap_tide</source>
+ <translation>Astronomical neap tide</translation>
+ </message>
+ <message>
+ <source>NUMBER_OF_TRACERS</source>
+ <translation>Number of tracers</translation>
+ </message>
+ <message>
+ <source>Dirac</source>
+ <translation>Dirac</translation>
+ </message>
+ <message>
+ <source>COUPLING_DIRECTORY</source>
+ <translation>Coupling directory</translation>
+ </message>
+ <message>
+ <source>DEFAULT_EXECUTABLE</source>
+ <translation>Default executable</translation>
+ </message>
+ <message>
+ <source>GEOMETRY_FILE</source>
+ <translation>Geometry file</translation>
+ </message>
+ <message>
+ <source>DICTIONARY</source>
+ <translation>Dictionary</translation>
+ </message>
+ <message>
+ <source>WAF_scheme_order_2</source>
+ <translation>WAF scheme order 2</translation>
+ </message>
+ <message>
+ <source>VARIABLES_FOR_GRAPHIC_PRINTOUTS</source>
+ <translation>Variables for graphic printouts</translation>
+ </message>
+ <message>
+ <source>INFORMATION_ABOUT_K_EPSILON_MODEL</source>
+ <translation>Information about K-Epsilon model</translation>
+ </message>
+ <message>
+ <source>OIL_SPILL_STEERING_FILE</source>
+ <translation>Oil spill steering file</translation>
+ </message>
+ <message>
+ <source>MAXIMUM_NUMBER_OF_BOUNDARIES</source>
+ <translation>Maximum number of boundaries</translation>
+ </message>
+ <message>
+ <source>DIFFUSIVITY_DELWAQ_FILE</source>
+ <translation>Diffusivity DELWAQ file</translation>
+ </message>
+ <message>
+ <source>Thompson_method_based_on_characteristics</source>
+ <translation>Thompson method based on characteristics</translation>
+ </message>
+ <message>
+ <source>DESCRIPTION_OF_LIBRARIES</source>
+ <translation>Description of libraries</translation>
+ </message>
+ <message>
+ <source>NUMBER_OF_WEIRS</source>
+ <translation>Number of weirs</translation>
+ </message>
+ <message>
+ <source>SPHERE</source>
+ <translation>Sphere</translation>
+ </message>
+ <message>
+ <source>Computed_with_c,u,v</source>
+ <translation>Computed with C,U,V</translation>
+ </message>
+ <message>
+ <source>Astronomical_tide</source>
+ <translation>Astronomical tide</translation>
+ </message>
+ <message>
+ <source>velocity_along_y_axis_(m/s)</source>
+ <translation>Velocity along Y axis (m/s)</translation>
+ </message>
+ <message>
+ <source>CULVERT_DATA_FILE</source>
+ <translation>Culvert data file</translation>
+ </message>
+ <message>
+ <source>bottom_elevation_(m)</source>
+ <translation>Bottom elevation (m)</translation>
+ </message>
+ <message>
+ <source>EXCHANGES_BETWEEN_NODES_DELWAQ_FILE</source>
+ <translation>Exchanges between nodes DELWAQ file</translation>
+ </message>
+ <message>
+ <source>SOLVER_OPTION_FOR_TRACERS_DIFFUSION</source>
+ <translation>Solver option for tracers diffusion</translation>
+ </message>
+ <message>
+ <source>INITIAL_VALUES_OF_TRACERS</source>
+ <translation>Initial values of tracers</translation>
+ </message>
+ <message>
+ <source>flowrate_along_y_axis_(m2/s)</source>
+ <translation>Flowrate along Y axis (m2/s)</translation>
+ </message>
+ <message>
+ <source>NUMBER_OF_TUBES</source>
+ <translation>Number of tubes</translation>
+ </message>
+ <message>
+ <source>LONGITUDE_OF_ORIGIN_POINT</source>
+ <translation>Longitude of origin point</translation>
+ </message>
+ <message>
+ <source>MAXIMUM_NUMBER_OF_ITERATIONS_FOR_SOLVER</source>
+ <translation>Maximum number of iterations for solver</translation>
+ </message>
+ <message>
+ <source>CORIOLIS</source>
+ <translation>Coriolis</translation>
+ </message>
+ <message>
+ <source>ADVECTION</source>
+ <translation>Advection</translation>
+ </message>
+ <message>
+ <source>Edge_based_storage</source>
+ <translation>Edge-based storage</translation>
+ </message>
+ <message>
+ <source>EXPLICIT_+_MURD_SCHEME_PSI</source>
+ <translation>Explicit + murd scheme PSI</translation>
+ </message>
+ <message>
+ <source>previous</source>
+ <translation>Previous</translation>
+ </message>
+ <message>
+ <source>ABSCISSAE_OF_SOURCES</source>
+ <translation>Abscissae of sources</translation>
+ </message>
+ <message>
+ <source>VECTOR_LENGTH</source>
+ <translation>Vector length</translation>
+ </message>
+ <message>
+ <source>GRAPHIC_PRINTOUT_PERIOD</source>
+ <translation>Graphic printout period</translation>
+ </message>
+ <message>
+ <source>COUPLING_WITH</source>
+ <translation>Coupling with</translation>
+ </message>
+ <message>
+ <source>CHEZY</source>
+ <translation>CHEZY</translation>
+ </message>
+ <message>
+ <source>variable_in_time_given_by_formated_file</source>
+ <translation>Variable in time given by formated file</translation>
+ </message>
+ <message>
+ <source>WATER_DISCHARGE_OF_SOURCES</source>
+ <translation>Water discharge of sources</translation>
+ </message>
+ <message>
+ <source>ADVECTION_OF_U_AND_V</source>
+ <translation>Advection of U and V</translation>
+ </message>
+ <message>
+ <source>Zokagoa_scheme_order_1</source>
+ <translation>Zokagoa scheme order 1</translation>
+ </message>
+ <message>
+ <source>DEFINED_BY_USER</source>
+ <translation>Defined by user</translation>
+ </message>
+ <message>
+ <source>LATITUDE_LONGITUDE</source>
+ <translation>Latitude longitude</translation>
+ </message>
+ <message>
+ <source>VOLUMES_DELWAQ_FILE</source>
+ <translation>Volumes DELWAQ file</translation>
+ </message>
+ <message>
+ <source>VELOCITY_FOR_DELWAQ</source>
+ <translation>Velocity for DELWAQ</translation>
+ </message>
+ <message>
+ <source>ROUGHNESS_COEFFICIENT_OF_BOUNDARIES</source>
+ <translation>Roughness coefficient of boundaries</translation>
+ </message>
+ <message>
+ <source>TPXO</source>
+ <translation>TPXO</translation>
+ </message>
+ <message>
+ <source>INITIAL_TIME_SET_TO_ZERO</source>
+ <translation>Initial time set to zero</translation>
+ </message>
+ <message>
+ <source>EXPLICIT_+_SUPG</source>
+ <translation>Explicit + SUPG</translation>
+ </message>
+ <message>
+ <source>INITIAL_GUESS_FOR_U</source>
+ <translation>Initial guess for U</translation>
+ </message>
+ <message>
+ <source>SCHEME_FOR_ADVECTION_OF_K_EPSILON</source>
+ <translation>Scheme for advection of K-epsilon</translation>
+ </message>
+ <message>
+ <source>NO_DEGRADATION</source>
+ <translation>No degradation</translation>
+ </message>
+ <message>
+ <source>TEMPERATURE_DELWAQ_FILE</source>
+ <translation>Temperature DELWAQ file</translation>
+ </message>
+ <message>
+ <source>Froude_number</source>
+ <translation>Froude number</translation>
+ </message>
+ <message>
+ <source>classical</source>
+ <translation>Classical</translation>
+ </message>
+ <message>
+ <source>nombre_de_courants_</source>
+ <translation>Nombre de courants </translation>
+ </message>
+ <message>
+ <source>SOURCES_FILE</source>
+ <translation>Sources file</translation>
+ </message>
+ <message>
+ <source>LOG_LAW</source>
+ <translation>Log law</translation>
+ </message>
+ <message>
+ <source>CONTROL_OF_LIMITS</source>
+ <translation>Control of limits</translation>
+ </message>
+ <message>
+ <source>NUMBER_OF_GAUSS_POINTS_FOR_WEAK_CHARACTERISTICS</source>
+ <translation>Number of Gauss points for weak characteristics</translation>
+ </message>
+ <message>
+ <source>TYPE_OF_WEIRS</source>
+ <translation>Type of weirs</translation>
+ </message>
+ <message>
+ <source>THRESHOLD_FOR_NEGATIVE_DEPTHS</source>
+ <translation>Threshold for negative depths</translation>
+ </message>
+ <message>
+ <source>velocity_proportional_to_square_root_of_depth,_variant</source>
+ <translation>Velocity proportional to square root of depth, variant</translation>
+ </message>
+ <message>
+ <source>VELOCITY_PROFILES</source>
+ <translation>Velocity profiles</translation>
+ </message>
+ <message>
+ <source>LANGUAGE</source>
+ <translation>Language</translation>
+ </message>
+ <message>
+ <source>STAGE_DISCHARGE_CURVES</source>
+ <translation>Stage-discharge curves</translation>
+ </message>
+ <message>
+ <source>Courant_number_</source>
+ <translation>Courant number </translation>
+ </message>
+ <message>
+ <source>COST_FUNCTION</source>
+ <translation>Cost function</translation>
+ </message>
+ <message>
+ <source>JMJ</source>
+ <translation>JMJ</translation>
+ </message>
+ <message>
+ <source>ORIGIN_COORDINATES</source>
+ <translation>Origin coordinates</translation>
+ </message>
+ <message>
+ <source>RECORD_NUMBER_IN_WAVE_FILE</source>
+ <translation>Record number in wave file</translation>
+ </message>
+ <message>
+ <source>tracer_1_etc.</source>
+ <translation>Tracer 1 etc.</translation>
+ </message>
+ <message>
+ <source>TYPE_OF_ADVECTION</source>
+ <translation>Type of advection</translation>
+ </message>
+ <message>
+ <source>WIND_VELOCITY_ALONG_X</source>
+ <translation>Wind velocity along X</translation>
+ </message>
+ <message>
+ <source>WIND_VELOCITY_ALONG_Y</source>
+ <translation>Wind velocity along Y</translation>
+ </message>
+ <message>
+ <source>MAXIMUM_NUMBER_OF_SOURCES</source>
+ <translation>Maximum number of sources</translation>
+ </message>
+ <message>
+ <source>HAALAND</source>
+ <translation>HAALAND</translation>
+ </message>
+ <message>
+ <source>div(_nu_grad(U)_)</source>
+ <translation>Div( nu grad(U) )</translation>
+ </message>
+ <message>
+ <source>DISCRETIZATIONS_IN_SPACE</source>
+ <translation>Discretizations in space</translation>
+ </message>
+ <message>
+ <source>SISYPHE_STEERING_FILE</source>
+ <translation>Sisyphe steering file</translation>
+ </message>
+ <message>
+ <source>ADVECTION_OF_K_AND_EPSILON</source>
+ <translation>Advection of K and epsilon</translation>
+ </message>
+ <message>
+ <source>NUMBER_OF_CULVERTS</source>
+ <translation>Number of culverts</translation>
+ </message>
+ <message>
+ <source>RELEASE</source>
+ <translation>Release</translation>
+ </message>
+ <message>
+ <source>list_of_tests</source>
+ <translation>List of tests</translation>
+ </message>
+ <message>
+ <source>PRECONDITIONING_FOR_DIFFUSION_OF_TRACERS</source>
+ <translation>Preconditioning for diffusion of tracers</translation>
+ </message>
+ <message>
+ <source>EXPLICIT_LEO_POSTMA</source>
+ <translation>Explicit Leo Postma</translation>
+ </message>
+ <message>
+ <source>LOCAL_NUMBER_OF_THE_POINT_TO_CALIBRATE_HIGH_WATER</source>
+ <translation>Local number of the point to calibrate high water</translation>
+ </message>
+ <message>
+ <source>Tchamen_scheme_order_1</source>
+ <translation>Tchamen scheme order 1</translation>
+ </message>
+ <message>
+ <source>supplementary_variable_O</source>
+ <translation>Supplementary variable o</translation>
+ </message>
+ <message>
+ <source>WAVE_ENHANCED_FRICTION_FACTOR</source>
+ <translation>Wave enhanced friction factor</translation>
+ </message>
+ <message>
+ <source>ELDER</source>
+ <translation>Elder</translation>
+ </message>
+ <message>
+ <source>supplementary_variable_N</source>
+ <translation>Supplementary variable n</translation>
+ </message>
+ <message>
+ <source>gauss_seidel</source>
+ <translation>Gauss-Seidel</translation>
+ </message>
+ <message>
+ <source>TREATMENT_OF_THE_LINEAR_SYSTEM</source>
+ <translation>Treatment of the linear system</translation>
+ </message>
+ <message>
+ <source>VARIABLES_TO_BE_PRINTED</source>
+ <translation>Variables to be printed</translation>
+ </message>
+ <message>
+ <source>normal_velocity_given_in_ubor_in_the_conlim_file</source>
+ <translation>Normal velocity given in ubor in the conlim file</translation>
+ </message>
+ <message>
+ <source>DENSITY_OF_ALGAE</source>
+ <translation>Density of algae</translation>
+ </message>
+ <message>
+ <source>NON_SUBMERGED_VEGETATION_FRICTION</source>
+ <translation>Non-submerged vegetation friction</translation>
+ </message>
+ <message>
+ <source>TIDAL_FLATS</source>
+ <translation>Tidal flats</translation>
+ </message>
+ <message>
+ <source>diagonal_and_crout</source>
+ <translation>Diagonal and Crout</translation>
+ </message>
+ <message>
+ <source>HARMONIC_CONSTANTS_FILE</source>
+ <translation>Harmonic constants file</translation>
+ </message>
+ <message>
+ <source>Priority_to_prescribed_values</source>
+ <translation>Priority to prescribed values</translation>
+ </message>
+ <message>
+ <source>BINARY_DATA_FILE_1_FORMAT</source>
+ <translation>Binary data file 1 format</translation>
+ </message>
+ <message>
+ <source>Normal</source>
+ <translation>Normal</translation>
+ </message>
+ <message>
+ <source>nodal</source>
+ <translation>Nodal</translation>
+ </message>
+ <message>
+ <source>PRESCRIBED_ELEVATIONS</source>
+ <translation>Prescribed elevations</translation>
+ </message>
+ <message>
+ <source>LIMIT_VALUES</source>
+ <translation>Limit values</translation>
+ </message>
+ <message>
+ <source>quadratic</source>
+ <translation>Quadratic</translation>
+ </message>
+ <message>
+ <source>ORDINATES_OF_SOURCES</source>
+ <translation>Ordinates of sources</translation>
+ </message>
+ <message>
+ <source>Real_tide_(methodology_before_2010)</source>
+ <translation>Real tide (methodology before 2010)</translation>
+ </message>
+ <message>
+ <source>NUMBER_OF_DROGUES</source>
+ <translation>Number of drogues</translation>
+ </message>
+ <message>
+ <source>maximum_elevation</source>
+ <translation>Maximum elevation</translation>
+ </message>
+ <message>
+ <source>dissipation_of_turbulent_energy_(W/kg)</source>
+ <translation>Dissipation of turbulent energy (W/kg)</translation>
+ </message>
+ <message>
+ <source>PROPAGATION</source>
+ <translation>Propagation</translation>
+ </message>
+ <message>
+ <source>constant_in_time_and_space</source>
+ <translation>Constant in time and space</translation>
+ </message>
+ <message>
+ <source>Mean_neap_tide</source>
+ <translation>Mean neap tide</translation>
+ </message>
+ <message>
+ <source>gmres_(see_option_for_the_solver_for_tracer_diffusion)</source>
+ <translation>GMRES (see option for the solver for tracer diffusion)</translation>
+ </message>
+ <message>
+ <source>SOLVER_OPTION</source>
+ <translation>Solver option</translation>
+ </message>
+ <message>
+ <source>MATRIX_STORAGE</source>
+ <translation>Matrix storage</translation>
+ </message>
+ <message>
+ <source>COEFFICIENT_TO_CALIBRATE_TIDAL_RANGE</source>
+ <translation>Coefficient to calibrate tidal range</translation>
+ </message>
+ <message>
+ <source>brownian_movement</source>
+ <translation>Brownian movement</translation>
+ </message>
+ <message>
+ <source>SOLVER</source>
+ <translation>Solver</translation>
+ </message>
+ <message>
+ <source>smooth</source>
+ <translation>Smooth</translation>
+ </message>
+ <message>
+ <source>turbulent_kinetic_energy_in_k_epsilon_model_(J/kg)</source>
+ <translation>Turbulent kinetic energy in K-Epsilon model (W/kg)</translation>
+ </message>
+ <message>
+ <source>NIKURADSE</source>
+ <translation>Nikuradse</translation>
+ </message>
+ <message>
+ <source>PRECONDITIONING_FOR_K_EPSILON_MODEL</source>
+ <translation>Preconditioning for K-Epsilon model</translation>
+ </message>
+ <message>
+ <source>drift_along_y_(m)</source>
+ <translation>Drift along Y (m)</translation>
+ </message>
+ <message>
+ <source>velocity_along_x_axis_(m/s)</source>
+ <translation>Velocity along X axis (m/s)</translation>
+ </message>
+ <message>
+ <source>LEO_POSTMA_FOR_TIDAL_FLATS</source>
+ <translation>Leo Postma for tidal flats</translation>
+ </message>
+ <message>
+ <source>block_diagonal_(4_9_matrices)</source>
+ <translation>Block-diagonal (4-9 matrices)</translation>
+ </message>
+ <message>
+ <source>Computed_with_h,u,v</source>
+ <translation>Computed with H,U,V</translation>
+ </message>
+ <message>
+ <source>ACCURACY_OF_K</source>
+ <translation>Accuracy of K</translation>
+ </message>
+ <message>
+ <source>WATER_QUALITY_PROCESS</source>
+ <translation>Water quality process</translation>
+ </message>
+ <message>
+ <source>OPTION_FOR_LIQUID_BOUNDARIES</source>
+ <translation>Option for liquid boundaries</translation>
+ </message>
+ <message>
+ <source>COEFFICIENT_TO_CALIBRATE_SEA_LEVEL</source>
+ <translation>Coefficient to calibrate sea level</translation>
+ </message>
+ <message>
+ <source>INITIAL_GUESS_FOR_H</source>
+ <translation>Initial guess for H</translation>
+ </message>
+ <message>
+ <source>SPHERICAL_COORDINATES</source>
+ <translation>Spherical coordinates</translation>
+ </message>
+ <message>
+ <source>no</source>
+ <translation>No</translation>
+ </message>
+ <message>
+ <source>THICKNESS_OF_ALGAE</source>
+ <translation>Thickness of algae</translation>
+ </message>
+ <message>
+ <source>MEAN_TEMPERATURE</source>
+ <translation>Mean temperature</translation>
+ </message>
+ <message>
+ <source>IDENTIFICATION_METHOD</source>
+ <translation>Identification method</translation>
+ </message>
+ <message>
+ <source>friction_coefficient</source>
+ <translation>Friction coefficient</translation>
+ </message>
+ <message>
+ <source>MASS_LUMPING_ON_VELOCITY</source>
+ <translation>Mass-lumping on velocity</translation>
+ </message>
+ <message>
+ <source>time_of_maximum_velocity</source>
+ <translation>Time of maximum velocity</translation>
+ </message>
+ <message>
+ <source>VALUES_OF_TRACERS_IN_THE_RAIN</source>
+ <translation>Values of tracers in the rain</translation>
+ </message>
+ <message>
+ <source>supplementary_variable_Z</source>
+ <translation>Supplementary variable Z</translation>
+ </message>
+ <message>
+ <source>supplementary_variable_R</source>
+ <translation>Supplementary variable R</translation>
+ </message>
+ <message>
+ <source>EXPLICIT_+_MURD_SCHEME_N</source>
+ <translation>Explicit + murd Scheme N</translation>
+ </message>
+ <message>
+ <source>conjugate_gradient_on_a_normal_equation</source>
+ <translation>Conjugate gradient on a normal equation</translation>
+ </message>
+ <message>
+ <source>WAVE_DRIVEN_CURRENTS</source>
+ <translation>Wave driven currents</translation>
+ </message>
+ <message>
+ <source>Tsunami_generated_on_the_basis_of_the_Okada_model_1992</source>
+ <translation>Tsunami generated on the basis of the Okada model 1992</translation>
+ </message>
+ <message>
+ <source>ASCII_DATABASE_FOR_TIDE</source>
+ <translation>ASCII database for tide</translation>
+ </message>
+ <message>
+ <source>OIL_SPILL_MODEL</source>
+ <translation>Oil spill model</translation>
+ </message>
+ <message>
+ <source>1_point</source>
+ <translation>1 point</translation>
+ </message>
+ <message>
+ <source>ORIGINAL_DATE_OF_TIME</source>
+ <translation>Original date of time</translation>
+ </message>
+ <message>
+ <source>GEOGRAPHIC_SYSTEM</source>
+ <translation>Geographic system</translation>
+ </message>
+ <message>
+ <source>TIDAL_MODEL_FILE</source>
+ <translation>Tidal model file</translation>
+ </message>
+ <message>
+ <source>absolute_value_of_diagonal</source>
+ <translation>Absolute value of diagonal</translation>
+ </message>
+ <message>
+ <source>u_and_v_given_in_the_conlim_file</source>
+ <translation>U and V given in the conlim file</translation>
</message>
<message>
<location filename="../../convert/convert_ini.py" line="81"/>
.SUFFIXES : .ui .py .ts .qm
-PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCode.py desChoixCommandes.py desRecherche.py \
+PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCode.py desChoixCommandes.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 \
--- /dev/null
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>desRechercheCatalogue</class>
+ <widget class="QDialog" name="desRechercheCatalogue">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>817</width>
+ <height>359</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Rechercher dans le Catalogue</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QLabel" name="label">
+ <property name="minimumSize">
+ <size>
+ <width>105</width>
+ <height>0</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>105</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="text">
+ <string>Mot à charcher</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLineEdit" name="LERecherche">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Maximum" vsizetype="Expanding">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>411</width>
+ <height>41</height>
+ </size>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">background:rgb(240,240,240)</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_4">
+ <property name="text">
+ <string>Généalogie</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPlainTextEdit" name="teGenea">
+ <property name="minimumSize">
+ <size>
+ <width>419</width>
+ <height>91</height>
+ </size>
+ </property>
+ <property name="plainText">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <widget class="QLabel" name="label_3">
+ <property name="text">
+ <string>Documentation</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QPlainTextEdit" name="teDoc">
+ <property name="minimumSize">
+ <size>
+ <width>419</width>
+ <height>101</height>
+ </size>
+ </property>
+ <property name="plainText">
+ <string/>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
.SUFFIXES : .ui .py .ts .qm
-PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCode.py desChoixCommandes.py desRecherche.py \
+PY_FILES = myMain.py desBaseWidget.py desChoixCata.py desChoixCode.py desChoixCommandes.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 \
--- /dev/null
+# Copyright (C) 2007-2013 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 re, string
+from Extensions.i18n import tr
+
+
+from convert_python import PythonParser
+
+pattern_comment_slash = re.compile(r"^\s*/")
+pattern_eta = re.compile(r".*&ETA.*")
+pattern_fin = re.compile(r".*&FIN.*")
+pattern_oui = re.compile(r"^\s*(oui|OUI|YES|yes|TRUE|VRAI)\s*$")
+pattern_non = re.compile(r"^\s*(non|NON|NO|no|FALSE|FAUX)\*s$")
+pattern_blanc = re.compile(r"^\s*$")
+pattern_listeVide = re.compile(r"^\s*'\s*'\s*$")
+pattern_tracers = re.compile(r"^\s*(NAMES OF TRACERS|NOMS DES TRACEURS).*")
+pattern_commence_par_quote=re.compile(r'^\s*[\'"].*')
+
+pattern_ligne=re.compile(r'^\s*(?P<ident>[^=:]*)\s*[:=]\s*(?P<reste>.*)$')
+
+pattern_variables=re.compile (r"^\s*(?P<ident>VARIABLES POUR LES SORTIES GRAPHIQUES)\s*[:=]\s*(?P<valeur>\w(,\w)*)\s*(?P<reste>.*)$")
+
+# Attention aux listes de flottants
+pattern_liste=re.compile(r'^\s*(?P<valeur>[+-.\w]+(\s*;\s*[+-.\w]+)+)\s*(?P<reste>.*)$')
+pattern_liste_texte=re.compile(r"^\s*(?P<valeur>('.*(';\s*))+('.*'\s*)?)(?P<reste>.*)$")
+pattern_flottant=re.compile(r'^\s*(?P<valeur>[+-]?((\d+(\.\d*)?)|(\.\d+))([dDeE][+-]?\d+)?)\s*(?P<reste>.*)$')
+pattern_texteQuote = re.compile (r"^\s*(?P<valeur>'[^']+(''[^']+)*')\s*(?P<reste>.*)$")
+pattern_texteSimple = re.compile (r"(?P<valeur>(^|\s)\s*[\w\.-]+)\s*(?P<reste>.*)$")
+pattern_texteVide = re.compile (r"^\s*(?P<valeur>'')\s*(?P<reste>.*)$")
+
+pattern_ContientDouble=re.compile (r"^.*''.*$")
+
+# le pattern texte reconnait
+#nom1 nom 2 : ou = chaine entre '
+# avec eventuellement des quotes au milieu par exemple
+# TITRE = 'TELEMAC 2D : GOUTTE D''EAU DANS UN BASSIN$'
+# m.group("texte") va rendre 'TELEMAC 2D : GOUTTE D''EAU DANS UN BASSIN$'
+
+
+#Si le code n est pas Telemac
+try :
+#if 1 :
+ from aideAuxConvertisseurs import ListeSupprimeCasToEficas
+ from enumDicoTelemac import TelemacdicoEn
+except :
+ pass
+
+from Extensions import localisation
+
+from determine import monEnvQT5
+
+
+
+def entryPoint():
+ """
+ Return a dictionary containing the description needed to load the plugin
+ """
+ return {
+ 'name' : 'TELEMAC3',
+ 'factory' : TELEMACParser
+ }
+
+class TELEMACParser(PythonParser):
+ """
+ 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.
+ """
+
+ def convert(self, outformat, appli=None):
+
+
+ from Accas import A_BLOC, A_FACT, A_SIMP
+ self.dicoCasToCata=appli.readercata.dicoCasToCata
+ self.dicoInverse=appli.readercata.dicoInverse
+ self.dicoMC=appli.readercata.dicoMC
+ self.Ordre_Des_Commandes=appli.readercata.Ordre_Des_Commandes
+
+
+ text=""
+ self.dictSimp={}
+
+ # Traitement des noms des tracers qui peuvent etre sur plusieurs lignes
+ l_lignes_texte = string.split(self.text,'\n')
+ l_lignes=[]
+ i=0
+ while (i < len(l_lignes_texte)) :
+ ligne=l_lignes_texte[i]
+ i=i+1
+ if not(pattern_tracers.match(ligne)):
+ l_lignes.append(ligne)
+ continue
+ while (i < len(l_lignes_texte)):
+ ligne_complementaire=l_lignes_texte[i]
+ if not(pattern_commence_par_quote.match(ligne_complementaire)) :
+ l_lignes.append(ligne)
+ break
+ else :
+ ligne=ligne +ligne_complementaire
+ i=i+1
+ if i == len(l_lignes_texte):
+ l_lignes.append(ligne)
+ continue
+
+
+ for ligne in l_lignes :
+ if pattern_comment_slash.match(ligne) : continue
+ if pattern_eta.match(ligne) : continue
+ if pattern_fin.match(ligne) : continue
+ if pattern_blanc.match(ligne) : continue
+
+
+ finLigne=ligne
+ while finLigne != "" :
+ if pattern_comment_slash.match(finLigne) : finLigne=""; continue
+ valeur=""
+ if pattern_variables.match(finLigne) :
+ m=pattern_variables.match(finLigne)
+ valeur=m.group('valeur')
+ finLigne=m.group('reste')
+ self.dictSimp[simp]=valeur
+ continue
+
+ m=pattern_ligne.match(finLigne)
+ if m == None :
+ #print "________________________________________________"
+ print 'pb avec ****', finLigne , '**** dans ', ligne
+ #print "________________________________________________"
+ break
+
+ simpCas=self.traiteIdent(m.group('ident'))
+ if not simpCas :
+ finLigne=m.group('reste')
+ continue
+
+ #print simpCas
+ finLigne=m.group('reste')
+ # attention, l ordre des if est important
+ if pattern_liste.match(finLigne) :
+ m=pattern_liste.match(finLigne)
+ elif pattern_liste_texte.match(finLigne) :
+ m=pattern_liste_texte.match(finLigne)
+ elif pattern_texteQuote.match(finLigne) :
+ m=pattern_texteQuote.match(finLigne)
+ elif pattern_flottant.match(finLigne) :
+ m=pattern_flottant.match(finLigne)
+ elif pattern_texteVide.match(finLigne):
+ m=pattern_texteVide.match(finLigne)
+ elif pattern_texteSimple.match(finLigne):
+ m=pattern_texteSimple.match(finLigne)
+ else :
+ #print "________________________________________________"
+ print 'pb avec ****', finLigne , '**** dans ', ligne
+ print "non match"
+ #print "________________________________________________"
+ break
+
+
+ valeur=m.group('valeur')
+ if pattern_blanc.match(valeur) : valeur=None
+
+ if pattern_flottant.match(finLigne) :
+ valeur=re.sub("d","e",valeur)
+ valeur=re.sub("D","E",valeur)
+
+ if pattern_liste.match(finLigne) or pattern_liste_texte.match(finLigne):
+ valeur=valeur.split(";")
+
+
+ finLigne=m.group('reste')
+ self.dictSimp[simpCas]=valeur
+
+ if 'TITLE' not in self.dictSimp.keys() :
+ import os
+ self.dictSimp['TITLE']=os.path.basename(self.filename)
+
+ dicoParMC={}
+ #for simp in self.dictSimp.keys():
+ # if simp in TELEMACParser.__dict__.keys() : apply(TELEMACParser.__dict__[simp],(self,))
+
+ for simp in self.dictSimp.keys():
+ if simp in ListeSupprimeCasToEficas: continue
+ if simp not in self.dicoInverse.keys() :
+ #print "************"
+ print "pb avec dans dicoInverse", simp,'------'
+ #print "************"
+ #print poum
+ continue
+ listeGenea=self.dicoInverse[simp]
+ listeGeneaReverse=[]
+ for (u,v) in listeGenea :
+ if isinstance(v,A_BLOC.BLOC): continue
+ listeGeneaReverse.append(u)
+ listeGeneaReverse.reverse()
+ dicoTravail=dicoParMC
+ i=0
+ #print (listeGeneaReverse[0:-1])
+ while i < len(listeGeneaReverse[0:-1]) :
+ mot=listeGeneaReverse[i]
+ i=i+1
+ if mot not in dicoTravail.keys(): dicoTravail[mot]={}
+ dicoTravail=dicoTravail[mot]
+ dicoTravail[simp]=self.dictSimp[simp]
+
+ self.textePy=""
+ #print "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
+ #print dicoParMC
+ #print "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
+ listeMC=self.tri(dicoParMC.keys())
+ for k in listeMC :
+ #print "----------- traitement de " , k
+ self.textePy += str(k )+ "("
+ self.traiteMC(dicoParMC[k])
+ self.textePy += ");\n"
+ #print "----------- "
+
+
+
+ appli.listeTelemac=self.dictSimp.keys()
+ return self.textePy
+
+
+ #----------------------------------------
+ def traiteIdent(self,ident):
+ # enleve les espaces de part et autre
+ # traduit du langage Telemac vers le langage Catalogue
+ #----------------------------------------
+ while ident[-1] == " " or ident[-1] == '\t' : ident=ident[0:-1]
+ while ident[0] == " " or ident[0] == '\t' : ident=ident[1:]
+ try : identCata=self.dicoCasToCata[ident]
+ except :
+ print "---> ", "pb conversion type pour", ident
+ identCata=None
+ return identCata
+
+
+ def traiteMC(self,dico) :
+ from Accas import A_BLOC, A_FACT, A_SIMP
+ for k in dico.keys() :
+ valeur= dico[k]
+ if k not in self.dicoMC.keys() : kA=self.dicoFrancaisAnglais[k]
+ else : kA=k
+ obj=self.dicoMC[kA]
+ if isinstance(obj,A_FACT.FACT): self.convertFACT(obj,kA,valeur)
+ elif isinstance(obj,A_BLOC.BLOC): self.convertBLOC(obj,kA,valeur)
+ elif isinstance(obj,A_SIMP.SIMP): self.convertSIMP(obj,kA,valeur)
+ else : print "%%%%%%%%%%%\n", "pb conversion type pour", k, obj, "\n%%%%%%%%%%%"
+
+ #print "_____________"
+
+ def convertFACT(self,obj,nom,valeur):
+ #print "convertFACT", nom,valeur
+ #if nom in TELEMACParser.__dict__.keys() :
+ # apply(TELEMACParser.__dict__[nom],(self,))
+ # return
+ self.textePy += nom + "=_F( "
+ self.traiteMC(valeur)
+ self.textePy += '),\n'
+
+
+ def convertBLOC(self,obj,nom,valeur):
+ print "BLOC "
+ print nom
+
+ def convertSIMP(self,obj,nom,valeur):
+ #print obj,nom,valeur
+ #if nom in ("PRESCRIBED_FLOWRATES", "PRESCRIBED_VELOCITIES", "PRESCRIBED_ELEVATIONS" ): return
+ if obj.max==1 :
+ if hasattr(obj.type[0],'ntuple') :
+ lval=[]
+ for v in valeur :
+ try : v=eval(v,{})
+ except : pass
+ lval.append(v)
+ self.textePy += nom + "=" + str(lval) +","
+ return
+ if 'TXM' in obj.type :
+
+ if pattern_ContientDouble.match(str(valeur)):
+ valeur=re.sub("''","\'\'",str(valeur))
+ self.textePy += nom + "=" + str(valeur) +","
+ return
+ valeur=str(valeur)
+
+ # ceinture et bretelle si les re sont correctes -)
+ while valeur[-1] == " " or valeur[-1] == '\t' : valeur=valeur[0:-1]
+ while valeur[0] == " " or valeur[0] == '\t' : valeur=valeur[1:]
+
+
+
+ # Pour les enum
+ try : valeur=eval(valeur,{})
+ except : pass
+
+ if nom in TelemacdicoEn.keys():
+ try :
+ valeur=TelemacdicoEn[nom][valeur]
+ self.textePy += nom + "= '" + str(valeur) +"',"
+ return
+ except : pass
+
+
+ if obj.into != [] and obj.into != None and not('R' in obj.type) and not('I' in obj.type):
+ for possible in obj.into :
+ try :
+ if possible.upper() == valeur.upper():
+ valeur=possible
+ break
+ v=valeur[0].upper()+valeur[1:].lower()
+ v2=tr(v)
+ if possible.upper() == v2.upper():
+ valeur=possible
+ break
+ except:
+ print "pb avec le type de ", obj.nom, obj.type, 'et la valeur ', valeur
+
+ if 'Fichier' in obj.type or 'TXM' in obj.type or 'Repertoire' in obj.type :
+ valeur=str(valeur)
+ while valeur[-1] == " " : valeur=valeur[0:-1]
+ while valeur[0] == " " : valeur=valeur[1:]
+ self.textePy += nom + "= '" + str(valeur) +"' ,"
+ return
+
+ if bool in obj.type :
+ if valeur == True : self.textePy += nom + "= True,"
+ elif valeur == False : self.textePy += nom + "= False,"
+ elif pattern_oui.match(valeur) : self.textePy += nom + "= True,"
+ elif pattern_non.match(valeur) : self.textePy += nom + "= False,"
+ else : self.textePy += nom + "= None,"
+ return
+ self.textePy += nom + "=" + str(valeur) +","
+
+ else :
+ if valeur == () or valeur ==[] or pattern_listeVide.match(str(valeur)) :
+ self.textePy += nom + "= None,"
+ return
+
+ # les 4 lignes suivantes sont probablement inutiles
+ while valeur[-1] == " " or valeur[-1]=="'" : valeur=valeur[0:-1]
+ while valeur[0] == " " or valeur[-0]=="'" : valeur=valeur[1:]
+ if ";" in valeur : valeur=valeur.split(';')
+ elif "," in valeur : valeur=valeur.split(',')
+
+
+ if valeur == None : return
+ newVal=[]
+ for v in valeur :
+ try : v=eval(v,{})
+ except : pass
+ if nom in TelemacdicoEn.keys():
+ #print "est dans le dico des enum, valeurs multiples"
+ try : v=TelemacdicoEn[nom][v]
+ except : pass
+ newVal.append(v)
+ self.textePy += nom + "=" + str(newVal) +","
+
+
+
+ def tri(self, listeIn):
+ if len(listeIn) == 1 : return listeIn
+ if self.Ordre_Des_Commandes == None : return listeIn
+ #print listeIn
+ listeOut=[listeIn[0],]
+ for kF in listeIn[1:]:
+ k=str(self.dicoFrancaisAnglais[kF])
+ ordreK=self.Ordre_Des_Commandes.index(k)
+ i=0
+ while i < len(listeOut):
+ ordreI=self.Ordre_Des_Commandes.index(self.dicoFrancaisAnglais[listeOut[i]])
+ if ordreK < ordreI : break
+ i=i+1
+ listeOut.insert(i,kF)
+ return listeOut
+
+ def PARALLEL_PROCESSORS(self):
+ #YOANN
+ if self.dictSimp["PARALLEL_PROCESSORS"] == 0 : del self.dictSimp["PARALLEL_PROCESSORS"]
+ #else : self.dictSimp["Parallel_Computation"]="Parallel"
+
+ def decoupeListe(self,valeurs,label):
+ #print "decoupeListe"
+ #print valeurs
+ i=0
+ for prefixe in ('_U_AND_V','_H'):
+ labelComplet=label+prefixe
+ valeur=valeurs[i]
+ try : valeur=eval(valeur,{})
+ except : pass
+ if label in TelemacdicoEn.keys():
+ try : valeur=TelemacdicoEn[label][valeur]
+ except : pass
+ self.dictSimp[labelComplet]=valeur
+ i=i+1
+ if len(valeurs)==2 : return
+ #for prefixe in ('_K_AND_EPSILON','_TRACERS'):
+ for prefixe in ('_TRACERS','_K_AND_EPSILON','_TRACERS'):
+ labelComplet=label+prefixe
+ valeur=valeurs[i]
+ try : valeur=eval(valeur,{})
+ except : pass
+ if label in TelemacdicoEn.keys():
+ try : valeur=TelemacdicoEn[label][valeur]
+ except : pass
+ self.dictSimp[labelComplet]=valeur
+ i=i+1
+
+ def SUPG_OPTION(self):
+ return
+ #print "ds Option_De_Supg"
+ self.decoupeListe( self.dictSimp["SUPG_OPTION"],"SUPG_OPTION")
+ del self.dictSimp["SUPG_OPTION"]
+
+ def TYPE_OF_ADVECTION(self):
+ self.decoupeListe( self.dictSimp["TYPE_OF_ADVECTION"],"ADVECTION")
+ valeurs=self.dictSimp["TYPE_OF_ADVECTION"]
+ del self.dictSimp["TYPE_OF_ADVECTION"]
+ self.dictSimp['ADVECTION_OF_U_AND_V']=True
+ self.dictSimp['ADVECTION_OF_H']=True
+ if len(valeurs)==2 : return
+ self.dictSimp['ADVECTION_OF_K_AND_EPSILON']=True
+ self.dictSimp['ADVECTION_OF_TRACERS']=True
+
+ def DISCRETIZATIONS_IN_SPACE(self):
+ self.decoupeListe( self.dictSimp["DISCRETIZATIONS_IN_SPACE"],"DISCRETIZATIONS_IN_SPACE")
+ del self.dictSimp["Discretisations_En_Espace"]
+
+ def ORIGINAL_DATE_OF_TIME (self):
+ valeurs=self.dictSimp["Date_De_L_Origine_Des_Temps"]
+ self.dictSimp['Annee']=valeurs[0]
+ self.dictSimp['Mois']=valeurs[1]
+ self.dictSimp['Jour']=valeurs[2]
+ del self.dictSimp["Date_De_L_Origine_Des_Temps"]
+
+
+ def ORIGINAL_HOUR_OF_TIME (self):
+ valeurs=self.dictSimp["ORIGINAL_HOUR_OF_TIME"]
+ self.dictSimp['Heure']=valeurs[0]
+ self.dictSimp['Minute']=valeurs[1]
+ self.dictSimp['Seconde']=valeurs[2]
+ del self.dictSimp["ORIGINAL_HOUR_OF_TIME"]
+
+ def Liquid_Boundaries(self):
+ #print 'Liquid Boundaries'
+ texte_Boundaries="Liquid_Boundaries=( "
+ premier=0
+ if 'Prescribed_Elevations' in self.dictSimp.keys():
+ valeurs=self.dictSimp["Prescribed_Elevations"]
+ elif 'Cotes_Imposees' in self.dictSimp.keys():
+ valeurs=self.dictSimp["Cotes_Imposees"]
+ else : valeurs=()
+ #print valeurs
+ for e in range(len(valeurs)):
+ if valeurs[e] == "" or valeurs[e] == "\n" : continue
+ if eval(valeurs[e],{})==0 : continue
+ if not premier : premier=1
+ texte_Boundaries += "_F(Type_Condition = 'Prescribed Elevations',\n"
+ texte_Boundaries += "Prescribed_Elevations = " + str(valeurs[e]) + "),\n"
+
+ if 'Prescribed_Flowrates' in self.dictSimp.keys():
+ valeurs=self.dictSimp["Prescribed_Flowrates"]
+ elif 'Debits_Imposes' in self.dictSimp.keys():
+ valeurs=self.dictSimp["Debits_Imposes"]
+ else : valeurs=()
+ #print valeurs
+ for e in range(len(valeurs)):
+ if valeurs[e] == "" or valeurs[e] == "\n" : continue
+ if eval(valeurs[e],{})==0 : continue
+ if not premier : premier=1
+ texte_Boundaries += "_F(Type_Condition = 'Prescribed Flowrates',\n"
+ texte_Boundaries += "Prescribed_Flowrates = " + str(valeurs[e]) + "),\n"
+
+ if 'Prescribed_Velocity' in self.dictSimp.keys():
+ valeurs=self.dictSimp["Prescribed_Velocity"]
+ elif 'Vitesses_Imposees' in self.dictSimp.keys():
+ valeurs=self.dictSimp["Vitesses_Imposees"]
+ else : valeurs=()
+ #print valeurs
+ for e in range(len(valeurs)):
+ if valeurs[e] == "" or valeurs[e] == "\n" : continue
+ if eval(valeurs[e],{})==0 : continue
+ if not premier : premier=1
+ texte_Boundaries += "_F(Type_Condition = 'Prescribed Velocity',\n"
+ texte_Boundaries += "Prescribed_Velocity = " + str(valeurs[e]) + "),\n"
+ if premier : texte_Boundaries +="),\n"
+ else : texte_Boundaries="" ; print "pb texte_Boundaries "
+ self.textePy += texte_Boundaries
+
from generator_python import PythonGenerator
extensions=('.comm',)
+#if 1:
try :
- from aideAuxConvertisseurs import listeSupprime, DicoAglomere, DicoEficasToCas
- from enumDicoTelemac import DicoEnumCasEnInverse
+ from enumDicoTelemac import TelemacdicoEn
+ DicoEnumCasEnInverse={}
+ for motClef in TelemacdicoEn.keys():
+ d={}
+ for valTelemac in TelemacdicoEn[motClef].keys():
+ valEficas= TelemacdicoEn[motClef][valTelemac]
+ d[valEficas]=valTelemac
+ DicoEnumCasEnInverse[motClef]=d
+
except :
- pass
+ pass
def entryPoint():
"""
return {
# Le nom du plugin
- 'name' : 'TELEMAC',
+ 'name' : 'TELEMAC3',
# La factory pour creer une instance du plugin
'factory' : TELEMACGenerator,
}
"""
#----------------------------------------------------------------------------------------
- def gener(self,obj,format='brut',config=None):
+ def gener(self,obj,format='brut',config=None,appli=None):
self.initDico()
- #print self.texteDico
-
+ # Pour Simplifier les verifs d ecriture
+ if hasattr(appli,'listeTelemac') : self.listeTelemac=appli.listeTelemac
+ else : self.listeTelemac = None
+
+ self.dicoCataToCas={}
+ self.dicoCasToCata=appli.readercata.dicoCasToCata
+ for motClef in self.dicoCasToCata.keys():
+ self.dicoCataToCas[self.dicoCasToCata[motClef]]=motClef
+
+
+
# Cette instruction genere le contenu du fichier de commandes (persistance)
self.text=PythonGenerator.gener(self,obj,format)
return self.text
#----------------------------------------------------------------------------------------
def writeDefault(self,fn) :
- self.texteDico+='\n&ETA\n'
+ self.texteDico+='\n&ETA\n&FIN\n'
fileDico = fn[:fn.rfind(".")] + '.py'
f = open( str(fileDico), 'wb')
f.write( self.texteDico )
s=PythonGenerator.generPROC_ETAPE(self,obj)
#print obj
#print obj.nom
- if obj.nom in TELEMACGenerator.__dict__.keys() : apply(TELEMACGenerator.__dict__[obj.nom],(self,obj))
+ #if obj.nom in TELEMACGenerator.__dict__.keys() : apply(TELEMACGenerator.__dict__[obj.nom],(self,obj))
return s
def generMCSIMP(self,obj) :
"""recuperation de l objet MCSIMP"""
s=PythonGenerator.generMCSIMP(self,obj)
- if obj.nom == "Title" :
+ #if obj.nom == "Title" :
#print s
- print str(obj.valeur)
+ # print str(obj.valeur)
#print repr(obj.valeur)
# Attention pas sur --> ds certains cas non traite par MCFACT ?
# a reflechir avec Yoann
- if hasattr(obj.definition,'defaut') :
- if obj.definition.defaut == obj.valeur : return s
+ #if hasattr(obj.definition,'defaut') :
+ # if obj.definition.defaut == obj.valeur : return s
+ if self.listeTelemac != None and obj.nom not in self.listeTelemac : return s
+
- nomMajuscule=obj.nom.upper()
- nom=nomMajuscule.replace('_',' ')
- if nom in listeSupprime or s == "" : return s
+ #nomMajuscule=obj.nom.upper()
+ #nom=nomMajuscule.replace('_',' ')
+ #if nom in listeSupprime or s == "" : return s
+ if s == "" : return s
+
sTelemac=s[0:-1]
if not( type(obj.valeur) in (types.TupleType,types.ListType) ):
if obj.nom in DicoEnumCasEnInverse.keys():
try : sTelemac=str(DicoEnumCasEnInverse[obj.nom][obj.valeur])
except : print "generMCSIMP Pb valeur avec ", obj.nom, obj.valeur
if type(obj.valeur) in (types.TupleType,types.ListType) :
+ #print "je passe pour", obj.nom
if obj.nom in DicoEnumCasEnInverse.keys():
- sT = "'"
+ #sT = "'"
+ sT=''
for v in obj.valeur:
try : sT +=str(DicoEnumCasEnInverse[obj.nom][v]) +";"
except : print "generMCSIMP Pb Tuple avec ", obj.nom, v, obj.valeur
- sTelemac=sT[0:-1]+"'"
+ #sTelemac=sT[0:-1]+"'"
+ sTelemac=sT[0:-1]
+ else :
+ sTelemac=sTelemac[0:-1]
+ if sTelemac.find("'") > 0 :
+ sTelemac= sTelemac.replace (',',';\n ')
+
- if nom in DicoEficasToCas.keys() : nom=DicoEficasToCas[nom]
- self.texteDico+=nom+ ":" + str(sTelemac) + "\n"
+ s1=str(sTelemac).replace('True','YES')
+ s2=s1.replace('False','NO')
+ s3=s2.replace(',',';')
+ if s3 != "" and s3[0]=='(' :
+ try : s3=s3[1:-1] # cas de liste vide
+ except : s3 = ' '
+ nom=self.dicoCataToCas[obj.nom]
+ self.texteDico+=nom+ ":" + s3 + "\n"
return s
def generMCFACT(self,obj):
fp.write(self.text)
fp.close()
- def gener(self,obj,format='brut',config=None):
+ def gener(self,obj,format='brut',config=None,appli=None):
"""
Retourne une representation du JDC obj sous une
forme qui est parametree par format.