|
SpECTRE
2021.08.02
|
Implementation of a GhInterfaceManager that provides data according to local time-stepping dense output.
More...
#include <GhLocalTimeStepping.hpp>
Classes | |
| struct | AdamsBashforthOrder |
Public Types | |
| using | dt_gh_variables = Variables< tmpl::list< ::Tags::dt< gr::Tags::SpacetimeMetric< 3, ::Frame::Inertial, DataVector > >, ::Tags::dt< GeneralizedHarmonic::Tags::Pi< 3, ::Frame::Inertial > >, ::Tags::dt< GeneralizedHarmonic::Tags::Phi< 3, ::Frame::Inertial > > > > |
| using | options = tmpl::list< AdamsBashforthOrder > |
Public Types inherited from Cce::InterfaceManagers::GhInterfaceManager | |
| using | gh_variables = Variables< tmpl::list< gr::Tags::SpacetimeMetric< 3, ::Frame::Inertial, DataVector >, GeneralizedHarmonic::Tags::Pi< 3, ::Frame::Inertial >, GeneralizedHarmonic::Tags::Phi< 3, ::Frame::Inertial > > > |
| using | creatable_classes = tmpl::list< GhLocalTimeStepping, GhLockstep > |
Public Member Functions | |
| GhLocalTimeStepping (const size_t order) | |
| GhLocalTimeStepping (CkMigrateMessage *) noexcept | |
| WRAPPED_PUPable_decl_template (GhLocalTimeStepping) | |
| std::unique_ptr< GhInterfaceManager > | get_clone () const noexcept override |
| void | insert_gh_data (TimeStepId time_id, const tnsr::aa< DataVector, 3 > &spacetime_metric, const tnsr::iaa< DataVector, 3 > &phi, const tnsr::aa< DataVector, 3 > &pi, const tnsr::aa< DataVector, 3 > &dt_spacetime_metric, const tnsr::iaa< DataVector, 3 > &dt_phi, const tnsr::aa< DataVector, 3 > &dt_pi) noexcept override |
| Store the provided data set to prepare for time-stepping dense output. More... | |
| void | insert_next_gh_time (TimeStepId time_id, TimeStepId next_time_id) noexcept override |
| void | request_gh_data (const TimeStepId &time_id) noexcept override |
| Store the next time step that will be required by the CCE system to proceed with the evolution. More... | |
| auto | retrieve_and_remove_first_ready_gh_data () noexcept -> std::optional< std::tuple< TimeStepId, gh_variables > > override |
Return a std::optional of either the dense-output data at the least recently requested time, or std::nullopt if not enough GH data has been supplied yet. More... | |
| size_t | number_of_pending_requests () const noexcept override |
| The number of requests that have been submitted and not yet retrieved. More... | |
| size_t | number_of_gh_times () const noexcept override |
| The number of times for which data from the GH system is stored. More... | |
| void | pup (PUP::er &p) noexcept override |
| Serialization for Charm++. | |
| InterpolationStrategy | get_interpolation_strategy () const noexcept override |
Public Member Functions inherited from Cce::InterfaceManagers::GhInterfaceManager | |
| WRAPPED_PUPable_abstract (GhInterfaceManager) | |
Static Public Attributes | |
| static constexpr Options::String | help |
Implementation of a GhInterfaceManager that provides data according to local time-stepping dense output.
This class receives data from the Generalized Harmonic system sufficient to perform the time-stepping dense output to arbitrary times required by CCE. From the Generalized Harmonic system, it receives the spacetime metric \(g_{a b}\) and Generalized Harmonic \(\Phi_{i a b}\) and \(\Pi_{ab}\), as well as each of their time derivatives, the current TimeStepId, and the next TimeStepId via GhLocalTimeStepping::insert_gh_data(). The CCE system supplies requests for time steps via GhLocalTimeStepping::request_gh_data() and receives dense output boundary data via GhLocalTimeStepping::retrieve_and_remove_first_ready_gh_data().
|
overridevirtualnoexcept |
Implements Cce::InterfaceManagers::GhInterfaceManager.
|
inlineoverridevirtualnoexcept |
Implements Cce::InterfaceManagers::GhInterfaceManager.
|
overridevirtualnoexcept |
Store the provided data set to prepare for time-stepping dense output.
The next_time_id is required to infer the span of time values that should be permitted for the dense output, and at what point the CCE system should wait for additional data from the GH system.
Implements Cce::InterfaceManagers::GhInterfaceManager.
|
overridevirtualnoexcept |
Implements Cce::InterfaceManagers::GhInterfaceManager.
|
inlineoverridevirtualnoexcept |
The number of times for which data from the GH system is stored.
This will be roughly the order of the time stepper plus the number of times that the GH system is ahead of the CCE system.
Implements Cce::InterfaceManagers::GhInterfaceManager.
|
inlineoverridevirtualnoexcept |
The number of requests that have been submitted and not yet retrieved.
Implements Cce::InterfaceManagers::GhInterfaceManager.
|
overridevirtualnoexcept |
Store the next time step that will be required by the CCE system to proceed with the evolution.
The values of these time steps will be used to generate the dense output from the provided GH data.
Implements Cce::InterfaceManagers::GhInterfaceManager.
|
overridevirtualnoexcept |
Return a std::optional of either the dense-output data at the least recently requested time, or std::nullopt if not enough GH data has been supplied yet.
Implements Cce::InterfaceManagers::GhInterfaceManager.
|
staticconstexpr |