11{%
if LOAD_BALANCER!=
"" -%}
12#include "{{LOAD_BALANCER | replace('::', '/') }}.h"
19{%
for item in SOLVERS -%}
20#include "{{ item[0] }}.h"
21{# Comment to ensure that jinja2 adds
a new line#}
25{%
for item in NAMESPACE -%}
26 namespace {{ item }} {
29 {%
for item in SOLVERS -%}
30 extern {{ item[0] }} {{ item[1] }};
31 {# Comment to ensure that jinja2 adds
a new line#}
35 extern ::exahype2::RefinementControl refinementControl;
36 extern ::exahype2::PlotFilter plotFilter;
38 {%
if LOAD_BALANCER!=
"" -%}
39 extern {{LOAD_BALANCER}} loadBalancer;
56 double getMinTimeStamp(
bool ofCurrentlyRunningGridSweep =
false);
66 double getMaxTimeStamp(
bool ofCurrentlyRunningGridSweep =
false);
67 double getMinTimeStepSize();
68 double getMaxTimeStepSize();
69 double getMinMeshSize();
70 double getMaxMeshSize();
75 double getMaxAdmissibleMeshSize();
80 double getMinAdmissibleMeshSize();
82 void startGridConstructionStep();
83 void startGridInitialisationStep();
94 double globalMinTimeStamp,
95 double globalMaxTimeStamp,
96 double globalMinTimeStepSize,
97 double globalMaxTimeStepSize
100 void startPlottingStep(
101 double globalMinTimeStamp,
102 double globalMaxTimeStamp,
103 double globalMinTimeStepSize,
104 double globalMaxTimeStepSize
107 void finishGridConstructionStep();
108 void finishGridInitialisationStep();
113 void finishTimeStep();
114 void finishPlottingStep();
116 void startSimulation();
117 void finishSimulation();
136 bool isFirstGridSweepOfTimeStep();
149 bool isLastGridSweepOfTimeStep();
151 void suspendSolversForOneGridSweep();
153 void initLogFilters();
155 void initSharedMemoryAndGPUEnvironment();
165 std::string getSolverStateDescriptions();
167{%
for item in NAMESPACE -%}
const float const float const float struct part *restrict struct part *restrict const float a