|
|
| Rk3Kennedy (const Rk3Kennedy &)=default |
|
Rk3Kennedy & | operator= (const Rk3Kennedy &)=default |
|
| Rk3Kennedy (Rk3Kennedy &&)=default |
|
Rk3Kennedy & | operator= (Rk3Kennedy &&)=default |
| variants::TaggedVariant< Tags::FixedOrder, Tags::VariableOrder > | order () const override |
| | The convergence order of the stepper.
|
| double | stable_step () const override |
| | Rough estimate of the maximum step size this method can take stably as a multiple of the step for Euler's method.
|
| size_t | imex_order () const override |
| | Convergence order of the integrator when used in IMEX mode.
|
| size_t | implicit_stage_order () const override |
|
| WRAPPED_PUPable_decl_template (Rk3Kennedy) |
|
| Rk3Kennedy (CkMigrateMessage *) |
| const ButcherTableau & | butcher_tableau () const override |
| const ImplicitButcherTableau & | implicit_butcher_tableau () const override |
| uint64_t | number_of_substeps () const override |
| | Number of substeps in this TimeStepper.
|
| uint64_t | number_of_substeps_for_error () const override |
| | Number of substeps in this TimeStepper when providing an error measure for adaptive time-stepping.
|
| size_t | number_of_past_steps () const override |
| | Number of past time steps needed for multi-step method.
|
| bool | monotonic () const override |
| | Whether computational and temporal orderings of operations match.
|
| TimeStepId | next_time_id (const TimeStepId ¤t_id, const TimeDelta &time_step) const override |
| | The TimeStepId after the current substep.
|
| TimeStepId | next_time_id_for_error (const TimeStepId ¤t_id, const TimeDelta &time_step) const override |
| | The TimeStepId after the current substep when providing an error measure for adaptive time-stepping.
|
|
| WRAPPED_PUPable_abstract (TimeStepper) |
| template<typename Vars> |
| void | update_u (const gsl::not_null< Vars * > u, const TimeSteppers::History< Vars > &history, const TimeDelta &time_step) const |
| | Set u to the value at the end of the current substep.
|
| template<typename Vars> |
| std::optional< StepperErrorEstimate > | update_u (const gsl::not_null< Vars * > u, const TimeSteppers::History< Vars > &history, const TimeDelta &time_step, const StepperErrorTolerances &tolerances) const |
| | Set u to the value at the end of the current substep; report the error measure when available.
|
| template<typename Vars> |
| void | clean_history (const gsl::not_null< TimeSteppers::History< Vars > * > history) const |
| | Remove old entries from the history.
|
| template<typename Vars> |
| bool | dense_update_u (const gsl::not_null< Vars * > u, const TimeSteppers::History< Vars > &history, const double time) const |
| | Compute the solution value at a time between steps. To evaluate at a time within a given step, call this method at the start of the step containing the time. The function returns true on success, otherwise the call should be retried after the next substep.
|
| template<typename Vars> |
| bool | can_change_step_size (const TimeStepId &time_id, const TimeSteppers::History< Vars > &history) const |
| | Whether a change in the step size is allowed before taking a step. Step sizes can never be changed on a substep.
|
|
| WRAPPED_PUPable_abstract (ImexTimeStepper) |
| template<typename Vars> |
| void | add_inhomogeneous_implicit_terms (const gsl::not_null< Vars * > u, const TimeSteppers::History< Vars > &implicit_history, const TimeDelta &time_step) const |
| | Add the change for the current implicit substep, \(Y_{n,\text{inhomogeneous}}\), to u, given a past history of the implicit derivatives.
|
| template<typename Vars> |
| double | implicit_weight (const TimeSteppers::History< Vars > &implicit_history, const TimeDelta &time_step) const |
| | The coefficient \(w_n\) of the implicit derivative for the current substep. For a Runge-Kutta method, this is the coefficient on the diagonal of the Butcher tableau.
|
A third-order Runge-Kutta method with IMEX support.
The coefficients are given as ARK3(2)4L[2]SA in [113].
The implicit part is stiffly accurate and L-stable.
The CFL factor/stable step size is 1.832102281377816.