SpECTRE
v2024.12.16
|
Namespaces | |
namespace | TimeSteppers |
Holds classes that take time steps. | |
Classes | |
class | TimeSteppers::ConstBoundaryHistoryTimes |
Access to the list of TimeStepId s in a BoundaryHistory . More... | |
class | TimeSteppers::BoundaryHistoryEvaluator< UntypedCouplingResult > |
Type erased base class for evaluating BoundaryHistory couplings. More... | |
class | TimeSteppers::BoundaryHistory< LocalData, RemoteData, CouplingResult > |
History data used by a TimeStepper for boundary integration. More... | |
struct | TimeSteppers::UntypedStepRecord< T > |
Entry in the time-stepper history, in type-erased form. More... | |
class | TimeSteppers::ConstUntypedHistory< T > |
Access to the history data used by a TimeStepper in type-erased form. Obtain an instance with History::untyped() . More... | |
class | TimeSteppers::MutableUntypedHistory< T > |
Mutable access to the history data used by a TimeStepper in type-erased form. Obtain an instance with History::untyped() . More... | |
struct | TimeSteppers::StepRecord< Vars > |
Data in an entry of the time-stepper history. More... | |
class | TimeSteppers::History< Vars > |
The past-time data used by TimeStepper classes to update the evolved variables. More... | |
class | TimeSteppers::AdamsBashforth |
class | TimeSteppers::AdamsMoultonPc< Monotonic > |
class | TimeSteppers::ClassicalRungeKutta4 |
class | TimeSteppers::DormandPrince5 |
class | TimeSteppers::Heun2 |
A second order continuous-extension RK method that provides 2nd-order dense output. More... | |
class | TimeSteppers::ImexRungeKutta |
class | ImexTimeStepper |
class | LtsTimeStepper |
Base class for TimeSteppers with local time-stepping support, derived from TimeStepper. More... | |
class | TimeSteppers::Rk3HesthavenSsp |
A "strong stability-preserving" 3rd-order Runge-Kutta time-stepper, as described in [92] section 5.7. More... | |
class | TimeSteppers::Rk3Kennedy |
A third-order Runge-Kutta method with IMEX support. More... | |
class | TimeSteppers::Rk3Owren |
A third order continuous-extension RK method that provides 3rd-order dense output. More... | |
class | TimeSteppers::Rk3Pareschi |
A third-order Runge-Kutta method with IMEX support. More... | |
class | TimeSteppers::Rk4Kennedy |
A fourth-order Runge-Kutta method with IMEX support. More... | |
class | TimeSteppers::Rk4Owren |
A fourth order continuous-extension RK method that provides 4th-order dense output. More... | |
class | TimeSteppers::Rk5Owren |
A fifth order continuous-extension RK method that provides 5th-order dense output. More... | |
class | TimeSteppers::Rk5Tsitouras |
A fifth order RK method constructed with fewer restrictions on its coefficients than is common. On a standard test suite, it was found to be roughly 10% more efficient than DormandPrince5.[194]. More... | |
class | TimeSteppers::RungeKutta |
class | TimeStepper |
Abstract base class for TimeSteppers. More... | |
Macros | |
#define | IMEX_TIME_STEPPER_DECLARE_OVERLOADS |
Macro declaring overloaded detail methods in classes derived from ImexTimeStepper. Must be placed in a private section of the class body. More... | |
#define | IMEX_TIME_STEPPER_DEFINE_OVERLOADS(derived_class) |
Macro defining overloaded detail methods in classes derived from ImexTimeStepper. Must be placed in the cpp file for the derived class. More... | |
#define | LTS_TIME_STEPPER_DECLARE_OVERLOADS |
Macro declaring overloaded detail methods in classes derived from TimeStepper. Must be placed in a private section of the class body. More... | |
#define | TIME_STEPPER_DECLARE_OVERLOADS |
Macro declaring overloaded detail methods in classes derived from TimeStepper. Must be placed in a private section of the class body. More... | |
template<typename DestVars , typename SourceVars , typename ValueTransformer , typename DerivativeTransformer > | |
void | TimeSteppers::transform (const gsl::not_null< History< DestVars > * > dest, const History< SourceVars > &source, ValueTransformer &&value_transformer, DerivativeTransformer &&derivative_transformer) |
Initialize a History object based on the contents of another, applying a transformation to each value and derivative. More... | |
template<typename DestVars , typename SourceVars , typename Transformer > | |
void | TimeSteppers::transform (const gsl::not_null< History< DestVars > * > dest, const History< SourceVars > &source, Transformer &&transformer) |
Initialize a History object based on the contents of another, applying a transformation to each value and derivative. More... | |
#define | LTS_TIME_STEPPER_DEFINE_OVERLOADS(derived_class) |
Macro defining overloaded detail methods in classes derived from TimeStepper. Must be placed in the cpp file for the derived class. More... | |
#define | LTS_TIME_STEPPER_DEFINE_OVERLOADS_TEMPLATED(derived_class, template_args) |
Macro defining overloaded detail methods in classes derived from TimeStepper. Must be placed in the cpp file for the derived class. More... | |
#define | TIME_STEPPER_DEFINE_OVERLOADS(derived_class) |
Macro defining overloaded detail methods in classes derived from TimeStepper. Must be placed in the cpp file for the derived class. More... | |
#define | TIME_STEPPER_DEFINE_OVERLOADS_TEMPLATED(derived_class, template_args) |
Macro defining overloaded detail methods in classes derived from TimeStepper. Must be placed in the cpp file for the derived class. More... | |
A collection of ODE integrators primarily used for time stepping.
#define IMEX_TIME_STEPPER_DECLARE_OVERLOADS |
Macro declaring overloaded detail methods in classes derived from ImexTimeStepper. Must be placed in a private section of the class body.
#define IMEX_TIME_STEPPER_DEFINE_OVERLOADS | ( | derived_class | ) |
Macro defining overloaded detail methods in classes derived from ImexTimeStepper. Must be placed in the cpp file for the derived class.
#define LTS_TIME_STEPPER_DECLARE_OVERLOADS |
Macro declaring overloaded detail methods in classes derived from TimeStepper. Must be placed in a private section of the class body.
#define LTS_TIME_STEPPER_DEFINE_OVERLOADS | ( | derived_class | ) |
Macro defining overloaded detail methods in classes derived from TimeStepper. Must be placed in the cpp file for the derived class.
#define LTS_TIME_STEPPER_DEFINE_OVERLOADS_TEMPLATED | ( | derived_class, | |
template_args | |||
) |
Macro defining overloaded detail methods in classes derived from TimeStepper. Must be placed in the cpp file for the derived class.
#define TIME_STEPPER_DECLARE_OVERLOADS |
Macro declaring overloaded detail methods in classes derived from TimeStepper. Must be placed in a private section of the class body.
#define TIME_STEPPER_DEFINE_OVERLOADS | ( | derived_class | ) |
Macro defining overloaded detail methods in classes derived from TimeStepper. Must be placed in the cpp file for the derived class.
#define TIME_STEPPER_DEFINE_OVERLOADS_TEMPLATED | ( | derived_class, | |
template_args | |||
) |
Macro defining overloaded detail methods in classes derived from TimeStepper. Must be placed in the cpp file for the derived class.
void TimeSteppers::transform | ( | const gsl::not_null< History< DestVars > * > | dest, |
const History< SourceVars > & | source, | ||
Transformer && | transformer | ||
) |
Initialize a History object based on the contents of another, applying a transformation to each value and derivative.
The transformation functions can either take a value from the source history and return a value for the destination history or take a gsl::not_null
value from the destination history and a value from the source history to initialize it with. For the sake of implementation simplicity, either both transformers must mutate or both must produce values.
An overload applying the same transformation to the values and derivatives is provided for convenience.
void TimeSteppers::transform | ( | const gsl::not_null< History< DestVars > * > | dest, |
const History< SourceVars > & | source, | ||
ValueTransformer && | value_transformer, | ||
DerivativeTransformer && | derivative_transformer | ||
) |
Initialize a History object based on the contents of another, applying a transformation to each value and derivative.
The transformation functions can either take a value from the source history and return a value for the destination history or take a gsl::not_null
value from the destination history and a value from the source history to initialize it with. For the sake of implementation simplicity, either both transformers must mutate or both must produce values.
An overload applying the same transformation to the values and derivatives is provided for convenience.