timestepping::RungeKutta2 Class Reference
Timestep strategy for the explicit 2nd order RungeKutta algorithm to solve first order problems in time. More...
#include <rungekutta2.hh>
Public Member Functions | |
RungeKutta2 (concepts::SolverFabric< Real > &fabric, concepts::Operator< Real > &D1, concepts::Operator< Real > &D0, timestepping::TimeVector &trhs, const concepts::Vector< Real > &Y0, Real dt, Real alpha=0.5) | |
Constructor. More... | |
virtual | ~RungeKutta2 () |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. More... | |
virtual void | next () |
The overloaded member function next() has to calculate the new right hand side and to release the solution vector. More... | |
Protected Attributes | |
Real | dt_ |
Time step size. More... | |
concepts::Operator< Real > * | liCo_ |
Operator of the linear equation system which is solved by the friend class TimeStepping. More... | |
concepts::Vector< Real > | rhs_ |
The right hand side vector of the linear equation system which is solved by the friend class TimeStepping. More... | |
concepts::Vector< Real > | sol_ |
The solution vector of the linear equation system which is solved by the friend class TimeStepping. More... | |
std::unique_ptr< concepts::Operator< Real > > | solver_ |
Solver for the linear system. More... | |
Real | t_ |
Time of the actual solution. More... | |
Private Attributes | |
Real | alpha_ |
Parameters of the scheme. More... | |
concepts::Operator< Real > & | D0_ |
Space operator. More... | |
timestepping::TimeVector & | trhs_ |
External driver function. More... | |
concepts::Vector< Real > | Yn1_ |
Store the latest timestep. More... | |
Detailed Description
Timestep strategy for the explicit 2nd order RungeKutta algorithm to solve first order problems in time.
The scheme has one free parameter alpha
and has convergence order 2. Please notice that this algorithm is not absolutely stable and may not converge if the stability condition is not fullfilled.
- See also
- H. R. Schwarz Numerische Mathematik, Teubner, 1997
Definition at line 37 of file rungekutta2.hh.
Constructor & Destructor Documentation
◆ RungeKutta2()
timestepping::RungeKutta2::RungeKutta2 | ( | concepts::SolverFabric< Real > & | fabric, |
concepts::Operator< Real > & | D1, | ||
concepts::Operator< Real > & | D0, | ||
timestepping::TimeVector & | trhs, | ||
const concepts::Vector< Real > & | Y0, | ||
Real | dt, | ||
Real | alpha = 0.5 |
||
) |
Constructor.
- Parameters
-
fabric Solver fabric for solving the occuring systems D1 Space opeartor D1 D0 Space opeartor D0 trhs Timedependent external driver f(x,t) Y0 Initial condition y(x,0) dt Time step size alpha Parameter of the Runge Kutta 2 scheme
◆ ~RungeKutta2()
|
virtual |
Member Function Documentation
◆ info()
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
◆ next()
|
protectedvirtual |
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.
Member Data Documentation
◆ alpha_
|
private |
Parameters of the scheme.
Definition at line 67 of file rungekutta2.hh.
◆ D0_
|
private |
Space operator.
Definition at line 61 of file rungekutta2.hh.
◆ dt_
|
protectedinherited |
Time step size.
Definition at line 77 of file strategy.hh.
◆ liCo_
|
protectedinherited |
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.
- See also
- TimeStepping
Definition at line 65 of file strategy.hh.
◆ rhs_
|
protectedinherited |
The right hand side vector of the linear equation system which is solved by the friend class TimeStepping.
- See also
- TimeStepping
Definition at line 75 of file strategy.hh.
◆ sol_
|
protectedinherited |
The solution vector of the linear equation system which is solved by the friend class TimeStepping.
- See also
- TimeStepping
Definition at line 70 of file strategy.hh.
◆ solver_
|
protectedinherited |
Solver for the linear system.
Definition at line 59 of file strategy.hh.
◆ t_
|
protectedinherited |
Time of the actual solution.
Definition at line 79 of file strategy.hh.
◆ trhs_
|
private |
External driver function.
Definition at line 63 of file rungekutta2.hh.
◆ Yn1_
|
private |
Store the latest timestep.
Definition at line 65 of file rungekutta2.hh.
The documentation for this class was generated from the following file:
- timestepping/rungekutta2.hh