Rheolef
Rheolef est un environnement logiciel pour résoudre les équations aux dérivées partielles par la méthode des éléments finis. Rheolef propose les algorithmes les plus pointus : solveurs préconditionnés pour l'élasticité incompressible, les fluides de Stokes et Navier-Stokes, méthode des caractéristiques de degré élevé pour les problèmes de convection dominante en thermique, etc.
Cet environnement est constitué d'un ensemble de commandes unix ainsi que de classes et d'algorithmes en langage C++.
Les applications couvrent actuellement :
- le problème de Poisson en dimension 1, 2 ou 3 avec des éléments P1 ou P2,
- le problème de Stokes en dimension 2 ou 3, avec les éléments P2-P1 ou P1 bulle-P1,
- l'élasticité linéaire en dimension 2 ou 3 avec des éléments P1 ou P2 y compris l'élasticité incompressible et quasi-incompressible,
- la méthode des caractéristiques pour les problèmes de type convection-diffusion, et les problèmes d'évolution tels que le problème de Navier-Stokes, - la gestion des maillages auto-adaptatifs en dimension 2,
- les problèmes en coordonnées axi-symétriques,
- les multi-régions et les coefficients non-constants,
- pagination de matrices de tailles très importantes (optionnel, dépend des sous-librairies disponibles),
- possibilité de maillages périodiques.
Les entrées-sorties se font dans divers formats de fichiers pour les maillages et les systèmes de visualisation (vtk, plotmtv, gnuplot).
Les entrées-sorties se font dans divers formats de fichiers pour les maillages (bamg, qmg, grummp) et les systèmes de visualisation (vtk, mayavi, paraview, plotmtv, gnuplot).
Utilisé par de nombreux chercheurs et doctorants, tant dans des laboratoires de mathématiques appliquées que de physique ou de mécanique. La syntaxe très concise des codes permet de traduire directement les problèmes d'équations aux dérivées partielles en code exécutable : la correspondance entre les lignes écrites sur le papier et les lignes de code est directe. Ceci assure une grande lisibilité des codes : le temps de développement est ainsi grandement diminué. Enfin, ceci ne se fait pas au détriment de la rapidité d'exécution car le code, écrit en c++, est compilé avant l'utilisation. Par comparaison, des codes interprétés, tel octave ou matlab, seraient plus lents.
L'entête de la page web de Rheolef illustre bien cette correspondance entre le formalisme mathématique et les lignes de code écrites par l'utilisateur.
Certaines fonctionnalités avancées, telle la parallélisation du code, sont prévues, mais pas encore disponibles.
Ceci permettrait d'effectuer des calculs en dimension trois sur de très gros maillages non structurés, du type un million d'éléments.