timestepping.hh

Go to the documentation of this file.
1 
6 #ifndef timestepping2_hh
7 #define timestepping2_hh
8 
10 #include "basics/typedefs.hh"
11 
12 namespace concepts {
13  template<typename F>
14  class Vector;
15 }
16 
17 namespace timestepping {
18 
19  using concepts::Real;
20 
21  class TimeStepStrategy;
22 
23  // ********************************************************** Timestepping **
24 
43  public:
47  TimeStepping(TimeStepStrategy& timeStepStrategy);
55  void operator()(concepts::Vector<Real>& sol, uint n);
58  Real time() const;
59  protected:
60  virtual std::ostream& info(std::ostream& os) const;
61  private:
63  uint n_;
66  };
67 
68 }
69 
70 #endif // timestepping2_hh
virtual std::ostream & info(std::ostream &os) const
Returns information in an output stream.
Real time() const
Return the time of the current solution.
Timestepping methods used to solve PDEs in time and space.
Definition: alpha.hh:18
TimeStepStrategy & timeStepStrategy_
Timestep strategy of the solver.
Definition: timestepping.hh:65
uint n_
The number of the timestep of the actual solution.
Definition: timestepping.hh:63
Abstract strategy class for the class Timestepping.
Definition: strategy.hh:32
uint operator()(concepts::Vector< Real > &sol)
TimeStepping(TimeStepStrategy &timeStepStrategy)
Constructor.
void operator()(concepts::Vector< Real > &sol, uint n)
Returns the solution of the n'th timestep.
This class encapsulates a general timestep solver concept to solve linear PDE in time and space.
Definition: timestepping.hh:42
Class providing an output operator.
double Real
Type normally used for a floating point number.
Definition: typedefs.hh:36
Basic namespace for Concepts-2.
Definition: pml_formula.h:16
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich