SpECTRE
v2024.09.29
|
Class that standardizes the output of our worldtube data into the Bondi modal format that the CharacteristicExtract executable can read in. More...
#include <WorldtubeModeRecorder.hpp>
Public Member Functions | |
WorldtubeModeRecorder (size_t output_l_max, const std::string &h5_filename) | |
template<int Spin> | |
void | append_modal_data (const std::string &subfile_path, double time, const ComplexDataVector &nodal_data, size_t data_l_max) |
Writes bondi modal data to the given subfile_path . More... | |
template<int Spin> | |
void | append_modal_data (const std::string &subfile_path, double time, const ComplexModalVector &modal_data, size_t data_l_max) |
Writes bondi modal data to the given subfile_path . More... | |
const std::vector< std::string > & | all_legend () const |
The legend for writing dat files for both spin = 0 (real) and spin != 0 (all) quantities. | |
const std::vector< std::string > & | real_legend () const |
The legend for writing dat files for both spin = 0 (real) and spin != 0 (all) quantities. | |
Class that standardizes the output of our worldtube data into the Bondi modal format that the CharacteristicExtract executable can read in.
Takes Bondi nodal data in fill_data_to_write
and gives the modal data as a std::vector<double>
with the time as the 0th component. The output_l_max
that this class is constructed with is the LMax that will be written to disk.
void Cce::WorldtubeModeRecorder::append_modal_data | ( | const std::string & | subfile_path, |
double | time, | ||
const ComplexDataVector & | nodal_data, | ||
size_t | data_l_max | ||
) |
Writes bondi modal data to the given subfile_path
.
If nodal data is given (ComplexDataVector), uses swsh_transform
to transform the data and libsharp_to_goldberg_modes
to convert the libsharp formatted array into modes.
There are exactly half the number of modes for Spin
= 0 quantities as their are for Spin
!= 0 because we don't include imaginary or m=0 for Spin
= 0.
The data_l_max
is the LMax of the nodal_data
or modal_data
and must be >= output_l_max
that this class was constructed with. A restriction operation will be performed on the data before it is written, if necessary.
void Cce::WorldtubeModeRecorder::append_modal_data | ( | const std::string & | subfile_path, |
double | time, | ||
const ComplexModalVector & | modal_data, | ||
size_t | data_l_max | ||
) |
Writes bondi modal data to the given subfile_path
.
If nodal data is given (ComplexDataVector), uses swsh_transform
to transform the data and libsharp_to_goldberg_modes
to convert the libsharp formatted array into modes.
There are exactly half the number of modes for Spin
= 0 quantities as their are for Spin
!= 0 because we don't include imaginary or m=0 for Spin
= 0.
The data_l_max
is the LMax of the nodal_data
or modal_data
and must be >= output_l_max
that this class was constructed with. A restriction operation will be performed on the data before it is written, if necessary.