1 Projet de MAP - Méthode de Schwarz de dé- composition

Transcription

1 Projet de MAP - Méthode de Schwarz de dé- composition
1 Projet de MAP - Méthode de Schwarz de décomposition du domaine
1.1 Question 1
Montrons tout d'abord que la convergence des deux sommes est uniforme
sur le rectangle [0, l1 ] × [0, l2 ], ce qui nous permettra de dériver sous le signe
somme.
D'après la forme de fpq , il existe clairement une constante M , indépendante du
couple (x1 , x2 ) telle que
µ
¶
µ
¶
|fpq |
pπx1
qπx2
M
|
sin
sin
| ≤
³ ´2 ³ ´2
³ ´2
l1
l2
pπ
qπ
+ l2
p2 + qll21
l1
D'autre part, il existe une constante N , indépendante de (x1 , x2 ) telle que
³
³
´´
nπl1
x1
µ
µ
¶¶
µ
¶
sinh
1
−
l2
l1
nπl1
|un |
x1
qπx2
´ sinh
´
³
³
1 −
| sin
| ≤ N
πnl1
πnl1
l
l
l
2
1
2
sinh
sinh
l2
l2
mais sur tout rectangle [², l1 ]×[0, l2 ] la convergence est uniforme d'après la forme
du majorant. Donc, la dérivée partielle des deux sommes peut être calculée par
dérivation sous le signe somme.
Le calcul simple de dérivation sous le signe somme donne :
−∆u =
∞
X
µ
fpq sin
p,q=1
pπx1
l1
¶
µ
sin
qπx2
l2
¶
l'analyse de Fourier nous dit que cette somme vaut en fait f (x1 , x2 ) (il sut
de considérer f˜ fonction périodique de période l1 en x1 et l2 en x2 , qui coincide
avec f sur le rectangle [0, l1 ] × [0, l2 ]).
De plus u vérie clairement les conditions aux limites.
u est donc bien une solution du problème (1)
Soit u1 une autre solution de (1) diérente de u, la diérence u − u1 notée
v vérie −∆v = f à l'intérieur de Ω et est nulle au bord de Ω. L'étude des
problèmes elliptiques nous dit que v ≡ 0 est la seule possibilité, ce qui prouve
par l'absurde l'unicité de la solutuion de (1).
1.2 Question 2-3
Après avoir approché la solution exacte par une troncature des sommes précédentes (question 2- script exact) nous avons mis en oeuvre une méthode de
diérence nies pour approcher la solution du problème (1). Nous procédons à
1
une discrétisation du domaine Ω puis évaluons le Laplacien grâce à un schéma
centré à 5 points, nous résolvons le système linéaire qui nous conduit à un vecteur colonne ayant pour i-ème composante la valeur de la solution au point
indexé par i. Il ne nous reste plus qu'a obtenir une représentation graphique
de l'approximation, ce qui n'est pas très compliqué dans le cas d'un domaine
rectangulaire puisque la matrice des valeurs que prend en argument la fonction
plot a pour coecient d'indice (i, j) le coecient du vecteur colonne portant
l'indice N (i − 1) + j où N 2 est le nombre de points dans la discretisation de Ω
(question 3 script approche)
Nous avons évalué le temps de calcul (grace à des appels de timer()) et la qualité de l'approximation en norme L2 et L∞ . Il apparaît que l'approximation par
diérences nies est largement favorable du point de vue du temps de calcul et
d'une précision similaire à l'évaluation par troncature des sommes de la question
1. La solution calculée par diérences nies. Cette tendance se conrme même
quand nous ne tronquons plus à l'ordre 5 mais à l'ordre 7.
Z
0.1253
0.0626
0.0000
0.0
0.00
0.5
Y
0.25
X
1.0
0.50
Il est donc préférable d'évaluer la solution de ce problème elliptique par diérences nies, quitte à raner la subdivision du domaine.
1.3 Question 4
Ici, le principe est le même que pour la question 3 mais la mise en oeuvre
d'une méthode de diérences nies est plus délicate car le passage du vecteur
des valeurs de la solution à une représentation graphique nécessite quelques
manipulations techniques pour séparer deux cas : si on est dans l'une ou l'autre
des "barres" du domaine Ω.
2
Z
1.53
0.77
0.00
1
0
1
Y
0
X
−1
−1
1.4 Question 5
Nous appliquons la méthode itérative de la décomposition de domaines de
Schwarz, c'est à dire que nous appliquons pour chacun des rectangles un schéma
centré à cinq points avec une condition au bord determinée par l'itération précédente.
Pour chaque domaine, cela revient à résoudre un système linéaire où la matrice
associée au laplacien possède une structure bande. Le passage du vecteur des
valeurs prises à la représentation graphique se fait de la même manière que dans
les questions précédentes.
Une numérotation bien choisie permet de minimiser la largeur de bande des
matrices (cf code du script schwarz-quest5).
Nous notons également que les deux sous-domaines ayant ici la même forme,
nous pouvons ne stocker qu'une seule matrice associée au laplacien sur chacun
des sous-domaines.
Nous pouvons montrer mathématiquement (fait en DM) que chacune des deux
solutions (sur chacun des sous-domaines) converge pour un nombre d'itérations
susant vers la solution du problème (2). (Pour l'achage dans la zone commune on en a choisi arbitrairement une, mais elles sont rapidement très proche
comme on le verra en FreeFem++).
1.5 Question 6
[Attention, il est nécessaire d'exécuter le script de la question 4 avant celui
de la question 6 pour calculer la solution de référence. Il faut de plus prendre la
même valeur de h]
Nous avons tracé l'erreur calculée, c'est à dire l'écart entre la solution calculée
itérativement par la décomposition de Schwarz et celle du problème (2) calculée
par diérences nies, pour chacun des rectangles en norme L2 et L∞ . Nous
voyons eectivement que cette erreur tend vers 0, conformément aux
prévisions mathématiques.
3
8e−4
7e−4
6e−4
5e−4
4e−4
3e−4
2e−4
1e−4
0
1
2
3
4
5
6
7
8
9
10
1.6 Question 7
Ici, FreeFem++ se charge de la mise en place de la méthode d'éléments nis
pourvu que l'on construise le maillage, qu'on dénisse l'espace utilisé (éléments
nis P1 ) et qu'on précise les données du problème (structure, conditions au bord,
terme source). On obtient un maillage comme celui-ci.
Th
Nous utilisons le ranement de maillage adaptmesh, nous constatons que
le nombre de points est manifestement plus faible "sur les bords" que lors du
maillage initial. Un avantage de la méthode des éléments nis est qu'elle
permet de résoudre "intelligemment" le problème en n'ayant une précision
élevée que là ou c'est nécessaire, Ce qui n'est pas le cas dans la résolution
par diérences nies.
4
Nouveau Th
On obtient une solution (ici, un exemple intéressant où on devine le maillage,
assez grossier) :
Solution
1.7 Question 8
Pour adapter un maillage, nous pouvons penser à deux solutions diérentes :
tout d'abord, en gardant le nombre de noeuds constant, déplacer les noeuds
vers les zones où le "gradient" est le plus important ; cette méthode optimise
véritablement le maillage existant. Nous proposons une démarche diérente qui
consiste à ajouter des points là ou nous avons besoin d'une précision plus
grande. Cette technique n'est pas vraiment une optimisation du maillage existant car elle ne fait qu'ajouter des points à des endroits bien choisis.
Dans le cas d'un maillage triangulaire.
Il s'agirait de xer une borne supérieure à
5
|u(Xi )−u(Xj )|
|Xi −Xj |
(notée M ) où Xi et
Xj sont deux points voisins du maillage et u est la solution approchée calculée
par éléments nis sur un maillage grossier. Si des points posent problèmes (où
cette condition n'est pas respéctée) nous introduisons sur le segment Xi Xj p
0
1 |u(Xi )−u(Xj )|
nouveaux points Xi où p = E( M
) (notons que le triangle initial
|Xi −Xj |
Xi Xj Xk se divise en p + 1 triangles). Nous pouvons éventuellement itérer cette
méthode.
1.8 Question 9
Notre programme FreeFem++ consiste à rentrer les paramètres des deux
problèmes associés aux sous domaines (maillages, domaines, conditions aux limites), puis de les résoudre alternativement ; nous observons la convergence vers
la solution obtenue à la question 7. Ici on ache dans la zone commune la superposition des deux solutions, mais elles sont tellement proches que cela n'apparaît
pas. Ce phénomème est cependant visible en exécutant le code, au moment des
premières itérations.
6

Documents pareils