Do one step of a time-stepping scheme.
More...
#include <dune/pdelab/instationary/implicitonestep.hh>
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
-
T | type to represent time values |
IGOS | assembler for instationary problems |
PDESOLVER | solver problem in each step (typically Newton) |
TrlV | vector type to represent coefficients of solutions |
TstV | vector type to represent residuals |
- Examples
- recipe-operator-splitting.cc.
◆ Result
template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
◆ OneStepMethod()
template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
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).
◆ apply() [1/2]
template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
template<typename F >
do one step; This is a version which interpolates constraints at the start of each stage
- Parameters
-
[in] | time | start of time step |
[in] | dt | suggested time step size |
[in] | xold | value at begin of time step |
[in] | f | function to interpolate boundary conditions from |
[in,out] | xnew | value at end of time step; contains initial guess for first substep on entry |
- Returns
- selected time step size
◆ apply() [2/2]
template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
do one step;
- Parameters
-
[in] | time | start of time step |
[in] | dt | suggested time step size |
[in] | xold | value at begin of time step |
[in,out] | xnew | value at end of time step; contains initial guess for first substep on entry |
- Returns
- selected time step size
◆ getPDESolver() [1/2]
template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
Access to the (non) linear solver.
◆ getPDESolver() [2/2]
template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
Access to the (non) linear solver.
◆ result()
template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
◆ setMethod()
template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
redefine the method to be used; can be done before every step
- Parameters
-
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>
Set a new result.
- Parameters
-
Set the step number to the next timestep according to the result.
◆ setStepNumber()
template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
change number of current step
◆ setVerbosityLevel()
template<class T , class IGOS , class PDESOLVER , class TrlV , class TstV = TrlV>
change verbosity level; 0 means completely quiet
The documentation for this class was generated from the following file: