dune-pdelab  2.0.0
Public Member Functions | List of all members
Dune::PDELab::MultiStepMethod< T, MGOS, PDESolver, TrialV, TestV > Class Template Reference

Do one step of a multi-step time-stepping scheme. More...

#include <dune/pdelab/multistep/method.hh>

Public Member Functions

 MultiStepMethod (const Parameters &parameters_, MGOS &mgos_, PDESolver &pdeSolver_)
 construct a new multi-step scheme More...
 
void setVerbosityLevel (int level)
 change verbosity level; 0 means completely quiet More...
 
void setMethod (const Parameters &parameters_)
 redefine the method to be used; can be done before every step More...
 
template<class OldValues >
apply (T time, T dt, const OldValues &oldValues, TrialV &xnew)
 do one step; More...
 
template<typename OldValues , typename F >
apply (T time, T dt, const OldValues &oldValues, F &f, TrialV &xnew)
 do one step; More...
 
shared_ptr< const TrialV > apply (T time, T dt)
 do one step (with caching) More...
 
template<typename F >
shared_ptr< const TrialV > apply (T time, T dt, F &f)
 do one step (with caching) More...
 

Detailed Description

template<class T, class MGOS, class PDESolver, class TrialV, class TestV = TrialV>
class Dune::PDELab::MultiStepMethod< T, MGOS, PDESolver, TrialV, TestV >

Do one step of a multi-step time-stepping scheme.

Template Parameters
TType to represent time values
MGOSAssembler for multi-step instationary problems
PDESOLVERSolver problem in each step (typically Newton)
TrialVVector type to represent coefficients of solutions
TestVVector type to represent residuals

Constructor & Destructor Documentation

template<class T , class MGOS , class PDESolver , class TrialV , class TestV = TrialV>
Dune::PDELab::MultiStepMethod< T, MGOS, PDESolver, TrialV, TestV >::MultiStepMethod ( const Parameters parameters_,
MGOS &  mgos_,
PDESolver &  pdeSolver_ 
)
inline

construct a new multi-step scheme

Parameters
parameters_Parameter object.
mgos_Assembler object (MultiStepGridOperatorSpace).
pdesolver_Solver object (typically Newton).

The contructed method object stores references to the object it is constructed with, so these objects should be valid for as long as the constructed object is used.

Member Function Documentation

template<class T , class MGOS , class PDESolver , class TrialV , class TestV = TrialV>
template<class OldValues >
T Dune::PDELab::MultiStepMethod< T, MGOS, PDESolver, TrialV, TestV >::apply ( time,
dt,
const OldValues &  oldValues,
TrialV &  xnew 
)
inline
template<class T , class MGOS , class PDESolver , class TrialV , class TestV = TrialV>
template<typename OldValues , typename F >
T Dune::PDELab::MultiStepMethod< T, MGOS, PDESolver, TrialV, TestV >::apply ( time,
dt,
const OldValues &  oldValues,
F &  f,
TrialV &  xnew 
)
inline
template<class T , class MGOS , class PDESolver , class TrialV , class TestV = TrialV>
shared_ptr<const TrialV> Dune::PDELab::MultiStepMethod< T, MGOS, PDESolver, TrialV, TestV >::apply ( time,
dt 
)
inline

do one step (with caching)

Parameters
timeStart of time step
dtTime step size
Returns
A shared_ptr to the new value

The old values are expected in the cache of the GridOperatorSpace. The computed value is store in the cache as well.

References Dune::PDELab::MultiStepParameterInterface< value_type_, order_ >::name().

template<class T , class MGOS , class PDESolver , class TrialV , class TestV = TrialV>
template<typename F >
shared_ptr<const TrialV> Dune::PDELab::MultiStepMethod< T, MGOS, PDESolver, TrialV, TestV >::apply ( time,
dt,
F &  f 
)
inline

do one step (with caching)

This is a version which interpolates constraints at the start of each stage

Parameters
timeStart of time step
dtTime step size
fFunction to interpolate boundary conditions from. Should support the method setTime().
Returns
A shared_ptr to the new value

The old values are expected in the cache of the GridOperatorSpace. The computed value is store in the cache as well.

References f, and Dune::PDELab::MultiStepParameterInterface< value_type_, order_ >::name().

template<class T , class MGOS , class PDESolver , class TrialV , class TestV = TrialV>
void Dune::PDELab::MultiStepMethod< T, MGOS, PDESolver, TrialV, TestV >::setMethod ( const Parameters parameters_)
inline

redefine the method to be used; can be done before every step

template<class T , class MGOS , class PDESolver , class TrialV , class TestV = TrialV>
void Dune::PDELab::MultiStepMethod< T, MGOS, PDESolver, TrialV, TestV >::setVerbosityLevel ( int  level)
inline

change verbosity level; 0 means completely quiet


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