SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
Cce::KleinGordonWorldtubeDataManager Class Reference

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.
std::unique_ptr< WorldtubeDataManagerget_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()
std::pair< size_t, size_t > get_time_span () const override
 retrieves the current time span associated with the buffer_updater_ for diagnostics
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)

Additional Inherited Members

Public Types inherited from Cce::WorldtubeDataManager< Tags::klein_gordon_worldtube_boundary_tags >
using creatable_classes

Member Function Documentation

◆ get_clone()

std::unique_ptr< WorldtubeDataManager > Cce::KleinGordonWorldtubeDataManager::get_clone ( ) const
overridevirtual

◆ get_l_max()

size_t Cce::KleinGordonWorldtubeDataManager::get_l_max ( ) const
inlineoverridevirtual

◆ get_time_span()

std::pair< size_t, size_t > Cce::KleinGordonWorldtubeDataManager::get_time_span ( ) const
overridevirtual

retrieves the current time span associated with the buffer_updater_ for diagnostics

Implements Cce::WorldtubeDataManager< Tags::klein_gordon_worldtube_boundary_tags >.

◆ populate_hypersurface_boundary_data()

bool Cce::KleinGordonWorldtubeDataManager::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
overridevirtual

Update the boundary_data_box entries for all tags in Tags::klein_gordon_worldtube_boundary_tags to the boundary data at time.

Details

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 >.


The documentation for this class was generated from the following file:
  • src/Evolution/Systems/Cce/WorldtubeDataManager.hpp