DUNE PDELab (git)

Dune::PDELab::OneStepMethod< T, IGOS, PDESOLVER, TrlV, TstV > Class Template Reference

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

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

Public Member Functions

 OneStepMethod (const TimeSteppingParameterInterface< T > &method_, IGOS &igos_, PDESOLVER &pdesolver_)
 construct a new one step scheme More...
 
void setVerbosityLevel (int level)
 change verbosity level; 0 means completely quiet
 
void setStepNumber (int newstep)
 change number of current step
 
const PDESOLVER & getPDESolver () const
 Access to the (non) linear solver.
 
PDESOLVER & getPDESolver ()
 Access to the (non) linear solver.
 
void setResult (const OneStepMethodResult &result_)
 Set a new result. 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 F >
apply (T time, T dt, TrlV &xold, F &f, TrlV &xnew)
 do one step; This is a version which interpolates constraints at the start of each stage More...
 

Detailed Description

template<class T, class IGOS, class PDESOLVER, class TrlV, class TstV = TrlV>
class Dune::PDELab::OneStepMethod< T, IGOS, PDESOLVER, TrlV, TstV >

Do one step of a time-stepping scheme.

Template Parameters
Ttype to represent time values
IGOSassembler for instationary problems
PDESOLVERsolver problem in each step (typically Newton)
TrlVvector type to represent coefficients of solutions
TstVvector type to represent residuals
Examples
recipe-operator-splitting.cc.

Constructor & Destructor Documentation

◆ OneStepMethod()

template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
Dune::PDELab::OneStepMethod< T, IGOS, PDESOLVER, TrlV, TstV >::OneStepMethod ( const TimeSteppingParameterInterface< T > &  method_,
IGOS &  igos_,
PDESOLVER &  pdesolver_ 
)
inline

construct a new one step scheme

Parameters
method_Parameter object. This chooses the actual method used.
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).

Member Function Documentation

◆ apply() [1/2]

template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
template<typename F >
T Dune::PDELab::OneStepMethod< T, IGOS, PDESOLVER, TrlV, TstV >::apply ( time,
dt,
TrlV &  xold,
F &  f,
TrlV &  xnew 
)
inline

do one step; This is a version which interpolates constraints at the start of each stage

Parameters
[in]timestart of time step
[in]dtsuggested time step size
[in]xoldvalue at begin of time step
[in]ffunction to interpolate boundary conditions from
[in,out]xnewvalue at end of time step; contains initial guess for first substep on entry
Returns
selected time step size

References Dune::PDELab::TimeSteppingParameterInterface< R >::d(), Dune::PDELab::TimeSteppingParameterInterface< R >::name(), and Dune::PDELab::TimeSteppingParameterInterface< R >::s().

◆ apply() [2/2]

template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
T Dune::PDELab::OneStepMethod< T, IGOS, PDESOLVER, TrlV, TstV >::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,out]xnewvalue at end of time step; contains initial guess for first substep on entry
Returns
selected time step size

References Dune::PDELab::TimeSteppingParameterInterface< R >::d(), Dune::PDELab::TimeSteppingParameterInterface< R >::name(), and Dune::PDELab::TimeSteppingParameterInterface< R >::s().

◆ setMethod()

template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
void Dune::PDELab::OneStepMethod< T, IGOS, PDESOLVER, TrlV, TstV >::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.

◆ setResult()

template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
void Dune::PDELab::OneStepMethod< T, IGOS, PDESOLVER, TrlV, TstV >::setResult ( const OneStepMethodResult &  result_)
inline

Set a new result.

Parameters
result_OneStepMethodResult object

Set the step number to the next timestep according to the result.

References Dune::PDELab::OneStepMethod< T, IGOS, PDESOLVER, TrlV, TstV >::setStepNumber().


The documentation for this class was generated from the following file:
Creative Commons License   |  Legal Statements / Impressum  |  Hosted by TU Dresden  |  generated with Hugo v0.111.3 (Nov 23, 23:29, 2024)