A class to perform time stepping using the Boost Adams-Bashforth-Moulton method for the explicit part and SUNDIALS IDA for the implicit part. This stepper uses fixed time steps in the explicit part and adaptive time steps in the implicit part. IDA acts as the controller and the ABM stepper solves the explicit part of the problem on-demand.
More...
|
| virtual void | run (AbstractFlowingVariables< NumberType > *initial_condition, const double t_start, const double t_stop) override |
| | Any derived class must implement this method to run the timestepping algorithm.
|
| |
| | 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.
|
| |
|
| using | VectorType = VectorType |
| |
| using | NumberType = typename get_type::NumberType< VectorType > |
| |
| using | SparseMatrixType = SparseMatrixType |
| |
| using | InverseSparseMatrixType = typename get_type::InverseSparseMatrixType< SparseMatrixType > |
| |
| using | BlockVectorType = dealii::BlockVector< NumberType > |
| |
| void | print_console_out (const std::string &name, const double t, const size_t milliseconds, const std::optional< std::string > calc_dt=std::nullopt, const size_t calls=0) const |
| |
| void | console_out (const double t, const std::string name, const int verbosity_level, const double calc_dt_ms=-1.0) const |
| | Pretty-print the status of the timestepping algorithm to the console.
|
| |
| static std::string | console_out_category (const std::string &name) |
| |
| static std::string | format_uncertain_ms (const double mean_ms, const double uncertainty_ms) |
| |
| const JSONValue | json |
| |
| AbstractAssembler< VectorType, SparseMatrixType, dim > * | assembler |
| |
| DataOutput< dim, VectorType > * | data_out |
| |
| AbstractAdaptor< VectorType > * | adaptor |
| |
| const std::chrono::time_point< std::chrono::high_resolution_clock > | start_time |
| |
| std::shared_ptr< NoAdaptivity< VectorType > > | adaptor_default |
| |
| std::shared_ptr< DataOutput< dim, VectorType > > | data_out_default |
| |
| double | Lambda |
| |
| int | verbosity |
| |
| double | output_dt |
| |
| struct DiFfRG::AbstractTimestepper::ImplicitParameters | impl |
| |
| struct DiFfRG::AbstractTimestepper::ExplicitParameters | expl |
| |
| std::unordered_map< std::string, ConsoleOutStats > | console_out_stats_by_category |
| |
| static constexpr uint | dim |
| |
| static constexpr size_t | console_name_width |
| |
A class to perform time stepping using the Boost Adams-Bashforth-Moulton method for the explicit part and SUNDIALS IDA for the implicit part. This stepper uses fixed time steps in the explicit part and adaptive time steps in the implicit part. IDA acts as the controller and the ABM stepper solves the explicit part of the problem on-demand.
- Template Parameters
-
| VectorType | Type of the vector |
| dim | Dimension of the problem |