<  Retour au portail Polytechnique Montréal

Une étude de cas de vérification pour un code à source ouvert de simulation numérique

Harold Nicolas Noriega

Thèse de doctorat (2016)

Document en libre accès dans PolyPublie
[img]
Affichage préliminaire
Libre accès au plein texte de ce document
Conditions d'utilisation: Tous droits réservés
Télécharger (1MB)
Afficher le résumé
Cacher le résumé

Résumé

Ces dernières décennies, les calculs numériques en mécanique des fluides, à l'aide d'outils de calcul tels que OpenFOAMr, se sont considérablement développés, grâce aux ressources informatiques qui sont de plus en plus puissantes et qui permettent ainsi la résolution numérique des équations aux dérivées partielles avec une grande précision. Cependant, malgré les grands progrès, il reste un défi majeur : la simulation des problèmes réels complexes. Pour la plupart de ces problèmes, il n'existe pas de solution analytique et la validation et la vérification des résultats deviennent une tâche difficile, mais nécessaire. OpenFOAMr est un outil de simulation principalement orienté sur la résolution numérique des équations de la mécanique des fluides. Distribué sous licence à source ouverte GNU/GPL, OpenFOAMr est largement utilisé dans les milieux universitaires et dans l'industrie. Bien que ce logiciel est composé d'un grand nombre de bibliothèques qui prennent en charge les différentes phases de la simulation numérique, peu d'études de vérification peuvent être trouvées aujourd'hui. Une étude de vérification en profondeur de ses librairies principales est justifiable. D'autant plus qu'on a observé une perte de convergence lors des simulations numériques de solutions analytiques des équations de Navier-Stokes sur des maillages non orthogonaux. Cette thèse est composée principalement de deux contributions qui concernent une méthode de vérification des opérateurs de convection-diffusion de l'outil informatique OpenFOAM. Une première contribution est le développement de la méthode de vérification elle-même, qui a permis d'identifier la source de perte de convergence sur des maillages non orthogonaux. À cette fin, une méthode qui tient compte de la complexité du solveur (c.-à-d., la complexité des schémas), des conditions aux limites, ainsi que de la qualité du maillage est établie dans une première étape. La principale contribution de cette première partie est la détection de la source d'une perte de convergence due au traitement de la non-orthogonalité pour des conditions aux limites de type Dirichlet et de type Neumann. Autres résultats dans cette première phase sont : la vérification du bon fonctionnement des algorithmes à l'intérieur du domaine et sur des maillages orthogonaux, la confirmation de l'ordre théorique de convergence des conditions aux limites périodiques sur des maillages orthogonaux et non orthogonaux, ainsi que la vérification du bon fonctionnement des algorithmes concernant les critères de qualité du maillage, la non-uniformité et l'asymétrie (skewness en anglais). Pour étudier l'erreur, la méthode des solutions manufacturées a été appliquée pour obtenir des solutions analytiques de l'équation de Poisson. Les normes d'erreurs moyenne et maximale ont été utilisées pour calculer le taux de convergence. La seconde contribution est constituée de différentes façons afin de corriger le problème de perte de convergence. Nous avons aussi appliqué le processus de vérification aux schémas corrigés. Dans cette deuxième partie, on montre mathématiquement la nécessité d'introduire une correction aux faces à la frontière. À l'aide de l'analyse d'erreur de troncature pour les conditions de type Dirichlet ou Neumann, nous avons montré la nécessité d'implémenter un traitement non orthogonal pour les deux types de conditions aux limites. Par la suite, différentes méthodes pour obtenir des conditions aux frontières de deuxième ordre ont été implémentées. Dans les cas de conditions aux limites de type Dirichlet, quatre alternatives pour atteindre une convergence d'ordre deux ont été présentées, dont trois peuvent être étendues afin de permettre de traiter la non-orthogonalité aux frontières de type Neumann. Les quatre variantes implémentent une correction non orthogonale pour les conditions aux limites de type Neumann et Dirichlet en reconstruisant le gradient dans les cellules voisines à la frontière et les quatre présentent des résultats similaires en termes de convergence et de précision. Plusieurs tests de convergence permettent de faire des comparaisons entre les résultats utilisant les nouveaux schémas et les résultats utilisant le code original. Enfin, nous avons détecté une “petite” perte de convergence provenant de la libraire de reconstruction du gradient pour une méthode aux moindres carrés, due à la reconstruction des vecteurs de moindres carrés (les vecteurs de liaison) à la frontière dans les cas de maillages non orthogonaux. On propose une correction du calcul de ces vecteurs. Dans ce document, on fait une synthèse des deux articles qui expliquent les détails techniques et théoriques de la méthode de vérification qui a permis l'identification de la source de perte de convergence : le traitement de la non-orthogonalité pour des conditions aux limites Dirichlet ou Neumann. De plus, on décrit les différentes stratégies pour obtenir des conditions aux limites de deuxième ordre. Finalement, la contribution principale de cette thèse est une amélioration de la convergence des librairies OpenFOAM dans le traitement aux limites des types Dirichlet et Neumann, ce qui résulte en des simulations numériques plus fiables.

Abstract

Based on practical observation, an a priori dependence of OpenFOAMr schemes on grid type and quality is supposed to exist. This dependency is characteristic of the numerical methods that support this and other softwares. In this regard, this study aims the assessment of OpenFOAMr libraries as well as the analysis of the influence of cell type on the numerical accuracy of convection-diffusion operators. OpenFOAM (for “Open source Field Operation And Manipulation”) is a multi-physics code that is largely used in industry and academy, why is justifiable a study of verification of this tool. The code (that is writting in C++) is released as free and open source software under the GNU General Public License. This work is divided in two parts. In the first part of this investigation, the analysis of schemes for convection-diffusion problems is focused only on the numerical diffusion, because this individually has been found to show a loss in convergence rate. Although second order schemes that are based on the cell centered finite volume approach underlying OpenFOAM should preserve a theoretical second order convergence rate, loss of convergence order is observed when applying nonorthogonal meshes at the boundaries. Theoretical convergence orders were observed for Poisson's equation solver on orthogonal hexahedral meshes using several boundary conditions. On non-orthogonal meshes, we have noticed that even slight mesh distortions reduce the theoretical second order convergence to just first-order. Our investigation has shown that this loss of convergence order takes place when Dirichlet and/or Neumman boundary conditions are used together with a non-orthogonal treatment on boundaries. To study the error, the method of manufactured solutions has been applied to yield analytical solutions for the Poisson equation. The average and maximum error norms were used to calculate the convergence rate. The root cause of the accuracy loss is identified and corrections to recover second order convergence are proposed. In part two of this investigation which is the follow-up of the previous first part, some ways to achieve this theoretical second order convergence accuracy are shown. They are mainly based on a second order boundary approximation for Dirichlet and/or Neumann boundaries. Additionally, it is shown that a small reduction on the convergence order can also be observed when using the least square gradient scheme for the explicit part on the treatment for non-orthogonality. This seemed to be caused by the non-orthogonal correction in boundaries inside the least square vector reconstruction library. The verification procedure is performed by means of the method of manufactured solutions for the Poisson equation or by means of analytical solutions for the Navier-Stokes equations. Comparative results are presented. This document is a synthesis of two articles in whichs we explain the technical and the theoretical details of the implemented verification methodology. The overall contribution of this thesis is to have contributed to the current state of development in terms of convergence of the OpenFOAM software tool (In general the contribution is valid for the creation of second order boundary conditions based on the cell centered scheme in finite volumes). This contribution is of great importance for the numerical simulations.

Département: Département de génie informatique et génie logiciel
Programme: Génie informatique
Directeurs ou directrices: François Guibault et Marcelo Reggio
URL de PolyPublie: https://publications.polymtl.ca/2407/
Université/École: École Polytechnique de Montréal
Date du dépôt: 13 févr. 2018 15:44
Dernière modification: 06 avr. 2024 09:21
Citer en APA 7: Noriega, H. N. (2016). Une étude de cas de vérification pour un code à source ouvert de simulation numérique [Thèse de doctorat, École Polytechnique de Montréal]. PolyPublie. https://publications.polymtl.ca/2407/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel

Afficher document Afficher document