GfsAdvectionParams
From Gerris
GfsAdvectionParams is used to control the parameters of various advection schemes.
The syntax in parameter files is:
GfsAdvectionParams { cfl = 0.8 gradient = gfs_center_van_leer_gradient scheme = godunov moving_order = 1 vx = 0 vy = 0 vz = 0 }
where the parameters have been set to their default values and where
cfl
- is the CFL number,
gradient
- the function used to compute the gradient of advected variables. One of:
none
- the gradient is set to zero (i.e. spatially first-order scheme),
gfs_center_gradient
- second-order centered estimate (no limiter),
gfs_center_van_leer_gradient
- van Leer generalised minmod limiter (θ = 2),
gfs_center_minmod_gradient
- minmod limiter,
gfs_center_sweby_gradient
- sweby limiter (β = 1.5),
gfs_center_superbee_gradient
- superbee limiter.
scheme
- either
godunov
for the default Godunov advection scheme, ornone
to switch advection off entirely, moving_order
- only relevant for GfsSimulationMoving, either 1 for the default first-order moving boundaries scheme, or 2 for the second-order scheme,
vx, vy, vz
- the components of a "sinking velocity" to add when advecting a GfsVariableTracer. It can be functions. When present. it has to be specified ALL the components of the "sinking velocity" (vx and vy in 2D; vx, vy and vz in 3D). In addition, it is advisable that each component goes in separated lines.
Examples
- Dam break on complex topography
- Small amplitude solitary wave interacting with a parabolic hump
- Tsunami runup onto a complex three-dimensional beach
- The 2004 Indian Ocean tsunami
- Convergence for a simple periodic problem
- Convergence for the three-way vortex merging problem
- Potential flow around a sphere
- Bagnold flow of a granular material
- Creeping Couette flow of Generalised Newtonian fluids
- Convergence of a potential flow solution
- Flow through a divergent channel
- Potential flow around a thin plate
- Translation of an hexagon in a uniform flow
- Circular droplet in equilibrium
- Axisymmetric spherical droplet in equilibrium
- Geostrophic adjustment
- Geostrophic adjustment with Saint-Venant
- Coastally-trapped waves
- Coastally-trapped waves with adaptive refinement
- Gravity waves in a realistic ocean basin
- Transcritical flow over a bump
- Transcritical flow with multiple layers
- Tsunami runup onto a plane beach
- Creeping Couette flow between cylinders
- Creeping Couette flow between eccentric cylinders
- Flow between eccentric cylinders using bipolar coordinates
- Flow between eccentric cylinders on a stretched grid
- Rossby--Haurwitz wave with Saint-Venant
- Simple example of groundwater flow following Darcy's law
- Groundwater flow with piecewise constant permeability
AdvectionParams {
# gradient = gfs_center_minmod_gradient
gradient = none
}
AdvectionParams { cfl = 0.5 }
AdvectionParams { gradient = gfs_center_sweby_gradient }
AdvectionParams { gradient = gfs_center_sweby_gradient }
AdvectionParams { cfl = 0.75 }
AdvectionParams { cfl = 0.9 }
AdvectionParams { scheme = none }
AdvectionParams {
scheme = none
}
AdvectionParams { scheme = none }
AdvectionParams { scheme = none }
AdvectionParams { cfl = 0.9 }
AdvectionParams { scheme = none }
AdvectionParams {
moving_order = ORDER
# uncommenting the following line leads to instabilities for the
# first-order scheme
# cfl = 0.45
}
AdvectionParams { scheme = none }
AdvectionParams { scheme = none }
AdvectionParams { scheme = none }
AdvectionParams { gradient = gfs_center_gradient }
AdvectionParams { scheme = none }
AdvectionParams { scheme = none }
AdvectionParams { scheme = none }
AdvectionParams {
# Sweby seems to work better than minmod for this test case
gradient = gfs_center_sweby_gradient
}
AdvectionParams {
# Sweby seems to oscillate in this case
# gradient = gfs_center_sweby_gradient
}
AdvectionParams {
gradient = gfs_center_sweby_gradient
}
AdvectionParams { scheme = none }
AdvectionParams { scheme = none }
AdvectionParams { scheme = none }
AdvectionParams { scheme = none }
AdvectionParams {
gradient = gfs_center_gradient
# gradient = none
}
AdvectionParams { scheme = none }
AdvectionParams { scheme = none }