Peano
artificial-tsunami Namespace Reference

Variables

float end_time = 10.0
 
list size = [10000, 10000]
 
list offset = [-5000, -5000]
 
int min_depth = 4
 
int amr_levels = 0
 
int dg_order = 5
 
int number_of_snapshots = 0
 
string build_mode = "Release"
 
string output = "solutions"
 
string initial_conditions
 
string boundary_conditions
 
string refinement_criterion
 
dictionary constants
 
float max_h = 1.1 * min(size) / (3.0**min_depth)
 
float min_h = max_h * 3.0 ** (-amr_levels)
 
 aderdg_solver
 
 flux
 
 ncp
 
 max_eigenvalue
 
 is_linear
 
 False
 
 polynomials
 
 project
 
float time_in_between_plots = 0.0
 
 dimensions
 
 min_end_time
 
 max_end_time
 
 first_plot_time_stamp
 
 periodic_BC
 
 mode
 
 const_val
 
 const_type
 
 make
 
 True
 
 make_clean_first
 
 throw_away_data_after_build
 
 parser = exahype2.ArgumentParser()
 
 args = parser.parse_args()
 

Variable Documentation

◆ aderdg_solver

artificial-tsunami.aderdg_solver
Initial value:
1 = exahype2.solvers.aderdg.GlobalAdaptiveTimeStep(
2  name="ADERDGSolver",
3  order=dg_order,
4  unknowns={"h": 1, "hu": 1, "hv": 1, "z": 1},
5  auxiliary_variables=0,
6  min_cell_h=min_h,
7  max_cell_h=max_h,
8  time_step_relaxation=0.5,
9 )

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

◆ amr_levels

int artificial-tsunami.amr_levels = 0

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

◆ args

artificial-tsunami.args = parser.parse_args()

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

◆ boundary_conditions

string artificial-tsunami.boundary_conditions
Initial value:
1 = """
2  Qoutside[Shortcuts::h] = Qinside[Shortcuts::h];
3  Qoutside[Shortcuts::hu] = -Qinside[Shortcuts::hu];
4  Qoutside[Shortcuts::hv] = -Qinside[Shortcuts::hv];
5  Qoutside[Shortcuts::z] = Qinside[Shortcuts::z];
6 """

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

◆ build_mode

string artificial-tsunami.build_mode = "Release"

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

◆ const_type

artificial-tsunami.const_type

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

◆ const_val

artificial-tsunami.const_val

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

◆ constants

dictionary artificial-tsunami.constants
Initial value:
1 = {
2  "g": [9.81, "double"],
3  "hThreshold": [1e-5, "double"],
4 }

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

◆ dg_order

int artificial-tsunami.dg_order = 5

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

◆ dimensions

artificial-tsunami.dimensions

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

◆ end_time

artificial-tsunami.end_time = 10.0

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

◆ False

artificial-tsunami.False

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

◆ first_plot_time_stamp

artificial-tsunami.first_plot_time_stamp

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

◆ flux

artificial-tsunami.flux

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

◆ initial_conditions

string 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  Q[Shortcuts::h] = INITIAL_WATER_HEIGHT;
10 
11  auto displacementX = [](double x) { return std::sin((x / 500.0 + 1.0) * tarch::la::PI); };
12  auto displacementY = [](double y) { return -std::pow(y / 500.0, 2) + 1.0; };
13  auto displacement = [&](double x, double y) { return 5.0 * displacementX(x) * displacementY(y); };
14 
15  const double bathymetryAfterEarthquake = INITIAL_BATHYMETRY_BEFORE_EARTHQUAKE + displacement(x(0), x(1));
16 
17  if (std::abs(x(0)) <= 500 and std::abs(x(1)) <= 500) { // Center of domain is [0, 0]
18  Q[Shortcuts::z] = bathymetryAfterEarthquake;
19  } else {
20  Q[Shortcuts::z] = INITIAL_BATHYMETRY_BEFORE_EARTHQUAKE;
21  }
22 """

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

◆ is_linear

artificial-tsunami.is_linear

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

◆ make

artificial-tsunami.make

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

◆ make_clean_first

artificial-tsunami.make_clean_first

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

◆ max_eigenvalue

artificial-tsunami.max_eigenvalue

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

◆ max_end_time

artificial-tsunami.max_end_time

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

◆ max_h

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

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

◆ min_depth

artificial-tsunami.min_depth = 4

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

◆ min_end_time

artificial-tsunami.min_end_time

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

◆ min_h

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

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

◆ mode

artificial-tsunami.mode

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

◆ ncp

artificial-tsunami.ncp

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

◆ number_of_snapshots

int artificial-tsunami.number_of_snapshots = 0

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

◆ offset

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

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

◆ output

string artificial-tsunami.output = "solutions"

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

Referenced by TP::TwoPunctures.bicgstab().

◆ parser

artificial-tsunami.parser = exahype2.ArgumentParser()

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

◆ periodic_BC

artificial-tsunami.periodic_BC

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

◆ polynomials

artificial-tsunami.polynomials

Definition at line 89 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",
6 )

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

◆ refinement_criterion

string 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

list artificial-tsunami.size = [10000, 10000]

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

◆ throw_away_data_after_build

artificial-tsunami.throw_away_data_after_build

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

◆ time_in_between_plots

float artificial-tsunami.time_in_between_plots = 0.0

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

◆ True

artificial-tsunami.True

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