ryujin 2.1.1 revision b04fb4aba7bd97ddfa5994a6b4b6e8586eb15db2
Loading...
Searching...
No Matches
List of all members
ryujin::StubParabolicModule< HyperbolicDescription, dim, Number > Class Template Referencefinal

#include <source/stub_parabolic_module.h>

Inheritance diagram for ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >:
Inheritance graph
[legend]
Collaboration diagram for ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >:
Collaboration graph
[legend]

Public Types

Typedefs and constexpr constants
using HyperbolicSystem = typename HyperbolicDescription::HyperbolicSystem
 
using ParabolicSystem = StubParabolicSystem
 
using View = typename HyperbolicSystem::template View< dim, Number >
 

Public Member Functions

Constructor and setup
 StubParabolicModule (const MPIEnsemble &, const OfflineData< dim, Number > &, const HyperbolicSystem &, const ParabolicSystem &, const InitialValues< HyperbolicDescription, dim, Number > &, const std::string &subsection="StubParabolicModule")
 
void prepare ()
 
Functions for performing explicit time steps
void reinit_state_vector (StateVector< Number > &) const
 
void prepare_state_vector (StateVector< Number > &, Number) const
 
template<int stages>
void backward_euler_step (const StateVector< Number > &old_state_vector, const Number, std::array< std::reference_wrapper< const StateVector< Number > >, stages >, const std::array< Number, stages >, StateVector< Number > &new_state_vector, Number) const
 
void crank_nicolson_step (const StateVector< Number > &old_state_vector, const Number, StateVector< Number > &new_state_vector, Number) const
 
void set_id_violation_strategy (const IDViolationStrategy &) const
 
Information and statistics
void print_solver_statistics (std::ostream &) const
 
unsigned int n_restarts () const
 
unsigned int n_corrections () const
 
unsigned int n_warnings () const
 

Detailed Description

template<typename HyperbolicDescription, int dim, typename Number>
class ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >

A stub parabolic solver that models the identity.

Definition at line 26 of file stub_parabolic_module.h.

Member Typedef Documentation

◆ HyperbolicSystem

template<typename HyperbolicDescription , int dim, typename Number >
using ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::HyperbolicSystem = typename HyperbolicDescription::HyperbolicSystem

Definition at line 34 of file stub_parabolic_module.h.

◆ ParabolicSystem

template<typename HyperbolicDescription , int dim, typename Number >
using ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::ParabolicSystem = StubParabolicSystem

Definition at line 35 of file stub_parabolic_module.h.

◆ View

template<typename HyperbolicDescription , int dim, typename Number >
using ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::View = typename HyperbolicSystem::template View<dim, Number>

Definition at line 37 of file stub_parabolic_module.h.

Constructor & Destructor Documentation

◆ StubParabolicModule()

template<typename HyperbolicDescription , int dim, typename Number >
ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::StubParabolicModule ( const MPIEnsemble &  ,
const OfflineData< dim, Number > &  ,
const HyperbolicSystem &  ,
const ParabolicSystem &  ,
const InitialValues< HyperbolicDescription, dim, Number > &  ,
const std::string &  subsection = "StubParabolicModule< HyperbolicDescription, dim, Number >" 
)
inline

Constructor.

Definition at line 48 of file stub_parabolic_module.h.

Member Function Documentation

◆ prepare()

template<typename HyperbolicDescription , int dim, typename Number >
void ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::prepare ( )
inline

Prepare time stepping. A call to prepare() allocates temporary storage and is necessary before any of the following time-stepping functions can be called.

Definition at line 64 of file stub_parabolic_module.h.

◆ reinit_state_vector()

template<typename HyperbolicDescription , int dim, typename Number >
void ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::reinit_state_vector ( StateVector< Number > &  ) const
inline

(Re)initialize the parabolic state vector component of the state vector.

Note
This routine does not modify the hyperbolic state vector or the precomputed vector component.

Definition at line 82 of file stub_parabolic_module.h.

◆ prepare_state_vector()

template<typename HyperbolicDescription , int dim, typename Number >
void ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::prepare_state_vector ( StateVector< Number > &  ,
Number   
) const
inline

This function preprocesses a given state vector U in preparation for a high order IMEX time step. This function exists because some time stepping variants have to precompute quantities before we can perform an IMEX step. In addition, this function is called whenever we perform a mesh transfer or output operation.

Definition at line 94 of file stub_parabolic_module.h.

◆ backward_euler_step()

template<typename HyperbolicDescription , int dim, typename Number >
template<int stages>
void ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::backward_euler_step ( const StateVector< Number > &  old_state_vector,
const Number  ,
std::array< std::reference_wrapper< const StateVector< Number > >, stages >  ,
const std::array< Number, stages >  ,
StateVector< Number > &  new_state_vector,
Number   
) const
inline

Given a reference to a previous state vector old_U at time old_t and a time-step size tau perform an implicit backward euler step (and store the result in new_U).

The function takes an optional array of states stage_U together with a an array of weights stage_weights to construct a modified high-order right-hand side / flux.

Definition at line 112 of file stub_parabolic_module.h.

◆ crank_nicolson_step()

template<typename HyperbolicDescription , int dim, typename Number >
void ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::crank_nicolson_step ( const StateVector< Number > &  old_state_vector,
const Number  ,
StateVector< Number > &  new_state_vector,
Number   
) const
inline

Given a reference to a previous state vector old_U at time old_t and a time-step size tau perform an implicit Crank-Nicolson step (and store the result in new_U).

This variant is used in the TimeIntegrator class for the Strang split variants.

Definition at line 136 of file stub_parabolic_module.h.

◆ set_id_violation_strategy()

template<typename HyperbolicDescription , int dim, typename Number >
void ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::set_id_violation_strategy ( const IDViolationStrategy &  ) const
inline

Sets the invariant domain violation strategy.

Definition at line 151 of file stub_parabolic_module.h.

◆ print_solver_statistics()

template<typename HyperbolicDescription , int dim, typename Number >
void ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::print_solver_statistics ( std::ostream &  ) const
inline

Print a status line with solver statistics. This function is used for constructing the status message displayed periodically in the TimeLoop.

Definition at line 168 of file stub_parabolic_module.h.

◆ n_restarts()

template<typename HyperbolicDescription , int dim, typename Number >
unsigned int ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::n_restarts ( ) const
inline

The number of restarts signalled by the step() function.

Definition at line 176 of file stub_parabolic_module.h.

◆ n_corrections()

template<typename HyperbolicDescription , int dim, typename Number >
unsigned int ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::n_corrections ( ) const
inline

The number of corrections performed by the step() function. This function exists to mirror the ParabolicModule interface and will always return 0.

Definition at line 186 of file stub_parabolic_module.h.

◆ n_warnings()

template<typename HyperbolicDescription , int dim, typename Number >
unsigned int ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >::n_warnings ( ) const
inline

The number of ID violation warnings encountered in the step() function.

Definition at line 195 of file stub_parabolic_module.h.


The documentation for this class was generated from the following file: