ryujin 2.1.1 revision 0348cbb53a3e4b1da2a4c037e81f88f2d21ce219
List of all members
ryujin::ParabolicModule< Description, dim, Number > Class Template Referencefinal

#include <source/parabolic_module.h>

Inheritance diagram for ryujin::ParabolicModule< Description, dim, Number >:
Inheritance graph
[legend]
Collaboration diagram for ryujin::ParabolicModule< Description, dim, Number >:
Collaboration graph
[legend]

Public Types

Typedefs and constexpr constants
using HyperbolicSystem = typename Description::HyperbolicSystem
 
using View = typename Description::template HyperbolicSystemView< dim, Number >
 
using ParabolicSystem = typename Description::ParabolicSystem
 
using ParabolicSolver = typename Description::template ParabolicSolver< dim, Number >
 
using StateVector = typename View::StateVector
 

Public Member Functions

Constructor and setup
 ParabolicModule (const MPIEnsemble &mpi_ensemble, std::map< std::string, dealii::Timer > &computing_timer, const OfflineData< dim, Number > &offline_data, const HyperbolicSystem &hyperbolic_system, const ParabolicSystem &parabolic_system, const InitialValues< Description, dim, Number > &initial_values, const std::string &subsection="/ParabolicModule")
 
void prepare ()
 
Functons for performing explicit time steps
template<int stages>
void step (const StateVector &old_state_vector, const Number old_t, std::array< std::reference_wrapper< const StateVector >, stages > stage_state_vectors, const std::array< Number, stages > stage_weights, StateVector &new_state_vector, Number tau) const
 
void print_solver_statistics (std::ostream &output) const
 

Accessors

IDViolationStrategy id_violation_strategy_
 
auto & n_restarts () const
 
auto & n_warnings () const
 

Detailed Description

template<typename Description, int dim, typename Number = double>
class ryujin::ParabolicModule< Description, dim, Number >

Implicit backward Euler time-stepping and Crank-Nicolson time-stepping for the parabolic subsystem.

Definition at line 33 of file parabolic_module.h.

Member Typedef Documentation

◆ HyperbolicSystem

template<typename Description , int dim, typename Number = double>
using ryujin::ParabolicModule< Description, dim, Number >::HyperbolicSystem = typename Description::HyperbolicSystem

Definition at line 41 of file parabolic_module.h.

◆ View

template<typename Description , int dim, typename Number = double>
using ryujin::ParabolicModule< Description, dim, Number >::View = typename Description::template HyperbolicSystemView<dim, Number>

Definition at line 43 of file parabolic_module.h.

◆ ParabolicSystem

template<typename Description , int dim, typename Number = double>
using ryujin::ParabolicModule< Description, dim, Number >::ParabolicSystem = typename Description::ParabolicSystem

Definition at line 46 of file parabolic_module.h.

◆ ParabolicSolver

template<typename Description , int dim, typename Number = double>
using ryujin::ParabolicModule< Description, dim, Number >::ParabolicSolver = typename Description::template ParabolicSolver<dim, Number>

Definition at line 48 of file parabolic_module.h.

◆ StateVector

template<typename Description , int dim, typename Number = double>
using ryujin::ParabolicModule< Description, dim, Number >::StateVector = typename View::StateVector

Definition at line 51 of file parabolic_module.h.

Constructor & Destructor Documentation

◆ ParabolicModule()

template<typename Description , int dim, typename Number >
ryujin::ParabolicModule< Description, dim, Number >::ParabolicModule ( const MPIEnsemble mpi_ensemble,
std::map< std::string, dealii::Timer > &  computing_timer,
const OfflineData< dim, Number > &  offline_data,
const HyperbolicSystem hyperbolic_system,
const ParabolicSystem parabolic_system,
const InitialValues< Description, dim, Number > &  initial_values,
const std::string &  subsection = "/ParabolicModule< Description, dim, Number >" 
)

Constructor.

Definition at line 15 of file parabolic_module.template.h.

References ryujin::warn.

Member Function Documentation

◆ prepare()

template<typename Description , int dim, typename Number >
void ryujin::ParabolicModule< Description, dim, Number >::prepare

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 39 of file parabolic_module.template.h.

References ryujin::ScalarConservation::ParabolicSystem::is_identity.

◆ step()

template<typename Description , int dim, typename Number >
template<int stages>
void ryujin::ParabolicModule< Description, dim, Number >::step ( const StateVector old_state_vector,
const Number  old_t,
std::array< std::reference_wrapper< const StateVector >, stages >  stage_state_vectors,
const std::array< Number, stages >  stage_weights,
StateVector new_state_vector,
Number  tau 
) const

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 54 of file parabolic_module.template.h.

◆ print_solver_statistics()

template<typename Description , int dim, typename Number >
void ryujin::ParabolicModule< Description, dim, Number >::print_solver_statistics ( std::ostream &  output) const

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

Definition at line 90 of file parabolic_module.template.h.

References ryujin::ScalarConservation::ParabolicSystem::is_identity.

◆ n_restarts()

template<typename Description , int dim, typename Number = double>
auto & ryujin::ParabolicModule< Description, dim, Number >::n_restarts ( ) const
inline

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

Definition at line 117 of file parabolic_module.h.

◆ n_warnings()

template<typename Description , int dim, typename Number = double>
auto & ryujin::ParabolicModule< Description, dim, Number >::n_warnings ( ) const
inline

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

Definition at line 123 of file parabolic_module.h.

Member Data Documentation

◆ id_violation_strategy_

template<typename Description , int dim, typename Number = double>
IDViolationStrategy ryujin::ParabolicModule< Description, dim, Number >::id_violation_strategy_
mutable

Definition at line 126 of file parabolic_module.h.


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