SpECTRE  v2026.09.05
Loading...
Searching...
No Matches
Cce::WorldtubeDataManager< BoundaryTags > Class Template Referenceabstract

Abstract base class for managers of CCE worldtube data that is provided in large time-series chunks, especially the type provided by input h5 files. BoundaryTags is a tmpl::list of tags on the worldtube boundary. More...

#include <WorldtubeDataManager.hpp>

Public Types

using creatable_classes

Public Member Functions

 WRAPPED_PUPable_abstract (WorldtubeDataManager)
virtual bool populate_hypersurface_boundary_data (gsl::not_null< Variables< BoundaryTags > * > 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
virtual void set_du_dr_j_interpolator (std::unique_ptr< intrp::SpanInterpolator > interpolator)
 Use interpolator in place of the one supplied at construction when building the boundary value of Du<Dr<BondiJ>>.

Detailed Description

template<typename BoundaryTags>
class Cce::WorldtubeDataManager< BoundaryTags >

Abstract base class for managers of CCE worldtube data that is provided in large time-series chunks, especially the type provided by input h5 files. BoundaryTags is a tmpl::list of tags on the worldtube boundary.

Details

The methods that are required to be overridden in the derived classes are:

  • WorldtubeDataManager::populate_hypersurface_boundary_data(): updates the Variables passed by pointer to contain correct boundary data for the time value passed in. This function should update all of the tags in Tags::characteristic_worldtube_boundary_tags<Tags::BoundaryValue>.
  • WorldtubeDataManager::get_clone(): clone function to obtain a std::unique_ptr of the base WorldtubeDataManager, needed to pass around the factory-created object.
  • WorldtubeDataManager::get_l_max(): The override should return the l_max that it computes for the collocation data calculated during WorldtubeDataManager::populate_hypersurface_boundary_data().
  • WorldtubeBufferUpdater::get_time_span(): The override should return the std::pair of indices that represent the start and end point of the underlying data source. This is primarily used for monitoring the frequency and size of the buffer updates.

Member Typedef Documentation

◆ creatable_classes

template<typename BoundaryTags>
using Cce::WorldtubeDataManager< BoundaryTags >::creatable_classes
Initial value:
Manages the bondi cached buffer dataset associated with a CCE worldtube and interpolates to requested...
Definition WorldtubeDataManager.hpp:234
Definition WorldtubeDataManager.hpp:345
Manages the cached buffer data associated with a CCE worldtube and interpolates to requested time poi...
Definition WorldtubeDataManager.hpp:139

Member Function Documentation

◆ get_l_max()

template<typename BoundaryTags>
virtual size_t Cce::WorldtubeDataManager< BoundaryTags >::get_l_max ( ) const
pure virtual

◆ get_time_span()

template<typename BoundaryTags>
virtual std::pair< size_t, size_t > Cce::WorldtubeDataManager< BoundaryTags >::get_time_span ( ) const
pure virtual

◆ populate_hypersurface_boundary_data()

template<typename BoundaryTags>
virtual bool Cce::WorldtubeDataManager< BoundaryTags >::populate_hypersurface_boundary_data ( gsl::not_null< Variables< BoundaryTags > * > boundary_data_variables,
double time,
gsl::not_null< Parallel::NodeLock * > hdf5_lock ) const
pure virtual

◆ set_du_dr_j_interpolator()

template<typename BoundaryTags>
virtual void Cce::WorldtubeDataManager< BoundaryTags >::set_du_dr_j_interpolator ( std::unique_ptr< intrp::SpanInterpolator > interpolator)
inlinevirtual

Use interpolator in place of the one supplied at construction when building the boundary value of Du<Dr<BondiJ>>.

Details

That boundary value is consumed only by the initial-data generator, which may want a different time-interpolation order from the one the evolution runs with. A manager that does not produce Du<Dr<BondiJ>> at all cannot honor the request, so rather than drop it silently the default implementation aborts; nullptr (nothing was asked for) is always accepted.

Reimplemented in Cce::BondiWorldtubeDataManager.


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