Peano
Loading...
Searching...
No Matches
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
dict unknowns = {"h": 1, "hu": 1, "hv": 1, "z": 1}
dict 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
dict landslide_zoo
str landslide_case = "DownTheSlope"
dict initial_conditions = landslide_zoo[landslide_case]
str boundary_conditions
str flux
str ncp
str source_term
str eigenvalues
str adjust_solution
str riemann_solver_aderdg
str riemann_solver_fv
str 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 368 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

dict 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

str 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 429 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 389 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

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

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

◆ landslide_case

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

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

◆ landslide_zoo

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

◆ max_eigenvalue

posteriori-limiting-landslide.max_eigenvalue

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

◆ max_end_time

posteriori-limiting-landslide.max_end_time

Definition at line 428 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 427 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 435 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 431 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 384 of file posteriori-limiting-landslide.py.

◆ riemann_solver_aderdg

str posteriori-limiting-landslide.riemann_solver_aderdg

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

◆ riemann_solver_fv

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

◆ unknowns

dict 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.