Class documentation of Concepts

Loading...
Searching...
No Matches

#include <nystroem.hh>

Inheritance diagram for timestepping::Nystroem:
timestepping::TimeStepStrategy concepts::OutputOperator

Public Member Functions

 Nystroem (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)
 

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.
 

Detailed Description

Timestep strategy for a Nyström algorithm to solve second order problems in time with no first order time derivative.

\[
[ D_2 \partial_t^2 + D_0 ] y(x,t) = f(x,t)
\]

The scheme needs no parameters. It is explicit, has convergence order 2, is symplectic and conditionally stable. The stability criterion for the model problem $\partial_t^2 y = -\omega^2
y$ is $\Delta t < 2/\omega$. For linear operators and f(x,t)=0, this scheme is identic to the leap frog scheme.

See also
E. Hairer, S.P. Nørsett, G. Wanner Solving Ordinary Differential Equations I - Nonstiff Problems, Springer, Berlin, 1992.
Author
Christoph Winkelmann, 2004

Definition at line 41 of file nystroem.hh.

Constructor & Destructor Documentation

◆ Nystroem()

timestepping::Nystroem::Nystroem ( 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 
)

Constructor

Parameters
fabricSolver fabric for solving the occuring systems
D2Space operator D2
D0Space operator D0
trhsTimedependent external driver f(x,t)
Y0Initial condition y(x,0)
Z0Initial condition d/dt y(x,0)
dtTime step size

Member Function Documentation

◆ info()

virtual std::ostream & timestepping::Nystroem::info ( std::ostream &  os) const
protectedvirtual

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

◆ next()

virtual void timestepping::Nystroem::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

◆ dt_

Real timestepping::TimeStepStrategy::dt_
protectedinherited

Time step size.

Definition at line 77 of file strategy.hh.

◆ liCo_

concepts::Operator<Real>* timestepping::TimeStepStrategy::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_

concepts::Vector<Real> timestepping::TimeStepStrategy::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_

concepts::Vector<Real> timestepping::TimeStepStrategy::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_

std::unique_ptr<concepts::Operator<Real> > timestepping::TimeStepStrategy::solver_
protectedinherited

Solver for the linear system.

Definition at line 59 of file strategy.hh.

◆ t_

Real timestepping::TimeStepStrategy::t_
protectedinherited

Time of the actual solution.

Definition at line 79 of file strategy.hh.


The documentation for this class was generated from the following file: