Gerris (software)

Last updated
Gerris
Initial release2001;22 years ago (2001)
Written in C
Operating system Unix, Linux
SuccessorBasilisk
Type CFD
Licence GPL
Website gfs.sourceforge.net

Gerris is computer software in the field of computational fluid dynamics (CFD). Gerris was released as free and open-source software, subject to the requirements of the GNU General Public License (GPL), version 2 or any later.

Contents

Scope

Banner of the Gerris website Gerris website.png
Banner of the Gerris website

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:

  1. ocean tide [1]
  2. tsunamis [2] [3]
  3. river flow [4]
  4. eddies in the ocean [5]
  5. sea state (surface waves) [6] [7]

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:

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 equations:

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, [lower-alpha 1] 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:

Among the various ways to output Gerris results, let us just mention here:

Licence

CFD software, as any software, can be developed in various "realms":

As far as CFD is concerned, a thorough discussion of these software development paths can be found in the statement by Zaleski. [14]

Gerris was distributed as free and open-source software right from the onset of the project. [15] [16]

Continued development

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.

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

Industrial fluids

Geophysical fluids

Notes

  1. quadtree en 2D, octree en 3D
  2. However, Gerris also provides a module exporting its results in Esri Grid format.

Related Research Articles

<span class="mw-page-title-main">Computational fluid dynamics</span> Analysis and solving of problems that involve fluid flows

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 the free-stream flow of the fluid, and the interaction of the fluid with surfaces defined by boundary conditions. With high-speed supercomputers, better solutions can be achieved, and are often required to solve the largest and most complex problems. Ongoing research yields software that improves the accuracy and speed of complex simulation scenarios such as transonic or turbulent flows. Initial validation of such software is typically performed using experimental apparatus such as wind tunnels. In addition, previously performed analytical or empirical analysis of a particular problem can be used for comparison. A final validation is often performed using full-scale testing, such as flight tests.

The boundary element method (BEM) is a numerical computational method of solving linear partial differential equations which have been formulated as integral equations, including fluid mechanics, acoustics, electromagnetics, fracture mechanics, and contact mechanics.

In numerical analysis, adaptive mesh refinement (AMR) is a method of adapting the accuracy of a solution within certain sensitive or turbulent regions of simulation, dynamically and during the time the solution is being calculated. When solutions are calculated numerically, they are often limited to pre-determined quantified grids as in the Cartesian plane which constitute the computational grid, or 'mesh'. Many problems in numerical analysis, however, do not require a uniform precision in the numerical grids used for graph plotting or computational simulation, and would be better suited if specific areas of graphs which needed precision could be refined in quantification only in the regions requiring the added precision. Adaptive mesh refinement provides such a dynamic programming environment for adapting the precision of the numerical computation based on the requirements of a computation problem in specific areas of multi-dimensional graphs which need precision while leaving the other regions of the multi-dimensional graphs at lower levels of precision and resolution.

<span class="mw-page-title-main">Finite-difference time-domain method</span>

Finite-difference time-domain (FDTD) or Yee's method is a numerical analysis technique used for modeling computational electrodynamics. Since it is a time-domain method, FDTD solutions can cover a wide frequency range with a single simulation run, and treat nonlinear material properties in a natural way.

<span class="mw-page-title-main">Mesh generation</span> Subdivision of space into cells

Mesh generation is the practice of creating a mesh, a subdivision of a continuous geometric space into discrete geometric and topological cells. Often these cells form a simplicial complex. Usually the cells partition the geometric input domain. Mesh cells are used as discrete local approximations of the larger domain. Meshes are created by computer algorithms, often with human guidance through a GUI, depending on the complexity of the domain and the type of mesh desired. A typical goal is to create a mesh that accurately captures the input domain geometry, with high-quality (well-shaped) cells, and without so many cells as to make subsequent calculations intractable. The mesh should also be fine in areas that are important for the subsequent calculations.

<span class="mw-page-title-main">Computational electromagnetics</span> Branch of physics

Computational electromagnetics (CEM), computational electrodynamics or electromagnetic modeling is the process of modeling the interaction of electromagnetic fields with physical objects and the environment using computers.

<span class="mw-page-title-main">Fluid–structure interaction</span>

Fluid–structure interaction (FSI) is the interaction of some movable or deformable structure with an internal or surrounding fluid flow. Fluid–structure interactions can be stable or oscillatory. In oscillatory interactions, the strain induced in the solid structure causes it to move such that the source of strain is reduced, and the structure returns to its former state only for the process to repeat.

<span class="mw-page-title-main">Bram van Leer</span> Dutch mathematician

Bram van Leer is Arthur B. Modine Emeritus Professor of aerospace engineering at the University of Michigan, in Ann Arbor. He specializes in Computational fluid dynamics (CFD), fluid dynamics, and numerical analysis. His most influential work lies in CFD, a field he helped modernize from 1970 onwards. An appraisal of his early work has been given by C. Hirsch (1979)

Computational magnetohydrodynamics (CMHD) is a rapidly developing branch of magnetohydrodynamics that uses numerical methods and algorithms to solve and analyze problems that involve electrically conducting fluids. Most of the methods used in CMHD are borrowed from the well established techniques employed in Computational fluid dynamics. The complexity mainly arises due to the presence of a magnetic field and its coupling with the fluid. One of the important issues is to numerically maintain the (conservation of magnetic flux) condition, from Maxwell's equations, to avoid the presence of unrealistic effects, namely magnetic monopoles, in the solutions.

The material point method (MPM) is a numerical technique used to simulate the behavior of solids, liquids, gases, and any other continuum material. Especially, it is a robust spatial discretization method for simulating multi-phase (solid-fluid-gas) interactions. In the MPM, a continuum body is described by a number of small Lagrangian elements referred to as 'material points'. These material points are surrounded by a background mesh/grid that is used to calculate terms such as the deformation gradient. Unlike other mesh-based methods like the finite element method, finite volume method or finite difference method, the MPM is not a mesh based method and is instead categorized as a meshless/meshfree or continuum-based particle method, examples of which are smoothed particle hydrodynamics and peridynamics. Despite the presence of a background mesh, the MPM does not encounter the drawbacks of mesh-based methods which makes it a promising and powerful tool in computational mechanics.

A CFD-DEM model is suitable for the modeling or simulation of fluid-solids or fluid-particles systems. In a typical CFD-DEM model, the phase motion of discrete solids or particles is obtained by the Discrete Element Method (DEM) which applies Newton's laws of motion to every particle and the flow of continuum fluid is described by the local averaged Navier–Stokes equations that can be solved by the traditional Computational Fluid Dynamics (CFD). The model is first proposed by Tsuji et al. The interactions between the fluid phase and solids phase is better modeled according to Newton's third law.

In computational fluid dynamics, the immersed boundary method originally referred to an approach developed by Charles Peskin in 1972 to simulate fluid-structure (fiber) interactions. Treating the coupling of the structure deformations and the fluid flow poses a number of challenging problems for numerical simulations. In the immersed boundary method the fluid is represented in an Eulerian coordinate system and the structure is represented in Lagrangian coordinates. For Newtonian fluids governed by the Navier–Stokes equations, the fluid equations are

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-volume approach that accepts meshes with any type of cell and any type of grid structure.

<span class="mw-page-title-main">TELEMAC</span> Open source software for computational fluid dynamics

In computational fluid dynamics, TELEMAC is short for the open TELEMAC-MASCARET system, or a suite of finite element computer program owned by the Laboratoire National d'Hydraulique et Environnement (LNHE), part of the R&D group of Électricité de France. After many years of commercial distribution, a Consortium was officially created in January 2010 to organize the open source distribution of the open TELEMAC-MASCARET system now available under GPLv3.

<span class="mw-page-title-main">KIVA (software)</span>

KIVA is a family of Fortran-based Computational Fluid Dynamics software developed by Los Alamos National Laboratory (LANL). The software predicts complex fuel and air flows as well as ignition, combustion, and pollutant-formation processes in engines. The KIVA models have been used to understand combustion chemistry processes, such as auto-ignition of fuels, and to optimize diesel engines for high efficiency and low emissions. General Motors has used KIVA in the development of direct-injection, stratified charge gasoline engines as well as the fast burn, homogeneous-charge gasoline engine. Cummins reduced development time and cost by 10%–15% using KIVA to develop its high-efficiency 2007 ISB 6.7-L diesel engine that was able to meet 2010 emission standards in 2007. At the same time, the company realized a more robust design and improved fuel economy while meeting all environmental and customer constraints.

<span class="mw-page-title-main">SU2 code</span>

SU2 is a suite of open-source software tools written in C++ for the numerical solution of partial differential equations (PDE) and performing PDE-constrained optimization. The primary applications are computational fluid dynamics and aerodynamic shape optimization, but has been extended to treat more general equations such as electrodynamics and chemically reacting flows. SU2 supports continuous and discrete adjoint for calculating the sensitivities/gradients of a scalar field.

Ocean general circulation models (OGCMs) are a particular kind of general circulation model to describe physical and thermodynamical processes in oceans. The oceanic general circulation is defined as the horizontal space scale and time scale larger than mesoscale. They depict oceans using a three-dimensional grid that include active thermodynamics and hence are most directly applicable to climate studies. They are the most advanced tools currently available for simulating the response of the global ocean system to increasing greenhouse gas concentrations. A hierarchy of OGCMs have been developed that include varying degrees of spatial coverage, resolution, geographical realism, process detail, etc.

Nektar++ is a spectral/hp element framework designed to support the construction of efficient high-performance scalable solvers for a wide range of partial differential equations (PDE). The code is released as open-source under the MIT license. Although primarily driven by application-based research, it has been designed as a platform to support the development of novel numerical techniques in the area of high-order finite element methods.

<span class="mw-page-title-main">FEATool Multiphysics</span>

FEATool Multiphysics is a physics, finite element analysis (FEA), and partial differential equation (PDE) simulation toolbox. FEATool Multiphysics features the ability to model fully coupled heat transfer, fluid dynamics, chemical engineering, structural mechanics, fluid-structure interaction (FSI), electromagnetics, as well as user-defined and custom PDE problems in 1D, 2D (axisymmetry), or 3D, all within a graphical user interface (GUI) or optionally as script files. FEATool has been employed and used in academic research, teaching, and industrial engineering simulation contexts.

<span class="mw-page-title-main">Numerical modeling (geology)</span> Technique to solve geological problems by computational simulation

In geology, numerical modeling is a widely applied technique to tackle complex geological problems by computational simulation of geological scenarios.

References

  1. Msadek, R. (2005). "Hydrodynamic tidal model of Cook Strait". Technical Report, National Institute of Water and Atmospheric Research.
  2. Popinet, S. (2012). "Adaptive modelling of long-distance wave propagation and fine-scale flooding during the Tohoku tsunami". Natural Hazards and Earth System Sciences. 12 (4): 1213–1227. Bibcode:2012NHESS..12.1213P. doi: 10.5194/nhess-12-1213-2012 .
  3. Popinet, S. (2011). "Quadtree-adaptive tsunami modelling". Ocean Dynamics. 61 (9): 1261–1285. Bibcode:2011OcDyn..61.1261P. CiteSeerX   10.1.1.374.7506 . doi:10.1007/s10236-011-0438-z. S2CID   14848237.
  4. Hyunuk, A.; Soonyoung, Y. (2012). "Well-balanced shallow water flow simulation on quadtree cut cell grids". Advances in Water Resources. 39: 60–70. Bibcode:2012AdWR...39...60A. doi:10.1016/j.advwatres.2012.01.003.
  5. Popinet, S.; Rickard, G. (2007). "A tree-based solver for adaptive ocean modelling" (PDF). Ocean Modelling. 16 (3–4): 224–249. Bibcode:2007OcMod..16..224P. doi:10.1016/j.ocemod.2006.10.002.
  6. Tsai, C.-C.; Hou, T.-H.; Popinet, S. (2013). "Wind wave prediction of tropical cyclones by a quadtree-adaptive model". Coastal Engineering. 77: 108–119. doi:10.1016/j.coastaleng.2013.02.011.
  7. Popinet, S.; Gorman, R.M.; Rickard, G.J.; Tolman, H.L. (2010). "A quadtree-adaptive spectral wave model". Ocean Modelling. 34 (1–2): 36–49. Bibcode:2010OcMod..34...36P. CiteSeerX   10.1.1.374.5299 . doi:10.1016/j.ocemod.2010.04.003. S2CID   14415336.
  8. WaveWatchIII
  9. O'Callaghan, J.; Rickard, G.; Popinet, S.; Stevens, C. (2010). "Response of buoyant plumes to transient discharges investigated using an adaptive solver". Journal of Geophysical Research. 115 (C11): C11025. Bibcode:2010JGRC..11511025O. doi: 10.1029/2009jc005645 .
  10. Rickard, G.; O'Callaghan, J.; Popinet, S. (2009). "Numerical simulations of internal solitary waves interacting with uniform slopes using an adaptive model". Ocean Modelling. 30 (1): 16–28. Bibcode:2009OcMod..30...16R. doi:10.1016/j.ocemod.2009.05.008.
  11. 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.
  12. Gerris (Frequently Asked Questions)
  13. GTS
  14. Stéphane Zaleski (2001). "Science and Fluid Dynamics should have more open sources". Institut Jean le Rond d'Alembert. Retrieved 12 May 2013.
  15. Popinet, S. (2003). "Gerris: a tree-based adaptive solver for the incompressible Euler equations in complex geometries". Journal of Computational Physics. 190 (2): 572–600. Bibcode:2003JCoPh.190..572P. CiteSeerX   10.1.1.12.5063 . doi:10.1016/s0021-9991(03)00298-5.
  16. Popinet, S. (2004). "Free Computational Fluid Dynamics". Cluster World. 2: 2–8.
  17. Basilisk
  18. ROMS
  19. GOTM
  20. Telemac-Mascaret
  21. Delft3D