Simulation numérique avancée
Franck Jourdan – LMGC -
[email protected] Franck Nicoud – I3M
[email protected]
Simulation numérique avancée
5. Passage aux équations de Navier-Stokes en 2D/3D
A la fin du chapitre, l’étudiant doit être capable de:
1. Expliquer les différences entre les approches structurées et non- structurées; entre les approches cell-centered et vertex-centered
2. Expliquer les raisons du surcoût entre maillages cartésiens et maillages structurés curvilignes
3. Expliquer la nécessité d’introduire un terme de diffusion croisée en maillage non-structuré non orthogonal
4. Expliquer le principe de l’algorithme de projection pour les équations de Navier-Stokes incompressibles
Du 1D au 2D au 3D…
• Les problèmes d’ingénierie sont évidemment rarement 1D
• Deux stratégies de maillage peuvent être utilisées:
• Maillages structurés:
– Les mailles sont des quadrangles (des parallélépipèdes en 3D) et sont repérées par des doublets (des triplets en 3D) d’indices
– En 2D, la maille i,j a 4 voisins: i+1,j; i-1,j; i,j+1; i,j-1. En 3D, la maille i,j,k a 6 voisins
• Maillages non structurés:
– Les mailles sont par exemple des triangles ou des quadrangles (des tétraèdres, prismes, pyramides, parallélépipèdes en 3D) et sont repérées par un seul
indice
– La maille d’indice n admet un nombre variable de voisins dont les indices sont stockés dans un tableau
Maillage et volumes de contrôle
• Plusieurs options sont disponibles pour la définition des volumes de contrôles (VC) et le positionnement des inconnues
• « Cell-centered »: les inconnues au centre des cellules, les VC assimilés aux cellules du maillage primal
• C’est l’approche la plus intuitive et celle utilisée dans ce cours.
Mais il en existe d’autres …
Maillage et volumes de contrôle
• Plusieurs options sont disponibles pour la définition des volumes de contrôles (VC) et le positionnement des inconnues
• « Vertex-centered »: les inconnues au nœud du maillage, les VC assimilés aux cellules du maillage dual (basées sur les centres des faces et les barycentres des mailles du maillage primal)
Maillage et volumes de contrôle
• Plusieurs options sont disponibles pour la définition des volumes de contrôles (VC) et le positionnement des inconnues
• « Cell-vertex »: les inconnues au nœud du maillage primal, les VC assimilés aux cellules du maillage primal
Maillages structurés
• Permettent une plus grande efficacité/simplicité des méthodes numériques
• Par exemple, les schémas vu précédemment en 1D se généralisent facilement au cas des maillages cartésiens
i,j i+1,j i+2,j
i+2,j-1 i+1,j-1
i,j-1 i-1,j-1
i-2,j-1
i+2,j+1 i+1,j+1
i,j+1 i-1,j+1
i-2,j+1
i-2,j i-1,j
Maillages structurés
• L’intégrale sur le volume de contrôle fait intervenir les flux à travers 4 faces (6 en 3D, seulement 2 en 1D)
• On applique les formules précédentes au faces Nord-Sud puis aux faces Est-Ouest
• Les directions physiques x et y sont assimilables aux directions numériques i et j
i,j i+1,j i+2,j
i+2,j-1 i+1,j-1
i,j-1 i-1,j-1
i-2,j-1
i+2,j+1 i+1,j+1
i,j+1 i-1,j+1
i-2,j+1
i-2,j i-1,j
N
S
E O
Maillages structurés
• Dans le cas plus général, les lignes iso-i et iso-j ne sont pas des droites orthogonales
• Les directions physiques x et y ne sont pas identiques aux directions numériques i et j même si la notion de faces N, S, E et O existe
encore …
Maillages structurés
• Les lignes iso_i et iso-j correspondent à des coordonnées curvilignes
et• Les approximations basées sur les valeurs aux mailles i-2,j; i-1,j; i,j;
i+1,j; i+2,j donnent accès aux quantités du type /
ψ
Maillages structurés
• Les approximations basées sur les valeurs aux nœuds i,j-2; i,j-1; i,j;
i,j+1; i,j+1 donnent accès aux quantités du type /
• Les quantités utiles s’obtiennent par les formules de changement de coordonnées
= + et
= +
• Chaque estimation de gradient nécessite donc entre 2 et 4 fois plus d’opérations que pour les maillages cartésiens
• Les maillages structurés sont bien adaptés aux géométries qui sont conformes à des rectangles (parallélépipèdes)
• Le passage à des maillages structurés par blocs permet plus de flexibilité
• Les raffinements ne sont pas locaux, contrairement au cas des maillages non structurés
Maillages structurés
• Maillage monobloc (domaine conforme à un carré ou un cube)
• Maillage multi-bloc
Propagation de raffinement
Exemple de l’écoulement autour d’une aile d’avion
Maillage structuré Maillage non
structuré
Zoom autour du profil
Maillage complet
Mailles fines inutiles
Maillages non-structurés
• Offre une plus grande facilité de génération de maillage (gain de temps ingénieur)
– pas de topologie particulière
– raffinement local possible sans propagation
– permet l’utilisation de mailles de forme différentes (ex: rectangles bien
adaptés pour les couches limites, triangles pour les zones éloignées des parois solides)
– Permet l’adaptation de maillage automatique (mettre des petites mailles aux endroits où la solution admet de fort gradient)
• Le prix à payer:
– les voisins d’une maille ne sont pas connus simplement (nombre et indices);
les faces/nœuds constituant une maille non plus
– les voisins de deuxième génération ne sont pas connus de manière simple (difficulté de monter en ordre)
– nécessite une structure de données efficace (stockage et accès mémoire)
Maillages non-structurés
Maillage uniforme
Maillage adapté 1
Maillage adapté 2
Maillages non-structurés
• En 1D nous avions pour l’équation de convection-diffusion:
+ − =
−
• En 2D/3D on obtient:
+ ∙ !
"
#$%&
= ' ∙ !
"
#$%&
• On rappelle que l’inconnue est la valeur moyenne de la quantité sur la maille i, soit: = )(
∰ +)
• Les sommes sont à prendre sur l’ensemble des faces de la maille i
• n est le vecteur normal à la face S, de norme unité et dirigé vers l’extérieur de la maille i
Simulation numérique avancée - MI4 17
Géométrie
• L’estimation des flux convectif/diffusif nécessite la connaissance de la géométrie des faces (taille, orientation, position)
• En 2D, ces données peuvent être obtenues de la manière suivante:
– Déterminer les nœuds a et b délimitant la face d’intérêt
– Cette face est commune à deux cellules dont les barycentres sont les points N et M
– Lorsque le bilan de la cellule N est effectué, le vecteur normal à utiliser est donné par:
où ∆! = ∆- + ∆.- est la surface de la face et i,j sont les vecteurs de la base canonique
de référence
b
a N
= ∆∆" / − ∆∆" 0 avec 1∆ = 2 − # M
∆. = .2 − .#
∆
∆.
Flux diffusif
• Les flux diffusifs nécessitent l’estimation du gradient de
la face• Par extension du cas 1D, une première estimation est:
' ∙ !
"
≈
4−
567 ∆!
• Dans le cas où la droite (MN) est parallèle au vecteur n (c’est-à-dire (MN) et (ab) sont perpendiculaires), cette approximation est aussi bonne que pour le cas 1D.
• On dit que le maillage est alors orthogonal
• Malheureusement, ce n’est en général pas le cas et cette approximation est trop peu précise
pour être utilisée en l’état
b
N
M
Diffusion croisée
• Le flux à approximer est en fait:
• L’estimation de
8
= ' ∙
estpossible si l’on connait : o
%9 = ' ∙ :; o
%< = ' ∙ :=
• Ces dérivées sont bien approximées par les formules:
b
a N
M
:=
:;
' ∙ !
"
≈
> ∆! ≠
@2 ∆!
%9 ≈ AB45CAD et
%< ≈ E9#2CEF
Diffusion croisée
• A partir de formules de changement de coordonnées et de considérations géométriques, on montre que:
• Dans le cas d’un maillage orthogonal, les relations suivantes sont vérifiées:
= :; et := ∙ :; = G
• Le terme de diffusion « croisée » est alors
nul; seul reste le terme de diffusion « directe » dans l’évaluation du flux
b
a N
M
:=
:;
> = 1
∙ :;
@2
IJ&K8 IL%$M%
− := ∙ :; ∙ :;
@M
IJ&K8 $LK&é%
Remarques
• La correction à apporter (diffusion croisée) est d’autant plus importante que le maillage est loin d’être orthogonal
• Le terme correctif fait intervenir les valeurs de
aux nœuds du maillage a et b:
%<
≈
E9#2CEF• La connaissance de O# et O2 nécessite des interpolations qui alourdissent les calculs
• L’ordre 2 n’est conservé que lorsque le centre de la face est équidistant des barycentres M et N (maillage uniforme)
• En pratique, les maillages ne sont ni orthogonaux ni uniformes
Flux convectif
• Les flux convectifs nécessitent l’estimation de
sur la face• Par extension du cas 1D, une première estimation est:
∙ !
"
≈ ∙
4+
52 ∆!
• Remarque: le traitement discuté dans la suite pour la création de la valeur de sur la face s’applique de manière identique à la vitesse normale sur la face qui est simplement notée ∙ pour alléger les notations.
• Il s’agit d’une approximation centrée dont on connait les défauts (problème de monotonicité, directivité, …)
• Dans le cas (peu probable) où le centre de la face est équidistant des barycentres, il s’agit d’une formulation au second ordre
Flux convectif
• L’étude du cas 1D a montré la nécessité d’utiliser de l’information amont afin d’obtenir de meilleures propriétés
• En non-structuré, le signe de ∙ est utilisé pour déterminer l’amont et l’aval:
– Si ∙ > G, alors N est amont, M est aval – Si ∙ < G, alors N est aval, M est amont
• Dans la suite on considérera, sans perte de généralité, que N est amont, M est aval ( ∙ > G)
• Le schéma décentré amont consiste alors simplement à écrire:
b
a N
M
u
∙ !
"
≈ ∙ 5 ∆!
TVD en non-structuré
• Le schéma décentré amont est monotone mais très dissipatif
• En 1D, les schémas monotones (TVD) d’ordre 2 ont été obtenus sous la forme
#$% = 5 + 4 − 5
2 T
• La difficulté est la définition du paramètre r, rapport des gradients sur les faces amont et aval
• Plusieurs formulations proposées, par exemple:
– Utiliser le symétrique M’ de M par rapport à N, interpoler la valeur de en M’ puis définir r comme ADCABU
ABCAD
– Utiliser le gradient de en N et utiliser:
r = 'ABDCA∙54D car 4W = 5 + '5 ∙ 76′
• Tout cela coûte cher (interpolation, gradient) !!!
b
a N
M
u
M’
Simulation numérique avancée - MI4 25
Volumes finis et Navier-Stokes
• Par rapport à l’équation de convection-diffusion, deux difficultés nouvelles apparaissent:
1. Le terme de convection est non-linéaire
+ Y
. + Z
[ = ∆ devient
J + YJ + Z J\ = ]∆ avec ^ = 1, 2 _ 3
2. L’équation de quantité de mouvement fait intervenir le gradient de pression. En incompressible, il n’y a pas d’équation de transport pour la pression:
+ a
a = − 1 b c
+ 1
b da
a , eY@f da = g
a + a
J
= 0
Termes non-linéaires
• L’approche classique consiste à linéariser le terme convectif au sein d’une méthode itérative du type:
1. Donner une valeur initiale pour les composantes de la vitesse ,(j) 2. Résoudre :
(l) ,(lm()
+ Y(l) ,(lm()
. + Z(l) ,(lm()
[ = ]∆,(lm() qui conduit à un système linéaire après discrétisation par VF
3. Calculer l’écart ϵ = ∑(,p ,(lm() − ,(l) intégré sur le domaine de calcul
4. Tant que ϵ > _qéTe>f@, incrémenter (k) et recommencer à l’étape 2
• Pour les problèmes instationnaires, il est parfois plus efficace de traiter l’ensemble des termes de manière explicite
Couplage vitesse-pression
• La pression n’intervenant que par son gradient dans l’équation de quantité de mouvement, un traitement spécifique doit être utilisé
• Dans le cas contraire, le risque est d’obtenir un découplage entre pression et vitesse lié au fait que les oscillations maille à maille ne sont pas détectées
xi x
+1
xi
−1
xi
Cette solution correspond à r
= 0:
Celle-ci aussi lorsqu’un schéma centré est utilisé pour la pression : p
p
Couplage vitesse-pression
• Le problème de découplage vitesse-pression peut être traité de plusieurs manières qui visent toute à rendre les oscillations de pression « visibles » numériquement:
– Maillages décalés: les inconnues de pression et de vitesse ne sont pas définies au même endroit, typiquement:
– Pression: au centre des cellules – Vitesse: au faces
– Introduire des termes de viscosité artificielle activés lorsque la pression devient trop oscillante (basés sur la dérivée seconde de p par exemple) – Utiliser des schémas décentrés
pi x
+1
pi
−1
pi
−1
ui
ui ui+1
Couplage vitesse-pression
• Théoriquement, les équations de Navier-Stokes peuvent être
résolues en discrétisant directement le système vitesse-pression,
• Après linéarisation des termes convectifs et discrétisation aux FV, on aboutit formellement pour l’itération (k) à un système du type:
dont la taille est de l’ordre de 4xN en 3D et 3xN en 2D (N est le nombre de mailles)
• L’expérience montre cependant que ce système est mal conditionné et que sa résolution n’est pas efficace en termes de temps de calcul
s ,(lm()
c(lm() = t(l)
Couplage vitesse-pression
• Dans la grande majorité des cas, on préfère utiliser une méthode de projection qui consiste à procéder en deux étapes:
1. Prédiction: calcul d’une vitesse approchée par résolution de l’équation de quantité de mouvement avec le terme de pression de l’itération précédente.
Cette étape peut être réalisée de manière explicite (s est l’identité) ou
implicite après linéarisation des termes de convection. Il s’agit d’un problème de taille 3xN en 3D et 2xN et 2D
2. Correction/projection: la vitesse prédite u,(lm() n’a aucune raison de vérifier la contrainte de divergence nulle. Cela vient du fait que seule l’équation de quantité de mouvement a été utilisée dans l’étape de prédiction et que la pression à l’instant (k+1) n’est pas connue. Pour obtenir la vitesse à l’instant (k+1), on doit donc corriger la vitesse prédite de la manière suivante:
,(lm() = u,(lm() − ∆Mv r(wx)Cr w
sy u,(lm() = tO(l)
Couplage vitesse-pression
• Le terme en ∆ vient du fait que l’on discrétise le terme en temps de la manière suivante:
≡ ,(lm() − u, lm( + u, lm( − ,(l)
∆
En séparant les deux premiers termes des deux derniers, on réalise le
« splitting » qui conduit aux étapes de prédiction et de correction
• La pression c(lm() à utiliser dans l’étape de correction doit être telle que ,(lm() est à divergence nulle. En prenant la divergence de l’étape de projection, cela donne une équation de Poisson qui doit être résolue à l’issue de l’étape de prédiction:
∆ c lm( − c l = b
∆ ^Y u, lm(
Couplage vitesse-pression
• Le « splitting » des équations de Navier-Stokes est à la base de plusieurs méthodes de résolution couramment utilisées dans les logiciels industriels (méthodes de projection). Par ordre de complexité on peut citer:
• SIMPLE: Semi-Implicit Method for Pressure Linked Equations
– Nécessite une sous relaxation pour assurer la stabilité, au détriment de l’efficacité
• SIMPLEC: SIMPLE Corrected
– Plus robuste que SIMPLE, ne nécessite pas de sous-relaxation
• PISO: Pressure Implicit with Splitting Operators
– Le plus efficace pour les maillages très irréguliers
Logiciels industriels
• Le marché de la mécanique des fluides numérique est dominé par trois logiciels généralistes:
– Fluent (récemment racheté par Ansys …) – Ansys CFX (utilisé en TP + projet)
– StarCD
• Ils utilisent tous
– des maillages structurés et/ou non-structurés
– des discrétisations du type centrée, upwind d’ordre 1, QUICK, TVD pour l’estimation des flux
– Des versions plus ou moins évoluées du splitting pour la prise en compte de la pression
– Des techniques itératives comme Gauss-Seidel, Gradient Conjugué ou ILU pour la résolution des systèmes linéaires sous-jacents, éventuellement couplées à des méthodes multi-grilles. Certaines de ces méthodes ont été abordées dans le cours de Calcul Scientifique en MI3 …