SpECTRE  v2024.09.29
Cce::WorldtubeModeRecorder Class Reference

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.
 

Detailed Description

Class that standardizes the output of our worldtube data into the Bondi modal format that the CharacteristicExtract executable can read in.

Details

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.

Member Function Documentation

◆ append_modal_data() [1/2]

template<int Spin>
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.

Details

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.

◆ append_modal_data() [2/2]

template<int Spin>
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.

Details

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.


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