NiHu  2.0
NiHu::fmm::helmholtz_2d_wb_fmm< WaveNumber > Class Template Reference

the 2d wide band helmholetz fmm More...

#include <helmholtz_2d_wb_fmm.hpp>

Classes

class  l2l
 the l2l operator More...
 
class  l2p
 the l2p operator More...
 
struct  l2p_type
 
class  m2l
 the m2l operator More...
 
class  m2m
 the m2m operator More...
 
class  m2p
 the m2p operator More...
 
struct  m2p_type
 
class  p2l
 the p2l operator More...
 
struct  p2l_type
 
class  p2m
 the p2m operator More...
 
struct  p2m_type
 
struct  p2p_type
 

Public Types

typedef WaveNumber wave_number_t
 template parameter as nested type
 
typedef helmholtz_2d_wb_cluster cluster_t
 the cluster type of the FMM
 
typedef cluster_tree< cluster_tcluster_tree_t
 the cluster tree type
 
typedef Eigen::Matrix< std::complex< double >, Eigen::Dynamic, 1 > cvector_t
 a complex vector type
 
typedef cluster_t::bounding_box_t bounding_box_t
 the cluster's bounding box type
 
typedef bounding_box_t::location_t location_t
 the physical location type
 

Public Member Functions

 helmholtz_2d_wb_fmm (wave_number_t const &wave_number)
 constructor More...
 
template<int Nx, int Ny>
fmm::p2p< NiHu::normal_derivative_kernel< distance_dependent_kernel_t, Nx, Ny > > create_p2p () const
 
template<int Ny>
p2m< Ny > create_p2m () const
 
template<int Ny>
p2l< Ny > create_p2l () const
 
template<int Nx>
m2p< Nx > create_m2p () const
 
template<int Nx>
l2p< Nx > create_l2p () const
 
m2m create_m2m () const
 
l2l create_l2l () const
 
m2l create_m2l () const
 
wave_number_t const & get_wave_number () const
 
void set_accuracy (double)
 set the method's prescribed accuracy
 
void init_level_data (cluster_tree_t const &tree)
 initialize level data for a specified cluster tree More...
 
helmholtz_2d_wb_level_data const & get_level_data (size_t idx) const
 return level data at a specified level More...
 
helmholtz_2d_wb_level_dataget_level_data (size_t idx)
 return level data reference at a specified level More...
 
void print_level_data (std::ostream &os=std::cout) const
 print debug information More...
 

Static Public Attributes

static const size_t dimension = cluster_t::dimension
 the space dimension
 

Detailed Description

template<class WaveNumber>
class NiHu::fmm::helmholtz_2d_wb_fmm< WaveNumber >

the 2d wide band helmholetz fmm

Template Parameters
WaveNumberthe wave number type

Definition at line 42 of file helmholtz_2d_wb_fmm.hpp.

Constructor & Destructor Documentation

◆ helmholtz_2d_wb_fmm()

template<class WaveNumber >
NiHu::fmm::helmholtz_2d_wb_fmm< WaveNumber >::helmholtz_2d_wb_fmm ( wave_number_t const &  wave_number)
inline

constructor

Parameters
[in]wave_numberthe wave number

Definition at line 645 of file helmholtz_2d_wb_fmm.hpp.

Member Function Documentation

◆ get_level_data() [1/2]

template<class WaveNumber >
helmholtz_2d_wb_level_data& NiHu::fmm::helmholtz_2d_wb_fmm< WaveNumber >::get_level_data ( size_t  idx)
inline

return level data reference at a specified level

Parameters
[in]idxthe level index
Returns
level data reference

Definition at line 793 of file helmholtz_2d_wb_fmm.hpp.

◆ get_level_data() [2/2]

template<class WaveNumber >
helmholtz_2d_wb_level_data const& NiHu::fmm::helmholtz_2d_wb_fmm< WaveNumber >::get_level_data ( size_t  idx) const
inline

return level data at a specified level

Parameters
[in]idxthe level index
Returns
level data

Definition at line 785 of file helmholtz_2d_wb_fmm.hpp.

◆ init_level_data()

template<class WaveNumber >
void NiHu::fmm::helmholtz_2d_wb_fmm< WaveNumber >::init_level_data ( cluster_tree_t const &  tree)
inline

initialize level data for a specified cluster tree

Parameters
[in]treethe cluster tree

Definition at line 744 of file helmholtz_2d_wb_fmm.hpp.

◆ print_level_data()

template<class WaveNumber >
void NiHu::fmm::helmholtz_2d_wb_fmm< WaveNumber >::print_level_data ( std::ostream &  os = std::cout) const
inline

print debug information

Parameters
[in]osthe output stream

Definition at line 800 of file helmholtz_2d_wb_fmm.hpp.


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