Top Banner
Etude comparative des algorithmes de couplage des codes chimie- transport utilisés au BRGM. Rapport final BRGM/RP-54904-FR Janvier 2007
74

Etude comparative des algorithmes de couplage des codes ...

Jun 17, 2022

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes de couplage des codes chimie-

transport utilisés au BRGM. Rapport final

BRGM/RP-54904-FR Janvier 2007

Page 2: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes de couplage des codes chimie-

transport utilisés au BRGM. Premiers résultats à partir

d’expérimentations numériques simples.

Rapport final

BRGM/RP-54904-FR Janvier 2007

Étude réalisée dans le cadre du projet de recherche PICOREF cofinancé par le RTPG

C. Kervévan, S. Lanini, P. Audigane

Vérificateur :

Nom : D. Thiéry

Date : 20/12/2006

Original signé par D. Thiéry

Approbateur :

Nom : D. Pennequin

Date : 04/01/2007

Original signé par D. Pennequin

Le système de management de la qualité du BRGM est certifié AFAQ ISO 9001:2000.

I

M 003 - AVRIL 05

Page 3: Etude comparative des algorithmes de couplage des codes ...

Mots clés : En bibliographie, ce rapport sera cité de la façon suivante : C. Kervévan, S. Lanini, P. Audigane (2007) - Etude comparative des algorithmes de couplage des codes chimie-transport utilisés au BRGM : premiers résultats à partir d’expérimentations numériques simples. BRGM/RP-54904-FR, 66 p., 11 Fig. © BRGM, 2007, ce document ne peut être reproduit en totalité ou en partie sans l’autorisation expresse du BRGM.

Page 4: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 3

Synthèse

Ce travail a été réalisé dans le cadre du projet de recherche PICOR (Piégeage du CO2 dans les Réservoirs) cofinancé par le Réseau de Technologies Pétrolières et Gazières (RTPG) et finalisé dans le cadre du projet PICOREF (Piégeage du CO2 dans les Réservoirs En France, financement RTPG également). Un des objectifs de PICOR visait l’amélioration des codes couplés chimie-transport dans le but de les appliquer ultérieurement à la problématique générale du stockage géologique du CO2.

En lien étroit avec les études expérimentales de percolation réactive qui ont été réalisées chez divers partenaires des projets PICOR et PICOREF, dont le BRGM, l’objectif visé ici était de contribuer à mieux appréhender le comportement numérique et les performances réelles des codes de calcul chimie-transport préalablement à leur utilisation pour l’interprétation des expériences puis l’application à l’échelle d’un site de stockage potentiel.

Le travail qui a été réalisé au cours de cette étude était basé sur de l’expérimentation numérique dans le but de mesurer l’impact de l’algorithme de couplage sur la précision du résultat des simulations couplées chimie-transport. Pour ce faire, nous avons choisi de définir un certain nombre de cas-tests autour desquels nous avons pu procéder à des inter-comparaisons relativement poussées entre différents logiciels développés au BRGM (MARTHE+SCS, RER, RER-SEQ) ou du domaine public (PHREEQC) qui sont couramment utilisés dans nos travaux liés à l’étude générale des interactions eau-roches. L’impact de la nature de l’algorithme de couplage entre équations de la chimie et du transport ainsi que les effets liés au choix du pas de temps ont été plus particulièrement étudiés. La plupart des codes couplés chimie-transport reposent sur un algorithme de couplage de type « operator splitting » qui consiste, dans son principe, à résoudre séparément équations chimiques et équations du transport de masse. Les codes de calcul utilisés dans ce travail sont également conçus avec une approche de ce type, excepté RER qui utilise un algorithme particulier permettant la résolution simultanée de l’ensemble des équations à chaque pas de temps. Au terme des différentes séries de simulations qui ont été réalisées, les principaux résultats obtenus ont montré que RER était systématiquement le plus performant en termes de précision et de temps de calcul. Toutefois, l’utilisation de RER reste limitée à des problèmes 1D de type percolation en colonne pour lesquels l’écoulement est majoritairement advectif. Pour les problèmes plus complexes, le recours à des codes basés sur un couplage de type « operator splitting » s’avère incontournable. Parmi les différentes variantes de cette approche, la méthode de résolution séquentielle non itérative (SNI) représente incontestablement le meilleur compromis précision/temps de calcul à condition, toutefois, de choisir un pas de temps adapté ce qui peut conduire, dans les cas les plus défavorables, à des temps de calcul relativement importants. Les autres algorithmes testés n’ont finalement pas montré d’amélioration significative par

Page 5: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

4 BRGM/RP-54904-FR – Rapport final

rapport à la méthode SNI et nécessiteraient quelques adaptations pour être utilisés plus efficacement.

Au-delà des performances intrinsèques des modules (chimie et transport) composant le code couplé, cette étude a clairement démontré que la valeur du pas de temps reste le paramètre influant le plus sur la qualité des résultats obtenus lorsque la technique d’ « operator splitting » est employée et ce, quelque soit la variante algorithmique choisie (SNI ou autre). Ceci pose donc le problème du choix d’une valeur de pas de temps appropriée lorsqu’on ne dispose pas de solution de référence (analytique, numérique ou expérimentale) permettant de quantifier la précision du calcul, ce qui est en fait le cas général lorsqu’on aborde un problème couplé chimie-transport.

Avec l’objectif, à terme, d’être capable de traiter des problèmes couplés relativement complexes justifiés notamment par l’étude du stockage géologique du CO2, il apparaît donc nécessaire, en complément à ce premier travail expérimental, d’orienter les travaux futurs vers la recherche de critères numériques permettant d’évaluer la qualité des calculs couplés.

Page 6: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final i

Erratum

Au cours de calculs réalisés fin 2006 avec le modèle RER « calcite » (le même que celui qui a été utilisé pour les tests présentés dans ce rapport) dans le cadre de l’interprétation d’expériences de percolation réactive réalisées au BRGM, il est apparu qu’une ligne de code avait malencontreusement été mise en commentaire dans la routine d’initialisation de la valeur des constantes cinétiques de dissolution de la calcite. L’absence de cette ligne de code avait pour effet d’annuler la valeur de la température et ce, quelle que soit la température effectivement sélectionnée par l’utilisateur dans le fichier d’entrée. Les conséquences sur la valeur des constantes cinétiques, qui sont fonction de la température (cf. équations 44 à 47 du rapport), sont apparues significatives pour la température à laquelle nous avons travaillé (25°C).

Par conséquent, les calculs réalisés avec RER sur la dissolution de la calcite par une solution enrichie en CO2 dans une colonne 1D, dont les résultats sont détaillés p.43 à 59, sont à reconsidérer dans la mesure où les constantes cinétiques utilisées alors correspondaient à une température de 0°C au lieu de 25°C. Il est à noter toutefois que pour les calculs préliminaires en batch, la valeur de température utilisée pour calculer les constantes cinétiques était bien 25°C, ce qui explique la très bonne concordance des résultats entre les divers codes de calcul (SCS utilisé dans le RER et PHREEQC, cf. fig. 6 p.48). Par contre, pour les calculs en colonne, les résultats se trouvent modifiés.

Ainsi, les calculs en colonne du §6.3 ont été refaits avec la version corrigée de RER (prenant en compte la bonne valeur de température). Les nouveaux résultats obtenus pour cette solution de référence montrent que le phénomène de forte inflexion du profil de concentration en calcium dissous est désormais nettement moins marqué. Comme on peut le voir sur les figures A, B, C et D ci-après (qui remplacent respectivement les figures 7a, 7d, 7e et 9b du rapport) il s’avère maintenant qu’un pas de temps de 60 s avec MARTHE+SCS et de 67.7 s avec PHREEQC suffisent pour assurer une convergence satisfaisante avec les résultats RER. Par contre, même si une amélioration de la convergence est obtenue pour un pas de temps plus faible (0.9375 s, figure B), avec un pas de temps de 0.1 s (figure C), on observe désormais une nette divergence dans les trois premiers centimètres de la colonne.

Ces résultats sont particulièrement intéressants et remettent directement en cause la « stratégie » de gestion du pas de temps que nous préconisions dans le rapport pour l’algorithme SNI. En effet, il avait été conclu que pour cet algorithme, mis en œuvre notamment dans les codes MARTHE+SCS et RER-SEQ, la précision du calcul augmentait avec la diminution du pas de temps. Au vu des nouveaux résultats que nous venons d’obtenir, il semble en fait qu’il existe, pour l’algorithme SNI, non plus uniquement une valeur maximale du pas de temps au-delà de laquelle les résultats deviennent imprécis mais, également, une valeur seuil en dessous de laquelle les

Page 7: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

ii BRGM/RP-54904-FR – Rapport final

résultats deviennent erronés. Ce point mériterait certainement des tests plus poussés que nous n’avons pas été en mesure de réaliser faute de temps. Toutefois, au vu des quelques calculs qui ont été effectués depuis, il semble que pour des valeurs trop faibles du pas de temps, les variations de concentrations dues aux réactions chimiques deviennent tellement faibles qu’elles s’apparentent alors à une sorte de « bruit numérique » susceptible ensuite d’être propagé de maille en maille par le module de transport de masse, pour aboutir in fine à un résultat qui, de fait, est un artéfact numérique. Ce dernier point est amplifié lorsqu’on considère une valeur plus faible de la constante cinétique de dissolution de la calcite (SSp). La figure F illustre assez bien la divergence numérique causée par une chimie trop peu réactive pendant le pas de temps (conjonction d’une constante cinétique faible et d’un pas de temps trop raffiné) : seules les valeurs les plus élevées du pas de temps (6 et 60 s) conduisent à des résultats cohérents, les valeurs plus faibles (0.6 et 0.1 s) conduisant à de très fortes divergences avec la solution RER.

Par ailleurs, la mise en évidence de cette erreur, même si elle ne remet pas en cause la plupart des résultats et conclusions auxquelles nous étions parvenus dans le rapport, nous oblige toutefois à être moins affirmatifs quant à la pertinence de l’utilisation d’algorithmes alternatifs au SNI : nous avions conclu initialement (p.55-56) au peu d’amélioration apporté par l’algorithme SSI au regard de la plus grande consommation en temps calcul. Compte tenu des dernières simulations réalisées (cf. figure E, qui remplace la figure 10a du rapport), il semble qu’une légère amélioration de la précision puisse être obtenue avec SSI, SS et SI (avec eps = 0.02). Par contre, lorsque le critère de convergence est trop relaxé (eps = 0.05 dans notre cas), la méthode SI peut conduire à des résultats erronés, comme nous l’avions déjà constaté très nettement à des temps d’observation au-delà de 1 h (2 h et 3 h, cf. fig. 10 du rapport).

A posteriori, les nouveaux résultats obtenus nous paraissent finalement plus cohérents et rassurants quant au bon comportement des différents codes de calcul et algorithmes de couplage testés au cours de cette étude. Toutefois, il est à souligner que l’erreur de programmation, toujours possible (la preuve !), a eu ici un effet particulièrement pernicieux dans la mesure où a été observée une convergence étonnamment bonne entre MARTHE+SCS et RER pour un pas de temps extrêmement faible alors que les résultats obtenus relevaient, respectivement, d’un artéfact numérique et d’un paramétrage différent et étaient donc incomparables. On peut imaginer que cette erreur de programmation aurait été détectée beaucoup plus tôt dans l’étude si nous n’avions pas eu la « malchance » d’observer cette convergence apparente qui n’avait absolument pas lieu d’être. Cette expérience contribuera certainement, si besoin en était, à argumenter dans le sens d’une extrême prudence lors de l’interprétation de résultats numériques supposés reproduire ou même prédire le comportement de systèmes réactifs, même lorsqu’ils sont supposés être simples, comme c’était ici le cas.

Page 8: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final iii

Profil à t = 1h (Calcium)

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

ncen

trati

on

(m

ol/

l)

RER (5) MARTHE+SCS (dt=60s)

Figure A - Profil de concentration en calcium à t = 1 h : comparaison RER et MARTHE+SCS (�t = 60 s).

Profil à t = 1h (Calcium)

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

ncen

trati

on

(m

ol/

l)

RER (5) MARTHE+SCS (dt=0.9375s)

Figure B - Profil de concentration en calcium à t = 1 h : comparaison RER et MARTHE+SCS (�t = 0.9375 s).

Page 9: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

iv BRGM/RP-54904-FR – Rapport final

Profil à t = 1h (Calcium)

0.002

0.0030.004

0.005

0.006

0.0070.008

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

nc

en

tra

tio

n (

mo

l/l)

RER (5) MARTHE+SCS (dt=0.1s)

Figure C - Profil de concentration en calcium à t = 1 h : comparaison RER et MARTHE+SCS (�t = 0.1 s).

t = 1h, Calcium

0.0E+00

1.0E-03

2.0E-03

3.0E-03

4.0E-03

5.0E-03

6.0E-03

7.0E-03

8.0E-03

9.0E-03

1.0E-02

0 2 4 6 8 10

cm

mo

l/kg

H2O

PHREEQCMARTHE+SCS (dt=0,1s)EquilibreInitalrer

Figure D - Profil de concentration en calcium à t = 1 h : comparaison RER, MARTHE+SCS (�t = 0.1 s) et PHREEQC (�t = 67.7 s).

Page 10: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final v

Profil à t = 1h (Calcium)

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

nc

en

tra

tio

n (

mo

l/l) RER (5)

SNI (Dt=60s)

SNI (Dt=0.1s)

SI eps=0.05 (Dt=60s)

SI eps=0.02 (Dt=60s)

SSI (Dt=60s)

SS (Dt=60s)

Figure E - Profil de concentration en calcium à t = 1 h : comparaison RER et RER-SEQ pour différents algorithmes de couplage (SNI, SI, SSI, SS).

Profil en Ca total à t =1 h

0.001

0.002

0.003

0.004

0.005

0.006

0 2 4 6 8 10Distance (cm)

Co

ncen

trati

on

(m

ol/

kg

w)

RER RER-SEQ (SNI) - Dt=60

RER-SEQ (SNI) - Dt=0.6 RER-SEQ (SNI) - Dt=0.1

RER-SEQ (SNI) - Dt = 6

Figure F - Profil de concentration en calcium à t = 1 h avec une constante cinétique dix fois plus faible qu’auparavant (SSp = 0.5) : comparaison RER et RER-SEQ avec

l’algorithme de couplage SNI.

Page 11: Etude comparative des algorithmes de couplage des codes ...
Page 12: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 7

Sommaire

1. Introduction .......................................................................................................... 11

2. Principe de l’étude ............................................................................................... 13

3. Equations de base des mélangeurs parfaits...................................................... 17

3.1. MELANGEUR PARFAIT.................................................................................. 17

3.2. MELANGEURS PARFAITS EN SERIE ........................................................... 19

4. Principales caractéristiques des codes de calculs utilisés .............................. 23

4.1. SCS (SIMULATEURS CHIMIQUES SPECIFIQUES)....................................... 23

4.2. RER 24

4.3. MARTHE+SCS................................................................................................ 24

4.4. RER-SEQ........................................................................................................ 25

4.5. PHREEQC ...................................................................................................... 25

5. Présentation des schémas de séparation de l’opérateur utilisés..................... 27

5.1. SNI : SEQUENTIEL NON ITERATIF ............................................................... 27

5.2. SS : STRANG SPLITTING .............................................................................. 28

5.3. SI : SEQUENTIEL ITERATIF........................................................................... 29

5.4. SSI : SEQUENTIEL ITERATIF SYMETRIQUE................................................ 31

5.5. ALGORITHME DE COUPLAGE DE PHREEQC.............................................. 32

6. Synthèse des simulations réalisées ................................................................... 37

6.1. CAS N°1 : INJECTION CONTINUE D’UN TRACEUR PARFAIT DANS UNE COLONNE ...................................................................................................... 37 6.1.1. Description du problème ........................................................................ 37 6.1.2. Résultats obtenus .................................................................................. 38

6.2. CAS N°2 : INJECTION CONTINUE D’UN REACTIF SE DEGRADANT SELON UNE CINETIQUE DU PREMIER ORDRE DANS UN RESEAU DE 5 MELANGEURS PARFAITS EN SERIE ........................................................... 40

Page 13: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

8 BRGM/RP-54904-FR – Rapport final

6.2.1. Description du problème......................................................................... 40 6.2.2. Résultats obtenus et discussion ............................................................. 41

6.3. CAS N°3 : INJECTION CONTINUE D’UNE SOLUTION ENRICHIE EN CO2 DANS UNE COLONNE DE CALCITE PURE................................................... 45 6.3.1. Description du problème......................................................................... 45 6.3.2. Résultats obtenus et discussion ............................................................. 49

7. Conclusion............................................................................................................ 63

Liste des figures

Figure 1 – Algorithme de couplage chimie-transport utilisé par PHREEQC. .............................. 34

Figure 2 – Comparaison entre solution analytique (Coats et Smith, 1964) et solution numérique pour MARTHE avec un pas de temps de 60 s (fig. 2a à 2d) et RER (fig. 2e et 2f) pour les paramètres décrits dans le tableau 2. .................................................................. 39

Figure 3 – Comparaison entre solution analytique (Sauty, 1995) et solution numérique obtenue avec RER-SEQ pour différents algorithmes de couplage et différents pas de temps pour l’injection dans un ensemble de 5 mélangeurs parfaits d’un produit se dégradant selon une loi cinétique du premier ordre. Courbes d’élution pour le mélangeur n°1 (a et b) et le mélangeur n°5 (c et d). ................................................................... 42

Figure 4 - Comparaison entre solution analytique (Sauty, 1995) et solution numérique obtenue avec RER-SEQ pour différents algorithmes de couplage et différents pas de temps pour l’injection dans un ensemble de 5 mélangeurs parfaits d’un produit se dégradant selon une loi cinétique du premier ordre. Profils de concentration à t = 200 s (a et b) et t = 800 s (c et d). ......................................................................................................... 43

Figure 5 – Comparaison entre solution analytique (Sauty, 1995a et b) et solution numérique obtenue avec RER (c et d) pour l’injection dans un ensemble de 5 mélangeurs parfaits d’un produit se dégradant selon une loi cinétique du premier ordre. Profils de concentration à t = 100, 200, 400, 800 s (b et d) et courbes d’élution pour les mélangeurs n°1 à n°5 (a et c)...................................................................................................... 44

Figure 6 – Comparaison entre les résultats des simulations en batch réalisées avec PHREEQC et avec le SCS « mplpwp »....................................................................................... 50

Figure 7 – Comparaison entre les résultats des simulations couplées réalisées avec MARTHE+SCS (couplage de type SNI) pour cinq valeurs du pas de temps : ∆t = 60 s (a), ∆t = 15 s (b), ∆t = 3.75 s (c), ∆t = 0.94 s (d), ∆t = 0.1 s (e) et les résultats obtenus avec RER (couplage DSA , pas de temps adaptatif ajusté automatiquement) pour le profil en calcium total dissous après 1 h de percolation.............................................................. 52

Figure 8 – Comparaison entre les résultats des simulations couplées réalisées avec RER-SEQ (option SNI) et MARTHE+SCS pour trois valeurs du pas de temps : ∆t = 60 s (a), ∆t = 1 s (b), ∆t = 0.1 s (c) et les résultats obtenus avec RER (couplage DSA, pas de

Page 14: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 9

temps adaptatif ajusté automatiquement) pour le profil en calcium total dissous après 1 h de percolation.........................................................................................................................54

Figure 9 – Comparaison entre les résultats des simulations couplées réalisées avec PHREEQC pour trois maillages et trois valeurs du pas de temps : 20 mailles et ∆t = 339.25 s (a), 100 mailles et ∆t = 67.85 s (b), 500 mailles et ∆t = 13.6 s (c) et les résultats obtenus avec RER (couplage DSA, pas de temps adaptatif ajusté automatiquement) pour le profil en calcium total dissous après 1 h de percolation. ...................55

Figure 10 – Comparaison entre les résultats des simulations couplées réalisées avec RER-SEQ pour les différents algorithmes de couplage (SNI, SI, SS, SSI) et les résultats obtenus avec RER (couplage DSA, pas de temps adaptatif ajusté automatiquement) pour le profil en calcium total dissous après 1 h (a), 2 h (b) et 3h (c) de percolation...............................................................................................................................57

Figure 11 – Comparaison entre les résultats des simulations couplées réalisées avec RER-SEQ, PHREEQC et MARTHE+SCS et les résultats obtenus avec RER pour des valeurs plus grandes de la surface réactive : SSp = 50 cm2.g-1 (a, c, e) et SSp = 500 cm2.g-1 (b, d, f, g, h)......................................................................................................................60

Liste des tableaux

Tableau 1 – CPU estimé et constaté en fonction du nombre de cellules pour un problème couplé (colonne 1D) avec une chimie simple (dissolution de la calcite avec loi cinétique)......................................................................................................................................36

Tableau 2- Valeurs des paramètres pour le cas-test n°1 ............................................................38

Tableau 3 - Composition de l’eau saturant la carotte initialement ...............................................46

Tableau 4 - Composition de l’eau d’injection ...............................................................................47

Tableau 5 - Paramètres hydrodynamiques..................................................................................49

Page 15: Etude comparative des algorithmes de couplage des codes ...
Page 16: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 11

1. Introduction

Ce travail a été réalisé dans le cadre du projet de recherche PICOR (Piégeage du CO2 dans les Réservoirs) cofinancé par le Réseau de Technologies Pétrolières et Gazières (RTPG) et finalisé dans le cadre du projet PICOREF (Piégeage du CO2 dans les Réservoirs En France, financement RTPG également). Un des objectifs de PICOR visait l’amélioration des codes couplés chimie-transport dans le but de les appliquer ultérieurement à la problématique générale du stockage géologique du CO2.

En lien étroit avec les études expérimentales de percolation réactive qui ont été réalisées chez divers partenaires des projets PICOR et PICOREF, dont le BRGM, l’objectif visé ici était de contribuer à mieux appréhender le comportement numérique et les performances réelles des codes de calcul chimie-transport préalablement à leur utilisation pour l’interprétation des expériences.

Pour ce faire, nous avons choisi de définir un certain nombre de cas-tests autour desquels nous avons pu procéder à des inter-comparaisons relativement poussées entre différents logiciels développés au BRGM (MARTHE+SCS, RER, RER-SEQ) ou du domaine public (PHREEQC) qui sont couramment utilisés dans les travaux liés à l’étude générale des interactions eau-roches.

Après la présentation des principes adoptés pour mener à bien cette étude (chapitre 2), ce rapport décrit les équations de base des mélangeurs parfaits qui constituent une solution de référence pour une grande partie des simulations réalisées et qui sont à la base des codes de calcul RER et RER-SEQ (chapitre 3). Les principales caractéristiques des différents codes de calcul utilisés (chapitre 4) ainsi qu’un descriptif détaillé des divers algorithmes de couplage testés (chapitre 5) sont ensuite présentés. La dernière partie de ce rapport (chapitre 6) présente la synthèse détaillée des diverses simulations qui ont été réalisées et les conclusions auxquelles nous sommes parvenus au terme de cette étude.

Page 17: Etude comparative des algorithmes de couplage des codes ...
Page 18: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 13

2. Principe de l’étude

Les travaux réalisés dans le cadre du projet national sur le Piégeage du CO2 dans les Réservoirs (PICOR) prévoient notamment l’évaluation des performances des codes couplés chimie-transport et, si possible, leur validation dans le contexte du stockage de CO2 en aquifère. Pour ce faire, le projet PICOR comprend en particulier un programme expérimental de laboratoire visant à étudier à la fois les cinétiques réactionnelles de dissolution des carbonates sous pression de CO2 élevée, mais également l’injection continue d’une solution contenant de fortes concentrations en CO2 dissous dans une carotte carbonatée. Les conditions de réalisation de ces expériences doivent aboutir, in fine, à l’obtention de données de référence directement utilisables pour valider des codes de calculs chimie-transport.

Les codes couplés utilisés au BRGM depuis plusieurs années (MARTHE+SCS, RER, PHREEQC) ont permis de réaliser un certain nombre d’études de type « simulation de scénario » ou « interprétation d’expériences ». Ainsi, par exemple, les travaux réalisés dans le cadre du projet de recherche européen SACS2 (Czernichowski et al., 2002) ont permis de comparer des données acquises en laboratoire avec les résultats de simulations dans le cas d’une injection continue d’eau fortement enrichie en CO2 (pCO2 = 100 bar) dans une colonne constituée de sable d’Utsira (mer du nord). Bien que particulièrement intéressant, ce type d’expérience à partir de matériaux naturels ne permet pas de conclusion définitive quant à la validation d’un code de calcul. A ceci, plusieurs raisons parmi lesquelles on peut citer :

- les conditions expérimentales difficiles (haute pression de CO2 en tête de colonne, dégazage mal maîtrisé des échantillons récupérés en sortie de dispositif) rendent délicates, voire erronées, les mesures de certains paramètres chimiques. D’où une difficulté évidente à comparer des résultats de calcul aux mesures et à conclure sur la pertinence du modèle lorsque les résultats diffèrent très significativement.

- L’échantillon de sable naturel est chimiquement mal contraint dans la mesure où il persiste des incertitudes sur la minéralogie (nature exacte des phases minérales en présence et proportions). Il est par conséquent difficile de définir les conditions initiales (composition de la phase solide) qui, s’agissant de réactions chimiques cinétiques, sont bien sûr déterminantes quant à l’évolution du système au cours du temps.

- Les propriétés hydrodispersives du matériau constituant la colonne ne sont pas connues (pas d’expérience de traçage réalisée). De ce fait, la partie « transport » du modèle couplé doit s’appuyer sur un jeu de paramètres non mesurés et donc estimés, ce qui engendre une imprécision (difficile à quantifier a priori) sur les résultats chimie-transport finaux.

Un des objectifs majeurs du projet PICOR est donc de pallier ce type de difficultés en réalisant des dispositifs expérimentaux orientés « validation des codes couplés » dans le contexte particulier de l’injection de CO2. Les expérimentations s‘appliquent à des échantillons mono-minéraux synthétiques (frittés de calcite par exemple) ou naturels

Page 19: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

14 BRGM/RP-54904-FR – Rapport final

« simples » (mono ou bi-minéraux). Ainsi, on espère obtenir des résultats beaucoup mieux contraints et, de fait, plus simples à interpréter dans la mesure où le nombre de degrés de liberté du système à modéliser se retrouvera considérablement réduit.

Dans l’attente de la disponibilité de ces résultats expérimentaux et compte tenu de la spécificité des simulations à réaliser pour en assurer une interprétation correcte, il nous paraissait nécessaire d’effectuer une évaluation préalable des performances respectives des différents codes de calcul couplés disponibles au BRGM en insistant plus particulièrement sur l’influence de l’algorithme de couplage sur la précision des résultats dans un contexte de réactions cinétiques. En effet, les études réalisées jusqu’à présent visaient plus à dégager des tendances plutôt qu’à calculer avec une grande précision l’évolution des systèmes considérés et ne s’attachaient pas, notamment, à décrire la cinétique des mécanismes réactionnels à partir de formalismes établis spécifiquement, comme cela est le cas dans PICOR. Dans le cas des travaux de modélisation réalisés dans PICOR, nous avons donc pour but de calculer avec le plus de précision possible l’évolution des systèmes étudiés expérimentalement en se donnant les moyens de cette précision, à savoir, en étudiant des systèmes « simples » et bien contraints. Par conséquent, de même que l’incertitude de la mesure expérimentale est généralement connue, nous devons être en mesure d’estimer quantitativement l’imprécision inhérente aux calculs afin d’avoir un avis tranché sur la validité du modèle lorsque les résultats numériques seront confrontés aux données expérimentales. Il s’agira en effet de conclure face aux écarts éventuels observés entre résultats expérimentaux et résultats de calcul : s’agit-il d’un écart acceptable compte tenu de l’incertitude de la mesure et de l’imprécision du calcul ou, au contraire, sommes-nous en présence d’un écart tel qu’il implique la remise en cause du modèle physico-chimique sur lequel se basent ces calculs ?

Cependant, l’estimation de la précision d’un code de calcul reste une tâche relativement délicate qui nécessite, avant tout, d’avoir à disposition des solutions (numériques ou analytiques) de référence. Dans la problématique générale de la modélisation couplée chimie-transport, il existe plusieurs solutions analytiques classiques permettant de valider la partie « transport » ; concernant la partie « chimie », il n’existe pas de solution analytique connue traitant d’un problème chimique, même simplifié (mais tout de même plus évolué qu’un simple modèle de type « coefficient de partage »), dès lors qu’une phase autre que la phase aqueuse (un solide, un gaz) est susceptible d’apporter ou de consommer des éléments chimiques dissous et donc, a fortiori, il n’y a pas de solution analytique couplée traitant par exemple de la dissolution d’une phase minérale par un fluide agressif dans un système de type colonne. Par conséquent, le travail de vérification ne peut se faire dans le cas présent qu’en comparant entre eux les résultats numériques provenant de différents codes utilisant des méthodes numériques différentes. In fine, les résultats expérimentaux permettront d’avoir un avis plus définitif sur la validité de tel ou tel code de calcul.

Les codes de calculs couplés « chimie-transport » utilisés couramment au BRGM dans le cadre d’études sont MARTHE+SCS (Kervévan et al., 1998 ; Thiéry, 1990, 1993, 1994, 1995 ; Kervévan et Baranger, 1998), RER (Réacteurs En Réseau, Baranger et Kervévan, 1998) et PHREEQC (Parkhurst et Appelo, 1999). Les deux

Page 20: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 15

premiers logiciels sont développés entièrement au BRGM et reposent, pour le premier, sur l’assemblage d’un logiciel de modélisation hydrogéologique 3D sophistiqué (MARTHE) avec un Simulateur Chimique Spécifique (SCS) spécialement créé pour le problème qui nous intéresse (utilisation de progiciels de génération de simulateur). Les RER sont également basés sur un SCS mais la partie transport résout les équations des mélangeurs parfaits en cascade ; il s’agit donc d’une approche moins sophistiquée concernant l’aspect transport mais qui bénéficie néanmoins de la chimie détaillée du SCS. PHREEQC est quant à lui un code téléchargeable sur le site de l’USGS et est très largement utilisé dans la communauté des géochimistes ; la chimie traitée est très complète et, de plus, il permet de simuler le couplage pour les systèmes 1D simples de type « colonne ».

Les développements des années passées concernant les codes couplés du BRGM ont été réalisés selon un choix technique de séparation des opérateurs (operator splitting) entre chimie et transport. L’un des avantages évident de ce type d’approche réside dans la possibilité de développement parallèle des modules chimiques et hydrodynamiques par les spécialistes respectifs des deux disciplines. Ainsi, le code MARTHE+SCS est arrivé à un stade de développement qui lui permet de prendre en compte simultanément un grand nombre de processus complexes aussi bien en hydrodynamique (3D, zone non saturée, etc. qu’en géochimie (cinétiques, formalismes de Pitzer, etc.). Le code PHREEQC, de son côté, est clairement axé « géochimie », la partie transport ne permettant d’aborder que le 1D saturé ce qui est néanmoins généralement suffisant, en première approche, pour estimer les effets d’un flux de matière sur la géochimie d’un système {eau, roches}.

Cependant, la résolution, aussi parfaite soit-elle, des équations chimiques d’une part et des équations du transport de masse d’autre part, ne présume en rien de la fiabilité des résultats obtenus s’agissant de processus interagissant les uns avec les autres. En effet, la technique numérique de couplage entre ces processus a un rôle majeur dans la qualité du résultat final et plus particulièrement dans le cas de processus chimiques cinétiques, ce qui est typiquement le cas dans la problématique abordée dans le cadre de PICOR.

Ainsi, le travail qui est présenté dans ce rapport a pour objectif essentiel d’essayer de quantifier l’influence de l’algorithme de couplage utilisé sur le précision du résultat final. Pour ce faire, nous nous sommes placés dans les deux cas de référence suivants :

1) Injection d’un fluide contenant une molécule se dégradant selon une loi cinétique du premier ordre dans un ensemble de mélangeurs parfaits en série.

2) Injection d’une solution riche en CO2 dissous dans une colonne 1D de calcite.

Le premier exemple, bien que ne traitant pas d’une véritable chimie en rapport direct avec le projet PICOR, est néanmoins particulièrement intéressant dans la mesure où le transport seul, la chimie seule et le problème couplé complet (chimie + transport) possèdent tous une solution analytique. Par conséquent, il sera possible dans ce cas de traiter le problème complet en utilisant différents algorithmes de couplages (qui seront détaillés plus loin dans ce rapport) tout en n’induisant aucune erreur (sinon celle, négligeable dans notre cas, liée à la précision de la machine) dans la résolution

Page 21: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

16 BRGM/RP-54904-FR – Rapport final

de l’équation de transport et de l’équation chimique. L’écart éventuel entre solution analytique du problème complet et résultats numériques des simulations couplées sera alors entièrement imputable à l’algorithme de couplage utilisé.

Le deuxième exemple, bien qu’extrêmement simple comparé à la réalité des sites potentiels de stockage de CO2, ne possède cependant pas de solution analytique de la chimie seule et, a fortiori, du problème complet. Cet exemple a été choisi car il a été utilisé par le BRGM pour ses calculs préliminaires de pré-dimensionnement du dispositif de percolation réactive mis au point dans le cadre de PICOR. Afin de disposer d’une solution de référence, nous avons ici utilisé le modèle RER qui, comme nous le verrons, s’avère dans ce cas le plus précis. Moyennant certaines hypothèses sur lesquelles nous reviendrons ultérieurement, les codes MARTHE+SCS et PHREEQC ont ainsi pu être comparés aux résultats du RER et donc évalués sur cet exemple précis.

Ce travail s’appuie donc sur une démarche de type « expérimentation numérique ». Il ne s’agit en aucun cas ici de mettre au point un nouvel algorithme mais d’évaluer la pertinence et la précision, sur un cas d’intérêt pour le projet PICOR, des principales techniques de couplage décrites dans la littérature et notamment celles utilisées dans les logiciels utilisés au BRGM. Au terme de ces expérimentations numériques, nous aurons une meilleure idée du comportement de nos outils de calcul et de leur domaine d’utilisation optimale notamment en ce qui concerne le choix du pas de temps. Il sera alors possible d’envisager une première validation à partir des données expérimentales qui sont acquises par ailleurs dans le cadre de ce projet.

Page 22: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 17

3. Equations de base des mélangeurs parfaits

Les mélangeurs parfaits ont servi de cas de référence pour les différentes expérimentations numériques réalisées. Nous en présentons ici les équations de base.

3.1. MELANGEUR PARFAIT

Soit un réacteur de volume rV (m3) parfaitement agité traversé par un flux de matière à

un débit volumique V (m3.s-1). Appliquant au débit molaire n (mol.s-1) la formulation générale d’un bilan relatif à une variable extensive, à savoir :

Entrée + Création = Sortie + Accumulation,

on peut alors écrire l’équation suivante :

dt

dnn

dt

drn SE +=+

(1)

Dans cette équation, les indices E et S sont relatifs, respectivement, à l’entrée et à la sortie du réacteur, n désigne le nombre de moles (mol), t le temps (s) et dtdr (mol.s-1) correspond au terme de création (> 0) ou disparition (< 0) de matière.

Afin de manipuler des grandeurs plus familières, l’équation (1) peut être reformulée en concentrations. Pour ce faire, on effectue les changements de variables suivants :

r

SS

EE

V

nc

V

nc

V

nc === ;;

(2)

L’équation (1) s’écrit alors :

dt

cVdVc

dt

drVc r

SE

)( ⋅+⋅=+⋅

(3)

En supposant que le volume du réacteur est constant et en divisant par le débit volumique supposé constant lui aussi, l’équation (3) s’écrit sous la forme :

dt

dc

V

Vc

dt

dr

Vc r

SE ⋅+=⋅+1

(4)

Le terme VVr , homogène à un temps (s), correspond au temps de séjour dans le réacteur et sera noté τ . Par ailleurs, l’hypothèse de réacteur parfaitement mélangé implique l’homogénéité de la concentration en tous points du réacteur et en particulier

Page 23: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

18 BRGM/RP-54904-FR – Rapport final

en sortie ( ccS = ). Par conséquent, l’équation (4) peut être réécrite plus

simplement sous la forme :

dt

dcc

dt

dr

VcE ⋅+=⋅+ τ

1

(5)

Dans le cas général, cette équation n’est pas intégrable analytiquement. Cependant, dans le cas particulier où la concentration injectée Ec est constante et où le terme de création est nul (produit non réactif par exemple), l’équation (5) se simplifie en :

dt

dcccE ⋅+= τ

(6)

En supposant que le réacteur contient une concentration initiale 0c du produit injecté à

la concentration Ec , l’intégration de l’équation (6) aboutit à la solution suivante :

( ) τt

EE ecccc−

⋅−+= 0 (7)

Dans le cas particulier où la concentration initiale est nulle, on retrouve alors la solution classique :

−⋅=

−τt

E ecc 1 (8)

Notons enfin que dans l’hypothèse où le terme de création est non nul mais constant, l’équation (5) revêt alors une forme rigoureusement similaire à celle de l’ équation (6). En effet, en posant :

Rdt

dr=

(9)

Et en notant :

V

Rcc EE +=*

(10)

On peut alors écrire (5) sous la forme :

dt

dcccE ⋅+= τ*

(11)

La solution de l’équation (11) pour une concentration initiale non nulle étant alors :

Page 24: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 19

( ) τt

EE ecccc−

⋅−+= *

0

* (12)

Tout au long de ce travail, nous nous référerons à la résolution de l’équation (11) pour établir les solutions des problèmes relatifs à l’assemblage de N réacteurs identiques en série.

3.2. MELANGEURS PARFAITS EN SERIE

On considère maintenant un assemblage de N réacteurs identiques de volume rV

traversés par le même débit volumique V . Les solutions analytiques à ce problème dans le cas où la concentration initiale et le terme source sont nuls ont déjà été décrites par Sauty (1995). Dans cette étude, il nous était nécessaire, comme nous le verrons plus loin, d’avoir accès à la solution analytique dans le cas plus général où la concentration initiale est non nulle et spécifique à chaque réacteur et où le terme source est susceptible d’être non nul, spécifique à chaque réacteur, mais néanmoins constant. L’équation décrivant le bilan dans le 1er réacteur du système (le plus amont) reste identique à l’équation (11). En introduisant les notations indicées relatives au numéro du réacteur considéré, on réécrit cette équation sous la forme suivante :

dt

dcccE

11

*

1, ⋅+= τ (13)

Avec :

V

Rcc EE

1*

1, += (14)

Conformément au cas du mélangeur unique, l’intégration de l’équation (13) conduit à une solution de la forme :

( ) τt

EE ecccc−

⋅−+= *

1,1,0

*

1,1 (15)

S’agissant du deuxième réacteur, situé immédiatement en aval, l’équation de bilan reste identique, dans sa forme, à l’équation (13) à ceci près que le membre de gauche n’est plus constant vu que la concentration du fluide entrant est celle sortant du réacteur n°1. Ainsi, le bilan s’écrit :

dt

dcc

V

Rc 2

22

1 ⋅+=+ τ (16)

En remplaçant 1c par sa valeur, il vient :

Page 25: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

20 BRGM/RP-54904-FR – Rapport final

( )dt

dcc

V

Reccc

t

EE2

22*

1,1,0

*

1, ⋅+=+⋅−+−

ττ (17)

Soit :

dt

dcce

V

Rcc

V

R

V

Rc

t

EE2

21

1,021 ⋅+=⋅

+−+++

−ττ

(18)

L’intégration de l’équation (18), plus délicate, aboutit finalement à une solution de la forme :

τ

τ

t

EEE et

V

Rcc

V

R

V

Rcc

V

R

V

Rcc

−⋅

+−+

++−+++= 1

1,021

2,021

2 (19)

En reprenant le même formalisme que pour l’équation (15), on peut écrire :

( ) ( ) τ

τ

t

EEE et

cccccc−

⋅−+−+= *

1,1,0

*

2,2,0

*

2,2 (20)

Avec :

V

R

V

Rcc EE

21*

2, ++= (21)

En poursuivant le calcul pour le troisième réacteur et en raisonnant par récurrence, on en déduit finalement la solution pour le kème réacteur du système :

( )τ

τ

tjk

j

jkEjk

kEk et

j

cccc

−−

=

−−⋅

−+= ∑

1

0

*

,,0*

,!

(22)

Avec :

∑=

⋅+=k

j

jEkE RV

cc1

*

,

1

(23)

A partir de cette solution, on peut bien sûr se ramener aux cas plus simples pour lesquels les concentrations initiales et les termes de création seraient nuls pour tous les réacteurs. L’équation (22) se simplifiant alors comme suit :

τ

τ

tjk

j

EEk e

t

j

ccc

−−

=

⋅−= ∑

1

0 !

(24)

Page 26: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 21

Soit encore :

⋅−⋅=

−−

=

∑ τ

τ

tjk

j

Ek et

jcc

1

0 !

11

(25)

Ce qui correspond bien à la solution donnée par Sauty (1995, p.12).

Page 27: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

22 BRGM/RP-54904-FR – Rapport final

Page 28: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 23

4. Principales caractéristiques des codes de calculs utilisés

Dans ce chapitre, on s’attachera à présenter les principales caractéristiques des codes couplés chimie-transport utilisés s’agissant essentiellement des algorithmes de couplage qui y sont implémentés. Pour plus de détails sur les caractéristiques complètes de ces logiciels, le lecteur pourra se référer aux manuels lorsqu’ils sont disponibles.

4.1. SCS (SIMULATEURS CHIMIQUES SPECIFIQUES)

La notion de Simulateur Chimique Spécifique est une approche qui a été introduite au BRGM au début des années 1990 pour répondre aux besoins de l’époque en modélisation couplée. Le peu de codes couplés alors disponibles sur le marché ne permettait pas de satisfaire nos cahiers des charges. La difficulté de développement et de gestion dans le temps d’un code couplé complet d’une part, l’impossibilité technique d’utiliser le code chimique de référence de l’époque (EQ3/6 ; Wollery, 1995) pour le coupler à un code de transport d’autre part, nous a finalement amené à développer des simulateurs chimiques dédiés au problème étudié pour ensuite les coupler à des codes de transport. L’objectif étant principalement de réduire le temps de calcul par rapport à un code à vocation généraliste qui prend en compte un très grand nombre d’espèces chimiques aqueuses, minérales et gazeuses et est par conséquent beaucoup plus gourmand en termes de temps calcul.

Afin de rendre possible cette approche, il n’était pas envisageable de développer « à la main » des simulateurs chimiques pour chaque nouvelle étude et c’est pour cette raison que nous avons utilisé un outil généraliste d’aide à la conception de simulateurs (ALLAN, distribué par Dassault Data Services) associé à un solveur puissant (NEPTUNIX 4, distribué par CS-SI). Pour plus de détails sur la conception des SCS, on pourra se référer à Kervévan et Baranger (1998) et Kervévan et Lanini (1999).

En ce qui concerne leur utilisation à des fins de couplage avec des codes de transport, les SCS se présentent in fine comme des modules de type « boîte noire » dont les variables à fournir en entrée sont la température, la pression, la composition élémentaire de la phase aqueuse et la composition de la phase solide ainsi que le pas de temps qui définit la durée du calcul chimique dans le cas où la cinétique réactionnelle est prise en compte (ce qui est effectivement le cas dans ce travail). En fin de calcul chimique, le SCS retourne au code appelant (en l’occurrence le code de transport) la composition des phases aqueuse et solide modifiée par les réactions chimiques qui se sont produites. Les codes BRGM RER-SEQ, RER et MARTHE+SCS décrits ci-après sont tous basés sur une chimie identique de type SCS, ce qui est un avantage certain s’agissant de comparer les algorithmes de couplage entre chimie et transport et/ou la qualité du module de transport.

Page 29: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

24 BRGM/RP-54904-FR – Rapport final

4.2. RER

Les RER (Réacteurs En Réseau) ont été initialement développés au BRGM à l’aide des progiciels ALLAN et NEPTUNIX 4 dans le but d’avoir à notre disposition des outils de modélisation couplée simples d’utilisation et surtout extrêmement modulaires (Baranger et al., 1995 ; Baranger et Kervévan , 1998). A l’origine, ils ont été utilisés dans des études sur la lixiviation des minerais (Kervévan et Baranger, 1997) et des mâchefers (Baranger et al., 2002) ou pour des approches simplifiées de la pollution diffuse en milieu urbain (Kervévan et al., 2000). Basés sur un SCS pour ce qui est de la partie chimique, les RER bénéficient donc de l’avantage majeur qui consiste à pouvoir aisément passer d’un problème couplé à un autre à partir d’un simple « changement de SCS ». La partie transport, quant à elle, repose sur l’équation des mélangeurs parfaits (Eq. 5) dans laquelle le terme source, conséquence directe des réactions chimiques, provient du module SCS. Cette équation du transport est ainsi résolue pour chaque réacteur, fournissant à son tour un terme source aux équations chimiques du SCS dû aux effets de mélange induits par l’écoulement. Les équations chimiques (SCS) et de transport sont ensuite résolues simultanément et c’est là que se situe la principale différence avec tous les autres codes utilisés dans cette étude, à savoir qu’il n’y a pas, dans ce cas, de séparation des opérateurs (« operator splitting »). Ainsi, nous avons donc un couplage fort de type DSA (Direct Substitution Approach, Yeh et Tripathi, 1989) entre chimie et transport, ce qui va dans le sens d’une plus grande robustesse (Saaltink et al., 2001) et d’une plus grande précision. L’algorithme d’intégration ajuste automatiquement la valeur du pas de temps en fonction du comportement du système.

Un autre aspect intéressant des réacteurs homogènes lorsqu’ils sont connectés en série est que, moyennant le choix d’un nombre adapté de réacteurs qui est fonction des conditions d’écoulement (vitesse, dispersion cinématique), ils se comportent de manière analogue à un système poreux homogène 1D (Basagaoglu et al., 2002 ; Sardin et al., 1991). Nous utiliserons ultérieurement cette propriété lors de nos comparaisons effectuées dans le cas de la simulation d’une percolation réactive dans une carotte poreuse homogène de calcite.

4.3. MARTHE+SCS

MARTHE+SCS constitue sans aucun doute le code couplé le plus évolué actuellement utilisé au BRGM dans le cadre d’études pour clients dans la mesure où il allie l’ensemble des performances du code MARTHE pour ce qui est de la partie « écoulement » et « transport de masse » (Thiéry, 1990, 1993, 1994, 1995) à celles offertes par les SCS en matière de modélisation géochimique (développement « à façon » en fonction de la nature du problème étudié). Il est ainsi possible de traiter des problèmes couplés en 1D, 2D ou 3D et ce, en zone saturée ou non saturée, en prenant en compte les éventuelles hétérogénéités géologiques du terrain, etc. Les opérateurs (chimie et transport) sont donc ici séparés et le couplage entre MARTHE et le SCS repose sur un algorithme de type séquentiel. Il est à noter qu’il n’y a pas d’itérations au sein d’un même pas de temps entre chimie et transport ce qui nécessite, dans certains cas, d’avoir recours à une discrétisation temporelle fine qui engendre des problèmes

Page 30: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 25

en termes de temps calcul, notamment lorsque la discrétisation spatiale est elle aussi raffinée.

4.4. RER-SEQ

RER-SEQ (pour Réacteurs En Réseau couplage SEQuentiel) ne constitue pas à proprement parler un logiciel utilisé pour les études de cas. Il s’agit en fait d’un outil expérimental, développé spécialement pour la présente étude et extrêmement rustique en terme d’interface. Ce développement a été réalisé dans le but unique de tester différents algorithmes de couplage sans avoir besoin de modifier pour cela les autres logiciels existant, ce qui aurait demandé une somme de travail infiniment plus conséquente.

Pour répondre à cet objectif et conformément à la démarche présentée au chapitre 2, nous avons utilisé les solutions analytiques exactes des mélangeurs parfaits en série (§3.2) pour simuler la partie « transport ». Ainsi, nous avons la garantie de ne générer aucune erreur sur le transport (autre que les limites de la précision machine). La partie chimique, quant à elle, est constituée par un SCS qui correspond, cette fois-ci, à une résolution numérique d’équations non intégrables analytiquement et donc inéluctablement entachée d’une certaine imprécision. Toutefois, des deux cas que nous avons étudiés et qui seront détaillés plus loin, seul le deuxième (dissolution de calcite) correspond à une chimie relativement complexe pour laquelle nous ne savons pas chiffrer avec exactitude la précision du résultat tout en sachant quand même qu’elle est relativement élevée. Le premier cas étudié (cinétique de dégradation du 1er ordre) possède par contre une solution analytique exacte ; nous avons néanmoins choisi de résoudre cette équation en utilisant un SCS car les tests réalisés ont montré que l’erreur générée par l’intégration numérique était, dans ce cas, tout à fait négligeable (ce qui donne une idée des bonnes performances de l’algorithme de résolution implémenté dans le solveur NEPTUNIX 4).

Les différents algorithmes de couplage implémentés dans RER-Seq, basés sur l’approche de séparation d’opérateurs (operator splitting) reprennent les principaux « standards » que l’on peut retrouver dans la littérature, à savoir les algorithmes séquentiels purs (calculs successifs du transport puis de la chimie à chaque pas de temps) et les algorithmes séquentiels itératifs (calcul séquentiel éventuellement réitéré en fonction de la vérification ou non d’un certain critère de convergence). La thèse de Carrayrou (2001) fournit une bonne synthèse de ces algorithmes et de leurs principales variantes ; nous en détaillerons les caractéristiques dans le chapitre suivant de ce rapport.

4.5. PHREEQC

PHREEQC (Parkhurst et Appelo, 1999) est avant tout un code de modélisation géochimique à vocation généraliste. Il permet également la simulation du transport advectif et dispersif 1D couplé avec la chimie. Une des particularités intéressante de PHREEQC est de pouvoir être lui aussi adapté à une problématique spécifique (un peu comme les SCS) par modification du contenu de la base de données et/ou ajout de

Page 31: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

26 BRGM/RP-54904-FR – Rapport final

modules (programmés en BASIC) permettant de rajouter aisément des lois comportementales particulières (loi cinétique par exemple). De ce fait, et étant donné qu’il est gratuit et « open-source », PHREEQC est devenu ces dernières années un standard internationalement reconnu. Le couplage est ici aussi basé sur une technique d’ « operator splitting » de type séquentiel itératif mais présentant néanmoins quelques particularités sur lesquelles nous reviendrons dans le chapitre suivant.

Page 32: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 27

5. Présentation des schémas de séparation de l’opérateur utilisés

Ce chapitre présente les différents schémas de couplage implémentés dans RER-SEQ pour les tests que nous avons effectués et qui sont tirés de la synthèse faite par Carrayrou (2001). Afin de mieux comprendre les algorithmes qui sont présentés, il peut être utile de rappeler que la partie « transport » du code résout l’équation (11) pour chacun des éléments chimiques considérés. Par conséquent, les espèces n’apparaissent pas dans ces équations. La solution de cette équation prend ici une forme légèrement différente de l’équation (22) dans la mesure où la concentration initiale correspond dans ce cas à la concentration calculée à la fin du pas de temps précédent. En notation indicée, on peut ainsi écrire la forme générale de la solution discrétisée de l’équation (11) comme suit :

( )τ

τ

tjk

j

t

jkE

tt

jkt

kE

t

k et

j

cccc

∆−−

=

∆−

−⋅

∆⋅

−+= ∑

1

0

*,

,*,

,!

(26)

Avec :

∑=

⋅+=k

j

t

jE

t

kE RV

cc1

*,

,

1

(27)

La partie « chimie » (notée )( tCHIMIE ∆ ) calcule quant à elle la spéciation à partir des totaux élémentaires fournis par le module de transport et retourne, en sortie, les totaux élémentaires éventuellement modifiés par les réactions chimiques dont l’avancement est calculé pour le pas de temps t∆ . Notons que certains algorithmes requièrent le calcul d’une simple spéciation à partir d’une distribution élémentaire donnée sans qu’aucune réaction chimique induisant une modification de ces totaux élémentaires ne se produise (typiquement, pas de réaction avec les minéraux) ; il s’agit dans ce cas d’une chimie pendant un pas de temps de durée nulle (notée )0(CHIMIE ) afin qu’aucune réaction cinétique ne se déclenche, seules les réactions d’équilibre en phase aqueuse étant alors prises en compte.

5.1. SNI : SEQUENTIEL NON ITERATIF

Cette méthode est la plus simple et est par exemple utilisée dans le code couplé MARTHE+SCS ; elle consiste à décomposer le calcul en deux étapes :

- Etape 1 : les N éléments chimiques sont transportés durant le pas de temps ∆t, en supposant qu’aucune réaction chimique ne se produit.

- Etape 2 : le réacteur (ou la maille) est considéré comme un système fermé (batch) ; les N éléments chimiques qu’il contient se répartissent en différentes espèces qui

Page 33: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

28 BRGM/RP-54904-FR – Rapport final

réagissent entre elles et avec les phases immobiles (minéraux, sites échangeurs d’ions, etc.) durant le pas de temps ∆t.

L’algorithme correspondant peut alors s’écrire :

Boucle sur le temps

Boucle sur les N éléments chimiques

TRANSPORT(∆t)

Fin boucle sur les N éléments chimiques

Boucle sur les K réacteurs

CHIMIE(∆t)

Fin boucle sur les K réacteurs

Fin boucle sur le temps

Il est à noter que dans ce cas, il n’y a pas de terme source intervenant dans l’équation de transport. Par conséquent, l’équation (27) se simplifie :

E

t

kE cc =*,

, (28)

5.2. SS : STRANG SPLITTING

Cette approche, légèrement différente de la précédente, consiste à utiliser le schéma de Strang (1968) décomposant la partie de transport en deux étapes : un demi-pas de temps avant la chimie et un demi-pas de temps après la chimie. Le calcul se décompose finalement en trois étapes :

- Etape 1 : les N éléments chimiques sont transportées séparément d’une maille à l’autre uniquement par convection-dispersion durant un demi-pas de temps ∆t/2.

- Etape 2 : le réacteur (ou la maille) est considéré comme un système fermé (batch) ; les N éléments chimiques qu’il contient se répartissent en différentes espèces qui réagissent entre elles et avec les phases immobiles (minéraux, sites échangeurs d’ions, etc.) durant le pas de temps ∆t.

- Etape 3 : une nouvelle étape de transport est réalisée pour tous les éléments durant un demi-pas de temps ∆t/2 en utilisant comme condition initiale les concentrations calculées à la fin de l’étape 2.

L’algorithme correspondant s’écrit :

Boucle sur le temps

Page 34: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 29

Boucle sur les N éléments chimiques

TRANSPORT(∆t/2)

Fin boucle sur les N éléments chimiques

Boucle sur les K réacteurs

CHIMIE(∆t)

Fin boucle sur les K réacteurs

Boucle sur les N éléments chimiques

TRANSPORT(∆t/2)

Fin boucle sur les N éléments chimiques

Boucle sur les K réacteurs

CHIMIE(0) ! calcul de spéciation en phase aqueuse

Fin boucle sur les K réacteurs

Fin boucle sur le temps

On remarque qu’il est nécessaire d’effectuer un calcul chimique de spéciation à la fin du deuxième appel à la routine TRANSPORT. Là encore, aucun terme source n’intervient dans les équations de transport.

5.3. SI : SEQUENTIEL ITERATIF

Cette méthode reproduit le schéma séquentiel vu §5.1 mais en ajoutant un terme source « chimique » dans l’équation de transport ainsi qu’un processus itératif pendant le pas de temps jusqu’à ce que la variation relative entre deux solutions successives de l’équation de transport vérifie un certain critère de convergence. Au sein d’une itération, le calcul se décompose donc en trois étapes :

- Etape 1 : les N éléments chimiques sont transportés durant le pas de temps �t, en prenant en compte un terme source constant (nul à la première itération) dû aux réactions chimiques.

- Etape 2 : le réacteur (ou la maille) est considéré comme un système fermé (batch) ; les N éléments chimiques qu’il contient se répartissent en différentes espèces qui réagissent entre elles et avec les phases immobiles (minéraux, sites échangeurs d’ions, etc.) durant le pas de temps ∆t.

- Etape 3 : calcul des N termes sources chimiques à partir des concentrations calculées aux étapes 1 et 2.

Page 35: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

30 BRGM/RP-54904-FR – Rapport final

L’algorithme correspondant, dans lequel m indique le numéro de l’itération au sein du pas de temps, s’écrivant alors :

Boucle sur le temps

fauxeConvergenc ← ; 1←m ; 01 ←iR

Tant que (Convergence = faux) et (m < mmax)

Boucle sur les N éléments chimiques

TRANSPORT(∆t,m

iR )

mmm CCCC TR

1

TRTR

−−←∆

Fin boucle sur les N éléments chimiques

ε≤∆← CeConvergenc ; 1+← mm

Si (Convergence = vrai) alors

Boucle sur les K réacteurs

CHIMIE(0) ! calcul de spéciation en phase aqueuse

Fin boucle sur les K réacteurs

Sinon

Boucle sur les K réacteurs

CHIMIE(∆t)

Fin boucle sur les K réacteurs

( ) tVCCR r

mm

CH

m

i ∆⋅−← −− 1

TR

1

Fin si

Fin tant que

Fin boucle sur le temps

m

CHC et mCTR représentant, respectivement, la concentration à l’itération m en cours à la

fin de l’appel au module « chimie » et à la fin de l’appel au module « transport ». Il est à noter que, pour plus de clarté, nous n’avons pas fait figurer les indices relatifs aux

Page 36: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 31

éléments chimiques et au réacteur mais il reste bien évident que les variables m

CHC , mCTR , C∆ , m

iR et eConvergenc sont en fait des tableaux indicés selon l’élément

chimique considéré et le numéro du réacteur considéré.

5.4. SSI : SEQUENTIEL ITERATIF SYMETRIQUE

Cet algorithme est une variante du précédant qui prend en compte deux termes sources : un terme source « chimique » dans l’équation de transport et un terme source « transport » dans les équations du modèle chimique. Par conséquent, l’implémentation de cet algorithme a nécessité une légère modification des équations des bilans de masse élémentaires des SCS utilisés afin de prendre en compte ce terme source. Au sein d’une itération, le calcul se décompose maintenant en quatre étapes :

- Etape 1 : les N éléments chimiques sont transportés durant le pas de temps �t, en prenant en compte un terme source constant (nul à la première itération) dû aux réactions chimiques.

- Etape 2 : calcul des N termes sources « transport » (m

iRT ) à partir des concentrations calculées à l’étape 1, des concentrations au pas de temps précédent et des N termes sources « chimiques »

- Etape 3 : le réacteur (ou la maille) est considéré comme un système fermé (batch) dans lequel l’effet de transport est pris en compte via un terme source ; les N éléments chimiques qu’il contient se répartissent en différentes espèces qui réagissent entre elles et avec les phases immobiles (minéraux, sites échangeurs d’ions, etc.) durant le pas de temps ∆t.

- Etape 4 : calcul des N termes sources chimiques (m

iR ) à partir des concentrations calculées à l’étape 3, des concentrations au pas de temps précédent et des N termes sources « transport ».

L’algorithme correspondant peut s’écrire :

Boucle sur le temps

fauxeConvergenc ← ; 1←m ; 01 ←iR

Tant que (Convergence = faux) et (m < mmax)

Boucle sur les N éléments chimiques

TRANSPORT(∆t,m

iR )

( ) m

ir

ttmm

i RtVCCRT −∆⋅−← ∆−

TR

Fin boucle sur les N éléments chimiques

Page 37: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

32 BRGM/RP-54904-FR – Rapport final

Boucle sur les K réacteurs

CHIMIE(∆t,m

iRT )

Fin boucle sur les K réacteurs

( )m

CH

mm

CH

m CCCCC +−=∆ TRTR

( ) m

ir

ttm

CH

m

i RTtVCCR −∆⋅−← ∆−+1

ε≤∆← CeConvergenc ; 1+← mm

Fin tant que

Fin boucle sur le temps

Dans cet algorithme, ttC ∆− représente le champ de concentrations élémentaires au pas de temps précédent qui sert de condition initiale au calcul du transport. A la fin du pas de temps courant, ttC ∆− est mis à jour indifféremment à partir de mCTR ou de m

CHC

dans la mesure où ces deux grandeurs ne diffèrent que d’ε à la convergence.

5.5. ALGORITHME DE COUPLAGE DE PHREEQC

Le logiciel PHREEQC a été utilisé dans cette étude et nous en détaillons ici l’algorithme de couplage à partir de la description qui en est donnée dans le manuel (Parkhurst et Appelo, 1999).

Il est à noter que PHREEQC traite le transport advectif et dispersif en 1D, ce qui est bien sûr différent des équations des mélangeurs parfaits en série telles qu’elles sont résolues dans RER-SEQ. Toutefois, s’agissant ici d’exposer l’algorithme de couplage, cela n’a pas d’influence. Le transport d’un élément chimique réactif dans une colonne (1D) est décrit classiquement par l’équation d’advection-dispersion-réaction suivante :

t

q

x

CD

x

Cu

t

CL

∂−

∂+

∂−=

∂2

2

.. (29)

▪ la dispersion-diffusion étant supposée égale pour toutes les espèces dissoutes, C est la concentration (ou la molalité) totale de l’élément chimique considéré (en mol.l-1 ou mol.kg H2O

-1)

▪ u est la vitesse d’écoulement dans les pores

▪ DL coefficient de dispersion hydrodynamique (m2.s-1) : DL = De+αL.u avec De le coefficient de diffusion effectif et αL la dispersivité longitudinale (en m)

Page 38: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 33

▪ tq ∂∂ : variation de concentration de l’élément considéré due aux réactions chimiques hétérogènes (liquide-solide et liquide-gaz).

Dans PHREEQC, cette équation de transport est résolue par la méthode numérique des différences finies avec un schéma temporel explicite amont et un schéma spatial centré pour la dispersion et amont pour l’advection. Le terme réactif ( tq ∂∂ ) est calculé dans un module séparé qui tient compte de toutes les réactions chimiques, équilibrées ou non.

La colonne étant discrétisée en N cellules de longueur ∆x, à chaque nouveau pas de temps, la phase liquide contenue dans une cellule est transférée dans la cellule suivante. Le pas de temps ∆t est donc défini comme le temps de séjour dans chaque cellule. De ce fait, la vitesse d’écoulement simulée est txu ∆∆= . Ainsi, quelle que soit la simulation réalisée, le nombre de Courant1 est toujours égal à 1.

A partir du pas de temps « advectif » ainsi défini, PHREEQC calcule automatiquement un pas de temps pour la résolution du transport dispersif (∆tD) en respectant le critère de Von Neuman, soit :

nmix

ttD

∆=∆

(30)

avec nmix le plus petit entier tel que :

3

1

.<

∆xnmix

(31)

1 Co = u.∆t/∆x . En général, pour limiter la dispersion numérique, on veille à respecter le critère suivant :

1≤Co . Cependant, ce critère peut ne pas être suffisant pour certains schémas numériques de résolution de l’équation de transport : le schéma « amont » nécessite par exemple d’avoir également un nombre de Péclet petit (Pe < 1 ou même Pe < 0.5). Pour le schéma « TVD », ce critère est par contre suffisant quelle que soit la valeur de Pe.

Page 39: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

34 BRGM/RP-54904-FR – Rapport final

Figure 1 – Algorithme de couplage chimie-transport utilisé par PHREEQC.

▪ k=k+1

▪ i=i+1

C(i,k)

▪ t = k.∆tA

∆tA Transport advectif

Chimie

Transport dispersif

C1(i,k1)

C1(i,k1)

C(i,k+1)

Transport disp. 1

C1(i,k1)

C2(i,k2)

∆tD

Cp(i,kp)

Transport disp.

NMIX

Cm(i,km)

Chimie

∆tD

Chimie

∆tA

C2(i,k2)

… / …

Cm(i,km) C(i,k+1) = Cm(i,km)

▪ x=i.∆x

▪ Pour i=1 à nb_cell

▪ Pour k=1 à nb_shifts

Page 40: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 35

L’approche numérique utilisée est une variante du schéma de séparation de l’opérateur (operator splitting) classique (tel qu’il a été présenté dans les paragraphes précédent) : au cours de chaque pas de temps, le transport advectif est calculé, puis la chimie, puis le transport dispersif. Le pas de temps dispersif étant plus petit que le pas de temps advectif (Eq. 30), le transport dispersif est calculé en plusieurs étapes (nmix fois), et après chacune d’elles, la chimie est recalculée (cf. Figure 1– Algorithme de couplage chimie-transport utilisé par PHREEQC.).

Si le module chimique comprend des réactions cinétiques (non équilibrées), la résolution2 des équations différentielles décrivant ces cinétiques chimiques nécessite elle-même un certain nombre d’itérations. ∆tD est alors découpé automatiquement en pas de temps plus petits de façon à satisfaire la précision demandée sur l’intégration3.

Au cours d’une simulation, le temps de calcul (CPU) est principalement dépendant du nombre d’appels au module chimique qui, en l’absence de calculs cinétiques, est égal à :

Nb_appel = Nb_shifts*N*(1+nmix) (32)

D’après Van der Lee et al. (2001), dans les simulations de transport réactif, et pour des systèmes géochimiques relativement simples, les calculs chimiques cinétiques représentent au minimum 70% du temps CPU. On a effectivement vu qu’avec PHREEQC, le temps de calcul dépend essentiellement du nombre d’appels au module chimique (cf. équation 32). Avec :

t

TshiftsNb

∆=_ , 1

.3+

∆=

xnmix

α,

NQ

SLt

.

..ε=∆ , et

N

Lx =∆ ,

on peut calculer ce nombre d’appels en fonction du nombre de cellules choisi :

)..3

2(..

..._

2

L

N

SL

QNTappelNb

α

ε+=

(33)

En supposant que chaque appel du module chimique nécessite un temps de calcul moyen tc (tc étant plus grand dans le cas où des réactions cinétiques sont modélisées que dans le cas de calculs d’équilibre), on peut donner une estimation de l’ordre de grandeur du temps de calcul requis pour chaque simulation :

)..3

2(..

....

2

L

N

SL

QNTtCPU C

α

ε+=

(34)

2par la méthode de Runge-Kutta (ordre 3 par défaut)

3la différence entre les intégrales d’ordre 4 et d’ordre 5 de la loi cinétique doit être inférieure à la tolérance (10-8 par défaut).

Page 41: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

36 BRGM/RP-54904-FR – Rapport final

Pour un temps simulé de T = 1h et avec tc = 0.04s (ordre de grandeur correct pour la simulation du problème décrit §6.3), les estimations obtenues sont comparées aux temps de calculs constatés (Tableau 1).

N CPU estimé (min) CPU constaté (min)

20 1,13 1

100 113,2 146

500 13441 14575

1000 106825 1062004

Tableau 1 – CPU estimé et constaté en fonction du nombre de cellules pour un problème couplé (colonne 1D) avec une chimie simple (dissolution de la calcite avec loi cinétique)

Remarque : dans le cas où la loi cinétique est remplacée par un équilibre thermodynamique instantané, les temps de calcul constatés sont beaucoup plus petits. Ils sont correctement approchés avec tc = 0.0009s dans l’équation (34).

4 Valeur extrapolée à partir du temps de calcul constaté pour un pas de temps

Page 42: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 37

6. Synthèse des simulations réalisées

Ce chapitre décrit les différents cas-tests traités au cours de cette étude. Lorsqu’elle existe, la solution analytique du problème est donnée et sert de référence à l’inter-comparaison qui est réalisée entre les différentes méthodes de couplage.

6.1. CAS N°1 : INJECTION CONTINUE D’UN TRACEUR PARFAIT DANS UNE COLONNE

Ce premier test simple a été réalisé dans le but de s’assurer du bon comportement des codes de calcul utilisés pour la partie « transport ». En effet, ne s’agissant pas de l’injection d’un produit réactif, aucun problème de couplage entre transport et chimie ne se pose ici. Néanmoins, il était indispensable de faire ces vérifications préliminaires avant d’aller plus loin dans les tests liés à la résolution du couplage proprement dit. Par ailleurs, ce test aura permis de vérifier la validité de l’approximation par une approche de type mélangeurs parfaits en série.

6.1.1. Description du problème

On considère une colonne de longueur L et de diamètre D remplie d’un matériau poreux homogène, isotrope et chimiquement inerte (porosité cinématique Φ) initialement saturé par de l’eau pure. A partir du temps t = 0, on injecte en continu avec un débit Q une solution aqueuse contenant une concentration C0 d’un produit non réactif (traceur parfait). La dispersivité longitudinale est αL. Il s’agit de calculer l’évolution au cours du temps de la concentration C en traceur en différents points de la colonne.

L’équation du transport relative à ce problème que l’on peut considérer comme monodimensionnel (écoulement suivant l’axe Ox) et pour lequel la diffusion moléculaire est supposée négligeable par rapport à la dispersion cinématique, s’écrit sous la forme :

t

C

x

Cu

x

CDL

∂=

∂−

∂2

2

(35)

Avec :

uD LL ⋅= α (36)

Cette équation correspond à l’équation (29) avec un terme source nul. On rappelle que la vitesse d’écoulement dans les pores (vitesse de pore) se calcule selon la formulation suivante :

Page 43: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

38 BRGM/RP-54904-FR – Rapport final

( ) Φ⋅=

42D

Qu

π

(37)

La solution analytique à ce problème, dans le cas d’un milieu semi-infini et avec les conditions initiales et aux limites suivantes (injection continue en flux) :

0,0),(

0,),0(

0,0)0,(

0

0

>∀=+∞

>∀=∂

∂⋅−

>∀=

=

ttC

tCx

C

u

DtC

xxC

x

L

(38)

a été décrite par Coats et Smith (1964) :

( )

++

+

−=

LLLL

o

D

tuxu

tD

tuxerfc

D

xu

tD

tuxerfc

CtxC

..1.

.2

..

.exp

.2

..

2),(

( )

−−+

tD

tux

tD

tu

LL..4

.exp.

..

..22

π

(39)

Il est important de garder à l’esprit que cette solution analytique ne correspond pas exactement au problème qui nous intéresse car le calcul a été fait dans le cas d’un milieu semi-infini alors que le cas étudié ici traite d’une colonne de longueur finie. Néanmoins, cette solution analytique est a priori utilisable à des fins de comparaison pour peu que l’on choisisse un point d’observation situé « suffisamment loin » du bord aval de la colonne.

6.1.2. Résultats obtenus

Avec les valeurs des paramètres choisies pour l’application traitée dans cette étude (cf.Tableau 2), nous obtenons une valeur de 5.305 cm.h-1 pour la vitesse de circulation du fluide u et 5.305 cm2.h-1 pour la dispersion longitudinale DL.

paramètre L D Φ αL Q C0

unité cm cm adim. cm cm3.h-1 Mol.l-1

valeur 10 4 30% 1 20 1

Tableau 2- Valeurs des paramètres pour le cas-test n°1

Les résultats obtenus avec MARTHE et avec RER ont été comparés à la solution analytique (eq. 39). Comme on peut le constater sur les courbes de la Figure 2, l’adéquation entre solution analytique et solution numérique est très bonne pour RER (fig. 2e et 2f). Ce résultat est conforme aux considérations théoriques présentées dans

Page 44: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 39

les articles de Basagaoglu et al. (2002) et Sardin et al. (1991) : dans la mesure où le nombre de réacteurs choisi (5 pour ces calculs) est égal à la moitié du nombre de Péclet (qui vaut 10 dans cet exemple ; la diffusion étant négligeable par rapport à la dispersion, le nombre de Péclet est alors égal au rapport entre la longueur de la carotte et la dispersivité longitudinale), les deux problèmes (série de mélangeurs parfaits et colonne 1D) ont des solutions comparables.

Profil à t = 2 h

0.5

0.6

0.7

0.8

0.9

1

1.1

0 2 4 6 8 10Distance au point d'injection (cm)

Co

ncen

trati

on

(m

ol/

l)

MARTHE (Dt=60s) colonne (sol. ana.) a

Courbe de restitution (x = 5.25 cm)

0

0.2

0.4

0.6

0.8

1

1.2

0 1 2 3 4 5 6Temps (h)

Co

ncen

trati

on

(m

ol/l)

MARTHE (Dt=60s) colonne (sol. ana.) b

Courbe de restitution (x = 8.75 cm)

0

0.2

0.4

0.6

0.8

1

1.2

0 1 2 3 4 5 6Temps (h)

Co

ncen

trati

on

(m

ol/l)

MARTHE (Dt=60s) colonne (sol. ana.) c

Courbe de restitution (x = 9.75 cm)

0

0.2

0.4

0.6

0.8

1

1.2

0 1 2 3 4 5 6Temps (h)

Co

ncen

trati

on

(m

ol/l)

MARTHE (Dt=60s) colonne (sol. ana.) d

Courbe de restitution (x = 5 cm)

0.0

0.2

0.4

0.6

0.8

1.0

1.2

0 1 2 3 4 5 6Temps (h)

Co

nc

en

tra

tio

n (

mo

l/l)

RER colonne (sol. ana.) e

Courbe de restitution (x = 9 cm)

0

0.2

0.4

0.6

0.8

1

1.2

0 1 2 3 4 5 6Temps (h)

Co

ncen

trati

on

(m

ol/l)

RER colonne (sol. ana.) f

Figure 2 – Comparaison entre solution analytique (Coats et Smith, 1964) et solution numérique pour MARTHE avec un pas de temps de 60 s (fig. 2a à 2d) et RER (fig. 2e et 2f) pour les

paramètres décrits dans le tableau 2.

Page 45: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

40 BRGM/RP-54904-FR – Rapport final

Les simulations avec MARTHE ont été réalisées avec une discrétisation spatiale de 20 mailles (∆x = 0.5 cm) et un pas de temps de 60 s (soit un Péclet de grille de 0.5 et un nombre de Courant de 0.177). Les résultats obtenus (Figure 2a) montrent un profil de concentration après 2 h d’injection du traceur dans la colonne qui révèle un écart significatif à proximité du bord aval de la colonne. En effet, comme cela avait été dit plus haut, la solution analytique repose sur une hypothèse de milieu semi-infini tandis que le problème simulé par MARTHE tient compte de la longueur finie de la carotte (10 cm). Ainsi, les différentes courbes d’élution (fig. 2b à 2d) confirment bien que cet écart est d’autant plus grand que la distance au bord aval de la carotte est faible. En pratique, on retiendra que cet écart n’est significatif qu’à proximité immédiate du bord (cf. fig. 2d pour x = 9.75 cm) tandis qu’à plus de 1 cm du bord, il reste quasiment insignifiant. S’agissant ensuite de simuler un problème réel d’injection dans une carotte qui a nécessairement une longueur finie, il conviendra donc de prendre en compte ces « effets de bord » ; dans ce cas, la solution analytique sera alors moins précise que la solution simulée par MARTHE.

Ces résultats confirment donc les bonnes performances numériques des codes de calcul qui seront utilisés dans la suite de cette étude en ce qui concerne la simulation du transport de masse. En particulier, l’approche RER s’avère tout à fait adaptée à la simulation de ce problème 1D avec une très bonne précision.

6.2. CAS N°2 : INJECTION CONTINUE D’UN REACTIF SE DEGRADANT SELON UNE CINETIQUE DU PREMIER ORDRE DANS UN RESEAU DE 5 MELANGEURS PARFAITS EN SERIE

Bien que n’étant pas directement en rapport avec la problématique de la dissolution minérale en présence de CO2 dissous, cet exercice est particulièrement intéressant car la chimie triviale (cinétique de dégradation du premier ordre) permet d’aboutir à une solution analytique exacte du problème complet.

6.2.1. Description du problème

La dégradation du produit réactif s’exprime par :

cdt

dc⋅−= λ

(40)

Où c (mol.l-1) est la concentration, t (s) le temps et λ (s-1) une constante cinétique homogène à l’inverse d’un temps. La solution analytique au problème de l’injection à débit constant d’un réactif obéissant à la loi de dégradation décrite ci-dessus dans un ensemble de n réacteurs identiques connectés en série donne la concentration cn(t) en réactif présent dans le réacteur n à un instant t. En supposant que la concentration en réactif est initialement nulle au sein des n réacteurs, l’expression analytique peut être trouvée dans Sauty (1995) et s’exprime de la manière suivante :

Page 46: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 41

⋅+−

⋅= ∑

=

⋅−

− 1

1

1

!

)(11)(

n

j

j

tB

n

nj

tBe

B

FAtc

(41)

Avec :

τ1=F λ+=FB BcFA E⋅= (42)

Où cE est la concentration en réactif dans la solution d’injection et τ est le temps de séjour dans le réacteur (cf. §3.1).

S’agissant d’étudier les effets du couplage entre réaction et transport pour un cas correspondant à un ensemble de mélangeurs en série, l’outil numérique qui a été utilisé est RER-SEQ. Compte tenu d’une part du nombre d’algorithmes de couplage inclus (SNI, SS, SI, SSI, cf. chapitre 5) et, d’autre part, du fait qu’aucune erreur numérique n’est induite par la résolution de l’équation de transport de masse (cf. §4.4) qui est analytique, cet outil s’avère en effet parfaitement adapté aux tests que nous souhaitons réaliser.

6.2.2. Résultats obtenus et discussion

Les paramètres qui ont été utilisés pour cette série de tests sont un débit d’injection constant de 0.01 l.s-1 dans 5 mélangeurs parfaits en série initialement remplis d’eau pure et d’un volume unitaire d’1 l. La solution injectée a une concentration de 1 mol.l-1 de réactif dont la constante de dégradation est supposée égale à 0.01 s-1. Les calculs ont été réalisés en utilisant volontairement deux pas de temps contrastés afin d’en mesurer l’impact sur la qualité des résultats : un pas de temps relativement élevé (50 s) et un pas de temps plus fin (10 s). Les résultats présentés (Figure 3 et Figure 4) portent sur une inter-comparaison entre les différents algorithmes de couplages pour les deux pas de temps ; la Figure 3 présente les courbes d’élution dans le mélangeur n° 1 (entrée du dispositif) et le mélangeur n° 5 (sortie du dispositif) tandis que la Figure 4 permet d’observer des profils de concentration à t = 200 s et t = 800 s.

La comparaison (Figure 3 et Figure 4) des courbes de la colonne de gauche (∆t = 50 s) avec celles de la colonne de droite (∆t = 10 s) montre un premier résultat intéressant selon lequel la diminution du pas de temps induit une amélioration sensible de la précision des calculs pour les algorithmes de type Séquentiel Non Itératif (SNI) et Séquentiel Itératif (SI). Ce résultat n’est toutefois pas surprenant car on sait que des pas de temps trop importants peuvent conduire, pour ce type d’algorithmes, à des résultats imprécis de sorte que les modèles ne sont alors plus utilisables pour des prévisions un tant soit peu fiables. Pour cette application numérique, il est à noter que le pas de temps le plus grand (∆t = 50 s), reste très proche du temps de demi-vie du réactif (t1/2 = ln(2)/λ = 69 s), ce qui contribue fortement à la mauvaise précision obtenue. Un autre résultat intéressant est le fait que l’algorithme SNI, qui est le plus simple à mettre en œuvre dans une approche de type « operator splitting », donne, en moyenne le long des profils, des résultats plus précis que ceux obtenus avec

Page 47: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

42 BRGM/RP-54904-FR – Rapport final

l’algorithme SI et ce, pour les deux pas de temps considérés : excepté pour le mélangeur n° 1 où les calculs SNI conduisent à une sous-estimation de plus de 20% des résultats attendus après atteinte du régime permanent, on peut observer (Figure 3c, 3d et 3g) que les courbes SI sont systématiquement plus éloignées de la solution analytique que celles calculées avec l’approche SNI.

Par ailleurs, il est intéressant de remarquer que l’algorithme Séquentiel Symétrique Itératif (SSI) donne des résultats excellents et ce, quelque soit le pas de temps utilisé. Ceci constitue certainement un résultat majeur de cette première série d’inter-comparaisons dans la mesure où cet algorithme permet a priori de travailler sans perte

Breakthrough in R1 (dt = 50 s)

0

0.1

0.2

0.3

0.4

0.5

0.6

0 200 400 600 800 1000

Time (s)

Co

ncen

trati

on

(m

ol/

l)

ANA

SNI

SS

SI

SSI

a

Breakthrough in R1 (dt = 10 s)

0

0.1

0.2

0.3

0.4

0.5

0.6

0 200 400 600 800 1000

Time (s)

Co

ncen

trati

on

(m

ol/

l)

ANA

SNI

SS

SI

SSI

b

Breakthrough in R5 (dt = 50 s)

0

0.01

0.02

0.03

0.04

0.05

0.06

0 200 400 600 800 1000

Time (s)

Co

ncen

trati

on

(m

ol/

l)

ANA

SNI

SS

SI

SSI

c

Breakthrough in R5 (dt = 10 s)

0

0.01

0.02

0.03

0.04

0.05

0.06

0 200 400 600 800 1000

Time (s)

Co

ncen

trati

on

(m

ol/

l)

ANA

SNI

SI

SSI

d

Figure 3 – Comparaison entre solution analytique (Sauty, 1995) et solution numérique obtenue avec RER-SEQ pour différents algorithmes de couplage et différents pas de temps pour

l’injection dans un ensemble de 5 mélangeurs parfaits d’un produit se dégradant selon une loi cinétique du premier ordre. Courbes d’élution pour le mélangeur n°1 (a et b) et le mélangeur

n°5 (c et d).

Page 48: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 43

de précision significative pour des discrétisations temporelles relativement lâches, ce qui est évidemment très intéressant en termes de diminution du temps de calcul. Ce résultat reste toutefois à confirmer pour des chimies un peu moins triviales que celle considérée ici.

L’algorithme « Strang Splitting » (SS) donne également des résultats très bons, indiscernables de ceux obtenus avec SSI (et donc de la solution analytique) pour ∆t = 10 s, ce qui explique qu’ils ne sont pas représentés dans la majorité des courbes de la partie droite des Figure 3 et Figure 4. Pour ∆t = 50 s, on peut toutefois observer un léger écart entre solution analytique et résultats de calcul avec SS, même si cette erreur reste très faible (moins de 5% au maximum le long du profil) et observable uniquement dans le mélangeur n° 1.

Profile at t = 200 s (dt = 50 s)

0.00E+00

1.00E-01

2.00E-01

3.00E-01

4.00E-01

5.00E-01

6.00E-01

1 2 3 4 5

Reactor #

Co

ncen

trati

on

(m

ol/

l)

ANA

SNI

SS

SI

SSI

a

Profile at t = 200 s (dt = 10 s)

0.00E+00

1.00E-01

2.00E-01

3.00E-01

4.00E-01

5.00E-01

6.00E-01

1 2 3 4 5

Reactor #

Co

ncen

trati

on

(m

ol/

l)

ANA

SNI

SI

SSI

b

Profile at t = 800 s (dt = 50 s)

0.00E+00

1.00E-01

2.00E-01

3.00E-01

4.00E-01

5.00E-01

6.00E-01

1 2 3 4 5

Reactor #

Co

ncen

trati

on

(m

ol/

l)

ANA

SNI

SS

SI

SSI

c

Profile at t = 800 s (dt = 10 s)

0.00E+00

1.00E-01

2.00E-01

3.00E-01

4.00E-01

5.00E-01

6.00E-01

1 2 3 4 5

Reactor #

Co

ncen

trati

on

(m

ol/

l)

ANA

SNI

SI

SSI

d

Figure 4 - Comparaison entre solution analytique (Sauty, 1995) et solution numérique obtenue avec RER-SEQ pour différents algorithmes de couplage et différents pas de temps pour

l’injection dans un ensemble de 5 mélangeurs parfaits d’un produit se dégradant selon une loi cinétique du premier ordre. Profils de concentration à t = 200 s (a et b) et t = 800 s (c et d).

Page 49: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

44 BRGM/RP-54904-FR – Rapport final

Par conséquent, cette première série de simulations couplées, avec une chimie certes triviale, permet de dégager un certain nombre de conclusions intéressantes parmi lesquelles on retiendra principalement l’amélioration significative de la précision du calcul apportée par les algorithmes SSI et SS en comparaison des approches plus classiques de type SNI et SI. De plus, l’algorithme SSI permet de s’affranchir, sans perte significative de précision, d’une discrétisation temporelle trop fine requise par les approches SNI, SI et, dans une moindre mesure, SS. Le bénéfice escompté en termes de diminution substantielle du temps de calcul avec l’approche SSI est ainsi particulièrement prometteur mais reste à valider sur des cas plus complexes. Par contre, au vu de ces premiers tests, il apparaît clairement que l’algorithme Séquentiel Itératif (SI) est a priori inapproprié pour une utilisation fiable au sein d’un logiciel à vocation prédictive : en effet, cet exemple simple démontre la nécessité de diminuer significativement le pas de temps pour aboutir à une précision acceptable là où, toutes choses étant égales par ailleurs, l’algorithme SNI, bien moins coûteux en temps de calcul, donne des résultats au moins aussi bons en moyenne.

SOL. ANALYTIQUE

0.00E+00

1.00E-01

2.00E-01

3.00E-01

4.00E-01

5.00E-01

6.00E-01

0 200 400 600 800 1000

Temps (s)

Co

ncen

trati

on

(m

ol/

l)

r1

r2

r3

r4

r5

a

SOL. ANALYTIQUE - profils

0.00E+00

1.00E-01

2.00E-01

3.00E-01

4.00E-01

5.00E-01

6.00E-01

1 2 3 4 5

N° de réacteur

Co

ncen

trati

on

(m

ol/

l)

t = 100 s

t= 200 s

t = 400 s

t = 600 s

t = 800 s

b

RER

0.00E+00

1.00E-01

2.00E-01

3.00E-01

4.00E-01

5.00E-01

6.00E-01

0 200 400 600 800 1000

Temps (s)

Co

ncen

trati

on

(m

ol/

l)

r1

r2

r3

r4

r5

c

RER - profils

0.00E+00

1.00E-01

2.00E-01

3.00E-01

4.00E-01

5.00E-01

6.00E-01

1 2 3 4 5

N° de réacteur

Co

ncen

trati

on

(m

ol/

l)

t = 100 s

t= 200 s

t = 400 s

t = 600 s

t = 800 s

d

Figure 5 – Comparaison entre solution analytique (Sauty, 1995a et b) et solution numérique obtenue avec RER (c et d) pour l’injection dans un ensemble de 5 mélangeurs parfaits d’un

produit se dégradant selon une loi cinétique du premier ordre. Profils de concentration à t = 100, 200, 400, 800 s (b et d) et courbes d’élution pour les mélangeurs n°1 à n°5 (a et c).

Page 50: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 45

Pour vérification, nous avons également réalisé une dernière simulation de ce problème en utilisant RER. Dans ce cas, il n’y a donc aucune notion de séquentialité entre le calcul chimique et le calcul du transport étant donné que les deux jeux d’équations sont résolus simultanément à chaque pas de temps (lui-même ajusté automatiquement par l’algorithme d’intégration, cf. §4.2). Etant donné que, sur cet exemple, solution analytique et résultat de l’intégration numérique avec le RER sont indiscernables, nous avons représenté les deux résultats sur des graphes distincts (Figure 5) qui montrent la très bonne précision obtenue avec RER.

6.3. CAS N°3 : INJECTION CONTINUE D’UNE SOLUTION ENRICHIE EN CO2 DANS UNE COLONNE DE CALCITE PURE

Cette série de simulations a été d’abord conçue et utilisée pour les calculs de pré-dimensionnement des expérimentations mises en place au BRGM en fin de projet PICOR. En effet, les expériences prévues visent à étudier l’impact de l’injection d’une solution enrichie en CO2 préalablement dissous dans une carotte de calcaire de Lavoux dont la composition minérale est proche de la calcite pure. Les jeux de paramètres qui ont été utilisés pour les simulations présentées ici ont été choisis au terme d’une série de tests préalables au cours desquels il s’agissait de mettre en évidence certaines difficultés numériques dont nous discutons dans ce chapitre.

6.3.1. Description du problème

Il s’agit de simuler la percolation d’une solution enrichie en CO2 dans une carotte de calcite pure initialement saturée par une solution en équilibre avec la calcite pure sous pCO2 atmosphérique.

Les espèces prises en compte dans le Simulateur Chimique Spécifique (SCS) « mplpwp » utilisé pour ces simulations ont été déterminées à partir de calculs préliminaires réalisés avec PHREEQC à 25°C. Les données thermodynamiques sont quant à elles tirées de la base de données data1fcom.dat (version du 3/12/1996) du logiciel EQ3/6 (Wolery, 1995).

La composition de l’eau saturant initialement la carotte a été calculée en équilibrant une eau pure avec de la calcite sous conditions atmosphériques (pCO2 = 3.16 10-4 bar) ; elle est détaillée dans le Tableau 3.

Page 51: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

46 BRGM/RP-54904-FR – Rapport final

molalité coef. d'activité activité pH activité H2O

(mol/kgH2O) (Davies) 8.275E+00 9.9997E-01H+ 5.5378E-09 9.5775E-01 5.3038E-09Ca++ 4.8618E-04 8.4141E-01 4.0908E-04CaCl+ 0.0000E+00 9.5775E-01 0.0000E+00CaOH+ 1.1375E-08 9.5775E-01 1.0894E-08CaHCO3+ 4.3525E-06 9.5775E-01 4.1686E-06OH- 1.9909E-06 9.5775E-01 1.9068E-06Cl- 0.0000E+00 9.5775E-01 0.0000E+00HCO3- 9.5551E-04 9.5775E-01 9.1514E-04CO3-- 9.6181E-06 8.4141E-01 8.0928E-06CO2(aq) 1.0735E-05 1.0000E+00 1.0735E-05CaCO3(aq) 7.0307E-06 1.0000E+00 7.0307E-06CaCl2(aq) 0.0000E+00 1.0000E+00 0.0000E+00HCl(aq) 0.0000E+00 1.0000E+00 0.0000E+00

Tableau 3 - Composition de l’eau saturant la carotte initialement

La composition de l’eau d’injection a été calculée en équilibrant une eau pure contenant 5.10-7 mol.l-1 de CaCl2 (soit 10-6 mol.l-1 de chlore) sous une pCO2 de 1 bar et est détaillée dans le Tableau 4. Le suivi du chlore total permettra ainsi de disposer d’une courbe de traceur « parfait » qui servira de référence.

La particularité de ce SCS réside dans la loi cinétique de dissolution/précipitation de la calcite. Le modèle dit « PWP » (Plummer et al., 1978) a été utilisé. Ce modèle a été établi pour la gamme de température 5-60°C et pour une pCO2 inférieure à 1 atm. Le taux de dissolution R s’exprime sous la forme :

−+++ −++= 3423*3221 HCOCaOHCOHH aakakakakR (43)

où k1, k2, k3 sont des constantes dépendant de la température, k4 est une constante dépendant à la fois de la température et de la pCO2, H2CO3* représente CO2(aq) + H2CO3° et a désigne l’activité.

Page 52: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 47

molalité coef. d'activité activité pH activité H2O

(mol/kgH2O) (Davies) 3.907E+00 9.9942E-01H+ 1.2553E-04 9.8699E-01 1.2390E-04Ca++ 4.9934E-07 9.4897E-01 4.7386E-07CaCl+ 9.5508E-14 9.8699E-01 9.4265E-14CaOH+ 5.4703E-16 9.8699E-01 5.3991E-16CaHCO3+ 6.6238E-10 9.8699E-01 6.5376E-10OH- 8.2653E-11 9.8699E-01 8.1578E-11Cl- 9.9998E-07 9.8699E-01 9.8697E-07HCO3- 1.2553E-04 9.8699E-01 1.2390E-04CO3-- 4.9425E-11 9.4897E-01 4.6903E-11CO2(aq) 3.3970E-02 1.0000E+00 3.3970E-02CaCO3(aq) 4.7200E-14 1.0000E+00 4.7200E-14CaCl2(aq) 1.0487E-19 1.0000E+00 1.0487E-19HCl(aq) 2.6144E-11 1.0000E+00 2.6144E-11

Tableau 4 - Composition de l’eau d’injection

Plummer et al. (1978) ont choisi, par convention, d’exprimer les activités en mol.kgw-1 (unité des molalités). Compte tenu du fait que les constantes de dissolution (ki) sont exprimées en cm.s-1, l’unité du taux de dissolution R est donc des mmol multipliées par des cm3 de solution par cm2 de calcite par seconde et par gramme d’H2O. Dans le cas des solutions diluées, cette unité est numériquement équivalente à des mmol par cm2 de calcite et par s. En toute rigueur, pour passer de l’une à l’autre des unités, il faut multiplier par le ratio « masse d’H2O (en gramme) par cm3 de solution », dont la valeur est effectivement proche de 1 dans les gammes de température considérées et lorsque les solutions sont diluées. De notre point de vue, ce choix d’unité paraît quelque peu obscur et, en tous cas, pose un problème de cohérence notamment parce que, compte tenu de la forme des différents termes de l’équation (43), l’unité de k4 ne peut être identique à celle des autres constantes de dissolution. Afin de lever cette ambiguïté et de rester cohérent avec le système d’unité que nous utilisons dans les SCS (qui considère notamment que les activités sont des grandeurs adimensionnelles) tout en conservant une certaine compatibilité avec les grandeurs numériques de référence données par Plummer et al. (1978), on a considéré que les ki avaient la même unité que R, soit des mmol.cm-2.s-1 mais il faut garder à l’esprit que cette équivalence d’unité n’est a priori valable que pour des solutions diluées. Néanmoins, s’agissant ici d’un exercice sans objectif de comparaison immédiat à des résultats expérimentaux, le choix des unités est moins crucial mais se doit bien sûr de rester cohérent.

Les valeurs des constantes de dissolution sont définies par les relations suivantes :

Tk

444198.0)log( 1 −=

(44)

Tk

217784.2)log( 2 −=

(45)

Page 53: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

48 BRGM/RP-54904-FR – Rapport final

Tk

31786.5)log( 3 −−=

( KT 15.298≤ )

(46a)

Tk

173710.1)log( 3 −−=

( KT 15.298≥ )

(46b)

où T est la température absolue (K).

La quatrième constante k4 se calcule à partir des trois autres selon la relation :

[ ]

++=+

OHCOH

Hc

akaka

kK

Kk 23*322

'

12

4

1

(47)

où K2 et Kc sont respectivement les constantes d’équilibre des réactions suivantes : HCO3

- = H+ + CO3-- et Calcite = Ca++ + CO3

-- ; k1’ est une constante qui vaut entre 10 et 20 fois la valeur de k1. Une remarque s’impose à propos de k1’ : dans notre modèle chimique, nous ne considérons pas l’espèce H2CO3°, de sorte que dans ces conditions, aH2CO3° = aCO2(aq) ; ainsi, si l’on considère que le taux de dissolution R doit être nul à l’équilibre thermodynamique, on peut aisément vérifier en substituant l’équation (47) dans l’équation (43) que k1’ doit être égal à k1. Par conséquent, nous avons remplacé k1’ par k1 dans l’équation (43). Notons que dans leur article consacré à l’étude de la dissolution/précipitation de la calcite et de l’aragonite, Busenberg et Plummer (1986) recommandent de prendre k1’ = k1.

Afin de passer du taux de dissolution R (mmol.cm-2.s-1) à la vitesse de dissolution dM/dt (mol.s-1) qui nous permettra de calculer les apports/pertes de matière dans la solution aqueuse, on utilise l’expression suivante :

310−⋅⋅⋅⋅−= molMMSSpRdt

dM

(48)

dans laquelle SSp est la surface spécifique de la calcite visible par la solution (cm2 par g de calcite), M est le nombre de moles de calcite présent à un instant t, Mmol est la masse molaire de la calcite (100.087 g.mol-1) et le facteur 10-3 permet de transformer les mmol en mol. Parmi ces paramètres, la surface spécifique SSp constitue classiquement un « bouton de réglage » dans la mesure où sa valeur intrinsèque est très mal connue. Pour les simulations présentées ici, nous avons choisi de prendre SSp = 5 cm2.g-1 ce qui, comme nous le verrons, présente un certain intérêt d’un point de vue numérique.

D’un point de vue hydrodynamique, le système modélisé est une carotte de calcite saturée par de l’eau dont la composition est donnée dans le tableau 3. On injecte de manière continue et à débit constant pendant 6 heures de l’eau dont la composition est détaillée dans le tableau 4. Il est à noter que pendant toute la durée de la percolation,

Page 54: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 49

la colonne est supposée être sous une pression supérieure à la pCO2 et parfaitement isolée du milieu extérieur de sorte qu’aucun phénomène de dégazage n’est possible.

Les paramètres hydro-dispersifs caractéristiques du problème sont décrits dans le Tableau 5 :

Longueur de la colonne 10 cm

Diamètre de la colonne 4 cm

Porosité cinématique 30%

Dispersivité longitudinale 1 cm

Coefficient de perméabilité (valeur arbitraire) 10-6 m.s-1

Débit d’injection 20 cm3.h-1

Vitesse de pore 5.3 cm.h-1

Tableau 5 - Paramètres hydrodynamiques

6.3.2. Résultats obtenus et discussion

Tests préliminaires en batch

Ces premiers tests en calcul batch (i.e. en système fermé, sans transport) avaient pour but de vérifier la cohérence entre les modèles chimiques intégrés dans les codes couplés de cette étude. Ainsi, nous avons comparé les résultats obtenus avec PHREEQC « batch » et avec le SCS « mplpwp » qui est le module chimique des codes couplés MARTHE+SCS, RER-SEQ et RER.

L’exercice simulé consistait à mettre en contact pendant 10 heures une mole de calcite pure avec 1 kg de solution constituée d’eau pure additionnée de 5.10-7 mol/kgH2O de CaCl2, le tout sous une pression de CO2 de 1 bar maintenue constante pendant la durée de la simulation. Les résultats présentés sur la Figure 6 (pH et masse de calcite en fonction du temps) montrent une parfaite similitude des résultats obtenus avec les deux simulateurs chimiques.

Page 55: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

50 BRGM/RP-54904-FR – Rapport final

3.50

4.00

4.50

5.00

5.50

6.00

0 2 4 6 8 10

Heures

pH

PHREEQC

SCS

a

0.99

0.992

0.994

0.996

0.998

1

0 2 4 6 8 10

Heures

Ma

sse c

alc

ite (

M/M

o)

PHREEQC

SCS

b

Figure 6 – Comparaison entre les résultats des simulations en batch réalisées avec PHREEQC et avec le SCS « mplpwp ».

Tests en colonne

Malgré la relative simplicité de ce test (une seule espèce minérale réactive, hydrodynamique permanente et 1D), il est néanmoins important de remarquer que, contrairement à l’exemple présenté au §6.2, ce problème n’a pas de solution analytique de référence. Ainsi, ce cas est tout à fait représentatif des problèmes couplés traités couramment au BRGM et pour lesquels nous ne disposons d’aucune solution de référence pour valider les calculs. L’inter-comparaison de code représente donc ici le seul moyen de vérification de la cohérence des calculs, pour peu qu’on obtienne des résultats relativement convergents avec les différents outils numériques. L’intérêt de disposer de résultats expérimentaux de qualité pouvant servir de référence pour un problème simple de percolation en colonne de ce type, apparaît donc particulièrement crucial pour parvenir à conclure en cas de divergences significatives entre codes de calcul.

Les simulations ont été d’abord réalisées à partir d’une approche « classique » 1D à l’aide des modèles de transport réactif MARTHE+SCS et PHREEQC. Dans un deuxième temps, nous avons utilisé l’approche de type « mélangeurs parfaits en cascade » avec RER et RER-SEQ.

L’intérêt de cette double approche réside tout d’abord dans l’inter-comparaison de méthodes numériques différentes. De plus, la comparaison d’une approche partant des équations de la physique du processus de transport de masse réactif en milieu poreux (MARTHE+SCS et PHREEQC) avec une approche « simplifiée » (RER et RER-SEQ) sera aussi d’un grand intérêt après nos premières conclusions positives sur les performances comparées des deux méthodes dans le cas d’un traceur parfait (cf. §6.1.2).

Les paramètres de base du système des réacteurs ont été choisis afin notamment de pouvoir satisfaire la relation reliant le nombre de réacteurs (N) au nombre de Péclet (Pe) du système. Ainsi, les paramètres hydrodynamiques (cf. Tableau 5) ont volontairement été choisis afin que le nombre de Péclet soit un entier pair

Page 56: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 51

suffisamment grand de sorte que le nombre de réacteur (N = Pe/2) soit lui aussi entier et supérieur à 3, valeur qui semble constituer, au vu des différents tests que nous avons pu réaliser, une limite inférieure en dessous de laquelle des écarts significatifs entre les courbes de restitutions des deux méthodes sont observés. Avec les valeurs des paramètres du Tableau 5, le nombre de Péclet vaut 10 et le nombre de réacteurs a donc été fixé à 5.

Les différentes séries de calcul qui ont été réalisées ont montré des courbes d’élution en sortie de colonne relativement proches les unes des autres tandis que des écarts plus significatifs ont été constatés sur les profils de concentration le long de la colonne. Par conséquent, les résultats présentés ici porteront sur des profils de concentration. Par ailleurs, les résultats décrits §6.2 ont montré, pour un assemblage de réacteurs et dans un cas chimiquement trivial il est vrai (dégradation par cinétique du premier ordre), que les calculs avec RER étaient les plus proches de la solution analytique. Même si l’approche RER ne prend pas en compte les équations de la physique réelle du transport de masse dans une colonne de matériaux poreux, compte tenu des résultats précédents et du fait que le couplage RER est de type « Direct Substitution Approach » (DSA), donc plus précis d’après Yeh et Tripathi (1989), nous considèrerons cette solution comme une référence dans les différentes courbes présentées ici. Dernier point important pour la discussion qui va suivre : le temps de calcul de la simulation de 6 h de percolation dans la colonne de calcite avec RER est très faible (moins de 10 s).

Page 57: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

52 BRGM/RP-54904-FR – Rapport final

Profil à t = 1h (Calcium)

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

ncen

trati

on

(m

ol/

l)

RER (5) MARTHE+SCS (dt=60s)

a

Profil à t = 1h (Calcium)

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

ncen

trati

on

(m

ol/

l)

RER (5) MARTHE+SCS (dt=15s)

b

Profil à t = 1h (Calcium)

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

ncen

trati

on

(m

ol/

l)

RER (5) MARTHE+SCS (dt=3.75s)

c

Profil à t = 1h (Calcium)

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

ncen

trati

on

(m

ol/

l)

RER (5) MARTHE+SCS (dt=0.9375s)

d

Profil à t = 1h (Calcium)

0.002

0.0030.004

0.005

0.006

0.0070.008

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

nc

en

tra

tio

n (

mo

l/l)

RER (5) MARTHE+SCS (dt=0.1s)

e

Figure 7 – Comparaison entre les résultats des simulations couplées réalisées avec

MARTHE+SCS (couplage de type SNI) pour cinq valeurs du pas de temps : ∆t = 60 s (a),

∆t = 15 s (b), ∆t = 3.75 s (c), ∆t = 0.94 s (d), ∆t = 0.1 s (e) et les résultats obtenus avec RER (couplage DSA , pas de temps adaptatif ajusté automatiquement) pour le profil en calcium total

dissous après 1 h de percolation.

Les premiers résultats obtenus avec MARTHE+SCS tendent à corroborer le fait que la solution RER est la plus précise. En effet, nous avons effectué différentes simulations du même problème avec MARTHE+SCS en choisissant différents pas de temps (du

Page 58: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 53

plus grand au plus fin). Une variable intéressante à observer dans ce problème est la concentration en calcium total dissous dans la mesure où ses variations au cours du temps et le long de la colonne résultent à la fois de la chimie (dissolution de la calcite) et du transport (advection, dispersion et apport d’eau acide déclenchant la dissolution).

Nous avons ainsi observé une excellente convergence avec les résultats RER, même avec le pas de temps le plus grand (60 s), hormis dans le premier tiers de la colonne où un écart significatif existe (Figure 7). Cependant, la diminution progressive du pas de temps semble montrer un rapprochement de la courbe obtenue avec MARTHE+SCS avec celle du RER. Ainsi, avec un raffinement du pas de temps jusqu’à une valeur de 0.1 s, il nous a été possible d’atteindre un très bon niveau de convergence entre MARTHE+SCS et RER et ce, tout au long du profil d’observation. Compte tenu du fait que l’algorithme de couplage dans MARTHE+SCS est purement séquentiel (SNI), il est a priori logique d’observer une amélioration de la précision des calculs avec la diminution du pas de temps mais cet exemple montre qu’il peut parfois être nécessaire de diminuer fortement le pas de temps pour atteindre la précision requise.

Le phénomène observé dans la série de simulations qui vient d’être décrite est extrêmement intéressant dans la mesure où il montre le gain significatif en précision pouvant être apporté par un raffinement de la discrétisation temporelle pour un couplage de type SNI. Toutefois, dans le cas présent et en l’absence de solution analytique, l’amélioration en précision repose sur l’hypothèse que la solution RER constitue bien une référence. Compte tenu de la nature des résultats observés (rapprochement des courbes MARTHE+SCS vers la courbe RER au fur-et-à-mesure de la diminution du pas de temps), cette hypothèse semble vraisemblable. Néanmoins, afin de confirmer ce résultat, nous avons réalisé une deuxième série de simulations à l’aide du code RER-SEQ en sélectionnant le mode de couplage SNI (identique à MARTHE+SCS, donc). Les résultats ainsi obtenus sont représentés sur la figure 8 et ils montrent, à pas de temps identique, un comportement absolument similaire entre RER-SEQ et MARTHE+SCS avec notamment une convergence vers la solution RER lorsque le pas de temps est suffisamment petit. Ceci tend à prouver le bien fondé des hypothèses que nous avions formulées : d’une part la solution RER semble bel et bien constituer une solution de référence à ce problème et, d’autre part, la diminution du pas de temps améliore sensiblement la précision des résultats avec l’algorithme SNI.

Ainsi, il apparaît clairement que la différence de comportement observée entre RER et RER-SEQ au-delà d’une certaine valeur du pas de temps, est directement imputable à l’algorithme de couplage. En effet, RER repose strictement sur les mêmes équations que RER-SEQ, la seule différence entre les deux codes résidant dans la méthode de résolution des équations : séquentielle entre chimie et transport dans RER-SEQ et résolution simultanée de la chimie et du transport dans RER. Dans le cas de MARTHE+SCS, la chimie repose sur les équations du SCS « mplpwp » et est donc identique à celle prise en compte dans RER et RER-SEQ ; par contre, les équations du transport ne sont pas les mêmes. Cependant, les résultats présentés §6.1.2 pour un

Page 59: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

54 BRGM/RP-54904-FR – Rapport final

Profil en calcium à t = 1 h

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0 2 4 6 8 10

distance (cm)

co

ncen

trati

on

(m

ol/

l)

RER RER-SEQ Dt=60s MARTHE+SCS Dt=60s

a

Profil en calcium à t = 1 h

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0 2 4 6 8 10

distance (cm)

co

ncen

trati

on

(m

ol/

l)

RER RER-SEQ Dt=1s MARTHE+SCS Dt=1s

b

Profil en calcium à t = 1 h

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0 2 4 6 8 10

distance (cm)

co

ncen

trati

on

(m

ol/

l)

RER RER-SEQ Dt=0.1s MARTHE+SCS Dt=0.1s

c

Figure 8 – Comparaison entre les résultats des simulations couplées réalisées avec RER-SEQ

(option SNI) et MARTHE+SCS pour trois valeurs du pas de temps : ∆t = 60 s (a), ∆t = 1 s (b),

∆t = 0.1 s (c) et les résultats obtenus avec RER (couplage DSA, pas de temps adaptatif ajusté automatiquement) pour le profil en calcium total dissous après 1 h de percolation.

traceur parfait dans des conditions similaires à celles de ces calculs de percolation réactive montrent une convergence tout à fait satisfaisante entre ces deux approches, dans ce contexte particulier. De plus, étant donné que RER-SEQ (avec l’option SNI) et MARTHE+SCS ont un comportement similaire, à pas de temps identique, on peut donc conclure également à la mise en évidence directe de l’influence de l’algorithme de couplage sur la qualité des résultats obtenus.

La troisième série de calculs a été réalisée à l’aide de PHREEQC. Au vu des résultats déjà obtenus et compte tenu de l’algorithme de couplage implémenté dans PHREEQC (cf. §5.5), il semblait évident qu’il serait nécessaire de procéder à des ajustements du pas de temps. Toutefois, et c’est une des principales difficultés d’utilisation de PHREEQC en simulations 1D, le pas de temps est directement lié au nombre de mailles, ce qui fait qu’il est nécessaire de procéder à un raffinement du maillage pour diminuer le pas de temps. Cette approche, assez contraignante, induit de fait une rapide augmentation du temps de calcul au fur-et-à-mesure de la diminution du pas de temps : le Tableau 1 présente les temps de calculs estimés puis constatés pour la simulation d’une heure de percolation sur la colonne de calcite ; le pas de temps

Page 60: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 55

correspondant est proportionnel au nombre de mailles et varie de 339.25 s pour 20 mailles à 6.8 s pour 1000 mailles.

t = 1h, Calcium

0.0E+00

1.0E-03

2.0E-03

3.0E-03

4.0E-03

5.0E-03

6.0E-03

7.0E-03

8.0E-03

9.0E-03

0 2 4 6 8 10

cm

mo

l/kg

H2O

PHREEQC (Dt = 339.2 s)

RER

a

t = 1h, Calcium

0.0E+00

1.0E-03

2.0E-03

3.0E-03

4.0E-03

5.0E-03

6.0E-03

7.0E-03

8.0E-03

9.0E-03

0 2 4 6 8 10

cm

mo

l/kg

H2O

PHREEQC (Dt = 67.7 s)

RER

b

t = 1h, Calcium

0.0E+00

1.0E-03

2.0E-03

3.0E-03

4.0E-03

5.0E-03

6.0E-03

7.0E-03

8.0E-03

9.0E-03

0 2 4 6 8 10

cm

mo

l/kg

H2O

PHREEQC (Dt = 13.6 s)

RER

c

Figure 9 – Comparaison entre les résultats des simulations couplées réalisées avec PHREEQC

pour trois maillages et trois valeurs du pas de temps : 20 mailles et ∆t = 339.25 s (a), 100

mailles et ∆t = 67.85 s (b), 500 mailles et ∆t = 13.6 s (c) et les résultats obtenus avec RER (couplage DSA, pas de temps adaptatif ajusté automatiquement) pour le profil en calcium total

dissous après 1 h de percolation.

Les résultats obtenus sont représentés sur la Figure 9 . Il est à noter au préalable que, compte tenu de la contrainte liée à la fixation automatique de la valeur du pas de temps par le logiciel, les profils représentés ne correspondent pas exactement à un temps d’une heure de percolation, comme cela est le cas pour les résultats RER ; ainsi, pour les différentes courbes (Figure 9a, b, c), les profils sont représentés respectivement au bout de 0.94 h, 0.996 h et 0.997 h. Par ailleurs et bien que cela ait une incidence minime sur les résultats, signalons également que les concentrations calculées par PHREEQC sont exprimées en mol.(kg H2O)-1 tandis que dans RER, l’unité utilisée est la mol.l-1. Les profils obtenus avec PHREEQC montrent un comportement similaire à ce que nous avions observé précédemment, à savoir une apparente amélioration de la précision avec le raffinement de la discrétisation temporelle et, dans le cas particulier de PHREEQC, spatiale. Néanmoins et même si la

Page 61: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

56 BRGM/RP-54904-FR – Rapport final

tendance globale est plutôt bonne, nous n’atteignons pas une précision aussi bonne qu’avec les logiciels précédents (avec les pas de temps adéquats). Toutefois, cette conclusion est à modérer en remarquant que le pas de temps le plus fin utilisé (13.6 s) reste supérieur de deux ordres de grandeur à celui qu’il avait été nécessaire d’utiliser avec RER-SEQ et MARTHE+SCS. Il est donc plus juste de conclure à une impossibilité matérielle d’atteindre la précision requise avec PHREEQC dans ce cas précis compte tenu des temps de calculs requis (il faudrait travailler avec un maillage de 50 000 mailles pour que le pas de temps soit de l’ordre de 0.1 s !).

Lors de la dernière série de simulations, nous avons tenu à tester les performances des différents algorithmes de couplage implémentés dans RER-SEQ. Il s’agissait de vérifier si les performances (temps de calcul et, surtout, précision) étaient améliorées pour des pas de temps plus grands que ceux utilisés dans les approches séquentielles testées jusqu’à présent (à noter que PHREEQC base son couplage sur une approche sensiblement différente du SNI mais qui reste néanmoins de type « operator splitting » et séquentielle, cf. §5.5), ce qui est a priori un des intérêts supposés de ces algorithmes itératifs. Ainsi, par exemple, l’exercice traité §6.2 nous avait permis d’entrevoir des perspectives intéressantes pour l’algorithme SSI. Les résultats obtenus sont présentés sur la figure 10 et, malheureusement, ils ne conduisent pas à des conclusions aussi positives que celles du §6.2 où était traité, il est vrai, un exemple de couplage pour un problème chimiquement trivial. Dans le cas qui nous intéresse ici, les calculs ont tous été réalisés avec un pas de temps de 60 s (excepté pour le SNI, comme nous l’avons vu précédemment) afin de voir l’amélioration éventuelle apportée par les itérations ; il était a priori sans intérêt de tester des pas de temps plus faibles car, compte tenu des itérations, les temps de calcul se seraient alors rapidement rapprochés de celui obtenu avec l’algorithme séquentiel non itératif (SNI) pour un pas de temps de 0.1 s et qui permet déjà d’atteindre une précision tout à fait satisfaisante.

Sur la Figure 10a, on s’aperçoit qu’au bout d’une heure de percolation simulée, seuls les algorithmes SNI avec un pas de temps de 0.1 s (déjà observé précédemment, cf. Figure 8) et SI (avec un critère de convergence ε fixé à 0.05) donnent des résultats corrects. Le fait que SI donne de bon résultat est une première surprise en soi dans la mesure où les performances de cet algorithme sur l’exercice §6.2 n’avaient pas été particulièrement bonnes. Chose curieuse également, la variation du critère de convergence semble agir dans le sens contraire de celui attendu : lorsque la valeur de ε diminue, la précision semble dégradée, contrairement à ce qu’on serait en droit d’attendre (la courbe obtenue pour ε = 0.05 est nettement meilleure que celle avec ε = 0.02). Par contre pour les algorithmes SS et SSI, on observe des résultats peu différents de ceux obtenus avec l’algorithme SNI (avec ∆t = 60 s) et ce, pour des temps de calcul supérieurs compte tenu des itérations.

Page 62: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 57

Profil à t = 1h (Calcium)

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

ncen

trati

on

(m

ol/

l)

RER (5)

SNI (Dt=60s)

SNI (Dt=0.1s)

SI eps=0.05(Dt=60s)

SI eps=0.02(Dt=60s)

SSI (Dt=60s)

SS (Dt=60s)

a

Profil à t = 2h (Calcium)

00.0010.0020.0030.0040.0050.0060.0070.0080.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

ncen

trati

on

(m

ol/

l)

RER (5)

SNI (Dt=60s)

SNI (Dt=0.1s)

SI eps=0.05(Dt=60s)

SI eps=0.02(Dt=60s)

SSI (Dt=60s)

SS (Dt=60s)

b

Profil à t = 3h (Calcium)

00.0010.0020.0030.0040.0050.0060.0070.0080.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

nc

en

tra

tio

n (

mo

l/l)

RER (5)

SNI (Dt=60s)

SNI (Dt=0.1s)

SI eps=0.05(Dt=60s)

SI eps=0.02(Dt=60s)

SSI (Dt=60s)

SS (Dt=60s)

c

Figure 10 – Comparaison entre les résultats des simulations couplées réalisées avec RER-SEQ pour les différents algorithmes de couplage (SNI, SI, SS, SSI) et les résultats obtenus avec

RER (couplage DSA, pas de temps adaptatif ajusté automatiquement) pour le profil en calcium total dissous après 1 h (a), 2 h (b) et 3h (c) de percolation.

Sur les Figure 10b et Figure 10c, les comparaisons portent respectivement sur les profils de concentration en calcium dissous après deux heures et trois heures de percolation. L’ensemble de ces courbes permet tout d’abord de mettre en évidence le comportement finalement erroné de l’algorithme SI avec un critère de convergence probablement trop relaxé (ε = 0.05), alors que le profil au bout d’une heure laissait entrevoir un comportement aussi bon que le SNI (avec ∆t = 0.1 s). Les autres algorithmes, quant à eux, se comportent d’une manière cohérente (tendance calculée comparable avec celle obtenue avec RER) mais ne conduisent pas à une amélioration significative de la précision de calcul dans le premier tiers du profil. Avec l’algorithme SNI et ∆t = 0.1 s, la convergence avec RER reste par contre très satisfaisante.

Par conséquent, au vu de ces simulations, il apparaît clairement que les différents algorithmes séquentiels testés n’apportent pas d’amélioration par rapport au SNI en termes de temps calcul (au contraire !) et, surtout, de précision. Seul l’algorithme SS, qui n’est pas itératif, conduit à des résultats très proches de SNI sans trop augmenter le temps de calcul. Le plus surprenant au vu de ces derniers résultats concerne la

Page 63: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

58 BRGM/RP-54904-FR – Rapport final

précision atteinte avec l’algorithme SSI qui reste du même ordre de grandeur que celle obtenue avec l’algorithme SNI lorsque le pas de temps est grand (∆t = 60 s). Sans avoir mené des investigations poussées sur ce point, on peut a priori penser que l’origine probable de cette relative imprécision du SSI relève de la nature-même de l’algorithme (cf. §5.4) qui ne prend en compte que les espèces mobiles dissoutes dans la phase aqueuse et ne considère pas les espèces immobiles (la calcite dans notre exemple). Dans le cas d’un minéral susceptible d’interagir avec certaines des espèces mobiles selon une cinétique donnée, comme c’est ici le cas avec la calcite, il paraît a priori évident que ne pas prendre en compte cet effet directement dans l’algorithme conduise à des imprécisions. Il parait donc nécessaire, au vu de ces résultats, de procéder à une adaptation de l’algorithme SSI initial pour y inclure un traitement particulier des espèces immobiles permettant, notamment, de calculer la quantité de solide à prendre en compte lors des itérations successives au sein d’un même pas de temps. Nous avons effectué divers essais d’implémentation d’un calcul des variations de la quantité de solide au cours des itérations, mais nous n’avons pas réussi à aboutir à un algorithme satisfaisant. Une analyse mathématique de ce problème serait nécessaire mais cela dépasse largement le cadre de cette étude comparative.

L’ensemble de ces résultats montre donc un ratio précision/temps de calcul plus avantageux pour les algorithmes SNI et SS que pour les autres qui ont été testés (y compris l’algorithme particulier de PHREEQC). Néanmoins, ce résultat pose globalement le problème du choix du pas de temps pour une simulation couplée. Habituellement par exemple, les calculs réalisés avec MARTHE+SCS pour lesquels nous n’avons pas de résultat de référence provenant d’un autre code ou de données expérimentales (ce qui représente plus de 99 % des cas !) sont effectués au moins en deux étapes : une première étape avec un pas de temps suffisamment grand pour ne pas induire un temps de calcul trop important puis, au terme de cette étape, nous relançons la même simulation avec un pas de temps plus faible (la moitié du premier, typiquement). Si les résultats obtenus pour les deux simulations sont significativement différents, une troisième simulation avec un pas de temps plus faible est alors nécessaire. Cette diminution du pas de temps est ainsi effectuée jusqu’à l’obtention d’une convergence acceptable entre les résultats de deux simulations successives. Remarquons toutefois que dans le cas présent et en supposant que nous ne disposions pas de la solution RER, nous aurions probablement arrêté la diminution du pas de temps à une valeur de 3.75 s étant donné que l’écart entre la courbe obtenue pour ∆t = 15 s et ∆t = 3.75 s est très minime (Figure 7b et c) ; ainsi, nous aurions logiquement conclu à une bonne convergence malgré une solution calculée qui n’est manifestement pas tout à fait la bonne…

Comme nous venons de le voir, cette stratégie de réduction successive du pas de temps ne peut donc être considérée comme infaillible, il s’agit d’une vérification qui ne nous permet d’être affirmatif quant à la qualité du calcul effectué que lorsque l’écart entre les résultats de deux simulations successives est significatif : on est alors certain que la solution calculée n’est pas la bonne. Dans le cas contraire, on peut avoir une plus grande confiance dans la qualité du calcul réalisé, notamment en ce qui concerne les tendances générales des courbes obtenues, sans pour autant être certain d’avoir atteint une précision suffisante. Par ailleurs, il est important de noter que cette approche ne peut pas toujours être totalement menée à bien dans la mesure où le

Page 64: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 59

problème inéluctable du temps de calcul constitue une limite pratique qui est rapidement atteinte pour des pas de temps fins (89 h de calcul nécessaires sur un PC performant avec un pas de temps de 0.1 s pour simuler 6 h de percolation dans la colonne avec MARTHE+SCS avec le jeu de paramètres physico-chimiques choisi pour cet exercice !). Ainsi, pour des problèmes plus complexes (ce qui est généralement le cas !) et a fortiori lorsqu’ils sont bi, voire tridimensionnels, il n’est pas toujours possible d’appliquer jusqu’à la convergence recherchée cette technique de diminution successive du pas de temps. Il arrive ainsi que la solution numérique obtenue soit la plus précise que nous puissions obtenir compte tenu des moyens de calcul à notre disposition et du temps imparti pour mener à bien ces calculs, sans pour autant être certain que cette précision soit suffisante…

Cependant, il est important de relativiser un peu les choses et de noter que les problèmes de précision qui ont pu être constatés pour certaines valeurs du pas de temps ne sont heureusement pas systématiques. En effet, dans les problèmes couplés où la cinétique chimique est prise en compte, nous avons pu observer un comportement différent selon la vitesse réactionnelle. Les paramètres choisis dans ce cas simple de percolation (valeur de la surface réactive de la calcite SSp notamment) l’ont été de telle sorte que ce problème de précision soit mis en évidence. Ainsi, toutes choses étant égales par ailleurs, si nous augmentons la valeur de SSp jusqu’à 50 cm2.g-1 au lieu de 5 initialement, nous observons (Figure 11a, Figure 11c, Figure 11e) une très bonne corrélation entre calculs RER et calculs séquentiels, même pour un « grand » pas de temps (60 s pour MARTHE+SCS et RER-SEQ et 339.2 s pour PHREEQC). Lorsqu’on augmente encore la valeur de SSp jusqu’à 500 cm2.g-1, la corrélation avec les résultats RER reste toujours très bonne (avec les mêmes valeurs du pas de temps), comme on peut le voir pour PHREEQC et MARTHE+SCS sur les Figure 11b, Figure 11d, Figure 11f.

Ainsi, il apparaît que l’algorithme DSA de RER s’avère être le plus précis et le moins consommateur en temps de calcul. Cependant, cette approche de type « assemblage de réacteurs » n’est utilisable que pour simuler des applications 1D (de type percolation en colonne) et à la condition impérative que l’advection soit dominante (typiquement, Pe > 6) afin que le nombre de réacteurs soit suffisant pour assurer une bonne précision. Par ailleurs, l’implémentation d’un algorithme de couplage de type DSA dans un code à vocation plus généraliste est extrêmement complexe à mettre en œuvre dans la mesure où elle nécessite en fait le développement d’un code couplé spécifique qui ne peut pas, par définition, être constitué d’un assemblage entre modules chimiques et transport conçus séparément, ce qui présente un inconvénient pratique évident. Enfin, Yeh et Tripathi (1989) concluaient à l’extrême difficulté d’application de cette approche (besoins très importants en ressources mémoire et CPU) pour des problèmes chimiques complexes et pour des maillages conséquents (2D et 3D). Par conséquent, cette approche ne paraît pas adaptée à des problématiques plus générales et d’un degré de complexité nettement supérieur.

Au vu de l’ensemble des résultats obtenus, l’algorithme SNI garde donc notre préférence dans la mesure où il représente le meilleur compromis en termes de

Page 65: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

60 BRGM/RP-54904-FR – Rapport final

Profil en Ca total à t = 0.94h (SSp = 50)

2.00E-03

3.00E-03

4.00E-03

5.00E-03

6.00E-03

7.00E-03

8.00E-03

9.00E-03

0 2 4 6 8 10

Distance (cm)

Co

ncen

trati

on

(m

ol/

kg

w)

PHREEQC (Dt = 339.2 s) RER

a

Profil en Ca total à t = 0.94h (SSp=500)

2.00E-03

3.00E-03

4.00E-03

5.00E-03

6.00E-03

7.00E-03

8.00E-03

9.00E-03

0 2 4 6 8 10

Distance (cm)

Co

ncen

trati

on

(m

ol/

kg

w)

PHREEQC (Dt = 339.2 s) RER

b

Profil en Calcium à t = 1h (SSp = 50)

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

ncen

trati

on

(m

ol/

l)

RER (5) MARTHE+SCS (dt=60s)

c

Profil en Calcium à t = 1h (SSp=500)

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

ncen

trati

on

(m

ol/

l)

RER (5) MARTHE+SCS (dt=60s)

d

Profil en calcium à t = 1 h (SSp=50)

0.002

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0 2 4 6 8 10

distance (cm)

Co

ncen

trati

on

(m

ol/

l)

RER-SEQ (SNI, Dt = 60 s) RER

e

Profil en calcium à t = 1 h (SSp=500)

2.00E-03

3.00E-03

4.00E-03

5.00E-03

6.00E-03

7.00E-03

8.00E-03

9.00E-03

0 2 4 6 8 10

distance (cm)

Co

ncen

trati

on

(m

ol/

l)

RER-SEQ (SNI, Dt = 60 s) RER

f

Profil en Calcium à t = 1h (SSp=500)

0.003

0.004

0.005

0.006

0.007

0.008

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

ncen

trati

on

(m

ol/

l)

RER (5)

SNI (Dt=60s)

SSI (Dt=60s)

SS (Dt=60s)

g

Profil en Calcium à t = 3h (SSp=500)

0.007

0.0075

0.008

0.0085

0.009

0 2 4 6 8 10

Distance au point d'injection (cm)

Co

nc

en

tra

tio

n (

mo

l/l)

RER (5)

SNI (Dt=60s)

SSI (Dt=60s)

SS (Dt=60s)

h

Figure 11 – Comparaison entre les résultats des simulations couplées réalisées avec RER-SEQ, PHREEQC et MARTHE+SCS et les résultats obtenus avec RER pour des valeurs plus grandes de la surface réactive : SSp = 50 cm

2.g

-1 (a, c, e) et SSp = 500 cm

2.g

-1 (b, d, f, g, h).

Page 66: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 61

simplicité d’implémentation, de temps de calcul (le plus faible pour un pas de temps donné, comparé aux méthodes itératives) et de précision. Autre point important en faveur de cet algorithme : les différents tests réalisés ont toujours montré une amélioration de la qualité des résultats avec la diminution du pas de temps, ce qui constitue un point rassurant dès lors que les moyens de calculs permettent le raffinement de la discrétisation temporelle.

L’algorithme SS n’est pas itératif et son implémentation est également très simple. Cependant, malgré des résultats meilleurs en précision que SNI (à pas de temps égal) sur le problème de dégradation selon une cinétique du premier ordre, les calculs réalisés pour l’exercice de percolation de la calcite avec SSp = 500 cm2.g-1 ont conduit à des résultats un peu moins précis dans le premier réacteur pour les profils de calcium dissous après 1 h et 3 h de percolation (Figure 11g et Figure 11h) tout en restant cependant de bonne qualité (à peine plus de 2% d’écart entre RER et RER-SEQ-SS). Par conséquent, cet algorithme ne semble pas systématiquement conduire à une amélioration de la précision ; des tests plus poussés seraient donc nécessaires pour décider de l’opportunité de son implémentation dans un code couplé chimie-transport.

L’algorithme SSI, quant à lui, ne s’est finalement pas avéré convainquant pour les simulations de percolation sur la carotte de calcite, la précision obtenue étant similaire à SNI à pas de temps égal. Compte tenu du temps de calcul supérieur par rapport à SNI (à pas de temps identique), il n’est donc pas intéressant d’implémenter cet algorithme, du moins dans sa version actuelle qui ne considère pas les espèces réactives immobiles (solides). Néanmoins, les résultats extrêmement bons obtenus pour le premier exercice (cinétique de dégradation) laissent penser que des travaux futurs visant à une adaptation de cet algorithme aux problèmes impliquant différentes phases réactives (mobiles et immobiles) pourraient conduire, en cas de succès, à une amélioration significative du ratio précision/temps de calcul.

Enfin, l’algorithme SI n’a jamais montré une grande précision sur les tests réalisés et ne paraît donc pas du tout recommandable dans la mesure où, dans certains cas, les résultats peuvent même se dégrader fortement au cours du temps et ainsi devenir complètement erronés (cf. Figure 10).

Page 67: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

62 BRGM/RP-54904-FR – Rapport final

Page 68: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 63

7. Conclusion

Le travail qui a été réalisé au cours de cette étude était basé sur de l’expérimentation numérique dans le but de mesurer l’impact de l’algorithme de couplage sur la précision du résultat des simulations couplées chimie-transport. Pour ce faire, nous avions à notre disposition les codes de calcul suivants : PHREEQC, MARTHE+SCS, RER, et RER-SEQ dont les algorithmes de couplage ont été décrits en détails dans ce rapport. PHREEQC est un logiciel du domaine public tandis que les autres codes ont été développés au BRGM, RER-SEQ l’ayant été spécifiquement pour cette étude. Excepté RER qui est basé sur un algorithme de couplage de type « Direct Substitution Approach » (selon la terminologie définie par Yeh et Tripathi, 1989) dans lequel les équations chimiques sont substituées dans les équations de transport et ainsi résolues simultanément à chaque pas de temps, tous les autres codes reposent sur une approche de type « operator splitting » dans laquelle chimie et transport sont résolus séquentiellement. Suite aux vérifications préliminaires de la cohérence du calcul du transfert de masse dans les différents codes de calcul, les simulations réalisées ont d’abord porté sur un exemple simple d’injection en colonne d’un produit se dégradant selon une loi cinétique du premier ordre. L’intérêt de ce problème couplé réside dans le fait qu’il possède une solution analytique permettant donc de quantifier précisément les incertitudes des différentes approches numériques testées. Dans un deuxième temps, le problème étudié traitait de la percolation d’une solution enrichie en CO2 dissous dans une colonne de calcite. Cet exemple était doublement intéressant car il permettait, d’une part, d’étudier une chimie plus complexe que la simple cinétique de dégradation de l’exemple précédent et, d’autre part, il servait de référence pour les calculs de pré-dimensionnement du dispositif expérimental de percolation réactive qui a été mis au point au BRGM dans le cadre du projet PICOR. L’inconvénient de cet exemple réside dans le fait que, malgré sa simplicité apparente, il n’existe pas de solution analytique au problème couplé complet, ce qui a nécessité un travail d’inter-comparaison plus poussé pour aboutir à une solution de référence. Au terme des différentes séries de simulation qui ont été réalisées, les principales conclusions auxquelles nous sommes parvenus portent sur les points suivants :

1) Lorsque nous disposions d’une solution analytique du problème étudié, RER s’est avéré être systématiquement le code de calcul le plus performant en termes de précision et de temps de calcul. Dans les simulations relatives à la percolation dans une colonne de calcite, problème pour lequel nous ne disposons pas de solution analytique, les résultats RER se sont également avérés les plus performants compte tenu du fait que les codes basés sur une approche « operator splitting » tendaient à converger vers les résultats RER au fur-et-à-mesure que le pas de temps diminuait. Par ailleurs, les simulations

Page 69: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

64 BRGM/RP-54904-FR – Rapport final

RER ont conduit à des temps de calculs remarquablement courts (de l’ordre de la dizaine de seconde) comparativement aux codes séquentiels qui nécessitaient des temps d’exécution de plusieurs heures pour obtenir un niveau de précision satisfaisant. Toutefois, l’utilisation de RER reste limitée à des problèmes 1D de type percolation en colonne pour lesquels l’écoulement est majoritairement advectif.

2) De tous les algorithmes séquentiels, l’algorithme SNI s’est avéré donner le

meilleur compromis entre temps de calcul et précision. Cependant, dans certains cas où l’on disposait d’une solution de référence, les expérimentations réalisées ont montré qu’il était nécessaire de procéder à un raffinement important de la discrétisation temporelle pour atteindre le niveau de précision requis. Cette approche du couplage nous semble donc la plus adaptée à traiter une large gamme de problèmes couplés dans des géométries allant du plus simple au plus complexe. Cependant, la qualité des résultats est directement liée au choix de la « bonne » valeur du pas de temps ce qui, pour certains types de problème, peut nécessiter d’avoir à disposition des moyens de calcul suffisamment performant pour limiter la durée des simulations à des valeurs qui restent « raisonnables » (quelques dizaines d’heures).

3) Parmi les autres algorithmes séquentiels (itératifs ou non) qui ont été testés,

l’algorithme SSI (« Symmetric Sequential Iterative ») et, dans une moindre mesure, l’algorithme SS (« Strang Splitting ») ont montré des performances intéressantes sur un problème simple d’injection d’un produit se dégradant selon une cinétique du premier ordre. Toutefois, dans le cas d’un problème chimique moins trivial (dissolution de la calcite par une solution enrichie en CO2), la précision obtenue n’était pas meilleure qu’avec l’algorithme SNI alors qu’à pas de temps égal, les ressources CPU requises étaient nettement plus importantes (surtout pour SSI). Néanmoins, des travaux complémentaires sur l’adaptation au traitement des espèces réactives immobiles de ces deux algorithmes permettraient peut-être d’aboutir à une réduction du temps de calcul ainsi qu’à l’amélioration de la précision. L’algorithme SI, quant à lui, n’a jamais montré de très bonnes performances et surtout, dans certaines circonstances, les résultats obtenus étaient erronés.

Ces résultats confirment donc les principales conclusions de Yeh et Tripathi (1989) quant aux performances comparées des différents algorithmes de couplage et ont tendance à nous conforter dans le choix d’une approche de type « operator splitting » résolue de manière séquentielle. Toutefois, au-delà des performances intrinsèques des modules composant le code couplé, cette étude a clairement démontré que la valeur du pas de temps est le paramètre influant le plus sur la qualité des résultats obtenus dans une simulation couplée basée sur une technique d’ « operator splitting » et ce, quelque soit l’algorithme de couplage choisi (hormis SI qui peut parfois conduire à des résultats très dégradés). Ceci pose donc le problème du choix d’une valeur de pas de temps appropriée lorsqu’on ne dispose pas de solution de référence (analytique, numérique ou expérimentale) permettant de quantifier la précision du calcul, ce qui est en fait le cas général lorsqu’on aborde un problème couplé chimie-transport.

Page 70: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 65

Ainsi, une valeur trop grande du pas de temps peut conduire à une piètre précision des résultats obtenus sans qu’il soit possible pour autant d’avoir à notre disposition les éléments quantitatifs permettant d’apporter les corrections nécessaires. Autrement dit, le modélisateur ne dispose pas de critère fiable a priori pour définir une valeur maximale du pas de temps en dessous de laquelle une certaine précision est garantie, comme cela est le cas par exemple en hydrodynamique ou en transfert de masse non réactif à partir des nombres adimensionnels de Courant et de Péclet. La seule alternative que nous ayons trouvée à ce jour et qui est systématiquement appliquée au code MARTHE+SCS, consiste à procéder par simulations successives avec des pas de temps de plus en plus petits jusqu’à obtention d’une certaine convergence dans les résultats. Cependant, cette approche se heurte rapidement à la limite imposée par le temps de calcul qui, pour un algorithme SNI, croît de manière quasi-proportionnelle à l’inverse de la valeur du pas de temps (à moins que les calculs chimiques dans chaque maille ou groupe de mailles soit parallélisé et que l’on dispose d’une machine multiprocesseurs). Il faut donc admettre la possibilité de disposer finalement de solutions numériques à un problème donné qui n’aient pas la précision suffisante mais qui soient le « mieux que l’on puisse faire » compte tenu des moyens de calcul à notre disposition. De ce point de vue, l’algorithme de couplage implémenté dans PHREEQC, qui relie automatiquement la valeur du pas de temps au nombre de mailles considéré, rend inapplicable en pratique cette technique de réduction successive du pas de temps dans la mesure où le temps de calcul croît alors proportionnellement au cube du nombre de mailles.

Même s’il faut faire preuve d’une certaine prudence dans la généralisation des résultats obtenus dans cette étude volontairement limitée à des cas simples, il reste néanmoins certain que l’impact du choix du pas de temps est fortement dépendant de la nature et des paramètres du problème traité. Au vu des résultats obtenus ici, les difficultés les plus grandes ont été rencontrées pour la cinétique la plus lente alors que, lorsque la vitesse de dissolution de la calcite augmentait, la précision restait bonne même avec des pas de temps relativement grands. Sans que cela est fait l’objet d’une quelconque tentative de démonstration mathématique (tel n’était pas l’objectif de ce travail), il est aisé d’imaginer que les cas extrêmes correspondant d’une part à une cinétique infiniment lente (finalement équivalente au transfert de masse non réactif) et, d’autre part, à une cinétique infiniment rapide (équilibre instantané) ne génèrent pas de difficultés numériques particulières en matière de couplage. Par contre, toutes les situations intermédiaires sont susceptibles a priori de conduire à des imprécisions plus ou moins grandes. De plus, dans des problématiques générales plus complexes que celles étudiées ici, en présence de cinétiques hétérogènes à la fois dans l’espace (en fonction de la composition aqueuse et de la proportion des diverses espèces minérales en présence) et dans le temps (en fonction de l’avancement des réactions), on comprend toute la difficulté de la définition d’un pas de temps optimal pour résoudre le problème couplé de manière totalement prédictive, c'est-à-dire sans indications préalables sur les résultats attendus.

Avec l’objectif, à terme, d’être capable de traiter des problèmes couplés relativement complexes justifiés notamment par l’étude du stockage géologique du CO2, il apparaît donc nécessaire, en complément à ce premier travail expérimental, d’orienter les travaux futurs vers la recherche de critères numériques permettant d’évaluer la qualité

Page 71: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

66 BRGM/RP-54904-FR – Rapport final

des calculs couplés. Ces critères devront nécessairement reposer sur des considérations entre cinétique réactionnelle et vitesse de transfert et donc introduire le nombre adimensionnel de Damkohler. Toutefois, et sur la base de nos tous premiers tests sur ce point, il apparaît clairement que nous ne pouvons espérer définir un critère permettant un choix de pas de temps a priori. En effet, compte tenu de la variabilité à la fois spatiale et temporelle du nombre de Damkohler qui devrait être défini pour chacune des réactions cinétiques prises en compte, les seules perspectives viables nous paraissent être un critère de validation des calculs a posteriori. Ainsi, il serait alors nécessaire de refaire la simulation complète avec une nouvelle discrétisation temporelle lorsque le critère ne serait pas vérifié dans l’ensemble des mailles et à tous les pas de temps.

Dans l’attente de la disponibilité d’un éventuel critère répondant à ces attentes, les premières conclusions de cette étude montrent les limites actuelles du caractère prédictif des simulations couplées chimie-transport. La confrontation des résultats de simulation avec des données expérimentales acquises spécifiquement dans ce but s’avère ainsi incontournable pour espérer progresser dans la compréhension des processus physico-chimiques et numériques qu’il est nécessaire de considérer pour interpréter les résultats des simulations. Dans tous les cas cependant, l’inter-comparaison de codes nous paraît être le moyen le plus accessible pour espérer évaluer objectivement la qualité des calculs réalisés ou, tout du moins, pour relativiser les conclusions qui pourraient être tirées de simulations à vocation prédictive.

Page 72: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

BRGM/RP-54904-FR – Rapport final 67

Bibliographie

Baranger P., Azaroual M., Freyssinet P., et al. (2002) – Weathering of a MSW bottom ash heap: a modelling approach. Waste Management, 22, p. 173-179.

Baranger P., Goldztejn S., Sauty J. P., et al. (1995) – Faisabilité de l’approche réacteurs en réseaux, conception et tests de fonctionnement. BRGM/R38689. Orléans : BRGM, 67p.

Baranger P., Kervévan C. (1998) – SCS: Specific Chemical Simulators dedicated to chemistry-transport coupled modelling: Part II. A simplified coupled modelling approach based on Networks of Chemical Reactors. Mineralogical Magazine, 62A (1-3), p. 114-115.

Basagaoglou H., Ginn T. R., McCoy B. J. (2002) – Formulation of a soil-pesticide transport model based on a compartmental approach. Journal of Contaminant Hydrology, 56, p.1-24.

Carrayrou J. (2001) – Modélisation du transport de solutés réactifs en milieu poreux saturé. Thèse de Doctorat de l’Université Louis Pasteur, Strasbourg.

Coats K., Smith B.D. (1964) – Dead-end pore volume and dispersion in porous media. J. Soc. Petroleum Eng., p. 73-84.

Czernichowski et al. (2002) – Saline Aquifer CO2 Storage (SACS2) – Work Area 3 : Geochemistry. EU Contract ENK6-1999-00014. Summary report. 14 p.

Kervévan C., Baranger P. (1998) – SCS: Specific Chemical Simulators dedicated to chemistry-transport coupled modelling: Part I. Design and construction of an SCS. Mineralogical Magazine, 62A (1-3), p. 771-772.

Kervévan C., Baranger P., Thierry P., et al., (2000) – Réalisation d’un prototype de logiciel d’évaluation semi-quantitative de la pollution des eaux en zone urbaine – Application à un secteur de l’agglomération lyonnaise. 2nd International Conference on Decision Making in Urban and Civil Engineering, 20-22 November, Lyon, France, p. 115-126

Kervévan C. et Lanini S. (1999) – Conception des Simulateurs Chimiques Spécifiques avec ALLAN 3.1 et NEPTUNIX 4. BRGM/R40878. Orléans : BRGM, 77 p.

Kervévan C., Thiéry D., Baranger P. (1998) – SCS: Specific Chemical Simulators dedicated to chemistry-transport coupled modelling: Part III. Coupling of SCS with the hydro-transport modelling software MARTHE. Mineralogical Magazine, 62A (1-3), p. 773-774.

Page 73: Etude comparative des algorithmes de couplage des codes ...

Etude comparative des algorithmes des codes chimie-transport utilisés au BRGM

68 BRGM/RP-54904-FR – Rapport final

Parkhurst D.L., Appelo C.A.J. (1999) – User's guide to PHREEQC (Version 2) – A computer program for speciation, batch-reaction, one-dimensional transport, and inverse geochemical calculations: U.S. Geological Survey Water-Resources Investigations Report 99-4259, 310 p.

Plummer L.N., Wigley T.M.L., Parkhurst D.L. (1978) – The kinetics of calcite dissolution in CO2-water systems at 5°C to 60°C and 0.0 to 1.0 atm CO2. American Journal of Science, 278, p. 179-216.

Saaltink M.W., Carrera J., Ayora C. (2001) – On the behavior of approaches to simulate reactive transport. Journal of Contaminant Hydrology, 48, p. 213-235.

Sardin M.D., Schweich D., Leij F.J., et al. (1991) – Modeling the nonequilibrium transport of linearity interacting solutes in porous media: a review. Water Resources Research, 27, p. 2287-2307.

Sauty J.P. (1995) – Réacteurs en réseau, quelques solutions exactes. BRGM/R38688. Orléans : BRGM, 47 p.

Strang G. (1968) – On the construction and comparison of difference schemes. SIAM J. Numer. Anal., 5(3), p.506-517.

Thiéry D. (1990) – MARTHE. Modélisation d'Aquifères par maillage Rectangulaire en régime Transitoire pour le calcul Hydrodynamique des Écoulements. Version 4.3. BRGM/R32210. Orléans : BRGM, 200 p.

Thiéry D. (1993) – Modélisation des aquifères complexes - Prise en compte de la zone non saturée et de la salinité. Calcul des intervalles de confiance. Revue Hydrogéologie, 4, p. 325-336.

Thiéry D. (1994) – Modélisation 3D des écoulements en zone non saturée avec le logiciel MARTHE Version 5.4. BRGM/R38108. Orléans : BRGM, 114 p.

Thiéry D. (1995) – Modélisation 3D du transport de masse avec le logiciel MARTHE Version 5.4. BRGM/R38149. Orléans : BRGM, 171 p.

Van der Lee, J., De Windt L. (2001) – Present state and future directions on modeling of geochemistry in hydrogeological systems. Journal of Contaminant Hydrology, 47, p. 265-282.

Wolery T. J. (1995) – EQ3/6, a software package for geochemical modeling of aqueous systems: package overview and installation guide (version 7.2b). Lawrence Livermore National Laboratory, Livermore, California, United States.

Yeh G. T., Tripathi V. S. (1989) – A critical evaluation of recent developments in hydrogeochemical transport models of reactive multichemical components. Water Resources Research, 25(1), p. 93-108.

Page 74: Etude comparative des algorithmes de couplage des codes ...

Centre scientifique et technique

Service EAU 3, avenue Claude-Guillemin

BP 6009 – 45060 Orléans Cedex 2 – France – Tél. : 02 38 64 34 34