Class documentation of Concepts

Loading...
Searching...
No Matches
strategy.hh
Go to the documentation of this file.
1
6#ifndef timestpStrg_hh
7#define timestpStrg_hh
8
9#include "basics/typedefs.hh"
11#include "function/vector.hh"
13
14namespace timestepping {
15
16 using concepts::Real;
17
18 class TimeStepping;
19
20 // ****************************************************** TimeStepStrategy **
21
33 public:
42 const concepts::Vector<Real>& sol,
43 const concepts::Vector<Real>& rhs,
44 Real dt) :
45 solver_(fabric(*lhs)),
46 liCo_(lhs),
47 sol_(sol),
48 rhs_(rhs),
49 dt_(dt),
50 t_(0) {}
51 protected:
52 friend class TimeStepping;
57 virtual void next() = 0;
59 std::unique_ptr<concepts::Operator<Real> > solver_;
70 concepts::Vector<Real> sol_; // sol_ = Y(t_n)
75 concepts::Vector<Real> rhs_; // rhs_ = rhs(t_n)
77 Real dt_; // dt_ = t_n - t_{n-1},
79 Real t_; // t_ = t_n
80 };
81
82}
83
84#endif // timestpStrg_hh
std::unique_ptr< concepts::Operator< Real > > solver_
Solver for the linear system.
Definition strategy.hh:59
Real t_
Time of the actual solution.
Definition strategy.hh:79
concepts::Vector< Real > sol_
Definition strategy.hh:70
concepts::Operator< Real > * liCo_
Definition strategy.hh:65
Real dt_
Time step size.
Definition strategy.hh:77
TimeStepStrategy(concepts::SolverFabric< Real > &fabric, concepts::Operator< Real > *lhs, const concepts::Vector< Real > &sol, const concepts::Vector< Real > &rhs, Real dt)
Definition strategy.hh:40
concepts::Vector< Real > rhs_
Definition strategy.hh:75
double Real
Definition typedefs.hh:39