Application de la méthode RRE aux problèmes de Navier-Stokes Sébastien DUMINIL L.M.P.A Université du Littoral - Calais en collaboration avec H. Sadok et D. Silvester SMAI 2011 Guidel - 27 Mai 2011
Plan 1 Introduction 2 Méthode d extrapolation 3 Application aux équations de Navier-Stokes 4 Résultats numériques
Considérons un système d équations linéaire ou non linéaire : F(x) = 0; F : IR N IR N Notons s la solution de cette équation. On construit une suite (s n ) telle que lim n s n = s. où G(x) = x F(x). But de l extrapolation s n+1 = G(s n ), n = 0, 1, Trouver une suite (t n ) qui converge vers s plus rapidement que (s n ).
Notations et Définitions On pose : s j = s j+1 s j, j = 0, 1,, k 2 s j = s j+1 s j, n = 0, 1,, j i S k = [ i s 0,, i s k 1 ] La méthode RRE (Reduced Rank extrapolation) génère une suite t k définie par : k t k = γ (k) j s j, (1) où k j=0 γ (k) j avec η ij définie par = 1 and k j=0 j=0 η ij γ (k) j = 0, i = 0,, k 1 (2) η ij = ( 2 s i, s j )
t k peut être exprimé comme le quotient de deux déterminants : t k = s 0 s 1 s k η 0,0 η 0,1 η 0,k.... η k 1,0 η k 1,1 η k 1,k 1 1 1 η 0,0 η 0,1 η 0,k.... η k 1,0 η k 1,1 η k 1,k
En utilisant la formule de Schur, on peut exprimer t k sous la forme suivante : méthode RRE t k = s k S k 2 S + k s k, (3) où 2 S + k est le pseudo-inverse de 2 S k définie par 2 S + k = ( 2 S T k 2 S k ) 1 2 S T k. On remarque que t k existe et est unique si et seulement si det( 2 S T k 2 S k ) 0.
Si on considère une suite définie par s n = s + λ n 1 v 1 + λ n 2 v 2 + + λ n k v k + + λ n mv m, où 0 λ m λ 1 et λ k+1 < λ k alors, t k = s + O((λ k+1 ) n )
Implémentation de RRE Soit P la matrice de taille k k définie par : 1 1 P =...., alors P 1-1 1 =...... 1 1-1 1 On a De plus, par construction : t k = s k S k PP 1 2 S + k s k. (4) s k = s 0 + S k 1. 1.
Posons γ (k) = P 1 2 S + k s k, dans (4), on obtient une formule simple : 1 t k = s 0 + S k α (k), k = 0, 1,... with α (k) =. Pγ (k). 1 (5) Supposons que S k soit de rang maximal c est à dire rang( S k ) = k + 1. On peut appliquer la décomposition QR de la matrice S k : S k = Q k R k, où Q k IR N (k+1) est unitaire et R k IR (k+1) (k+1) est une matrice triangulaire supérieure avec les éléments diagonaux strictement positifs.
Algorithme de la méthode RRE 1 Step 0. Input : Les vecteurs s 0, s 1,, s k+1 2 Step 1. Calculer s i = s i+1 s i, i = 0, 1,, k. Poser S k = [ ] s 0 s 1 s k, Calculer la décomposition QR de S k, et nommer S k = Q k R k. 3 Step 2. Résoudre le système linéaire : Rk T R kd = e ; d = [d 0, d 1,, d k ] T, e = [1, 1,, 1] T. Poser λ = k i=0 d i. Poser γ i = (1/λ) d i pour i = 0,, k. 4 Step 3. Calculer α = [α 0, α 1,, α k 1 ] T via (5) Calculer t k via t k = s 0 + Q k 1 (R k 1 α).
Méthode RRE redémarrée 1 Step 0. Input : set k = 0, Choisir un entier m et un vecteur s 0. 2 Step 1. Construire s j+1 = G(s j ), j = 0,, m. 3 Step 2. Calculer t m en utilisant l algorithme précédent. 4 Step 3. Si t m est satisfaisant, stop. Sinon, poser s 0 = t m, k = k + 1 et retour à Step 2.
Equations de Navier-Stokes Objectif : Résoudre ce système { u. u ν 2 u + p = f in.u = 0 in où ν est une constante donnée, avec les conditions aux bords suivantes : u = w on D, ν u n np = 0 on N
Formulation faible Trouver u HE 1 et p L 2() tels que : ν u : v+ (u u) v p( v) = f v v HE 1 0 (6) q( u) = 0 q L 2 (). (7) Nous rappelons deux procédures classiques de linéarisation : La méthode de Picard La méthode de Newton
Résidu non linéaire à l itération k R k (v) = f v c(u k ; u k, v) ν pour tout v H 1 E 0 et q L 2 (). u k : v + p k ( v), (8) r k (q) = q( u k ) (9) c est un terme de convection. C est une forme trilinéaire c : H 1 E 0 H 1 E 0 H 1 E 0 IR définit comme suit : c(z; u, v) := (z u) v. (10)
Posons u = u k + δu k et p = p k + δp k, on voit que δu k H 1 E 0, δp k L 2 () satisfont : D(u k, δu k, v) + ν δu k : v δp k ( v) = R k (v) q( δu k ) = r k (q) (11) pour tout v H 1 E 0, q L 2 (), où D(u k, δu k, v) représente la différence des termes non linéaires : D(u k, δu k, v) = c(δu k ; δu k, v) + c(δu k ; u k, v) + c(u k ; δu k, v). (12)
Méthode de Newton Pour tout v HE 1 0 et q L 2 (), trouver δu k HE 1 0 et δp k L 2 () satisfaisant c(u k ; δu k, v)+c(δu k ; u k, v)+ν δu k : v δp k ( v) = R k (v) q( δu k ) = r k (q).
Méthode de Picard Pour tout v HE 1 0 et q L 2 (), trouver δu k HE 1 0 et δp k L 2 () satisfaisant c(u k ; δu k, v) + ν δu k : v δp k ( v) = R k (v) q( δu k ) = r k (q). Dans les deux cas, on pose u k+1 = u k + δu k, p k+1 = p k + δp k pour définir l itéré suivant.
Formulation faible discrète Soient X0 h H1 E 0 et M h L 2 () des espaces de dimensions finies. La version discrète de (6) (7) est : trouver u h XE h et p M h tels que ν u h : v h + (u h u h ).v h p h ( v h ) = f v h v h X0 h, (13) q h ( u h ) = 0 q h M h. (14)
Méthode de Newton : Trouver δu h X0 h et δp h M h satisfaisant c(u h ; δu h, v h )+c(δu h ; u h, v h )+ν δu h : v h δp h ( v h ) = R k (v h ) q h ( δu h ) = r k (q h ). Méthode de Picard : Trouver δu h X0 h et δp h M h satisfaisant c(u h ; δu h, v h ) + ν δu h : v h δp h ( v h ) = R k (v h ), q h ( δu h ) = r k (q h ), pour tout u h X h 0 et q h M h.
Pour se ramener à un problème d algèbre linéaire, on introduit des fonctions de bases {φ j } et {ψ k } définis par : n u n u+n δ u h = u j φ j + j=1 n p j=n u+1 n u u j φ j, δu h = u j φ j. (15) j=1 p h = p k ψ k, δp h = p k ψ k. (16) k=1 n p k=1
Formulation matricielle : Picard : ( νa + N B T B 0 Newton : ( νa + N + W B T où B 0 A ij = ( φ i, φ j ) diffusion B ij = ( φ j, ψ i ) divergence N ij = (u h. φ i, φ j ) convection W ij = (φ i. u h, φ j ) Newton ) ( ) u = p ) ( ) u = p ( ) R r ( ) R r (17) (18)
Algorithme de Newton 1 Step 1. Input : the vector x 0 = (u 0, p 0 ) T, compute the vector (R 0, r 0 ) T and set k = 0. 2 Step 2. Retrieve A, B. Compute N k,w k R k and r k. Solve the system (18) to find the vector δx k = (δu k, δp k ) T. Set x k+1 = x k + δx k. Compute the vector (R k+1, r k+1 ) T. 3 Step 3. If (R k+1, r k+1 ) T < tol, stop. Otherwise set k = k + 1 and go to Step 2.
Algorithme de Picard 1 Step 1. Input : the vector x 0 = (u 0, p 0 ) T, compute the vector (R 0, r 0 ) T and set k = 0. 2 Step 2. Retrieve A, B. Compute N k, R k and r k. Solve the system (17) to find the vector δx k = (δu k, δp k ) T. Set x k+1 = x k + δx k. Compute the vector (R k+1, r k+1 ) T. 3 Step 3. If (R k+1, r k+1 ) T < tol, stop. Otherwise set k = k + 1 and go to Step 2.
Résultats Numériques Ecoulement d un fluide dans un conduit contenant un obstacle Méthode de Newton a une convergence locale quelques itérations de Picard avant d appliquer Newton On applique la méthode RRE aux itérations de Picard. Pour les résultats numériques, on utilise le package IFISS (Incompressible Flow Iterative Solution Software).
Caractéristiques : On pose la longueur du conduit égale à 8 On suppose un écoulement de Poiseuille à l entrée du conduit x = 0; 1 y 1 Vitesse nulle sur le bord du conduit On suppose des conditions de Neumann à la sortie du conduit p = 0 x = 8; 1 y 1
Solution pour ν = 1/600
Convergence nonlinéaire pour ν = 1/600 10 1 10 0 Picard RRE RRE6 RRE7 Picard-Newton 10 1 10 2 residual reduction 10 3 10 4 10 5 10 6 10 7 0 5 10 15 20 25 30 35 40 45 50 iteration number
Convergence nonlinéaire pour ν = 1/800 10 6 10 4 Picard RRE RRE3 RRE6 Picard-Newton 10 2 residual reduction 10 0 10 2 10 4 10 6 10 8 0 10 20 30 40 50 60 iteration number
Merci de votre attention
Caractéristiques : On pose la longueur du conduit égale à 40. On suppose un écoulement de Poiseuille à l entrée du conduit x = 0; 1 y 1 Vitesse nulle sur le bord du conduit On suppose des conditions de Neumann à la sortie du conduit p = 0 x = 40; 1 y 1 On fait varier le terme de viscosité et le type de discrétization
Solution pour ν = 1/600
Convergence nonlinéaire pour ν = 3/800 : Q2 P 1(gauche) et Q1 P0(droite) 10 0 10 1 Picard RRE Picard-Newton 10 2 Picard RRE Picard-Newton 10 0 10 2 10 3 10 2 residual reduction 10 4 10 5 residual reduction 10 4 10 6 10 6 10 7 10 8 10 8 10 9 0 5 10 15 20 25 30 35 40 iteration number 10 10 0 5 10 15 20 25 30 35 40 iteration number
Convergence nonlinéaire pour ν = 1/300 : Q2 P 1(gauche) et Q1 P0(droite) 10 0 10 1 Picard RRE Picard-Newton 10 1 10 0 Picard RRE Picard-Newton 10 1 10 2 10 2 residual reduction 10 3 10 4 residual reduction 10 3 10 4 10 5 10 5 10 6 10 6 10 7 10 8 10 7 0 5 10 15 20 25 30 35 40 iteration number 10 9 0 5 10 15 20 25 30 35 40 iteration number
Convergence nonlinéaire pour ν = 1/600 : Q2 P 1(gauche) et Q1 P0(droite) 10 0 10 1 Picard RRE Picard-Newton 10 1 10 0 Picard RRE Picard-Newton 10 1 10 2 10 2 residual reduction 10 3 10 4 residual reduction 10 3 10 4 10 5 10 5 10 6 10 6 10 7 10 8 10 7 0 10 20 30 40 50 60 iteration number 10 9 0 10 20 30 40 50 60 iteration number