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

Variables

 project
 parser = exahype2.ArgumentParser("ExaHyPE 2 - ADER-DG Limiting Testing Script")
 min_depth
 degrees_of_freedom
 args = parser.parse_args()
bool use_aderdg = True
bool use_fv = True
bool use_limiting = use_aderdg and use_fv
int with_limiting = 1
int dimensions = 2
int order = args.degrees_of_freedom - 1
float end_time = 2.0
float plot_interval = 0.00
float CFL = 0.5
dict unknowns = {"rho": 1, "rhoU": 1, "rhoV": 1, "rhoE": 1}
dict auxiliary = {}
list size = [2.0, 2.0, 2.0][0:dimensions]
list offset = [-1.0, -1.0, -1.0][0:dimensions]
float max_h = 1.1 * min(size) / (3.0**args.min_depth)
float min_h = max_h / (3.0**args.amr_levels)
float Gamma = 1.4
float OriginalShockPosition = 0.111
int pZero = 1e-4
str initial_conditions
str boundary_conditions
str flux
str max_eval
str adjust_solution
str isPhysicallyAdmissible = "return true;"
 aderdg_solver
 max_eigenvalue
 fv_solver
 limiter
 min_end_time
 max_end_time
 first_plot_time_stamp
 time_in_between_plots
 periodic_BC
 mode

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=unknowns,
5 auxiliary_variables=auxiliary,
6 min_cell_h=min_h,
7 max_cell_h=max_h,
8 time_step_relaxation=CFL,
9
10 )

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

◆ adjust_solution

posteriori-limiting-euler-shock.adjust_solution
Initial value:
1= f"""
2 constexpr double pZero = {pZero};
3 constexpr double Gamma = {Gamma};
4 const double irho = Q[0] > 0.0 ? 1.0 / Q[0] : 0.0;
5 const double p = (Gamma - 1.0) * (Q[3] - 0.5 * irho * (Q[1]*Q[1]+Q[2]*Q[2]));
6
7 if (tarch::la::smaller(p, pZero)) {{
8 Q[0] = 0.0;
9 Q[1] = 0.0;
10 Q[2] = 0.0;
11 Q[3] = 0.0;
12 }}
13"""

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

◆ args

posteriori-limiting-euler-shock.args = parser.parse_args()

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

◆ auxiliary

dict posteriori-limiting-euler-shock.auxiliary = {}

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

◆ boundary_conditions

posteriori-limiting-euler-shock.boundary_conditions
Initial value:
1= f"""
2 constexpr double OriginalShockPosition = {OriginalShockPosition};
3 constexpr double Gamma = {Gamma};
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 50 of file posteriori-limiting-euler-shock.py.

◆ CFL

float posteriori-limiting-euler-shock.CFL = 0.5

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

◆ degrees_of_freedom

posteriori-limiting-euler-shock.degrees_of_freedom

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

◆ dimensions

posteriori-limiting-euler-shock.dimensions = 2

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

◆ end_time

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

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

◆ first_plot_time_stamp

posteriori-limiting-euler-shock.first_plot_time_stamp

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

◆ flux

posteriori-limiting-euler-shock.flux
Initial value:
1= f"""
2 constexpr double Gamma = {Gamma};
3 constexpr double pZero = {pZero};
4 const double irho = Q[0] > 0.0 ? 1.0 / Q[0] : 0.0;
5 const double p = (Gamma - 1.0) * (Q[3] - 0.5 * irho * (Q[1]*Q[1]+Q[2]*Q[2]));
6
7 if (tarch::la::greater(p, pZero)) {{
8 F[0] = Q[normal + 1];
9 F[1] = Q[normal + 1] * Q[1] * irho;
10 F[2] = Q[normal + 1] * Q[2] * irho;
11 F[3] = Q[normal + 1] * irho * (Q[3] + p);
12 F[normal+1] += p;
13 }} else {{
14 F[0] = 0.0;
15 F[1] = 0.0;
16 F[2] = 0.0;
17 F[3] = 0.0;
18 }}
19"""

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

◆ fv_solver

posteriori-limiting-euler-shock.fv_solver
Initial value:
1= exahype2.solvers.fv.godunov.GlobalAdaptiveTimeStep(
2 name="FVSolver",
3 patch_size=2 * order + 1,
4 unknowns=unknowns,
5 auxiliary_variables=auxiliary,
6 min_volume_h=min_h,
7 max_volume_h=max_h,
8 time_step_relaxation=CFL,
9 )

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

◆ Gamma

float posteriori-limiting-euler-shock.Gamma = 1.4

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

◆ initial_conditions

posteriori-limiting-euler-shock.initial_conditions
Initial value:
1= f"""
2 constexpr double OriginalShockPosition = {OriginalShockPosition};
3 constexpr double Gamma = {Gamma};
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 39 of file posteriori-limiting-euler-shock.py.

◆ isPhysicallyAdmissible

str posteriori-limiting-euler-shock.isPhysicallyAdmissible = "return true;"

Definition at line 109 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=len(unknowns),
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=isPhysicallyAdmissible,
9 )

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

◆ max_eigenvalue

posteriori-limiting-euler-shock.max_eigenvalue

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

◆ max_end_time

posteriori-limiting-euler-shock.max_end_time

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

◆ max_eval

str posteriori-limiting-euler-shock.max_eval
Initial value:
1= f"""
2 constexpr double Gamma = {Gamma};
3 constexpr double pZero = {pZero};
4 const double irho = Q[0] > 0.0 ? 1.0 / Q[0] : 0.0;
5 const double p = (Gamma - 1.0) * (Q[3] - 0.5 * irho*(Q[1]*Q[1]+Q[2]*Q[2]));
6
7 if (tarch::la::greater(p, pZero)) {{
8 const double c = std::sqrt(Gamma * p * irho);
9 const double un = Q[normal + 1] * irho;
10 return std::fmax(std::fabs(un - c), std::fabs(un + c));
11 }}
12 return 0.0;
13"""

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

◆ max_h

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

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

◆ min_depth

posteriori-limiting-euler-shock.min_depth

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

◆ min_end_time

posteriori-limiting-euler-shock.min_end_time

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

◆ min_h

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

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

◆ mode

posteriori-limiting-euler-shock.mode

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

◆ offset

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

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

◆ order

int posteriori-limiting-euler-shock.order = args.degrees_of_freedom - 1

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

◆ OriginalShockPosition

float posteriori-limiting-euler-shock.OriginalShockPosition = 0.111

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

◆ parser

posteriori-limiting-euler-shock.parser = exahype2.ArgumentParser("ExaHyPE 2 - ADER-DG Limiting Testing Script")

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

◆ periodic_BC

posteriori-limiting-euler-shock.periodic_BC

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

◆ plot_interval

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

Definition at line 25 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.

◆ pZero

int posteriori-limiting-euler-shock.pZero = 1e-4

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

◆ size

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

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

◆ time_in_between_plots

posteriori-limiting-euler-shock.time_in_between_plots

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

◆ unknowns

dict posteriori-limiting-euler-shock.unknowns = {"rho": 1, "rhoU": 1, "rhoV": 1, "rhoE": 1}

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

◆ use_aderdg

bool posteriori-limiting-euler-shock.use_aderdg = True

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

◆ use_fv

bool posteriori-limiting-euler-shock.use_fv = True

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

◆ use_limiting

bool posteriori-limiting-euler-shock.use_limiting = use_aderdg and use_fv

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

◆ with_limiting

int posteriori-limiting-euler-shock.with_limiting = 1

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