Méthode de Schwarz optimisé appliquée au problème de Helmholtz

Transcription

Méthode de Schwarz optimisé appliquée au problème de Helmholtz
DEA de Mathématiques
Université Claude Bernard de Lyon
Année universitaire : 2003/2004
Méthode de Schwarz optimisé
appliquée au problème de Helmholtz
Etude de l’article de Martin J. Gander, Frédéric Magoulès et Frédéric Nataf
Optimised Schwarz methods without overlap for the Helmholtz problem
Journal of Scientific Computing
Etudiante : Géraldine Pichot
Tuteur : Mr Damien Tromeur-Dervout
SOMMAIRE
1.Introduction..............................................................................................................................3
2.Le problème de Helmholtz.......................................................................................................3
3.Rappel sur Schwarz classique..................................................................................................3
4.Schwarz optimisé.....................................................................................................................4
5.Conditions optimisées de Robin pour Schwarz sans recouvrement........................................6
6.Le problème à résoudre............................................................................................................6
7.Sur un exemple.........................................................................................................................8
8.Conclusion.............................................................................................................................14
1. Introduction
La méthode de Schwarz classique est une technique de décomposition de domaines pour
résoudre les équations elliptiques en parallèle. La convergence est obtenue grâce au
recouvrement des sous-domaines.
Dans ce projet, nous allons étudier une variante de la méthode de Schwarz qui converge sans
recouvrement. Nous allons nous intéresser plus particulièrement au problème de Helmholtz
pour lequel la méthode de Schwarz classique n’est pas efficace puisqu’elle ne permet de
réduire que l’erreur sur les hauts modes de l’erreur. Pour les bas modes, le taux de
convergence est en effet de 1. L’idée est alors de changer les conditions de transmissions de
Dirichlet de Schwarz classique par des conditions de Robin.
2. Le problème de Helmholtz
Nous allons étudier le problème de Helmholtz en deux dimensions :
∆ u + w²u = f
u= 0
∂u
− iwu = 0
∂x
∂u
−
− iwu = 0
∂x
dans Ω = [ 0,1] ²
0 < x < 1, y = 0,1
x = 0, 0 < y < 1
x = 1, 0 < y < 1
(1)
(2)
(3)
(4)
On décompose le domaine Ω en deux sous-domaines Ω1 et Ω2 en notant u1 la solution sur le
domaine 1 et u2 la solution sur le domaine 2.
3. Rappel sur Schwarz classique
L’algorithme de Schwarz additif classique avec recouvrement : Ω1=[0, L]x[0,1] et
Ω2=[L,1]x[0,1], L>0, conduit à l’itération suivante :
∆ u1n + 1 + w²u1 = f
dans Ω 1
u1n + 1 ( L, y ) = u2n ( L, y ),
y ∈ [0,1]
(5)
Et
∆ u2n + 1 + w²u2n + 1 = f
dans Ω
2
(6)
u2n + 1 (0, y ) = u1n (0, y )
Etude de la convergence :
On considère l’erreur sur la solution :
e1n + 1 ( x, y ) = u1n + 1 ( x, y ) − uexact ( x, y )
e2n + 1 ( x, y ) = u2n + 1 ( x, y ) − uexact ( x, y )
(7)
On utilise alors la transformée de Fourier en la variable y et on obtient alors le système
d’équations suivant :
(8)
∂ ²eˆ1n + 1
+ ( w² − k ²)eˆ1n + 1 = 0 x < L, k ∈ ¡
∂ x²
n+ 1
eˆ1 ( L, k ) = eˆ2n ( L, k )
k∈ ¡
∂ ²eˆ2n + 1
+ ( w² − k ²)eˆ2n = 0
∂ x²
n+ 1
eˆ2 (0, k ) = eˆ1n (0, k ),
x > 0, k ∈ ¡
k∈ ¡
Après résolution, on obtient la solution suivante à x=0 :
(9)
eˆ1n + 1 (0, k ) = exp(− 2 k ² − w² L)eˆ1n − 1 (0, k )
Le taux de convergence est alors :
(10)
ρ cla = exp(− 2 k ² − w² L)
Ainsi, lorsqu’elle est appliquée au problème de Helmholtz, la méthode de Schwarz ne permet
pas de réduire l’erreur sur les bas mode (i.e. pour k²<w²) puisque, pour ces modes, |ρcla| = 1.
4. Schwarz optimisé
Au lieu d’utiliser les conditions de Dirichlet, on les remplace par des conditions plus
générales :
∆ u1n + 1 + w²u1n + 1 = f
(∂
x
+ S1
dans Ω 1
) ( u ( L, y ) ) = ( ∂
n+ 1
1
x
+ S1
(11)
) ( u ( L, y ) ) , y ∈ ¡
n
2
Et
∆ u2n + 1 + w²u2n + 1 = f dans Ω
(∂
x
+ S2
) ( u ( 0, y ) ) = ( ∂
n+ 1
2
x
(12)
2
+ S2
) ( u ( 0, y ) ) , y ∈ ¡
n
1
Les opérateurs S1 et S2 sont des opérateurs linéaires dans la direction y le long de l’interface.
Notre but sera d’utiliser ces opérateurs pour optimiser la convergence de l’algorithme.
Etudions la convergence de ce problème. Pour cela, on utilise la transformée de Fourier sur le
problème suivant :
∂ ² eˆ1n + 1
−
− ( w² − k ² ) eˆ1n + 1 = 0
x < L, k ∈ ¡
∂ x²
∂ x + σ 1 (k ) eˆ1n + 1 ( L, k ) = ∂ x + σ 1 ( k ) eˆ2n
(
)(
)
(
) ( ) ( L, k ) ,
(13)
k∈ ¡
Et :
−
(
∂ ² eˆ2n + 1
− ( w² − k ²)eˆ2n + 1 = 0
x > 0, k ∈ ¡
∂ x²
∂ x + σ 2 (k ) eˆ2n + 1 ( 0, k ) = ∂ x + σ 1n (k ) eˆ1n ( 0, k ) , k ∈ ¡
)(
)
(
)(
(14)
)
Avec σj(k) symboles correspondant aux opérateurs Sj et k variable de Fourier (fréquence).
Après résolution, on obtient :
eˆ1n + 1 ( 0, k ) =
σ 1 (k ) −
σ 1 (k ) +
k ² − w² σ 2 ( k ) +
.
k ² − w² σ 2 ( k ) −
k ² − w²
exp − 2 k ² − w² L eˆ1n − 1 ( 0, k )
k ² − w²
(
)
(15)
Le taux de convergence est donc de :
ρ opt =
σ 1 (k ) −
σ 1 (k ) +
k ² − w² σ 2 (k ) +
.
k ² − w² σ 2 (k ) −
k ² − w²
exp − 2 k ² − w² L
k ² − w²
(
)
(16)
Le meilleur choix pour obtenir la convergence dans cette nouvelle méthode de Schwarz est de
prendre :
σ 1 (k ) =
(17)
k ² − w²
σ 2 ( k ) = − k ² − w²
Et dans ce cas, le taux de convergence se réduit à 0 et l’algorithme convergence donc en
seulement 2 itérations quelle que soit la solution initiale. La problème est que ce choix
correspond à des opérateurs Sj dans l’espace physique non locaux, à cause de la racine carrée.
De ce fait, nous allons approcher ces opérateurs. Les σj vont être approchés par des
app
polynômes σ j correspondant à des opérateurs différentiels dans le domaine physique.
On utilise un développement de Taylor :
1
k²  2
1 k² 


k ² − w² = wi  1 −
 ≈ wi  1 −

w² 
2 w² 


(18)
Ainsi, nous allons approcher les opérateurs Sj soit par une constante complexe a conduisant
alors à des conditions de Robin à l’interface (Conditions de transmissions d’ordre 0), soit par
a + b∂ τ τ , où τ est la direction tangentielle à l’interface et a, b ∈ £ (Conditions de
transmissions d’ordre 2).
Dans la section suivante, nous allons nous intéresser plus particulièrement aux conditions de
Robin d’ordre 0
5. Conditions optimisées de Robin pour Schwarz sans recouvrement
Dans toute la suite, nous prenons L=0 i.e. on utilise la méthode de Schwarz optimisée sans
recouvrement qui converge, contrairement à la méthode de Schwarz classique qui ne converge
pas si L=0.
On approche les opérateurs Sj par une constante complexe :
(19)
S1app = − S2app = a = p + iq, p, q ∈ ¡ +
La positivité permet d’obtenir des sous-problèmes (11) et (12) bien posés.
Le taux de convergence devient alors :
ρ opt =
 p + iq − k ² − w² 


 p ² + iq + k ² − w² 
(20)
2
On constate que pour k²=w², le taux de convergence vaut 1 quel que soit le choix de p et de q.
Mais il ne s’agit que d’un seul mode dans le spectre et une méthode de Krylov pourra le
prendre en charge.
6. Le problème à résoudre
u=0
y
(0,1)
Γ12
∂u
− iwu = 0
∂x
−
n2 n1
Ω1
(0,0)
∂u
− iwu = 0
∂x
Ω2
(0.5,0.5)
(1,0)
x
u=0
On résous le problème de Schwarz optimisé :
− ∆ u1n + 1 − w²u1n + 1 = f1
dans Ω 1
∂ u1n + 1
∂ u2n
+ au1n + 1 =
+ au2n sur Γ 12
∂x
∂x
− ∆ u2n + 1 − w²u2n + 1 = f 2 dans Ω 2
∂ u2n + 1
∂ u1n
n+ 1
− au2 =
− au1n sur Γ 12
∂x
∂x
(21)
Au lieu de discrétiser directement ce problème et avoir alors à évaluer les dérivées normales
le long de l’interface, on introduit deux variables :
∂ u2n
λ =
+ au2n
∂x
∂ un
λ 2n = − 1 + au1n
∂x
(22)
∂ u2n + 1
+ au2n + 1 = − λ 2n + 2au2n + 1
∂x
∂ u1n + 1
n+ 1
λ2 = −
+ au1n + 1 = − λ 1n + 2au1n + 1
∂x
(23)
− ∆ u1n + 1 − w²u1n + 1 = f1
(24)
n
1
Ainsi :
λ 1n + 1 =
Le problème s’écrit alors :
dans Ω 1
∂ u1n + 1
+ au1n + 1 = λ 1n
∂x
− ∆ u2n + 1 − w²u2n + 1 = f 2
sur Γ 12
dans Ω
2
n+ 1
2
∂u
+ au2n + 1 = λ 2n
∂x
λ 1n + 1 = − λ 2n + 2au2n + 1
−
λ 2n + 1 = − λ 1n + 2au1n + 1
On interprète ce nouveau algorithme comme un algorithme du point fixe, ce qui nous amène à
résoudre :
λ 1 = − λ 2 + 2 a ( u2 ( λ 2 , f 2 ) )
(25)
λ 2 = − λ 1 + 2a ( u1 (λ 1 , f1 ) )
Où les uj, j=1,2 sont les solutions de
− ∆ u j − w²u j = f j
∂ uj
∂ nj
+ au j = λ
j
dans Ω
j
(26)
sur Γ 12
Au lieu de résoudre ce sous problème structuré par une méthode du point fixe, nous allons
directement utiliser une méthode de Krylov.
Une discrétisation éléments finis nous conduit à résoudre le problème linéaire suivant :
(27)
λ 1 = − λ 2 + 2aB2 u2
λ 2 = − λ 1 + 2aB1 u1
K 1 u1 = f1 + B1T λ 1
K u = f + BT λ
2 2
2
2
2
Avec Bj opérateur de trace sur le domaine j
T
Et K j les matrices issues de la discrétisation : K j = K j − w² M j + B j aM Γ
(
12
) B , j = 1, 2
j
Où Kj Matrice de rigidité
Mj Matrice de masse
M Γ Matrice prenant en compte les conditions de Neumann à l’interface Γ12
12
Nous sommes donc amené à résoudre le système linéaire suivant :

I

 −1 T
 I − 2aB1 K1 B1
I − 2aB2 K 2− 1 B2T   λ 1   2aB2 K 2− 1 f 2 
  = 
 −1 
I
  λ 2   2aB1 K1 f1 
(28)
Pour cela, nous utiliseront une méthode de Krylov. Une fois les λj j=1,2, obtenus, on trouve
les solutions en inversant le système en uj (équation (27)).
7. Sur un exemple
Prenons
f ( x , y ) = − ∆ u − w ²u
(29)

2
1 

avec u ( x, y ) = y *( y − 1) exp  iw
sin  π ( x − )  
4 
2π


On vérifie que ce u est bien solution du problème (1-4).
Pour résoudre le système linéaire, on construit avec GAMBIT un maillage triangulaire sur
chaque sous-domaine de façon à avoir la même position des nœuds à l’interface. Puis on
résous le système linéaire à l’aide de l’algorithme GMRES pour complexe du CERFACS
adapté afin de prendre en compte les communications entre les sous-domaines.
a. Cas 1 : w = 1
Prenons w=1 et a=(1e-3,1e-3) et traçons la solution correspondante. La solution obtenue par
notre algorithme est calculée à partir d’un maillage triangulaire de 2589 nœuds et 4976
éléments sur Ω1 et 2551 nœuds et 4900 éléments sur Ω2 .
Partie réelle de la solution exacte
Partie réelle de la solution calculée
Partie imaginaire de la solution exacte
Partie imaginaire de la solution calculée
Module de la solution exacte
Module de la solution calculée
On peut calculer l’erreur commise (norme 2 de la différence entre la solution calculée et l
solution exacte) :
- sur la partie réelle = 0.0026
- sur la partie imaginaire = 8.2534e-004
- sur le module = 0.0027
et tracer le log10 du résidu calculé par l’algorithme GMRES :
b. Cas 2 : w=10π
Lorsque w a une valeur qui est celle d’une fréquence k du modèle k=jπ, j=1,2,… (en effet, si
le domaine Ω est de hauteur L=1 avec des conditions de Dirichlet pour y=0,1, alors on peut
jπ y
) = sin( jπ y ) )
étendre la solution par une série de Fourier de la forme sin(
L
Prenons w=10π. Pour cette fréquence, la convergence est égale à 1. Vérifions si notre
méthode de Krylov permet de résoudre notre problème pour cette valeur de w.
Nous utilisons ici un maillage de 5774 nœuds et 11246 éléments sur Ω1 et 5755 nœuds et 11208
éléments sur Ω2
Traçons la solution pour cette valeur de w et a=(1e—3,. 1e—3).
Partie réelle de la solution exacte
Partie réelle de la solution calculée
Partie imaginaire de la solution exacte
Partie imaginaire de la solution calculée
Module de la solution exacte
Module de la solution calculée
On peut calculer l’erreur commise (norme 2 de la différence entre la solution calculée et l
solution exacte) :
- sur la partie réelle = 0.0017
- sur la partie imaginaire = 6.5161e-004
- sur le module = 0.0019
et tracer le log10 du résidu calculé par l’algorithme GMRES :
8. Conclusion
Ce nouvel algorithme de Schwarz optimisé nous a permis de résoudre le problème de
Helmholtz en modifiant les conditions à l’interface de Schwarz classique. Il donne de bons
résultats en particulier pour la partie imaginaire, quel que soit w.
Un prochain objectif serait d’implémenter Schwarz optimisé avec une condition à l’interface
d’ordre 2 à la place de la condition de Robin, considérée ici, et de comparer les résultats
obtenus.

Documents pareils