Gerris solves the
Navier–Stokes equations in 2 or 3 dimensions, allowing to model industrial fluids (aerodynamics, internal flows, etc.) or for instance, the mechanics of
droplets, thanks to an accurate formulation of multiphase flows (including surface tension). Actually, the latter field of study is the reason why the software shares the same name as the
insect genus.
Gerris also provides features relevant to geophysical flows:
Flow types #1 to #3 were studied using the
shallow-water solver included in Gerris, case #4 brings in the
primitives equations and application #5 relies on the spectral equations for generation/propagation/dissipation of swell (and/or wind sea): for this purpose Gerris makes use of the source terms from WaveWatchIII.[8]
Lastly, one can note that the (non-hydrostatic) Navier–Stokes solver was also used in the ocean to study:
Gerris belongs to the finite volumes family of CFD models.
Type of grid
Most models use meshes which are either structured (Cartesian or curvilinear grids) or unstructured (triangular, tetrahedral, etc.). Gerris is quite different on this respect: it implements a deal between structured and unstructured meshes by using a tree data structure,[a] allowing to refine locally (and dynamically) the (finite-volume) description of the pressure and velocity fields. Indeed, the grid evolves in the course of a given simulation owing to criteria defined by the user (e.g. dynamic refinement of the grid in the vicinity of sharp gradients).
Turbulent closure
Gerris mainly aims at
DNS; the range of
Reynolds available to the user thus depends on the computing power they can afford (although the auto-adaptive mesh allows one to focus the computing resources on the coherent structures). According to the Gerris FAQ[12] the implementation of turbulence models will focus on the
LES family rather than
RANS approaches.
Programming language, library dependencies, included tools
Gerris is developed in C using the libraries
Glib (object orientation, dynamic loading of modules, etc.) and GTS.[13] The latter brings in facilities to perform geometric computations such as triangulation of solid surfaces and their intersection with fluid cells. Moreover Gerris is fully compliant with
MPI parallelisation (including dynamic load balancing).
Gerris does not need a meshing tool since the local (and time dependent) refinement of the grid is on charge of the solver itself. As far as solid surfaces are concerned, several input formats are recognized:
analytic formulas in the parameter file
GTS triangulated files; note that the Gerris distribution includes a tool to translate the STL format (exported by various CAD software) into GTS triangulated surfaces
bathymetric/topographic database in
KDT format; a tool is also provided to generate such a database from simple ASCII listings
Among the various ways to output Gerris results, let us just mention here:
Graphical output in PPM format: images can then be converted in (nearly) any format using
ImageMagick, and MPEG movies can be generated thanks to
FFmpeg (among others).
Simulation files (.gfs), which are actually parameters files concatenated with fields issued from the simulation; these files can then be (i) re-used as parameter files (defining new initial conditions), or (ii) processed with Gfsview.
Gfsview, a display software shipped with Gerris, able to cope with the tree structure of the Gerris grid (a data structure which is not efficiently operated by general visualization software[b]).
Licence
CFD software, as any software, can be developed in various "realms":
Business;
Academic;
Open Source.
As far as CFD is concerned, a thorough discussion of these software development paths can be found in the statement by Zaleski.[14]
Following a redesign of the software organization, Gerris became Basilisk,[17] which allows one to develop its own solver (not necessarily in fluid mechanics) using various data structures (including of course the quadtree/octree) and optimized operators for iteration, derivation, etc. Solvers are written in C, more specifically the Basilisk C.
However many solvers are available "turnkey", including Navier-Stokes et Saint-Venant.
Other computing software are freely available in the field of fluid mechanics. Here are some of them (if the development was not initialized under a free license, the year when it moved to Open Source is mentioned in parentheses):
^Tao, Y.; Rosswog, S.; Brüggen, M. (2013). "A simulation modeling approach to hydrothermal plumes and its comparison to analytical models". Ocean Modelling. 61: 68–80.
Bibcode:
2013OcMod..61...68T.
doi:
10.1016/j.ocemod.2012.10.001.