dune-pdelab  2.5-dev
Classes | Public Member Functions | List of all members
Dune::PDELab::ExplicitOneStepMethod< T, IGOS, LS, TrlV, TstV, TC > Class Template Reference

Do one step of an explicit time-stepping scheme. More...

#include <dune/pdelab/instationary/explicitonestep.hh>

Public Member Functions

 ExplicitOneStepMethod (const TimeSteppingParameterInterface< T > &method_, IGOS &igos_, LS &ls_)
 construct a new one step scheme More...
 
 ExplicitOneStepMethod (const TimeSteppingParameterInterface< T > &method_, IGOS &igos_, LS &ls_, TC &tc_)
 construct a new one step scheme More...
 
 ~ExplicitOneStepMethod ()
 
void setVerbosityLevel (int level)
 change verbosity level; 0 means completely quiet More...
 
void setStepNumber (int newstep)
 change number of current step More...
 
void setMethod (const TimeSteppingParameterInterface< T > &method_)
 redefine the method to be used; can be done before every step More...
 
apply (T time, T dt, TrlV &xold, TrlV &xnew)
 do one step; More...
 
template<typename Limiter >
apply (T time, T dt, TrlV &xold, TrlV &xnew, Limiter &limiter)
 

Detailed Description

template<class T, class IGOS, class LS, class TrlV, class TstV = TrlV, class TC = SimpleTimeController<T>>
class Dune::PDELab::ExplicitOneStepMethod< T, IGOS, LS, TrlV, TstV, TC >

Do one step of an explicit time-stepping scheme.

Template Parameters
Ttype to represent time values
IGOSassembler for instationary problems
LSbackend to solve diagonal linear system
TrlVvector type to represent coefficients of solutions
TstVvector type to represent residuals
TCtime controller class

Constructor & Destructor Documentation

§ ExplicitOneStepMethod() [1/2]

template<class T , class IGOS , class LS , class TrlV , class TstV = TrlV, class TC = SimpleTimeController<T>>
Dune::PDELab::ExplicitOneStepMethod< T, IGOS, LS, TrlV, TstV, TC >::ExplicitOneStepMethod ( const TimeSteppingParameterInterface< T > &  method_,
IGOS &  igos_,
LS &  ls_ 
)
inline

construct a new one step scheme

Parameters
method_Parameter object.
igos_Assembler object (instationary grid operator space).
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 (or until setMethod() is called, see there). Use SimpleTimeController that does not control the time step.

§ ExplicitOneStepMethod() [2/2]

template<class T , class IGOS , class LS , class TrlV , class TstV = TrlV, class TC = SimpleTimeController<T>>
Dune::PDELab::ExplicitOneStepMethod< T, IGOS, LS, TrlV, TstV, TC >::ExplicitOneStepMethod ( const TimeSteppingParameterInterface< T > &  method_,
IGOS &  igos_,
LS &  ls_,
TC &  tc_ 
)
inline

construct a new one step scheme

Parameters
method_Parameter object.
igos_Assembler object (instationary grid operator space).
pdesolver_solver object (typically Newton).
tc_a time controller object

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 (or until setMethod() is called, see there).

§ ~ExplicitOneStepMethod()

template<class T , class IGOS , class LS , class TrlV , class TstV = TrlV, class TC = SimpleTimeController<T>>
Dune::PDELab::ExplicitOneStepMethod< T, IGOS, LS, TrlV, TstV, TC >::~ExplicitOneStepMethod ( )
inline

Member Function Documentation

§ apply() [1/2]

template<class T , class IGOS , class LS , class TrlV , class TstV = TrlV, class TC = SimpleTimeController<T>>
T Dune::PDELab::ExplicitOneStepMethod< T, IGOS, LS, TrlV, TstV, TC >::apply ( time,
dt,
TrlV &  xold,
TrlV &  xnew 
)
inline

do one step;

Parameters
[in]timestart of time step
[in]dtsuggested time step size
[in]xoldvalue at begin of time step
[in]limiter
[in,out]xnewvalue at end of time step; contains initial guess for first substep on entry
Returns
time step size

§ apply() [2/2]

template<class T , class IGOS , class LS , class TrlV , class TstV = TrlV, class TC = SimpleTimeController<T>>
template<typename Limiter >
T Dune::PDELab::ExplicitOneStepMethod< T, IGOS, LS, TrlV, TstV, TC >::apply ( time,
dt,
TrlV &  xold,
TrlV &  xnew,
Limiter &  limiter 
)
inline

§ setMethod()

template<class T , class IGOS , class LS , class TrlV , class TstV = TrlV, class TC = SimpleTimeController<T>>
void Dune::PDELab::ExplicitOneStepMethod< T, IGOS, LS, TrlV, TstV, TC >::setMethod ( const TimeSteppingParameterInterface< T > &  method_)
inline

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

Parameters
method_Parameter object.

The OneStepMethod object stores a reference to the method_ object. The old method object is no longer referenced after this member function returns.

§ setStepNumber()

template<class T , class IGOS , class LS , class TrlV , class TstV = TrlV, class TC = SimpleTimeController<T>>
void Dune::PDELab::ExplicitOneStepMethod< T, IGOS, LS, TrlV, TstV, TC >::setStepNumber ( int  newstep)
inline

change number of current step

§ setVerbosityLevel()

template<class T , class IGOS , class LS , class TrlV , class TstV = TrlV, class TC = SimpleTimeController<T>>
void Dune::PDELab::ExplicitOneStepMethod< T, IGOS, LS, TrlV, TstV, TC >::setVerbosityLevel ( int  level)
inline

change verbosity level; 0 means completely quiet


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