TimeStepperImplicitEuler_impl< VectorType, SparseMatrixType, dim, LinearSolver > Class Template Reference#

DiFfRG: DiFfRG::TimeStepperImplicitEuler_impl< VectorType, SparseMatrixType, dim, LinearSolver > Class Template Reference
DiFfRG
Discretization Framework for functional Renormalization Group flows
DiFfRG::TimeStepperImplicitEuler_impl< VectorType, SparseMatrixType, dim, LinearSolver > Class Template Reference

#include <implicit_euler.hh>

Inheritance diagram for DiFfRG::TimeStepperImplicitEuler_impl< VectorType, SparseMatrixType, dim, LinearSolver >:
DiFfRG::AbstractTimestepper< VectorType, SparseMatrixType, dim >

Public Types

using NumberType = typename Base::NumberType
 
using BlockVectorType = typename Base::BlockVectorType
 

Public Member Functions

 TimeStepperImplicitEuler_impl (const ConfigTree &config, AbstractAssembler< VectorType, SparseMatrixType, dim > &assembler, OutputSession_impl< dim, VectorType > &data_out)
 
 TimeStepperImplicitEuler_impl (const ConfigTree &config, AbstractAssembler< VectorType, SparseMatrixType, dim > &assembler, OutputSession_impl< dim, VectorType > &data_out, AbstractAdaptor< VectorType > &adaptor)
 
virtual void run (AbstractFlowingVariables< NumberType, VectorType > &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 ConfigTree &config, AbstractAssembler< VectorType, SparseMatrixType, dim > &assembler, OutputSession_impl< dim, VectorType > &data_out, const bool implicit_stepper, const bool explicit_stepper)
 Construct a new Abstract Timestepper object.
 
 AbstractTimestepper (const ConfigTree &config, AbstractAssembler< VectorType, SparseMatrixType, dim > &assembler, OutputSession_impl< dim, VectorType > &data_out, AbstractAdaptor< VectorType > &adaptor, const bool implicit_stepper, const bool explicit_stepper)
 

Private Types

using Base = AbstractTimestepper<VectorType, SparseMatrixType, dim>
 

Additional Inherited Members

- Protected Types inherited from DiFfRG::AbstractTimestepper< VectorType, SparseMatrixType, dim >
using VectorType
 
using NumberType
 
using SparseMatrixType
 
using BlockVectorType
 
- Protected Member Functions inherited from DiFfRG::AbstractTimestepper< VectorType, SparseMatrixType, dim >
void drain_output ()
 
void finalize_output_after_failure (EmitFinalFrame &&emit_final_frame)
 Best-effort output cleanup while a timestepping failure is being reported.
 
bool is_implicit () const
 
bool is_explicit () const
 
- Protected Attributes inherited from DiFfRG::AbstractTimestepper< VectorType, SparseMatrixType, dim >
const ConfigTree config
 
NoAdaptivity< VectorType > adaptor_default
 
AbstractAssembler< VectorType, SparseMatrixType, dim > & assembler
 
OutputSession_impl< dim, VectorType > & data_out
 
AbstractAdaptor< VectorType > & adaptor
 
ReportPort log
 
const bool m_is_implicit
 
const bool m_is_explicit
 
double output_dt
 
struct DiFfRG::AbstractTimestepper::ImplicitParameters impl
 
struct DiFfRG::AbstractTimestepper::ExplicitParameters expl
 
std::size_t next_jacobian_build_id
 
TimestepperJacobianDiagnosticsState jacobian_diagnostics_state
 
- Static Protected Attributes inherited from DiFfRG::AbstractTimestepper< VectorType, SparseMatrixType, dim >
static constexpr uint dim
 

Member Typedef Documentation

◆ Base

template<typename VectorType , typename SparseMatrixType , uint dim, template< typename... > typename LinearSolver>
using DiFfRG::TimeStepperImplicitEuler_impl< VectorType, SparseMatrixType, dim, LinearSolver >::Base = AbstractTimestepper<VectorType, SparseMatrixType, dim>
private

◆ BlockVectorType

template<typename VectorType , typename SparseMatrixType , uint dim, template< typename... > typename LinearSolver>
using DiFfRG::TimeStepperImplicitEuler_impl< VectorType, SparseMatrixType, dim, LinearSolver >::BlockVectorType = typename Base::BlockVectorType

◆ NumberType

template<typename VectorType , typename SparseMatrixType , uint dim, template< typename... > typename LinearSolver>
using DiFfRG::TimeStepperImplicitEuler_impl< VectorType, SparseMatrixType, dim, LinearSolver >::NumberType = typename Base::NumberType

Constructor & Destructor Documentation

◆ TimeStepperImplicitEuler_impl() [1/2]

template<typename VectorType , typename SparseMatrixType , uint dim, template< typename... > typename LinearSolver>
DiFfRG::TimeStepperImplicitEuler_impl< VectorType, SparseMatrixType, dim, LinearSolver >::TimeStepperImplicitEuler_impl ( const ConfigTree & config,
AbstractAssembler< VectorType, SparseMatrixType, dim > & assembler,
OutputSession_impl< dim, VectorType > & data_out )
inline

Forwards to the base with this stepper's kind. Not using Base::Base;: the base needs to know which /timestepping/ section to read, and it cannot ask a virtual function for that from inside its own constructor.

◆ TimeStepperImplicitEuler_impl() [2/2]

template<typename VectorType , typename SparseMatrixType , uint dim, template< typename... > typename LinearSolver>
DiFfRG::TimeStepperImplicitEuler_impl< VectorType, SparseMatrixType, dim, LinearSolver >::TimeStepperImplicitEuler_impl ( const ConfigTree & config,
AbstractAssembler< VectorType, SparseMatrixType, dim > & assembler,
OutputSession_impl< dim, VectorType > & data_out,
AbstractAdaptor< VectorType > & adaptor )
inline

Member Function Documentation

◆ run()

template<typename VectorType , typename SparseMatrixType , uint dim, template< typename... > typename LinearSolver>
virtual void DiFfRG::TimeStepperImplicitEuler_impl< VectorType, SparseMatrixType, dim, LinearSolver >::run ( AbstractFlowingVariables< NumberType, VectorType > & initial_condition,
const double t_start,
const double t_stop )
overridevirtual

Any derived class must implement this method to run the timestepping algorithm.

Parameters
initial_conditionThe flowing variables object that contains the initial condition.
t_startThe start time of the simulation.
t_stopThe 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:
  • /home/runner/work/DiFfRG_current/DiFfRG_current/DiFfRG/include/DiFfRG/timestepping/implicit_euler.hh