Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)

Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | Friends
timestepping::Newmark Class Reference

Timestep strategy for the Newmark algorithm to solve second order problems in time with no first order time derivative. More...

#include <newmark.hh>

Inheritance diagram for timestepping::Newmark:
Inheritance graph
[legend]
Collaboration diagram for timestepping::Newmark:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 Newmark (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 beta=0.25, Real gamma=0.5)
 Constructor.

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

Real beta_
 Parameters of the scheme.
concepts::Operator< Real > & D0_
concepts::Operator< Real > & D2_
 Space operator.
Real gamma_
std::auto_ptr
< concepts::Operator< Real > > 
lhs_
 Left hand side of the scheme.
timestepping::TimeVectortrhs_
 External driver function.
concepts::Vector< Real > Yn1_
 Store the two latest timesteps.
concepts::Vector< Real > Yn2_

Friends

class TimeStepping

Detailed Description

Timestep strategy for the Newmark 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 has two parameters beta and gamma. The scheme is implicit as soon as beta!=0 and it has convergence order 2 as soon as gamma=1/2. The algorithm is absolutely stable with the predefined parameters.

See also:
P.A. Raviart and J.M. Thomas Introduction a l'Analyse Numerique des Equations aux Derivees Partielles, Masson, Paris, 1983.
Author:
Manuel Walser, 2002

Definition at line 37 of file newmark.hh.


Constructor & Destructor Documentation

timestepping::Newmark::Newmark ( 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  beta = 0.25,
Real  gamma = 0.5 
)

Constructor.

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

Member Function Documentation

virtual std::ostream& timestepping::Newmark::info ( std::ostream &  os) const [protected, virtual]

Returns information in an output stream.

Reimplemented from concepts::OutputOperator.

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


Friends And Related Function Documentation

friend class TimeStepping [friend, inherited]

Definition at line 48 of file strategy.hh.


Member Data Documentation

Parameters of the scheme.

Definition at line 68 of file newmark.hh.

Definition at line 62 of file newmark.hh.

Space operator.

Definition at line 62 of file newmark.hh.

Real timestepping::TimeStepStrategy::dt_ [protected, inherited]

Time step size.

Definition at line 73 of file strategy.hh.

Definition at line 68 of file newmark.hh.

std::auto_ptr<concepts::Operator<Real> > timestepping::Newmark::lhs_ [private]

Left hand side of the scheme.

Definition at line 70 of file newmark.hh.

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 61 of file strategy.hh.

The right hand side vector of the linear equation system which is solved by the friend class TimeStepping.

See also:
TimeStepping

Definition at line 71 of file strategy.hh.

The solution vector of the linear equation system which is solved by the friend class TimeStepping.

See also:
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.

External driver function.

Definition at line 64 of file newmark.hh.

Store the two latest timesteps.

Definition at line 66 of file newmark.hh.

Definition at line 66 of file newmark.hh.


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

Home | Doxygen Documentation | Tutorials | Developer Tools (restricted)