TimeIntegration Namespace Reference
|
Developer Documentation
|
Class providing different low storage explicit Runge-Kutta schemes. The schemes implemented in this class are presented in. More...
Classes | |
| class | BDFIntegrator |
| class | ImplicitExplicitIntegrator |
| class | LowStorageExplicitRungeKuttaIntegrator |
| class | OneStepTheta |
| class | SolutionHistory |
| class | TimeIntegratorBase |
| class | TimeIterator |
| struct | TimeStepLimitData |
| struct | TimeSteppingData |
Functions | |
| BETTER_ENUM (TimeIntegratorSchemes, int, not_initialized, LSRK_stage_1_order_1, LSRK_stage_3_order_3, LSRK_stage_5_order_4, LSRK_stage_7_order_4, LSRK_stage_9_order_5, implicit_euler, explicit_euler, crank_nicolson, bdf_1, bdf_2, bdf_3, bdf_4, bdf_5, bdf_6, imex) template< typename number | |
| bool | time_integrator_scheme_is_explicit (const TimeIntegratorSchemes scheme) |
| bool | time_integrator_scheme_is_implicit (const TimeIntegratorSchemes scheme) |
| template<typename number , typename PDEOperator > | |
| TimeIntegratorBase< number > * | explicit_time_integrator_factory (const PDEOperator &pde_operator, const TimeIntegratorData< number > ¶ms) |
| template<int dim, typename number , typename PDEOperator > | |
| TimeIntegratorBase< number > * | implicit_time_integrator_factory (const PDEOperator &pde_operator, const ScratchData< dim, dim, number > &scratch_data, const unsigned int dof_idx, const TimeIntegratorData< number > ¶ms) |
| template<typename number , typename PDEOperator , typename VectorType = dealii::LinearAlgebra::distributed::Vector<number>> | |
| TimeIntegratorBase< number > * | time_integrator_factory (const PDEOperator &pde_operator, const TimeIntegratorData< number > ¶ms, const LinearSolverData< number > &linear_solver_data, dealii::TimerOutput &) |
Variables | |
| static constexpr std::array< TimeIntegratorSchemes, 6 > | bdf_supported_schemes |
| The time integrator schemes supported by the bdf time integrator. | |
| static constexpr std::array< TimeIntegratorSchemes, 5 > | explicit_lsrk_supported_schemes |
| The time integrator schemes supported by the low storage explicit Runge-Kutta time integrator. | |
| static constexpr std::array< TimeIntegratorSchemes, 1 > | imex_supported_schemes |
| The time integrator schemes supported by the implicit-explicit time integrator. | |
| static constexpr std::array< TimeIntegratorSchemes, 3 > | one_step_theta_supported_schemes |
Detailed Description
Class providing different low storage explicit Runge-Kutta schemes. The schemes implemented in this class are presented in.
Time integrator base class from which all explicit time integrator classes are derived.
Kennedy, C.A., Carpenter, M.H & Lewis, R.M. (2000). Low-storage, explicit Runge-Kutta schemes for the compressible Navier-Stokes equations. Applied Numerical Mathematics, 35(2000), 177-219.
Adopted from
https://github.com/peterrum/pf-applications
Authors: Peter Munch, Vladimir Ivannikov
Function Documentation
◆ BETTER_ENUM()
| MeltPoolDG::TimeIntegration::BETTER_ENUM | ( | TimeIntegratorSchemes | , |
| int | , | ||
| not_initialized | , | ||
| LSRK_stage_1_order_1 | , | ||
| LSRK_stage_3_order_3 | , | ||
| LSRK_stage_5_order_4 | , | ||
| LSRK_stage_7_order_4 | , | ||
| LSRK_stage_9_order_5 | , | ||
| implicit_euler | , | ||
| explicit_euler | , | ||
| crank_nicolson | , | ||
| bdf_1 | , | ||
| bdf_2 | , | ||
| bdf_3 | , | ||
| bdf_4 | , | ||
| bdf_5 | , | ||
| bdf_6 | , | ||
| imex | |||
| ) |
Collection of all integrator parameters.
◆ explicit_time_integrator_factory()
| TimeIntegratorBase< number > * MeltPoolDG::TimeIntegration::explicit_time_integrator_factory | ( | const PDEOperator & | pde_operator, |
| const TimeIntegratorData< number > & | params | ||
| ) |
Factory function that creates and returns a raw pointer to an explicit time integrator based on the scheme specified in TimeIntegratorData.
- Parameters
-
params Contains the configuration details for the time integrator. timer Timer passed to the constructor of the time integrator.
- Returns
- A raw pointer to the appropriate explicit time integrator.
- Exceptions
-
An exception if the specified integration scheme is not supported.
- Note
- This function returns a raw pointer, leaving the responsibility for memory management (e.g., wrapping it in a smart pointer) to the caller.
◆ implicit_time_integrator_factory()
| TimeIntegratorBase< number > * MeltPoolDG::TimeIntegration::implicit_time_integrator_factory | ( | const PDEOperator & | pde_operator, |
| const ScratchData< dim, dim, number > & | scratch_data, | ||
| const unsigned int | dof_idx, | ||
| const TimeIntegratorData< number > & | params | ||
| ) |
Factory function that creates and returns a raw pointer to an implicit time integrator based on the scheme specified in TimeIntegratorData.
- Parameters
-
params Contains the configuration details for the time integrator. scratch_data Scratch data object to get relevant dof information for the integrator. dof_idx Relevant dof index in the scratch data object. timer Timer passed to the constructor of the time integrator.
- Returns
- A raw pointer to the appropriate implicit time integrator.
- Exceptions
-
An exception if the specified integration scheme is not supported.
- Note
- This function returns a raw pointer, leaving the responsibility for memory management (e.g., wrapping it in a smart pointer) to the caller.
◆ time_integrator_factory()
| TimeIntegratorBase< number > * MeltPoolDG::TimeIntegration::time_integrator_factory | ( | const PDEOperator & | pde_operator, |
| const TimeIntegratorData< number > & | params, | ||
| const LinearSolverData< number > & | linear_solver_data, | ||
| dealii::TimerOutput & | |||
| ) |
Factory function that creates and returns a raw pointer to any suitable time integrator derived form the time integrator base class based on the scheme specified in TimeIntegratorData.
- Parameters
-
params Contains the configuration details for the time integrator. linear_solver_data Data for the linear solver used in (semi-) implicit time stepping. timer Timer passed to the constructor of the time integrator.
- Returns
- A raw pointer to the appropriate time integrator.
- Exceptions
-
An exception if the specified integration scheme is not supported.
- Note
- This function returns a raw pointer, leaving the responsibility for memory management (e.g., wrapping it in a smart pointer) to the caller.
◆ time_integrator_scheme_is_explicit()
|
inline |
Checks if the given scheme is explicit and supported by one of the available explicit integrator classes.
- Parameters
-
scheme The time integration scheme to check.
- Returns
- True if the scheme is explicit and supported; otherwise, false.
◆ time_integrator_scheme_is_implicit()
|
inline |
Checks if the given scheme is implicit and supported by one of the available implicit integrator classes.
- Parameters
-
scheme The time integration scheme to check.
- Returns
- True if the scheme is implicit and supported; otherwise, false.
Variable Documentation
◆ bdf_supported_schemes
|
inlinestaticconstexpr |
The time integrator schemes supported by the bdf time integrator.
◆ explicit_lsrk_supported_schemes
|
inlinestaticconstexpr |
The time integrator schemes supported by the low storage explicit Runge-Kutta time integrator.
◆ imex_supported_schemes
|
inlinestaticconstexpr |
The time integrator schemes supported by the implicit-explicit time integrator.
◆ one_step_theta_supported_schemes
|
inlinestaticconstexpr |
Generated by