Class documentation of Concepts

Loading...
Searching...
No Matches
newmark.hh
Go to the documentation of this file.
1
6#ifndef newmark_hh
7#define newmark_hh
8
9#include "basics/typedefs.hh"
10#include "function/vector.hh"
11#include "strategy.hh"
12
13namespace concepts {
14 template<typename F>
15 class Operator;
16}
17
18namespace timestepping {
19
20 using concepts::Real;
21
22 class TimeVector;
23
24 // *************************************************************** Newmark **
25
40 class Newmark : public TimeStepStrategy {
41 public:
56 const concepts::Vector<Real>& Y0,
57 const concepts::Vector<Real>& Z0,
58 Real dt,
59 Real beta = 0.25, Real gamma = 0.5);
60 protected:
61 virtual std::ostream& info(std::ostream& os) const;
62 virtual void next();
63 private:
65 concepts::Operator<Real> &D2_, &D0_;
69 concepts::Vector<Real> Yn1_, Yn2_; // Yn1 = Y(t_{n-1}), Yn2 = Y(t_{n-2})
71 Real beta_, gamma_;
73 std::unique_ptr<concepts::Operator<Real> > lhs_;
74 };
75
76}
77
78#endif // newmark_hh
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
virtual void next()
Newmark(concepts::SolverFabric< Real > &fabric, concepts::Operator< Real > &D2, concepts::Operator< Real > &D0, timestepping::TimeVector &trhs, const concepts::Vector< Real > &Y0, const concepts::Vector< Real > &Z0, Real dt, Real beta=0.25, Real gamma=0.5)
double Real
Definition typedefs.hh:39