Timestep strategy for the Theta-Scheme algorithm for first order problems in time. More...
#include <theta.hh>


Public Member Functions | |
| Theta (concepts::SolverFabric< Real > &fabric, concepts::Operator< Real > &D1, concepts::Operator< Real > &D0, timestepping::TimeVector &trhs, const concepts::Vector< Real > &Y0, Real dt, Real theta=0.5) | |
| Constructor. | |
| virtual | ~Theta () |
Protected Member Functions | |
| virtual std::ostream & | info (std::ostream &os) const |
| Returns information in an output stream. | |
| virtual void | next () |
| The overloaded member function next() has to calculate the new right hand side and to release the solution vector. | |
Protected Attributes | |
| Real | dt_ |
| Time step size. | |
| concepts::Operator< Real > * | liCo_ |
| Operator of the linear equation system which is solved by the friend class TimeStepping. | |
| concepts::Vector< Real > | rhs_ |
| The right hand side vector of the linear equation system which is solved by the friend class TimeStepping. | |
| concepts::Vector< Real > | sol_ |
| The solution vector of the linear equation system which is solved by the friend class TimeStepping. | |
| std::auto_ptr < concepts::Operator< Real > > | solver_ |
| Solver for the linear system. | |
| Real | t_ |
| Time of the actual solution. | |
Private Attributes | |
| concepts::Operator< Real > & | D0_ |
| concepts::Operator< Real > & | D1_ |
| Space operator. | |
| std::auto_ptr < concepts::Operator< Real > > | lhs_ |
| Left hand side of the scheme. | |
| Real | theta_ |
| Parameter of the scheme. | |
| timestepping::TimeVector & | trhs_ |
| External driver function. | |
| concepts::Vector< Real > | Yn1_ |
| Store the latest timestep. | |
Friends | |
| class | TimeStepping |
Timestep strategy for the Theta-Scheme algorithm for first order problems in time.
The scheme has one parameter theta. The scheme is implicit if theta!=0 and it has convergence order 2 if theta = 1/2. The algorithm is absolutely stable with the predefined parameters.
| timestepping::Theta::Theta | ( | concepts::SolverFabric< Real > & | fabric, |
| concepts::Operator< Real > & | D1, | ||
| concepts::Operator< Real > & | D0, | ||
| timestepping::TimeVector & | trhs, | ||
| const concepts::Vector< Real > & | Y0, | ||
| Real | dt, | ||
| Real | theta = 0.5 |
||
| ) |
Constructor.
| fabric | Solver fabric to solve the occuring systems |
| D1 | Space operator D1 |
| D0 | Space operator D0 |
| trhs | Timedependent external driver f(x,t) |
| Y0 | Initial condition y(x,0) |
| dt | Time step size |
| theta | Parameter of the Theta scheme |
| virtual timestepping::Theta::~Theta | ( | ) | [virtual] |
| virtual std::ostream& timestepping::Theta::info | ( | std::ostream & | os | ) | const [protected, virtual] |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
| virtual void timestepping::Theta::next | ( | ) | [protected, virtual] |
The overloaded member function next() has to calculate the new right hand side and to release the solution vector.
Then the Timestepping solver can set the new solution.
Implements timestepping::TimeStepStrategy.
friend class TimeStepping [friend, inherited] |
Definition at line 48 of file strategy.hh.
concepts::Operator<Real> & timestepping::Theta::D0_ [private] |
concepts::Operator<Real>& timestepping::Theta::D1_ [private] |
Real timestepping::TimeStepStrategy::dt_ [protected, inherited] |
Time step size.
Definition at line 73 of file strategy.hh.
std::auto_ptr<concepts::Operator<Real> > timestepping::Theta::lhs_ [private] |
concepts::Operator<Real>* timestepping::TimeStepStrategy::liCo_ [protected, inherited] |
Operator of the linear equation system which is solved by the friend class TimeStepping.
It can be stored as a linear combination of two operators. The exact form depends on the specific scheme.
Definition at line 61 of file strategy.hh.
concepts::Vector<Real> timestepping::TimeStepStrategy::rhs_ [protected, inherited] |
The right hand side vector of the linear equation system which is solved by the friend class TimeStepping.
Definition at line 71 of file strategy.hh.
concepts::Vector<Real> timestepping::TimeStepStrategy::sol_ [protected, inherited] |
The solution vector of the linear equation system which is solved by the friend class TimeStepping.
Definition at line 66 of file strategy.hh.
std::auto_ptr<concepts::Operator<Real> > timestepping::TimeStepStrategy::solver_ [protected, inherited] |
Solver for the linear system.
Definition at line 55 of file strategy.hh.
Real timestepping::TimeStepStrategy::t_ [protected, inherited] |
Time of the actual solution.
Definition at line 75 of file strategy.hh.
Real timestepping::Theta::theta_ [private] |
concepts::Vector<Real> timestepping::Theta::Yn1_ [private] |