# Dispersion

(Difference between revisions)
 Revision as of 23:16, 17 June 2012Popinet (Talk | contribs)← Previous diff Revision as of 23:49, 17 June 2012Popinet (Talk | contribs) (Added sweby limiter)Next diff → Line 9: Line 9: | [[Image:hump-minmod.png|thumb|left|300px|GfsRiver, minmod limiter, non-linear]] | [[Image:hump-minmod.png|thumb|left|300px|GfsRiver, minmod limiter, non-linear]] | [[Image:hump-nolimiter.png|thumb|left|300px|GfsRiver, no limiter, non-linear]] | [[Image:hump-nolimiter.png|thumb|left|300px|GfsRiver, no limiter, non-linear]] + |- + | [[Image:hump-sweby.png|thumb|left|300px|GfsRiver, Sweby limiter, non-linear]] |} |}

## Revision as of 23:49, 17 June 2012

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

 GfsAtmosphere, C-grid, BCG scheme, linearised GfsAtmosphere, A-grid, BCG scheme, linearised GfsRiver, minmod limiter, non-linear GfsRiver, no limiter, non-linear GfsRiver, Sweby 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 left1 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 left1 2 right`