Algorithmes de décomposition de domaines pour une équation de réaction-diffusion non linéaire Filipa Caetano, Laurence Halpern LAGA, Univ. Paris 13 - Projet SHPCO2 Collaboration : Martin Gander, Jérémie Szeftel Groupe de travail Méthodes Numériques - LJLL 9 février 2009 Filipa Caetano – p. 1/23 Motivation - Le projet SHPCO2 Projet de l’ANR SHPCO2 - Simulation Haute Performance du Stockage Géologique de CO2 : ⋄ Coupler différents phénomènes physiques au sein d’un même modèle : écoulements multiphasiques, transport réactif, . . . ⋄ Gérer numériquement l’interaction entre zones très réactives et zones peu réactives. Contribution de l’équipe du LAGA : ⋄ Décomposition de domaines espace-temps ; ⋄ Modèles simples mais utiles ; ⋄ Discrétisation des modèles. Filipa Caetano – p. 2/23 Motivation ⋄ Construction d’algorithmes de décomposition de domaines performants pour des équations avec des termes de réaction non linéaires. Problème modèle : équation de réaction-diffusion. −→ Définir de bonnes conditions de transmission aux interfaces des domaines. ⋄ Découplage total en espace-temps - algorithmes de Schwarz de type relaxation d’ondes (SWR). Objectifs : ⋄ ⋄ Paralléliser ; Raffiner localement en espace et en temps. Filipa Caetano – p. 3/23 Problème modèle L’équation de réaction-diffusion semi-linéaire : ∂t u − ν∆u + f (u) = 0. Algorithmes de relaxation d’ondes : ⋄ Décomposition du domaine spatial en sous-domaines (sans recouvrement). ⋄ Résolution globale en espace-temps dans chaque sous-domaine. ⋄ Couplage aux interfaces. Objectif : Conditions à l’interface qui optimisent la vitesse de convergence de l’algorithme. Filipa Caetano – p. 4/23 Schwarz, SWR et SWR optimisé ⋄ Algorithmes de Schwarz sans recouvrement : Lions. ⋄ SWR pour des équations d’évolution : ⋄ Advection-réaction-diffusion : Japhet, Nataf, Gander, Halpern, Martin, ... ⋄ Saint Venant : Martin. ⋄ Maxwell, Euler : Gander, Dolean, . . . ⋄ Schrödinger 1D : Halpern, Szeftel. ⋄ Ondes semi-linéaire 1D : Halpern, Szeftel. Filipa Caetano – p. 5/23 L’équation de réaction-diffusion semi-linéaire Le problème de Cauchy pour l’équation de réaction-diffusion semi-linéaire en dimension 2 : ( ∂t u − ν∆u + f (u) = 0, dans R2 ×]0, T [, pour t = 0. u = u0 , (1) Hypothèses : f ∈ C 2 (R ) et u0 ∈ L2 (R2 ). Problème bien posé : Il existe T > 0 tel que le problème (1) admet une solution u ∈ L2 (0, T; H 2 (R2 )) ∩ C([0, T ]; L2 (R2 )). Filipa Caetano – p. 6/23 L’algorithme de Schwarz de relaxation d’ondes On décompose R2 en 2 domaines : Ω1 =] − ∞, 0[×] − ∞, +∞[, Ω2 =]0, +∞[×] − ∞, +∞[. Γ = {0}×] − ∞, +∞[ la frontière de Ω1 et Ω2 . Résoudre le problème (1) est équivalent à résoudre ∂ u − ν∆u + f ( u ) = 0, dans Ω ×]0, T [, t 1 1 1 1 u1 = u0 , pour t = 0, | Ω1 avec ∂ u − ν∆u + f ( u ) = 0, dans Ω ×]0, T [, t 2 2 2 2 u2 = u0 , pour t = 0, | Ω2 u1 = u2 , sur Γ, ∂u ∂u1 = 2, ∂n ∂n sur Γ. Filipa Caetano – p. 7/23 L’algorithme de Schwarz de relaxation d’ondes Algorithme de Schwarz de relaxation d’ondes : Initialisation : (u10 , u20 ) −→ se donner un initial guess. Itération k → k + 1 : ∂t u1k+1 − ν∆u1k+1 + f ( u1k+1 ) = 0, Ω1 ×]0, T [, u1k+1 = u0 |Ω1 , t = 0, B1 ( u1k+1 ) = B1 ( u2k ), Γ ×]0, T [, ∂t u2k+1 − ν∆u2k+1 + f ( u2k+1 ) = 0, Ω2 ×]0, T [, u2k+1 = u0 |Ω2 , t = 0, B2 ( u2k+1 ) = B2 ( u1k ), Γ ×]0, T [. Conditions de transmission : −→ Comment définir les opérateurs d’interface B1 et B2 ? ⋄ Problèmes dans les sous-domaines bien posés ; ⋄ Convergence rapide de l’algorithme ; ⋄ Compatibilité entre u1 et u2 sur Γ. Filipa Caetano – p. 8/23 L’algorithme de Schwarz - Conditions de transmission Comment définir les opérateurs d’interface B1 et B2 ? Le choix optimal : ⊲ Bi = ∂ ∂ni + DtNj −→ convergence en deux itérations. Problème : l’opérateur Dirichlet-Neumann DtN ⋄ est non local ; ⋄ n’admet pas d’expression explicite en général. −→ Approximation par un opérateur local. Soit τ la direction tangente à Ωi sur Γ : ∂ ∂2 DtN ≃ p + q − 2 ∂t ∂τ Filipa Caetano – p. 9/23 Conditions de transmission de Robin Soient ⋄ p≥0; n1 et n2 les normales extérieures à Ω1 et Ω2 sur Γ. Conditions de transmission de Robin : Bi (u) = ∂u ∂ni + pu. CL dans le domaine 1 : ∂u1k+1 ∂u2k k +1 + pu1 = + pu2k sur Γ×]0, T [. ∂n1 ∂n1 CL dans le domaine 2 : ∂u2k+1 ∂u1k k +1 + pu2 = + pu1k sur Γ×]0, T [. ∂n2 ∂n2 Question : Existent-t-ils des paramètres p optimaux ? Filipa Caetano – p. 10/23 Convergence de l’algorithme de décomposition de domaine Théorème : ⋄ L’algorithme de décomposition de domaine est bien défini. −→ Les problèmes aux limites sont bien posés dans chaque domaine. Preuve : ⋄ RT ⋄ Estimations a priori : kuk + ⋄ Théorème de point fixe ; ⋄ ∃1 solution dans L2 (0, T; H 2 (Ωi )) ∩ H 1 (0, T; L2 (Ωi )). 0 (k∇uk + kut k) + kukΓ ≤ C ; L’algorithme de décomposition de domaine converge. ⋄ Les erreurs Eik = uik − u|Ωi convergent vers 0. ⋄ Preuve : RT 2 k k E ( Ei ) = k Ei k + 0 k∇ Eik k2 → 0, lorsque k → ∞. Compatibilité entre u1 = lim u1k et u2 = lim u2k à l’interface Γ. Filipa Caetano – p. 11/23 Approximation numérique Discrétisation des problèmes aux limites dans chaque sous-domaine. ⋄ Éléments finis en espace, différences finies en temps. ⋄ Discrétisation de l’opérateur linéaire ∂t − ν∆ : schéma d’Euler implicite. ⋄ Discrétisation explicite du terme non linéaire f (u). −→ Si unh est la solution éléments finis à l’instant tn = n∆t : unh +1 − unh − ν∆h unh +1 + f (unh ) = 0. ∆t Mise en œuvre de l’algorithme de décomposition de domaine : ⋄ Construction de l’opérateur d’interface (u1 , u2 ) −→ ( B1 (u2 ), B2 (u1 )). Théorème : L’algorithme itératif discrétisé converge vers la solution discrète globale. Filipa Caetano – p. 12/23 Résultats numériques ⋄ Domaine de calcul : Ω×]0, 1[, où Ω est le rectangle ] − 1, 1[×]0, 1[. ⋄ ⋄ Ω1 =] − 1, 0[×]0, 1[. Ω2 =]0, 1[×]0, 1[. ⋄ Non-linéarités : f (u) = u3 et f (u) = eu − 1. ⋄ Solutions comparées : ⋄ La solution monodomaine calculée dans le domaine Ω entier ; ⋄ La solution décomposition de domaine. Filipa Caetano – p. 13/23 Résultats numériques - Paramètres optimaux Différence, en norme L∞ entre solution DD et solution M. ν = 1, h ≃ 0.25. Comparaison entre p = 9 et p = 20. Linf error between DD and monodomain solutions after 20 iterations 0 10 Robin p=9 Robin p=20 −1 10 −2 10 −3 10 −4 Linf error 10 −5 10 −6 10 −7 10 −8 10 −9 10 −10 10 0 2 4 6 8 10 12 Number of iterations 14 16 18 20 Filipa Caetano – p. 14/23 Paramètre optimal en fonction du pas d’espace - Robin Erreur à la fin de 20 itérations en fonction de p pour h ≃ 0.125 et h ≃ 0.0625. Linf error as a function of p in Log10 scale after 20 iterations Linf error as a function of p in Log10 scale after 20 iterations −7.2 10 −5.66 10 −7.3 10 −5.68 −7.4 10 −7.5 10 Linf error Linf error 10 −5.7 10 −7.6 10 −5.72 10 −7.7 10 −5.74 10 −7.8 10 −5.76 10 −7.9 10 10 10.5 11 11.5 12 p 12.5 13 13.2 13.4 13.6 p 13.8 14 14.2 Connaît-t-on la valeur de p optimal ? Filipa Caetano – p. 15/23 Conditions de transmission non linéaires de type Robin Motivation : Si b ≥ 0, pour l’équation de réaction-diffusion linéaire ∂t u − ν∆u + bu = 0, le paramètre optimal popt vérifie popt ∼ p(b, ν, ∆t) [Bennequin, Gander, Halpern]. −→ Remplacer b par f ′ (u). Supposons ϕ(u) ≥ 0, pour tout u. Conditions de transmission non linéaires : Bi (u) = ∂u ∂ni + ϕ(u)u. CL dans le domaine 1 : ∂u1k+1 ∂u2k k +1 k +1 + ϕ ( u1 ) u1 = + ϕ(u2k )u2k sur Γ ×]0, T [. ∂n1 ∂n1 CL dans le domaine 2 : ∂u1k ∂u2k+1 k +1 k +1 + ϕ ( u2 ) u2 = + ϕ(u1k )u1k sur Γ ×]0, T [. ∂n2 ∂n2 Filipa Caetano – p. 16/23 Approximation numérique ϕ(u) = p f ′ (u), ν, ∆t . Pour le problème avec conditions aux limites non linéaires ∂t u − ν∆u + f (u) = 0, dans Ωi ×]0, T [, pour t = 0, u = u0 | Ωi , ∂u sur Γ×]0, T [, ∂n + ϕ ( u ) u = g, i on explicite la non-linéarité ϕ(u) : ϕ(unh )unh +1 . ⋄ ϕ(u)u ⋄ Si u −→ ϕ(u)u est injective et ϕ(u) est bornée, l’algorithme discrétisé converge. Filipa Caetano – p. 17/23 Résultats numériques - Robin et Robin non linéaire Comparaison entre Robin et Robin non linéaire après 20 itérations. ν = 1. h = 0.125 et h = 0.0625. Linf error between DD and monodomain solutions after 20 iterations 0 Linf error between DD and monodomain solutions after 20 iterations 0 10 10 Nonlinear Robin Linear Robin popt−num Nonlinear Robin Linear Robin popt−num −1 10 −1 10 −2 10 −2 10 −3 Linf error Linf error 10 −4 10 −3 10 −5 10 −4 10 −6 10 −5 10 −7 10 −8 10 −6 0 2 4 6 8 10 12 Number of iterations 14 16 18 20 10 0 2 4 6 8 10 12 Number of iterations 14 16 18 20 Filipa Caetano – p. 18/23 Résultats numériques - Robin et Robin non linéaire Comparaison entre Robin et Robin non linéaire après 20 itérations. ν = 0.05. h = 0.125 et h = 0.0625. Linf error between DD and monodomain solutions after 20 iterations 0 Linf error between DD and monodomain solutions after 20 iterations 0 10 10 Nonlinear Robin Linear Robin popt−num Nonlinear Robin Linear Robin popt−num −1 10 −2 10 −2 10 −4 10 −3 10 −4 Linf error Linf error −6 10 −8 10 10 −5 10 −6 10 −10 10 −7 10 −12 10 −8 10 −14 10 −9 0 2 4 6 8 10 12 Number of iterations 14 16 18 20 10 0 2 4 6 8 10 12 Number of iterations 14 16 18 20 Filipa Caetano – p. 19/23 Résultats numériques - Robin et Robin non linéaire Comparaison entre Robin et Robin non linéaire après 30 itérations. ν = 0.05. h = 0.125. Linf error between DD and monodomain solutions after 30 iterations 0 10 Nonlinear Robin Linear Robin popt−num −5 Linf error 10 −10 10 −15 10 0 5 10 15 Number of iterations 20 25 30 Filipa Caetano – p. 20/23 Conditions de transmission d’ordre 2 Soient ⋄ p, q ≥ 0. ⋄ τ la direction tangente à Ωi sur Γ. Conditions de transmission d’ordre 2 : Bi (u) = CL dans le domaine 1 : ∂u ∂ni + pu + q ∂u ∂t − ∂2 u ∂τ 2 . ∂uk+1 ∂2 uk+1 ∂uk ∂2 uk k ∂u1k+1 ∂u k 1 2 1 2 2 + pu1k+1 + q − + pu − + q = sur Γ×]0, T [. 2 ∂n1 ∂t ∂n1 ∂t ∂τ 2 ∂τ 2 CL dans le domaine 2 : ∂uk ∂2 uk ∂uk+1 ∂2 uk+1 ∂u1k ∂u2k+1 k +1 k 1 2 1 2 = − − + pu2 + q + pu + q sur Γ×]0, T [. 1 ∂n2 ∂t ∂n2 ∂t ∂τ 2 ∂τ 2 Filipa Caetano – p. 21/23 Robin optimal et ordre 2 optimal Robin optimal versus Ordre 2 optimal. h = 0, 125. Linf error between DD and monodomain solutions after 20 iterations 0 10 Robin O2 −5 Linf error 10 −10 10 −15 10 0 2 4 6 8 10 12 Number of iterations 14 16 18 20 Filipa Caetano – p. 22/23 Perspectives ⋄ Cas tests avec d’autres non linéarités. ⋄ Étendre l’étude des conditions non linéaires à l’ordre 2. ⋄ Justifier les paramètres non linéaires optimaux. ⋄ Conditions de transmission intégrales. ⋄ Maillages non conformes. Filipa Caetano – p. 23/23