15 #include "../config/config.hpp"
32 virtual void Step(
Vector &x,
double &t,
double &dt) = 0;
47 virtual void Step(
Vector &x,
double &t,
double &dt);
67 virtual void Step(
Vector &x,
double &t,
double &dt);
80 virtual void Step(
Vector &x,
double &t,
double &dt);
93 virtual void Step(
Vector &x,
double &t,
double &dt);
110 const double *a, *b, *c;
119 virtual void Step(
Vector &x,
double &t,
double &dt);
130 static const double a[28], b[8], c[7];
142 static const double a[66], b[12], c[11];
158 virtual void Step(
Vector &x,
double &t,
double &dt);
171 virtual void Step(
Vector &x,
double &t,
double &dt);
192 virtual void Step(
Vector &x,
double &t,
double &dt);
206 virtual void Step(
Vector &x,
double &t,
double &dt);
220 virtual void Step(
Vector &x,
double &t,
double &dt);
virtual void Init(TimeDependentOperator &_f)
virtual void Init(TimeDependentOperator &_f)
virtual void Step(Vector &x, double &t, double &dt)
Base abstract class for time dependent operators: (x,t) -> f(x,t)
virtual void Step(Vector &x, double &t, double &dt)=0
Abstract class for solving systems of ODEs: dx/dt = f(x,t)
virtual void Step(Vector &x, double &t, double &dt)
virtual void Init(TimeDependentOperator &_f)
Backward Euler ODE solver. L-stable.
virtual void Step(Vector &x, double &t, double &dt)
virtual void Step(Vector &x, double &t, double &dt)
virtual void Init(TimeDependentOperator &_f)
virtual void Init(TimeDependentOperator &_f)
virtual ~ExplicitRKSolver()
virtual void Step(Vector &x, double &t, double &dt)
virtual void Init(TimeDependentOperator &_f)
virtual void Step(Vector &x, double &t, double &dt)
ExplicitRKSolver(int _s, const double *_a, const double *_b, const double *_c)
virtual void Step(Vector &x, double &t, double &dt)
virtual void Init(TimeDependentOperator &_f)
virtual void Init(TimeDependentOperator &_f)
The classical explicit forth-order Runge-Kutta method, RK4.
virtual void Init(TimeDependentOperator &_f)
Third-order, strong stability preserving (SSP) Runge-Kutta method.
RK2Solver(const double _a=2./3.)
Implicit midpoint method. A-stable, not L-stable.
virtual void Step(Vector &x, double &t, double &dt)
virtual void Init(TimeDependentOperator &_f)
virtual void Step(Vector &x, double &t, double &dt)
TimeDependentOperator * f
The classical forward Euler method.
virtual void Step(Vector &x, double &t, double &dt)
SDIRK23Solver(int gamma_opt=1)
virtual void Init(TimeDependentOperator &_f)