2. Manuel utilisateur¶
2.1. Description générale¶
Le code THYRSIS (Transport HYdrogéologique Rapide Simulé en Insaturé et Saturé) permet la simulation, sur différents sites prédéfinis, de l’écoulement et du transport hydrogéologique, en milieux poreux non saturé et saturé, de substances radiologiques ou chimiques injectées en différentes zones.
Il se présente sous la forme d’un plugin du logiciel QGIS, de sorte qu’il intègre toutes les fonctionnalités de ce SIG (Système d’Information Géographique).
La modélisation repose sur une décomposition en colonnes 1D non saturées couplées à un modèle de nappe libre 2D horizontal. Le modèle d’écoulement de nappe libre horizontal peut être importé ou créé directement avec THYRSIS, qui inclut le mailleur GMSH [Geuzaine2009] et une procédure d’inversion [Renard2008], [Renard2016].
Les simulations 1D et 2D sont réalisées à l’aide d’un code extérieur d’écoulement et transport en milieu poreux. Le code actuellement utilisé est le code METIS (Modélisation des Écoulements et des Transports avec Interaction en milieu Saturé), développé à l’Ecole des Mines de Paris [Goblet1989], et permettant des « simulations d’écoulement et de transport miscible en milieu poreux et fracturé ». Il gère les zones non saturées et saturées. L’interfaçage d’autres codes est à l’étude.
THYRSIS peut prendre en compte plusieurs types d’injection (flux, concentration ou masse), et plusieurs zones d’injection, en surface ou en profondeur, ainsi qu’une injection diffuse sur tout le domaine modélisé. L’injection peut aussi être réalisée directement dans la nappe, sans prise en compte de la zone non saturée.
THYRSIS inclut le traitement des incertitudes par Hypercube Latin. En attribuant des lois de probabilités aux paramètres du modèle, l’utilisateur peut générer plusieurs simulations avec différents jeux de paramètres, et THYRSIS fournit les statistiques élémentaires : moyenne, écart-type et intervalles de confiance, ainsi que des cartes de probabilité de dépassement de seuil.
Le plugin permet une parallélisation des calculs par protocole MPI, aussi bien pour la simulation de plusieurs colonnes non saturées que pour les calculs d’incertitudes avec plusieurs jeux de paramètres.
La modélisation chimique est limitée à la prise en compte d’une limite de solubilité, permettant de définir le flux de soluté en surface, et d’un coefficient de rétention, ayant l’effet de ralentir le transport du soluté. Il n’est pas tenu compte de la spéciation du composé en solution, ni de sa complexation avec les matières organiques de type substances humiques, ni d’interactions complexes avec la matrice rocheuse.
Le plugin THYRSIS, associé au code METIS, permet également de simuler l’écoulement et le transport en « double milieu », selon la formulation de Gerke & Van Genuchten [Gerke1993].
THYRSIS est intégré à QGIS de sorte que l’utilisateur peut définir de manière interactive les zones d’injection et leurs caractéristiques et les paramètres des simulations, lancer les simulations et visualiser les résultats, soit directement en 2D dans la fenêtre standard de QGIS, soit en 3D dans une fenêtre ancrable spécifique, soit en 1D pour générer les bilans de masse et des courbes de résultats en fonction du temps, avec comparaison à des mesures éventuelles. Une autre fenêtre ancrable est dédiée à la représentation des colonnes verticales de la zone non saturée.
Le plugin s’appuie sur des bases de données Spatialite, qui stockent ausi bien les caractéristiques des modèles hydrogéologiques des différents sites étudiés que les paramètres de simulation.
2.2. Modélisation¶
La modélisation de l’écoulement et du transport hydrogéologique qui sous-tend le code THYRSIS, est le couplage d’un modèle d’écoulement et transport verticaux en zone non saturée et d’un modèle d’écoulement et transport horizontaux en zone saturée, eux-mêmes fondés sur un champ d’écoulement en régime permanent, construit indépendamment, pour chaque site étudié.
Ce champ d’écoulement peut être importé dans THYRSIS à partir de calculs réalisés indépendamment, ou bien élaboré à l’aide du plugin, en créant un maillage 2D avec le mailleur GMSH [Geuzaine2009] et en déterminant les différentes grandeurs caractéristiques de l’écoulement avec la procédure d’inversion HYNVERSE [Renard2008], [Renard2016].
2.2.1. Écoulement de la nappe en régime permanent¶
L’écoulement de la nappe en régime permanent doit être préalablement défini, car il est utilisé pour les calculs d’écoulement transitoire et de transport en zone saturée, mais aussi pour construire les simulations d’écoulement et transport verticaux en zone non saturée, notamment pour déterminer, en chaque zone d’injection :
l’épaisseur de zone non saturée,
la perméabilité à saturation,
Il s’agit d’un calcul 2D prenant en compte une épaisseur de nappe variable. Les paramètres du modèle d’écoulement sont :
l’infiltration, constante en régime permanent, mais pas nécessairement homogène,
l’épaisseur de nappe, variable sur tout le domaine modélisé,
le champ de perméabilité.
Les sorties du calcul sont :
le champ de potentiel, ou champ piézométrique, i.e. l’altitude du toit de la nappe dans le cas d’une nappe libre.
le champ des vitesses de Darcy.
En outre, c’est le même maillage qui est utilisé pour l’écoulement et le transport en zone saturée.
Toutes ces informations sont stockées dans des bases de données Spatialite.
L’élaboration du modèle d’écoulement de la nappe en régime permanent est une phase longue et complexe de la modélisation hydrogéologique. Le modèle est construit en exploitant un grand nombre de données concernant la géologie (extension verticale de l’aquifère, par détermination du son niveau imperméable), la topographie, la météorologie (détermination de l’infiltration) et l’hydrogéologie. Ces données sont obtenues par étude bibliographique et analyse des forages réalisés sur le site et aux environs, le domaine à modéliser s’étendant souvent bien au delà des limites du site étudié. La détermination du champ de perméabilité est particulièrement difficile, et repose le plus souvent sur des techniques d’inversion, alliant géostatistique et optimisation (code HYNVERSE [Renard2008], [Renard2016]).
2.2.2. Écoulement de la nappe en régime transitoire¶
Le modèle d’écoulement de la nappe en régime transitoire est fondé sur le modèle élaboré en régime permanent, en y ajoutant une valeur d’emmagasinement, égale à la porosité efficace dans le cas d’une nappe libre.
Une simulation d’écoulement en régime transitoire requiert la connaissance de la variation de l’infiltration dans le temps, qui est fournie sous forme d’un fichier externe, selon une syntaxe adaptée au code d’hydrogéologie (cf. Fichiers METIS).
2.2.3. Écoulement et transport en zone non saturée¶
La modélisation de la zone non saturée est fondée sur la construction de colonnes verticales 1D. Le nombre de colonnes est égal au nombre de zones d’injection, et leur épaisseur s’obtient par différence entre la topographie et la piézométrie en régime permanent.
L’écoulement est régi par l’équation de Richards, associée à la formulation de Van Genuchten [Genuchten1980], dans sa version modifiée par [Ippisch2006] :
où :
: potentiel de pression (L)
: pression d’entrée (L)
: perméabilité (
)
: perméabilité à saturation (
)
: teneur en eau réduite, ou saturation effective
: teneur en eau
: teneur en eau résiduelle
: teneur en eau à saturation
et
(
) sont des paramètres d’ajustement du modèle.
Notons qu’il y a correspondance biunivoque entre la teneur en eau et la saturation (ou degré de saturation)
via la porosité
:
.
Lorsque , on a
et on retrouve la formulation de Van Genuchten originale.
2.2.3.1. Maillage des colonnes ZNS¶
Les colonnes sont décomposées en mailles d’épaisseur centimétrique, afin d’une part de garantir la stabilité numérique au niveau de l’injection, même avec de faibles valeurs de dispersivité, et d’autre part de garantir des bilans de masse exacts.
Plus précisément, l’épaisseur de la première maille, en haut de la colonne, est fixée à :
où désigne l’épaisseur de la colonne insaturée, exprimée en cm.
Cette épaisseur de la première maille est donc le plus souvent égale à 1 cm, sauf pour des épaisseurs de colonne inférieures à 1 m. Ensuite, afin d’accélérer les calculs, les épaisseurs de maille augmentent en progression géométrique jusqu’au milieu de la colonne, puis diminuent symétriquement pour atteindre en bas de colonne une valeur égale à celle du haut de colonne. La progression géométrique est déduite du rapport entre l’épaisseur de la maille au milieu de la colonne et celle de la première maille, rapport qui est paramétrable par l’utilisateur, et égal par défaut à 5 (coef_maillage de la table simulations).
2.2.3.2. Paramètres ZNS¶
A la différence de la zone saturée, l’écoulement et le transport en zone non saturée sont traités en une même simulation, qui débute par un calcul d’écoulement en régime permanent, suivi d’un calcul de transport (et d’écoulement le cas échéant) en régime transitoire.
Les paramètres du modèle de migration en zone non saturée sont :
la porosité cinématique
(de fracture et/ou de matrice, selon le site étudié),
la porosité totale
,
la masse volumique
du composé,
les coefficients
et n de van Genuchten,
les saturations résiduelle et maximale,
la dispersivité longitudinale (la dispersivité transverse n’existe pas en 1D),
le coefficient de rétention du composé
,
la limite de solubilité du composé
(cf. Injection en masse).
Parmi ces paramètres, la porosité totale et la masse volumique sont utilisées pour calculer le coefficient de retard R intervenant dans l’équation de transport, selon la formule :
De même qu’en zone saturée, la simulation en zone non saturée d’une infiltration transitoire requiert la connaissance de la variation de l’infiltration dans le temps, qui est fournie sous forme d’un fichier externe, selon une syntaxe adaptée au code d’hydrogéologie (cf. annexe Fichiers METIS).
2.2.3.3. Dépôt réparti sur tout le domaine¶
Il est possible de prendre en compte un dépôt réparti sur tout le domaine modélisé, soit en simulant autant de colonnes verticales insaturées qu’il y a de noeuds du maillage, ce que permet la parallélisation du plugin, soit en simulant des groupes de colonnes insaturées d’épaisseur et de perméabilité voisines, de manière à réduire le nombre de simulations. Dans ce cas, deux paramètres doivent être renseignés (table simulations) :
pas_echant_zns désigne le pas d’échantillonnage des colonnes. Il définit la taille des colonnes d’un même groupe. Ainsi, un pas de 5 m définit des groupes de colonnes de taille [0,5], [5,10], [10,15], etc. Le nombre de groupes est d’autant plus réduit que le pas est élevé.
rapport_max_permeabilite désigne le rapport maximal de perméabilité qui peut exister entre les perméabilités (à saturation) de deux colonnes d’un même groupe.
2.2.4. Transport en zone saturée¶
Le transport en zone saturée est fondé sur le modèle d’écoulement en régime permanent ou transitoire.
La condition d’injection dans la nappe est :
soit un flux, une concentration ou une masse, définis explicitement, via l’interface graphique, si la migration en zone non saturée ne doit pas être modélisée (cf. injection),
soit un flux, défini implicitement à partir des flux de composé calculés au pied des colonnes non saturées. Dans ce cas, le flux est injecté aux noeuds du maillage correspondant aux différentes zones d’injection, de manière à couvrir la surface d’injection.
Les paramètres du modèle de transport en zone saturée sont :
la porosité (de fracture et/ou de matrice, selon le site étudié),
les dispersivités longitudinale et transverse,
le coefficient de rétention du composé.
Dans le cas d’un régime transitoire d’écoulement, le calcul est réalisé en utilisant le code METIS avec l’option “ phreatique ”, et le coefficient d’emmagasinement est égal à la porosité (efficace).
2.2.5. Caractéristiques de l’injection¶
L’injection d’un composé est définie par les caractéristiques suivantes :
coordonnées (x, y) du centre de la zone d’injection,
profondeur,
surface S concernée par l’injection,
flux F, exprimé en kg/s ou Bq/s,
durée de l’injection
.
Par commodité, l’injection peut également être définie en terme de concentration ou de masse, comme indiqué ci-après. Une fuite, caractérisée par un volume d’eau, peut aussi être modélisée.
2.2.5.1. Injection en concentration¶
Dans le cas d’une injection définie par une concentration C, le flux s’obtient par :
où I désigne le flux d’infiltration d’eau de pluie, défini avec le modèle d’écoulement de la nappe en régime permanent.
2.2.5.2. Injection en masse¶
Dans le cas d’une injection définie par une masse M, le flux injecté et la durée d’injection sont calculés à partir de la connaissance de la limite de solubilité du composé injecté :
2.2.5.3. Fuite¶
Il est possible d’accompagner l’injection de matière par une injection d’eau en précisant le volume d’eau injecté, le flux
ou la concentration
, et la durée
. Dans ce cas, la vitesse d’injection
est calculée :
Cette vitesse ne peut être supérieure à la perméabilité à saturation . Si tel est le cas, ou plus exactement si :
alors la durée d’injection est modifiée par :
et un message est émis signalant qu’il est conseillé d’augmenter la surface d’injection en prenant :
Si la concentration est fournie, le flux s’en déduit par :
Le tableau ci-dessous synthétise les différents calculs de flux, selon les données disponibles :
Données |
||
|
||
|
||
Pas de calcul |
2.2.6. Analyses d’incertitudes¶
THYRSIS offre la possibilité de faire varier l’ensemble des paramètres de l’écoulement et du transport en zones non saturée et saturée, selon des lois de probabilités standard (uniforme, log-uniforme, normale, log-normale), de manière à estimer des intervalles de confiance sur les concentrations aux points de calcul, ou des cartes de probabilité de dépassement de seuil.
Il suffit pour cela de préciser un nombre de simulations à réaliser (supérieur à 1) et d’indiquer les lois de probabilité à utiliser pour chaque paramètre, ainsi que leurs valeurs minimale et maximale. Un jeu de paramètres est alors généré par Hypercube Latin, et THYRSIS réalise les simulations demandées (réparties sur le nombre de processeurs spécifié dans les Préférences), et agrège les résultats (moyenne, écart-type).
Les représentations graphiques tiennent compte de ces simulations en traçant les intervalles de confiance ou les cartes de probabilité.
2.2.7. Double milieu¶
Le plugin THYRSIS implémente, via le code METIS, le modèle d’écoulement double milieu de Gerke & Van Genuchten [Gerke1993]. Celui-ci est fondé sur l’hypothèse que l’équation de Richards s’applique à la fois au milieu matriciel et au milieu fracturé. Pour un système vertical mono-dimensionnel, les équations d’écoulement dans un volume élémentaire représentatif s’écrivent, pour chacun des milieux, fracture (f) et matrice (m) respectivement :
où :
et :
et
(
) : perméabilités de fracture et de matrice,
et
(L) : potentiel hydraulique dans la fracture et la matrice,
(
) : terme d’échange décrivant le transfert d’eau entre la fracture et la matrice,
et
(
) : termes source dans la fracture et la matrice,
: fraction volumétrique de fracture dans le système total,
et
(
) : capacités spécifiques de l’eau dans la fracture et la matrice,
: degré de saturation en eau,
(
) : coefficient d’emmagasinement spécifique dans la fracture et la matrice,
et
: porosité de la fracture et de la matrice,
(
) : perméabilité de transition entre la fracture et la matrice,
(L) : demi-distance moyenne entre les fracture,
: facteur de structure représentant la géométrie du milieu fracturé (beta=3 dans le cas d’un ensemble de fractures orthogonales régulièrement espacées),
: facteur empirique égal à 0,4.
2.3. Installation¶
2.3.1. Installation¶
2.3.1.1. Sur Windows¶
Pour installer THYRSIS sur Windows, utiliser l’installeur OSGeo4W. Lancer l’exécutable et choisir l’installation avancée.

Suivre les instruction jusqu’à ce que l’installeur demande à sélectionner un site miroir pour télécharger les paquets et ajouter le lien suivant :
Et sélectionner le dépôt avant de cliquer sur suivant.

Chercher thyrsis parmi les paquets disponibles, et cliquer sur Skip pour activer l’installation de THYRSIS (la version du paquet s’affiche).

Cliquer ensuite sur Suivant pour lancer l’installation.
2.3.1.2. Sur Linux¶
Debian et distributions apparentées
Cloner le dépôt git de THYRSIS dans un dossier :
git clone https://link_to_the_repository
THYRSIS utilise python3 (déjà installé avec QGIS ) et d’autres dépendances sont requises.
Note
Installer de préférence les paquets issus de votre distribution plutôt que les paquets pip. Les paquets des distributions se révèlent souvent plus stable que leurs homologues issus de pip
Un fichier Makefile est fourni pour installer THYRSIS et ses dépendances. Veuillez utiliser la commande suivante :
Si vous avez déjà installé les dépendances, vous pouvez installer THYRSIS en utilisant :
ou directement en utilisant le module thyrsis.package
pour configurer l’installation :
python -m thyrsis.package -d <optional: no documentation> --loc <optional: locale to use for documentation en/fr> -i <optional: path to your QGIS user plugin directory, default: ~/.local/share/QGIS/QGIS3/profiles/default/python/plugin>
Utiliser l’option -d
pour installer THYRSIS sans la documentation associée (disponible en ligne).
L’extension THYRSIS nécessite d’être activé dans le menu des extensions QGIS (Extensions > Gérer et installer des extensions…). Durant le premier lancement de QGIS, un dossier .thyrsis
sera créé dans votre $HOME
directory.
CentOs et distributions apparentés
Comme pour les systèmes apparentés à Debian, vous pouvez utiliser le fichier Makefile.
Note
Selon votre version de CentOs, les noms des paquets peuvent varier. Pour plus de détails, voir le fichier yum_requirements.txt
Sur certaines distribution (CentOS 6 par exemple), il n’est pas possible d’accéder aux dossiers cachés via l’explorateur de fichier QGIS. Pour éviter ce problème, nous recommandons de créer un lien symbolique dans un dossier accessible. Par exemple :
ln -s .local/share/QGIS/QGIS3/profiles/default/python/plugins/thyrsis ~/
2.3.2. Logiciel de simulations¶
Au moins un des logiciels de simulations est requis pour l’utilisation du plugin. Ces exécutables sont utilisés pour simuler l’écoulement et le transport hydrogéologique.
Le logiciel METIS sera bientôt disponible avec THYRSIS ( installé avec le Makefile ou par l’OSGeo4w) et sera ajouté au $PATH.
OPENFOAM peut être utilisé au sein de THYRSIS. Il suffit de s’assurer que l’exécutable groundwterFoam est accessible dans le $PATH
Vous pouvez choisir le logiciel de simulation en utilisant le panneau Préférences dans QGIS.
2.3.3. Installation¶
Pour fonctionner, le plugin s’appuie sur un certain nombre de bases de données Spatialite et au moins un code d’hydrogéologie, qui doivent être organisés comme suit au sein du dossier .thyrsis situé au niveau de votre dossier utilisateur :
une base de données Spatialite sites.sqlite, contenant les caractéristiques des sites modélisés, les données mesurées sur ces sites, ainsi que les paramètres des simulations sauvegardées.
- un répertoire mesh des modèles hydrogéologiques, contenant les bases de données Spatialite associées à chaque modèle hydrogéologique, et dénommées :
SITE_MODELE_ETUDE.mesh.sqlite, où :
SITE désigne le nom du site - référencé dans la base sites.sqlite,
MODELE désigne le nom du modèle - un modèle étant la combinaison d’un maillage et de champs ou paramètres hydrogéologiques,
ETUDE désigne le nom d’une étude spécifique, associée au modèle considéré.
un répertoire lin64 contenant les exécutables linux 64 bits des codes d’hydrogéologie.
un répertoire win32 contenant les exécutables windows 32 bits des codes d’hydrogéologie ainsi que les fichiers .dll associés.
L’installation du plugin THYRSIS ajoute un menu « Thyrsis » dans la barre de menu de QGIS, qui donne accès aux diverses fonctionnalités du plugin. Ces fonctionnalités sont présentées au chapitre Interface, en commençant par le menu « Préférences », qui permet de définir un certain nombre de paramètres de configuration.
2.4. Interface¶
2.4.1. Préférences¶
Le menu Préférences permet d’accéder aux choix généraux de configuration sauvegardés :
dans le fichier
.thyrsis.ini
du répertoire de projet - celui de la base de données de calcul,dans le fichier
thyrsis.ini
du répertoire$HOME/.thyrsis
.
À la première utilisation du plugin, et en l’absence de ces deux fichiers, la fenêtre de préférences d’installation s’ouvre automatiquement et n’est validée que lorsque le répertoire d’installation du plugin est renseigné (cf. infra).
Lorsqu’un projet est ouvert à nouveau, ce sont les données du fichier .thyrsis.ini
du répertoire de la base de données qui sont prises en compte. Cela permet de définir des préférences pour chaque projet.
2.4.1.1. Installation¶

Figure 2.4.1 : Menu Préférences, fenêtre Installation¶
Les préférences d’installation permettent de définir les emplacements des principaux fichiers et répertoires nécessaires au fonctionnement du plugin, à savoir :
le répertoire contenant les fichiers .vrt des fonds de carte d’intérêt général,
le fichier de configuration MPI, indiquant les ordinateurs à utiliser et le nombre de processeurs pour chacun d’eux, sous la forme :
tata:8 titi:8 toto:4
En outre, il est possible de préciser le nombre de processeurs à utiliser pour des calculs parallélisés et le nombre maximal de colonnes verticales 1D à afficher.
Enfin, deux cases à cocher permettent de préciser :
si les informations d’exécution sont à afficher dans la console,
et si une impression détaillée est souhaitée.
2.4.1.2. Variables¶

Figure 2.4.2 : Menu Préférences, fenêtre Variables¶
Les préférences de variables permettent de spécifier les grandeurs à évaluer et stocker, parmi :
Potentiel,
Vitesse de Darcy,
Concentration,
Activité,
Saturation,
et de configurer l’affichage de ces grandeurs en définissant :
l’unité,
l’échelle,
le nombre de classes.
L’échelle définit le rapport de la valeur minimale à afficher, à la valeur maximale de la grandeur considérée, telle qu’obtenue par la simulation numérique. Cette échelle est de 0.001 par défaut, mais une valeur inférieure permet de mieux visualiser l’extension d’un panache.
Le nombre de classes définit le nombre de codes de couleur à utiliser pour l’échantillonnage de la grandeur considérée.
Cette fenêtre de préférences permet également de définir l’unité d’affichage du bilan de masse et une case à cocher permet de masquer les unités, pour des besoins de communication.
2.4.1.3. Animation¶

Figure 2.4.3 : Menu Préférences, fenêtre Animation¶
Cette fenêtre permet seulement de définir le nombre d’images par secondes, utilisé dans la construction d’une vidéo.
2.4.4. Fenêtres¶
2.4.4.1. Fenêtre 2D¶

Figure 2.4.19 : Exemple de fenêtre 2D, avec affichage de résultats de simulation¶
La fenêtre 2D est la fenêtre centrale de QGIS. En interaction avec la fenêtre « Couches », elle permet de représenter en 2D, sur des fonds cartographiques variés, les grandeurs caractéristiques du modèle hydrogéologique :
noeuds du maillage,
maillage,
points d’intérêt,
forages,
contours,
potentiel (niveau piézométrique),
perméabilité,
altitude NGF (MNT),
altitude du mur de l’aquifère,
vitesse_darcy_norme,
épaisseur de la zone non saturée,
épaisseur de la nappe en régime permanent,
potentiel de référence, qui est un champ de potentiel obtenu par interpolation de données piézométriques, et qui a pu servir pour l’élaboration du modèle hydrogéologique, par inversion.
Les zones d’injection, définies dans l” Onglet Thyrsis, s’affichent dans la fenêtre 2D.
À l’issue d’un calcul, les résultats s’affichent également, la date d’affichage et la variable à afficher étant contrôlées par la Barre de menu.
2.4.4.2. Onglet THYRSIS¶

Figure 2.4.20 : Exemple de fenêtre Thyrsis, permettant de spécifier et caractériser les zones d’injection¶
L’onglet THYRSIS permet de spécifier et caractériser les zones d’injection.
Les premières grandeurs à renseigner sont :
le nom de la simulation,
l’élément chimique à considérer, accessible par un menu déroulant,
le coefficient de rétention (ou de partage) et, dans le cas d’une injection de masse, la limite de solubilité,
la date de début de la simulation, au format JJ/MM/AAAA [hh:mm:ss],
un ensemble de couples (durée, pas de temps), définissant les dates de sortie des résultats.
Puis le type d’injection est à sélectionner en cliquant sur le bouton adapté :
flux (Thyrsis_Flux) ,
concentration,
masse.

Figure 2.4.21 : Exemple de fenêtre THYRSIS, permettant de définir un flux sur une zone d’injection¶
Selon le bouton sélectionné, les champs à renseigner diffèrent, comme indiqué à la section injection. Un volume d’eau non nul correspond à une fuite et induit une simulation d’écoulement en régime transitoire.
Il est possible d’ajouter autant d’injections que souhaité en appuyant à nouveau sur le bouton sélectionné, mais il n’est pas possible de mélanger plusieurs types d’injection au sein d’une même simulation.
Les coordonnées du centre de la zone d’injection peuvent être entrée manuellement ou en cliquant sur ◎ et en désignant le point avec la souris.
De même, la surface peut être définie manuellement dans le champ Surface, ou calculée automatiquement en cliquant sur et en dessinant la zone concernée directement dans la fenêtre 2D.
En bas de l’onglet THYRSIS, trois boutons permettent d’annuler ou d’enregistrer les modifications, et de lancer les calculs :
Le bouton « Annuler » permet d’annuler les modifications en cours et de recharger les informations telles qu’elles sont enregistrées dans la base de calcul.
Le bouton « Enregistrer » permet de sauvegarder les modifications des injections (données et géométries) dans la base de calcul.
Remarque : Une fois les injections renseignées, il est important de cliquer sur le bouton « Enregistrer » avant de lancer les calculs en cliquant sur le bouton .
2.4.4.3. Forage¶

Figure 2.4.22 : Exemple de log stratigraphique s’affichant dans la fenêtre de forage¶
Lorque les informations de stratigraphie et de lithologie sont renseignées dans la base sites.sqlite, le log stratigraphique peut être affiché dans la fenêtre Forage, en cliquant sur le bouton de la barre de menu, et en sélectionnant directement dans la fenêtre 2D le forage d’intérêt. Si le taux de fracturation est connu, celui est representé en correspondance du log stratigraphique.
Cette représentation graphique est fondée sur différentes codifications présentées en annexe Logs stratigraphiques :
la codification de l’échelle des temps géologiques du BRGM,
le code colorimétrique RGB de la Commission Mondiale des Cartes Géologiques (CGMW),
la codification USGS des figurés.
2.4.4.4. Fenêtre 3D¶

Figure 2.4.23 : Exemple de fenêtre 3D¶
La fenêtre 3D permet une représentation en trois dimensions des trois niveaux suivants :
mur de l’aquifère (ou base imperméable),
potentiel (ou niveau piézométrique),
altitude topographique (MNT).
Si des résultats de simulation sont disponibles, ils s’affichent sur la couche potentiel, avec le code de couleur défini en 2D.
Cette fenêtre est contrôlée via les options de la fenêtre « Paramètres 3D » :
le curseur permet d’ajuster l’échelle verticale,
- des cases à cocher permettent d’afficher ou non :
la texture,
contours,
forages,
les points de calcul.
La couleur du terrain (MNT) et des contours peut être modifiée.
2.4.4.5. Zone non saturée (ZNS)¶

Figure 2.4.24 : Exemple de résultats s’affichant dans la fenêtre dédiée à la zone non saturée¶
La fenêtre ZNS offre une représentation de l’évolution temporelle des variables simulées, dans les colonnes de zone non saturée modélisées.
Ces variables et leurs unités doivent être sélectionnées dans les menus déroulants de la barre de menu de la fenêtre.
Quelques options sont proposées, relatives à la légende :
Mise à jour automatique de la légende : la légende s’adapte aux valeurs selon la date courante. Sinon, la légende est calculée sur l’ensemble des dates simulées.
Légende : cette action ouvre une fenêtre permettant de personnaliser la légende,
Position légende : permet de positionner la légende à gauche, à droite ou sous les colonnes.
2.4.4.6. Fenêtre 1D¶
Les courbes d’évolution temporelle s’obtiennent à l’aide des boutons et
de la Barre de menu, et sont tracées dans une fenêtre ancrable :
le bouton
trace l’évolution temporelle du bilan de masse (s’il existe).
le bouton
trace l’évolution temporelle de la variable sélectionnée dans le menu déroulant de la Barre de menu, pour les points sélectionnés à l’aide de la souris dans la fenêtre 2D de QGIS.

Figure 2.4.25 : Exemple de représentation 1D de l’évolution temporelle du bilan de masse¶

Figure 2.4.26 : Exemple de représentation 1D de l’évolution temporelle du potentiel, avec affichage des points de mesure¶
2.5. Maillage¶
2.5.1. Principe¶
La création d’un maillage est fondée sur l’utilisation du logiciel GMSH [Geuzaine2009]. Elle consiste à définir les contours du domaine et des sous-domaines à modéliser, en indiquant pour chacun la taille caractéristique de la maille. Il est possible de spécifier des lignes et des points fixes, i.e. des éléments à intégrer dans le maillage.
Pour chaque élément de contour, il est possible de préciser s’il constitue une limite à potentiel imposé, de manière à identifier les noeuds du maillage correspondant à ces conditions aux limites. Par défaut, la valeur de potentiel imposé est prise égale à la valeur de l’altitude topographique (MNT), ce qui correspond à des affleurements ou des rivières.
La construction d’un maillage nécessite les deux couches raster :
MNT, modèle numérique de terrain,
MUR, altitude du mur de l’aquifère, ou base imperméable.
Une fois le maillage réalisé, il est nécessaire de renseigner les différents champs des tables noeuds et mailles afin de définir un modèle hydrogéologique. Cela peut être fait manuellement ou par la procédure d’inversion décrite au chapitre suivant.
2.5.2. Mise en oeuvre¶
2.5.2.1. Création d’un nouveau projet de maillage¶
Le projet maillage sera créé selon la projection géographique courante, visible dans le coin inférieur droit de l’interface QGIS :

Veuillez définir la projection souhaité avant la création du projet.
Pour créer un nouveau maillage, utiliser le menu Thyrsis->Nouveau->Maillage…

Figure 2.5.1 : Création d’un nouveau maillage¶
Puis entrer le nom du projet maillage, e.g. SACLAY_TEST. Le nom du fichier doit:
commencer par le nom du site (⚠ Attention à la casse),
être suivi d’un complément de nom commençant par _ et désignant le nouveau modèle.
Une base de données Spatialite SACLAY_TEST.mesh.sqlite est créée, associée à un projet SACLAY_TEST.mesh.qgs, qui est ouvert dans QGIS.

Figure 2.5.2 : Projet maillage nouvellement créé¶
2.5.2.2. Définition des couches MNT et MUR¶
Ouvrir les couches raster (fichiers tif) servant à la construction. Il est impératif de disposer d’une couche MNT et d’une couche MUR, de préférences sous la forme de fichiers mnt.tif et mur.tif respectivement.
Il est possible d’utiliser le script python xyz_to_tif pour transformer un fichier file.xyz au format (x,y,z) en un fichier file.tif au format tif :
python -m thyrsis.utilities.xyz_to_tif file.xyz
Ajouter autant de couches vecteur et raster utiles à la définition du maillage (e.g. orthophoto, bâti, contour du site).

Figure 2.5.3 : Ouverture des couches raster MNT et MUR.¶
Zoomer sur l’emprise d’une des couches raster.

Figure 2.5.4 : Couche MNT ouverte dans QGIS, après zoom sur la couche.¶
2.5.2.3. Création des éléments de contour¶

Figure 2.5.5 : Ajout d’une couche contour contenant les contours du site et du domaine à mailler (s’ils existent).¶
Sélectionner la couche contours et configurer l’accrochage aux sommets dans le menu Préférences de QGIS.

Figure 2.5.6 : Sélection du menu des options d’accrochage¶

Figure 2.5.7 : Menu des options d’accrochage. Accrochage aux sommets avec un précision de 10 pixels. L’édition topologique permet le déplacement simultané de tous les noeuds situés au même endroit.¶
Passer la couche contours en mode édition, puis ajouter des contours, soit par numérisation directe, soit par copie de contours existants :
Des contours existants peuvent être copiés dans la couche contours par simple « copier-coller »,
Des morceaux de contour peuvent être définis en sélectionnant un contour et en le coupant avec l’outil « Éditer > Séparer les entités »,
Des morceaux de contour peuvent être fusionnés en les sélectionnant et en utilisant l’outil « Éditer > Fusionner les entités sélectionnées ».
Il est impératif de définir une longeur d’élement sur chaque élément du contour, en ouvrant la table d’attribut de la couche contours. Si l’élément est à potentiel imposé, spécifier la valeur 1. Dans ce cas, le potentiel sera déduit de la couche MNT.
Lorsque tous les éléments du contour sont définis, sortir du mode édition et enregistrer les modifications.

Figure 2.5.8 : Spécifier pour chaque élément du contour, sa longueur (en mètres) et s’il s’agit d’un élément à potentiel imposé (=1).¶
Après enregistrement des modifications, les couches domaines et extremites sont automatiquement mise à jour. Elles permettent de vérifier la cohérence topologique du réseau de contour.

Figure 2.5.9 : Surface après l’enregistrement d’un ensemble de contours définissant un domaine fermé.¶
Remarques :
Une extrémité au milieu d’un contour est souvent liée à un accrochage mal configuré,
QGIS ne permet pas l’accrochage d’une entité sur elle même lors de la création de l’entité. Pour définir un contour fermé d’un seul tenant, créer un contour presque fermé, renseigner la longueur élémentaire puis utiliser l’outil de noeud pour déplacer le dernier point sur le premier (avec accrochage),
Les contours ouverts à l’intérieur d’un domaine sont acceptés et considérés comme des lignes fixes du maillage.
2.5.2.4. Définition des points fixes¶
Il est aussi possible de spécifier des points fixes qui seront des noeuds du maillage. Le maillage au voisinage des points fixes est spécifié par l’attribut longueur_element. Les points fixes peuvent être copiés d’une autre couche par copier-coller.
⚠ Attention: la longeur des éléments est requise pour tous les points fixes.

Figure 2.5.10 : Ajout de points fixes.¶
2.5.2.5. Génération du maillage¶
Une fois les domaines et les points fixes définis, cliquer sur l’icône pour générer le maillage. Dans la fenêtre de dialogue, choisir les couches correspondant au terrain et au mur, par défaut les couches raster mnt et mur. Si elle est disponible, spécifier la couche potentiel. THYRSIS va générer plusieurs couches :
maillage, avec les triangles correspondant au maillage,
noeuds, avec les noeuds du maillage,
altitude, couche donnant l’altitude aux noeuds du maillage, selon la couche mnt,
altitude_mur, couche donnant l’altitude du mur aux noeuds du maillage, selon la couche mur.
potentiel_reference, donnant la valeur du potentiel au noeuds du maillage, si la couche potentiel a été spécifiée.

Figure 2.5.11 : Fenêtre de dialogue pour la construction du maillage, avec sélection des couches mnt, mur et potentiel.¶

Figure 2.5.12 : Maillage final avec transparence.¶
2.6. Inversion¶
2.6.1. Principe¶
Le principe de l’inversion est de déterminer un champ de perméabilité tel qu’un calcul d’écoulement restitue les données piézométriques fournies en entrée de la procédure.
Ces données piézométriques peuvent être :
des valeurs fournies en des points donnés, dénommés « points pilotes »,
des valeurs fournies sur l’ensemble du domaine, au travers d’une carte piézométrique, dénommée « potentiel de référence ». Cette carte est généralement obtenue par des méthodes géostatistiques à partir de mesures ponctuelles.
La procédure d’inversion intégrée dans le plugin est limitée au régime permanent (i.e. infiltration constante) et fondée sur la méthode des points pilotes [Renard2008], [Renard2016].
Le principe est d’ajuster les perméabilités de plusieurs « zones pilotes », par un processus itératif visant à minimiser un critère d’erreur mesurant l’écart des valeurs piézométriques calculées à celles mesurées :
où :
désigne le nombre total de points pilotes,
désigne le niveau piézométrique calculé au point
à l’itération
,
désigne le niveau piézométrique mesuré au point
.
À chaque itération, les perméabilités de chaque zone pilote sont ajustées de la manière suivante :
où :
où :
est compris strictement entre 0 et 1,
désigne la perméabilité de la zone
à l’itération
,
désigne le nombre de points pilotes de la zone
.
désigne la valeur maximale des
à l’itération
.
Le paramètre est initialisé à 0.5, valeur qui semble un bon compromis entre la précision et la vitesse de convergence. Lorsque l’erreur augmente dans une proportion trop importante, ce paramètre
est diminué d’un facteur deux et une nouvelle itération reprend à partir de l’avant dernière itération.
Pour chaque zone de perméabilité, la perméabilité est contrainte par des valeurs minimale et maximale :
Le processus itératif est stoppé dans plusieurs cas :
lorsque le nombre maximal d’itérations est atteint,
lorsque l’erreur devient inférieure à une valeur limite
:
,
lorsque le paramètre
devient inférieur à une valeur minimale :
,
lorsque le nombre de tentatives de diminution du paramètre
atteint une valeur maximale.
2.6.2. Mise en oeuvre¶
L’inversion est déclenchée en cliquant sur le bouton .
Commencer par spécifier les points pilotes dans la couche points_pilote, en indiquant obligatoirement leur zone d’appartenance et le niveau piézométrique mesuré (altitude_piezo_mesuree). Les zones doivent être numérotées à partir de 1 et sans trou. Plusieurs points pilotes peuvent appartenir à une même zone.
Il est possible d’importer des fichiers texte (menu QGIS « Couche > Ajouter une couche > Ajouter une couche de texte délimité ») et de procéder par copier-coller entre la couche importée et la couche points_pilote. Afin de faciliter le copier-coller, il est conseillé de nommer les colonnes du fichier importé selon les noms utilisés dans la table points_pilote (nom, zone, altitude_piezo_mesuree).

Figure 2.6.1 : Spécification des points pilotes¶
Puis spécifier les valeurs des différents paramètres de la table hynverse_parametres :
infiltration : valeur de l’infiltration moyenne annuelle en m/s. Si l’infiltration est hétérogène, indiquer une valeur nulle et fournir un fichier
u_infiltration.sat
donnant la valeur d’infiltration en chacun des noeuds.icalc : type de calcul (3 par défaut),
niter : nombre d’itérations (20 par défaut),
errlim : valeur objectif du critère d’erreur : le calcul s’interrompt lorsque l’erreur est inférieure à errlim (0.1 m par défaut),
alfmin : valeur minimale du paramètre
: le calcul s’interrompt lorsque
devient inférieur à alfmin (
par défaut),
alfa : valeur initiale du paramètre
(0,5 par défaut),
terr : valeur initiale du taux d’accroissement maximal admissible de l’erreur (1.2 par défaut) : si le taux d’accroissement de l’erreur est supérieur à ce taux, la dernière itération n’est pas prise en compte et une nouvelle itération est réalisée, en diminuant le paramètre
d’un facteur 2. Cette procédure peut être renouvelée un nombre de fois inférieur ou égal à nessaismax (voir ci-dessous),
nessaismax : nombre maximal d’itérations possibles en réduisant le paramètre
d’un facteur 2 (10 par défaut),
permini : valeur initiale de la perméabilité (
par défaut),
permin : valeur minimale de la perméabilité (
par défaut),
permax : valeur maximale de la perméabilité (
par défaut),
nv_npp : nombre de noeuds les plus proches des points pilotes, pour le calcul du potentiel aux points pilotes (4 par défaut),
nv_ppm : nombre de points pilotes les plus proches des centres de mailles, pour le calcul du champ de perméabilité aux mailles (10 par défaut),
dv_pp : rayon (en mètres) autour des points pilotes pour lisser la perméabilité par moyenne mobile (300 m par défaut),
d_mesh : distance minimale d’un centre de maille à un noeud à potentiel imposé, pour ajouter le centre de maille comme point pilote (dans le cas d’un potentiel de référence externe) (100 m par défaut).

Figure 2.6.2 : Table des paramètres d’inversion¶
Le bouton ouvre la fenêtre suivante :

Sélectionner le premier élément pour lancer l’inversion.
Note
Vous pouvez ajouter un champ de perméabilité (fichier raster ou une valeur constante) pour construire le modèle sans réaliser d’inversion
L’inversion fait apparaître une fenêtre ancrable continuant deux courbes :
la première montre l’évolution de l’erreur à chaque itération,
la seconde montre l’évolution de la corrélation entre les valeurs piézométriques mesurées et calculées aux différents points pilotes, organisés par groupes.
La carte de perméabilités est également mise à jour à chaque itération, et s’affiche sous réserve qu’elle a été sélectionnée avant le début du calcul.

Figure 2.6.3 : Fenêtres QGIS au cours de l’inversion¶
À noter que, dans la figure précédente, les noeuds à potentiel imposé sont mis en évidence. Pour cela, il suffit de faire appel au Gestionnaire de base de données, de sélectionner la base de calcul courante et d’effectuer la requête SQL :
select * from noeuds, potentiel_impose where noeuds.OGC_FID=potentiel_impose.nid
Il faut également sélectionner « Charger en tant que nouvelle couche », en spécifiant « GEOMETRY » pour la Colonne de géométrie, et attribuer un nom à la couche :

2.7. Bases de données Spatialite¶
This capter describes the three type of databse used by THYRSIS plugin.
2.7.1. Base sites.sqlite¶
La base sites.sqlite, définie dans les préférences d’installation, contient différents types de tables, caractérisant les éléments chimiques utilisables, les sites étudiés et les simulations de référence.
2.7.1.1. Table elements_chimiques¶
La table elements_chimiques contient les principales caractéristiques des éléments chimiques et de leurs isotopes : numéro et masse atomiques, activité spécifique, décroissance radioactive.
2.7.1.2. Tables caractérisant les sites d’étude¶
sites: cette table associe à chaque site un identifiant numérique.
points_interet: cette table regroupe tous les points d’intérêt pour chaque site étudié, en leur associant un nom et un groupe d’appartenance.
mesures: cette table regroupe toutes les mesures associées aux points d’intérêt, avec la date, l’identifiant de l’élément chimique, la concentration et son incertitude, le niveau piézométrique et son incertitude.
forages: cette table regroupe les caractéristiques générales des forages dont la stratigraphie est connue (nom, type, date de réalisation, profondeur, hauteur du tube par rapport au sol).
lithologies: cette table fournit pour chaque forage le type de roche et son code USGS en fonction de la profondeur.
stratigraphies: cette table fournit pour chaque forage la formation géologique et son code BRGM en fonction de la profondeur.
fracturations: cette table fournit pour chaque forage les taux de fracturation en fonction de la profondeur.
2.7.1.3. Tables caractérisant les simulations de référence¶
Un certain nombre de simulations, dites de référence, sont stockées dans la base sites.sqlite, et peuvent servir de point de départ pour de nouvelles simulations. Plusieurs tables servent à stocker les informations permettant de les caractériser :
- simulations: cette table fait référence à un site et à un modèle hydrogéologique donnés, et définit certains paramètres comme :
nombre_de_simulations désigne le nombre de simulations à réaliser, supérieur à 1 dans le cas de calculs d’incertitudes.
coef_maillage désigne le rapport entre l’épaisseur de la maille au milieu de la colonne et celle de la première maille en surface, égal par défaut à 5.
pas_echant_zns désigne le pas d’échantillonnage des colonnes, dans le cas du regroupement des colonnes par taille. Il définit la taille des colonnes d’un même groupe. Ainsi, un pas de 5 m définit des groupes de colonnes de taille [0,5], [5,10], [10,15], etc. Le nombre de groupes est d’autant plus réduit que le pas est élevé.
rapport_max_permeabilite désigne le rapport maximal de perméabilité qui peut exister entre les perméabilités (à saturation) de deux colonnes d’un même groupe. Il est égal à 10 par défaut.
permeabilite_zns_uniforme désigne une valeur de perméabilité à saturation qui, si elle n’est pas nulle et si le fichier u_permeabiliteZNS.sat est absent, est affectée à chaque colonne non saturée. Cette valeur est nulle par défaut.
type_injection définit le type d’injection, et peut prendre la valeur “aucune” (défaut), “flux”, “concentration” ou “masse”.
type_infiltration définit le type d’infiltration, et peut prendre la valeur “permanente” (défaut) ou “transitoire”.
insature prend la valeur “oui” (défaut) ou “non” et indique si la zone non saturée doit être modélisée.
- parametres: cette table fait référence à la table simulations, et définit les valeurs de chaque paramètre pour la simulation considérée :
nom désigne le code identifiant le paramètre, avec la correspondance suivante :
WC, porosité cinématique,
VGA, Alpha van Genuchten (
),
VGN, n van Genuchten,
VGR, Saturation résiduelle,
VGS, Saturation maximale,
VGE, Pression d’entrée (m),
WT, Porosité totale,
VM, Masse volumique (kg/m³),
DK, Coefficient de partage (m³/kg),
SL, Limite de solubilité (kg/m³),
DLZNS, Dispersivité longitudinale ZNS (m),
DLZS, Dispersivité longitudinale ZS (m),
WM, Porosité matrice
valeur désigne la valeur du paramètre lorsque nombre_de_simulations = 1,
valeur_min désigne la valeur minimale du paramètre dans le cadre de l’Hypercube Latin,
valeur_max désigne la valeur maximale du paramètre dans le cadre de l’Hypercube Latin,
loi_de_variation désigne la loi de probabilité du paramètre dans le cadre de l’Hypercube Latin. Elle peut prendre comme valeur “constant” (défaut), “normal”, “lognormal”, “uniform” ou “loguniform”.
Les paramètres VGA, VGN, VGR, VGS, VGE ne sont autres que les coefficients
,
,
,
,
de la formulation d’Ippisch & Vogel (ZNS).
Dans le cas d’un modèle double-milieu, les paramètres ci-dessus sont dupliqués, avec un suffixe 2 désignant le second milieu, et quatre paramètres d’interaction sont ajoutés :
PL, perméabilité de liaison (m/s),
ASHAPE, facteur représentant la demi-distance moyenne entre deux fractures,
BSHAPE, facteur dépendant de la géométrie de la fracturation (une valeur de 3 correspond à des fractures orthogonales régulièrement espacées),
CSHAPE, coefficient empirique, égal généralement à 0,4.
Ces paramètres PL, ASHAPE, BSHAPE et CSHAPE correspondent respectivement aux coefficients
,
,
et
du modèle Double-milieu.
metis_options: cette table, qui fait référence à la table simulations, regroupe toutes les options du code METIS. Les valeurs par défaut qui sont attribuées permettent de couvrir la quasi-totalité des cas. Des modifications peuvent être cependant nécessaires pour traiter certains cas particulièrement difficiles numériquement. Ces options sont définies succinctement ci-après, avec, entre parenthèses, la valeur par défaut.
niter_gc_zns: nombre maximum d’itérations ZNS pour le gradient conjugué (100).
niter_gc_zs: nombre maximum d’itérations ZS pour le gradient conjugué (100).
Les options suivantes concernent la résolution de l’écoulement en régime permanent dans la ZNS :
saturation_initiale: valeur de la saturation initiale pour le calcul d’écoulement ZNS en régime permanent (0.8),
rmult_cormax: coefficient multiplicateur de la dimension maximale, définissant la variation maximale de la charge hydraulique (0.1),
c_pstep: valeur initiale du fractionnement de la solution (0.1),
c_ps_inc: valeur initiale de l’incrément (0.1),
c_ps_tol: tolérance sur le paramètre de parameter stepping: on considère qu’on a convergé quand c_pstep est plus grand que 1 - c_ps_tol (permet d’abréger une convergence laborieuse où on tend vers 1 sans jamais exactement l’atteindre) (1.e-5),
ratio_max_res: comparaison de deux modes de calcul des résidus. Permet de détecter plus précisément la convergence locale dans des cas où les résidus oscillent un peu (1.e-6),
critereres : critère de convergence des résidus. Le calcul converge quand c_pstep vaut 1 et redres < critereres (1.e-5),
niterns: nombre d’itérations pour le calcul d’écoulement ZNS en régime permanent (1000).
courant: égal à “oui” ou “non”. Le nombre de Courant est calculé à partir d’une pseudo-vitesse du front de saturation. Si courant = “oui”, le pas de temps sera ajusté pour que le front ne franchisse pas plus d’un élément par pas. Utile en 1D pour des fronts très abrupts. (“oui”).
emmagasinement: emmagasinement spécifique (
), utilisé pour gérer les fuites importantes avec l’option sat_nonsat = on, associée à courant = “oui” (1.e-3).
kdecoup_delt_zns: pas de temps initial ZNS (10).
kdecoup_dmin_zns: pas de temps minimal ZNS (1).
kdecoup_delt_zs: pas de temps initial ZS (100).
kdecoup_dmin_zs: pas de temps minimal ZS (1).
force_fin_phase: égal à “oui” ou “non”, force la fin de phase avec un grand pas de temps lorsque le pas de temps devient trop petit (“oui”).
max_iter: nombre maximal d’itérations pour le calcul phréatique (200),
relax_phreat: coefficient de relaxation (poids attribué à la dernière itération) (0.5).
critere_pot: critère de convergence sur le potentiel (0.1 m),
phrea_min: epaisseur_mouillee_mini (1.0 m).
- injections: cette table, qui fait référence à la table simulations, définit les caractéristiques des injections:
profondeur: profondeur de l’injection (m)
debut: date de début d’injection, au format JJ/MM/AAAA
duree: durée d’injection, en unité “jour”, “mois” ou “an”
nom: nom de l’injection
volume_eau: volume d’eau injecté, en m³
coefficient_surface: rapport de la surface réelle d’injection à la surface des noeuds (cas d’une injection en puits, où la surface réelle d’injection est limitée à la surface des puits, très inférieure à la surface d’influence des noeuds du maillage) ;
coefficient_injection: rapport de la quantité réellement injectée à la quantité injectable en terme de solubilité (permet de ne prendre en compte qu’une partie de la masse totale, pour une durée d’injection calculée à partir de la masse totale - intéressant seulement dans le cas d’une injection en masse. Dans le cas d’une injection en concentration ou flux, c’est seulement un coefficient multiplicatif de la concentration ou du flux) ;
permeabilite: valeur de la perméabilité à saturation, déduite automatiquement du champ de perméabilité de la zone saturée, ou d’un fichier u_permeabiliteZNS.sat s’il existe, ou égale à la valeur de permeabilite_zns_uniforme de la table simulations, si elle n’est pas nulle.
infiltration: valeur d’infiltration en haut de la colonne non saturée, déduite automatiquement du modèle hydrogéologique.
epaisseur: épaisseur de la colonne ZNS, déduite automatiquement du modèle hydrogéologique.
altitude: altitude du haut de la colonne ZNS, déduite automatiquement du modèle hydrogéologique.
- dates_resultats: cette table fait référence à la table simulations et définit les dates de sortie des résultats, en spécifiant autant de fois que nécessaire :
duree: une durée, exprimée en unité “jour”, “mois” ou “an”,
pas_de_temps: un pas de temps, qui échantillonne la durée, exprimé en unité “jour”, “mois” ou “an”.
2.7.2. Modèles¶
Les modèles hydrogéologiques sont stockés dans des bases Spatialite indépendantes, placées dans le répertoire des modèles défini dans les préférences d’installation. Chacune de ces bases contient les tables définissant le maillage 2D horizontal et les caractéristiques du modèle hydrogéologique, ainsi, le cas échéant, que les paramétrages utilisés pour l’inversion.
2.7.2.1. Maillage¶
Les tables suivantes permettent de définir et construire le maillage. Seules les tables contours et points_fixes sont réellement définies par l’utilisateur. Les autres tables sont créées automatiquement et secondaires.
bords: table secondaire utilisée par la procédure de maillage,
- contours: cette table contient la définition des différentes parties du contour du domaine, indiquant les champs suivants :
groupe: définit l’appartenance à une catégorie de contour (site, rivière, etc.) (champ non utilisé actuellement),
nom: définit le nom de l’élément de contour,
longueur_element: définit, en mètres, la distance entre deux noeuds le long de l’élément de contour considéré (permet de contraindre la taille du maillage),
potentiel_impose: égal à 1 si l’élément de contour considéré définit un contour à potentiel imposé, égal à NULL ou 0 sinon.
domaines: table secondaire définissant les différents domaines à mailler, selon les contours créés,
extremites: table secondaire contenant les extrémités des différents éléments de contour,
- points_fixes: table définissant les points à intégrer dans le maillage, avec leur distance de noeuds caractéristique :
nom: nom du point fixe,
groupe: nom du groupe associé au point fixe,
longueur_element: distance, en mètres, entre deux noeuds à proximité du point fixe.

Figure 2.7.1 : Exemple de table de contours¶

Figure 2.7.2 : Exemple de table de points fixes¶
2.7.2.2. Inversion¶
Les tables suivantes permettent de définir les paramètres du calcul d’inversion, les options du code METIS utilisées pour l’inversion, et les points pilotes à prendre en compte dans l’inversion (cf. Inversion) :
hynverse_parametres: paramètres de l’inversion (cf. Inversion),
- metis_hynverse_options: options du code METIS :
nombre maximum d’itérations ZS pour le gradient conjugué (100)
nombre maximal d’itérations pour le calcul phréatique (200)
coefficient de relaxation (poids attribué à la dernière itération) (0.5).
critère de convergence sur le potentiel (0.1 m)
paisseur_mouillee_mini (1.0 m).
- points_pilote: points pilotes à prendre en compte dans l’inversion :
nom: nom du point pilote,
groupe: groupe d’appartenance du point pilote (valeur utilisée pour la visualisation des corrélations),
zone: zone d’appartenance du point pilote,
altitude_piezo_mesuree: niveau piézométrique mesuré (m), à renseigner avant l’inversion,
altitude_piezo_calculee: niveau piézométrique calculé (m), valeur mise à jour par le calcul d’inversion,
difference_calcul_mesure: différence entre les niveaux piézométriques calculé et mesuré (m), valeur mise à jour par le calcul d’inversion
zones: perméabilité de chaque zone, ainsi que les valeurs de perméabilité minimale et maximale autorisées pour l’inversion.
2.7.2.3. Modèle¶
Les tables suivantes définissent le maillage et les caractéristiques du modèle hydrogéologique :
- mailles: cette table définit chaque maille du maillage, par une liste ordonnée de trois (triangle) ou quatre (quadrangle) numéros de noeuds, ainsi que les champs :
permeabilite_x: perméabilité selon x (m/s)
permeabilite_y: perméabilité selon y (m/s)
v_x: vitesse de Darcy selon x (m/s),
v_y: vitesse de Darcy selon y (m/s),
v_norme: norme de la vitesse de Darcy (m/s),
- noeuds: cette table contient, pour chaque noeud, les valeurs des différents champs définissant le modèle hydrogéologique :
altitude: altitude topographique au noeud (m),
altitude_mur: altitude du mur de l’aquifère au noeud (m),
potentiel_reference: niveau piézométrique de référence au noeud (m, donnée facultative),
potentiel: niveau piézométrique au noeud (m), selon le modèle hydrogéologique,
pot_grad_x: gradient selon x du potentiel au noeud (-),
pot_grad_y: gradient selon y du potentiel au noeud (-),
epaisseur_zs: épaisseur de la nappe (zone saturée) au noeud (m),
epaisseur_zns: épaisseur de la zone non saturée au noeud (m),
epaisseur_aquifere: épaisseur de l’aquifère au noeud (m), pour initialiser le calcul en nappe phréatique (ce n’est pas une épaisseur réelle),
permeabilite_x: perméabilité selon x (m/s)
permeabilite_y: perméabilité selon y (m/s)
permeabilite_zns: perméabilité de la zone non saturée au noeud (m/s),
infiltration: valeur de l’infiltration au noeud (m/s),
surface: surface associée au noeud (
),
transmissivite: transmissivité au noeud (
),
groupe: groupe d’appartenance du noeud (non utilisé).
noeuds_contour: contient les numéros des noeuds du contour.
parametres: table définissant les paramètres associés au modèle hydrogéologiques (cf. Tables caractérisant les simulations de référence).
potentiel_impose: table indiquant les numéros des noeuds à potentiel imposé et la valeur de ce potentiel.
2.7.3. Base de calcul¶
Pour chaque projet, une base de calcul est créée de la manière suivante :
par copie de la base du modèle spécifié,
par création des tables de la base sites.sqlite et copie des lignes faisant référence au site considéré,
par création des tables de résultats.
La base de calcul ainsi créée contient donc les tables suivantes :
- en provenance de la base de modèle :
bords
contours
domaines
extremites
hynverse_parametres
mailles
metis_hynverse_options
noeuds
noeuds_contour
parametres
points_fixes
points_pilote
potentiel_impose
zones
- en provenance de la base sites pour le site considéré :
dates_resultats
elements_chimiques
forages
fracturations
injections
lithologies
mesures
metis_options
points_interet
simulations
sites
stratigraphies
- par création des tables de résultats :
bilan_masse
dates_simulation
isovaleur
mailles_zns
noeuds_zns
noeuds_injections
parametres_simulation
2.8. Références¶
- Goblet1989
Goblet, P., Programme METIS. Simulation d’écoulement et de transport miscible en milieu poreux et fracturé. Notice de conception. ENSMP/CIG, 1989
- Renard2008(1,2,3,4)
Renard, F.; Jeannée, N. Estimating transmissivity fields and their influence on flow and transport: the case of Champagne mounts. Water Resources Research, 2008 , 44, W11414, doi:10.1029/2008WR007033
- Renard2016(1,2,3,4)
Renard, F.; Tognelli, A. A new quasi-3D unsaturated-saturated hydrogeologic model of the Plateau de Saclay (France). Journal of Hydrology, 2016, 535, 495-508, doi:10.1016/j.jhydrol.2016.02.014
- Gerke1993(1,2)
Gerke, H. H.; Van Genuchten, M. T. A Dual-Porosity Model For Simulating The Preferential Movement Of Water And Solutes In Structured Porous-Media. Water Resources Research, 1993, 29, 305-319 doi:doi.org/10.1029/92WR02339
- Geuzaine2009(1,2,3)
Geuzaine, C.; Remacle, J. F. Gmsh: A 3-D finite element mesh generator with built-in pre- and post-processing facilities. International Journal For Numerical Methods In Engineering, 2009, 79, 1309-1331, doi:doi.org/10.1002/nme.2579
- Genuchten1980
Van Genuchten, M.T. A closed-form equation for predicting the hydraulic conductivity of unsaturated soils. Soil Sci. Soc. Am. J., 1980, 44, 892-898 doi:10.2136/sssaj1980.03615995004400050002x
- Ippisch2006
Ippisch, O. and Vogel, H. J. and Bastian, P. Validity limits for the van Genuchten-Mualem model and implications for parameter estimation and numerical simulation. Advances In Water Resources, 2006, 29, 1780-1789, doi:doi.org/10.1016/j.advwatres.2005.12.011
2.9. Annexes¶
2.9.1. Hypercube Latin¶
L’Hypercube Latin est une technique d’échantillonnage adaptée au calcul d’incertitude, permettant de réduire le nombre d’échantillons par rapport à une technique de Monte Carlo. Il est désigné par LHS pour Latin Hypercube Sampling.
Le principe est de diviser l’intervalle de variation de chaque paramètre en un nombre égal n de sous-intervalles équiprobables, de sélectionner aléatoirement une valeur dans chacun de ces sous-intervalles, et de construire n échantillons par permutation aléatoire de manière que chaque sous-intervalle de chaque paramètre soit représenté une et une seule fois. La Figure 2.9.1 : propose une représentation schématique de cet échantillonnage dans le cas de deux paramètres et de 5 échantillons.

Figure 2.9.1 : Représentation bidimensionnelle d’un échantillonnage par Hypercube Latin dans le cas de deux paramètres et de 5 échantillons (n=5 ). X1 a une distribution normale entre A1 et B1, X2 une distribution uniforme entre A2 et B2.¶
Pour définir les n sous-intervalles équiprobables de chaque densité de probabilité, il suffit de diviser l’image de la fonction de répartition correspondante en autant d’intervalles réguliers, puis d’inverser la fonction de répartition.
2.9.1.1. Loi uniforme ou log-uniforme¶
Dans le cas d’une loi uniforme ou log-uniforme dans l’intervalle [A,B], l’inversion est immédiate :
où r désigne un nombre généré aléatoirement dans chacun des n intervalles réguliers échantillonnant [0,1].
Un exemple est fourni Figure 2.9.2 :, dans le cas de 5 échantillons et d’une distribution uniforme entre A2 et B2.

Figure 2.9.2 : Correspondance entre les intervalles échantillonnés d’une part, la densité de probabilité et la fonction de répartition d’autre part. Exemple avec n=5 , distribution uniforme entre A2 et B2.¶
2.9.1.2. Loi normale ou log-normale¶
Dans le cas d’une loi normale (ou log-normale), l’inversion est plus complexe et utilise la fonction erreur définie par :
qui est classiquement tabulée et disponible dans des librairies informatiques.
En effet, la fonction de répartition d’une distribution normale de moyenne mu et d’écart-type sigma s’écrit :
où :
où z désigne une valeur tirée aléatoirement dans chacun des sous-intervalles décomposant l’image de la fonction de répartition.
Dans la pratique, plutôt que de préciser les paramètres et
de la loi normale, on préfère souvent imposer les bornes A et B de l’intervalle de variation du paramètre, définies comme les quantiles 0,001 et 0,999 respectivement. On a ainsi :
puis, comme :
Un exemple est fourni Figure 2.9.3 :, dans le cas de 5 échantillons et d’une distribution normale entre A1 et B1.

Figure 2.9.3 : Correspondance entre les intervalles échantillonnés d’une part, la densité de probabilité et la fonction de répartition d’autre part. Exemple avec n=5 , distribution normale entre A1 et B1.¶
2.9.2. Logs stratigraphiques¶
Cette annexe présente les différentes codifications utilisées pour la représentation graphique des logs stratigraphiques :
la codification de l’échelle des temps géologiques du BRGM (Figure 2.9.4 :),
le code colorimétrique RGB de la Commission Mondiale des Cartes Géologiques (CGMW) (Figure 2.9.5 :),
la codification USGS des figurés (Figure 2.9.6 :, Figure 2.9.7 :, Figure 2.9.8 :).

Figure 2.9.4 : Codification BRGM de l’échelle des temps géologiques.¶

Figure 2.9.5 : Codification colorimétrique RGB de l’échelle des temps géologiques, selon CGMW.¶

Figure 2.9.6 : Codification des figurés lithologiques, selon USGS (1).¶

Figure 2.9.7 : Codification des figurés lithologiques, selon USGS (2).¶

Figure 2.9.8 : Codification des figurés lithologiques, selon USGS (3).¶
2.9.3. Fichiers utilisateur¶
Cette annexe présente les formats des fichiers externes utilisés par le plugin THYRSIS pour modifier certaines données du modèle hydrogéologique. Leur format est indépendant du code d’hydrogéologie utilisé. Les unités sont des unités SI, à savoir : dates en secondes, longueurs en m, valeurs d’infiltration et de perméabilité en m/s.
2.9.3.1. u_epaisseurZNS.sat¶
Le fichier u_epaisseurZNS.sat spécifie la hauteur de zone non saturée à prendre en compte au droit de chaque noeud du maillage 2D. Il est utile lorsqu’on souhaite imposer une épaisseur de ZNS différente de celle du modèle. Il contient autant de lignes qu’il y a de noeuds, avec pour chaque ligne, la valeur de l’épaisseur de ZNS (en m) à considérer.
Exemple:
27.6423
27.6636
27.6938
27.7452
27.7969
27.8473
27.9090
...
2.9.3.2. u_permeabiliteZNS.sat¶
Le fichier u_permeabiliteZNS.sat spécifie la perméabilité en zone non saturée, au droit de chaque noeud du maillage 2D. Utile lorsqu’on souhaite imposer une perméabilité en ZNS spécifique, alors que le modèle attribue à la ZNS la perméabilité en zone saturée calculée au droit de la colonne ZNS considérée. Il contient autant de lignes qu’il y a de noeuds, avec pour chaque ligne, la valeur de la perméabilité (en m/s) à considérer.
Exemple:
0.10062337E-04
0.10151087E-04
0.10006153E-04
0.10216447E-04
0.10134652E-04
0.98510526E-05
0.10076285E-04
...
2.9.3.3. u_infiltration.sat¶
Ce fichier spécifie l’infiltration en régime permanent à prendre en compte au droit de chaque noeud du maillage 2D. Utile lorsqu’on souhaite imposer une infitrationen régime permanent différente de celle du modèle.Il contient autant de lignes qu’il y a de noeuds, avec pour chaque ligne, la valeur de l(infiltration (en m/s) à considérer.
Exemple:
2.98e-09
2.98e-09
2.98e-09
2.98e-09
2.98e-09
2.98e-09
...
2.9.4. Fichiers METIS¶
Cette annexe présente les formats des fichiers externes utilisés par le code METIS pour prendre en compte une infiltration transitoire ou des flux de matière. Dans tous ces fichiers, les unités sont des unités SI, à savoir : dates en secondes, valeurs d’infiltration en m/s, flux de matière en kg/s. Les flux entrants doivent être négatifs, par convention du code METIS.
2.9.4.1. u_infiltration_transitoire.sat¶
Le fichier u_infiltration_transitoire.sat permet d’indiquer, dans le cas d’un calcul sans zone insaturée, une infiltration variable, uniforme sur tout le domaine (condition edse du code METIS).
Ce fichier est requis dans le cas d’une simulation d’écoulement en régime transitoire, lorsque la zone non saturée n’est pas prise en compte.
Exemple:
date 0.0000000E+00
-0.6498923E-08
date 0.2629800E+07
-0.1411746E-07
date 0.5259600E+07
-0.9015090E-08
etc.
2.9.4.2. u_infiltration_transitoire.insat¶
Le fichier u_infiltration_transitoire.insat permet d’indiquer, dans le cas d’un calcul avec zone insaturée, une infiltration variable, uniforme sur tout le domaine (condition de suintement esui du code METIS). Ce fichier est semblable au fichier u_infiltration_transitoire.sat, mais avec la valeur 0.
Ce fichier est requis dans le cas d’une simulation d’écoulement en régime transitoire, lorsque la zone non saturée est prise en compte.
Exemple:
date 0.0000000E+00
-0.6498923E-08 0
date 0.2629800E+07
-0.1411746E-07 0
date 0.5259600E+07
-0.9015090E-08 0
etc.
2.9.4.3. u_debit_eau_entrant.sat¶
Ce fichier spécifie le flux de matière dans le cas d’un calcul sans ZNS. Il indique, à différentes dates, les noeuds d’injection et les flux injectés directement dans la nappe. Dans le cas général, il est généré automatiquement par le plugin.
Exemple:
date 0.000000e+00
12943 -0.000000e+00
11032 -0.000000e+00
11029 -0.000000e+00
11030 -0.000000e+00
11031 -0.000000e+00
...
date 3.155760e+07
12943 -2.261438e-26
11032 -6.379388e-27
11029 -8.420673e-27
11030 -9.180771e-27
11031 -1.391532e-26
...
date 6.311520e+07
12943 -7.932372e-19
11032 -2.237677e-19
11029 -2.953693e-19
11030 -3.220309e-19
11031 -4.881033e-19
...
2.9.4.4. u_debit_entrant.insat*¶
Ces fichiers, dont le nom se termine par le numéro de la colonne ZNS, spécifient le flux de matière à considérer dans la ZNS. Ils indiquent, à différentes dates, les noeuds d’injection et les flux injectés dans chaque colonne ZNS. Dans le cas général, il est généré automatiquement par le plugin.
Exemple:
date 0.0000000E+00
1 6.0025774E-10
date 5.3654400E+08
1 6.0025774E-10
2.9.4.5. u_debit_eau_entrant.sat¶
Le fichier u_debit_eau_entrant.sat permet d’imposer une infiltration variable et hétérogène en entrée du modèle saturé (condition edve du code METIS). À la différence des fichiers précédents, il faut indiquer, pour chaque date, autant de valeurs d’infiltration (en ) qu’il y a de noeuds dans le maillage de la zone saturée (sous la forme “ noeud valeur ”, les noeuds n’étant pas nécessairement ordonnés - mais l’ordre étant le même d’une date à l’autre).
Ce fichier est prépondérant sur celui que génère THYRSIS, ce qui permet notamment d’imposer une infiltration transitoire hétérogène sur tout le domaine tout en réalisant un calcul de transport localisé à quelques zones d’injection. Le bon usage est de commencer par réaliser un calcul d’écoulement seul en régime transitoire, de sauvegarder le fichier edve.sat créé par THYRSIS, et de le réutiliser dans une seconde simulation avec transport localisé. Si l’on ne procède pas ainsi, c’est l’infiltration du régime permanent qui est utilisée à tous les noe{}uds du maillage de la zone saturée qui ne sont pas concernés par l’injection de matière.
Exemple:
date 0.0000000E+00
50 0.1772273E-04
51 0.2141895E-04
1071 0.1701869E-04
1121 0.1624731E-04
...
2606 0.1190476E-04
2607 0.1190476E-04
2608 0.1190476E-04
2609 0.1190476E-04
date 0.3150000E+06
50 0.2021130E-04
51 0.2442652E-04
1071 0.1940840E-04
1121 0.1852870E-04
...