7 void tutorials::exahype2::swe::SWESolver::initialCondition(
8 [[maybe_unused]]
double*
const NOALIAS Q,
9 [[maybe_unused]]
const tarch::la::Vector<DIMENSIONS, double>&
x,
10 [[maybe_unused]]
const tarch::la::Vector<DIMENSIONS, double>&
h,
11 [[maybe_unused]]
const bool gridIsConstructed
19 void tutorials::exahype2::swe::SWESolver::boundaryConditions(
20 [[maybe_unused]]
const double*
const NOALIAS Qinside,
21 [[maybe_unused]]
double*
const NOALIAS Qoutside,
22 [[maybe_unused]]
const tarch::la::Vector<DIMENSIONS, double>&
x,
23 [[maybe_unused]]
const tarch::la::Vector<DIMENSIONS, double>&
h,
24 [[maybe_unused]]
const double t,
25 [[maybe_unused]]
const int normal
33 ::exahype2::RefinementCommand tutorials::exahype2::swe::SWESolver::refinementCriterion(
34 [[maybe_unused]]
const double*
const NOALIAS Q,
35 [[maybe_unused]]
const tarch::la::Vector<DIMENSIONS, double>&
x,
36 [[maybe_unused]]
const tarch::la::Vector<DIMENSIONS, double>&
h,
37 [[maybe_unused]]
const double t
39 return tarch::la::norm2(
x) < 0.6 ? ::exahype2::RefinementCommand::Refine : ::exahype2::RefinementCommand::Keep;
43 [[maybe_unused]]
const double*
const NOALIAS Q,
44 [[maybe_unused]]
const tarch::la::Vector<DIMENSIONS, double>&
x,
45 [[maybe_unused]]
const tarch::la::Vector<DIMENSIONS, double>&
h,
46 [[maybe_unused]]
const double t,
47 [[maybe_unused]]
const double dt,
48 [[maybe_unused]]
const int normal
50 constexpr
double g = 9.81;
53 return std::max(std::abs(
u +
c), std::abs(
u -
c));
57 [[maybe_unused]]
const double*
const NOALIAS Q,
58 [[maybe_unused]]
const tarch::la::Vector<DIMENSIONS, double>&
x,
59 [[maybe_unused]]
const tarch::la::Vector<DIMENSIONS, double>&
h,
60 [[maybe_unused]]
const double t,
61 [[maybe_unused]]
const double dt,
62 [[maybe_unused]]
const int normal,
63 [[maybe_unused]]
double*
const NOALIAS F
72 void tutorials::exahype2::swe::SWESolver::nonconservativeProduct(
73 [[maybe_unused]]
const double*
const NOALIAS Q,
74 [[maybe_unused]]
const double*
const NOALIAS deltaQ,
75 [[maybe_unused]]
const tarch::la::Vector<DIMENSIONS, double>&
x,
76 [[maybe_unused]]
const tarch::la::Vector<DIMENSIONS, double>&
h,
77 [[maybe_unused]]
const double t,
78 [[maybe_unused]]
const double dt,
79 [[maybe_unused]]
const int normal,
80 [[maybe_unused]]
double*
const NOALIAS BTimesDeltaQ
82 constexpr
double g = 9.81;
double norm2(double *v, int n)
static double maxEigenvalue(const double *const Q, int normal, const double CCZ4e, const double CCZ4ds, const double CCZ4GLMc, const double CCZ4GLMd)
tarch::logging::Log _log
This is variant 1 of the fused kernels.