Gerris (software)
   HOME

TheInfoList



OR:

Gerris is
computer software Software is a set of computer programs and associated documentation and data. This is in contrast to hardware, from which the system is built and which actually performs the work. At the lowest programming level, executable code consists ...
in the field of
computational fluid dynamics Computational fluid dynamics (CFD) is a branch of fluid mechanics that uses numerical analysis and data structures to analyze and solve problems that involve fluid flows. Computers are used to perform the calculations required to simulate th ...
(CFD). Gerris was released as
free and open-source software Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
, subject to the requirements of the
GNU General Public License The GNU General Public License (GNU GPL or simply GPL) is a series of widely used free software licenses that guarantee end users the Four Freedoms (Free software), four freedoms to run, study, share, and modify the software. The license was th ...
(GPL), version 2 or any later.


Scope

''Gerris'' solves the
Navier–Stokes equations In physics, the Navier–Stokes equations ( ) are partial differential equations which describe the motion of viscous fluid substances, named after French engineer and physicist Claude-Louis Navier and Anglo-Irish physicist and mathematician Geo ...
in 2 or 3 dimensions, allowing to model industrial fluids (aerodynamics, internal flows, etc.) or for instance, the mechanics of
droplets A drop or droplet is a small column of liquid, bounded completely or almost completely by free surfaces. A drop may form when liquid accumulates at the lower end of a tube or other surface boundary, producing a hanging drop called a pendant d ...
, 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: # ocean tide # tsunamis # river flow # eddies in the ocean # sea state (surface waves) 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. Lastly, one can note that the (non-hydrostatic) Navier–Stokes solver was also used in the ocean to study: * fluvial plumes * internal waves * hydrothermal convection On the contrary ''Gerris'' does not allow the modeling of compressible fluids (supersonic flows).


Numerical scheme

Several methods can be used to provide a numerical solution to
partial differential equation In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a Multivariable calculus, multivariable function. The function is often thought of as an "unknown" to be sol ...
s: *
finite differences A finite difference is a mathematical expression of the form . If a finite difference is divided by , one gets a difference quotient. The approximation of derivatives by finite differences plays a central role in finite difference methods for the ...
* finite volumes *
finite elements The finite element method (FEM) is a popular method for numerically solving differential equations arising in engineering and mathematical modeling. Typical problem areas of interest include the traditional fields of structural analysis, heat ...
''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, 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 Domain Name System (DNS) is a hierarchical and distributed naming system for computers, services, and other resources in the Internet or other Internet Protocol (IP) networks. It associates various information with domain names assigned to ...
; the range of
Reynolds Reynolds may refer to: Places Australia *Hundred of Reynolds, a cadastral unit in South Australia *Hundred of Reynolds (Northern Territory), a cadastral unit in the Northern Territory of Australia United States * Reynolds, Mendocino County, Calif ...
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 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 GLib is a bundle of three (formerly five) low-level system libraries written in C and developed mainly by GNOME. GLib's code was separated from GTK, so it can be used by software other than GNOME and has been developed in parallel ever sinc ...
(object orientation, dynamic loading of modules, etc.) and GTS. 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 MPI or Mpi may refer to: Science and technology Biology and medicine * Magnetic particle imaging, an emerging non-invasive tomographic technique * Myocardial perfusion imaging, a nuclear medicine procedure that illustrates the function of the hear ...
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 ImageMagick, invoked from the command line as magick, is a free and open-source cross-platform software suite for displaying, creating, converting, modifying, and editing raster images. Created in 1987 by John Cristy, it can read and write ove ...
, and MPEG movies can be generated thanks to
FFmpeg FFmpeg is a free and open-source software project consisting of a suite of libraries and programs for handling video, audio, and other multimedia files and streams. At its core is the command-line ffmpeg tool itself, designed for processing of vid ...
(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).


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. ''Gerris'' was distributed as
free and open-source software Free and open-source software (FOSS) is a term used to refer to groups of software consisting of both free software and open-source software where anyone is freely licensed to use, copy, study, and change the software in any way, and the source ...
right from the onset of the project.


Continued development

Following a redesign of the software organization, ''Gerris'' became ''Basilisk'', 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.


See also

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 parenthesis):


Industrial fluids

*
Advanced Simulation Library Advanced Simulation Library (ASL) is free and open-source hardware-accelerated multiphysics simulation platform. It enables users to write customized numerical solvers in C++ and deploy them on a variety of massively parallel architectures ...
(2015) *
Code Saturne code_saturne is a general-purpose computational fluid dynamics free computer software package. Developed since 1997 at Électricité de France R&D, code_saturne is distributed under the GNU GPL licence. It is based on a co-located finite-volum ...
(2007) *
FEATool Multiphysics FEATool Multiphysics ("Finite Element Analysis Toolbox for Multiphysics") is a physics, finite element analysis (FEA), and PDE simulation toolbox. FEATool Multiphysics features the ability to model fully coupled heat transfer, fluid dynamics, che ...
(2013) *
OpenFOAM OpenFOAM (for "Open-source Field Operation And Manipulation") is a C++ toolbox for the development of customized numerical solvers, and pre-/post-processing utilities for the solution of continuum mechanics problems, most prominently including ...
(2004) * SU2 code (2012)


Geophysical fluids

* POM (1999) * ROMS * GOTM * Telemac (2010, 2011 for Mascaret) * Delft3DDelft3D
/ref> (2011)


Notes


References

{{CAE software Free software Computational fluid dynamics Computer-aided engineering software for Linux Scientific simulation software