|
DiFfRG
|
A class to perform time stepping using adaptive Boost Runge-Kutta methods. This stepper uses adaptive time steps and is fully explicit. More...
#include <boost_rk.hh>
Public Types | |
| using | NumberType = typename Base::NumberType |
| using | InverseSparseMatrixType = typename Base::InverseSparseMatrixType |
| using | BlockVectorType = typename Base::BlockVectorType |
| using | error_stepper_type = typename stepperChoice<prec>::value |
Public Member Functions | |
| virtual void | run (AbstractFlowingVariables< NumberType > *initial_condition, const double t_start, const double t_stop) override |
| Run the time stepping algorithm. | |
Public Member Functions inherited from DiFfRG::AbstractTimestepper< VectorType, SparseMatrixType, dim > | |
| AbstractTimestepper (const JSONValue &json, AbstractAssembler< VectorType, SparseMatrixType, dim > *assembler, DataOutput< dim, VectorType > *data_out=nullptr, AbstractAdaptor< VectorType > *adaptor=nullptr) | |
| Construct a new Abstract Timestepper object. | |
| DataOutput< dim, VectorType > * | get_data_out () |
| Utility function to obtain a DataOutput object. If no DataOutput object is provided, a default one is created. | |
| AbstractAdaptor< VectorType > * | get_adaptor () |
| Utility function to obtain an Adaptor object. If no Adaptor object is provided, a default one is created, which is the NoAdaptivity object, i.e. no mesh adaptivity is used. | |
Private Types | |
| using | Base = AbstractTimestepper<VectorType, SparseMatrixType, dim> |
Private Member Functions | |
| void | run (VectorType &initial_data, const double t_start, const double t_stop) |
| void | run (BlockVectorType &initial_data, const double t_start, const double t_stop) |
| void | run_vars (VectorType &initial_data, const double t_start, const double t_stop) |
A class to perform time stepping using adaptive Boost Runge-Kutta methods. This stepper uses adaptive time steps and is fully explicit.
| VectorType | Type of the vector |
| dim | Dimension of the problem |
| prec | Algorithm choice: 0 for Cash-Karp54 (5th order), 1 for Fehlberg78 (8th order) |
|
private |
| using DiFfRG::TimeStepperBoostRK< VectorType, SparseMatrixType, dim, prec >::BlockVectorType = typename Base::BlockVectorType |
| using DiFfRG::TimeStepperBoostRK< VectorType, SparseMatrixType, dim, prec >::error_stepper_type = typename stepperChoice<prec>::value |
| using DiFfRG::TimeStepperBoostRK< VectorType, SparseMatrixType, dim, prec >::InverseSparseMatrixType = typename Base::InverseSparseMatrixType |
| using DiFfRG::TimeStepperBoostRK< VectorType, SparseMatrixType, dim, prec >::NumberType = typename Base::NumberType |
|
overridevirtual |
Run the time stepping algorithm.
Implements DiFfRG::AbstractTimestepper< VectorType, SparseMatrixType, dim >.
|
private |
|
private |
|
private |