Peano
Loading...
Searching...
No Matches
Solver.h
Go to the documentation of this file.
1// This file is part of the ExaHyPE2 project. For conditions of distribution and
2// use, please see the copyright notice at www.peano-framework.org
3#pragma once
4
5
6
7namespace exahype2 {
8 class Solver;
9}
10
11
12
14 public:
32 enum class Offloadable {
33 Yes
34 };
35
36 virtual double getMinTimeStamp() const = 0;
37 virtual double getMaxTimeStamp() const = 0;
38 virtual double getMinTimeStepSize() const = 0;
39 virtual double getMaxTimeStepSize() const = 0;
40
41 virtual void startGridConstructionStep() = 0;
42 virtual void finishGridConstructionStep() = 0;
43
45
46 virtual void startGridInitialisationStep() = 0;
47 virtual void finishGridInitialisationStep() = 0;
48
49 virtual void startTimeStep(
50 double globalMinTimeStamp,
51 double globalMaxTimeStamp,
52 double globalMinTimeStepSize,
53 double globalMaxTimeStepSize
54 ) = 0;
55 virtual void finishTimeStep() = 0;
56
57 virtual void startPlottingStep(
58 double globalMinTimeStamp,
59 double globalMaxTimeStamp,
60 double globalMinTimeStepSize,
61 double globalMaxTimeStepSize
62 ) = 0;
63 virtual void finishPlottingStep() = 0;
64
65 virtual double getMaxMeshSize() const = 0;
66 virtual double getMinMeshSize() const = 0;
67
73 virtual bool mayPlot() const = 0;
74
75 virtual void startSimulation() = 0;
76 virtual void finishSimulation() = 0;
77};
78
79
virtual double getMinTimeStamp() const =0
virtual void startGridConstructionStep()=0
virtual double getMaxTimeStamp() const =0
virtual void finishPlottingStep()=0
virtual void finishGridInitialisationStep()=0
virtual void startPlottingStep(double globalMinTimeStamp, double globalMaxTimeStamp, double globalMinTimeStepSize, double globalMaxTimeStepSize)=0
virtual void finishGridConstructionStep()=0
virtual void finishSimulation()=0
virtual void startGridInitialisationStep()=0
virtual void startSimulation()=0
virtual bool mayPlot() const =0
Not all solvers allow you to plot after each grid sweep.
virtual void finishTimeStep()=0
Offloadable
This is a "fake" enum, i.e.
Definition Solver.h:32
virtual double getMinMeshSize() const =0
virtual double getMaxTimeStepSize() const =0
virtual void suspendSolversForOneGridSweep()=0
virtual double getMaxMeshSize() const =0
virtual void startTimeStep(double globalMinTimeStamp, double globalMaxTimeStamp, double globalMinTimeStepSize, double globalMaxTimeStepSize)=0
virtual double getMinTimeStepSize() const =0
This file is part of the multigrid project within Peano 4.
Definition __init__.py:1