Maîtrise de la Simulation Numérique

Les travaux que je réalise lors de mes études expriment la convergence de sciences très variées. Et pour cause, pour réaliser une étude de simulation numérique entière en mécanique des fluides par exemple, je dois entreprendre la mise en œuvre de ces différentes étapes, que sont :

Pre-processing
  • La conception géométrique informatique en 3D du domaine de contrôle dans lequel le phénomène physique à étudier se produit. Cela parfois avec un outil de CAO/DAO. Selon la complexité du cas je peux utiliser différents logiciels : blockMesh, Salome, Sketchup ou SolidWorks …
  • La génération du maillage complexe de cette même géométrie avec l’adjonction de couches limites personnalisables selon le besoin. J’utilise pour cela le plus souvent l’outil SnappyHexMesh.
  • Le paramètrage de la simulation. Et si le problème à simuler est turbulent, le choix d’un modèle de turbulence adéquate.
Solving
  • Le calcul de la simulation en question sur un poste de travail ou sur un serveur de calcul. Le temps de calcul d’une simulation peut prendre, selon sa complexité, en ininterrompu, entre quelques secondes et plusieurs semaines.
  • L’analyse de la convergence de la solution proposée dans le résultat du calcul de la simulation.
Post-processing
  • Le traitement graphique et l’analyse des mouvements du fluide calculés, en rendu 2D ou 3D.
  • La vérification du réalisme des résultats obtenus.
  • L’analyse calculatoire des résultats obtenus par le biais de tableaux de données et de courbes.
  • Et au final, la dernière étape qu’est la compréhension du phénomène physique simulé dans son état général, et la proposition de solutions au problème qui était posé initialement.

Et il faut considérer que les points de ces différentes étapes amènent des sciences très variées à se côtoyer de très près :

L'Informatique et ses technologies

Je maîtrise OpenFOAM® et sa complexité gigantique. Mais qu’est ce qu’OpenFOAM® ? OpenFOAM® possède plusieurs facettes et il faut lui différencier, selon l’approche, 2 aspects différents :

  • 1er aspect : l’approche du simple utilisateur. Pour le simple utilisateur OpenFOAM® est un logiciel qui permet de réaliser des simulations numériques. Fonctionnant entièrement avec la ligne de commande, il contient plus de 200 programmes à lancer dans une console linux. Il est en cela plus complexe à utiliser que les autres logiciels de simulation numérique qui possèdent pour la plupart d’entre-eux une interface graphique (comme sous windows par exemple). Mais si OpenFOAM® ne possède pas d’interface graphique, pour le fin connaisseur il offre en revanche plus de possibilités.
  • 2ème aspect : l’approche du développeur. Pour le développeur OpenFOAM® est une plateforme de développement créée dans le but d’implémenter ses propres codes de simulation pour la résolution de problèmes multi-physique. C’est dans cette approche que OpenFOAM® se revendique le plus et en cela il acceuille donc des utilisateurs qui sont également développeurs, leur laissant ainsi la possibilité de contribuer au développement de leur outil.

Ainsi, j’ai également du apprendre le Shell, le bash, le ksh, que sont les langages informatiques associés à la ligne de commande des systèmes Unix/Linux. Cela me laisse bien plus de possibilités dans les études que je réalise. Et également les bases du C et du C++, pour développer mes propres codes OpenFOAM® et ainsi créer mes propres solvers de simulation numérique.

Les Mathématiques

Les Mathématiques servent, entre autres, à vérifier que la simulation converge bien. Il s’agit ainsi de maîtriser la Méthode des Volumes Finis afin de vérifier que les opérations sur les matrices dans leurs applications produisent bien une solution correcte le long de la simulation …

La Physique

Il y a toujours une Physique derrière la simulation. Ici la Mécanique des Fluides et ses mécaniques tourbillonnaires vraiment très complexes, ainsi que la Thermique. Quand on réalise une simulation numérique il faut pouvoir vérifier que les résultats qu’on obtient numériquement sont cohérents avec la réalité. C’est très important. Car si on ne comprend pas la physique qu’il y a derrière un travail numérique on ne peut pas donner de sens à une étude, et on ne peut que difficilement en évaluer sa conformité avec la réalité.

La Technologie propre au Système simulé

La connaissance de la Technologie au sein de laquelle se produit le phénomène physique à simuler permet de mieux orienter la simulation. Par exemple pour une éolienne, la maîtrise de cet aspect permet de mieux comprendre la mécanique qui régit ses mouvements. Dans ce cas cela permet de réaliser des maillages dynamiques de qualité. Par exemple un maillage rotatif dans le cas d’une éolienne. Il peut être important de savoir isoler la caractéristique qui représente le mieux la problématique d’un système à étudier, et son mouvement en est un, etc …

La CAO/DAO

La Conception/Dessin assisté(e) par ordinateur. Il est plus judicieux de commencer une étude par la confection d’un plan informatique du système à étudier. A partir de mes connaissances en conception mécanique je dois commencer une étude par la réalisation d’une maquette numérique en 3D du système à simuler que je réalise si besoin à travers divers logiciels de CAO. Dans tout cela il y a aussi snappyHexMesh, le mailleur automatique et sa très grande complexité …

À l’agencement de ces différentes sciences que j’avais, pour la plupart, d’abord appris à maîtriser quand j’étais à l’Ecole Centrale, mais plutôt une par une, j’avais ensuite appris à les coordonner les unes avec les autres quand j’étais à Polytechnique pour réaliser des études complètes qui s’expriment à travers les travaux en CFD que j’ai mené dans cette Université …