Discrétisations
code_saturne repose sur une approche par volumes finis colocalisés qui prend en charge les maillages non structurés avec n'importe quel type de cellule :
- tétraédrique ;
- hexaédrique ;
- prismatique ;
- pyramidale ;
- polyédrique ;
- etc.
Il permet de résoudre des écoulements en régime pseudo-stationnaire ou instationnaire. Il utilise un schéma theta pour la discrétisation temporelle.
ㅤ
Couplage vitesse-pression
code_saturne utilise une méthode à pas fractionnaire similaire à SIMPLEC :
- Prédiction de la vitesse : résoudre l’équation de la quantité de mouvement à l’aide d’un gradient de pression explicite pour obtenir une vitesse prédite.
- Correction de la pression : utiliser l’équation de continuité pour garantir la conservation de la masse.
- Mise à jour de la vitesse : mise à jour du champ de vitesse à l’aide de $\nabla P$.
ㅤ
Une fois la vitesse mise à jour, les variables turbulentes et les scalaires sont résolus selon leurs schémas temporels respectifs.
L’interpolation de Rhie & Chow est utilisée lors de la résolution de l’équation de pression afin d’éviter les oscillations, également appelées « effet damier ».
ㅤ
Résolution des systèmes linéaires
Plusieurs solveurs de systèmes linéaires sont disponibles :
-
Gauss-Seidel
- Par défaut pour la vitesse, la température, les variables turbulentes et les scalaires passifs.
-
Jacobi
-
Gradient conjugué
- Par défaut pour la pression.
- Disponible avec :
- le préconditionnement multigrille algébrique ;
- le préconditionnement de Jacobi ;
- préconditionnement polynomial.
-
Multigrille algébrique
-
Gradient bi-conjugué stabilisé
- Bi-CGSTAB ;
- Bi-CGSTAB2.
-
GMRES
-
GCR
-
Solveurs fournis par des bibliothèques externes
- PETSc ;
- AmgX.
ㅤ
Schémas convectifs
Plusieurs schémas sont disponibles pour la discrétisation des termes convectifs :
- schéma « upwind » de premier ordre ;
- schéma centré ;
- schéma « upwind » linéaire de second ordre (SOLU) ;
- schéma mixte combinant les schémas « upwind » et de second ordre.
Un test de pente est activé par défaut pour les schémas du deuxième ordre. En cas de dépassements, il fait passer la discrétisation du schéma du deuxième ordre au schéma « upwind ».
ㅤ
Calcul du gradient
Plusieurs méthodes de calcul du gradient sont disponibles :
- méthode de Green-Gauss avec reconstruction itérative des non-orthogonalités :
- initialisation à l’aide de valeurs nulles ;
- initialisation basée sur la méthode des moindres carrés.
- méthode des moindres carrés utilisant :
- un voisinage standard ;
- un voisinage étendu ;
- un voisinage partiellement étendu.
- Méthode de Green-Gauss avec estimation des valeurs de face basée sur les moindres carrés.
ㅤ
Exemple de cas test : écoulement transversal dans un faisceau de tubes
- maillage à motif répétitif pour les tests de référence de mise à l'échelle faible
- testé sur 12 millions à 3,2 milliards de variantes
ㅤ Besoin d'aide ? Posez votre question à la communauté code_saturne sur le forum.