NiHu
2.0
|
class containing the level data of the helmholtz 2d wide band fmm More...
#include <helmholtz_2d_wb_level_data.h>
Public Types | |
typedef Eigen::Matrix< std::complex< double >, Eigen::Dynamic, 1 > | cvector_t |
complex column vector type | |
Public Member Functions | |
helmholtz_2d_wb_level_data () | |
constructor | |
~helmholtz_2d_wb_level_data () | |
destructor | |
helmholtz_2d_wb_level_data (helmholtz_2d_wb_level_data const &) | |
copy constructor | |
helmholtz_2d_wb_level_data & | operator= (helmholtz_2d_wb_level_data const &)=delete |
assignment operator | |
void | init (double drel) |
initialize the data for a given frequency More... | |
void | set_expansion_length (size_t expansion_length) |
set the expansion length of the level More... | |
size_t | get_expansion_length () const |
return the expansion length | |
size_t | get_data_size () const |
return the size of the multipole / local data | |
void | set_high_freq (bool hf) |
set if the level is in high frequency | |
bool | is_high_freq () const |
return true if the level is in hgh frequency | |
void | set_interp_up (size_t Nfrom) |
compute upward interpolating matrix More... | |
void | set_interp_dn (size_t Nfrom) |
compute the downward interpolating matrix More... | |
const cvector_t & | interp_up (cvector_t const &multi) const |
interpolate multipole contribution up to this level More... | |
const cvector_t & | interp_dn (cvector_t const &local) const |
interpolate local data down to this level More... | |
const cvector_t & | dft (cvector_t const &multi) const |
perform dft on this level More... | |
const cvector_t & | idft (cvector_t const &local) const |
perform inverse dft on this level More... | |
void | set_num_threads (size_t n) |
class containing the level data of the helmholtz 2d wide band fmm
Definition at line 24 of file helmholtz_2d_wb_level_data.h.
const helmholtz_2d_wb_level_data::cvector_t & NiHu::fmm::helmholtz_2d_wb_level_data::dft | ( | cvector_t const & | multi | ) | const |
perform dft on this level
[in] | multi | the multipole coefficient vector in coeff domain |
Definition at line 120 of file helmholtz_2d_wb_level_data.cpp.
const helmholtz_2d_wb_level_data::cvector_t & NiHu::fmm::helmholtz_2d_wb_level_data::idft | ( | cvector_t const & | local | ) | const |
perform inverse dft on this level
[in] | local | the local coefficient vector in spectral domain |
Definition at line 139 of file helmholtz_2d_wb_level_data.cpp.
void NiHu::fmm::helmholtz_2d_wb_level_data::init | ( | double | drel | ) |
initialize the data for a given frequency
[in] | drel | the relative cluster size (in wave lengths) |
Definition at line 52 of file helmholtz_2d_wb_level_data.cpp.
const helmholtz_2d_wb_level_data::cvector_t & NiHu::fmm::helmholtz_2d_wb_level_data::interp_dn | ( | cvector_t const & | local | ) | const |
interpolate local data down to this level
[in] | local | the local coefficient in the higher level |
Definition at line 180 of file helmholtz_2d_wb_level_data.cpp.
const helmholtz_2d_wb_level_data::cvector_t & NiHu::fmm::helmholtz_2d_wb_level_data::interp_up | ( | cvector_t const & | multi | ) | const |
interpolate multipole contribution up to this level
[in] | multi | the multipole coefficient in the lower level |
Definition at line 166 of file helmholtz_2d_wb_level_data.cpp.
void NiHu::fmm::helmholtz_2d_wb_level_data::set_expansion_length | ( | size_t | expansion_length | ) |
set the expansion length of the level
[in] | expansion_length | the expansion length |
Definition at line 60 of file helmholtz_2d_wb_level_data.cpp.
void NiHu::fmm::helmholtz_2d_wb_level_data::set_interp_dn | ( | size_t | Nfrom | ) |
compute the downward interpolating matrix
[in] | Nfrom | the expansion length in the upper cluster |
Definition at line 172 of file helmholtz_2d_wb_level_data.cpp.
void NiHu::fmm::helmholtz_2d_wb_level_data::set_interp_up | ( | size_t | Nfrom | ) |
compute upward interpolating matrix
[in] | Nfrom | the expansion length in the lower cluster |
Definition at line 158 of file helmholtz_2d_wb_level_data.cpp.