Peano
Loading...
Searching...
No Matches
artificial-tsunami Namespace Reference

Variables

float end_time = 10.0
 
list width = [10000, 10000]
 
list offset = [-5000, -5000]
 
int min_depth = 4
 
int amr_levels = 0
 
int dg_order = 5
 
int number_of_snapshots = 0
 
str build_mode = "Release"
 
str storage = "CallStack"
 
str output = "solutions"
 
str load_balancing_strategy = "SpreadOutOnceGridStagnates"
 
float load_balancing_quality = 0.99
 
int trees = -2
 
str initial_conditions
 
str boundary_conditions
 
str refinement_criterion
 
tuple max_h = (1.1 * min(width) / (3.0**min_depth))
 
tuple min_h = max_h * 3.0 ** (-amr_levels)
 
 aderdg_solver
 
 plot_description
 
 is_linear
 
 False
 
 polynomials
 
 project
 
float time_in_between_plots = 0.0
 
 dimensions
 
 size
 
 min_end_time
 
 max_end_time
 
 first_plot_time_stamp
 
 periodic_BC
 
str strategy = f"toolbox::loadbalancing::strategies::{load_balancing_strategy}"
 
tuple configuration
 
 mode
 
 make
 
 True
 
 make_clean_first
 
 throw_away_data_after_build
 
 parser = SWEArgumentParser()
 
 args = parser.parse_args()
 
 patch_size
 
dict unknowns = {"h": 1, "hu": 1, "hv": 1, "b": 1}
 
 assume_periodic_boundary_conditions
 

Variable Documentation

◆ aderdg_solver

artificial-tsunami.aderdg_solver
Initial value:
1= exahype2.solvers.aderdg.GlobalAdaptiveTimeStep(
2 name="ADERDG" + str(dg_order),
3 order=dg_order,
4 unknowns={"h": 1, "hu": 1, "hv": 1, "b": 1},
5 auxiliary_variables=0,
6 min_cell_h=min_h,
7 max_cell_h=max_h,
8 time_step_relaxation=0.5,
9 initial_conditions=initial_conditions,
10 boundary_conditions=boundary_conditions,
11 refinement_criterion=refinement_criterion,
12 flux="applications::exahype2::swe::flux(Q, x, h, t, dt, normal, F);",
13 ncp="applications::exahype2::swe::nonconservativeProduct(Q, deltaQ, x, h, t, dt, normal, BTimesDeltaQ);",
14 eigenvalues="return applications::exahype2::swe::maxEigenvalue(Q, x, h, t, dt, normal);",
15)

Definition at line 63 of file artificial-tsunami.py.

◆ amr_levels

int artificial-tsunami.amr_levels = 0

Definition at line 10 of file artificial-tsunami.py.

◆ args

artificial-tsunami.args = parser.parse_args()

Definition at line 55 of file artificial-tsunami.py.

◆ assume_periodic_boundary_conditions

artificial-tsunami.assume_periodic_boundary_conditions
Initial value:
1= any([
2 args.periodic_boundary_conditions_x,
3 args.periodic_boundary_conditions_y,
4 ])

Definition at line 118 of file artificial-tsunami.py.

◆ boundary_conditions

str artificial-tsunami.boundary_conditions
Initial value:
1= """
2 using s = VariableShortcuts;
3 Qoutside[s::h] = Qinside[s::h];
4 Qoutside[s::hu] = -Qinside[s::hu];
5 Qoutside[s::hv] = -Qinside[s::hv];
6 Qoutside[s::b] = Qinside[s::b];
7"""

Definition at line 44 of file artificial-tsunami.py.

◆ build_mode

str artificial-tsunami.build_mode = "Release"

Definition at line 13 of file artificial-tsunami.py.

◆ configuration

tuple artificial-tsunami.configuration
Initial value:
1= (
2 f"new ::exahype2::LoadBalancingConfiguration("
3 f"{load_balancing_quality},"
4 f"0,"
5 f"{'false'},"
6 f"{trees},"
7 f"{trees})"
8 )

Definition at line 114 of file artificial-tsunami.py.

◆ dg_order

int artificial-tsunami.dg_order = 5

Definition at line 11 of file artificial-tsunami.py.

◆ dimensions

artificial-tsunami.dimensions

Definition at line 102 of file artificial-tsunami.py.

◆ end_time

artificial-tsunami.end_time = 10.0

Definition at line 6 of file artificial-tsunami.py.

◆ False

artificial-tsunami.False

Definition at line 80 of file artificial-tsunami.py.

◆ first_plot_time_stamp

artificial-tsunami.first_plot_time_stamp

Definition at line 107 of file artificial-tsunami.py.

◆ initial_conditions

str artificial-tsunami.initial_conditions
Initial value:
1= """
2 for (int i = 0; i < NumberOfUnknowns + NumberOfAuxiliaryVariables; i++) {
3 Q[i] = 0.0;
4 }
5
6 constexpr double INITIAL_WATER_HEIGHT = 100.0;
7 constexpr double INITIAL_BATHYMETRY_BEFORE_EARTHQUAKE = -100.0;
8
9 using s = VariableShortcuts;
10 Q[s::h] = INITIAL_WATER_HEIGHT;
11
12 auto displacementX = [](double x) { return std::sin((x / 500.0 + 1.0) * std::numbers::pi); };
13 auto displacementY = [](double y) { return -std::pow(y / 500.0, 2) + 1.0; };
14 auto displacement = [&](double x, double y) { return 5.0 * displacementX(x) * displacementY(y); };
15
16 const double bathymetryAfterEarthquake = INITIAL_BATHYMETRY_BEFORE_EARTHQUAKE + displacement(x(0), x(1));
17
18 if (std::abs(x(0)) <= 500 and std::abs(x(1)) <= 500) { // Center of domain is [0, 0]
19 Q[s::b] = bathymetryAfterEarthquake;
20 } else {
21 Q[s::b] = INITIAL_BATHYMETRY_BEFORE_EARTHQUAKE;
22 }
23"""

Definition at line 20 of file artificial-tsunami.py.

◆ is_linear

artificial-tsunami.is_linear

Definition at line 80 of file artificial-tsunami.py.

◆ load_balancing_quality

float artificial-tsunami.load_balancing_quality = 0.99

Definition at line 17 of file artificial-tsunami.py.

◆ load_balancing_strategy

str artificial-tsunami.load_balancing_strategy = "SpreadOutOnceGridStagnates"

Definition at line 16 of file artificial-tsunami.py.

◆ make

artificial-tsunami.make

Definition at line 129 of file artificial-tsunami.py.

◆ make_clean_first

artificial-tsunami.make_clean_first

Definition at line 129 of file artificial-tsunami.py.

◆ max_end_time

artificial-tsunami.max_end_time

Definition at line 106 of file artificial-tsunami.py.

◆ max_h

tuple artificial-tsunami.max_h = (1.1 * min(width) / (3.0**min_depth))

Definition at line 60 of file artificial-tsunami.py.

◆ min_depth

int artificial-tsunami.min_depth = 4

Definition at line 9 of file artificial-tsunami.py.

◆ min_end_time

artificial-tsunami.min_end_time

Definition at line 105 of file artificial-tsunami.py.

◆ min_h

tuple artificial-tsunami.min_h = max_h * 3.0 ** (-amr_levels)

Definition at line 61 of file artificial-tsunami.py.

◆ mode

artificial-tsunami.mode

Definition at line 124 of file artificial-tsunami.py.

◆ number_of_snapshots

int artificial-tsunami.number_of_snapshots = 0

Definition at line 12 of file artificial-tsunami.py.

◆ offset

artificial-tsunami.offset = [-5000, -5000]

Definition at line 8 of file artificial-tsunami.py.

◆ output

str artificial-tsunami.output = "solutions"

Definition at line 15 of file artificial-tsunami.py.

◆ parser

artificial-tsunami.parser = SWEArgumentParser()

Definition at line 50 of file artificial-tsunami.py.

◆ patch_size

artificial-tsunami.patch_size

Definition at line 59 of file artificial-tsunami.py.

◆ periodic_BC

artificial-tsunami.periodic_BC

Definition at line 109 of file artificial-tsunami.py.

◆ plot_description

artificial-tsunami.plot_description

Definition at line 78 of file artificial-tsunami.py.

◆ polynomials

artificial-tsunami.polynomials

Definition at line 80 of file artificial-tsunami.py.

◆ project

artificial-tsunami.project
Initial value:
1= exahype2.Project(
2 namespace=["benchmarks", "exahype2", "swe"],
3 project_name="ArtificialTsunami",
4 directory=".",
5 executable=f"ArtificialTsunami.{build_mode}",
6)

Definition at line 87 of file artificial-tsunami.py.

◆ refinement_criterion

str artificial-tsunami.refinement_criterion
Initial value:
1= """
2 auto result = ::exahype2::RefinementCommand::Keep;
3 if (std::abs(x(0)) <= 500 and std::abs(x(1)) <= 500) { // Center of domain is [0, 0]
4 result = ::exahype2::RefinementCommand::Refine;
5 }
6 return result;
7"""

Definition at line 52 of file artificial-tsunami.py.

◆ size

artificial-tsunami.size

Definition at line 103 of file artificial-tsunami.py.

◆ storage

str artificial-tsunami.storage = "CallStack"

Definition at line 14 of file artificial-tsunami.py.

◆ strategy

str artificial-tsunami.strategy = f"toolbox::loadbalancing::strategies::{load_balancing_strategy}"

Definition at line 113 of file artificial-tsunami.py.

◆ throw_away_data_after_build

artificial-tsunami.throw_away_data_after_build

Definition at line 129 of file artificial-tsunami.py.

◆ time_in_between_plots

float artificial-tsunami.time_in_between_plots = 0.0

Definition at line 96 of file artificial-tsunami.py.

◆ trees

int artificial-tsunami.trees = -2

Definition at line 18 of file artificial-tsunami.py.

◆ True

artificial-tsunami.True

Definition at line 129 of file artificial-tsunami.py.

◆ unknowns

dict artificial-tsunami.unknowns = {"h": 1, "hu": 1, "hv": 1, "b": 1}

Definition at line 61 of file artificial-tsunami.py.

◆ width

artificial-tsunami.width = [10000, 10000]

Definition at line 7 of file artificial-tsunami.py.