Peano
Loading...
Searching...
No Matches
posteriori-limiting-euler-shock Namespace Reference

Variables

 project
 
int dimensions = 2
 
int min_level = 3
 
int max_depth = 0
 
int order = 5
 
float end_time = 1.0
 
float plot_interval = 0.0
 
list offset = [-1.0, -1.0, -1.0][0:dimensions]
 
list size = [2.0, 2.0, 2.0][0:dimensions]
 
float max_h = 1.1 * min(size) / (3.0**min_level)
 
float min_h = max_h / (3.0**max_depth)
 
str initial_conditions
 
str boundary_conditions
 
str flux
 
str max_eval
 
 aderdg_solver
 
 fv_solver
 
 limiter
 
 build_mode = peano4.api.output.CompileMode.RELEASE
 
 min_end_time
 
 max_end_time
 
 first_plot_time_stamp
 
 time_in_between_plots
 
 periodic_BC
 
 make_clean_first
 

Variable Documentation

◆ aderdg_solver

posteriori-limiting-euler-shock.aderdg_solver
Initial value:
1= exahype2.solvers.aderdg.GlobalAdaptiveTimeStep(
2 name="ADERDGSolver",
3 order=order,
4 unknowns=4,
5 auxiliary_variables=0,
6 min_cell_h=min_h,
7 max_cell_h=max_h,
8 time_step_relaxation=0.9,
9 flux=flux,
10 eigenvalues=max_eval,
11 initial_conditions=initial_conditions,
12 boundary_conditions=boundary_conditions,
13)

Definition at line 68 of file posteriori-limiting-euler-shock.py.

◆ boundary_conditions

str posteriori-limiting-euler-shock.boundary_conditions
Initial value:
1= """
2 constexpr double OriginalShockPosition = 0.111;
3 constexpr double Gamma = 1.4;
4 const double p = (x[0] < -OriginalShockPosition && x[1] < -OriginalShockPosition) ? 0.1 : 1.0;
5
6 Qoutside[0] = (x[0] < -OriginalShockPosition && x[1] < -OriginalShockPosition) ? 0.125 : 1.0;
7 Qoutside[1] = 0.0;
8 Qoutside[2] = 0.0;
9 Qoutside[3] = p / (Gamma - 1.0);
10"""

Definition at line 33 of file posteriori-limiting-euler-shock.py.

◆ build_mode

posteriori-limiting-euler-shock.build_mode = peano4.api.output.CompileMode.RELEASE

Definition at line 111 of file posteriori-limiting-euler-shock.py.

◆ dimensions

posteriori-limiting-euler-shock.dimensions = 2

Definition at line 10 of file posteriori-limiting-euler-shock.py.

◆ end_time

float posteriori-limiting-euler-shock.end_time = 1.0

Definition at line 14 of file posteriori-limiting-euler-shock.py.

◆ first_plot_time_stamp

posteriori-limiting-euler-shock.first_plot_time_stamp

Definition at line 119 of file posteriori-limiting-euler-shock.py.

◆ flux

str posteriori-limiting-euler-shock.flux
Initial value:
1= """
2 const double irho = 1.0 / Q[0];
3 constexpr double Gamma = 1.4;
4 const double p = (Gamma - 1.0) * (Q[3] - 0.5 * irho * (Q[1]*Q[1]+Q[2]*Q[2]));
5
6 F[0] = Q[normal+1];
7 F[1] = Q[normal+1] * Q[1] * irho;
8 F[2] = Q[normal+1] * Q[2] * irho;
9 F[3] = Q[normal+1] * irho * (Q[3] + p);
10
11 F[normal+1] += p;
12"""

Definition at line 44 of file posteriori-limiting-euler-shock.py.

◆ fv_solver

posteriori-limiting-euler-shock.fv_solver
Initial value:
1= exahype2.solvers.fv.rusanov.GlobalAdaptiveTimeStep(
2 name="FVSolver",
3 patch_size=2 * order + 1,
4 unknowns=4,
5 auxiliary_variables=0,
6 min_volume_h=min_h,
7 max_volume_h=max_h,
8 time_step_relaxation=0.9,
9 flux=flux,
10 eigenvalues=max_eval,
11 initial_conditions="const tarch::la::Vector<Dimensions, double>& x = volumeCentre;\n" + initial_conditions,
12 boundary_conditions="const tarch::la::Vector<Dimensions, double>& x = faceCentre;\n" + boundary_conditions,
13)

Definition at line 83 of file posteriori-limiting-euler-shock.py.

◆ initial_conditions

str posteriori-limiting-euler-shock.initial_conditions
Initial value:
1= """
2 constexpr double OriginalShockPosition = 0.111;
3 constexpr double Gamma = 1.4;
4 const double p = (x[0] < -OriginalShockPosition && x[1] < -OriginalShockPosition) ? 0.1 : 1.0;
5
6 Q[0] = (x[0] < -OriginalShockPosition && x[1] < -OriginalShockPosition) ? 0.125 : 1.0;
7 Q[1] = 0.0;
8 Q[2] = 0.0;
9 Q[3] = p / (Gamma - 1.0);
10"""

Definition at line 22 of file posteriori-limiting-euler-shock.py.

◆ limiter

posteriori-limiting-euler-shock.limiter
Initial value:
1= exahype2.solvers.limiting.PosterioriLimiting(
2 name="LimitingSolver",
3 regular_solver=aderdg_solver,
4 limiting_solver=fv_solver,
5 number_of_dmp_observables=4,
6 dmp_relaxation_parameter=0.01, # 0.02 works for depth 2, 0.01 works for depth 3
7 dmp_differences_scaling=0.03, # 0.04 works for depth 2, 0.02 works for depth 3
8 physical_admissibility_criterion="return (Q[0] > 0.0 && Q[3] > 0.0); // Density and energy must be positive",
9)

Definition at line 98 of file posteriori-limiting-euler-shock.py.

◆ make_clean_first

posteriori-limiting-euler-shock.make_clean_first

Definition at line 132 of file posteriori-limiting-euler-shock.py.

◆ max_depth

int posteriori-limiting-euler-shock.max_depth = 0

Definition at line 12 of file posteriori-limiting-euler-shock.py.

◆ max_end_time

posteriori-limiting-euler-shock.max_end_time

Definition at line 118 of file posteriori-limiting-euler-shock.py.

◆ max_eval

str posteriori-limiting-euler-shock.max_eval
Initial value:
1= """
2 const double irho = 1.0 / Q[0];
3 constexpr double Gamma = 1.4;
4 const double p = (Gamma - 1.0) * (Q[3] - 0.5 * irho*(Q[1]*Q[1]+Q[2]*Q[2]));
5
6 const double c = std::sqrt(Gamma * p * irho);
7 const double u = Q[normal + 1] * irho;
8
9 return std::max(std::abs(u-c), std::abs(u+c));
10"""

Definition at line 57 of file posteriori-limiting-euler-shock.py.

◆ max_h

float posteriori-limiting-euler-shock.max_h = 1.1 * min(size) / (3.0**min_level)

Definition at line 19 of file posteriori-limiting-euler-shock.py.

◆ min_end_time

posteriori-limiting-euler-shock.min_end_time

Definition at line 117 of file posteriori-limiting-euler-shock.py.

◆ min_h

float posteriori-limiting-euler-shock.min_h = max_h / (3.0**max_depth)

Definition at line 20 of file posteriori-limiting-euler-shock.py.

◆ min_level

int posteriori-limiting-euler-shock.min_level = 3

Definition at line 11 of file posteriori-limiting-euler-shock.py.

◆ offset

posteriori-limiting-euler-shock.offset = [-1.0, -1.0, -1.0][0:dimensions]

Definition at line 17 of file posteriori-limiting-euler-shock.py.

◆ order

int posteriori-limiting-euler-shock.order = 5

Definition at line 13 of file posteriori-limiting-euler-shock.py.

◆ periodic_BC

posteriori-limiting-euler-shock.periodic_BC

Definition at line 121 of file posteriori-limiting-euler-shock.py.

◆ plot_interval

float posteriori-limiting-euler-shock.plot_interval = 0.0

Definition at line 15 of file posteriori-limiting-euler-shock.py.

◆ project

posteriori-limiting-euler-shock.project
Initial value:
1= exahype2.Project(
2 ["tests", "exahype2", "aderdg"], ".", executable="ADERDG-Limiting"
3)

Definition at line 6 of file posteriori-limiting-euler-shock.py.

◆ size

posteriori-limiting-euler-shock.size = [2.0, 2.0, 2.0][0:dimensions]

Definition at line 18 of file posteriori-limiting-euler-shock.py.

◆ time_in_between_plots

posteriori-limiting-euler-shock.time_in_between_plots

Definition at line 120 of file posteriori-limiting-euler-shock.py.