--- /dev/null
+/------------------------------------------------------------------/
+/ COMPUTATION_ENVIRONMENT
+/------------------------------------------------------------------/
+TITLE : 'TELEMAC 2D : CRUE GARONNE'
+GEOMETRY FILE FORMAT : 'MED'
+GEOMETRY FILE :
+ '/home/J23973/HYDRO_garonne_1F_Z-KS-Hin.med'
+BOUNDARY CONDITIONS FILE :
+ '/home/J23973/condlim.bcd'
+NUMBER OF FIRST TIME STEP FOR GRAPHIC PRINTOUTS : 1
+GRAPHIC PRINTOUT PERIOD : 200
+VARIABLES FOR GRAPHIC PRINTOUTS : 'U,V,H,B,S,F,W,L,Q,I,J'
+RESULTS FILE FORMAT : 'MED'
+RESULTS FILE :
+ '/home/J23973/ResultatGaronne.med'
+LISTING PRINTOUT PERIOD : 50
+MASS-BALANCE : YES
+/------------------------------------------------------------------/
+/ HYDRO
+/------------------------------------------------------------------/
+VELOCITY PROFILES : 1;1
+LIQUID BOUNDARIES FILE :
+ '/home/J23973/init.lqd'
+LAW OF BOTTOM FRICTION : 3
+/------------------------------------------------------------------/
+/ GENERAL_PARAMETERS
+/------------------------------------------------------------------/
+DURATION : 1000.0
+/------------------------------------------------------------------/
+/ NUMERICAL_PARAMETERS
+/------------------------------------------------------------------/
+SOLVER : 7
+SOLVER OPTION : 3
+SOLVER ACCURACY : 0.00001
+IMPLICITATION FOR DEPTH : 0.6
+IMPLICITATION FOR VELOCITY : 0.6
+DISCRETIZATIONS IN SPACE : 12;11;11;11
+SUPG OPTION : 1;2;2;2
+MASS-LUMPING ON H : 1.0
+/------------------------------------------------------------------/
+/ TIDAL_FLATS_INFO
+/------------------------------------------------------------------/
+H CLIPPING : YES
+MINIMUM VALUE OF DEPTH : 0.001
+/------------------------------------------------------------------/
+/ TURBULENCE
+/------------------------------------------------------------------/
+VELOCITY DIFFUSIVITY : 1.0
--- /dev/null
+/------------------------------------------------------------------/
+/ COMPUTATION_ENVIRONMENT
+/------------------------------------------------------------------/
+TITLE : 'TELEMAC 2D : CRUE GARONNE'
+INITIAL CONDITIONS : 'ZERO ELEVATION'
+GEOMETRY FILE FORMAT : 'MED'
+GEOMETRY FILE :
+ '/home/J23973/HYDRO_garonne_1F_Z-KS-Hin.med'
+BOTTOM SMOOTHINGS : 0
+BOUNDARY CONDITIONS FILE :
+ '/home/J23973/condlim.bcd'
+CHECKING THE MESH : NO
+COMPUTATION CONTINUED : NO
+INITIAL TIME SET TO ZERO : NO
+NUMBER OF FIRST TIME STEP FOR GRAPHIC PRINTOUTS : 1
+GRAPHIC PRINTOUT PERIOD : 200
+VARIABLES FOR GRAPHIC PRINTOUTS : 'U,V,H,B,S,F,W,L,Q,I,J'
+NUMBER OF PRIVATE ARRAYS : 0
+RESULTS FILE FORMAT : 'MED'
+RESULTS FILE :
+ '/home/J23973/ResultatGaronne.med'
+LISTING PRINTOUT PERIOD : 50
+LISTING PRINTOUT : YES
+MASS-BALANCE : YES
+/------------------------------------------------------------------/
+/ HYDRO
+/------------------------------------------------------------------/
+VELOCITY PROFILES : 1;1
+LIQUID BOUNDARIES FILE :
+ '/home/J23973/init.lqd'
+ELEMENTS MASKED BY USER : NO
+MAXIMUM NUMBER OF FRICTION DOMAINS : 10
+LAW OF BOTTOM FRICTION : 3
+FRICTION COEFFICIENT : 50.0
+MANNING DEFAULT VALUE FOR COLEBROOK-WHITE LAW : 0.02
+DEPTH IN FRICTION TERMS : 1
+NON-SUBMERGED VEGETATION FRICTION : NO
+LAW OF FRICTION ON LATERAL BOUNDARIES : 0
+DEFINITION OF ZONES : NO
+EQUATIONS : 'SAINT-VENANT FE'
+TREATMENT OF THE LINEAR SYSTEM : 1
+/------------------------------------------------------------------/
+/ GENERAL_PARAMETERS
+/------------------------------------------------------------------/
+DEBUGGER : 0
+TIME STEP : 1.0
+DURATION : 1000.0
+ORIGINAL DATE OF TIME : 1900;1;1
+ORIGINAL HOUR OF TIME : 0;0;0
+STOP IF A STEADY STATE IS REACHED : NO
+CONTROL OF LIMITS : NO
+VARIABLE TIME-STEP : NO
+ORIGIN COORDINATES : 0;0
+SPHERICAL COORDINATES : NO
+LONGITUDE OF ORIGIN POINT : 0.0
+SPATIAL PROJECTION TYPE : 1
+/------------------------------------------------------------------/
+/ NUMERICAL_PARAMETERS
+/------------------------------------------------------------------/
+SOLVER : 7
+SOLVER OPTION : 3
+SOLVER ACCURACY : 1e-05
+MAXIMUM NUMBER OF ITERATIONS FOR SOLVER : 100
+CONTINUITY CORRECTION : NO
+PRECONDITIONING : 2
+C-U PRECONDITIONING : YES
+IMPLICITATION FOR DEPTH : 0.6
+IMPLICITATION FOR VELOCITY : 0.6
+DISCRETIZATIONS IN SPACE : 12;11;11;11
+PROPAGATION : YES
+MEAN DEPTH FOR LINEARIZATION : 0.0
+INITIAL GUESS FOR U : 1
+INITIAL GUESS FOR H : 1
+LINEARIZED PROPAGATION : NO
+ADVECTION : YES
+ADVECTION OF H : YES
+SCHEME FOR ADVECTION OF VELOCITIES : 1
+OPTION FOR CHARACTERISTICS : 1
+SUPG OPTION : 1;2;2;2
+MASS-LUMPING FOR WEAK CHARACTERISTICS : 0.0
+MAXIMUM NUMBER OF ITERATIONS FOR ADVECTION SCHEMES : 10
+UPWIND COEFFICIENTS : 1.0;1.0;1.0;1.0
+MASS-LUMPING ON H : 1.0
+MASS-LUMPING ON VELOCITY : 0.0
+FREE SURFACE GRADIENT COMPATIBILITY : 1.0
+NUMBER OF SUB-ITERATIONS FOR NON-LINEARITIES : 1
+TREATMENT OF FLUXES AT THE BOUNDARIES : 1;1
+DIFFUSION OF VELOCITY : YES
+IMPLICITATION FOR DIFFUSION OF VELOCITY : 1.0
+OPTION FOR THE DIFFUSION OF VELOCITIES : 1
+AD NUMBER OF DERIVATIVES : 0
+MATRIX STORAGE : 3
+MATRIX-VECTOR PRODUCT : 1
+NEWMARK TIME INTEGRATION COEFFICIENT : 1.0
+/------------------------------------------------------------------/
+/ TURBULENCE
+/------------------------------------------------------------------/
+VELOCITY DIFFUSIVITY : 1.0
+TURBULENCE MODEL : 1
+SOLVER FOR K-EPSILON MODEL : 1
+OPTION FOR THE SOLVER FOR K-EPSILON MODEL : 2
+PRECONDITIONING FOR K-EPSILON MODEL : 2
+INFORMATION ABOUT K-EPSILON MODEL : YES
+ADVECTION OF K AND EPSILON : YES
+ACCURACY OF K : 1e-09
+ACCURACY OF EPSILON : 1e-09
+MAXIMUM NUMBER OF ITERATIONS FOR K AND EPSILON : 50
+/------------------------------------------------------------------/
+/ TIDAL_FLATS_INFO
+/------------------------------------------------------------------/
+TIDAL FLATS : YES
+OPTION FOR THE TREATMENT OF TIDAL FLATS : 1
+TREATMENT OF NEGATIVE DEPTHS : 1
+THRESHOLD FOR NEGATIVE DEPTHS : 0.0
+THRESHOLD DEPTH FOR RECEDING PROCEDURE : 0.0
+H CLIPPING : YES
+MINIMUM VALUE OF DEPTH : 0.001
--- /dev/null
+#!/bin/env python
+
+
+from MEDLoader import *
+import numpy as np
+
+# Open the file
+
+
+def set_var_on_group(filename, meshname, groups_val, varname):
+ """
+ Set values on group
+
+ @param filename Name of the MED file
+ @param meshname Name of the mesh in the MED file
+ @param groups_val List of tuples (Name, value)
+ @param varname Name of the field
+ """
+ # Opening mesh
+ meshFile2D = MEDFileUMesh(filename, meshname)
+
+ m2D = meshFile2D.getMeshAtLevel(0)
+
+ npoin = m2D.getNumberOfNodes()
+
+ # Values for the field
+ values = DataArrayDouble(npoin)
+
+ for group, val in groups_val:
+ # Getting element in the group
+ cellsInGroup = meshFile2D.getGroupArr(0, group)
+ for cell in cellsInGroup:
+ # Get list of node in the element
+ nodes = m2D.getNodeIdsOfCell(cell[0])
+ for node in nodes:
+ values[node] = val
+
+ # Building the new field
+ field = MEDCouplingFieldDouble.New(ON_NODES)
+ field.setName(varname)
+ field.setMesh(m2D)
+ field.setArray(values)
+ field.setTime(0.0,0,-1)
+
+ # Writing field in file
+ WriteField(filename,field,False)
+
+
+if __name__ == "__main__":
+ filename = "HYDRO_garonne_1F_Z-KS.med"
+ meshname = "HYDRO_garonne_1"
+ groups = [("litMineur", 1.00),
+ ("riveGauche",0.00),
+ ("riveDroite",0.00),
+ ]
+ varname = "WATER DEPTH"
+
+ set_var_on_group(filename, meshname, groups, varname)
+
Nous allons créer un *Cas de Calcul*, c'est à dire la configuration des objets que nous allons retenir dans notre étude.
-Nous avons créé 3 objets : le lit mineur, le lit majeur, et le domaine d'étude.
+Nous avons créé 3 ou 4 objets : le lit mineur, le lit majeur, la digue optionnelle et le domaine d'étude.
Pour créer un *cas de calcul*, nous utilisons le menu contextuel de la rubrique *CALCULATION CASE*.
***Nous choisissons comme limite le domaine**,
nous prenons le **mode manuel** (ce mode sera expliqué plus loin),
-nous sélectionnons les trois objets présents, pour les inclure dans le cas.
+nous sélectionnons les 3 objets naturels présents plus la digue optionnelle, pour les inclure dans le cas.
Il faut valider cette étape en appuyant sur le bouton *next*.
Ces groupes peuvent se révéler utiles par la suite pour définir des conditions aux limites, ou contrôler le maillage.
Le fait de les conserver permet de les retrouver sous leur nom dans les différentes étapes du calcul.
-Nous sélectionnons les trois groupes proposés, pour les garder dans le cas.
+Nous sélectionnons les groupes proposés, pour les garder dans le cas.
Il faut valider cette étape en appuyant sur le bouton *next*.
Le dialogue suivant permet d'affecter des coefficients de frottement à différentes zones du domaine,
à l'aide d'une table de coefficients de Strickler, et d'un découpage en zones `land cover map`.
Il faut avoir préalablement importé et/ou édité cette table de Strickler et ce `land cover map`.
-Nous sautons cette étape dans le cadre de notre étude simple. Cette étape est étudiée plus loin.
+Pour cet exemple, la `land cover map` est optionnelle. Pour l'introduire, on peut se référer au
+paragraphe *Land Cover Map* plus bas.
Il faut valider cette étape en appuyant sur le bouton *next*.
Choix du calcul de la Bathymetrie pour les zones de chevauchement
=================================================================
-L'étape suivante montre le résultat de la *partition* des différentes zones retenues dans le cas de calcul.
+L'étape suivante montre le résultat de la *partition* des différentes zones retenues dans le cas de calcul, sans la digue.
Les surfaces initiales ont été découpées selon les lignes de chevauchement.
Le panneau de droite montre autant de *régions* que de faces découpées : chaque région contient une face découpée ou *zone*.
.. |eficas_23| image:: /_static/eficas_23.png
:align: middle
+.. |salomeShell| image:: /_static/salomeShell.png
+ :align: middle
+
+.. |initialisationHauteurEau| image:: /_static/initialisationHauteurEau.png
+ :align: middle
+
+.. |choixCodeEficas| image:: /_static/choixCodeEficas.png
+ :align: middle
+
+.. |rechercheEficas| image:: /_static/rechercheEficas.png
+ :align: middle
+
Une fois le maillage généré avec l'altimétrie, il reste à définir la nature des zones de conditions limites,
les valeurs des conditions limites de débit et de hauteur d'eau au cours du temps, et l'ensemble des
paramètres physiques et numériques du calcul.
.. literalinclude:: init.lqd
:lines: 1-
+Ajout d'un champ initial dans le fichier MED
+============================================
+
+Afin d'initialiser le calcul, on peut utiliser le script suivant pour imposer une hauteur
+d'eau initiale ou une cote initiale dans les groupes de faces qui nous intéressent,
+en l'occurence, ici, dans le lit mineur.
+
+.. literalinclude:: add_field_h_on_group.py
+ :lines: 1-
+
+Il suffit de remplir :
+
+ * le nom du fichier MED,
+ * le nom du maillage (dans le module SMESH) à partir duquel il a été construit,
+ * les groupes de faces auxquels on souhaite ajouter une cote ou une hauteur d'eau initiale,
+ * le nom du champ ajouté (*WATER_DEPTH* ou *WATER ELEVATION*).
+
+Pour lancer le script :
+
+ * ouvrir un SALOME shell.
+
+ |salomeShell|
+
+ * se placer dans le répertoire où l'on a rangé le script *add_field_h_on_group.py*,
+
+ * exécuter le script : *python add_field_h_on_group.py*.
+
+Le champ *hauteur d'eau* est ajouté au fichier MED. Penser à enregistrer le fichier précédent
+(comprenant Z et Ks) sous un autre nom pour le conserver pour réutilisation en cas de besoin.
+
+ |initialisationHauteurEau|
+
Paramètres physiques et numériques du calcul
============================================
-Le fichier *init.cas* liste les autres fichiers, qui doivent être dans le même répertoire.
+Le fichier *CasGaronne.cas* liste les autres fichiers, qui doivent être dans le même répertoire.
Il donne ensuite les différents paramètres physico-numériques nécessaires au calcul.
De même que précédemment, il faut se reporter au manuel de Telemac pour la définition de ces paramètres.
-* **Remarque importante** : pour la version 1.0 de mars 2016, la présence d'un fichier Fortran est obligatoire,
- même si celui-ci ne comprend qu'une ligne de commentaire (il faut forcer la recompilation de l'éxécutable TELEMAC).
- Dans le fichier *init.cas*, Il faut enlever le commentaire devant le mot clé *FICHIER FORTRAN* et créer le fichier correspondant.
+Voici la version générée avec EFICAS (voir ci-dessous l'utilisation d'EFICAS)
+
+.. literalinclude:: CasGaronne.cas
+ :lines: 1-
+
+Et la version plus légère, ou seuls figurent les mots clefs différents de leur valeur par défaut.
-.. literalinclude:: init.cas
+.. literalinclude:: CasGaronne.Lcas
:lines: 1-
Edition du fichier cas avec EFICAS
|eficas_01|
-* **avec les icônes :** quand on active le module Hydrosolver, de nouveaux boutons apparaissent dans la barre d’outils.
+* **avec les icônes :** quand on active le module Hydrosolver, de nouveaux boutons apparaissent dans la barre d'outils.
Cliquer à droite sur Edit cas file
|eficas_02|
Cliquer sur New pour créer un fichier cas.
+
+Sélectionner le code souhaité : dans notre cas, *telemac2d*.
+
+ |choixCodeEficas|
|eficas_03|
Renseigner ce qui est rouge. Quand une sous-rubrique ou rubrique est complète elle passe au vert.
-Ce qui est en vert est rempli par défaut mais l’utilisateur a la main dessus.
+Ce qui est en vert est rempli par défaut mais l'utilisateur a la main dessus.
Penser à enregistrer régulièrement le cas créé. Pour cela, aller dans *File / Save* ou *Save as*,
-ou cliquer sur l’icône |eficas_04| le fichier sera enregistré en *.comm* ou *.jdc*.
+ou cliquer sur l'icône |eficas_04| le fichier sera enregistré en *.comm* ou *.jdc*.
+
+Les puces vertes sont de deux couleurs :
+
+ * Quand la valeur renseignée est la valeur par défaut, la puce est vert foncé.
+ * Quand la valeur renseignée est différente de la valeur par défaut, la puce est vert clair.
-Comment fonctionne EFICAS ?
+Comment fonctionne EFICAS ?
~~~~~~~~~~~~~~~~~~~~~~~~~~~
-Quand on se place dans l’interface centrale, au niveau de la rubrique, dans la partie de droite intitulée Settings *NOM DE RUBRIQUE*,
-apparaissent des mots clés facultatifs que l’on peut rajouter dans la sous-rubrique correspondante,
+**remarque** : Pour chercher où est rangé un mot clé, aller dans le menu *Edit / Find Keyword*.
+
+La fenêtre suivante donne l'emplacement du mot clé ainsi que la documentation associée.
+
+ |rechercheEficas|
+
+Quand on se place dans l'interface centrale, au niveau de la rubrique, dans la partie de droite intitulée Settings *NOM DE RUBRIQUE*,
+apparaissent des mots clés facultatifs que l'on peut rajouter dans la sous-rubrique correspondante,
en double cliquant sur le carré devant le mot clé.
-**Exemple :** je souhaite rajouter le mot clé *Control_section* dans *Output_Files*. Je double-clique dessus à droite :
+**Exemple :** je souhaite rajouter le mot clé *Control_section* dans *Output_Files*. Je double-clique dessus à droite :
|eficas_20|
-Il apparaît alors dans la sous-rubrique *Output_Files*. Si je me place dessus dans l’écran central,
-j’ai d’autres mots clés qui se présentent à moi dans la partie de droite sous le titre
+Il apparaît alors dans la sous-rubrique *Output_Files*. Si je me place dessus dans l'écran central,
+j'ai d'autres mots clés qui se présentent à moi dans la partie de droite sous le titre
*Control_Section* que je peux rajouter de la même manière.
|eficas_21|
-Il est également possible d’avoir l’aide du mot clé en direct. Pour cela, il suffit de se placer sur le mot clé et l’aide apparaît :
+Il est également possible d'avoir l'aide du mot clé en direct. Pour cela, il suffit de se placer sur le mot clé et l'aide apparaît :
|eficas_22|
-Si on clique sur le mot clé avec la souris l’aide apparaît en bas à gauche :
+Si on clique sur le mot clé avec la souris l'aide apparaît en bas à gauche :
|eficas_23|
**Rangement des paramètres par rubriques et sous-rubriques**
-Dans *Computation_Environment*, on retrouve par défaut :
+Dans *Computation_Environment*, on retrouve par défaut :
- * *Initialization* : concerne les fichiers de données d’entrée comme le fichier de géométrie et le fichier des conditions limites.
+ * *Initialization* : concerne les fichiers de données d'entrée comme le fichier de géométrie et le fichier des conditions limites.
Pour prendre en compte le titre, taper le nom souhaité et faites entrer.
- * *Restart* : pour repartir d’un calcul précédent
+ * *Restart* : pour repartir d'un calcul précédent
- * *Output_files* : concerne les fichiers résultats, le listing et leurs caractéristiques.
+ * *Output_files* : concerne les fichiers résultats, le listing et leurs caractéristiques.
Dans *Hydro*, on retrouve par défaut :
- * *Boundary_Conditions* : concerne les fichiers de condition limites
- (fichier des frontières liquides, fichier des courbes de tarage, cote ou débit imposé…)
+ * *Boundary_Conditions* : concerne les fichiers de condition limites
+ (fichier des frontières liquides, fichier des courbes de tarage, cote ou débit imposé...)
- * *Physical_Parameters_Hydro* : concerne le frottement. L’utilisateur peut rajouter ce qui concerne les vagues,
- la météorologie, les sources, la qualité d’eau…
+ * *Physical_Parameters_Hydro* : concerne le frottement. L'utilisateur peut rajouter ce qui concerne les vagues,
+ la météorologie, les sources, la qualité d'eau...
- * *Numerical_Parameters_Hydro* : concerne les équations utilisées, le traitement du système linéaire.
+ * *Numerical_Parameters_Hydro* : concerne les équations utilisées, le traitement du système linéaire.
-Dans General_Parameters, on retrouve par défaut :
+Dans General_Parameters, on retrouve par défaut :
- * *Debugger* : en mode debugger ou non
+ * *Debugger* : en mode debugger ou non
- * *Time* : concerne le pas de temps, durée de la simulation….
+ * *Time* : concerne le pas de temps, durée de la simulation...
- * *Location* : concerne l’origine des coordonnées…
+ * *Location* : concerne l'origine des coordonnées...
-Dans Numerical_Parameters, on retrouve par défaut :
+Dans Numerical_Parameters, on retrouve par défaut :
- * *Solver_Info* : concerne le solveur
+ * *Solver_Info* : concerne le solveur
- * *Discretizations_Implicitation* : concerne l’implicitation de la hauteur, de la vitesse, la discrétisation en espace…
+ * *Discretizations_Implicitation* : concerne l'implicitation de la hauteur, de la vitesse, la discrétisation en espace...
* *Propagation_Info*
- * *Advection_Info* : concerne le mass lumping, la compatibilité du gradient de surface libre…
+ * *Advection_Info* : concerne le mass lumping, la compatibilité du gradient de surface libre...
- * *Diffusion* : concerne la diffusion des vitesses, l’option pour la diffusion des vitesses…
+ * *Diffusion* : concerne la diffusion des vitesses, l'option pour la diffusion des vitesses...
* *Automatic_Differentiation*
- * *Advanced* : concerne le stockage de matrice, le produit vecteur-matrice…
+ * *Advanced* : concerne le stockage de matrice, le produit vecteur-matrice...
**Développement à venir**
-A terme, l’utilisateur pourra choisir parmi des « fichiers cas modèles » pré-remplis. On trouvera parmi ceux-ci :
+A terme, l'utilisateur pourra choisir parmi des "fichiers cas modèles" pré-remplis. On trouvera parmi ceux-ci :
* un fichier cas modèle inondation,
* un fichier cas modèle thermique.
.. only:: html
-
+
:ref:`ref_exempleInondation`
|zoneSubmersible|
+#########################################
+Création d'une digue (optionnel)
+#########################################
+
+La création de cette digue est optionnelle, le cas est exploitable sans.
+
+Pour créer l'objet *digue*, voir le paragraphe *Objets Artificiels* plus bas.
.. only:: html