Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Un exemple de Mécanique des Fluides Numériques (CFD) en écoulement compressible
O. Boiron
Décembre 2016
3A Thermomécanique
2
Généralités
● Optimisation de forme
● Calcul/Dimensionnement d'efforts sur des structures
● Visualisation des champs de pression, vitesse, etc
● Calcul de physiques complexes :
● Ecoulements turbulents
● Ecoulements Compressibles
● Ecoulements réactifs - Combustion
● Ecoulements polyphasiques
● Ecoulements à surface libre
La Computational Fluid Dynamics est particulièrement utile pour :
3
Généralités
Implémentation d'un problème de CFD
Méthodologie en 5 étapes
● Analyse du problème :
● Création de la géométrie avec un modeleur
● Création du maillage avec un mailleur
● Définition des données du problème et résolution avec le solveur
● Exploitation des résultats avec le post-processeur
En 3A !!!
4
Généralités
Implémentation d'un problème de CFD
● Analyse du problème :
● Identification de la physique : ● Quelles sont les variables inconnues ? p,u, T, r, k, e, , ….● Modèle physique : équations, propriétés physiques, …
● Conditions aux limites : ● Identifier les conditions aux limites et leur type (Dirichlet, Neuman)● Mettre en correspondance les CL avec les traitements proposés aux frontières par
le solveur
● Domaine de calcul● Définir le domaine de calcul, i.e., l'espace physique dans lequel les équations
seront résolues. ● Sauf cas particulier les représentations informatiques de domaine de calcul sont
des espaces finis. Comment prendre en compte cette contrainte ?● Existence de symétries ?
5
Rentrée atmosphérique d'une cabine Apollo
Implémentation d'un problème de CFD compressible
● Rentrée atmosphérique Apollo
● Mach 3● Altitude 20 000m● T=220K, p=5 000 Pa
L=3,9mm=5800kgMasse bouclier = 850kg
● On s'intéresse à
● L'allure de l'écoulement autour de la cabine
● Pression et température sur le bouclier
● Forces et moments exercés sur l'engin
● Décélération subie● Flux de chaleur sur le bouclier
6
Le domaine de calcul
Domaine de calcul : W
20deg
M=3T=220Kp=5000pa
104,1m
69,4m
x
y
Etude 2D
Le domaine de calcul représente l'espace (ici en 2D) où circule le fluide et où seront résolues les équations du problème.
7
Le modèle physique
Equations à résoudre
∇ .(ru)=0r(u .∇)u=−∇ p+∇ .σvru∇ e=−p∇ .u+∇ .(k∇ T )+ϕ Dpr =RT−e=C vT
Air assimilé à un gaz parfait (g=1.4)
Dans le référentiel lié à l'engin :
M 1=3p1=5000 paT 1=220K
A l'amont :
Dans le référentiel lié à l'engin :
A l'aval (loin de l'engin) :M∞=3p∞=5000 paT∞=220K
(S) ∀ x∈W
Inconnues : r, p, T, u, v
Etude 2D planStationnaireFluide non pesant
8
Le problème discret et sa résolution
CFD : On substitue au problème continu un problème discret où l'on recherche les solutions du problème au centre de cellules, ou éléments, de forme triangulaire ou quadrangulaire (en 2D) ---→ Méthode des volumes finis (MVF)
(S)
Trouver |r1r2.rnp1p2.pnT 1T 2.T nu1u2.unv1v2.vn
|AX=B (1)
X
Tel que
Schéma itératif pour résoudre type Gauss Seidel (1)● On donne Xo solution initiale● On donne le nombre maximum d'itérations n● On définit la valeur du résidu pour test d'arrêt e,
X 0,X 1,X 2, .... , X i X i+1 , ... , X n
‖AX i−B‖<ϵ
Oui STOP
Non i=i+1STOP quand nombre maxi atteint
MVF
9
Le maillage
Maillage : réalisé par un logiciel dédié de maillage. ● Contient des éléments de forme triangulaire et quadrangulaire près des parois.
C'est un maillage qualifié d'hybride (mêle des éléments de formes différentes).● Environ 75000 éléments au total● 8 frontières (ou bords) où doivent être définies des conditions aux limites
Maillage raffiné près des parois (couche limite)
10
Les conditions aux limites
Conditions aux limites de type WALL
● En fluide parfait : u.n=0, paroi adiabatique● En fluide visqueux : u=0, paroi adiabatique ou à température ou flux imposé
paroi_sup
paroi_inf
bouclier
sas
11
Les conditions aux limites
Conditions aux limites de type PRESSURE_FAR_FIELD
● Calcule les valeurs de vitesse, Mach et température sur les faces à partir des conditions statiques amont.
sortie_lat
sortie_sup
sortie_inf
entree
12
Implémentation sous FLUENT/ANSYSChoix du solveur
● Démarrer fluent● Ouvrir un terminal● Éventuellement créer un répertoire : mkdir mon_repertoire● Aller dans ce répertoire : cd mon_repertoire● Lancer FLUENT : fluent -device X11
● Choix de la version● 2D● Double précision● Version Parallel 2 processes (sur 2 coeurs)
● Choix version du solveur● Density based (compressible)● 2D planar (cartésien)● Steady (stationnaire)
13
● Charger le maillage● Récupérer sur votre compte
http://perso.ec-m.fr/~oboiron/visible/apollo_20deg.msh
● File/Read/Mesh pour charger le fichier maillage● Mesh/Check pour vérifier son intégrité et sa conformité● Mesh/Scale pour passer en SI (le maillage est réalisé en cm)
On appuie 1 fois !!
Implémentation sous FLUENT/ANSYSChargement du maillage
FLUENT « travaille » en SI
14
● Choix des modèles physiques● Define/Models
● Energy → On● Laminar → Inviscid (fluide
parfait)
● Cell Zone Conditions● Operating conditions → Operating
pressure 5000 Pa (environ 20 000m d'altitude)
● Boundary conditions● Entree,
sortie_inf,sortie_lat,sortie_sup → M=3p=0x-comp=1, y_comp=0,T=220K
● Materials● Air (density constant → ideal gas)
Implémentation sous FLUENT/ANSYSDéfinition du problème physique
15
● Solution Methods● Formulation Implicite vs Explicite
● Explicite (conditionnellement stable mais convergence plus rapide et schémas plus robustes)
● Limiteurs de flux● Roe-Flux Difference Splitting
(schéma permettant de limiter les oscillations numériques engendrées par les discontinuités type choc en compressible)
● Spatial Discretization● Gradient : Green-Gauss Node Based● Vitesse : First Order Upwind
(décentré amont)
Implémentation sous FLUENT/ANSYSChoix des options numériques
Flux
Flux Flux
Cell centerNode element
Évaluation des flux sur les faces des éléments par interpolation à partir des valeurs aux nœuds (vs centre des cellules pour cell based)
16
● Solution controls● Schéma explicite soit conditionnellement stable.● Critère de Courant :
Implémentation sous FLUENT/ANSYSChoix des options numériques et initialisation
CFL=U Δ tΔ x
≈1U : vitesse Δt : pseudo pas de temps (le calcul est stationnaire)Δx : pas d'espace
Physiquement à chaque itération le fluide ne parcourt pas plus d'une cellule (élément).
Plus le nombre de Courant est faible (<1) plus la convergence est (en principe) facile mais en contre partie plus elle est lente.
On fixe le nombre de Courant à 0.2
● Solution initialization● Permet de définir Xo● Valeurs appliquées par défaut sur l'ensemble des éléments du domaine de calcul.● Choix un peu arbitraire soit 0 pour toutes les grandeurs soit on force la valeur de la
vitesse (M=3) et de la température (220K) amonts sur l'ensemble des cellules. ● Pour connaître la valeur de la vitesse à partir du Mach de l'entrée : Compute from :
entree
17
● On sauvegarde !!!● File/Write/Case
● On lance le calcul : Run calculation● Nombre itérations = n = un nombre important !!
genre 1000● Reporting interval : 1 : fréquence du monitoring du
calcul● Feu !! Calculate
Implémentation sous FLUENT/ANSYSRun !!
● Evolution des résidus (e, ) en fonction du nombre d'itérations
● Par défaut arrêt automatique si tous les résidus sont inférieurs à 10-3
● On arrête manuellement le calcul lorsque les résidus saturent (ne diminuent plus, surtout celui de la pression (continuity en blanc)
18
● Arrêt du calcul● Models laminar → Laminar
● Solution methods● Implicite
● Solution controls● Nombre de Courant = 0.2
● On relance le calcul : Run calculation● Surtout ne pas initialiser !!
● Arrêt du calcul lorsque les résidus ne diminuent plus
Implémentation sous FLUENT/ANSYSAmélioration de la convergence
19
● Graphics & Animation● Contours● Pour avoir des
isocontours → Filled coché
Implémentation sous FLUENT/ANSYSPost traitement
Isosurfaces de pression statique
Isosurfaces de Mach
● Calcul de la traînée et de la portance● Report/Forces
20
● Calcul du Cx et du Cz, de la décélération subie par les astronautes????
Implémentation sous FLUENT/ANSYSPost traitement et amélioration du maillage
● Position du choc mal définie car maillage trop grossier● Choc mal « intercepté » par le maillage
● Solution, raffiner le maillage au voisinage du choc
Maillage adaptatif : menu Adapt
● Choix d'un citère de raffinement ● Adapt/Gradient Static pressure
● Adapt/Gradient Compute & Apply
21
Implémentation sous FLUENT/ANSYSAmélioration du maillage par maillage adaptatif
● Recherche de la valeur seuil du critère de raffinement à l'aide des isocontours
● Graphics/Contours● Contours of Adaption/Adaption function● Désélectionner Autorange (important) puis Compute
● Chercher la valeur min de l'Adaption function (qui est en fait grad p) pour que seul le choc apparaisse en appuyant sur Display
● Retour sur le menu Adapt/Gradient pour fixer cette valeur dans Refine Threshold puis Dynamic on et Apply
● Dynamic : Le code va effectuer toutes les 20 itérations un découpage des éléments sur lesquels grad p est supérieur à la valeur seuil définie
● Relancer le code pour 100 itérations (Run Calculation)
22
Implémentation sous FLUENT/ANSYSAmélioration du maillage par maillage adaptatif
● Après les 100 itérations désactiver le maillage adaptatif
● Adapt/Gradient Dynamic off → Apply
● Relancer sur quelques centaines d'itérations jusqu'à convergence
● Position du choc mieux définie● Meilleure interception des
gradients● Meilleure stabilité● Possibilité d'augmenter l'ordre
des schémas de discrétisation