7 namespace=[
"benchmarks",
"exahype2",
"euler",
"smooth_convergence_test"],
8 project_name=
"smooth-convergence-test",
10 executable=
"smooth-convergence-test",
13solver_name =
"EulerFVSmooth"
15auxiliary_variables = 0
19verbosity = peano4.api.LoggerVerbosity.TEXT
28thesolver.add_user_solver_includes(
"#include <cmath>\n" "#include <algorithm>\n")
30thesolver.add_pde_term(
33 const double irho = 1.0 / Q[0];
34 constexpr double gamma = 1.4;
35 const double p = (gamma - 1.0) * (Q[3] - 0.5 * irho * (Q[1] * Q[1] + Q[2] * Q[2]));
40 F[1] = irho * Q[1] * Q[1] + p;
41 F[2] = irho * Q[1] * Q[2];
42 F[3] = irho * Q[1] * (Q[3] + p);
46 F[1] = irho * Q[2] * Q[1];
47 F[2] = irho * Q[2] * Q[2] + p;
48 F[3] = irho * Q[2] * (Q[3] + p);
55thesolver.add_pde_term(
58 // Eigenvalues of the Euler flux Jacobian in direction "normal" are
59 // u_n +/- c, where u_n is the *velocity* component (momentum/density),
60 // not the raw momentum component - several earlier ExaHyPE
61 // applications/benchmarks used the raw momentum here by mistake, which
62 // silently gives a wrong (and usually too small) CFL time step bound.
63 const double irho = 1.0 / Q[0];
64 constexpr double gamma = 1.4;
65 const double p = (gamma - 1.0) * (Q[3] - 0.5 * irho * (Q[1] * Q[1] + Q[2] * Q[2]));
66 const double c = std::sqrt(gamma * p * irho);
70 lambdaMax[0] = std::max(std::abs(Q[1] * irho + c), std::abs(Q[1] * irho - c));
73 lambdaMax[0] = std::max(std::abs(Q[2] * irho + c), std::abs(Q[2] * irho - c));
84 thesolver, volume_size=0.001
87 thesolver, first_plot_time_stamp=0.0, time_in_between_plots=0.01
109project.add_solver(thesolver)
112build_mode = peano4.api.output.CompileMode.DEBUG
113project.set_global_simulation_parameters(
114 dimensions=dimensions,
119 periodic_BC=[
False,
False,
False],
123project.set_Peano4_installation(
"../../../../", build_mode)
124peano4_project = project.generate_Peano4_project(verbosity=verbosity)
125peano4_project.generate()
126peano4_project.build(make_clean_first=
True)
The conservative flux F(Q) of a hyperbolic PDE.
Point-wise initial condition: given the physical position of a single degree of freedom,...
The maximum absolute eigenvalue of the flux Jacobian in a given direction, i.e.
Abstract base class for all ExaHyPE 2 solvers.
Plotting counterpart to RusanovWithExplicitEuler: maps the patch data of a Finite Volume scheme with ...
Finite Volumes with a Rusanov Riemann solver and explicit Euler time stepping, realised over a block-...
Setup phase counterpart to RusanovWithExplicitEuler: sets the initial condition for a Finite Volume s...