SpECTRE  v2026.04.01
Loading...
Searching...
No Matches
Cce::BondiWorldtubeH5BufferUpdater< T > Class Template Reference

A WorldtubeBufferUpdater specialized to CCE input worldtube H5 files that have metric data stored in Bondi-Sachs format in either either modal or nodal form. More...

#include <WorldtubeBufferUpdater.hpp>

Public Types

using tags_for_writing

Public Member Functions

 BondiWorldtubeH5BufferUpdater (const std::string &cce_data_filename, std::optional< double > extraction_radius=std::nullopt)
 The constructor takes the filename of the H5 file that will be used for boundary data. The extraction radius can either be passed in directly, or if it takes the value std::nullopt, then the extraction radius is retrieved as an integer in the filename.
 WRAPPED_PUPable_decl_base_template (SINGLE_ARG(WorldtubeBufferUpdater< tags_for_writing >), BondiWorldtubeH5BufferUpdater)
 BondiWorldtubeH5BufferUpdater (CkMigrateMessage *)
double update_buffers_for_time (gsl::not_null< Variables< tags_for_writing > * > buffers, gsl::not_null< size_t * > time_span_start, gsl::not_null< size_t * > time_span_end, double time, size_t computation_l_max, size_t interpolator_length, size_t buffer_depth, bool time_varies_fastest=true) const override
 update the buffers, time_span_start, and time_span_end with Goldberg modal data (either Goldberg modal data or complex nodal data depending on the template parameter to this class) and the start and end index in the member time_buffer_ covered by the newly updated buffers.
std::unique_ptr< WorldtubeBufferUpdater< tags_for_writing > > get_clone () const override
bool time_is_outside_range (const double time) const override
 The time can only be supported in the buffer update if it is between the first and last time of the input file.
size_t get_l_max () const override
 retrieves the l_max of the input file
double get_extraction_radius () const override
 retrieves the extraction radius. In most normal circumstances, this will not be needed for Bondi data.
DataVectorget_time_buffer () override
 The time buffer is supplied by non-const reference to allow views to easily point into the buffer.
bool has_version_history () const override
void pup (PUP::er &p) override
 Serialization for Charm++.

Static Public Attributes

static constexpr bool is_modal = std::is_same_v<T, ComplexModalVector>

Detailed Description

template<typename T>
class Cce::BondiWorldtubeH5BufferUpdater< T >

A WorldtubeBufferUpdater specialized to CCE input worldtube H5 files that have metric data stored in Bondi-Sachs format in either either modal or nodal form.

Details

To read in modal data, template this class as MetricWorldtubeH5BufferUpdater<ComplexModalVector>. To read in nodal data, template the class as MetricWorldtubeH5BufferUpdater<ComplexDataVector>.

Member Typedef Documentation

◆ tags_for_writing

template<typename T>
using Cce::BondiWorldtubeH5BufferUpdater< T >::tags_for_writing
Initial value:
tmpl::conditional_t<
T is_same_v
db::wrap_tags_in< BoundaryPrefix, tmpl::append< tmpl::list< Cce::Tags::BondiBeta, Cce::Tags::Dr< Cce::Tags::BondiJ >, Cce::Tags::Du< Cce::Tags::BondiR >, Cce::Tags::BondiJ, Cce::Tags::Du< Cce::Tags::BondiJ >, Cce::Tags::BondiQ, Cce::Tags::BondiR, Cce::Tags::BondiU, Cce::Tags::BondiW >, tmpl::conditional_t< IncludeKleinGordon, tmpl::list< Cce::Tags::KleinGordonPsi, Cce::Tags::KleinGordonPi >, tmpl::list<> > > > worldtube_boundary_tags_for_writing
The collection of tags for worldtube quantities that need to be written to disk during the Cauchy evo...
Definition BoundaryData.hpp:607
Prefix tag representing the spin-weighted spherical harmonic transform of a spin-weighted scalar.
Definition SwshTags.hpp:202

Member Function Documentation

◆ get_time_buffer()

template<typename T>
DataVector & Cce::BondiWorldtubeH5BufferUpdater< T >::get_time_buffer ( )
inlineoverride

The time buffer is supplied by non-const reference to allow views to easily point into the buffer.

Warning
Altering this buffer outside of the constructor of this class results in undefined behavior! This should be supplied by const reference once there is a convenient method of producing a const view of a vector type.

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