#include <alpha.hh>
Public Member Functions | |
Alpha (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 alpha=0.) | |
Protected Member Functions | |
virtual std::ostream & | info (std::ostream &os) const |
Returns information in an output stream. | |
virtual void | next () |
Protected Attributes | |
std::unique_ptr< concepts::Operator< Real > > | solver_ |
Solver for the linear system. | |
concepts::Operator< Real > * | liCo_ |
concepts::Vector< Real > | sol_ |
concepts::Vector< Real > | rhs_ |
Real | dt_ |
Time step size. | |
Real | t_ |
Time of the actual solution. | |
Timestep strategy for the Alpha algorithm of Hilber, Hughes and Taylor to solve second order problems in time with no first order time derivative.
The scheme has one parameter alpha
. The scheme is implicit, has convergence order 2 and is unconditionally stable. The parameter alpha
controls dissipation. For alpha
= 0, there is no dissipation, and the scheme is equivalent to the Newmark scheme with default parameters. For -1/3 <= alpha
< 0, the scheme is dissipative. The damping of higher eigenmodes is stronger.
timestepping::Alpha::Alpha | ( | 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 | alpha = 0. |
||
) |
Constructor
fabric | Solver fabric for solving the occuring systems |
D2 | Space opeartor D2 |
D0 | Space opeartor D0 |
trhs | Timedependent external driver f(x,t) |
Y0 | Initial condition y(x,0) |
Z0 | Initial condition d/dt y(x,0) |
dt | Time step size |
alpha | Parameter of the Alpha scheme |
|
protectedvirtual |
Returns information in an output stream.
Reimplemented from concepts::OutputOperator.
|
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.
|
protectedinherited |
Time step size.
Definition at line 77 of file strategy.hh.
|
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.
Definition at line 65 of file strategy.hh.
|
protectedinherited |
The right hand side vector of the linear equation system which is solved by the friend class TimeStepping.
Definition at line 75 of file strategy.hh.
|
protectedinherited |
The solution vector of the linear equation system which is solved by the friend class TimeStepping.
Definition at line 70 of file strategy.hh.
|
protectedinherited |
Solver for the linear system.
Definition at line 59 of file strategy.hh.
|
protectedinherited |
Time of the actual solution.
Definition at line 79 of file strategy.hh.