ryujin 2.1.1 revision 0348cbb53a3e4b1da2a4c037e81f88f2d21ce219
|
#include <source/parabolic_module.h>
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 ¶bolic_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 |
Implicit backward Euler time-stepping and Crank-Nicolson time-stepping for the parabolic subsystem.
Definition at line 33 of file parabolic_module.h.
using ryujin::ParabolicModule< Description, dim, Number >::HyperbolicSystem = typename Description::HyperbolicSystem |
Definition at line 41 of file parabolic_module.h.
using ryujin::ParabolicModule< Description, dim, Number >::View = typename Description::template HyperbolicSystemView<dim, Number> |
Definition at line 43 of file parabolic_module.h.
using ryujin::ParabolicModule< Description, dim, Number >::ParabolicSystem = typename Description::ParabolicSystem |
Definition at line 46 of file parabolic_module.h.
using ryujin::ParabolicModule< Description, dim, Number >::ParabolicSolver = typename Description::template ParabolicSolver<dim, Number> |
Definition at line 48 of file parabolic_module.h.
using ryujin::ParabolicModule< Description, dim, Number >::StateVector = typename View::StateVector |
Definition at line 51 of file parabolic_module.h.
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 >" |
||
) |
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.
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.
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.
|
inline |
The number of restarts issued by the step() function.
Definition at line 117 of file parabolic_module.h.
|
inline |
The number of ID violation warnings encounterd in the step() function.
Definition at line 123 of file parabolic_module.h.
|
mutable |
Definition at line 126 of file parabolic_module.h.