You are here:
Concepts
>
Concepts Web
>
Class documentation
Class documentation of Concepts
Loading...
Searching...
No Matches
timestepping
strategy.hh
Go to the documentation of this file.
1
6
#ifndef timestpStrg_hh
7
#define timestpStrg_hh
8
9
#include "
basics/typedefs.hh
"
10
#include "
operator/compositions.hh
"
11
#include "function/vector.hh"
12
#include "
operator/solverFabric.hh
"
13
14
namespace
timestepping
{
15
16
using
concepts::Real
;
17
18
class
TimeStepping;
19
20
// ****************************************************** TimeStepStrategy **
21
32
class
TimeStepStrategy
:
public
concepts::OutputOperator
{
33
public
:
40
TimeStepStrategy
(
concepts::SolverFabric<Real>
& fabric,
41
concepts::Operator<Real>
* lhs,
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_
;
65
concepts::Operator<Real>
*
liCo_
;
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
concepts::Operator
Definition
compositions.hh:42
concepts::OutputOperator
Definition
outputOperator.hh:42
concepts::SolverFabric
Definition
solverFabric.hh:22
concepts::Vector
Definition
vector.hh:39
timestepping::TimeStepStrategy
Definition
strategy.hh:32
timestepping::TimeStepStrategy::solver_
std::unique_ptr< concepts::Operator< Real > > solver_
Solver for the linear system.
Definition
strategy.hh:59
timestepping::TimeStepStrategy::t_
Real t_
Time of the actual solution.
Definition
strategy.hh:79
timestepping::TimeStepStrategy::sol_
concepts::Vector< Real > sol_
Definition
strategy.hh:70
timestepping::TimeStepStrategy::liCo_
concepts::Operator< Real > * liCo_
Definition
strategy.hh:65
timestepping::TimeStepStrategy::next
virtual void next()=0
timestepping::TimeStepStrategy::dt_
Real dt_
Time step size.
Definition
strategy.hh:77
timestepping::TimeStepStrategy::TimeStepStrategy
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
timestepping::TimeStepStrategy::rhs_
concepts::Vector< Real > rhs_
Definition
strategy.hh:75
timestepping::TimeStepping
Definition
timestepping.hh:42
compositions.hh
concepts::Real
double Real
Definition
typedefs.hh:39
timestepping
Definition
timestepping.hh:75
solverFabric.hh
typedefs.hh
Generated on Wed Sep 13 2023 21:06:23 for Concepts by
1.9.8