Class documentation of Concepts

Loading...
Searching...
No Matches
euler.hh
Go to the documentation of this file.
1
6#ifndef euler_hh
7#define euler_hh
8
9#include "basics/typedefs.hh"
10#include "function/vector.hh"
13
14namespace concepts {
15 template<typename F>
16 class Operator;
17}
18
19namespace timestepping {
20
21 using concepts::Real;
22
23 // ****************************************************************** Euler **
24
36 class Euler : public TimeStepStrategy {
37 public:
49 const concepts::Vector<Real>& Y0,
50 Real dt);
51 virtual ~Euler();
52 protected:
53 virtual std::ostream& info(std::ostream& os) const;
54 virtual void next();
55 private:
59 TimeVector &trhs_;
61 TimeVector Yn1_; // Yn1 = Y(t_{n-1})
62 };
63
64 // ********************************************************** LimitingEuler **
65
78 public:
91 const concepts::Vector<Real>& Y0,
92 Real dt);
93 virtual ~LimitingEuler();
94 protected:
95 virtual std::ostream& info(std::ostream& os) const;
96 virtual void next();
97 private:
99 concepts::Operator<Real> &D0_, &limiter_;
101 TimeVector &trhs_;
103 TimeVector Yn1_; // Yn1 = Y(t_{n-1})
104 };
105
106}
107
108#endif // euler_hh
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual void next()
Euler(concepts::SolverFabric< Real > &fabric, concepts::Operator< Real > &D1, concepts::Operator< Real > &D0, timestepping::TimeVector &trhs, const concepts::Vector< Real > &Y0, Real dt)
LimitingEuler(concepts::SolverFabric< Real > &fabric, concepts::Operator< Real > &D1, concepts::Operator< Real > &D0, concepts::Operator< Real > &limiter, timestepping::TimeVector &trhs, const concepts::Vector< Real > &Y0, Real dt)
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
double Real
Definition typedefs.hh:39