Structure générale d'un cas OpenFOAM

Après avoir présenté le code OpenFOAM en général, nous allons à présent expliquer la logique de ce code pour bien appréhender sa hiérarchie.

Ce code est une bibliothèque C++, qui permet de créer des exécutables appelés applications/. Ce Code de calcul dispose d'énorme applications pré-compilées qui correspondent à toute catégorie de problèmes à étudier. L'une des questions fondamentales à se poser pour étudier un cas avec OpenFOAM, est celle de l'application (ou solveur) à utiliser. l'utilisateur n'a pas besoin de choisir les équations à résoudre, mais plutôt la bonne application à adopter (contrairement à Fluent par exemple). 

L'utilisateur peut bien créer sa propre application (ou solveur), avec bien évidemment une connaissance préalable de la physique du problème et les techniques de programmation, l'un des points forts d'OpenFOAM.

Les applications sont divisées en deux catégories :

  • Solvers : Conçus pour simuler un problème donné.
  • Utilities :  destinées pour la manipulation des données.

​​Les équations à résoudre sont codées dans ces applications.

Avec OpenFOAM, l'utilisateur n'a pas à sa disposition une interface graphique (contrairement à fluent par exemple) qui lui permet de rentrer les paramètres nécessaires pour lancer une simulation (Fluent par exemple), mais dispose plutôt d'un système de fichiers qui est plus au moins le même pour chaque solveur donné. La bonne maîtrise de ce système de fichiers est indispensable pour un utilisateur de ce code.La structure de ce système ainsi que l'utilité et la particularité de chaque dossier est illustrée dans l'arborescence suivante :