|
SpECTRE
2021.08.02
|
Base class for TimeSteppers with local time-stepping support, derived from TimeStepper. More...
#include <TimeStepper.hpp>
Public Types | |
| using | Inherit = LtsTimeStepper_detail::FakeVirtualInherit_boundary_dense_output< LtsTimeStepper_detail::FakeVirtualInherit_compute_boundary_delta< LtsTimeStepper > > |
| using | creatable_classes = tmpl::list< TimeSteppers::AdamsBashforthN > |
Public Member Functions | |
| WRAPPED_PUPable_abstract (LtsTimeStepper) | |
| template<typename LocalVars , typename RemoteVars , typename Coupling > | |
| std::result_of_t< const Coupling &(LocalVars, RemoteVars)> | compute_boundary_delta (const Coupling &coupling, const gsl::not_null< TimeSteppers::BoundaryHistory< LocalVars, RemoteVars, std::result_of_t< const Coupling &(LocalVars, RemoteVars)> > * > history, const TimeDelta &time_step) const noexcept |
| Compute the change in a boundary quantity due to the coupling on the interface. More... | |
| template<typename LocalVars , typename RemoteVars , typename Coupling > | |
| std::result_of_t< const Coupling &(LocalVars, RemoteVars)> | boundary_dense_output (const Coupling &coupling, const TimeSteppers::BoundaryHistory< LocalVars, RemoteVars, std::result_of_t< const Coupling &(LocalVars, RemoteVars)> > &history, const double time) const noexcept |
| uint64_t | number_of_substeps () const noexcept final |
| Substep LTS integrators are not supported, so this is always 1. | |
| uint64_t | number_of_substeps_for_error () const noexcept final |
| Substep LTS integrators are not supported, so this is always 1. | |
| TimeStepId | next_time_id_for_error (const TimeStepId ¤t_id, const TimeDelta &time_step) const noexcept final |
Base class for TimeSteppers with local time-stepping support, derived from TimeStepper.
|
inlinenoexcept |
Compute the change in a boundary quantity due to the coupling on the interface.
The coupling function coupling should take the local and remote flux data and compute the derivative of the boundary quantity. These values may be used to form a linear combination internally, so the result should have appropriate mathematical operators defined to allow that.