SpECTRE
v2024.09.29
|
Implementation of a GhInterfaceManager
that provides data according to interpolation between provided GH data.
More...
#include <GhLocalTimeStepping.hpp>
Classes | |
struct | BoundaryInterpolator |
Public Types | |
using | options = tmpl::list< BoundaryInterpolator > |
Public Types inherited from Cce::InterfaceManagers::GhInterfaceManager | |
using | gh_variables = Variables< tmpl::list< gr::Tags::SpacetimeMetric< DataVector, 3 >, gh::Tags::Pi< DataVector, 3 >, gh::Tags::Phi< DataVector, 3 > > > |
Public Member Functions | |
GhLocalTimeStepping (const GhLocalTimeStepping &rhs) | |
GhLocalTimeStepping (std::unique_ptr< intrp::SpanInterpolator > interpolator) | |
GhLocalTimeStepping & | operator= (const GhLocalTimeStepping &rhs) |
GhLocalTimeStepping (CkMigrateMessage *) | |
WRAPPED_PUPable_decl_template (GhLocalTimeStepping) | |
std::unique_ptr< GhInterfaceManager > | get_clone () const override |
void | insert_gh_data (const LinkedMessageId< double > &time_and_previous, const tnsr::aa< DataVector, 3 > &spacetime_metric, const tnsr::iaa< DataVector, 3 > &phi, const tnsr::aa< DataVector, 3 > &pi) |
Store the provided data set to prepare for interpolation. | |
void | request_gh_data (const TimeStepId &time_id) 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 () -> 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 override |
The number of requests that have been submitted and not yet retrieved. More... | |
size_t | number_of_gh_times () const override |
The number of times for which data from the GH system is stored. More... | |
void | pup (PUP::er &p) override |
Serialization for Charm++. | |
Public Member Functions inherited from Cce::InterfaceManagers::GhInterfaceManager | |
WRAPPED_PUPable_abstract (GhInterfaceManager) | |
virtual std::unique_ptr< GhInterfaceManager > | get_clone () const =0 |
virtual void | request_gh_data (const TimeStepId &)=0 |
virtual auto | retrieve_and_remove_first_ready_gh_data () -> std::optional< std::tuple< TimeStepId, gh_variables > >=0 |
virtual size_t | number_of_pending_requests () const =0 |
virtual size_t | number_of_gh_times () const =0 |
Static Public Attributes | |
static constexpr Options::String | help |
Implementation of a GhInterfaceManager
that provides data according to interpolation between provided GH data.
This class receives data from the Generalized Harmonic system sufficient to perform interpolation 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}\) and the current time via GhLocalTimeStepping::insert_gh_data()
. The CCE system supplies requests for time steps via GhLocalTimeStepping::request_gh_data()
and receives interpolated boundary data via GhLocalTimeStepping::retrieve_and_remove_first_ready_gh_data()
.
|
overridevirtual |
Implements Cce::InterfaceManagers::GhInterfaceManager.
|
inlineoverridevirtual |
The number of times for which data from the GH system is stored.
Implements Cce::InterfaceManagers::GhInterfaceManager.
|
inlineoverridevirtual |
The number of requests that have been submitted and not yet retrieved.
Implements Cce::InterfaceManagers::GhInterfaceManager.
|
overridevirtual |
Store the next time step that will be required by the CCE system to proceed with the evolution.
Implements Cce::InterfaceManagers::GhInterfaceManager.
|
overridevirtual |
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 |