Gerris (logiciel)

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Page d'aide sur l'homonymie Pour l’article homonyme, voir Gerris

Gerris est un logiciel libre de mécanique des fluides numérique.

Gerris
Image illustrative de l'article Gerris (logiciel)
Logo

Champ de vent autour du RV Tangaroa
Champ de vent autour du RV Tangaroa

Première version 2001
État du projet En développement actif
Écrit en C
Environnement Unix, Linux
Type CFD
Politique de distribution Gratuit
Licence GPL
Site web gfs.sourceforge.net

Champ d'application[modifier | modifier le code]

Gerris résout les équations de Navier-Stokes en 2 ou 3 dimensions. Il permet donc de modéliser les fluides industriels (aérodynamique, écoulements internes, etc.) ou encore la formation et l'évolution des gouttes, grâce à la prise en compte des interfaces diphasiques et de la tension superficielle. C'est d'ailleurs en référence à ce genre d'application et à l'insecte du même nom que le logiciel a été baptisé.

Bannière du site de Gerris

Gerris dispose aussi de variantes dédiées aux écoulements géophysiques:

  1. marée océanique [1]
  2. tsunamis [2],[3]
  3. écoulements fluviaux [4]
  4. tourbillons océaniques [5]
  5. état de mer (vagues) [6],[7]

Les écoulements #1 à #3 ont été étudiés avec le solveur d'équations de Saint-Venant (i.e. shallow-water) inclus dans Gerris, le cas #4 nécessite de s'intéresser aux équations primitives et l'application #5 repose sur les équations spectrales de génération/propagation/dissipation de la houle (ou de la mer du vent): Gerris utilise pour cela les termes-source de WaveWatchIII[8].

Notons enfin que le solveur (non-hydrostatique) de Navier-Stokes a aussi été utilisé dans l'océan pour étudier:

  • les panaches fluviaux [9]
  • les ondes internes [10]
  • la convection hydrothermale [11]

Par contre Gerris ne permet pas (au moment où ces lignes sont écrites) de modéliser les fluides compressibles (écoulements supersoniques).

Schéma numérique[modifier | modifier le code]

La résolution numérique des équations aux dérivées partielles peut se faire suivant différentes méthodes:

Gerris utilise une discrétisation en volumes finis.

Type de grille[modifier | modifier le code]

En distinguant les grilles structurées (Cartésiennes ou curvilignes) et les grilles non structurées (maillages triangulaires, tétraèdriques, etc.), on met en évidence l'originalité la plus forte de Gerris, à savoir que ce modèle ne se range dans aucune de ces deux catégories: en fait Gerris réalise un compromis entre les deux techniques grâce à l'utilisation d'une structure de donnée en arbre [12] pour représenter les champs, et ce de façon dynamique: la grille peut s'adapter au cours de la simulation en fonction de critères choisis par l'utilisateur (exemple: raffinement dynamique de la grille au voisinage de gradients locaux).

Fermeture turbulente[modifier | modifier le code]

Gerris est pour l'instant un code DNS, l'amplitude des Reynolds accessibles à l'utilisateur dépend donc directement de la capacité de calcul dont il dispose (même si le maillage auto-adaptatif permet de focaliser la charge de calcul sur les structures cohérentes); d'après la FAQ de Gerris [13] l'implantation de modèles de turbulence concernera plutôt la famille LES que les approches RANS.

Langage de programmation, bibliothèques utilisées, outils fournis[modifier | modifier le code]

Gerris est écrit en C avec les libraires Glib (orientation objet, compilation modulaire, etc.) et GTS [14]. Cette dernière sert aux calculs géométriques (triangulation des surfaces solides, intersection avec les cellules de calcul). D'autre part Gerris supporte nativement la parallélisation MPI.

Gerris n'a pas besoin de mailleur puisque le raffinement local (et même dynamique) de la grille est pris en charge par le solveur lui-même. Les surfaces solides peuvent quant à elles être spécifiées par:

  • leur description mathématique dans le fichier de paramètres
  • des fichiers de surface triangulée au format GTS; la distribution de Gerris comporte notamment un outil permettant de traduire en GTS les surfaces triangulées au format STL (exporté par de nombreux logiciels de DAO 3D)
  • une base de donné bathymétrique/topographique au format KDT (des outils sont fournis pour générér une telle base de données en partant de simples listings ASCII)

Les résultats peuvent être sortis de nombreuses façons; citons:

  • Les sorties graphiques au format PPM: les images peuvent ensuite être converties en (presque) n'importe quel format grâce à ImageMagick et les animations au format MPEG grâce à FFmpeg (entre autres).
  • Les fichiers de simulation (.gfs), qui sont en fait des fichiers de paramètres concaténés avec les champs issus de la simulation; ces fichiers peuvent ensuite être ré-utilisés comme fichiers de paramètres (avec conditions initiales, donc), ou alors confiés à Gfsview.
  • Gfsview, logiciel de visualisation distribué avec Gerris, capable de tirer parti de la structure en arbre de la grille de Gerris (une structure de donnée que n'exploitent pas efficacement les logiciels de visualisation généralistes [15]).

Licence[modifier | modifier le code]

Les logiciels de mécanique des fluides numérique (Computational Fluid Dynamics ou CFD pour les anglophones), comme les autres logiciels, peuvent être développés dans différents contextes:

  • Commercial;
  • Universitaire;
  • Open Source.

Pour une discussion (orientée) de ces différents modes de développement dans le contexte des logiciels de CFD, voir notamment le billet de Zaleski [16]. Il est à signaler que Gerris a adopté le mode Open Source dès le début du projet [17],[18].

Voir aussi[modifier | modifier le code]

D'autres logiciels de calcul en mécanique des fluides sont disponibles sous licence libre. En voici quelques-uns (si le développement n'a pas été initié sous licence libre, la date de passage en Open Source est mentionnée entre parenthèses):

Fluides industriels[modifier | modifier le code]

Fluides géophysiques[modifier | modifier le code]

Notes et références[modifier | modifier le code]

  1. (en) R. Msadek, « Hydrodynamic tidal model of Cook Strait », Technical report, National Institute of Water and Atmospheric research,‎ 2005
  2. (en) S. Popinet, « Adaptive modelling of long-distance wave propagation and fine-scale flooding during the Tohoku tsunami », Natural Hazards and Earth System Sciences, vol. 12,‎ 2012, p. 1213-1227
  3. (en) S. Popinet, « Quadtree-adaptive tsunami modelling », Ocean Dynamics, vol. 61,‎ 2011, p. 1261-1285
  4. (en) A. Hyunuk et Y. Soonyoung, « Well-balanced shallow water flow simulation on quadtree cut cell grids », Advances in Water Resources, vol. 39,‎ 2012, p. 60-70
  5. (en) S. Popinet et G. Rickard, « A tree-based solver for adaptive ocean modelling », Ocean Modelling, vol. 16,‎ 2007, p. 224-249
  6. (en) C.-C. Tsai, T.-H. Hou et S. Popinet, « Wind wave prediction of tropical cyclones by a quadtree-adaptive model », Coastal Engineering, vol. 77,‎ 2013, p. 108-119
  7. (en) S. Popinet, R.M. Gorman, G.J. Rickard et H.L. Tolman, « A quadtree-adaptive spectral wave model », Ocean Modelling, vol. 34,‎ 2010, p. 36-49
  8. WaveWatchIII
  9. (en) J. O'Callaghan, G. Rickard, S. Popinet et C. Stevens, « Response of buoyant plumes to transient discharges investigated using an adaptive solver », Journal of Geophysical Research, vol. 115,‎ 2010, C11025
  10. (en) G. Rickard, J. O'Callaghan et S. Popinet, « Numerical simulations of internal solitary waves interacting with uniform slopes using an adaptive model », Ocean Modelling, vol. 30,‎ 2009, p. 16-28
  11. (en) Y. Tao, S. Rosswog et M. Brüggen, « A simulation modeling approach to hydrothermal plumes and its comparison to analytical models », Ocean Modelling, vol. 61,‎ 2013, p. 68-80
  12. quadtree en 2D, octree en 3D
  13. Gerris (Foire Aux Questions)
  14. GTS
  15. Gerris dispose cependant d'un module permettant d'exporter ses résultats au format Esri Grid.
  16. Stéphane Zaleski, « Science and Fluid Dynamics should have more open sources », sur Institut Jean le Rond d'Alembert,‎ 2001 (consulté le 12 mai 2013)
  17. (en) S. Popinet, « Gerris: a tree-based adaptive solver for the incompressible Euler equations in complex geometries », Journal of Computational Physics, vol. 190,‎ 2003, p. 572-600
  18. (en) S. Popinet, « Free Computationel Fluid Dynamics », Cluster World, vol. 2,‎ 2004, p. 2-8
  19. ROMS
  20. GOTM
  21. Telemac-Mascaret
  22. Delft3D