#include <timestepping.hh>
Public Member Functions | |
TimeStepping (TimeStepStrategy &timeStepStrategy) | |
void | operator() (concepts::Vector< Real > &sol, uint n) |
uint | operator() (concepts::Vector< Real > &sol) |
Real | time () const |
Return the time of the current solution. | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
This class encapsulates a general timestep solver concept to solve linear PDE in time and space. Any linear partial differential equation of the form
where Dn, ..., D0 are space operators that not depend on time. After the discretisation it can always be brought in the form
where the LHS depends only on the timestep size and the RHS can be evalated from previous steps. Therefore the new solution Yn is best obtained with an LU separation of the LHS.
Definition at line 42 of file timestepping.hh.
timestepping::TimeStepping::TimeStepping | ( | TimeStepStrategy & | timeStepStrategy | ) |
Constructor
timeStepStrategy | Timestep strategy for solving the PDE |
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
void timestepping::TimeStepping::operator() | ( | concepts::Vector< Real > & | sol, |
uint | n | ||
) |
Returns the solution of the n'th timestep. With the parameter n the actual solution is return, otherwise the specified step in the futur. A step number n before the actual step number is not possible and throws an exception
sol | New solution vector |
n | Step number of the solution n |