Go to the documentation of this file.
7 #ifndef FMM_HELMHOLTZ_2D_WB_LEVEL_DATA_HPP_INCLUDED
8 #define FMM_HELMHOLTZ_2D_WB_LEVEL_DATA_HPP_INCLUDED
13 #include <Eigen/Dense>
28 typedef Eigen::Matrix<std::complex<double>, Eigen::Dynamic, 1>
cvector_t;
42 void init(
double drel);
95 void set_num_threads(
size_t n);
98 size_t m_expansion_length;
101 std::vector<spectral_interpolate> m_interp_ups;
102 std::vector<spectral_interpolate> m_interp_dns;
104 fftw_plan m_dft_plan;
105 mutable std::vector<cvector_t> m_multi_paddeds;
106 mutable std::vector<cvector_t> m_multi_spectrums;
108 fftw_plan m_idft_plan;
109 mutable std::vector <cvector_t> m_local_paddeds;
110 mutable std::vector <cvector_t> m_locals;
class containing the level data of the helmholtz 2d wide band fmm
Interface of class NiHu::fmm::spectral_interpolate.
void set_expansion_length(size_t expansion_length)
set the expansion length of the level
bool is_high_freq() const
return true if the level is in hgh frequency
helmholtz_2d_wb_level_data & operator=(helmholtz_2d_wb_level_data const &)=delete
assignment operator
helmholtz_2d_wb_level_data()
constructor
const cvector_t & idft(cvector_t const &local) const
perform inverse dft on this level
Eigen::Matrix< std::complex< double >, Eigen::Dynamic, 1 > cvector_t
complex column vector type
~helmholtz_2d_wb_level_data()
destructor
size_t get_expansion_length() const
return the expansion length
size_t get_data_size() const
return the size of the multipole / local data
const cvector_t & interp_up(cvector_t const &multi) const
interpolate multipole contribution up to this level
const cvector_t & interp_dn(cvector_t const &local) const
interpolate local data down to this level
void init(double drel)
initialize the data for a given frequency
void set_high_freq(bool hf)
set if the level is in high frequency
const cvector_t & dft(cvector_t const &multi) const
perform dft on this level
void set_interp_up(size_t Nfrom)
compute upward interpolating matrix
void set_interp_dn(size_t Nfrom)
compute the downward interpolating matrix