• Aucun résultat trouvé

noeuds ou au centre des mailles. Répartir le poids sur plusieurs particules n'améliore le résultat nal que dans la mesure où le nombre total de particules est plus grand.

3- Quand la frontière d'injection est éloignée de l'électrode plasma (donc proche du centre du plasma où Φ = 0), le potentiel est faible près de Γp. On crée alors par ionisation

des particules dont le poids est proche de celui des particules injectées. On a constaté dans ce cas une augmentation notable du bruit numérique.

3.6 Résolution de l'équation de Poisson

Au temps tn = n∆t, on connaît Φn−1 le potentiel calculé au temps précédent et ρn.

On doit trouver Φn solution de l'équation de Poisson, elliptique non linéaire :

∆Φn(x, y) = 1 ε2(ρ

n(x, y) − e−Φn(x,y)

). (3.9)

Nous allons discrétiser cette équation par une méthode de diérences nies et aboutir ainsi à un système non linéaire. La solution de ce système sera déterminée en faisant converger une méthode itérative (méthode de Newton). A chaque itération de cet algo- rithme, nous serons amenés à résoudre un système linéaire. A cette n, nous utiliserons un algorithme de Cholesky ou un algorithme de gradient conjugué préconditionné selon que l'étude est monodimensionnelle ou bidimensionnelle.

Figure 3.6  Maillage de ¯Ω.

Nous détaillons tout d'abord le maillage sur lequel s'eectue la discrétisation de l'équa- tion de Poisson. Notons ¯Ω le rectangle circonscrit au domaine Ω, c'est-à-dire que ¯Ω contient Ω et l'électrode plasma (Fig. 3.6). C'est ce domaine qui est eectivement maillé.

On ne considère que les n÷uds intérieurs à ¯Ω (les n÷uds situés sur le plan de symétrie de Ω sont assimilés à des n÷uds intérieurs). Les n÷uds sont numérotés ligne par ligne, de k = 0 à k = K et de j = 1à j = J.

Les n÷uds (j, k) pour j compris entre j1 et j2 et k ≥ k1 (représentés par des  sur

la Figure 3.6) se trouvent sur l'électrode. Ils ont été inclus au domaine pour simplier la numérotation des n÷uds et la forme des matrices. Le potentiel y étant connu (égal à Φc),

leur présence n'implique pas de calculs supplémentaires. Ces noeuds étant peu nombreux par rapport aux noeuds de Ω (représentés par des •), le surcroît de place mémoire qu'ils induisent ne prête pas à conséquence.

Remarque. Dans ce qui suit, nous ne détaillerons pas le traitement des conditions limites. Elles sont de type Dirichlet et Neumann, et que la prise en compte de telles conditions est classique et ne dière pas de ce qui se fait pour résoudre l'équation de Laplace.

3.6.1 Discrétisation et linéarisation

La discrétisation spatiale de l'équation (3.9) donne Φnj+1,k − 2Φn j,k+ Φnj−1,k ∆x2 + Φnj,k+1− 2Φn j,k+ Φnj,k−1 ∆y2 = 1 ε2(ρ n j,k − e −Φn j,k),

pour j compris entre 1 et J et k compris entre 0 et K. Nous dénissons le vecteur g(Φ) de dimension N = J(K + 1) par gkJ +j(Φ) = −∆y2(Φnj+1,k− 2Φ n j,k+ Φ n j−1,k) − ∆x 2n j,k+1− 2Φ n j,k+ Φ n j,k−1)+ + ∆x∆y ε 2 (ρnj,k − e−Φnj,k).

La discrétisation de l'équation de Poisson nous conduit donc à résoudre le système de N équations non linéaires,

g(Φ) = 0.

Pour linéariser ce système, on utilise une méthode itérative de Newton. Algorithme de Newton :

On l'initialise en posant

ϕ0kJ +j = Φn−1j,k

Notons ϕm la valeur du potentiel (rangé dans un vecteur de taille N) à l'itération m de

l'algorithme. La méthode de Newton est issue d'un développement à l'ordre 1 de g et consiste à écrire que

g(ϕm) + g0(ϕm) ϕm+1 − ϕm = 0, où g0m) est la matrice jacobienne dénie par

[g0(ϕ)]µν = ∂gµ ∂ϕν



µ,ν

3.6. Résolution de l'équation de Poisson 81 C'est une matrice de dimension N × N, symétrique et pentadiagonale qui s'écrit

g0(ϕm) =         A0 B1 0 · · · 0 B0 A1 B2 ... ... 0 ... ... ... 0 ... ... ... ... BK 0 · · · 0 BK−1 AK         . (3.10)

Les Ak sont des matrices de taille J × J

Ak =         ak1 −∆y2 0 · · · 0 −∆y2 ak 2 −∆y2 ... ... 0 ... ... ... 0 ... ... ... ... −∆y2 0 · · · 0 −∆y2 ak J         , avec akj = 2(∆x2+ ∆y2) + ∆x∆y ε 2 e−ϕmkJ +j.

Les Bk sont des matrices diagonales de taille J × J, identiques entre elles :

Bk=      −∆x2 0 . . . 0 0 ... ... ... ... ... ... 0 0 . . . 0 −∆x2      .

La matrice (3.10) dière de la matrice du Laplacien par les termes diagonaux ak j. Le

terme provenant de la non linéarité, ∆x∆y ε

2

e−ϕmkJ +j, est positif et renforce la diagonale.

On montre aisément que la jacobienne est à diagonale strictement dominante et symé- trique : elle est donc dénie positive1.

Nous sommes maintenant amenés à résoudre à chaque itération de l'algorithme de Newton le système linéaire

g0(ϕm)(ϕm− ϕm+1) = g(ϕm). (3.11) Nous itérons ce procédé jusqu'à ce que l'algorithme ait convergé, c'est-à-dire que l'erreur relative |ϕm+1− ϕm|/|ϕm| soit inférieure à une valeur donnée. On a alors

Φnj,k = ϕm+1kJ +j.

Remarque. On peut facilement constater que les procédures de discrétisation et de linéarisation sont ici commutatives.

1. Nous avons vérié que la prise en compte des conditions limites ne modie pas les propriétés de cette matrice.

3.6.2 Résolution du système linéaire

A chaque itération de l'algorithme de Newton, on doit trouver x = ϕm−ϕm+1solution

du système linéaire (3.11) que nous écrivons sous la forme générique Ax = b,

avec A = g0m) et b = g(ϕm).

La matrice A, de taille N × N (N = J(K + 1)), est symétrique, dénie positive et creuse (penta-diagonale). On peut utiliser une factorisation régulière de Cholesky [46],

A = LLt,

où L une matrice triangulaire inférieure dont les éléments sont classiquement dénis par ljj = s ajj − j−1 P k=1 ljk, lij = (aij − j−1 P k=1 likljk)/ljj pour i ≥ j + 1. (3.12)

La résolution du système linéaire est rapide et on obtient la solution exacte. Couplé à cette méthode, l'algorithme de linéarisation converge en quelques itérations. C'est cette procédure qui a été utilisée pour obtenir les résultats de validation en une dimension qui seront présentés dans le Chapitre 4.

Pour des dimensions supérieures, la méthode de Cholesky n'est plus adaptée, car elle est très coûteuse en place mémoire ; en eet, la factorisation à la mauvaise propriété de remplir le prol de la matrice, creuse à l'origine. Il est possible d'estimer le surcoût induit. Avant tout, introduisons la dénition suivante :

Denition 11

Soit A une matrice symétrique. Notons ji le premier élément non nul de la ligne i de la

matrice A. On appelle prol de A l'ensemble des éléments (i, j) de la matrice tels que ji ≤ j ≤ i. On dit que ce prol est complet si ai,j 6= 0 ∀j ≥ ji.

Estimons tout d'abord le nombre d'éléments non nuls de A. En reprenant les notations utilisées dans la section précédente, chacun des (K + 1) blocs diagonaux Aj contient

J + 2(J − 1) éléments non nuls, tandis que les 2 × K blocs extra-diagonaux comptent J éléments non nuls. Au total, il y a donc 5JK + 3J − 2K − 2 éléments non nuls dans A dont le prol est représenté sur la Figure 3.7-a, toujours aux conditions limites près.

Construisons maintenant la matrice L : en utilisant l'algorithme (3.12) on constate que le prol de L est identique à celui de A, mais il est complet (Fig. 3.7-b). La matrice L contient 2J2K + J2+ J éléments non nuls.

La factorisation fait donc passer d'une matrice dont le nombre d'éléments non nuls est de l'ordre de JK à une matrice qui en compte de l'ordre de J2K (par exemple,pour

J = 500 et K = 30, on passe donc de 75.000 à 15.500.000 éléments non nuls). Or la place mémoire est un réel problème, à cause des centaines de milliers (voire de millions) de

3.6. Résolution de l'équation de Poisson 83

Figure 3.7  Prol des matrices A ( a) et L ( b). particules qu'il faut gérer, et un tel surcoût est à proscrire.

Il a donc été préféré à cette résolution directe une méthode de gradient conjugué préconditionné, moins exigeante en mémoire. Rappelons en l'algorithme (itératif), en notant C une matrice de préconditionnement à dénir. On initialise en posant

x0 = ϕm donné,

r0 = b − Ax0,

Cp0 = r0,

z0 = p0.

Pour k ≥ 0 (ici k désigne l'itération du gradient conjugué), on calcule αk = (rk|zk) (Apk|pk) , xk+1 = xk+ αkpk, rk+1 = rk− αkApk, Czk+1 = rk+1, βk+1 = (rk+1|zk+1) (rk|rk) , pk+1 = zk+1+ βk+1pk.

Cet algorithme est itéré jusqu'à ce que le résidu rk soit inférieur à une valeur donnée.

Pour accélérer la convergence, on utilise un préconditionnement SSOR d'Evans ce qui revient à dénir ainsi la matrice C :

On décompose A en A = D − E − Et, en introduisant D la diagonale de A, et E la

matrice triangulaire inférieure. On pose alors C = T Tt, avec T = (D − ωE)D −1 2 pω(2 − ω) .

Dans l'expression de T , ω est un paramètre de relaxation. Dans [46], on propose ω = 1, 77686comme paramètre optimal pour le Laplacien. Nous avons retenu cette valeur.

Rappelons que A est une matrice creuse. D'une part cela permet de simplier le calcul des produits matrice-vecteur, et donc de rendre cette méthode moins coûteuse en temps de calcul. D'autre part, C est également une matrice creuse : le calcul de zk+1, donné par

zk+1 = C−1rk+1, peut se faire sans avoir à inverser C de manière explicite.

Remarque. On peut aussi préconditionner par la diagonale, c'est-à-dire poser C = D. Le calcul de zk+1 = D−1rk+1 demande moins de calculs à chaque itération de l'algo-

rithme, mais il faut beaucoup plus d'itérations qu'avec le préconditionnement d'Evans pour converger, ce qui nous a fait opter pour ce dernier.

Toujours dans le but de gérer le problème de taille mémoire, nous allons mainte- nant présenter une technique numérique permettant de réduire le nombre de particules à traiter.

Documents relatifs