A WorldtubeBufferUpdater specialized to the CCE input worldtube H5 file produced by SpEC.
More...
#include <WorldtubeBufferUpdater.hpp>
|
|
| MetricWorldtubeH5BufferUpdater (const std::string &cce_data_filename, std::optional< double > extraction_radius=std::nullopt) noexcept |
| | The constructor takes the filename of the SpEC 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_template (MetricWorldtubeH5BufferUpdater) |
| |
|
| MetricWorldtubeH5BufferUpdater (CkMigrateMessage *) noexcept |
| |
| double | update_buffers_for_time (gsl::not_null< Variables< cce_metric_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. More...
|
| |
| std::unique_ptr< WorldtubeBufferUpdater< cce_metric_input_tags > > | get_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. More...
|
| |
| size_t | get_l_max () const noexcept override |
| | retrieves the l_max of the input file More...
|
| |
| double | get_extraction_radius () const noexcept override |
| | retrieves the extraction radius More...
|
| |
| DataVector & | get_time_buffer () noexcept override |
| | The time buffer is supplied by non-const reference to allow views to easily point into the buffer. More...
|
| |
| bool | has_version_history () const noexcept override |
| |
|
void | pup (PUP::er &p) noexcept override |
| | Serialization for Charm++.
|
| |
|
| WRAPPED_PUPable_abstract (WorldtubeBufferUpdater) |
| |
A WorldtubeBufferUpdater specialized to the CCE input worldtube H5 file produced by SpEC.
◆ get_clone()
◆ get_extraction_radius()
| double Cce::MetricWorldtubeH5BufferUpdater::get_extraction_radius |
( |
| ) |
const |
|
inlineoverridevirtualnoexcept |
◆ get_l_max()
| size_t Cce::MetricWorldtubeH5BufferUpdater::get_l_max |
( |
| ) |
const |
|
inlineoverridevirtualnoexcept |
◆ get_time_buffer()
| DataVector & Cce::MetricWorldtubeH5BufferUpdater::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< cce_metric_input_tags >.
◆ has_version_history()
| bool Cce::MetricWorldtubeH5BufferUpdater::has_version_history |
( |
| ) |
const |
|
inlineoverridevirtualnoexcept |
◆ time_is_outside_range()
| bool Cce::MetricWorldtubeH5BufferUpdater::time_is_outside_range |
( |
double |
time | ) |
const |
|
overridevirtualnoexcept |
◆ update_buffers_for_time()
| double Cce::MetricWorldtubeH5BufferUpdater::update_buffers_for_time |
( |
gsl::not_null< Variables< cce_metric_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 |
|
overridevirtualnoexcept |
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.
Implements Cce::WorldtubeBufferUpdater< cce_metric_input_tags >.