Peano
Loading...
Searching...
No Matches
ConstrainedPoissonEquationForMarkerOnCells.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
9
11#include "exahype2/Solver.h"
12
13#include "tarch/la/Vector.h"
15
18
19#include "Constants.h"
20
21#include "facedata/{{MARKER}}.h"
22#include "celldata/{{MARKER}}.h"
23
24
25{% for item in NAMESPACE -%}
26 namespace {{ item }} {
27
28{%- endfor %}
29 class {{CLASSNAME}};
30
31{% for item in NAMESPACE -%}
32 }
33{%- endfor %}
34
35
36
37class {{NAMESPACE | join("::")}}::{{CLASSNAME}}: public ::exahype2::Solver {
38 private:
39 static constexpr double RelaxationCoefficient = {{RELAXATION_COEFFICIENT}};
40 static constexpr double Rhs = {{RHS}};
41 static constexpr double MinValue = {{MIN_VALUE}};
42 static constexpr double MaxValue = {{MAX_VALUE}};
43 static constexpr double MinThreshold = {{MIN_THRESHOLD}};
44 static constexpr double MaxThreshold = {{MAX_THRESHOLD}};
45
46 public:
50 static constexpr double MaxAdmissibleCellH = std::numeric_limits<double>::max();
51 static constexpr double MinAdmissibleCellH = 0.0;
52
53
54 {{CLASSNAME}}();
55
59 static std::bitset<Dimensions> PeriodicBC;
60
64 double getMinTimeStamp() const final;
65 double getMaxTimeStamp() const final;
66
67
68 double getMinTimeStepSize() const final;
69 double getMaxTimeStepSize() const final;
70
74 void startGridConstructionStep() final;
75 void finishGridConstructionStep() final;
76 void startGridInitialisationStep() final;
77 void finishGridInitialisationStep() final;
78 void startTimeStep(
79 double globalMinTimeStamp,
80 double globalMaxTimeStamp,
81 double globalMinTimeStepSize,
82 double globalMaxTimeStepSize
83 ) final;
84 void finishTimeStep() final;
85 void startPlottingStep(
86 double globalMinTimeStamp,
87 double globalMaxTimeStamp,
88 double globalMinTimeStepSize,
89 double globalMaxTimeStepSize
90 ) final;
91 void finishPlottingStep() final;
92
93 virtual double getMaxMeshSize() const override final;
94 virtual double getMinMeshSize() const override final;
95
96 virtual bool mayPlot() const override;
97
98 virtual void startSimulation() override;
99 virtual void finishSimulation() override;
100
105 bool isFirstGridSweepOfTimeStep() const;
106 bool isLastGridSweepOfTimeStep() const;
107
112 void constrainValue( benchmarks::exahype2::euler::sphericalaccretionupscaling::celldata::{{MARKER}}& marker );
113
114
120 void computeNewMarkerState(
121 benchmarks::exahype2::euler::sphericalaccretionupscaling::celldata::{{MARKER}}& cellMarker,
122 const peano4::datamanagement::FaceEnumerator<benchmarks::exahype2::euler::sphericalaccretionupscaling::facedata::{{MARKER}}>& faceMarker
123 );
124 protected:
126};
127
128
129
130{# Empty line here #}
Enumerator over an array of faces.
Log Device.
Definition Log.h:517
Definition euler.py:1
This file is part of the ExaHyPE 2 project within Peano 4.
Definition __init__.py:1