AMDiS  0.3
The Adaptive Multi-Dimensional Simulation Toolbox
ProblemTimeInterface.hpp
1 #pragma once
2 
3 namespace AMDiS
4 {
5  class AdaptInfo;
6 
15  {
16  public:
17  virtual ~ProblemTimeInterface() = default;
18 
20  virtual void initTimeInterface() { /* do nothing */ };
21 
23  virtual void setTime(AdaptInfo& adaptInfo) = 0;
24 
26  virtual void initTimestep(AdaptInfo& adaptInfo) = 0;
27 
29  virtual void closeTimestep(AdaptInfo& adaptInfo) = 0;
30 
32  virtual void solveInitialProblem(AdaptInfo& adaptInfo) = 0;
33 
35  virtual void transferInitialSolution(AdaptInfo& adaptInfo) = 0;
36  };
37 
38 } // end namespace AMDiS
virtual void closeTimestep(AdaptInfo &adaptInfo)=0
Called at the end of each timestep.
Contains all classes needed for solving linear and non linear equation systems.
Definition: AdaptBase.hpp:6
virtual void setTime(AdaptInfo &adaptInfo)=0
Executes all needed operations when the simulation time changes.
virtual void initTimestep(AdaptInfo &adaptInfo)=0
Called at the beginning of each timestep.
Holds adapt parameters and infos about the problem.
Definition: AdaptInfo.hpp:25
Interface for time dependent problems. Concrete problems must override all pure virtual methods...
Definition: ProblemTimeInterface.hpp:14
virtual void initTimeInterface()
Called at the beginning of the adaption loop before any other call.
Definition: ProblemTimeInterface.hpp:20
virtual void transferInitialSolution(AdaptInfo &adaptInfo)=0
Transfer the initial problem.
virtual void solveInitialProblem(AdaptInfo &adaptInfo)=0
Solves the initial problem.