![]() |
ryujin 2.5.0 revision c64172211cf21344cb9b9b0f3a1266aa6400d392
|
#include <include/ryujin/interface/parabolic_module.h>


Public Member Functions | |
Functions for performing implicit time steps | |
| virtual Number | backward_euler_step (const StateVector< Number > &old_state_vector, StageVectors stage_state_vectors, StageWeights stage_weights, StateVector< Number > &new_state_vector, Number t, Number tau, Number tau_max=std::numeric_limits< Number >::max()) const =0 |
| virtual Number | crank_nicolson_step (const StateVector< Number > &old_state_vector, StateVector< Number > &new_state_vector, Number t, Number tau, Number tau_max=std::numeric_limits< Number >::max()) const =0 |
The description-free interface of a ParabolicModule: implicit time stepping for a parabolic system.
The interface holds the common state of Interface::Module.
Definition at line 28 of file parabolic_module.h.
|
pure virtual |
Given a reference to a previous state vector old_state_vector at time t and a time-step size tau perform an implicit backward Euler step (and store the result in new_state_vector).
The stage state vectors stage_state_vectors together with the weights stage_weights are used to construct a modified high order right-hand side / flux.
The function returns the time step size tau. A parabolic module cannot choose the time step size: tau must be nonzero and tau_max is ignored.
Implemented in ryujin::EulerPoisson::ParabolicModule< HyperbolicDescription, dim, Number >, ryujin::NavierStokes::ParabolicModule< dim, Number >, and ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >.
|
pure virtual |
Given a reference to a previous state vector old_state_vector at time t and a time-step size tau perform an implicit Crank-Nicolson step (and store the result in new_state_vector).
This variant is used in the TimeIntegrator class for the Strang split variants.
The function returns the time step size tau. A parabolic module cannot choose the time step size: tau must be nonzero and tau_max is ignored.
Implemented in ryujin::EulerPoisson::ParabolicModule< HyperbolicDescription, dim, Number >, ryujin::NavierStokes::ParabolicModule< dim, Number >, and ryujin::StubParabolicModule< HyperbolicDescription, dim, Number >.