Cce::SpecWorldtubeH5BufferUpdater Class Reference

A WorldtubeBufferUpdater specialized to the CCE input worldtube H5 file produced by SpEC. More...

#include <ReadBoundaryDataH5.hpp>

## Public Member Functions

SpecWorldtubeH5BufferUpdater (const std::string &cce_data_filename) noexcept
The constructor takes the filename of the SpEC h5 file that will be used for boundary data. Note that this assumes that the input data has correctly-normalized radial derivatives, and that the extraction radius is encoded as an integer in the filename.

WRAPPED_PUPable_decl_template (SpecWorldtubeH5BufferUpdater)

SpecWorldtubeH5BufferUpdater (CkMigrateMessage *) noexcept

double update_buffers_for_time (gsl::not_null< Variables< detail::cce_input_tags > * > 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) const noexcept override
update the buffers, time_span_start, and time_span_end with time-varies-fastest, Goldberg modal data and the start and end index in the member time_buffer_ covered by the newly updated buffers. The function returns the next time at which a full update will occur. If called again at times earlier than the next full update time, it will leave the buffers unchanged and again return the next needed time.

std::unique_ptr< WorldtubeBufferUpdaterget_clone () const noexcept override

bool time_is_outside_range (double time) const noexcept 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 noexcept override
retrieves the l_max of the input file

double get_extraction_radius () const noexcept override
retrieves the extraction radius encoded in the filename

DataVectorget_time_buffer () noexcept override
The time buffer is supplied by non-const reference to allow views to easily point into the buffer. More...

bool radial_derivatives_need_renormalization () const noexcept override

void pup (PUP::er &p) noexcept override
Serialization for Charm++.

Public Member Functions inherited from Cce::WorldtubeBufferUpdater
WRAPPED_PUPable_abstract (WorldtubeBufferUpdater)

Public Types inherited from Cce::WorldtubeBufferUpdater
using creatable_classes = tmpl::list< SpecWorldtubeH5BufferUpdater >

## Detailed Description

A WorldtubeBufferUpdater specialized to the CCE input worldtube H5 file produced by SpEC.

## ◆ get_time_buffer()

 DataVector& Cce::SpecWorldtubeH5BufferUpdater::get_time_buffer ( )
inlineoverridevirtualnoexcept

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.

Implements Cce::WorldtubeBufferUpdater.

The documentation for this class was generated from the following files: