Introduction

This page describes all the objects which can be used in Gerris parameter files. The syntax of each object is given using a simple convention which expresses "inheritance" from the parent object. This is more simply explained using an example e.g. GfsOutputScalarSum. The syntax of this object is described as

which in turns means that this object is a descendant of GfsOutput but also takes the additional arguments described. Similarly GfsOutput is a descendent of GfsEvent and finally GfsEvent is a "root object class" which has no parent. Putting it all together, an example of use of GfsOutputScalarSum is

GfsOutputScalarSum { istep = 1 }sum{ v = U }

where the red text is "inherited" from the GfsEvent great-grandparent, the blue text from the GfsOutput grandparent and the green text from the GfsOutputScalar parent.

Common objects

Note that the way the following list is indented reflects the inheritance hierarchy of each object.

Modules

Map

The Map module defines the objects used to perform cartographic projections within Gerris. As all modules, it is optional and depends on the availability of the PROJ.4 cartographic projections library on your system. The module is initialised in parameter files using

GModule map

and defines the GfsMapProjection object with the following inheritance hierarchy

Terrain

The Terrain module contains a set of objects which can be used to define solid boundaries using large Digital Terrain Model (DTM) databases. The databases are only limited in size by the amount of disk space available and include an Kd-tree spatial index for efficient retrieval of subsets of the original data. The module is initialised in parameter files using

Wavewatch

The Wavewatch module can be used only in GfsWave simulations. When this module is included, the GfsWave simulation will call the source terms routines (wind, wave breaking etc...) of the WaveWatch III spectral wave model. The module is initialised in parameter files using

GModule wavewatch

The wind field is defined by the U10 and V10 variables: the coordinates of the local wind vector (in m/sec and at a reference height of 10 m).

If the AS field is defined an "atmospheric stability correction" is applied to the wind field (see Section 2.3.5 of WaveWatch manual version 3.12). The AS field must be initialised with the air/sea temperature difference in degree Celsius.

Note that due to the license of recent versions of WaveWatch III, the wavewatch module is not provided in pre-compiled binaries of Gerris. It needs to be installed from source first.

Okada

The Okada module defines objects computing displacement solutions for the Okada fault model. The module is initialised in parameter files using

GModule okada

and defines the GfsInitOkada object with the following inheritance hierarchy

GfsInitOkada — Initialises a field with the vertical displacement of an Okada fault model

Tide

DF3

The DF3 module allows to create a POV-Ray DF3 file mapping values of a variable from a simulation to a cube.
Such output can be used to visualize a variable in 3D using POV-Ray. The module is initialised in parameter files using

Particulates

This is an attempt at documenting the particulates module.
I think I understand how it works, that might help you to get started.
Please complete that section if you can.

The aim of the particulate module is to allow to have Lagrangian particles in a Gerris simulation. Contrarily to GfsOutputParticle which only allows to simulate inert particles, a GfsParticulate can have physical properties such as a mass and a volume. Initial forces and velocity can also be specified.
The syntax for the use of the particulate module is completely different to the one of GfsOutputParticle and is mainly detailed in GfsParticleList.

Ode

Hypre

This module uses the Hypre library (the algebraic multigrid (AMG) solver in particular) instead of Gerris' native multigrid solver to solve Poisson equations. The module is initialised in parameter files using

GfsView

This module can be used to create GfsView visualisations from within Gerris. This eliminates the need to couple Gerris with GfsView through pipes and more importantly this means that the simulation does not need to be copied from Gerris into GfsView, thus saving CPU and memory. This can also be used to efficiently create visualisations of large-scale parallel computations: the visualisation itself is created in parallel for individual subdomains. The module is initialised in parameter files using