1 0 GfsRiver GfsBox GfsGEdge {} {
    Time { end = 0.3 }

    PhysicalParams { L = 5 g = 9.81 }

    # We use a sphere knowing that in 2D the resulting object will be
    # a cross-section of the sphere at z = 0 i.e. a cylinder of radius
    # 0.5
    Solid (sphere(-0.5,0.,0.,0.5))

    Init {} {
	# Initial shock
	P = (x <= -1. ? 3.505271526 : 1.)
	U = (x <= -1. ? 22.049341608 : 0.)
    }

    Refine 9
    AdaptGradient { istep = 1 } {
        cmax = 0.1
        cfactor = 2
        maxlevel = 9
    } P

    OutputTime { istep = 10 } stderr
    OutputSimulation { istep = 10 } stdout

    GModule gfsview
    OutputView { step = 0.0025 } {
	ppm2mpeg -b 3600K > depth.mpg
    } { width = 400 height = 400 } depth.gfv
    OutputView { start = end } { 
	convert ppm:- depth.eps 
    } { width = 400 height = 400 } depth.gfv
    OutputView { start = end } { 
	convert ppm:- mesh.eps 
    } { width = 400 height = 400 } mesh.gfv
}
GfsBox {
    left = Boundary {
	BcDirichlet P 3.505271526
	BcDirichlet U 22.049341608
    }
    right = Boundary
    top = Boundary 
    bottom = Boundary
}