Object hierarchy
From Gerris
Contents |
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
[ GfsOutputScalar ]
which means that this object is a descendant of GfsOutputScalar. Following the link gives the syntax of GfsOutputScalar as
[ GfsOutput ] { v = [ GfsFunction ] maxlevel = 6 min = -12.1 max = 1e3 box = -0.1,-0.1,0.1,0.1 }
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.
- GfsGlobal — Global functions
- GfsFunction — Numerical constants and expressions
- GfsDefine — Text macros
- GfsVariable — Scalar fields
- GfsVariableTracer — Advected scalar fields
- GfsVariableTracerVOF — Volume-Of-Fluid advection
- GfsVariableResidual
- GfsVariableFiltered — Spatial filtering
- GfsVariableCurvature — Curvature of an interface
- GfsVariablePosition — Coordinates of a VOF interface
- GfsVariableDistance — Signed distance to a VOF interface
- GfsVariableTracer — Advected scalar fields
- GfsPhysicalParams
- GfsProjectionParams — Tuning the Poisson solver
- GfsSolid — Solid boundaries
- GfsSurfaceBc — Boundary conditions for diffusion equations
- GfsBcDirichlet
- GfsBcNeumann
- GfsBcNavier — Navier slip/Robin boundary condition
- GfsBcFlather — "Flather" boundary conditions for barotropic flows
- GfsRefine — Simple definition of the refinement levels
- GfsRefineSolid — Refine embedded solid surfaces
- GfsRefineSurface — Refine cells cut by a surface
- GfsRefineDistance — Refine cells as a function of the distance from a surface
- GfsRefineHeight
- GfsEvent — Any action to be performed at a given time
- GfsInit — Initialising variables
- GfsInitFraction — Initialising volume fractions from interface shapes
- GfsInitVorticity — Initialising a vorticity field
- GfsInitWave — Initial wave spectrum for wave model
- GfsAdapt — Base class for adaptive refinement criteria
- GfsAdaptVorticity — Adapting cells depending on the local vorticity
- GfsAdaptGradient — Adapting cells depending on the local gradient of a variable
- GfsAdaptStreamlineCurvature
- GfsAdaptFunction — Adapting cells depending on the value of a function
- GfsEventSum — Time-integral of a variable or function
- GfsEventHarmonic — Harmonic decomposition of a variable
- GfsEventStop — Stopping when steady-state is reached
- GfsEventScript — Executing a shell-script at given times
- GfsSourceGeneric — Abstract class for source terms
- GfsSourceScalar — Source terms for scalar variables
- GfsSource — Source defined by a function
- GfsSourceControl — Controlling the spatially-averaged value of a scalar
- GfsSourceDiffusion — Scalar diffusion
- GfsSourceVelocity — Source terms for velocity
- GfsSourceViscosity — Viscous terms
- GfsSourceFriction
- GfsSourceCoriolis
- GfsSourceTension — Surface tension
- GfsSourceTensionCSS
- GfsSourceHydrostatic
- GfsSourceScalar — Source terms for scalar variables
- GfsRemoveDroplets — For controlling the topology of interfaces
- GfsRemovePonds
- GfsEventFilter — Exponential filtering of variables
- GfsOutput — Writing simulation data
- GfsOutputTime
- GfsOutputProgress
- GfsOutputProjectionStats
- GfsOutputDiffusionStats
- GfsOutputSolidStats
- GfsOutputAdaptStats — Information about the mesh adaptation
- GfsOutputTiming
- GfsOutputBalance — Writing simulation size statistics
- GfsOutputSolidForce — Forces and moments on the embedded solid boundaries
- GfsOutputLocation — Writing the values of variables at specified locations
- GfsOutputSimulation — Writing the whole simulation
- GfsOutputBoundaries
- GfsOutputParticle — Tracking Lagrangian particles
- GfsOutputScalar — Generic output of scalar fields
- GfsOutputScalarNorm
- GfsOutputScalarStats
- GfsOutputScalarSum — Computing the sum of a scalar field
- GfsOutputScalarMaxima
- GfsOutputScalarHistogram
- GfsOutputDropletSums — Computing sums for each droplet
- GfsOutputErrorNorm — Computing differences to a reference solution
- GfsOutputSquares
- GfsOutputStreamline
- GfsOutputPPM — Writing 2D images
Map module
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
- GfsMap
- GfsMapProjection — Geographic transformations of model coordinates
Terrain module
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 R*-tree spatial index for efficient retrieval of subsets of the original data. The module is initialised in parameter files using
GModule terrain
and defines the GfsRefineTerrain and GfsTerrain objects with the following inheritance hierarchy
- GfsRefine
- GfsRefineTerrain — Refines the mesh and creates the corresponding terrain model
- GfsSolid
- GfsTerrain — Creates a solid boundary following a given terrain model
Real terrains are often defined in a geographic coordinate system (e.g. longitude, latitude and height) and in practice this module is often combined with the Map module.
The terrain databases used by GfsRefineTerrain need to be created in a pre-processing step using the xyz2rsurface command-line utility.

