Peano
Loading...
Searching...
No Matches
ProjectSolverRepository.template.h
Go to the documentation of this file.
1// **********************************************************************************************
2// *** !!!WARNING!!! ***
3// *** WARNING: AUTO GENERATED FILE! DO NOT MODIFY BY HAND! YOUR CHANGES WILL BE OVERWRITTEN! ***
4// *** !!!WARNING!!! ***
5// *** Generated by Peano's Python API: www.peano-framework.org ***
6// **********************************************************************************************
7#pragma once
8
10
11{% if LOAD_BALANCER!="" -%}
12#include "{{LOAD_BALANCER | replace('::', '/') }}.h"
13{% endif -%}
14
16#include "exahype2/PlotFilter.h"
18
19{% for item in SOLVERS -%}
20#include "{{ item[0] }}.h"
21{# Comment to ensure that jinja2 adds a new line#}
22{% endfor %}
23
24
25{% for item in NAMESPACE -%}
26 namespace {{ item }} {
27{%- endfor %}
28
29 {% for item in SOLVERS -%}
30 extern {{ item[0] }} {{ item[1] }};
31 {# Comment to ensure that jinja2 adds a new line#}
32 {%- endfor %}
33
34
35 extern ::exahype2::RefinementControl refinementControl;
36 extern ::exahype2::PlotFilter plotFilter;
37
38 {% if LOAD_BALANCER!="" -%}
39 extern {{LOAD_BALANCER}} loadBalancer;
40 {% else -%}
42 {% endif -%}
43
44 extern peano4::grid::GridStatistics gridStatisticsAfterGridConstruction;
45
56 double getMinTimeStamp(bool ofCurrentlyRunningGridSweep = false);
57
66 double getMaxTimeStamp(bool ofCurrentlyRunningGridSweep = false);
67 double getMinTimeStepSize();
68 double getMaxTimeStepSize();
69 double getMinMeshSize();
70 double getMaxMeshSize();
71
75 double getMaxAdmissibleMeshSize();
76
80 double getMinAdmissibleMeshSize();
81
82 void startGridConstructionStep();
83 void startGridInitialisationStep();
84
93 void startTimeStep(
94 double globalMinTimeStamp,
95 double globalMaxTimeStamp,
96 double globalMinTimeStepSize,
97 double globalMaxTimeStepSize
98 );
99
100 void startPlottingStep(
101 double globalMinTimeStamp,
102 double globalMaxTimeStamp,
103 double globalMinTimeStepSize,
104 double globalMaxTimeStepSize
105 );
106
107 void finishGridConstructionStep();
108 void finishGridInitialisationStep();
109
113 void finishTimeStep();
114 void finishPlottingStep();
115
116 void startSimulation();
117 void finishSimulation();
118
119 bool mayPlot();
120
136 bool isFirstGridSweepOfTimeStep();
137
149 bool isLastGridSweepOfTimeStep();
150
151 void suspendSolversForOneGridSweep();
152
153 void initLogFilters();
154
155 void initSharedMemoryAndGPUEnvironment();
156
165 std::string getSolverStateDescriptions();
166
167{% for item in NAMESPACE -%}
168 }
169{%- endfor %}
170
171
const float const float const float struct part *restrict struct part *restrict const float a
Definition hydro_iact.h:55