9 def __convert__(self,valeur):
10 if type(valeur) == types.StringType: return None
11 if len(valeur) != self.ntuple: return None
15 return "Date : jj/mm/aaaa "
22 def __init__(self,ntuple):
25 def __convert__(self,valeur):
26 if type(valeur) == types.StringType:
28 if len(valeur) != self.ntuple:
33 return "Tuple de %s elements" % self.ntuple
37 JdC = JDC_CATA (code = 'MAP',
40 # ======================================================================
41 # Catalog entry for the MAP function : c_pre_interfaceBody_mesh
42 # ======================================================================
44 # -----------------------------------------------------------------------
45 INITIALIZATION = PROC(nom = "INITIALIZATION",op = None,
46 # -----------------------------------------------------------------------
48 fr = "Initialisation des fichiers d'entrée et de sortie",
49 ang = "Input and Output files initialization",
50 #UIinfo = { "groupes" : ( "CACHE", )},
51 UIinfo = { "groupes" : ( "iiii", )},
53 # ------------------------------------
54 Title = SIMP( statut = 'o',typ = 'TXM',
55 # ------------------------------------
56 fr = 'Titre du cas etudie. Ce titre figurera sur les dessins.',
57 ang = 'Title of the case being considered. This title shall be marked on the drawings.'),
58 #Working_Directory = SIMP( statut='o',typ='Repertoire',defaut='/tmp'),
60 # ------------------------------------
61 Input_Files = FACT(statut='o',
62 # ------------------------------------
64 # Dictionary = SIMP( statut='o', typ = ('Fichier', 'Dico (*.dico);;All Files (*)',),
65 # defaut='telemac2d.dico',
66 # fr='Dictionnaire des mots cles.', ang='Key word dictionary.',),
67 # PN : le mot cle doit etre dans le dictionnaire et repris du catalogue mais n
70 # ------------------------------------
71 Geometry_File_Format = SIMP( statut = 'o', typ = 'TXM',
72 # ------------------------------------
73 into = ['Serafin', 'MED', 'SerafinD'],
75 fr = 'Format du fichier de geometrie. Les valeurs possibles sont : \n \
76 - SERAFIN : format standard simple precision pour Telemac; \n \
77 - SERAFIND: format standard double precision pour Telemac; \n \
78 - MED : format MED base sur HDF5',
79 ang = 'Results file format. Possible values are: \n\
80 - SERAFIN : classical single precision format in Telemac;\n\
81 - SERAFIND: classical double precision format in Telemac;\n\
82 - MED : MED format based on HDF5',) ,
84 # ------------------------------------
85 Geometry_File = SIMP( statut = 'o',
86 # ------------------------------------
87 typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',),
88 fr = 'Nom du fichier contenant le maillage du calcul a realiser.',
89 ang = 'Name of the file containing the mesh. \n\
90 This file may also contain the topography and the friction coefficients.'),
92 #Steering_File = SIMP( statut = 'o', typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),),
95 # ------------------------------------
96 Fortran_File = SIMP(statut = 'f',
97 # ------------------------------------
98 typ = ('Fichier', 'Fortran files (*.f);;All Files (*)'),
99 fr = 'Nom du fichier a soumettre',
100 ang = 'Name of FORTRAN file to be submitted',),
102 # ------------------------------------
103 Bottom_Topography_File = SIMP( statut = 'f',
104 # ------------------------------------
105 typ = ('Fichier', 'Geo Files (*.geo);;All Files (*)',),
106 fr = "Nom du fichier eventuel contenant la bathymetrie associee au maillage. \
107 Si ce mot-cle est utilise; c'est cette bathymetrie qui sera utilisee pour le calcul.",
108 ang = 'Name of the possible file containing the bathymetric data.\
109 Where this keyword is used, these bathymetric data shall be used in the computation.',
112 # ------------------------------------
113 Boundary_Conditions_File = SIMP( statut = 'o',
114 # ------------------------------------
115 typ = ('Fichier', 'Boundary Condition (*.cli);;All Files (*)',),
116 fr = 'Nom du fichier contenant les types de conditions aux limites. Ce fichier est rempli de facon automatique\n\
117 par le mailleur au moyen de couleurs affectees aux noeuds des frontieres du domaine de calcul.',
118 ang = 'Name of the file containing the types of boundary conditions. This file is filled automatically\n\
119 by the mesh generator through through colours that are assigned to the boundary nodes.',),
122 # ------------------------------------
123 Validation = FACT( statut = 'f',
124 # ------------------------------------
125 #PNPN--> creer le Mot_clef simple Validation si ce fact existe
127 # ------------------------------------
128 Reference_File_Format = SIMP( statut = 'o',
129 # ------------------------------------
131 into = ['Serafin','MED','SerafinD'],
133 fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\
134 - SERAFIN : format standard simple precision pour Telemac; \n\
135 - SERAFIND: format standard double precision pour Telemac; \n\
136 - MED : format MED base sur HDF5' ,
137 ang = 'Results file format. Possible values are:\n \
138 - SERAFIN : classical single precision format in Telemac;\n\
139 - SERAFIND: classical double precision format in Telemac; \n\
140 - MED : MED format based on HDF5' ,),
142 # ------------------------------------
143 Reference_File = SIMP( statut = 'o',
144 # ------------------------------------
145 typ = ('Fichier', 'Reference File (*.ref);;All Files (*)',),
146 fr = 'Fichier de resultats de reference pour la validation. Les resultats a placer dans ce fichier seront a ecrire sur le canal 22.',
147 ang = 'Binary-coded result file for validation. The results to be entered into this file shall be written on channel 22.',),
149 ), # Fin de Validation
151 # ------------------------------------
152 Formatted_And_Binary_Files = FACT( statut = 'f',
153 # ------------------------------------
155 # ------------------------------------
156 Formatted_Data_File_1 = SIMP( statut = 'f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),
157 # ------------------------------------
158 fr = "Fichier de donnees formate mis a la disposition de l''utilisateur. \n\
159 Les donnees de ce fichier seront a lire sur le canal 26.",
160 ang = 'Formatted data file made available to the user.\n\
161 The data in this file shall be read on channel 26.',),
163 # ------------------------------------
164 Formatted_Data_File_2 = SIMP( statut = 'f', typ = ('Fichier', 'formated File (*.txt);;All Files (*)',),
165 # ------------------------------------
166 fr = "Fichier de donnees formate mis a la disposition de l'utilisateur. \n\
167 Les donnees de ce fichier seront a lire sur le canal 27.",
168 ang = "Formatted data file made available to the user.\n\
169 The data in this file shall be read on channel 27.",),
171 # ------------------------------------
172 Binary_Data_File_1 = SIMP( statut = 'f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),
173 # ------------------------------------
174 fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur. \n\
175 Les donnees de ce fichier seront a lire sur le canal 24.',
176 ang = 'Binary-coded data file made available to the user.\n\
177 The data in this file shall be read on channel 24.',),
179 # ------------------------------------
180 Binary_Data_File_2 = SIMP( statut = 'f', typ = ('Fichier', 'Reference File (*.txt);;All Files (*)',),
181 # ------------------------------------
182 fr = 'Fichier de donnees code en binaire mis a la disposition de l utilisateur.\n\
183 Les donnees de ce fichier seront a lire sur le canal 25.',
184 ang = 'Binary-coded data file made available to the user. \n\
185 The data in this file shall be read on channel 25.',),
187 ), # fin Formatted_And_Binary_Files
189 ), # Fin de InputFile
192 # ------------------------------------
193 Computation_Continued = SIMP( statut = 'o',typ = bool,defaut = False),
194 # ------------------------------------
196 # ------------------------------------
197 b_comput_con = BLOC(condition = 'Computation_Continued == True',
198 Computation_Continued_Settings = FACT(statut = 'o',
200 # ------------------------------------
201 Previous_Computation_File_Format = SIMP( statut = 'o',typ = 'TXM',
202 # ------------------------------------
203 into = ['Serafin','MED','SerafinD'],
205 fr = 'Format du fichier de resultats du calcul precedent. Les valeurs possibles sont : \n\
206 - SERAFIN : format standard simple precision pour Telemac; \n\
207 - SERAFIND: format standard double precision pour Telemac; \n\
208 - MED : format MED base sur HDF5',
209 ang = 'Previous computation results file format. Possible values are: \n\
210 - SERAFIN : classical single precision format in Telemac; \n\
211 - SERAFIND: classical double precision format in Telemac; \n\
212 - MED : MED format based on HDF5',),
214 # ------------------------------------
215 Previous_Computation_File = SIMP( statut = 'o',
216 # ------------------------------------
217 typ = ('Fichier', 'Computation File (*.res);;All Files (*)',),
218 fr = "Nom d'un fichier contenant les resultats d'un calcul precedent realise sur le meme maillage \n\
219 et dont le dernier pas de temps enregistre va fournir les conditions initiales pour une suite de de calcul.",
220 ang = 'Name of a file containing the results of an earlier computation which was made on the same mesh.\n\
221 The last recorded time step will provid the initial conditions for the new computation.',
223 # ------------------------------------
224 Initial_Time_Set_To_Zero = SIMP(typ = bool, statut = 'o',
225 # ------------------------------------
226 fr = 'Remet le temps a zero en cas de suite de calcul',
227 ang = 'Initial time set to zero in case of restart',
230 # ------------------------------------
231 Record_Number_For_Restart = SIMP(typ = 'I', statut = 'o', defaut = 0,
232 # ------------------------------------
233 fr = "numero de l'enregistrement de depart dans le fichier du calcul precedent. 0 signifie qu'on prend le dernier enregistrement",
234 ang = "record number to start from in the previous computation file, 0 for last record" ),
237 ),# fin BLOC b_comput_con
239 # ------------------------------------
240 Coupling = FACT( statut = 'o',
241 # ------------------------------------
242 # PNPNPN Attention 1 seul choix possible
243 fr = 'Liste des codes avec lesquels on couple Telemac-2D',
244 ang = 'List of codes to be coupled with Telemac-2D',
246 # ------------------------------------
247 Sisyphe = SIMP(statut = 'o',typ = bool,defaut = False ,
248 # ------------------------------------
249 fr = 'couplage interne avec Sisyphe',
250 ang = 'internal coupling with Sisyphe'),
252 # ------------------------------------
253 Tomawac = SIMP(statut = 'o',typ = bool,defaut = False,
254 # ------------------------------------
255 fr = 'couplage interne avec Tomawac',
256 ang = 'internal coupling with Tomawac'),
258 # ------------------------------------
259 Delwacq = SIMP(statut = 'o',typ = bool,defaut = False,
260 # ------------------------------------
261 fr = 'couplage interne avec Delwacq',
262 ang = 'internal coupling with Delwacq'),
263 # PNPNPN Attention : il faut des mots cles si Delwacq. a voir avec Soizic
267 # ------------------------------------
268 Parallel_Computation = SIMP(statut = 'o',typ = 'TXM',
269 # ------------------------------------
270 # Ce mot clef n existe pas dans le dico
271 into = ['Sequentiel','Parallel'],
272 defaut = 'Sequentiel',),
274 # ------------------------------------
275 b_para = BLOC(condition = 'Parallel_Computation == "Parallel"',
276 # ------------------------------------
277 # ------------------------------------
278 Parallel_Processors = SIMP(statut = 'o',typ = 'I',
279 # ------------------------------------
280 val_min = 0,defaut = 1,
281 fr = 'NOMBRE DE PROCESSEURS EN CALCUL PARALLELE \n\
282 0 : 1 machine, compilation sans bibliotheque de parallelisme \n\
283 1 : 1 machine, compilation avec bibliotheque de parallelisme \n\
284 2 : 2 processeurs ou machines en parallele etc... ',
285 ang = 'NUMBER OF PROCESSORS FOR PARALLEL PROCESSING \n\
286 0 : 1 machine, compiling without parallel library \n\
287 1 : 1 machine, compiling with a parallel library \n\
288 2 : 2 processors or machines in parallel'),
293 # -----------------------------------------------------------------------
294 TIDE_PARAMETERS = PROC(nom = "TIDE_PARAMETERS",op = None,
295 # -----------------------------------------------------------------------
296 # ------------------------------------
297 Inputs_Outputs_For_Tide = FACT( statut = 'o',
298 # ------------------------------------
300 # ------------------------------------
301 Harmonic_Constants_File = SIMP( statut = 'o',
302 # ------------------------------------
303 typ = ('Fichier', 'All Files (*)',),
304 fr = 'Constantes harmoniques extraites du fichier du modele de maree',
305 ang = 'Harmonic constants extracted from the tidalmodel file',),
307 # ------------------------------------
308 Tidal_Model_File = SIMP( statut = 'o',
309 # ------------------------------------
310 typ = ('Fichier', 'All Files (*)',),
311 fr = 'Fichier de geometrie du modele dont sont extraites les constantes harmoniques',
312 ang = 'Geometry file of the model from which harmonic constituents are extracted',),
314 ), # Fin Inputs_Outputs_For_Tide
316 # ------------------------------------
317 Location = FACT( statut = 'o',
318 # ------------------------------------
319 # ------------------------------------
320 Geographic_System = SIMP(statut = 'o',typ = 'TXM',
321 # ------------------------------------
322 into = ["Defined by user", "WGS84 longitude/latitude in real degrees", "WGS84 nothern UTM",\
323 "WGS84 southern UTM","Lambert", "Mercator",],
324 defaut = "Defined by user",
325 fr = 'Systeme de coordonnees geographiques dans lequel est construit le modele numerique.',
326 ang = 'Geographic coordinates system in which the numerical model is built.',),
328 # ------------------------------------
329 Zone_Number_In_Geographic_System = SIMP(statut = 'f',typ = 'TXM',
330 # ------------------------------------
331 into = [ 'Lambert 1 north', 'Lambert 2 center', 'Lambert 3 xouth', \
332 'Lambert 4 corsica', 'Lambert 2 extended', 'UTM zone,E.G.'],
333 fr = "Numero de zone (fuseau ou type de projection) lors de l'utilisation d'une projection plane.\n \
334 Indiquer le systeme geographique dans lequel est construit le modele numerique avec le mot-cle SYSTEME GEOGRAPHIQUE",
335 ang = 'Number of zone when using a plane projection. \n\
336 Indicate the geographic system in which the numerical model is built with the keyword GEOGRAPHIC SYSTEM'),
340 # ------------------------------------
341 Physical_Parameters = FACT(statut = 'o',
342 # ------------------------------------
344 # ------------------------------------
345 Tide_Generating_Force = SIMP(statut = 'o',
346 # ------------------------------------
347 typ = bool, defaut = False),
349 # ------------------------------------
350 b_Tide = BLOC(condition = "Tide_Generating_Force == True",
351 # ------------------------------------
352 # ------------------------------------
353 Longitude_Of_Origin_Point = SIMP(typ = 'R',
354 # ------------------------------------
355 statut = 'o', defaut = 48.,
356 fr = 'Fixe la valeur de la longitude du point origine du modele, lors de l utilisation de la force generatrice de la maree.',
357 ang = 'Give the value of the longitude of the origin point of the model, when taking into account of the tide generator force.',),
359 # ------------------------------------
360 Tidal_Data_Base = SIMP(statut = 'o',typ = 'TXM',
361 # ------------------------------------
362 # Soizic . Il faudrait une consigne ? avec des blocs ?
363 into = [ "JMJ", "TPXO", "Miscellaneous (LEGOS-NEA, FES20XX, PREVIMER...)",],
364 fr = 'Pour JMJ, renseigner la localisation du fichier bdd_jmj et geofin dans les mots-cles BASE DE DONNEES DE MAREE \n\
365 et FICHIER DU MODELE DE MAREE. Pour TPXO, LEGOS-NEA, FES20XX et PREVIMER, l utilisateur doit telecharger les fichiers \n\
366 de constantes harmoniques sur internet',
367 ang = 'For JMJ, indicate the location of the files bdd_jmj and geofin with keywords TIDE DATA BASE and TIDAL MODEL FILE.\n\
368 For TPXO, LEGOS-NEA, FES20XX and PREVIMER, the user has to download files of harmonic constituents on the internet',),
370 # ------------------------------------
371 b_tpxo = BLOC(condition = "Tidal_Data_Base == 'TPXO'",
372 # ------------------------------------
374 # ------------------------------------
375 Minor_Constituents_Inference = SIMP( statut = 'o',typ = 'bool',
376 # ------------------------------------
377 # Soizic . Il faudrait un blo avec les 2 mots clefs
379 fr = 'Interpolation de composantes harmoniques mineures a partir de celles lues dans les \n\
380 fichiers d entrees lies aux mots-cles BASE BINAIRE 1 DE DONNEES DE MAREE et BASE BINAIRE 2 DE DONNEES DE MAREE',
381 ang = 'Inference of minor constituents from the one read in input files linked to \n\
382 keywords BINARY DATABASE 1 FOR TIDE and BINARY DATABASE 2 FOR TIDE',),
384 ),#fin du bloc b_tpxo
387 # ------------------------------------
388 Binary_Database_1_For_Tide = SIMP( statut = 'o',
389 # ------------------------------------
390 typ = ('Fichier', '(All Files (*),)',),
391 fr = 'Base de donnees binaire 1 tiree du fichier du modele de maree.\n\
392 Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de niveau d''eau, par exemple h_tpxo7.2',
393 ang = 'Binary database 1 extracted from the tidal model file.\n\
394 In the case of the TPXO satellite altimetry model, this file should be for free surface level, for instance h_tpxo7.2',),
396 # ------------------------------------
397 Binary_Database_2_For_Tide = SIMP( statut = 'o',
398 # ------------------------------------
399 typ = ('Fichier', '(All Files (*),)',),
400 fr= 'Base de donnees binaire 2 tiree du fichier du modele de maree.\n\
401 Dans le cas des donnees satellitaires de TPXO, ce fichier correspond aux donnees de vitesse de marrees, par exemple u_tpxo7.2',
402 ang = 'Binary database 2 extracted from the tidal model file.\n\
403 In the case of the TPXO satellite altimetry model, this file should be for tidal velocities, for instance u_tpxo7.2' ),
405 ), # Fin du Bloc b_Tide
407 # ------------------------------------
408 Wave_Driven_Currents = SIMP(statut = 'o',
409 # ------------------------------------
410 typ = bool, defaut = False,
411 fr = 'Active la prise en compte des courants de houle',
412 ang = 'Wave driven currents are taken into account.'),
414 # ------------------------------------
415 b_Wave = BLOC(condition = "Wave_Driver_Currents == 'True'",
416 # ------------------------------------
417 # ------------------------------------
418 Record_Number_In_Wave_File = SIMP(statut = 'o',typ = 'I', defaut = 1,
419 # ------------------------------------
420 fr = 'Numero d enregistrement dans le fichier des courants de houle',
421 ang = 'Record number to read in the wave driven currents file'),
424 # ------------------------------------
425 Option_For_Tidal_Boundary_Conditions = SIMP( statut = 'o',
426 # ------------------------------------
427 typ = 'TXM', defaut = 'No tide',
428 into = ['No tide', 'Real tide (recommended methodology)', 'Astronomical tide', \
429 'Mean spring tide', 'Mean tide', 'Mean neap tide', \
430 'Astronomical neap tide', 'Real tide (methodology before 2010)'],),
432 # ------------------------------------
433 b_Option_B = BLOC(condition = 'Option_For_Tidal_Boundary_Conditions!= "No tide"',
434 # ------------------------------------
435 # ------------------------------------
436 Coefficient_To_Calibrate_Tidal_Range = SIMP(statut = 'o',
437 # ------------------------------------
438 typ = 'R', defaut = 1.,
439 fr = 'Coefficient pour ajuster le marnage de l''onde de maree aux frontieres maritimes',
440 ang = 'Coefficient to calibrate the tidal range of tidal wave at tidal open boundary conditions'),
442 # ------------------------------------
443 Coefficient_To_Calibrate_Tidal_Velocities = SIMP(statut = 'o',
444 # ------------------------------------
445 typ = 'R', defaut = 999999,
446 fr = 'Coefficient pour ajuster les composantes de vitesse de l''onde de maree aux frontieres maritimes.\n\
447 La valeur par defaut 999999. signifie que c''est la racine carree du Coefficient_De_Calage_Du_Marnage qui est prise',
448 ang = 'Coefficient to calibrate the tidal velocities of tidal wave at tidal open boundary conditions.\n\
449 Default value 999999. means that the square root of Coefficient_To_Calibrate_Tidal_Range is taken'),
451 # ------------------------------------
452 Coefficient_To_Calibrate_Sea_Level = SIMP(statut = 'o',typ = 'R',
453 # ------------------------------------
455 fr = 'Coefficient pour ajuster le niveau de mer',
456 ang = 'Coefficient to calibrate the sea level'),
459 ), #fin Physical_Parameters
460 ) # Fin TIDE_PARAMETERS
462 # -----------------------------------------------------------------------
463 INITIAL_STATE = PROC(nom = "INITIAL_STATE",op = None,
464 # -----------------------------------------------------------------------
466 # ------------------------------------
467 Initial_Conditions = SIMP(statut = 'o',typ = 'TXM',
468 # ------------------------------------
469 into = ['Zero elevation','Constant elevation','Zero depth','Constant depth','Special','TPXO satellite altimetry'],
470 defaut = 'Zero elevation',
471 fr = "Permet de definir les conditions initiales sur les hauteurs d'eau. Les valeurs possibles sont :\n\
472 - COTE NULLE. Initialise la cote de surface libre a 0. \nLes hauteurs d'eau initiales sont alors retrouvees en faisant la difference entre les cotes de surface libre et du fond. \n\
473 - COTE CONSTANTE . Initialise la cote de surface libre a la valeur donnee par le mot-cle COTE INITIALE. Les hauteurs d'eau initiales sont calculees comme precedemment.\n\
474 - HAUTEUR NULLE .Initialise les hauteurs d'eau a 0. \n\
475 - HAUTEUR CONSTANTE. Initialise les hauteurs d'eau a la valeur donnee par le mot-cle HAUTEUR INITIALE. \n\
476 - PARTICULIERES. Les conditions initiales sur la hauteur d'eau doivent etre precisees dans le sous-programme CONDIN. \n\
477 - ALTIMETRIE SATELLITE TPXO. Les conditions initiales sur la hauteur d'eau et les vitesses sont etablies sur \n\
478 la base des donnees satellite TPXO dont les 8 premiers constistuents ont ete extraits et sauves dans le fichier\n\
479 BASE DE DONNEES DE MAREE." ,
480 ang = 'Makes it possible to define the initial conditions with the water depth. The possible values are : \n\
481 - ZERO ELEVATION. Initializes the free surface elevation to 0. \n The initial water depths are then found by computing the difference between the free surface and the bottom. \n\
482 - CONSTANT ELEVATION. Initializes the water elevation to the value given by the keyword \n\
483 - INITIAL ELEVATION. The initial water depths are computed as in the previous case. \n\
484 - ZERO DEPTH. Initializes the water depths to 0. \n\
485 - CONSTANT DEPTH. Initializes the water depths to the value givenby the key-word INITIAL DEPTH. \n\
486 - SPECIAL. The initial conditions with the water depth should be stated in the CONDIN subroutine. \n\
487 - TPXO SATELITE ALTIMETRY. The initial conditions on the free surface and velocities are established from the TPXO satellite program data,\n the harmonic constituents of which are stored in the TIDE DATA BASE file.', ),
489 # ------------------------------------
490 b_initial_elevation = BLOC (condition = "Initial_Conditions == 'Constant elevation'",
491 # ------------------------------------
492 # ------------------------------------
493 Initial_Elevation = SIMP(statut = 'o',typ = 'R',
494 # ------------------------------------
495 fr = 'Valeur utilisee avec l''option : CONDITIONS INITIALES - COTE CONSTANTE',
496 ang = 'Value to be used with the option : INITIAL CONDITIONS -CONSTANT ELEVATION' ),
497 ) , # fin b_initial_elevation
499 # ------------------------------------
500 b_initial_depth = BLOC (condition = "Initial_Conditions == 'Constant depth'",
501 # ------------------------------------
502 # ------------------------------------
503 Initial_Depth = SIMP(statut = 'o',typ = 'R',
504 # ------------------------------------
505 fr = 'Valeur utilisee avec l''option : CONDITIONS INITIALES :-HAUTEUR CONSTANTE-',
506 ang = 'Value to be used along with the option: INITIAL CONDITIONS -CONSTANT DEPTH-' ),
507 ),# fin b_initial_depth
509 # ------------------------------------
510 b_special = BLOC (condition = "Initial_Conditions == 'Special'",
511 # ------------------------------------
512 # ------------------------------------
513 Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
514 # ------------------------------------
515 defaut = "The initial conditions with the water depth should be stated in the CONDIN subroutine"),
518 #PNPN il faut changer la condition pour que cela soit dans maree. il faut une position = global_jdc et remonter # cela
519 # ------------------------------------
520 b_initial_TPXO = BLOC (condition = "Initial_Conditions == 'TPXO satellite altimetry'",
521 # ------------------------------------
522 # ------------------------------------
523 Ascii_Database_For_Tide = SIMP( statut = 'o',
524 # ------------------------------------
525 typ = ('Fichier', 'All Files (*)',),
526 fr = 'Base de donnees de constantes harmoniques tirees du fichier du modele de maree',
527 ang = 'Tide data base of harmonic constituents extracted from the tidal model file',),
528 ), # fin b_initial_TPXO
530 ) # fin INITIAL_STATE
532 # -----------------------------------------------------------------------
533 BOUNDARY_CONDITIONS = PROC(nom = "BOUNDARY_CONDITIONS",op = None,
534 # -----------------------------------------------------------------------
535 fr = 'On donne un ensemble de conditions par frontiere liquide',
536 ang = 'One condition set per liquid boundary is given',
537 #UIinfo = { "groupes" : ( "CACHE", )},
538 UIinfo = { "groupes" : ( "iiii", )},
539 # Dans l ideal il faut aller regarder selon les groupes dans le fichier med
540 # en sortie il faut aller chercher le .cli qui va bien
541 #Liquid_Boundaries = FACT(statut = 'f',max = '**',
542 # Options = SIMP(statut = 'f',typ = 'I',into = ['classical boundary conditions','Thompson method based on characteristics'])
543 # Prescribed_Flowrates = SIMP(statut = 'f',typ = 'R'),
544 # Prescribed_Elevations = SIMP(statut = 'f',typ = 'R'),
545 # Prescribed_Velocity = SIMP(statut = 'f',typ = 'R'),
548 # Il va falloir une "traduction dans le langage du dico"
549 # Il faut seulement l un des 3
551 # ------------------------------------
552 Liquid_Boundaries = FACT(statut = 'f',max = '**',
553 # ------------------------------------
555 # ------------------------------------
556 Options = SIMP(statut = 'f',typ = 'I',
557 # ------------------------------------
558 into = ['Classical boundary conditions','Thompson method based on characteristics'],
559 fr = 'On donne 1 entier par frontiere liquide',
560 ang = 'One integer per liquid boundary is given',),
562 # ------------------------------------
563 Type_Condition = SIMP(statut = 'o',typ = 'TXM',
564 # On ajoute le type pour rendre l 'ihm plus lisible
565 # mais ce mot-cle n existe pas dans le dico
566 # ------------------------------------
567 into = ['Prescribed flowrates', 'Prescribed elevations', 'Prescribed velocity'],),
569 # ------------------------------------
570 b_Flowrates = BLOC (condition = "Type_Condition == 'Prescribed Flowrates'",
571 # ------------------------------------
572 # ------------------------------------
573 Prescribed_Flowrates = SIMP(statut = 'o',
574 # ------------------------------------
576 fr = ' Valeurs des debits imposes aux frontieres liquides entrantes.\n\
577 Lire la partie du mode d''emploi consacree aux conditions aux limites',
578 ang = 'Values of prescribed flowrates at the inflow boundaries.\n\
579 The section about boundary conditions is to be read in the manual'),
582 # ------------------------------------
583 b_Elevations = BLOC (condition = "Type_Condition == 'Prescribed Elevations'",
584 # ------------------------------------
585 # ------------------------------------
586 Prescribed_Elevations = SIMP(statut = 'o',typ = 'R',
587 # ------------------------------------
588 fr = 'Valeurs des cotes imposees aux frontieres liquides entrantes.\n\
589 Lire la partie du mode d''emploi consacree aux conditions aux limites',
590 ang = 'Values of prescribed elevations at the inflow boundaries.\n\
591 The section about boundary conditions is to be read in the manual'),
592 ), # fin b_Elevations
594 # ------------------------------------
595 b_Velocity = BLOC (condition = "Type_Condition == 'Prescribed Velocity'",
596 # ------------------------------------
597 # ------------------------------------
598 Prescribed_Velocities = SIMP(statut = 'o',typ = 'R',
599 # ------------------------------------
600 fr = 'Valeurs des vitesses imposees aux frontieres liquides entrantes.\n\
601 Lire la partie du mode d''emploi consacree aux conditions aux limites',
602 ang = 'Values of prescribed velocities at the liquid inflow boundaries.\n\
603 Refer to the section dealing with the boundary conditions'),
606 ), # fin des Liquid_Boundaries
608 # ------------------------------------
609 Liquid_Boundaries_File = SIMP( statut = 'f',
610 # ------------------------------------
611 typ = ('Fichier', 'All Files (*)',),
612 fr = 'Fichier de variations en temps des conditions aux limites.\n\
613 Les donnees de ce fichier seront a lire sur le canal 12.',
614 ang = 'Variations in time of boundary conditions. Data of this file are read on channel 12.',
618 #PNPN Attention dans le Dico STAGE-DISCHARGE CURVES
619 #PNPN regarder le document de reference pour changer non programme
620 # ------------------------------------
621 Stage_Discharge_Curves = SIMP(statut = 'f',typ = 'TXM',
622 # ------------------------------------
623 into = ["No one","Z(Q)","Q(Z)"],
624 fr = 'Indique si une courbe de tarage doit etre utilisee pour une frontiere',
625 ang = 'Says if a discharge-elevation curve must be used for a given boundary',),
627 # ------------------------------------
628 b_discharge_curve = BLOC (condition = "Stage_Discharge_Curves != 'no'",
629 # ------------------------------------
630 # ------------------------------------
631 Stage_Discharge_Curves_File = SIMP( statut = 'f',
632 # ------------------------------------
633 typ = ('Fichier', 'All Files (*)',),
634 fr = 'Nom du fichier contenant les courbes de tarage',
635 ang = 'Name of the file containing stage-discharge curves',),
636 ), # fin b_discharge_curve
638 # ------------------------------------
639 Elements_Masked_By_User = SIMP(statut = 'o',typ = bool,
640 # ------------------------------------
642 fr = 'Si oui remplir le sous-programme maskob',
643 ang = 'if yes rewrite subroutine maskob',),
645 # ------------------------------------
646 maskob = BLOC (condition = 'Elements_Masked_By_User == True',
647 # ------------------------------------
648 # ------------------------------------
649 Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
650 # ------------------------------------
651 defaut = "Remplir le sous-programme maskob"),
654 ) # fin Boundary_Conditions
656 # -----------------------------------------------------------------------
657 NUMERICAL_PARAMETERS = PROC(nom = "NUMERICAL_PARAMETERS",op = None,
658 # -----------------------------------------------------------------------
660 #UIinfo = { "groupes" : ( "CACHE", )},
661 UIinfo = { "groupes" : ( "iiii", )},
662 # ------------------------------------
663 Solver_Definition = FACT(statut = 'o',
664 # ------------------------------------
666 # ------------------------------------
667 Equations = SIMP(statut = 'o',typ = 'TXM',
668 # ------------------------------------
669 into = ['Saint-Venant EF','Saint-Venant VF','Boussinesq'],
670 defaut = 'Saint-Venant EF',
671 fr = 'Choix des equations a resoudre',
672 ang = 'Choice of equations to solve',),
674 # ------------------------------------
675 Solver = SIMP(statut = 'o',typ = 'TXM',
676 # ------------------------------------
677 into = ["Conjugate gradient", "Conjugate residual","Conjugate gradient on a normal equation",\
678 "Minimum error", "CGSTAB", "GMRES", "Direct",],
679 fr = 'Permet de choisir le solveur utilise pour la resolution de l''etape de propagation. \n\
680 Toutes les methodes proposees actuellement s''apparentent au Gradient Conjugue. Ce sont :\n\
681 1 : gradient conjugue 2 : residu conjugue 3 : gradient conjugue sur equation normale \n\
682 4 : erreur minimale 5 : gradient conjugue carre (non programme) 6 : gradient conjugue carre stabilise (cgstab)\n\
683 7 : gmres (voir aussi option du solveur) 8 : direct',
684 ang = 'Makes it possible to select the solver used for solving the propagation step.\n\
685 All the currently available methods are variations of the Conjugate Gradient method. They are as follows: \n\
686 1: conjugate gradient 2: conjugate residual 3: conjugate gradient on a normal equation\n\
687 4: minimum error 5: conjugate gradient squared (not implemented) 6: conjugate gradient squared stabilised (cgstab) \n\
688 7: gmres (see option for solver) 8: direct',),
690 # ------------------------------------
691 b_gmres = BLOC (condition = "Solver == 'GMRES'",
692 # ------------------------------------
693 # ------------------------------------
694 Solver_Option = SIMP(statut = 'o',typ = 'I', defaut = 2, val_min = 2,val_max = 15,
695 # ------------------------------------
696 fr = 'la dimension de l''espace de KRILOV',
697 ang = 'dimension of the KRYLOV space',),
700 # ------------------------------------
701 Solver_Accuracy = SIMP(statut = 'o',typ = 'R', defaut = 1e-4,
702 # ------------------------------------
703 fr = 'Precision demandee pour la resolution de l''etape de propagation (cf. Note de principe).',
704 ang = 'Required accuracy for solving the propagation step (refer to Principle note).',),
706 # ------------------------------------
707 Maximum_Number_Of_Iterations_For_Solver = SIMP(statut = 'o',typ = 'I', defaut = 40,
708 # ------------------------------------
709 fr = 'Les algorithmes utilises pour la resolution de l''etape de propagation etant iteratifs, \n\
710 il est necessaire de limiter le nombre d''iterations autorisees.\n\
711 Remarque : un maximum de 40 iterations par pas de temps semble raisonnable.',
712 ang = 'Since the algorithms used for solving the propagation step are iterative, \
713 the allowed number of iterations should be limited.\n\
714 Note: a maximum number of 40 iterations per time step seems to be reasonable.',),
718 # ------------------------------------
719 Time = FACT(statut = 'o',
720 # ------------------------------------
721 regles = (AU_MOINS_UN('Number_Of_Time_Steps','Duration'),
722 EXCLUS('Number_Of_Time_Steps','Duration'),
725 # ------------------------------------
726 Time_Step = SIMP(statut = 'o',
727 # ------------------------------------
728 typ = 'R', defaut = 1,
729 fr = 'Definit le nombre de pas de temps effectues lors de l''execution du code.',
730 ang = 'Specifies the number of time steps performed when running the code.'),
732 # ------------------------------------
733 Number_Of_Time_Steps = SIMP(statut = 'f',typ = 'I',
734 # ------------------------------------
735 fr = 'Definit le nombre de pas de temps effectues lors de l''execution du code.',
736 ang = 'Specifies the number of time steps performed when running the code.'),
738 # ------------------------------------
739 Duration = SIMP(statut = 'f',typ = 'R',
740 # ------------------------------------
741 fr = 'duree de la simulation. alternative au parametre nombre de pas de temps. \n\
742 On en deduit le nombre de pas de temps en prenant l''entier le plus proche de (duree du calcul/pas de temps).\n\
743 Si le nombre de pas de temps est aussi donne, on prend la plus grande valeur',
744 ang = 'duration of simulation. May be used instead of the parameter NUMBER OF TIME STEPS. \n\
745 The nearest integer to (duration/time step) is taken. If NUMBER OF TIME STEPS is also given, the greater value is taken',),
748 # ------------------------------------
749 Variable_Time_Step = SIMP(statut = 'f',typ = bool,
750 # ------------------------------------
751 fr = 'Pas de temps variable pour avoir un nombre de courant souhaite',
752 ang = 'Variable time-step to get a given Courant number'),
754 # ------------------------------------
755 b_var_time = BLOC(condition = "Variable_Time_Step == True" ,
756 # ------------------------------------
757 # ------------------------------------
758 Desired_Courant_Number = SIMP(statut = 'o',typ = 'R',
759 # ------------------------------------
760 fr = 'Nombre de Courant souhaite ',
761 ang = 'Desired Courant number',),
764 # ------------------------------------
765 Original_Date_Of_Time = FACT( statut = 'o',
766 # ------------------------------------
767 fr = "Permet de fixer la date d'origine des temps du modele lors de la prise en compte de la force generatrice de la maree.",
768 ang = 'Give the date of the time origin of the model when taking into account the tide generating force.',
769 Year = SIMP(statut = 'o',typ = 'I',val_min = 1900, defaut = 1900),
770 Month = SIMP(statut = 'o',typ = 'I',val_min = 1,val_max = 12, defaut = 1),
771 Day = SIMP(statut = 'o',typ = 'I',val_min = 1,val_max = 31,defaut = 1),),
773 # ------------------------------------
774 Original_Hour_Of_Time = FACT( statut = 'o',
775 # ------------------------------------
776 fr = "Permet de fixer l'heure d'origine des temps du modele lors de la prise en compte de la force generatrice de la maree.",
777 ang = 'Give the time of the time origin of the model when taking into account the tide generating force.',
778 Hour = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 24, defaut = 0),
779 Minute = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 60, defaut = 0),
780 Second = SIMP(statut = 'o',typ = 'I',val_min = 0,val_max = 60, defaut = 0),
783 # ------------------------------------
784 Stop_If_A_Steady_State_Is_Reached = SIMP(statut = 'o',
785 # ------------------------------------
786 typ = bool,defaut = 'False'),
788 # ------------------------------------
789 b_stop = BLOC(condition = "Stop_If_A_Steady_State_Is_Reached == True" ,
790 # ------------------------------------
791 # ------------------------------------
792 Stop_Criteria = SIMP(statut = 'o',typ = Tuple(3),validators = VerifTypeTuple(('R','R','R')),
793 # ------------------------------------
794 fr = "Criteres d'arret pour un ecoulement permanent. ces coefficients sont respectivement appliques a\n\
795 1- U et V 2- H 3- T ",
796 ang = 'Stop criteria for a steady state These coefficients are applied respectively to\n\
797 1- U and V 2- H 3- T ',),
800 # ------------------------------------
801 Control_Of_Limits = SIMP(statut = 'o',
802 # ------------------------------------
803 typ = bool, defaut = 'False',
804 fr = 'Le programme s''arrete si les limites sur u,v,h ou t sont depassees',
805 ang = 'The program is stopped if the limits on u,v,h, or t are trespassed',),
807 # ------------------------------------
808 b_limit = BLOC(condition = "Control_Of_Limit == True" ,
809 Limit_Values = FACT(statut = 'o',
810 # Attention : 1 seul MC ds Telemac
811 # ------------------------------------
812 fr = 'valeurs mini et maxi acceptables min puis max',
813 ang = 'min and max acceptable values ',
815 # ------------------------------------
816 Limit_Values_H = SIMP(statut = 'o',typ = Tuple(2),
817 # ------------------------------------
818 validators = VerifTypeTuple(('R','R')), defaut = (-1000,9000)),
819 # ------------------------------------
820 Limit_Values_U = SIMP(statut = 'o',typ = Tuple(2),
821 # ------------------------------------
822 validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)),
823 # ------------------------------------
824 Limit_Values_V = SIMP(statut = 'o',typ = Tuple(2),
825 # ------------------------------------
826 validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)),
827 # ------------------------------------
828 Limit_Values_T = SIMP(statut = 'o',typ = Tuple(2),
829 # ------------------------------------
830 validators = VerifTypeTuple(('R','R')), defaut = (-1000,1000)),
831 ),), # fin Fact et b_limit
834 # ------------------------------------
835 Linearity = FACT(statut = 'f',
836 # ------------------------------------
837 # ------------------------------------
838 Continuity_Correction = SIMP(typ = bool, statut = 'o',
839 # ------------------------------------
841 fr = 'Corrige les vitesses sur les points avec hauteur imposee ou l equation de continuite n a pas ete resolue',
842 ang = 'Correction of the velocities on points with a prescribed elevation, where the continuity equation has not been solved',),
844 # ------------------------------------
845 Number_Of_Sub_Iterations_For_Non_Linearities = SIMP(statut = 'o',typ = 'I',
846 # ------------------------------------
848 fr = 'Permet de reactualiser, pour un meme pas de temps, les champs convecteur et propagateur \n\
849 au cours de plusieurs sous-iterations.\n\
850 A la premiere sous-iteration, ces champs sont donnes par C et le champ de vitesses au pas de temps precedent.\n\
851 Aux iterations suivantes, ils sont pris egaux au champ de vitesse obtenu a la fin de la sous-iteration precedente. \n\
852 Cette technique permet d''ameliorer la prise en compte des non linearites.',
853 ang = 'Used for updating, within one time step, the advection and propagation field.\n\
854 upon the first sub-iteration, \n\
855 these fields are given by C and the velocity field in the previous time step. At subsequent iterations, \n\
856 the results of the previous sub-iteration is used to update the advection and propagation field.\n\
857 The non-linearities can be taken into account through this technique.',),
861 # ------------------------------------
862 Precondionning_setting = FACT(statut = 'f',
863 # ------------------------------------
865 # ------------------------------------
866 Preconditioning = SIMP(statut = 'o',typ = 'TXM',
867 # ------------------------------------
868 # PNPN Soizic ? Est ce que c'est une liste
869 # Comment fait-on le into est faux : voir l aide
870 # PN Je propose qu 'on puisse faire +sieurs choix et qu on recalcule en sortie
871 # ou on propose des choix croisés parce que toutes les combinaisons ne sont pas possibles ?
873 into = [ "Diagonal", "No preconditioning", "Diagonal condensee", "Crout", \
874 "Gauss-Seidel", "Diagonal and Crout", "Diagonal condensed and Crout"],
876 fr='Permet de preconditionner le systeme de l etape de propagation afin d accelerer la convergence \n\
877 lors de sa resolution. Certains preconditionnements sont cumulables : (les diagonaux 2 ou 3 avec les autres)\n\
878 Pour cette raison on ne retient que les nombres premiers pour designer les preconditionnements. Si l on souhaite en cumuler\n\
879 plusieurs on formera le produit des options correspondantes.',
880 ang='Choice of the preconditioning in the propagation step linear system that the convergence is speeded up\n\
881 when it is being solved.Some operations (either 2 or 3 diagonal preconditioning) can be performed concurrently with the others.\n\
882 Only prime numbers are therefore kept to denote the preconditioning operations. When several of them are to be performed concurrently,\n\
883 the product of relevant options shall be made.',
885 # ------------------------------------
886 C_U_Preconditioning = SIMP(typ = bool, statut = 'o', defaut=False,
887 # ------------------------------------
888 fr = 'Changement de variable de H en C dans le systeme lineaire final',
889 ang = 'Change of variable from H to C in the final linear system'
892 ),# fin Preconditionnement
894 # ------------------------------------
895 Matrix_Informations = FACT(statut = 'f',
896 # ------------------------------------
897 # ------------------------------------
898 Matrix_Vector_Product = SIMP(statut = 'f',typ = 'TXM',
899 # ------------------------------------
900 into = ["Classic", "Frontal"],
901 fr = 'attention, si frontal, il faut une numerotation speciale des points',
902 ang = 'beware, with option 2, a special numbering of points is required',
904 # ------------------------------------
905 Matrix_Storage = SIMP(statut = 'f',typ = 'TXM',
906 # ------------------------------------
907 into = ["Classical EBE","Edge-based storage",]
909 ),# fin Matrix_Informations
912 # ------------------------------------
913 Advection = FACT(statut = 'o',
914 # ------------------------------------
916 # ------------------------------------
917 Advection_Propagation = FACT(statut = 'o',
918 # ------------------------------------
921 # Tres differents du dico liste de 4
922 # PNPN eclaircir les choix SVP
923 # soizic. choix 3 et 4 et 13 et 14
924 # Attention recalcul de Type_Of_Advection
925 # ------------------------------------
926 Advection_Of_U_And_V = SIMP(statut = 'o',typ = bool, defaut = False,
927 # ------------------------------------
928 fr = 'Prise en compte ou non de la convection de U et V.',
929 ang = 'The advection of U and V is taken into account or ignored.'),
931 # ------------------------------------
932 b_u_v = BLOC( condition = "Advection_Of_U_And_V == True",
933 # ------------------------------------
934 # ------------------------------------
935 Type_Of_Advection_U_And_V = SIMP(statut = 'o',typ = 'TXM',position = "global",
936 # ------------------------------------
937 into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\
938 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
939 'Edge-based N-scheme'],
940 defaut = "Characteristics", ),
942 # ------------------------------------
943 b_upwind = BLOC(condition = "Type_Of_Advection_U_And_V == 'SUPG'",
944 # ------------------------------------
945 # ------------------------------------
946 Upwind_Coefficients_Of_U_And_V = SIMP(statut = 'o',typ = 'R', defaut = 1.)
947 # ------------------------------------
951 # ------------------------------------
952 Advection_Of_H = SIMP(statut = 'o',typ = bool, defaut = False,
953 # ------------------------------------
954 fr = 'Prise en compte ou non de la convection de H.',
955 ang = 'The advection of H is taken into account or ignored.'),
957 # ------------------------------------
958 b_h = BLOC( condition = "Advection_Of_H == True",
959 # ------------------------------------
960 # ------------------------------------
961 Type_Of_Advection_H = SIMP(statut = 'o',typ = 'TXM',position = "global",
962 # ------------------------------------
963 into = ["characteristics", "SUPG", "conservative N-scheme", 'conservative N-scheme',\
964 'conservative PSI-scheme', 'non conservative PSI scheme', 'implicit non conservative N scheme',\
965 'edge-based N-scheme'],
966 defaut = "conservative PSI-scheme",),
967 # ------------------------------------
968 b_upwind_H = BLOC(condition = "Type_Of_Advection_H == 'SUPG'",
969 # ------------------------------------
970 # ------------------------------------
971 Upwind_Coefficients_Of_H = SIMP(statut = 'o',typ = 'R', defaut = 1.)
972 # ------------------------------------
976 # ------------------------------------
977 Advection_Of_K_And_Epsilon = SIMP(statut = 'o',typ = bool, defaut = False,
978 # ------------------------------------
979 fr = 'Prise en compte ou non de la convection de Tracer.',
980 ang = 'The advection of Tracer is taken into account or ignored.'),
982 # ------------------------------------
983 b_k = BLOC( condition = "Advection_Of_K_And_Epsilon == True",
984 # ------------------------------------
985 # ------------------------------------
986 Type_Of_Advection_K_And_Epsilon = SIMP(statut = 'o',typ = 'TXM',position = "global",
987 # ------------------------------------
988 into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\
989 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
990 'Edge-based N-scheme'],
991 defaut = "Characteristics",),
992 # ------------------------------------
993 b_upwind_k = BLOC(condition = "Type_Of_Advection_K_And_Epsilon == 'SUPG'",
994 # ------------------------------------
995 # ------------------------------------
996 Upwind_Coefficients_Of_K_And_Epsilon = SIMP(statut = 'o',typ = 'R', defaut = 1.)
997 # ------------------------------------
1001 # ------------------------------------
1002 Advection_Of_Tracers = SIMP(statut = 'o',typ = bool, defaut = False,
1003 # ------------------------------------
1004 fr = 'Prise en compte ou non de la convection de Tracer.',
1005 ang = 'The advection of Tracer is taken into account or ignored.'),
1007 # ------------------------------------
1008 b_tracers = BLOC( condition = "Advection_Of_Tracers == True",
1009 # ------------------------------------
1010 # ------------------------------------
1011 Type_Of_Advection_Tracers = SIMP(statut = 'o',typ = 'TXM',position = "global",
1012 # ------------------------------------
1013 into = ["Characteristics", "SUPG", "Conservative N-scheme", 'Conservative N-scheme',\
1014 'Conservative PSI-scheme', 'Non conservative PSI scheme', 'Implicit non conservative N scheme',\
1015 'Edge-based N-scheme'],),
1016 # ------------------------------------
1017 b_upwind_Tracers = BLOC(condition = "Type_Of_Advection_Tracers == 'SUPG'",
1018 # ------------------------------------
1019 # ------------------------------------
1020 Upwind_Coefficients_Of_Tracers = SIMP(statut = 'o',typ = 'R', defaut = 1.)
1021 # ------------------------------------
1022 ), # fin b_upwind_Tracers
1025 # ------------------------------------
1026 b_max = BLOC( condition = "(Advection_Of_Tracers == True and Type_Of_Advection_Tracers == 'Edge-based N-scheme') or (Advection_Of_K_And_Epsilon == True and Type_Of_Advection_K_And_Epsilon == 'Edge-based N-scheme') or (Advection_Of_U_And_V == True and Type_Of_Advection_U_And_V == 'Edge-based N-scheme') or ( Advection_Of_H == True and Type_Of_Advection_H == 'Edge-based N-scheme')",
1027 # ------------------------------------
1028 # ------------------------------------
1029 Maximum_Number_Of_Iterations_For_Advection_Schemes = SIMP( statut = 'o',typ = 'I', defaut = 10 ,
1030 # ------------------------------------
1031 fr = 'Seulement pour schemes Edge-based N-scheme',
1032 ang = 'Only for Edge-based N-scheme',),
1034 ), # Fin Advection_Propagation
1036 # ------------------------------------
1037 Scheme_For_Advection_Of_K_Epsilon = SIMP(statut = 'o',typ = 'TXM',
1038 # ------------------------------------
1039 into = ["No advection", "Characteristics", "Explicit + SUPG", "Explicit leo postma", "Explicit + murd scheme N", "Explicit + murd scheme PSI", "Leo postma for tidal flats", "N-scheme for tidal flats"],
1040 fr = 'Choix du schema de convection pour k et epsilon, remplace FORME DE LA CONVECTION',
1041 ang = 'Choice of the advection scheme for k and epsilon, replaces TYPE OF ADVECTION',),
1045 # recalculer la liste de 4
1046 # Attention bloc selon le type de convection
1047 # ------------------------------------
1048 SUPG = FACT(statut = 'o',
1049 # ------------------------------------
1050 # ------------------------------------
1051 Supg_Option_U_And_V = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM',
1052 # ------------------------------------
1053 into = ['No upwinding', 'Classical SUPG','Modified SUPG']),
1054 # ------------------------------------
1055 Supg_Option_H = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM',
1056 # ------------------------------------
1057 into = ['No upwinding', 'Classical SUPG','Modified SUPG']),
1058 # ------------------------------------
1059 Supg_Option_Tracers = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM',
1060 # ------------------------------------
1061 into = ['No upwinding', 'Classical SUPG','Modified SUPG']),
1062 # ------------------------------------
1063 Supg_Option_K_And_Epsilon = SIMP(statut = 'o', defaut = 'Modified SUPG', typ = 'TXM',
1064 # ------------------------------------
1065 into = ['No upwinding', 'Classical SUPG','Modified SUPG']),
1068 # ------------------------------------
1069 Mass_Lumping_On_H = SIMP(statut = 'o',typ = 'R', defaut = 0,
1070 # ------------------------------------
1071 fr = 'TELEMAC offre la possibilite d''effectuer du mass-lumping sur H ou U.\n\
1072 Ceci revient a ramener tout ou partie (suivant la valeur de ce coefficient) des matrices AM1 (h) ou AM2 (U) \n\
1073 et AM3 (V) sur leur diagonale. Cette technique permet d''accelerer le code dans des proportions tres\n\
1074 importantes et de le rendre egalement beaucoup plus stable. Cependant les solutions obtenues se trouvent lissees.\n\
1075 Ce parametre fixe le taux de mass-lumping effectue sur h.',
1076 ang = 'TELEMAC provides an opportunity to carry out mass-lumping either on C,H or on the velocity. \n\
1077 This is equivalent to bringing the matrices AM1(h) or AM2(U) and AM3(V) wholly or partly, back onto their diagonal.\n\
1078 Thanks to that technique, the code can be speeded up to a quite significant extent and it can also be made much \n\
1079 more stable. The resulting solutions, however, become artificially smoothed. \n\
1080 This parameter sets the extent of mass-lumping that is performed on h.'),
1082 # ------------------------------------
1083 Mass_Lumping_On_Velocity = SIMP(statut = 'o', typ = 'R', defaut = 0,
1084 # ------------------------------------
1085 fr = 'Fixe le taux de mass-lumping effectue sur la vitesse.',
1086 ang = 'Sets the amount of mass-lumping that is performed on the velocity.'),
1088 # ------------------------------------
1089 Treatment_Of_The_Linear_System = SIMP(statut = 'o', typ = 'TXM',
1090 # ------------------------------------
1091 into = ["Coupled", "Wave equation"],
1092 defaut = "Coupled",),
1094 # ------------------------------------
1095 Free_Surface_Gradient_Compatibility = SIMP(statut = 'o',typ = 'R',defaut = 1.,
1096 # ------------------------------------
1097 fr = 'Des valeurs inferieures a 1 suppriment les oscillations parasites',
1098 ang = 'Values less than 1 suppress spurious oscillations'),
1103 #PNPNPN Il faut recalculer le MCSIM Propagation
1104 # ------------------------------------
1105 Propagation = FACT(statut = 'o',
1106 # ------------------------------------
1108 # ------------------------------------
1109 Linearized_Propagation = SIMP(statut = 'o',typ = bool,defaut = False,
1110 # ------------------------------------
1111 fr = 'Permet de lineariser l''etape de propagation; \n\
1112 par exemple lors de la realisation de cas tests pour lesquels on dispose d une solution analytique dans le cas linearise.',
1113 ang = 'Provided for linearizing the propagation step; \n\
1114 e.g. when performing test-cases for which an analytical solution in the linearized case is available.' ),
1116 # ------------------------------------
1117 b_linear = BLOC(condition = "Linearized_Propagation == True ",
1118 # ------------------------------------
1119 # ------------------------------------
1120 Mean_Depth_For_Linearization = SIMP(statut = 'o',typ = 'R', defaut = 0.0, val_min = 0,
1121 # ------------------------------------
1122 fr = 'Fixe la hauteur d eau autour de laquelle s effectue la linearisation lorsque l option PROPAGATION LINEARISEE est choisie.',
1123 ang = 'Sets the water depth about which the linearization is made when the LINEARIZED PROPAGATION OPTION is selected.'),
1126 # ------------------------------------
1127 Initial_Guess_For_H = SIMP(statut = 'o',typ = 'TXM',
1128 # ------------------------------------
1129 into = ['Zero', 'Previous', 'Extrapolation'],
1130 defaut = 'Previous',
1131 fr = 'Tir initial du solveur de l etape de propagation. Offre la possibilite de modifier la valeur initiale de DH,\n\
1132 accroissement de H, a chaque iteration, dans l etape de propagation en utilisant les valeurs finales de cette variable \n\
1133 aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme.',
1134 ang = 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of H, \n\
1135 upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps.\n\
1136 Thus, the convergence can be speeded up when the system is being solved.',),
1138 # ------------------------------------
1139 Initial_Guess_For_U = SIMP(statut = 'o',typ = 'TXM',
1140 # ------------------------------------
1141 into = ['Zero', 'Previous', 'Extrapolation'],
1142 defaut = 'Previous',
1143 fr = 'Tir initial du solveur de l etape de propagation. Offre la possibilite de modifier la valeur initiale de DH,\n\
1144 accroissement de U, a chaque iteration, dans l etape de propagation en utilisant les valeurs finales de cette variable \n\
1145 aux pas de temps precedents. Ceci peut permettre daccelerer la vitesse de convergence lors de la resolution du systeme.',
1146 ang = 'Initial guess for the solver in the propagation step. Makes it possible to modify the initial value of U, \n\
1147 upon each iteration in the propagation step, by using the ultimate values this variable had in the earlier time steps.\n\
1148 Thus, the convergence can be speeded up when the system is being solved.',),
1150 ), # fin Propagation
1152 # ------------------------------------
1153 Discretization_Implicitation = FACT(statut = 'f',
1154 # ------------------------------------
1156 # ------------------------------------
1157 Discretizations_In_Space = SIMP(statut = 'o',typ = 'TXM',
1158 # ------------------------------------
1159 into = ["Linear", "Quasi-bubble", "Quadratic"],
1160 defaut = "Linear",),
1162 # ------------------------------------
1163 Implicitation_For_Depth = SIMP(statut = 'o',typ = 'R',defaut = 0.55,
1164 # ------------------------------------
1165 fr = 'Fixe la valeur du coefficient d''implicitation sur C dans l''etape de propagation (cf. Note de principe).\n\
1166 Les valeurs inferieures a 0.5 donnent un schema instable.',
1167 ang = 'Sets the value of the implicitation coefficient for C (the celerity of waves) in the propagation step (refer to principle note).\n\
1168 Values below 0.5 result in an unstable scheme.'),
1170 # ------------------------------------
1171 Implicitation_For_Velocity = SIMP(statut = 'o',typ = 'R',defaut = 0.55,
1172 # ------------------------------------
1173 fr = 'Fixe la valeur du coefficient d''implicitation sur la vitesse dans l''etape de propagation (cf. Note de principe).\n\
1174 Les valeurs inferieures a 0.5 donnent un schema instable.',
1175 ang = 'Sets the value of the implicitation coefficient for velocity in the propagation step (refer to principle note).\n\
1176 Values below 0.5 result in an unstable condition.'),
1178 # ------------------------------------
1179 Implicitation_For_Diffusion_Of_Velocity = SIMP(statut = 'o',typ = 'R',defaut = 0,
1180 # ------------------------------------
1181 fr = 'Fixe la valeur du coefficient d''implicitation sur les termes de diffusion des vitesses',
1182 ang = 'Sets the value of the implicitation coefficient for the diffusion of velocity',),
1184 ), # fin Discretization_Implicitation
1187 # ------------------------------------
1188 Tidal_Flats = SIMP(statut = 'o',typ = bool,defaut = True,
1189 # ------------------------------------
1190 fr = 'permet de supprimer les tests sur les bancs decouvrants si on est certain qu''il n''y en aura pas, En cas de doute : oui',
1191 ang = 'When no,the specific treatments for tidal flats are by-passed. This spares time, but of course you must be sure that you have no tidal flats'),
1193 # ------------------------------------
1194 b_tidal_flats = BLOC(condition = 'Tidal_Flats == True',
1195 # ------------------------------------
1196 # ------------------------------------
1197 Option_For_The_Treatment_Of_Tidal_Flats = SIMP(statut = 'o',typ = 'TXM',
1198 # ------------------------------------
1199 into = ["Equations solved everywhere with correction on tidal flats", "Dry elements frozen", "1 but with porosity (defina method)",],
1200 defaut="Equations solved everywhere with correction on tidal flats",),
1202 # ------------------------------------
1203 b_option_tidal_flats = BLOC(condition = 'Option_For_The_Treatment_Of_Tidal_Flats == "Equations solved everywhere with correction on tidal flats"',
1204 # ------------------------------------
1205 # ------------------------------------
1206 Treatment_Of_Negative_Depths = SIMP( statut = 'o',typ = 'TXM',
1207 # ------------------------------------
1208 into = [ 'No treatment', 'Smoothing', 'Flux control'],
1209 defaut = 'Smoothing' ,),
1210 ), # fin bloc b_option_tidal_flats
1212 # ------------------------------------
1213 Threshold_For_Negative_Depths = SIMP( statut = 'o',typ = 'R', defaut = 0.0 ,
1214 # ------------------------------------
1215 fr = 'En dessous du seuil, les hauteurs negatives sont lissees',
1216 ang = 'Below the threshold the negative depths are smoothed',),
1218 # ------------------------------------
1219 H_Clipping = SIMP(statut = 'o',typ = bool,defaut = False,
1220 # ------------------------------------
1221 fr = 'Determine si on desire ou non limiter par valeur inferieure la hauteur d eau H (dans le cas des bancs decouvrants par exemple).',
1222 ang = 'Determines whether limiting the water depth H by a lower value desirable or not. (for instance in the case of tidal flats)\n\
1223 This key-word may have an influence on mass conservation since the truncation of depth is equivalent to adding mass.',),
1225 # ------------------------------------
1226 b_clipping = BLOC(condition = 'H_Clipping == True',
1227 # ------------------------------------
1228 # ------------------------------------
1229 Minimum_Value_Of_Depth = SIMP( statut = 'o',typ = 'R', defaut = 0.0 ,
1230 # ------------------------------------
1231 fr = 'Fixe la valeur minimale de a lorsque loption CLIPPING DE H est activee.',
1232 ang = 'Sets the minimum H value when option H CLIPPING is implemented. Not fully implemented.',),
1234 ), # fin bloc b_tidal_flats
1236 # ------------------------------------
1238 # ------------------------------------
1239 # ------------------------------------
1240 Finite_Volume_Scheme = SIMP( statut = 'o',typ = 'TXM',
1241 # ------------------------------------
1242 into = [ "Roe scheme", "Kinetic order 1", "Kinetic order 2", "Zokagoa scheme order 1",\
1243 "Tchamen scheme order 1", "HLLC scheme order 1", "WAF scheme order 2"],
1244 defaut = "Kinetic order 1",),
1246 # ------------------------------------
1247 Newmark_Time_Integration_Coefficient = SIMP( statut = 'o',typ = 'TXM',
1248 # ------------------------------------
1249 defaut = "Euler explicite",
1250 into = ["Euler explicite","Order 2 in time"],),
1252 # ------------------------------------
1253 Option_For_Characteristics = SIMP( statut = 'o',typ = 'TXM',
1254 # ------------------------------------
1256 into = ['Strong','Weak',],),
1260 # ------------------------------------
1261 Mass_Lumping_For_Weak_Characteristics = SIMP(statut = 'f',typ = 'R',defaut = 0,
1262 # ------------------------------------
1263 fr = 'Applique a la matrice de masse',
1264 ang = 'To be applied to the mass matrix',
1267 )# fin NUMERICAL_PARAMETERS
1269 # -----------------------------------------------------------------------
1270 PHYSICAL_PARAMETERS = PROC(nom = "PHYSICAL_PARAMETERS",op = None,
1271 # -----------------------------------------------------------------------
1272 # ------------------------------------
1273 Atmosphere = FACT(statut = 'o',
1274 # ------------------------------------
1276 # ------------------------------------
1277 Wind = SIMP(statut = 'o',typ = bool,defaut = False,
1278 # ------------------------------------
1279 fr = 'Prise en compte ou non des effets du vent.',
1280 ang = 'Determines whether the wind effects are to be taken into account or not.'),
1282 # ------------------------------------
1283 b_Wind = BLOC(condition = "Wind == True",
1284 # ------------------------------------
1285 # ------------------------------------
1286 Wind_Velocity_Along_X = SIMP(statut = 'o',typ = 'R', defaut = 0.,
1287 # ------------------------------------
1288 fr = 'Composante de la vitesse du vent suivant l''axe des x (m/s).',
1289 ang = 'Wind velocity, component along x axis (m/s).',),
1291 # ------------------------------------
1292 Wind_Velocity_Along_Y = SIMP(statut = 'o',typ = 'R',defaut = 0.,
1293 # ------------------------------------
1294 fr = 'Composante de la vitesse du vent suivant l''axe des y (m/s).',
1295 ang = 'Wind velocity, component along y axis (m/s).',),
1297 # ------------------------------------
1298 Threshold_Depth_For_Wind = SIMP(statut = 'o',typ = 'R',defaut = 0.,
1299 # ------------------------------------
1300 fr = 'Retire la force due au vent dans les petites profondeurs',
1301 ang = 'Wind is not taken into account for small depths' ),
1303 # ------------------------------------
1304 Coefficient_Of_Wind_Influence = SIMP( statut = 'o',typ = 'R', defaut = 0.0 ,
1305 # ------------------------------------
1306 fr = 'Fixe la valeur du coefficient d entrainement du vent (cf. Note de principe).',
1307 ang = 'Sets the value of the wind driving coefficient. Refer to principle note.',),
1309 # ------------------------------------
1310 Option_For_Wind = SIMP( statut = 'o',typ = 'TXM', defaut = 0 ,
1311 # ------------------------------------
1312 into = ["No wind","Constant in time and space","Variable in time","Variable in time and space"],
1313 fr = 'donne les options pour introduire le vent',
1314 ang = 'gives option for managing the wind'),
1316 # ------------------------------------
1317 file_For_wind = BLOC (condition = 'Option_For_Wind == "Variable in time" or Option_For_Wind == "Variable in time and space"',
1318 # ------------------------------------
1319 # ------------------------------------
1320 Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
1321 # ------------------------------------
1322 defaut = "give formated file 3"),
1323 ), # fin bloc file_For_wind
1325 # ------------------------------------
1326 speed_For_wind = BLOC (condition = 'Option_For_Wind == "Constant in time and space"',
1327 # ------------------------------------
1328 # ------------------------------------
1329 Speed_And_Direction_Of_Wind = SIMP( statut = 'o', defaut = (0.0, 0.0) ,
1330 # ------------------------------------
1331 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
1332 fr = 'Donne la vitesse et la direction (en degres de 0 a 360, 0 etant y = 0 et x = +inf) du vent',
1333 ang = 'gives the speed and direction (degre (from 0 to 360), 0 given y = 0 anx x = +infinity)',),
1338 # ------------------------------------
1339 Air_Pressure = SIMP(statut = 'o',typ = bool, defaut = False,
1340 # ------------------------------------
1341 fr = 'Permet de decider si l''on prend ou non en compte l''influence d''un champ de pression.',
1342 ang = 'Provided to decide whether the influence of an atmosphere field is taken into account or not.'),
1344 # ------------------------------------
1345 b_air = BLOC(condition = "Air_Pressure == True",
1346 # ------------------------------------
1347 # ------------------------------------
1348 Value_Of_Atmospheric_Pressure = SIMP( statut = 'o',typ = 'R',
1349 # ------------------------------------
1351 fr = 'donne la valeur de la pression atmospherique lorsquelle est constante en temps et en espace',
1352 ang = 'gives the value of atmospheric pressure when it is contant in time and space',),
1355 # ------------------------------------
1356 Rain_Or_Evaporation = SIMP(statut = 'o',typ = bool,
1357 # ------------------------------------
1359 fr = 'Pour ajouter un apport ou une perte d''eau en surface.',
1360 ang = 'to add or remove water at the free surface. ',),
1362 # -----------------------------------
1363 b_Rain = BLOC(condition = "Rain_Or_Evaporation == True",
1364 # ------------------------------------
1365 # ------------------------------------
1366 Rain_Or_Evaporation_In_Mm_Per_Day = SIMP(statut = 'o',typ = 'I',defaut = 0.),
1367 # ------------------------------------
1372 # ------------------------------------
1373 Friction_Data = SIMP(statut = 'o',typ = bool,defaut = False),
1374 # ------------------------------------
1375 # ------------------------------------
1376 b_Friction = BLOC(condition = "Friction_Data == True",
1377 Friction_Setting = FACT(statut = 'o',
1378 # ------------------------------------
1379 # ------------------------------------
1380 Friction_Data_File = SIMP( statut = 'o',
1381 # ------------------------------------
1382 typ = ('Fichier', ';;All Files (*)'),
1383 fr = 'fichier de donnees pour le frottement',
1384 ang = 'friction data file',),
1386 # ------------------------------------
1387 Depth_In_Friction_Terms = SIMP( statut = 'o',typ = 'TXM',
1388 # ------------------------------------
1390 into = ("Nodal", "Average"),),
1392 # ------------------------------------
1393 Law_Of_Bottom_Friction = SIMP( statut = 'o',typ = 'TXM',
1394 # ------------------------------------
1395 defaut = 'No friction' ,
1396 into = ('No friction', 'Haaland', 'Chezy', 'Strickler', 'Manning', 'Nikuradse','Log law','Colebrooke_white'),
1397 fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur le fond.',
1398 ang = 'Selects the type of formulation used for the bottom friction.',),
1400 # ------------------------------------
1401 b_Law_Friction = BLOC(condition = "Law_Of_Bottom_Friction!= 'No friction'",
1402 # ------------------------------------
1403 # ------------------------------------
1404 Friction_Coefficient = SIMP( statut = 'o',typ = 'R',
1405 # ------------------------------------
1407 fr = 'Fixe la valeur du coefficient de frottement pour la formulation choisie. \
1408 Attention, la signification de ce chiffre varie suivant la formule choisie : \
1409 1 : coefficient lineaire 2 : coefficient de Chezy 3 : coefficient de Strickler \
1410 4 : coefficient de Manning 5 : hauteur de rugosite de Nikuradse',
1411 ang = 'Sets the value of the friction coefficient for the selected formulation. \
1412 It is noteworthy that the meaning of this figure changes according to the selected formula (Chezy, Strickler, etc.) : \
1413 1 : linear coefficient 2 : Chezy coefficient 3 : Strickler coefficient 4 : Manning coefficient 5 : Nikuradse grain size',),
1414 ), # Fin b_Law_Friction
1416 # ------------------------------------
1417 b_Colebrooke_White = BLOC(condition = "Law_Of_Bottom_Friction == 'Colebrooke_white'",
1418 # ------------------------------------
1419 # ------------------------------------
1420 Manning_Default_Value_For_Colebrook_White_Law = SIMP( statut = 'o',typ = 'R',
1421 # ------------------------------------
1423 fr = 'valeur par defaut du manning pour la loi de frottement de Colebrook-White ',
1424 ang = 'Manning default value for the friction law of Colebrook-White ',),
1425 ), # Fin b_Colebrooke_White
1427 # ------------------------------------
1428 Non_Submerged_Vegetation_Friction = SIMP( statut = 'o',typ = bool,
1429 # ------------------------------------
1431 fr = 'calcul du frottement du a la vegetation non submergee',
1432 ang = 'friction calculation of the non-submerged vegetation',),
1434 # ------------------------------------
1435 b_Non_Sub = BLOC(condition = ' Non_submerged_Vegetation_Friction == True',
1436 # ------------------------------------
1437 # ------------------------------------
1438 Diameter_Of_Roughness_Elements = SIMP( statut = 'o',typ = 'R',
1439 # ------------------------------------
1441 fr = 'diametre des elements de frottements',
1442 ang = 'diameter of roughness element',),
1444 # ------------------------------------
1445 Spacing_Of_Roughness_Elements = SIMP( statut = 'o',typ = 'R',
1446 # ------------------------------------
1448 fr = 'espacement des elements de frottement',
1449 ang = 'spacing of rouhness element',),
1452 # ------------------------------------
1453 Law_Of_Friction_On_Lateral_Boundaries = SIMP( statut = 'o',typ = 'TXM',
1454 # ------------------------------------
1455 defaut = "No friction" ,
1456 into = ("No friction", "Haaland", "Chezy", "Strickler", "Manning", "Nikuradse", "Log law", "Colebrook-white"),
1457 fr = 'selectionne le type de formulation utilisee pour le calcul du frottement sur les parois laterales.',
1458 ang = 'Selects the type of formulation used for the friction on lateral boundaries.',),
1460 # PNPNPN soizic ?Ne faut-il pas un bloc sur Law_Of_Friction_On_Lateral_Boundaries
1461 # ------------------------------------
1462 Roughness_Coefficient_Of_Boundaries = SIMP( statut = 'o',typ = 'R',
1463 # ------------------------------------
1465 fr = 'Fixe la valeur du coefficient de frottement sur les frontieres solides avec un regime turbulent rugueux\n\
1466 sur les bords du domaine. meme convention que pour le coefficient de frottement',
1467 ang = 'Sets the value of the friction coefficient of the solid boundary with the bed roughness option. Same meaning than friction coefficient',),
1469 # ------------------------------------
1470 Maximum_Number_Of_Friction_Domains = SIMP( statut = 'o',typ = 'I',
1471 # ------------------------------------
1473 fr = 'nombre maximal de zones pouvant etre definies pour le frottement. Peut etre augmente si necessaire',
1474 ang = 'maximal number of zones defined for the friction. Could be increased if needed',),
1476 # ------------------------------------
1477 Bottom_Smoothings = SIMP( statut = 'o',typ = 'I', defaut = 0 ,
1478 # ------------------------------------
1479 fr = 'Nombre de lissages effectues sur la topographie. chaque lissage, effectue a l aide dune matrice de masse, est conservatif.\n\
1480 Utilise lorsque les donnees de bathymetrie donnent des resultats trop irreguliers apres interpolation.',
1481 ang = 'Number of smoothings on bottom topography. each smoothing is mass conservative. \n\
1482 to be used when interpolation of bathymetry on the mesh gives very rough results.',),
1484 # ------------------------------------
1485 Threshold_Depth_For_Receding_Procedure = SIMP(statut = 'o',typ = 'R',defaut = 0 ,
1486 # ------------------------------------
1487 fr = 'Si > 0., declenche la procedure de ressuyage qui evite le franchissement parasite des digues mal discretisees',
1488 ang = 'If > 0., will trigger the receding procedure that avoids overwhelming of dykes which are too loosely discretised ',),
1490 ), # fin du fact Friction
1491 ), # Fin du bloc Friction
1494 # ------------------------------------
1495 Parameter_Estimation = FACT(statut = 'f',
1496 # ------------------------------------
1497 # ------------------------------------
1498 Parameter_Estimation = SIMP( statut = 'o',typ = 'TXM', into = ["Friction","Frottement","Steady"],
1499 # ------------------------------------
1500 fr = 'Liste des parametres a estimer',
1501 ang = 'List of parameter to be estimated',),
1503 # ------------------------------------
1504 Definition_Of_Zones = SIMP(typ = bool, statut = 'o', defaut = False,
1505 # ------------------------------------
1506 fr = 'Declenche l''appel a def_zones, pour donner un numero de zone a chaque point',
1507 ang = 'Triggers the call to def_zones to give a zone number to every point',),
1509 # ------------------------------------
1510 b_def_zone = BLOC (condition = 'Definition_Of_Zones == True',
1511 # ------------------------------------
1512 # ------------------------------------
1513 Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM", defaut = "complete DEF_ZONES subroutine"),
1514 # ------------------------------------
1517 # ------------------------------------
1518 Identification_Method = SIMP( statut = 'o',typ = 'TXM',
1519 # ------------------------------------
1520 into = ["List of tests", "Gradient simple", "Conj gradient", "Lagrange interp."],
1521 defaut = 'GRadient simple',),
1523 # ------------------------------------
1524 Maximum_Number_Of_Iterations_For_Identification = SIMP(statut = 'o',typ = 'I',defaut = 20,
1525 # ------------------------------------
1526 fr = 'chaque iteration comprend au moins un calcul direct et un calcul adjoint',
1527 ang = 'every iteration implies at least a direct and an adjoint computation', ),
1529 # ------------------------------------
1530 Cost_Function = SIMP(statut = "f",typ = 'TXM',
1531 # ------------------------------------
1532 defaut = 'Computed with h, u , v',
1533 into = ['Computed with h, u , v', 'Computed with c, u , v'],),
1535 # ------------------------------------
1536 Tolerances_For_Identification = FACT( statut = 'o',
1537 # ------------------------------------
1538 # PNPNPN recalculer en liste de 4 reels
1539 # ------------------------------------
1540 Tolerance_For_H = SIMP( statut = 'o',typ = 'R', defaut=1.E-3,
1541 # ------------------------------------
1542 fr = "precision absolue sur H",
1543 ang = "absolute precision on H",),
1544 # ------------------------------------
1545 Tolerance_For_U = SIMP( statut = 'o',typ = 'R', defaut=1.E-3,
1546 # ------------------------------------
1547 fr = "precision absolue sur U",
1548 ang = "absolute precision on U",),
1549 # ------------------------------------
1550 Tolerance_For_V = SIMP( statut = 'o',typ = 'R', defaut=1.E-3,
1551 # ------------------------------------
1552 fr = "precision absolue sur V",
1553 ang = "absolute precision on V",),
1554 # ------------------------------------
1555 Tolerance_For_cout = SIMP( statut = 'o',typ = 'R', defaut=1.E-4,
1556 # ------------------------------------
1557 fr = "precision relative sur la fonction cout",
1558 ang = "relative precision on the cost function",),
1559 ),# fin Tolerances_For_Identification
1561 ), # fin fact Parameter_Estimation
1563 # ------------------------------------
1564 Number_Of_Sources = SIMP( statut = 'o',typ = 'I', defaut = 0 ,),
1565 # ------------------------------------
1566 # Attention a la sortie a reformatter. voir page 68 du user manuel V7
1568 # ------------------------------------
1569 sources_exists = BLOC(condition = "Number_Of_Sources!= 0",
1570 # ------------------------------------
1572 # ------------------------------------
1573 Sources_File = SIMP( statut = 'o',
1574 # ------------------------------------
1575 typ = ('Fichier', 'All Files (*)',),
1576 fr = 'Nom du fichier contenant les informations variables en temps des sources',
1577 ang = 'Name of the file containing time-dependent information on sources',),
1579 #PNPNPNPN saisir autant de source que le nombre
1580 # ------------------------------------
1581 Source = FACT(statut = 'o',
1582 # ------------------------------------
1584 # ------------------------------------
1585 Abscissae_Of_Sources = SIMP( statut = 'o',
1586 # ------------------------------------
1587 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
1588 fr = 'Valeurs des abscisses des sources de debit et de traceur.',
1589 ang = 'abscissae of sources of flowrate and/or tracer',),
1591 # ------------------------------------
1592 Ordinates_Of_Sources = SIMP( statut = 'o',
1593 # ------------------------------------
1594 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
1595 fr = 'Valeurs des ordonnees des sources de debit et de traceur.',
1596 ang = 'ordinates of sources of flowrate and/or tracer',),
1598 # ------------------------------------
1599 Water_Discharge_Of_Sources = SIMP( statut = 'o',
1600 # ------------------------------------
1601 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
1602 fr = 'Valeurs des debits des sources.',
1603 ang = 'values of water discharge of sources',),
1605 # ------------------------------------
1606 Velocities_Of_The_Sources_Along_X = SIMP( statut = 'f',
1607 # ------------------------------------
1608 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
1609 fr = 'Vitesses du courant a chacune des sources. Si elles ne sont pas donnees, on considere que la vitesse est celle du courant',
1610 ang = 'Velocities at the sources. If they are not given, the velocity of the flow at this location is taken',),
1612 # ------------------------------------
1613 Velocities_Of_The_Sources_Along_Y = SIMP( statut = 'f',
1614 # ------------------------------------
1615 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),
1616 fr = 'Vitesses du courant a chacune des sources',
1617 ang = 'Velocities at the sources',),
1619 ), # Fin du Fact Source
1621 # ------------------------------------
1622 Type_Of_Sources = SIMP(statut = 'o',typ = 'TXM',into = ["Normal","Dirac"],
1623 # ------------------------------------
1624 fr = 'Source portee par une base elements finis Source portee par une fonction de Dirac',
1625 ang = 'Source term multiplied by a finite element basis, Source term multiplied by a Dirac function',),
1627 ),#fin bloc source - exits
1629 # ------------------------------------
1630 Water_Density = SIMP(statut = 'o',typ = 'R',defaut = 1000.,
1631 # ------------------------------------
1632 fr = 'Fixe la valeur de la masse volumique de l eau.',
1633 ang = 'set the value of water density',
1636 # ------------------------------------
1637 Gravity_Acceleration = SIMP(statut = 'o',typ = 'R',defaut = 9.81,
1638 # ------------------------------------
1639 fr = 'Fixe la valeur de l acceleration de la pesanteur.',
1640 ang = 'Set the value of the acceleration due to gravity.',
1643 )# fin PHYSICAL_PARAMETERS
1645 # -----------------------------------------------------------------------
1646 POST_PROCESSING = PROC(nom = "POST_PROCESSING",op = None,
1647 # -----------------------------------------------------------------------
1649 # ------------------------------------
1650 Graphic_Printouts = FACT(statut = 'f',
1651 # ------------------------------------
1652 # ------------------------------------
1653 Variables_For_Graphic_Printouts = SIMP(statut = 'o',max = "**", typ = 'TXM',
1654 # ------------------------------------
1655 into=[ "Velocity along X axis (m/s)", "Velocity along Y axis (m/s)", "Wave celerity (m/s)", "Water depth (m)",
1656 "Free surface elevation (m)", "Bottom elevation (m)", "Froude number ", "Scalar flowrate of fluid (m2/s)",
1657 "Tracer 1 etc. ", "Turbulent kinetic energy in K-Epsilon model (J/kg)", "Dissipation of turbulent energy (W/kg)",
1658 "Turbulent viscosity of K-Epsilon model (m2/s)", "Flowrate along X axis (m2/s)", "Flowrate along Y axis (m2/s)",
1659 "Scalar velocity (m/s)", "Wind along X axis (m/s)", "Wind along Y axis (m/s)", "Air pressure (Pa)",
1660 "Friction coefficient", "Drift along X (m)", "Drift along Y (m)", "Courant number ", "Supplementary variable N ",
1661 "Supplementary variable O ", "Supplementary variable R ", "Supplementary variable Z ", "Maximum elevation",
1662 "Time of maximum elevation ", "Maximum velocity", "Time of maximum velocity", "Friction velocity "],),
1664 # ------------------------------------
1665 Graphic_Printout_Period = SIMP(statut = 'o', typ = 'I',defaut = 1,
1666 # ------------------------------------
1667 fr = 'Determine la periode en nombre de pas de temps d''impression des VARIABLES POUR LES SORTIES GRAPHIQUES \n\
1668 dans le FICHIER DES RESULTATS.',
1669 ang = 'Determines, in number of time steps, the printout period for the VARIABLES FOR GRAPHIC PRINTOUTS in the RESULTS FILE.' ,),
1671 # ------------------------------------
1672 Number_Of_First_Time_Step_For_Graphic_Printouts = SIMP(statut = 'o', typ = 'I',defaut = 1,
1673 # ------------------------------------
1674 fr = 'Determine le nombre de pas de temps a partir duquel debute l''ecriture des resultats dans le listing.',
1675 ang = 'Determines the number of time steps after which the results are first written into the listing.'),
1676 ), # fin Graphic_Printouts
1678 #PNPN Attention - il existe un mot clef Listing_Printouts
1679 # ------------------------------------
1680 Listing_Printouts = FACT(statut = 'f',
1681 # ------------------------------------
1683 # ------------------------------------
1684 Results_File_Format = SIMP( statut = 'o',typ = 'TXM',into = ['Serafin','MED','SerafinD'], defaut = 'Serafin',
1685 # ------------------------------------
1686 fr = 'Format du fichier de resultats. Les valeurs possibles sont : \n\
1687 - SERAFIN : format standard simple precision pour Telemac; \n\
1688 - SERAFIND: format standard double precision pour Telemac; \n\
1689 - MED : format MED base sur HDF5' ,
1690 ang = 'Results file format. Possible values are:\n \
1691 - SERAFIN : classical single precision format in Telemac;\n\
1692 - SERAFIND: classical double precision format in Telemac; \n\
1693 - MED : MED format based on HDF5' ,
1696 #PNPNPN Soizic ? il faudrait mettre les mots clefs dans le meme paragraphe
1697 # ------------------------------------
1698 Results_File = SIMP( statut = 'o',
1699 # ------------------------------------
1700 typ = ('Fichier', 'Steering Files (*.cas);;All Files (*)',),
1701 fr = 'Nom du fichier dans lequel sont ecrits les resultats du calcul avec la periodicite donnee PERIODE POUR LES SORTIES GRAPHIQUES.',
1702 ang = 'Name of the file into which the computation results shall be written, the periodicity being given by GRAPHIC PRINTOUT PERIOD.',),
1703 # ------------------------------------
1704 Listing_Printout_Period = SIMP(statut = 'o', typ = 'I',defaut = 1,
1705 # ------------------------------------
1706 fr = 'Determine la periode en nombre de pas de temps d''impression des variables',
1707 ang = 'Determines, in number of time steps, the printout period for the variables',),
1709 # ------------------------------------
1710 Variables_To_Be_Printed = SIMP(statut = 'o',max = "**", typ = 'TXM',
1711 # ------------------------------------
1712 into = [ "Velocity along X axis (m/s)", "Velocity along Y axis (m/s)", "Wave celerity (m/s)", "Water depth (m)",
1713 "Free surface elevation (m)", "Bottom elevation (m)", "Froude number", "Scalar flowrate of fluid (m2/s)",
1714 "Tracer", "Turbulent kinetic energy in K-Epsilon model (J/kg)", "Dissipation of turbulent energy (W/kg)",
1715 "Turbulent viscosity of K-Epsilon model (m2/s)", "Flowrate along x axis (m2/s)", "Flowrate along y axis (m2/s)",
1716 "Scalar velocity (m/s)", "Wind along x axis (m/s)", "Wind along y axis (m/s)", "Air pressure (Pa)",
1717 "Friction coefficient", "Drift along x (m)", "Drift along y (m)", "Courant number",
1718 "Supplementary variable N", "Supplementary variable O", "Supplementary variable R", "Supplementary variable Z"]),
1720 ),# fin Listing_Printouts
1722 # ------------------------------------
1723 Formatted_Results_File = SIMP( statut = 'f',
1724 # ------------------------------------
1725 typ = ('Fichier','All Files (*)',),
1726 fr = 'Fichier de resultats formate mis a la disposition de l utilisateur. \
1727 Les resultats a placer dans ce fichier seront a ecrire sur le canal 29.',
1728 ang = 'Formatted file of results made available to the user. \
1729 The results to be entered into this file shall be written on channel 29.',),
1731 # PNPNPN --> a harmoniser . demander aux devpeurs
1732 # ------------------------------------
1733 Debugger = SIMP(typ = 'I' , statut = 'o',
1734 # ------------------------------------
1737 fr= 'Pour imprimer la sequence des appels, mettre 1',
1738 ang = 'If 1, calls of subroutines will be printed in the listing',),
1740 # ------------------------------------
1741 Output_Of_Initial_Conditions = SIMP(typ = bool, statut = 'o',
1742 # ------------------------------------
1744 fr = 'Si Vrai, impression des conditions initiales dans les resultats',
1745 ang = 'If True, output of initial conditions in the results'),
1747 # ------------------------------------
1748 Information_About_Solver = SIMP(typ = bool, statut = 'f',
1749 # ------------------------------------
1751 fr = "Si vrai, Donne a chaque pas de temps le nombre d'iterations necessaires a la convergence du solveur de l'etape de propagation.",
1752 ang = "if True, prints the number of iterations that have been necessary to get the solution of the linear system.",),
1754 # ------------------------------------
1755 Binary_Results_File = SIMP( statut = 'f',
1756 # ------------------------------------
1757 typ = ('Fichier', ';;All Files (*)',),
1758 fr = "Fichier de resultats code en binaire mis a la disposition de l'utilisateur.\n\
1759 Les resultats a placer dans ce fichier seront a ecrire sur le canal 28.",
1760 ang = "Additional binary-coded result file made available to the user. \n\
1761 The results to be entered into this file shall be written on channel 28.",),
1763 # ------------------------------------
1764 Controls = FACT( statut='f',
1765 # ------------------------------------
1766 # ------------------------------------
1767 Control_Sections = SIMP(statut = 'f',typ = Tuple(2),validators = VerifTypeTuple(('I','I')),
1768 # ------------------------------------
1769 fr = 'Couples de points (numeros globaux dans le maillage) entre lesquels les debits instantanes et cumules seront donnes.',
1770 ang = 'Couples of points (global numbers in the mesh) defining sections where the instantaneous and cumulated discharges will be given',),
1772 # ------------------------------------
1773 Printing_Cumulated_Flowrates = SIMP( statut = 'o',typ = bool, defaut = False ,
1774 # ------------------------------------
1775 fr = 'impression du flux cumule a travers les sections de controle',
1776 ang = 'printing the cumulated flowrates through control sections',),
1778 # ------------------------------------
1779 Compatible_Computation_Of_Fluxes = SIMP( statut = 'o',typ = bool, defaut = False ,
1780 # ------------------------------------
1781 fr = 'flux a travers les sections de controle, calcul compatible avec l impermeabilite sous forme faible',
1782 ang = 'flowrates through control sections, computation compatible with the weak formulation of no-flux boundary condition',),
1784 # ------------------------------------
1785 Sections_Input_File = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)'),
1786 # ------------------------------------
1787 fr = 'sections input file, partitioned',
1788 ang = 'sections input file, partitioned',),
1790 # ------------------------------------
1791 Sections_Output_File = SIMP( statut = 'f', typ = ('Fichier', 'All Files (*)'),
1792 # ------------------------------------
1793 fr = 'sections output file, written by the master',
1794 ang = 'sections output file, written by the master',),
1800 # -----------------------------------------------------------------------
1801 CONSTRUCTION_WORKS_MODELLING = PROC(nom = "CONSTRUCTION_WORKS_MODELLING",op = None,
1802 # -----------------------------------------------------------------------
1804 # PNPNPN : Il faudrait harmoniser . soizic ?
1805 # Attention calculer le logique BREACH
1807 # ------------------------------------
1808 Number_Of_Culverts = SIMP( statut = 'o',typ = 'I',
1809 # ------------------------------------
1811 fr = 'Nombre de siphons traites comme des termes sources ou puits. Ces siphons doivent etre decrits comme des sources \
1812 dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des siphons (voir la documentation ecrite)',
1813 ang = 'Number of culverts treated as source terms. They must be described as sources in the domain\
1814 and their features are given in the culvert data file (see written documentation)',),
1815 # ------------------------------------
1816 culvert_exists = BLOC(condition = "Number_Of_Culverts!= 0",
1817 # ------------------------------------
1818 # ------------------------------------
1819 Culvert_Data_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',),
1820 # ------------------------------------
1821 fr = 'Fichier de description des siphons presents dans le modele',
1822 ang = 'Description of culvert existing in the model',),
1823 ), # fin bloc culvert_exists
1825 # ------------------------------------
1826 Number_Of_Tubes = SIMP( statut = 'o',typ = 'I',
1827 # ------------------------------------
1829 fr = 'Nombre de buses ou ponts traites comme des termes sources ou puits. Ces buses doivent etre decrits comme des sources\n\
1830 dans le fichier cas. Leurs caracteristiques sont donnees dans le fichier de donnees des buses (voir la documentation ecrite)',
1831 ang = 'Number of tubes or bridges treated as source terms. They must be described as sources in the domain \n\
1832 and their features are given in the tubes data file (see written documentation)',),
1833 # ------------------------------------
1834 b_Tubes = BLOC(condition = "Number_Of_Tubes!= 0",
1835 # ------------------------------------
1836 # ------------------------------------
1837 Tubes_Data_File = SIMP( statut = 'o',
1838 # ------------------------------------
1839 typ = ('Fichier', 'All Files (*)',),
1840 fr = 'Fichier de description des buses/ponts presents dans le modele',
1841 ang = 'Description of tubes/bridges existing in the model',),
1842 ), # in bloc b_Tubes
1844 # ------------------------------------
1845 Number_Of_Weirs = SIMP(statut = 'o',typ = 'I',defaut = 0,
1846 # ------------------------------------
1847 fr = 'Nombre de seuils qui seront traites par des conditions aux limites. \n\
1848 Ces seuils doivent etre decrits comme des frontieres du domaine de calcul',
1849 ang = 'Number of weirs that will be treated by boundary conditions.',
1851 # ------------------------------------
1852 b_Weirs = BLOC(condition = "Number_Of_Weirs!= 0",
1853 # ------------------------------------
1854 # ------------------------------------
1855 Weirs_Data_File = SIMP( statut = 'o',
1856 # ------------------------------------
1857 typ = ('Fichier', 'All Files (*)',),
1858 fr = 'Fichier de description des seuils presents dans le modele',
1859 ang = 'Description of weirs existing in the model',),
1861 # ------------------------------------
1862 Type_Of_Weirs = SIMP( statut = 'o',typ = 'TXM',
1863 # ------------------------------------
1864 into = ["Horizontal with same number of nodes upstream/downstream (Historical solution with bord)",
1865 "General (New solution with sources points)"],
1866 defaut = "Horizontal with same number of nodes upstream/downstream (Historical solution with bord)",
1867 fr = 'MĂ©thode de traitement des seuils ',
1868 ang = 'Method for treatment of weirs',),
1871 # ------------------------------------
1872 Breach = SIMP(statut = 'f',typ = bool,defaut = False,
1873 # ------------------------------------
1874 fr = 'Prise en compte de breches dans le calcul par modification altimetrique dans le maillage.',
1875 ang = 'Take in account some breaches during the computation by modifying the bottom level of the mesh.',),
1877 # ------------------------------------
1878 b_Breaches = BLOC (condition = 'Breach == True',
1879 # ------------------------------------
1880 # ------------------------------------
1881 Breaches_Data_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',),
1882 # ------------------------------------
1883 fr = 'Fichier de description des breches',
1884 ang = 'Description of breaches',),
1887 # ------------------------------------
1888 Vertical_Structures = SIMP(statut = 'o',typ = bool,defaut = False,
1889 # ------------------------------------
1890 fr = 'Prise en compte de la force de trainee de structures verticales',
1891 ang = 'drag forces from vertical structures are taken into account',),
1893 # ------------------------------------
1894 maskob = BLOC (condition = 'Vertical_Structures == True',
1895 # ------------------------------------
1896 # ------------------------------------
1897 Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
1898 # ------------------------------------
1899 defaut = "subroutine DRAGFO must then be implemented"),
1902 ) # Fin CONSTRUCTION_WORKS_MODELLING
1904 # -----------------------------------------------------------------------
1905 TRACERS = PROC(nom = "TRACERS",op = None,
1906 # -----------------------------------------------------------------------
1907 # ------------------------------------
1908 Boundary_conditions = FACT(statut = 'o',
1909 # ------------------------------------
1910 # ------------------------------------
1911 Treatment_Of_Fluxes_At_The_Boundaries = SIMP( statut = 'f',typ = 'TXM',
1912 # ------------------------------------
1913 into = ["Priority to prescribed values","Priority to fluxes"],
1914 fr = 'Utilise pour les schemas SUPG, PSI et N, \n\
1915 si Priorité aux flux, on ne retrouve pas exactement les valeurs imposees des traceurs,mais le flux est correct',
1916 ang = 'Used so far only with the SUPG, PSI and N schemes.\n\
1917 if Priority to fluxes, Dirichlet prescribed values are not obeyed,but the fluxes are correct',),
1918 ), # fin Boundary_conditions
1921 # -----------------------------------------------------------------------
1922 GENERAL_PARAMETERS = PROC(nom = "GENERAL_PARAMETERS",op = None,
1923 # -----------------------------------------------------------------------
1925 # ------------------------------------
1926 Spherical_Coordinates = SIMP(typ = bool,statut = 'o',defaut = False,
1927 # ------------------------------------
1928 fr = 'Choix des coordonnees spheriques pour la realisation du calcul ( pour les grands domaines de calcul).',
1929 ang = 'Selection of spherical coordinates to perform the computation (for large computation domains).'),
1931 # ------------------------------------
1932 b_Spher = BLOC(condition = 'Spherical_Coordinates == True',
1933 # ------------------------------------
1934 # ------------------------------------
1935 Latitude_Of_Origin_Point = SIMP(typ = 'R',statut = 'o',defaut = 48.,
1936 # ------------------------------------
1937 fr = 'Determine l origine utilisee pour le calcul de latitudes lorsque l on effectue un calcul en coordonnees spheriques.',
1938 ang = 'Determines the origin used for computing latitudes when a computation is made in spherical coordinates.this latitude\n\
1939 is in particular used to compute the Coriolis force. In cartesian coordinates, Coriolis coefficient is considered constant.'),
1941 # ------------------------------------
1942 Spatial_Projection_Type = SIMP(statut = 'o',typ = 'TXM',
1943 # ------------------------------------
1944 into = ["Mercator","Latitude longitude"]),
1947 # ------------------------------------
1948 b_Spher_faux = BLOC(condition = 'Spherical_Coordinates == False',
1949 # ------------------------------------
1950 # ------------------------------------
1951 Spatial_Projection_Type = SIMP(statut = 'o',typ = 'TXM',
1952 # ------------------------------------
1953 into = ["Cartesian, not georeferenced","Mercator","Latitude longitude"],
1954 defaut = "Cartesian, not georeferenced",),
1955 ), # fin b_Spher_faux
1957 ) # Fin GENERAL_PARAMETERS
1960 # -----------------------------------------------------------------------
1961 TURBULENCE = PROC(nom = "TURBULENCE",op = None,
1962 # -----------------------------------------------------------------------
1965 # -----------------------------------------------------------------------
1966 Turbulence_Model = SIMP( statut = 'o',typ = 'TXM', defaut = "Constant Viscosity",
1967 # -----------------------------------------------------------------------
1968 into = ("Constant Viscosity", "Elder", "K-Epsilon Model", "Smagorinski"),
1969 fr = 'Pour Elder, il faut pas oublier d ajuster les deux valeurs du mot-cle : COEFFICIENTS ADIMENSIONNELS DE DISPERSION\n\
1970 Pour K-Epsilon Model, ce meme parametre doit retrouver sa vraie valeur physique car elle est utilisee comme telle dans le modele de turbulence',
1971 ang = 'When Elder, the two values of key-word : NON-DIMENSIONAL DISPERSION COEFFICIENTS are used \n\
1972 When K-Epsilon Model, this parameter should recover its true physical value, since it is used as such in the turbulence model.',),
1974 # ------------------------------------
1975 b_turbu_const = BLOC(condition = 'Turbulence_Model == "Constant Viscosity"',
1976 # ------------------------------------
1977 # ------------------------------------
1978 Velocity_Diffusivity = SIMP( statut = 'o',typ = 'R',
1979 # ------------------------------------
1981 fr = 'Fixe de facon uniforme pour l ensemble du domaine la valeur du coefficient de diffusion de viscosite globale (dynamique + turbulente).\n\
1982 Cette valeur peut avoir une influence non negligeable sur la forme et la taille des recirculations.',
1983 ang = 'Sets, in an even way for the whole domain, the value of the coefficient of global (dynamic+turbulent) viscosity. \n\
1984 this value may have a significant effect both on the shapes and sizes of recirculation zones.',),
1985 ), # fin b_turbu_const
1987 # ------------------------------------
1988 b_turbu_elder = BLOC(condition = 'Turbulence_Model == "Elder"',
1989 # ------------------------------------
1990 # ------------------------------------
1991 Non_Dimensional_Dispersion_Coefficients = SIMP (statut = 'o',
1992 # ------------------------------------
1993 typ = Tuple(2),validators = VerifTypeTuple(('R','R')),defaut = (6.,0.6),
1994 fr = 'coefficients longitudinal et transversal dans la formule de Elder.',
1995 ang = 'Longitudinal and transversal coefficients in elder s formula. Used only with turbulence model number 2',),
1996 ), # fin bloc b_turbu_elder
1998 # PNPN soizic ? ne faut-il pas un bloc
1999 # -----------------------------------------------------------------------
2000 Accuracy_Of_K = SIMP( statut = 'o',typ = 'R', defaut = 1e-09 ,
2001 # -----------------------------------------------------------------------
2002 fr = 'Fixe la precision demandee sur k pour le test d arret dans letape de diffusion et termes sources du modele k-epsilon.',
2003 ang = 'Sets the required accuracy for computing k in the diffusion and source terms step of the k-epsilon model.',),
2005 # PNPN soizic ? ne faut-il pas un bloc
2006 # -----------------------------------------------------------------------
2007 Accuracy_Of_Epsilon = SIMP( statut = 'o',typ = 'R', defaut = 1e-09 ,
2008 # -----------------------------------------------------------------------
2009 fr = 'Fixe la precision demandee sur epsilon pour le test darret dans letape de diffusion et termes sources de k et epsilon.',
2010 ang = 'Sets the required accuracy for computing epsilon in the diffusion and source-terms step of the k-epsilon model.',),
2012 # -----------------------------------------------------------------------
2013 Time_Step_Reduction_For_K_Epsilon_Model = SIMP( statut = 'f',typ = 'R', defaut = 1.0 ,
2014 # -----------------------------------------------------------------------
2015 fr = 'Coefficient reducteur du pas de temps pour le modele k-epsilon (qui est normalement identique a celui du systeme hydrodynamique).\n\
2016 Utilisation deconseillee',
2017 ang = 'Time step reduction coefficient for k-epsilon model (which is normally same the same as that of the hydrodynamic system).\n\
2018 Not recommended for use.',),
2020 # -----------------------------------------------------------------------
2021 Maximum_Number_Of_Iterations_For_K_And_Epsilon = SIMP( statut = 'o',typ = 'I',
2022 # -----------------------------------------------------------------------
2024 fr = 'Fixe le nombre maximum diterations accepte lors de la resolution du systeme diffusion-termes sources du modele k-epsilon.',
2025 ang = 'Sets the maximum number of iterations that are acceptable when solving the diffusion source-terms step of the k-epsilon model.',),
2027 # -----------------------------------------------------------------------
2028 Turbulence_Model_For_Solid_Boundaries = SIMP( statut = 'o',typ = 'TXM',
2029 # -----------------------------------------------------------------------
2031 into = ('Smooth', 'Rough'),
2032 fr = 'Permet de choisir le regime de turbulence aux parois ',
2033 ang = 'Provided for selecting the type of friction on the walls',),
2035 # -----------------------------------------------------------------------
2036 Solver_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'TXM',
2037 # -----------------------------------------------------------------------
2038 defaut = "Conjugate gradient" ,
2039 into = ("Conjugate gradient", "Conjugate residuals", "Conjugate gradient on normal equation",
2040 "Minimum error", "Conjugate gradient squared", "Conjugate gradient squared stabilised (CGSTAB)",
2042 fr = 'Permet de choisir le solveur utilise pour la resolution du systeme du modele k-epsilon',
2043 ang = 'Makes it possible to select the solver used for solving the system of the k-epsilon model.',),
2045 # -----------------------------------------------------------------------
2046 b_gmres = BLOC(condition = 'Solver_For_K_Epsilon_Model == "GMRES"',
2047 # -----------------------------------------------------------------------
2048 # -----------------------------------------------------------------------
2049 Option_For_The_Solver_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'I',
2050 # -----------------------------------------------------------------------
2051 defaut = 2 ,val_min = 2,val_max = 15,
2052 fr = 'le mot cle est la dimension de lespace de KRILOV (valeurs conseillees entre 2 et 7)',
2053 ang = 'dimension of the krylov space try values between 2 and 7',),
2054 ), # fin bloc b_gmres
2056 # -----------------------------------------------------------------------
2057 Preconditioning_For_K_Epsilon_Model = SIMP( statut = 'o',typ = 'TXM',
2058 # -----------------------------------------------------------------------
2059 defaut = 'Diagonal' ,
2060 into = ("Diagonal", "No preconditioning", "Diagonal condensed", "Crout", "Diagonal and crout", "Diagonal condensed and crout"),
2061 fr = 'Permet de preconditionner le systeme relatif au modele k-epsilon',
2062 ang = 'Preconditioning of the linear system in the diffusion step of the k-epsilon model.',
2064 # -----------------------------------------------------------------------
2065 Information_About_K_Epsilon_Model = SIMP(statut = 'o',typ = bool,defaut = True,
2066 # -----------------------------------------------------------------------
2067 fr = 'Donne le nombre d iterations du solveur de l etape de diffusion et termes sources du modele k-epsilon.',
2068 ang = 'Gives the number of iterations of the solver in the diffusion and source terms step of the k-epsilon model.',
2072 # -----------------------------------------------------------------------
2073 PARTICULE = PROC(nom = "PARTICULE",op = None,
2074 # -----------------------------------------------------------------------
2075 # -----------------------------------------------------------------------
2076 Number_Of_Drogues = SIMP(statut = 'o',typ = 'I',defaut = 0,
2077 # -----------------------------------------------------------------------
2078 fr = 'Permet d''effectuer un suivi de flotteurs',
2079 ang = 'Number of drogues in the computation.',),
2081 # -----------------------------------------------------------------------
2082 Algae_Transport_Model = SIMP( statut = 'o',typ = bool, defaut = False ,
2083 # -----------------------------------------------------------------------
2084 fr = 'Si oui, les flotteurs seront des algues',
2085 ang = 'If yes, the floats or particles will be algae',),
2087 # -----------------------------------------------------------------------
2088 algae_exists = BLOC(condition = "Algae_Transport_Model == True",
2089 # -----------------------------------------------------------------------
2090 # -----------------------------------------------------------------------
2091 Algae_Type = SIMP( statut = 'o',typ = 'TXM',
2092 # -----------------------------------------------------------------------
2093 into = ["Sphere", "Iridaea flaccida (close to ulva)", "Pelvetiopsis limitata", "Gigartina leptorhynchos"],
2095 fr = 'Type des algues. Pour sphere les algues seront modelisees comme des spheres, pour les autres choix voir Gaylord et al.(1994)',
2096 ang = 'Algae type. For sphere, the algae particles will be modeled as spheres, for the other choices see Gaylord et al.(1994)',),
2098 # -----------------------------------------------------------------------
2099 Diametre_Of_Algae = SIMP( statut = 'o',typ = 'R', defaut = 0.1 ,
2100 # -----------------------------------------------------------------------
2101 fr = 'Diametre des algues en m',
2102 ang = 'Diametre of algae in m',),
2104 # -----------------------------------------------------------------------
2105 Density_Of_Algae = SIMP( statut = 'o',typ = 'R', defaut = 1050.0 ,
2106 # -----------------------------------------------------------------------
2107 fr = 'Masse volumique des algues en kg/m3',
2108 ang = 'Density of algae in kg/m3',),
2110 # -----------------------------------------------------------------------
2111 Thickness_Of_Algae = SIMP( statut = 'o',typ = 'R', defaut = 0.01 ,
2112 # -----------------------------------------------------------------------
2113 fr = 'Epaisseur des algues en m',
2114 ang = 'Thickness of algae in m',),
2118 # -----------------------------------------------------------------------
2119 Oil_Spill_Model = SIMP( statut = 'o',typ = bool, defaut = False ,
2120 # -----------------------------------------------------------------------
2121 fr = 'pour declencher le modele de derive de nappes, dans ce cas le fichier de commandes migrhycar est necessaire',
2122 ang = 'will trigger the oil spill model, in this case the migrhycar steering file is needed',),
2124 # -----------------------------------------------------------------------
2125 oil_exists = BLOC(condition = "Oil_Spill_Model == True",
2126 # -----------------------------------------------------------------------
2127 # -----------------------------------------------------------------------
2128 Oil_Spill_Steering_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',),
2129 # -----------------------------------------------------------------------
2130 fr = 'Contient les donnees pour le modele de derive de nappes',
2131 ang = 'Contains data for the oil spill model',),
2134 # -----------------------------------------------------------------------
2135 drogues_exists = BLOC(condition = "Number_Of_Drogues!= 0 or Algae_Transport_Model == True or Oil_Spill_Model == True",
2136 # -----------------------------------------------------------------------
2137 # -----------------------------------------------------------------------
2138 Drogues_File = SIMP( statut = 'o',typ = ('Fichier', 'All Files (*)',),
2139 # -----------------------------------------------------------------------
2140 fr = 'Fichier de resultat avec les positions des flotteurs',
2141 ang = 'Results file with positions of drogues',),
2143 # -----------------------------------------------------------------------
2144 Printout_Period_For_Drogues = SIMP(statut = 'o',typ = 'I',defaut = 1,
2145 # -----------------------------------------------------------------------
2146 fr = 'Nombre de pas de temps entre 2 sorties de positions de flotteurs dans le fichier des resultats binaire supplementaire\n\
2147 N affecte pas la qualite du calcul de la trajectoire',
2148 ang = 'Number of time steps between 2 outputs of drogues positions in the binary file',),
2149 ),#fin drogues ou algae
2152 # -----------------------------------------------------------------------
2153 Stochastic_Diffusion_Model = SIMP( statut = 'o',typ = 'I', defaut = 0 ,
2154 # -----------------------------------------------------------------------
2155 fr = 'Pour les particules : flotteurs, algues, hydrocarbures',
2156 ang = 'Meant for particles: drogues, algae, oil spills',),
2158 # -----------------------------------------------------------------------
2159 Number_Of_Lagrangian_Drifts = SIMP( statut = 'o',typ = 'I', defaut = 0 ,
2160 # -----------------------------------------------------------------------
2161 fr = 'Permet deffectuer simultanement plusieurs calculs de derives lagrangiennes initiees a des pas differents',
2162 ang = 'Provided for performing several computations of lagrangian drifts starting at different times.',),
2164 # -----------------------------------------------------------------------
2165 b_cons = BLOC(condition = "Number_Of_Lagrangian_Drifts != 0",
2166 # -----------------------------------------------------------------------
2167 # -----------------------------------------------------------------------
2168 Consigne = SIMP(statut = "o",homo = 'information',typ = "TXM",
2169 # -----------------------------------------------------------------------
2170 defaut = "Add A and G in the VARIABLES FOR GRAPHIC PRINTOUTS key-word in POST_PROCESSING SECTION"),