The abstract base class for all timestepping algorithms. It provides a standard constructor which populates typical timestepping parameters from a given JSONValue object, such as the timestep sizes, tolerances, verbosity, etc. that are used in the timestepping algorithms.
More...
|
| 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.
|
|
virtual void | run (AbstractFlowingVariables< NumberType > *initial_condition, const double t_start, const double t_stop)=0 |
| Any derived class must implement this method to run the timestepping algorithm.
|
|
template<typename VectorType_, typename SparseMatrixType_,
uint dim_>
class DiFfRG::AbstractTimestepper< VectorType_, SparseMatrixType_, dim_ >
The abstract base class for all timestepping algorithms. It provides a standard constructor which populates typical timestepping parameters from a given JSONValue object, such as the timestep sizes, tolerances, verbosity, etc. that are used in the timestepping algorithms.
In the JSONValue object, a /timestepping/ section must be present with the following parameters:
- /timestepping/output_dt: The output timestep size.
- /timestepping/implicit/dt: The timestep size for an implicit timestepping algorithm.
- /timestepping/implicit/minimal_dt: The minimal timestep size for an implicit timestepping algorithm.
- /timestepping/implicit/maximal_dt: The maximal timestep size for an implicit timestepping algorithm.
- /timestepping/implicit/abs_tol: The absolute tolerance for an implicit timestepping algorithm.
- /timestepping/implicit/rel_tol: The relative tolerance for an implicit timestepping algorithm.
- /timestepping/explicit/dt: The timestep size for an explicit timestepping algorithm.
- /timestepping/explicit/minimal_dt: The minimal timestep size for an explicit timestepping algorithm.
- /timestepping/explicit/maximal_dt: The maximal timestep size for an explicit timestepping algorithm.
- /timestepping/explicit/abs_tol: The absolute tolerance for an explicit timestepping algorithm.
- /timestepping/explicit/rel_tol: The relative tolerance for an explicit timestepping algorithm.
Additionally, the following parameters are being used:
- /output/verbosity: The verbosity level of the output.
- /physical/Lambda: The RG scale parameter Lambda. If not present, no RG scale is given when console_out is called.
The console_out method is used to print information about the current time, the calculation time and the current RG scale k to the console in a standardized way.
- Template Parameters
-
VectorType_ | The type of the vector used in the timestepping algorithm.. Currently only Vector<double> is supported. |
SparseMatrixType_ | The type of the sparse matrix used in the timestepping algorithm. This depends on the assembler used in the computation. |
dim_ | The dimensionality of the spatial discretization. |