NiHu  2.0
NiHu::fmm::helmholtz_2d_wb_level_data Class Reference

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_dataoperator= (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_tinterp_up (cvector_t const &multi) const
 interpolate multipole contribution up to this level More...
 
const cvector_tinterp_dn (cvector_t const &local) const
 interpolate local data down to this level More...
 
const cvector_tdft (cvector_t const &multi) const
 perform dft on this level More...
 
const cvector_tidft (cvector_t const &local) const
 perform inverse dft on this level More...
 
void set_num_threads (size_t n)
 

Detailed Description

class containing the level data of the helmholtz 2d wide band fmm

Definition at line 24 of file helmholtz_2d_wb_level_data.h.

Member Function Documentation

◆ dft()

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

Parameters
[in]multithe multipole coefficient vector in coeff domain
Returns
the multipole coefficient vector in spectral domain

Definition at line 120 of file helmholtz_2d_wb_level_data.cpp.

◆ idft()

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

Parameters
[in]localthe local coefficient vector in spectral domain
Returns
the local coefficient vector in coefficient domain

Definition at line 139 of file helmholtz_2d_wb_level_data.cpp.

◆ init()

void NiHu::fmm::helmholtz_2d_wb_level_data::init ( double  drel)

initialize the data for a given frequency

Parameters
[in]drelthe relative cluster size (in wave lengths)

Definition at line 52 of file helmholtz_2d_wb_level_data.cpp.

◆ interp_dn()

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

Parameters
[in]localthe local coefficient in the higher level
Returns
the local coefficient on this level

Definition at line 180 of file helmholtz_2d_wb_level_data.cpp.

◆ interp_up()

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

Parameters
[in]multithe multipole coefficient in the lower level
Returns
the multipole coefficient on this level

Definition at line 166 of file helmholtz_2d_wb_level_data.cpp.

◆ set_expansion_length()

void NiHu::fmm::helmholtz_2d_wb_level_data::set_expansion_length ( size_t  expansion_length)

set the expansion length of the level

Parameters
[in]expansion_lengththe expansion length

Definition at line 60 of file helmholtz_2d_wb_level_data.cpp.

◆ set_interp_dn()

void NiHu::fmm::helmholtz_2d_wb_level_data::set_interp_dn ( size_t  Nfrom)

compute the downward interpolating matrix

Parameters
[in]Nfromthe expansion length in the upper cluster

Definition at line 172 of file helmholtz_2d_wb_level_data.cpp.

◆ set_interp_up()

void NiHu::fmm::helmholtz_2d_wb_level_data::set_interp_up ( size_t  Nfrom)

compute upward interpolating matrix

Parameters
[in]Nfromthe expansion length in the lower cluster

Definition at line 158 of file helmholtz_2d_wb_level_data.cpp.


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