21{%
for item in NAMESPACE -%}
22 namespace {{ item }} {
27{%
for item in NAMESPACE -%}
33class {{NAMESPACE | join(
"::")}}::{{CLASSNAME}}: public ::exahype2::Solver {
38 static constexpr double MaxAdmissibleCellH = std::numeric_limits<double>::max();
39 static constexpr double MinAdmissibleCellH = 0.0;
46 static std::bitset<Dimensions> PeriodicBC;
51 double getMinTimeStamp() const final;
52 double getMaxTimeStamp() const final;
55 double getMinTimeStepSize() const final;
56 double getMaxTimeStepSize() const final;
61 void startGridConstructionStep() final;
62 void finishGridConstructionStep() final;
63 void startGridInitialisationStep() final;
64 void finishGridInitialisationStep() final;
66 double globalMinTimeStamp,
67 double globalMaxTimeStamp,
68 double globalMinTimeStepSize,
69 double globalMaxTimeStepSize
71 void finishTimeStep() final;
72 void startPlottingStep(
73 double globalMinTimeStamp,
74 double globalMaxTimeStamp,
75 double globalMinTimeStepSize,
76 double globalMaxTimeStepSize
78 void finishPlottingStep() final;
80 virtual
double getMaxMeshSize() const override final;
81 virtual
double getMinMeshSize() const override final;
83 virtual
bool mayPlot() const override;
85 virtual
void startSimulation() override;
86 virtual
void finishSimulation() override;
92 bool isFirstGridSweepOfTimeStep() const;
93 bool isLastGridSweepOfTimeStep() const;
95 static
tarch::logging::Log _log;
Have to include this header, as I need access to the SYCL_EXTERNAL keyword.