TimeStepperImplicitEuler< VectorType, SparseMatrixType, dim, LinearSolver > Class Template Reference#
|
DiFfRG
Discretization Framework for functional Renormalization Group flows
|
DiFfRG::TimeStepperImplicitEuler< VectorType, SparseMatrixType, dim, LinearSolver > Class Template Reference
#include <implicit_euler.hh>
Inheritance diagram for DiFfRG::TimeStepperImplicitEuler< VectorType, SparseMatrixType, dim, LinearSolver >:
Public Types | |
| using | NumberType = typename Base::NumberType |
| using | InverseSparseMatrixType = typename Base::InverseSparseMatrixType |
| using | BlockVectorType = typename Base::BlockVectorType |
Public Member Functions | |
| 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. | |
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 > |
Additional Inherited Members | |
Protected Types inherited from DiFfRG::AbstractTimestepper< VectorType, SparseMatrixType, dim > | |
| 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 > |
Protected Member Functions inherited from DiFfRG::AbstractTimestepper< VectorType, SparseMatrixType, dim > | |
| 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 Protected Member Functions inherited from DiFfRG::AbstractTimestepper< VectorType, SparseMatrixType, dim > | |
| static std::string | console_out_category (const std::string &name) |
| static std::string | format_uncertain_ms (const double mean_ms, const double uncertainty_ms) |
Protected Attributes inherited from DiFfRG::AbstractTimestepper< VectorType, SparseMatrixType, dim > | |
| 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 Protected Attributes inherited from DiFfRG::AbstractTimestepper< VectorType, SparseMatrixType, dim > | |
| static constexpr uint | dim |
| static constexpr size_t | console_name_width |
Member Typedef Documentation
◆ Base
template<typename VectorType , typename SparseMatrixType , uint dim, template< typename, typename > typename LinearSolver>
|
private |
◆ BlockVectorType
template<typename VectorType , typename SparseMatrixType , uint dim, template< typename, typename > typename LinearSolver>
| using DiFfRG::TimeStepperImplicitEuler< VectorType, SparseMatrixType, dim, LinearSolver >::BlockVectorType = typename Base::BlockVectorType |
◆ InverseSparseMatrixType
template<typename VectorType , typename SparseMatrixType , uint dim, template< typename, typename > typename LinearSolver>
| using DiFfRG::TimeStepperImplicitEuler< VectorType, SparseMatrixType, dim, LinearSolver >::InverseSparseMatrixType = typename Base::InverseSparseMatrixType |
◆ NumberType
template<typename VectorType , typename SparseMatrixType , uint dim, template< typename, typename > typename LinearSolver>
| using DiFfRG::TimeStepperImplicitEuler< VectorType, SparseMatrixType, dim, LinearSolver >::NumberType = typename Base::NumberType |
Member Function Documentation
◆ run()
template<typename VectorType , typename SparseMatrixType , uint dim, template< typename, typename > typename LinearSolver>
|
overridevirtual |
Any derived class must implement this method to run the timestepping algorithm.
- Parameters
-
initial_condition A pointer to a flowing variables object that contains the initial condition. t_start The start time of the simulation. t_stop The run method will evolve the system from t_start to t_stop.
Implements DiFfRG::AbstractTimestepper< VectorType, SparseMatrixType, dim >.
The documentation for this class was generated from the following file:
- /__w/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/timestepping/implicit_euler.hh
Generated by
Public Member Functions inherited from