Dispersion

From Gerris

Revision as of 23:16, 17 June 2012; view current revision
←Older revision | Newer revision→
Jump to: navigation, search

This is a series of test of dispersion properties using a variation of the hump example.

Final free surface (t = 1.8)
GfsAtmosphere, C-grid, BCG scheme, linearised
Enlarge
GfsAtmosphere, C-grid, BCG scheme, linearised
GfsAtmosphere, A-grid, BCG scheme, linearised
Enlarge
GfsAtmosphere, A-grid, BCG scheme, linearised
GfsRiver, minmod limiter, non-linear
Enlarge
GfsRiver, minmod limiter, non-linear
GfsRiver, no limiter, non-linear
Enlarge
GfsRiver, no limiter, non-linear


Parameter files

For GfsRiver

2 2 GfsRiver GfsBox GfsGEdge { x = 0.5 y = 0.5 } {
Refine 8
Init {} {
# Parabolic hump
Zb = 0.8*exp(-5.*(x - 0.9)*(x - 0.9) - 50.*(y - 0.5)*(y - 0.5))
# Initial free surface and perturbation
P = (1. + 0.01*exp(-2000.*(x - 0.1)*(x - 0.1)) - Zb)
}
PhysicalParams { g = 1 }
AdvectionParams { cfl = 0.5 }
AdaptGradient { istep = 1 } {
cmax = 1e-4
cfactor = 2
maxlevel = 8
minlevel = 6
} (P + Zb)
Time { end = 1.8 }
OutputTime { istep = 10 } stderr
OutputSimulation { istep = 10 } stdout
GModule gfsview
OutputView { step = 2e-2 } { ppm2mpeg > hump.mpg } hump.gfv
OutputSimulation { start = 0.6 step = 0.3 } sim-%g.gfs
EventScript { start = end } {
for i in 0.6 0.9 1.2 1.5 1.8; do
echo "Save stdout { format = EPS line_width = 0.2 }" | \
gfsview-batch2D sim-$i.gfs isolines.gfv > iso-$i.eps
echo "Save stdout { format = EPS line_width = 0.2 }" | \
gfsview-batch2D sim-$i.gfs cells.gfv > cells-$i.eps
done
echo "Save stdout { width = 1280 height = 960 }" | \
gfsview-batch2D sim-0.9.gfs hump.gfv | convert ppm:- hump.eps
}
}
GfsBox {
top = Boundary { BcNeumann V 0 }
bottom = Boundary { BcNeumann V 0 }
}
GfsBox {
top = Boundary { BcNeumann V 0 }
bottom = Boundary { BcNeumann V 0 }
}
1 2 left
1 2 right

and for GfsAtmosphere

2 2 GfsAtmosphere GfsBox GfsGEdge { x = 0.5 y = 0.5 } {
Refine 8
VariableTracer P { gradient = gfs_center_minmod_gradient }
Init {} {
# Parabolic hump
Zb = 0.8*exp(-5.*(x - 0.9)*(x - 0.9) - 50.*(y - 0.5)*(y - 0.5))
# Initial free surface and perturbation
P = (1. + 0.01*exp(-2000.*(x - 0.1)*(x - 0.1)) - Zb)
}
Time { end = 1.8 dtmax = 2e-3 }
OutputTime { istep = 1 } stderr
OutputSimulation { istep = 10 } stdout
OutputSimulation { start = 0.6 step = 0.3 } sim-%g.gfs
GModule gfsview
OutputView { step = 2e-2 } { ppm2mpeg > hump.mpg } hump.gfv
}
GfsBox {}
GfsBox {}
1 2 left
1 2 right
Personal tools
communication