3from .scenario
import Scenario
8sys.path.insert(0, os.path.abspath(
"../equations"))
9from equations
import SWE_W_Bathymetry
11_initial_conditions = {
15 Q[3] = 1.0 - std::abs(x[0]) - std::abs(x[1]);
21 Q[3] = sin( 2*M_PI * (x[0]+x[1]) );
35 Resting lake scenario for the shallow water equations.
36 The real water height H as defined by the sum of the water column h and
37 the bathymetry b is constant over the entire domain, meaning that there
38 should be no changes on the entire domain, but because we use the sum of
39 the derivatives of h and b (h' + b') instead of the derivative of the sum
40 (h + b)' some rounding errors will creep in, which causes unphysical
42 As such this scenario is nice for testing how large these unphysical waves
43 are for a given algorithm, and how stable the algorithm is, i.e. does it
44 dampen out these waves or do they oscillate out of control.
57 initial_conditions="sinusoidal",
59 self.
_init = _initial_conditions[initial_conditions]
70 tarch::la::Vector<Dimensions, double>(),
Resting lake scenario for the shallow water equations.
analytical_solution(self)
__init__(self, initial_conditions="sinusoidal")