Gerris is an Open Source Free Software library for the solution of the partial differential equations describing fluid flow. The source code is available free of charge under the Free Software GPL license.
Gerris is supported by NIWA (National Institute of Water and Atmospheric research) and by the Marsden Fund of the Royal Society of New Zealand.
The code is written entirely in C and uses both the GLib Library and the GTS Library for geometrical functions and object-oriented programming.
A brief summary of its main (current) features:
- The same code base is compiled with 2D and 3D support.
- Quadtree-based (Octree in 3D) spatial discretisation with automatic and dynamic local refinement.
- Multigrid Poisson solver.
- Second-order Godunov type advection scheme.
- Solves the time-dependent incompressible variable-density Euler, Stokes or Navier-Stokes equations or the 2D shallow-water and 3D hydrostatic oceanic equations.
- Support for complex solid boundaries (automatic locally-refined mesh generation).
- Semi-implicit multigrid diffusion solver with support for complex boundaries and associated boundary conditions in 2D and 3D.
- Semi-implicit multigrid barotropic solver for the oceanic equations.
- Adaptive mesh refinement: the resolution is adapted dynamically to the features of the flow.
- Flexible and powerful specifications of parameters.
- Flexible object-oriented custom specification of initial and boundary conditions, source terms, outputs etc...
- Portable parallel support using the MPI library.
- Volume of Fluid advection scheme for interfacial flows.
The code is being actively worked on. Future developments include:
- Extension of the shallow-water equations model to atmospheric flows.
- Non-hydrostatic oceanic and anelastic atmospheric flows support.
If you are interested in Gerris, feel free to join the gfs-announce mailing list, a low-traffic list which will keep you up-to-date with the recent developments in Gerris. If you intend to use Gerris and have any technical question please consider sending a post to the gfs-users or gfs-devel mailing lists.