• Aucun résultat trouvé

 Vi ||Vi|| 2 +  Θi ||Θi|| 2 +  Φi ||Φi|| 2 +  Pi ||Pi|| 2 , (3.40) est utilis´ee, avec la norme infinie qui d´esigne :

||Qi|| = max

j |Qij)|. (3.41)

Algorithme d’adaptation dynamique de maillage : la proc´edure d’adaptation balaye suc-cessivement chaque interface entre sous-domaines. La formule (3.38) est utilis´ee pour calculer la fonctionnelle sur plusieurs positions d’essai de l’interface en question, les autres interfaces restant fig´ees. La valeur minimale calcul´ee de la fonctionnelle est retenue et d´etermine la position opti-male de l’interface. Cette proc´edure est r´ep´et´ee sur l’ensemble des interfaces et continue tant que la position de celles-ci ne converge pas vers une position fig´ee ou que le nombre maximal autoris´e de balayages, qui est un param`etre d’entr´ee du code variant de 4 `a 20 selon les cas, soit atteint. Chaque nouvelle application de cette proc´edure d’adaptation inverse le sens de balayage des interfaces et s´electionne celles dont la position doit ˆetre optimis´ee en se basant sur le crit`ere suivant : la position d’une interface j requiert une adaptation si les in´egalit´es :

J2,ωi (ui) max1≤k≤N Jk

2,ω(uk) > ǫadapt, i = j, j + 1, (3.42)

sont rencontr´ees, avec 0 < ǫadapt< 1 une constante li´ee au maillage. Un tel crit`ere permet de ne pas modifier la position des interfaces qui ne le n´ecessitent pas.

3.3 M´ethodes de relaxation avec pr´econditionnement

Les proc´edures de relaxation permettent d’approcher la solution d’un syst`eme d’´equations via une m´ethode it´erative. Parmi les diff´erentes m´ethodes possibles pour r´ealiser cette relaxation, celles qui seront utilis´ees sont la relaxation de Richardson et l’acc´el´eration de Chebyshev. Ces m´ethodes sont efficaces mais coˆuteuses en nombre d’op´erations.

On consid`ere une approximation spectrale `aNi termes de l’´equation diff´erentielle L U = f , c’est-`

a-dire :

LspUi = fi, (3.43)

o`u fi est une approximation spectrale de f , dans le cas lin´eaire, telle l’´equation (3.15), et : Lsp Ui

Ui = fi, (3.44)

pour un calcul non-lin´eaire, comme dans le cas du syst`eme d’´equations aux d´eriv´ees ordinaires de l’´ecoulement de base (3.1). L’id´ee g´en´erale de la m´ethode d’it´eration est d´etaill´ee dans ce qui suit.

3.3.1 M´ethode it´erative

On suppose que l’on est capable de construire une approximation Lprecde l’op´erateur spectral Lsp qui ait les propri´et´es suivantes :

– Lprec a une repr´esentation matricielle creuse dont le nombre de composantes non-nulles est de l’ordre deNi,

– Lprec est efficacement inversible dans le sens o`u l’´equation :

LprecUi= fi, (3.45)

est soluble et l’in´egalit´e suivante est v´erifi´ee :

0 < m≤ ||L−1precLsp|| ≤ M < ∞, (3.46)

pour m et M qui sont respectivement le minimum et le maximum des modules de valeurs propres de L−1precLsp.

Il y a de nombreuses proc´edures it´eratives utilisant Lprec qui convergent efficacement vers la solution de L U = f . Afin d’obtenir une solution pr´ecise `a notre ´ecoulement, il nous faut trouver une m´ethode qui fonctionne avec des matrices non-sym´etriques. De plus, le probl`eme associ´e au syst`eme d’´equations aux d´eriv´ees ordinaires (3.1, 3.2) est non-lin´eaire, ce qui n’est pas usuel. La m´ethode choisie doit donc ˆetre une m´ethode robuste. L’exp´erience montre que l’utilisation de m´ethodes telles que la proc´edure de relaxation de Richardson ou l’acc´el´eration de Chebyshev fournit des r´esultats satisfaisants (Boudesocque-Dubois et al., 2013). Ce type de m´ethode est n´eanmoins aussi utilis´e pour des probl`emes lin´eaires tels que le probl`eme de Helmholtz li´e `a l’´evolution de la perturbation en temp´erature.

3.3.2 Relaxation de Richardson

Dans cette partie, dans laquelle la proc´edure de relaxation selon Richardson est expliqu´ee, les indices i et q d´esignent respectivement le num´ero du domaine consid´er´e et le num´ero de l’it´eration. Les quantit´es utilis´ees sont les suivantes :

• Ui(q) le vecteur solution sur le domaine i `a l’it´eration q, • Ui

cl (q)

le vecteur Ui(q) modifi´e, pour la prise en compte des conditions aux limites, par la proc´edure suivante :

◮ condition de Dirichlet : soit une condition de Dirichlet appliqu´ee sur le premier point du domaine i `a une des quantit´es consid´er´ees que l’on nommera ici Q, on note clg Q la valeur impos´ee `a cette variable sur ce point. On d´efinit ´egalement jQ le num´ero de la composante de Ui(q) propre `a la quantit´e en question sur ce point :

   Ui cl (q) j = Ui(q) j , pour j 6= jQ, Ucli (q)j Q = clgQ. (3.47)

◮ condition de Neumann : soit une condition de Neumann appliqu´ee `a la quantit´e Q sur le premier point du domaine i, on note clgQ la valeur impos´ee `a la d´eriv´ee de la quantit´e Q sur ce point. Les composantes du vecteur solution Ui(q) ne sont pas modifi´ees :

Uicl(q) = Ui(q). (3.48)

M´ethodes de relaxation avec pr´econditionnement 57

◮ condition de Dirichlet : en reprenant les notations pr´ec´edentes, la ligne jQ de la matrice de l’op´erateur spectral, qui correspond `a la quantit´e en question et au point sur lequel est appliqu´ee la condition, est remplac´ee par la ligne correspondante de la matrice

identit´e : (

Lspcljk = Lspjk, pour j 6= jQ, Lspclj

Qk = (IdN)jQk. (3.49)

◮ condition de Neumann : la ligne jQ de la matrice de l’op´erateur est remplac´ee par une ligne form´ee des composantes de la ligne correspondante de la matrice de l’op´erateur de d´eriv´ee spectrale `a la place des Ni composantes li´ees `a la quantit´e Q et de 0 sur le reste de la ligne. Soit, en posant kQ1 et kNi

Q les indices extrˆemes des composantes propres ` a cette quantit´e :      Lspcljk = Lspjk, pour j 6= jQ, Lspclj Qk = (DN)jQk, pour k1 Q ≤ k ≤ kNi Q , Lspclj Qk = 0 sinon. (3.50) • fUi(q)

le second membre de l’´equation `a r´esoudre (3.44), • fcl

 Ui(q)

le second membre modifi´e pour la prise en compte des conditions aux limites. Il vaut f

Ui(q)

sur l’ensemble des points, sauf ceux o`u une condition, de Dirichlet ou de Neumann, est appliqu´ee, auquel cas il est ´egal `a cette condition.

Ces quantit´es permettent de d´efinir le r´esidu par : Ri(q) = Lspcl Ui(q) Uicl(q) − fcl  Ui(q) . (3.51)

La prise en consid´eration des conditions aux limites permet de d´efinir Ricl(q), pour lequel, si une condition `a la limite est fix´ee pour une quantit´e et un point pr´ecis, alors en notant jQ l’indice de la composante correspondante :    (Ri cl (q) )j = (Ri(q))j, pour j 6= jQ, (Rcli (q))j Q = 0. (3.52)

Une fois la valeur de ce r´esidu d´etermin´ee, l’´etape suivante consiste `a calculer Xi(q) tel que :

Liprec(q)Xi(q) = Ricl(q). (3.53)

Enfin, on d´efinit Xicl(q), de la mˆeme mani`ere que Ricl(q), pour pouvoir effectuer le calcul de la valeur de la solution `a l’it´eration suivante :

Ui(q+1) = Ui(q) − αrelaxXicl(q). (3.54)

Concernant la valeur du param`etre de relaxation αrelax, on sait que si 0 < αrelax < 2/M , alors Ui(q) → Ui, lorsque q → ∞, avec Ui solution de (3.43). La preuve est triviale :

Si ǫ(q)= Ui(q)− Ui est l’erreur, alors :

De plus, (3.46) nous donne :

||ǫ(q+1)|| ≤ max(|1 − αrelaxm|, |1 − αrelaxM|) ||ǫ(q)||. (3.56) Donc, on a bien : ||ǫ(q)|| → 0 quand q → ∞ si 0 < αrelax < 2

M.

Le taux de convergence optimal de la relaxation de Richardson est obtenu en choisissant αrelax tel qu’il minimise le facteur max(|1 − αrelaxm|, |1 − αrelaxM|) qui apparaˆıt dans (3.56). Cela donne :

αoptrelax= 2 m + M et ||ǫ(q+1)|| ||ǫ(q)|| M − m M + m. (3.57)

3.3.3 Acc´el´eration de Chebyshev

Le taux de convergence de (3.54) peut ˆetre am´elior´e en utilisant l’acc´el´eration de Chebyshev. Le sch´ema correspondant est :

LprecUi(q+1) = Lprec h

ωqUi(q)+ (1− ωq) Ui(q−1)i

− αrelaxωqR(q), (3.58) avec ωq= 2 β Tq(β) / Tq+1(β) et β = min(|1 − αrelaxm|−1,|1 − αrelaxM|−1).

Il faut enfin initialiser les deux premiers termes de la relation de r´ecurrence. On pose donc :

T0(β) = 1, T1(β) = β. (3.59)

La mise en place des conditions aux limites est similaire `a celle effectu´ee pour la m´ethode de relaxation dans le sens o`u le r´esidu est mis `a z´ero sur le point consid´er´e. Cependant, dans le cas de l’acc´el´eration de Chebyshev, les conditions de Dirichlet sont appliqu´ees directement `a la solution `a la fin de chaque it´eration de la proc´edure. On remarque avec l’expression (3.58) que l’´egalit´e ωq = 0 fait d´eg´en´erer cette relation qui devient celle de la proc´edure de relaxation de Richardson (3.54).

3.3.4 Crit`eres d’arrˆet de la proc´edure de relaxation

Des crit`eres existent ´evidemment pour mettre un terme `a cette proc´edure (Lombard, 2008). Dans un premier temps, avant de rentrer dans la proc´edure it´erative proprement dite, une valeur de r´ef´erence du r´esidu|Rj|ref est calcul´ee sur chaque composante j du vecteur Ui sur le domaine i consid´er´e avec la formule :

|Rj|ref = max  |fj|, max k |Lspj,kUij|, ǫ  , (3.60)

avec ǫ un r´eel non-nul arbitraire destin´e `a empˆecher la nullit´e de cette valeur de r´ef´erence. `A chaque it´eration, cette valeur de r´ef´erence est recalcul´ee avec les nouvelles valeurs des composantes de Ui. Ainsi, les crit`eres d’arrˆet peuvent ˆetre test´es et la relaxation suivie de pr`es. Dans un souci de clart´e, la partie de l’outil num´erique consacr´ee au test sur le r´esidu est pr´esent´ee sous la forme d’un algorithme. La valeur relative de la norme du r´esidu est d’abord calcul´ee :

|Rj|rel = |Rj|

|Rj|ref, (3.61)

M´ethodes propres `a la r´esolution num´erique de l’´ecoulement de base 59

Test de convergence :

– Si, pour un num´ero d’it´eration fix´e q, l’in´egalit´e suivante est toujours v´erifi´ee : |R(q)j |

|R(q)j |ref ≤ CTol, (3.62)

avec CTol un crit`ere de convergence fix´e arbitrairement (dans notre ´etude sa valeur est de l’ordre de 10−14), alors le test est concluant et la proc´edure de relaxation est arrˆet´ee. – Dans le cas inverse, il n’y a pas convergence et d’autres tests s’imposent.

D´efinition de nouvelles quantit´es : `a partir des valeurs absolues des deux it´erations pr´ec´e-dentes, les valeurs relatives correspondantes sont d´efinies par :

|R(q−2)j |rel = |R(q−2)j | |R(q)j |ref, |R(q−1)j |rel = |R(q−1)j | |R(q)j |ref. (3.63) Test de saturation :

– si l’in´egalit´e suivante est v´erifi´ee en tous points du domaine : |R(q)j |rel− |Rj(q−1)|rel < min

CSatAbs, CSatRel|R(q)j |rel, (3.64) avec CSatAbs et CSatRel respectivement les crit`eres de saturation absolue et relative (respec-tivement de l’ordre de 10−9 et 10−2 dans notre ´etude), alors la saturation est d´etect´ee et cela provoque l’arrˆet de la proc´edure.

Test de saturation avec oscillation :

– dans le cas o`u la saturation n’est pas d´etect´ee en utilisant l’it´eration (q− 1) alors le mˆeme test est appliqu´e aux valeurs de l’it´eration (q− 2) avec la relation :

|R(q)j |rel− |Rj(q−2)|rel < min

CSatAbs, CSatRel|R(q)j |rel. (3.65) Si la saturation est d´etect´ee, la proc´edure it´erative s’arrˆete et on parle de saturation avec oscillation.

Si aucun de ces crit`eres n’est valid´e la relaxation continue jusqu’`a, soit la validation de l’un de ces crit`eres, soit le d´epassement du nombre maximal autoris´e d’it´erations, l’un des param`etres d’entr´ee du code qmax, c’est-`a-dire lorsque q < qmax.

3.4 M´ethodes propres `a la r´esolution num´erique de l’´ecoulement

Documents relatifs