Peano
posteriori-limiting-landslide 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
 
dictionary unknowns = {"h": 1, "hu": 1, "hv": 1, "z": 1}
 
dictionary auxiliary = {}
 
list size = [1.58, 1.58, 1.58][0:dimensions]
 
list offset = [0.0, 0.0, 0.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 g = 9.81
 
int hThreshold = 1e-5
 
int number_of_dmp_observables = 0
 
float dmp_differences_scaling = 0.01
 
float dmp_relaxation_parameter = 0.02
 
dictionary landslide_zoo
 
string landslide_case = "DownTheSlope"
 
dictionary initial_conditions = landslide_zoo[landslide_case]
 
string boundary_conditions
 
string flux
 
string ncp
 
string source_term
 
string eigenvalues
 
string adjust_solution
 
string riemann_solver_aderdg
 
string riemann_solver_fv
 
string isPhysicallyAdmissible = "return true;"
 
 aderdg_solver
 
 max_eigenvalue
 
 riemann_solver
 
 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-landslide.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  )

Definition at line 365 of file posteriori-limiting-landslide.py.

◆ adjust_solution

posteriori-limiting-landslide.adjust_solution
Initial value:
1 = f"""
2  constexpr double hThreshold = {hThreshold};
3  if (Q[0] < hThreshold) {{
4  Q[0] = 0.0;
5  Q[1] = 0.0;
6  Q[2] = 0.0;
7  }}
8 """

Definition at line 237 of file posteriori-limiting-landslide.py.

◆ args

posteriori-limiting-landslide.args = parser.parse_args()

Definition at line 15 of file posteriori-limiting-landslide.py.

◆ auxiliary

dictionary posteriori-limiting-landslide.auxiliary = {}

Definition at line 28 of file posteriori-limiting-landslide.py.

◆ boundary_conditions

posteriori-limiting-landslide.boundary_conditions
Initial value:
1 = f"""
2  std::copy_n(Qinside, 4, Qoutside);
3  Qoutside[1] = -Qoutside[1];
4  Qoutside[2] = -Qoutside[2];
5 """

Definition at line 177 of file posteriori-limiting-landslide.py.

◆ CFL

float posteriori-limiting-landslide.CFL = 0.5

Definition at line 26 of file posteriori-limiting-landslide.py.

◆ degrees_of_freedom

posteriori-limiting-landslide.degrees_of_freedom

Definition at line 13 of file posteriori-limiting-landslide.py.

◆ dimensions

posteriori-limiting-landslide.dimensions = 2

Definition at line 22 of file posteriori-limiting-landslide.py.

◆ dmp_differences_scaling

float posteriori-limiting-landslide.dmp_differences_scaling = 0.01

Definition at line 38 of file posteriori-limiting-landslide.py.

◆ dmp_relaxation_parameter

float posteriori-limiting-landslide.dmp_relaxation_parameter = 0.02

Definition at line 39 of file posteriori-limiting-landslide.py.

◆ eigenvalues

string posteriori-limiting-landslide.eigenvalues
Initial value:
1 = f"""
2  constexpr double g = {g};
3  constexpr double hThreshold = {hThreshold};
4  if(Q[0] > hThreshold) {{
5  const double un = Q[normal+1] / Q[0];
6  const double c = std::sqrt(g * Q[0]);
7  return std::max(std::abs(un - c), std::abs(un + c));
8  }}
9  return 0.0;
10 """

Definition at line 226 of file posteriori-limiting-landslide.py.

◆ end_time

float posteriori-limiting-landslide.end_time = 2.0

Definition at line 24 of file posteriori-limiting-landslide.py.

◆ first_plot_time_stamp

posteriori-limiting-landslide.first_plot_time_stamp

Definition at line 426 of file posteriori-limiting-landslide.py.

◆ flux

posteriori-limiting-landslide.flux
Initial value:
1 = f"""
2  constexpr double g = {g};
3  constexpr double hThreshold = {hThreshold};
4  if (Q[0] > hThreshold) {{
5  const double un = Q[1 + normal] / Q[0];
6  F[0] = Q[1 + normal];
7  F[1] = un * Q[1];
8  F[2] = un * Q[2];
9  F[3] = 0.0;
10  F[1 + normal] += 0.5 * g * Q[0] * Q[0];
11  }}
12  else {{
13  F[0] = 0.0;
14  F[1] = 0.0;
15  F[2] = 0.0;
16  F[3] = 0.0;
17  }}
18 """

Definition at line 183 of file posteriori-limiting-landslide.py.

◆ fv_solver

posteriori-limiting-landslide.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 386 of file posteriori-limiting-landslide.py.

◆ g

float posteriori-limiting-landslide.g = 9.81

Definition at line 35 of file posteriori-limiting-landslide.py.

◆ hThreshold

int posteriori-limiting-landslide.hThreshold = 1e-5

Definition at line 36 of file posteriori-limiting-landslide.py.

◆ initial_conditions

posteriori-limiting-landslide.initial_conditions = landslide_zoo[landslide_case]

Definition at line 175 of file posteriori-limiting-landslide.py.

◆ isPhysicallyAdmissible

string posteriori-limiting-landslide.isPhysicallyAdmissible = "return true;"

Definition at line 326 of file posteriori-limiting-landslide.py.

◆ landslide_case

string posteriori-limiting-landslide.landslide_case = "DownTheSlope"

Definition at line 174 of file posteriori-limiting-landslide.py.

◆ landslide_zoo

dictionary posteriori-limiting-landslide.landslide_zoo

Definition at line 41 of file posteriori-limiting-landslide.py.

◆ limiter

posteriori-limiting-landslide.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=number_of_dmp_observables,
6  dmp_relaxation_parameter=dmp_relaxation_parameter,
7  dmp_differences_scaling=dmp_differences_scaling,
8  physical_admissibility_criterion=isPhysicallyAdmissible,
9  )

Definition at line 408 of file posteriori-limiting-landslide.py.

◆ max_eigenvalue

posteriori-limiting-landslide.max_eigenvalue

Definition at line 376 of file posteriori-limiting-landslide.py.

◆ max_end_time

posteriori-limiting-landslide.max_end_time

Definition at line 425 of file posteriori-limiting-landslide.py.

◆ max_h

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

Definition at line 32 of file posteriori-limiting-landslide.py.

◆ min_depth

posteriori-limiting-landslide.min_depth

Definition at line 12 of file posteriori-limiting-landslide.py.

◆ min_end_time

posteriori-limiting-landslide.min_end_time

Definition at line 424 of file posteriori-limiting-landslide.py.

◆ min_h

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

Definition at line 33 of file posteriori-limiting-landslide.py.

◆ mode

posteriori-limiting-landslide.mode

Definition at line 432 of file posteriori-limiting-landslide.py.

◆ ncp

posteriori-limiting-landslide.ncp
Initial value:
1 = f"""
2  constexpr double g = {g};
3  constexpr double hThreshold = {hThreshold};
4  if (Q[0] > hThreshold) {{
5  BTimesDeltaQ[0] = 0.0;
6  BTimesDeltaQ[1] = 0.0;
7  BTimesDeltaQ[2] = 0.0;
8  BTimesDeltaQ[3] = 0.0;
9  BTimesDeltaQ[1 + normal] = g * Q[0] * deltaQ[3];
10  }} else {{
11  BTimesDeltaQ[0] = 0.0;
12  BTimesDeltaQ[1] = 0.0;
13  BTimesDeltaQ[2] = 0.0;
14  BTimesDeltaQ[3] = 0.0;
15  }}
16 """

Definition at line 202 of file posteriori-limiting-landslide.py.

◆ number_of_dmp_observables

int posteriori-limiting-landslide.number_of_dmp_observables = 0

Definition at line 37 of file posteriori-limiting-landslide.py.

◆ offset

posteriori-limiting-landslide.offset = [0.0, 0.0, 0.0][0:dimensions]

Definition at line 31 of file posteriori-limiting-landslide.py.

◆ order

int posteriori-limiting-landslide.order = args.degrees_of_freedom - 1

Definition at line 23 of file posteriori-limiting-landslide.py.

◆ parser

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

Definition at line 10 of file posteriori-limiting-landslide.py.

◆ periodic_BC

posteriori-limiting-landslide.periodic_BC

Definition at line 428 of file posteriori-limiting-landslide.py.

◆ plot_interval

float posteriori-limiting-landslide.plot_interval = 0.00

Definition at line 25 of file posteriori-limiting-landslide.py.

◆ project

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

Definition at line 6 of file posteriori-limiting-landslide.py.

◆ riemann_solver

posteriori-limiting-landslide.riemann_solver

Definition at line 381 of file posteriori-limiting-landslide.py.

◆ riemann_solver_aderdg

string posteriori-limiting-landslide.riemann_solver_aderdg

Definition at line 246 of file posteriori-limiting-landslide.py.

◆ riemann_solver_fv

string posteriori-limiting-landslide.riemann_solver_fv

Definition at line 287 of file posteriori-limiting-landslide.py.

◆ size

posteriori-limiting-landslide.size = [1.58, 1.58, 1.58][0:dimensions]

Definition at line 30 of file posteriori-limiting-landslide.py.

◆ source_term

posteriori-limiting-landslide.source_term
Initial value:
1 = f"""
2  S[0] = 0.0;
3  S[1] = 0.0;
4  S[2] = 0.0;
5  S[3] = 0.0;
6 """

Definition at line 219 of file posteriori-limiting-landslide.py.

◆ time_in_between_plots

posteriori-limiting-landslide.time_in_between_plots

Definition at line 427 of file posteriori-limiting-landslide.py.

◆ unknowns

dictionary posteriori-limiting-landslide.unknowns = {"h": 1, "hu": 1, "hv": 1, "z": 1}

Definition at line 27 of file posteriori-limiting-landslide.py.

◆ use_aderdg

bool posteriori-limiting-landslide.use_aderdg = True

Definition at line 17 of file posteriori-limiting-landslide.py.

◆ use_fv

bool posteriori-limiting-landslide.use_fv = True

Definition at line 18 of file posteriori-limiting-landslide.py.

◆ use_limiting

bool posteriori-limiting-landslide.use_limiting = use_aderdg and use_fv

Definition at line 19 of file posteriori-limiting-landslide.py.

◆ with_limiting

int posteriori-limiting-landslide.with_limiting = 1

Definition at line 20 of file posteriori-limiting-landslide.py.