SpECTRE
v2024.12.16
|
Public Member Functions | |
KleinGordonWorldtubeDataManager (std::unique_ptr< WorldtubeBufferUpdater< klein_gordon_input_tags > > buffer_updater, size_t l_max, size_t buffer_depth, std::unique_ptr< intrp::SpanInterpolator > interpolator) | |
WRAPPED_PUPable_decl_template (KleinGordonWorldtubeDataManager) | |
KleinGordonWorldtubeDataManager (CkMigrateMessage *) | |
bool | populate_hypersurface_boundary_data (gsl::not_null< Variables< Tags::klein_gordon_worldtube_boundary_tags > * > boundary_data_variables, double time, gsl::not_null< Parallel::NodeLock * > hdf5_lock) const override |
Update the boundary_data_box entries for all tags in Tags::klein_gordon_worldtube_boundary_tags to the boundary data at time . More... | |
std::unique_ptr< WorldtubeDataManager > | get_clone () const override |
size_t | get_l_max () const override |
retrieves the l_max that will be supplied to the DataBox in populate_hypersurface_boundary_data() More... | |
std::pair< size_t, size_t > | get_time_span () const override |
retrieves the current time span associated with the buffer_updater_ for diagnostics More... | |
void | pup (PUP::er &p) override |
Serialization for Charm++. | |
Public Member Functions inherited from Cce::WorldtubeDataManager< Tags::klein_gordon_worldtube_boundary_tags > | |
WRAPPED_PUPable_abstract (WorldtubeDataManager) | |
virtual bool | populate_hypersurface_boundary_data (gsl::not_null< Variables< Tags::klein_gordon_worldtube_boundary_tags > * > boundary_data_variables, double time, gsl::not_null< Parallel::NodeLock * > hdf5_lock) const=0 |
virtual std::unique_ptr< WorldtubeDataManager > | get_clone () const=0 |
virtual size_t | get_l_max () const=0 |
virtual std::pair< size_t, size_t > | get_time_span () const=0 |
Additional Inherited Members | |
Public Types inherited from Cce::WorldtubeDataManager< Tags::klein_gordon_worldtube_boundary_tags > | |
using | creatable_classes = implementation defined |
|
overridevirtual |
|
inlineoverridevirtual |
retrieves the l_max that will be supplied to the DataBox in populate_hypersurface_boundary_data()
Implements Cce::WorldtubeDataManager< Tags::klein_gordon_worldtube_boundary_tags >.
|
overridevirtual |
retrieves the current time span associated with the buffer_updater_
for diagnostics
Implements Cce::WorldtubeDataManager< Tags::klein_gordon_worldtube_boundary_tags >.
|
overridevirtual |
Update the boundary_data_box
entries for all tags in Tags::klein_gordon_worldtube_boundary_tags
to the boundary data at time
.
First, if the stored buffer requires updating, it will be updated via the buffer_updater_
supplied in the constructor. Then, each of the 2 spin-weighted scalars in Tags::klein_gordon_worldtube_boundary_tags
are interpolated across buffer points to the requested time value (via the Interpolator
provided in the constructor).
Returns true
if the time can be supplied from the buffer_updater_
, and false
otherwise. No tags are updated if false
is returned.
Implements Cce::WorldtubeDataManager< Tags::klein_gordon_worldtube_boundary_tags >.