Stabilité des schémas numériques explicites en mécanique des fluides incompressibles. Laboratoire de Mécanique, Modélisation & Procédés Propres Marseilles avec Dmitry Kolomenskiy dkolom@l3m.univ-mrs.fr Journées de l équipe d Analyse Appliquée de Marseille Porquerolles 17-19.05.2010
Plan Introduction 1 Introduction 2 3
Plan Introduction 1 Introduction 2 3
Equations de Navier-Stokes Équations de Navier-Stokes incompressible : t u + u u ν u + p = f, (N-S) divu = 0, x R d, t [0, T ] u(0, x) = u 0 (x) On résout numériquement : t u + P [u u] ν u = P(f) où P désigne le projecteur de Leray.
Schéma centré d ordre 2 en temps Par la suite : f = 0 Étape intermédiaire u n+1/2 ( Id ν δt ) 2 u n+1/2 = u n δt 2 P [(u n )u n ] puis ( Id ν δt ) ( ν 2 u n+1 = u n + δt 2 u n P [ ] ) (u n+1/2 )u n+1/2
Adams-Bashforth d ordre 2 En Fourier, le noyau de la chaleur t u = ν u est intégré de façon exacte en posant On résout alors v(ξ, t) = e νξ2tû(ξ, t) = e νt û(ξ, t) t v + e νt P [ ] (e νt v )e νt v = 0 avec, en posant F(v, t) = e νt P [ (e νt v )e νt v ] v n+1 = v n 3 2 δt F(v n, nδt) + 1 2 δt F(v n 1, (n 1)δt)
Plan Introduction 1 Introduction 2 3
Condition CFL δt = pas de temps δx = pas d espace Habituellement, la contrainte sur le pas de temps δt Cδx est calculée au cas par cas, et C déterminé de façon empirique pour assurer la stabilité. Cette condition de stabilité est en fait largement insuffisante = C ( δx 1/3 ) 0
Stabilité de von Neumann Soit l équation t u = F(u) avec u : R d ou T d R et F un opérateur linéaire de symbole constant σ(ξ) i.e. F(u)(ξ) = σ(ξ)û(ξ). Soit un schéma de type Runge-Kutta i=0 u n(0) = u n, u n+1 = u n(srk ) l 1 l 1 u n(l) = a li u n(i) + δt b li F(u n(i) ) for 1 l s RK ou de type Adams-Bashforth s AB i=0 i=0 s AB u n+1 = a i u n i + δt b i F(u n i ) i=0
Stabilité de von Neumann On isole un mode de Fourier u n (x) = φ n e iξ x et on calcule le facteur d amplification m(ζ) avec ζ = σ(ξ)δt u n+1 = m(ζ)u n La stabilité de von Neumann est donnée par : pour tout δx, tous les modes ξ présents dans le calcul numérique satisfont m(ζ) 1 + Cδt pour C une constante positive indépendante de δx et δt. Alors u T = m(ζ) T /δt u 0 (1 + Cδt) T /δt u 0 e CT u 0
Cas de l équation de transport Pour ν très petit et u une solution régulière, l étude de stabilité de Navier-Stokes se rapporte à celle de l équation de transport t u = a u Le symbole de cet opérateur est imaginaire pur : σ(ξ) = a iξ
Domaine de stabilité de von Neumann Le domaine de stabilité d un schéma numérique est donné par l ensemble {ζ C d, m(ζ) 1} Runge-Kutta Adams-Bashforth Question : que se passe-t-il au niveau de la tangente à (Oy)?
Plan Introduction 1 Introduction 2 3
Navier Stokes et Euler incompressibles équations 2D, en formulation vorticité fonction de courant : t ω + u ω ν 2 ω = 0, 2 Ψ = ω, u = Ψ. Code spectral Fourier, AB2 pour u ω, exacte pour ν 2 ω.
Plan Introduction 1 Introduction 2 3
Cas particulier du transport Pour des schémas de type Runge-Kutta avec u n+1 = m(ζ)u n m(ζ) = 1 + β 1 ζ + β 2 ζ 2 + + β m ζ m appliqué à l équation de transport, ζ = ia δt δx ( ) δt 2 ( ) δt 4 ( ) δt 2m m(ζ) 2 = 1+S 1 a 2 +S 2 a 4 + +S m a 2m δx δx δx avec S l = β 2 l 2β l 1β l+1 +2β l 2 β l+2 +( 1) l 1 2β 1 β 2l 1 +( 1) l 2β 2l
CFL affinée Si S 1 = S 2 = = S r 1 = 0 et S r > 0, alors δt = o(δx) et ( ) ( δt 2r ( ) ) δt 2r m(ζ) 2 = 1 + S r a 2r + o δx δx ou encore m(ζ) = 1 + 1 2 S r a 2r ( δt δx ) 2r + o Alors la condition de stabilité de von Neumann S r m(ζ) 1 + Cδt ( ( ) ) δt 2r δx nous est donnée par ( ) 2C 1/(2r 1) ( ) δx 2r/(2r 1) δt a
Théorème liant ordre et stabilité d un schéma Theorem Un schéma d ordre 2p est stable pour l équation de transport, au pire sous la condition de type CFL : Preuve : Pour un schéma d ordre 2p, on a : δt C δx 2p+2 2p+1 (1) u n+1 = u n + δt t u n + δt2 2p δt 2 2 t un + + (2p)! 2p u t n + o(δt 2p ) Pour F linéaire dans t u = F (u), l t un = F l (u n), d où le facteur d amplification : m(ζ) = 1 + ζ + ζ2 2 + + ζ 2p (2p)! + o(ζ2p ) avec o() rassemblant les termes negligeables sous la condition δt = o(δx). Alors pour q [1, p], 2q S q = ( 1) (q p) 1 p! p=0 1 (2q p)! = ( 1) q 2q C p (2q)! 2q ( 1)p = 0 p=0
Plan Introduction 1 Introduction 2 3
Equation de Burgers sans viscosité t u + u x u = 0 with x T( 1, 1), t [0, 10/π], u 0 (x) = 10 0.1 sin(πx). Code Fourier pseudo-spectrale, déaliasé. critère de divergence : u N (, t) TV > K u 0 ( ) TV, K 5.
Plan Introduction 1 Introduction 2 3
Que deux cases mémoire Pour résoudre t u = F(u), on se propose d utiliser des schémas du type : ou encore u n (0) = u n u n (1) = u n + α p δtf (u n (0) )... u n (l) = u n + α p l δtf (u n (l 1) )... u n+1 = u n + α 1 δtf (u n (p 1) ) u n+1 = u n + α 1 δtf (u n + α 2 δtf (u n + α 3 δtf (u n +... )))
Ordre du schéma Si F est linéaire, cela correspond à u n+1 = u n + β 1 δtf(u n ) + β 2 δt 2 F 2 (u n ) + β 3 δt 3 F 3 (u n ) +... avec β m = m l=1 α l. Ou, sachant F l (u) = l t u, u n+1 = u n + β 1 δt t u n + β 2 δt 2 2 t u n + β 3 δt 3 3 t u n +... L ordre du schéma apparaît directement. Et aussi la stabilité : si F(u), u = 0 et F(u), v = u, F(v) u n+1 2 L 2 = u n 2 L 2 +S 1 δt 2 F(u n ) 2 L 2 +S 2 δt 4 F 2 (u n ) 2 L 2 +S 3 δt 6 F 3 (u n ) 2 L 2 +... avec les S l précédemment calculés.
Exemples Introduction Euler explicite : u n+1 = u n + δtf (u n ) β 2 1 2 = ordre 1, S 1 = 1 = δt 2C ( ) δx 2 a, Runge Kutta 2 : u n+1 = u n + δtf (u n + 1 2 δtf(u n)) β 1 = 1, β 2 = 1/2 et β 3 = 0 1 6 = ordre 2, S 1 = 0 et S 2 = 1/4 = δt 2 C 1/3 ( ) δx 4/3 a, Schéma 3 : u n+1 = u n + δtf(u n + 1 2 δtf (u n + 1 4 δtf (u n))) β 1 = 1, β 2 = 1/2, β 3 = 1/8 1 6 S 1 = S 2 = 0 et S 3 = 1/64, = = ordre 2, δt 2 7/5 C 1/5 ( δx a ) 6/5.
Exemples Introduction Schéma 4 : u n+1 = u n +δtf(u n + 1 2 δtf(u n+ 2 2 2 β 3 = 2± 2 4 1 6 = ordre 2, δtf (u n + 2 2 δtf (u n )))) 4 S 1 = S 2 = S 3 = 0 et S 4 = β 2 4 = δt ( 2C β 2 4 ) 1/7 ( δx a Schéma 5 : ) 8/7, u n+1 = u n +δtf (u n + δt 2 F(u n+ δt 3 F(u n+ δt 4 F(u n+ δt 6 F(u n))))) β 1 = 1, β 2 = 1/2, β 3 = 1/6, β 4 = 1/24 et β 5 = 1/144 1/120 = ordre 4, S 1 = S 2 = S 3 = S 4 = 0 et S 5 = β4 2 2β 3β 5 < 0 = CFL usuelle.
Domaine de stabilité et CFL Domaine de stabilité Stabilité expérimentale
Plan Introduction 1 Introduction 2 3
Propriété d asymétrie du transport Lemme Soient u, v, w H 1 (Ω) d, Ω un ouvert de R d, telles que (u )v et (u )w L 2. Si div u = 0 et u n = 0 sur Ω, alors < v, (u )w > L 2 (Ω) = < (u )v, w > L 2 (Ω) Corollaire Avec les mêmes hypothèses, < v, (u )v > L 2 (Ω) = 0
Stabilité L 2 pour Euler explicite [R. Temam] Theorem Une erreur ε t valant ε 0 au temps t = 0 se propage dans le schéma Euler explicite avec : 2 0 ε t L 2 e ( A 2 δt δx 2 +A 1)t ε0 L 2 où A 0 = sup u(t, x), A 1 = sup u(t, x) x R d, t [0,T ] x R d, t [0,T ] δt le pas de temps et δx le pas d espace. Alors le schéma Euler est stable sous la condition CFL δt pour une constante C > 0. δx 2 C
Preuve de la stabilité L 2 Supposons une erreur ε n pour u n dans le schéma d Euler : u n+1 + ε n+1 = u n + ε n δtp [((u n + ε n ) )(u n + ε n )] aussi ε n+1 vérifie en norme L 2 : ε n+1 ε n + P [(u n )ε n] δt + A 1 ε nδt ε n + P [(u n )ε n] δt + A 1 ε nδt (2) avec u n et ε n à divergence nulle, on a : ε n (u n )ε n = ε n P [(u n )ε n ] ε n + P [(u n )ε n ] δt 2 L = ε 2 n 2 L + P [(u 2 n )ε n ] 2 L δt 2 2 Avec ε n H 1 εn L 2 δx, ε n + P [(u n )ε n] δt L 2 ε n 2 + A 2 δt 2 L 2 0 ε δx n 2 2 L 2
Preuve de la stabilité L 2 Sachant que (1 + x) 1/2 1 + x 2, Donc ε n+1 L 2 ( 1 + ( A 2 0 2 Stabilité pour ε n+1 (1 + Cδt) ε n Car alors étant donné t = nδt, ) ) δt δx 2 + A 1 δt ε n L 2 ε t (1 + Cδt) t/δt ε 0 e Ct ε 0 Ainsi ε t e ( A 2 0 2 ) δt δx 2 +A 1 t ε0
Stabilité L 2 pour le schéma centré d ordre 2 Theorem Supposons que l équation (NS) a une solution u(t, x) C 2. Une petite erreur ε n, avec ε n L 2 = O(δx 2 ) sur u n - une solution discrète proche de u(nδt, ) - dans le schéma numérique d ordre 2, devient au pas n + 1, ε n+1 avec : ( ε n+1 L 2 1 + λa 4 δt 4 ) 0 8δx 4 + A 1δt + o()δt ε n L 2 (3) avec λ une constante proche de 1, et o()une fonction tendant vers 0 sous la condition δt = o(δx). Aussi ce schéma est stable sous la condition CFL : δt Cδx 4/3 (4)
Preuve Introduction En ne gardant que les termes dominants, ε n+1 = ε n δtp [(u n )ε δt 2 n]+ P [(un )P [(un )εn]] δtp [(εn )un]+o() 2 Or D où : P [(u n )ε n ] ε n P [(u n )P [(u n )ε n ]] P [(u n )ε n ] ε n, P [(u n )P [(u n )ε n ]] = P [(u n )ε n ] 2 L 2 ε n δtp [(u n )ε n ] + δt2 2 P [(u n )P [(u n )ε n ]] 2 L 2 ε n 2 L 2 + λ δt4 4 u n 4 L ε n 2 L 2 δx 4 + o()δt
Plan Introduction 1 Introduction 2 3
Équation de Navier-Stokes : t u + u u ν u + p = f, (N-S) divu = 0, u(0, x) = u 0 (x) x [ 1 16, 15 ] T, t [0, T ] 16 Pénalisation sur [0, 1 15 16 ] T et [ 16, 1] T Deux méthodes numériques : AB2 et une méthode d ordre 2 stable sous CFL usuelle : ( ) un + u n 1 u n+1 = u n + δt F + δt F(u n ) 2 Le développement de la turbulence demande une grande précision et crée des instabilités numériques.
Domaine de stabilité
Plan Introduction 1 Introduction 2 3
Stabilisation par dissipation numérique Amortissement dû à la discrétisation spatiale : m(ζ) v(ξ) Exemple ordre 1 : v(ξ) = sin(πξ) πξ Pas d instabilité lorsqu il y a de la viscosité numérique (cf Zang & Shu, 2004).
Conclusion Perspectives Résultat connu pour Euler explicite [Roger Temam, Loyd Trefethen], Schémas d ordre 2 très utilisés en mécanique des fluides, avec des CFL trop faibles, Résultat de stabilité trop peu connu (présenté de façon peu évidente dans Zang & Shu Siam J. Numer. Anal. 2004, pour RK2 Galerkin Discontinu), Explique un phénomène numérique effectivement observé, Pour un schéma amplificateur de petites échelles, l instabilité sera franche ou n aura aucun impact schémas stables sous CFL usuelle, l erreur de stabilité n apparaît pas toujours clairement.