dune-fem 2.12-git
Loading...
Searching...
No Matches
odesolverinterface.hh
Go to the documentation of this file.
1#ifndef DUNE_FEM_SOLVER_ODESOLVERINTERFACE_HH
2#define DUNE_FEM_SOLVER_ODESOLVERINTERFACE_HH
3
4#include <iostream>
5
6//- dune-common includes
8
12
13namespace DuneODE
14{
15 using namespace Dune;
16 using namespace Fem;
17
19 template <class DestinationImp>
21 {
22 protected:
25
56
57 public:
60
63
65 virtual ~OdeSolverInterface () {}
66
70 virtual void initialize(const DestinationType& arg) = 0;
71
75 virtual void solve(DestinationType& u)
76 {
78 solve( u, monitor );
79 }
80
85 virtual void solve ( DestinationType &u, MonitorType &monitor ) = 0;
86
88 virtual void description(std::ostream&) const = 0;
89
91 virtual int stages () const { return -1; }
92
94 virtual int order () const { return -1; }
95 };
96
97
98} // namespace DuneODE
99
100#endif // #ifndef DUNE_FEM_SOLVER_ODESOLVERINTERFACE_HH
Definition multistep.hh:17
Interface class for ODE Solver.
Definition odesolverinterface.hh:21
virtual ~OdeSolverInterface()
destructor
Definition odesolverinterface.hh:65
Monitor MonitorType
monitor type
Definition odesolverinterface.hh:59
OdeSolverInterface()
constructor
Definition odesolverinterface.hh:24
virtual void description(std::ostream &) const =0
print description of ODE solver to out stream
virtual int stages() const
return stages of RK solver (-1 if not implemented)
Definition odesolverinterface.hh:91
virtual void solve(DestinationType &u, MonitorType &monitor)=0
solve where is the internal operator.
virtual void solve(DestinationType &u)
solve where is the internal operator.
Definition odesolverinterface.hh:75
DestinationImp DestinationType
type of destination
Definition odesolverinterface.hh:62
virtual void initialize(const DestinationType &arg)=0
initialize solver
virtual int order() const
return order of RK solver (-1 if not implemented)
Definition odesolverinterface.hh:94
Definition odesolverinterface.hh:27
int newtonIterations_
Definition odesolverinterface.hh:34
double error_
Definition odesolverinterface.hh:30
Monitor()
Definition odesolverinterface.hh:40
int spaceOperatorCalls_
Definition odesolverinterface.hh:38
int maxNewtonIterations_
Definition odesolverinterface.hh:36
int maxLinearSolverIterations_
Definition odesolverinterface.hh:37
void reset()
Definition odesolverinterface.hh:43
int linearSolverIterations_
Definition odesolverinterface.hh:35
double operatorTime_
Definition odesolverinterface.hh:29
std::size_t numberOfElements_
Definition odesolverinterface.hh:32
double odeSolveTime_
Definition odesolverinterface.hh:28
T forward(T... args)