NiHu  2.0
helmholtz_2d_wb_cluster.h
Go to the documentation of this file.
1 
7 #ifndef NIHU_HELMHOLTZ_2D_WB_CLUSTER_H_INCLUDED
8 #define NIHU_HELMHOLTZ_2D_WB_CLUSTER_H_INCLUDED
9 
10 #include "cluster.hpp"
12 
13 #include <Eigen/Dense>
14 
15 namespace NiHu
16 {
17 namespace fmm
18 {
19 
21 class helmholtz_2d_wb_cluster;
22 
24 template <>
26 {
27  typedef Eigen::Matrix<std::complex<double>, Eigen::Dynamic, 1> cvector_t;
28  static size_t const dimension = 2;
29  typedef cvector_t multipole_t;
30  typedef cvector_t local_t;
31 };
32 
33 
36  : public cluster_base<helmholtz_2d_wb_cluster>
37 {
38 public:
40  typedef typename base_t::multipole_t multipole_t;
41  typedef typename base_t::local_t local_t;
42 
47 
52 
56  multipole_t zero_multipole() const;
57 
61  local_t zero_local() const;
62 
63 private:
64  helmholtz_2d_wb_level_data const *m_p_level_data;
65 };
66 
67 } // end of namespace fmm
68 } // end of namespace NiHu
69 
70 #endif /* NIHU_HELMHOLTZ_2D_WB_CLUSTER_H_INCLUDED */
NiHu::fmm::helmholtz_2d_wb_cluster::zero_local
local_t zero_local() const
returne a zero local
Definition: helmholtz_2d_wb_cluster.cpp:32
NiHu::fmm::cluster_base::local_t
traits_t::local_t local_t
Local type.
Definition: cluster.hpp:60
NiHu::fmm::helmholtz_2d_wb_cluster::zero_multipole
multipole_t zero_multipole() const
returne a zero multipole
Definition: helmholtz_2d_wb_cluster.cpp:26
NiHu::fmm::helmholtz_2d_wb_cluster::get_level_data
const helmholtz_2d_wb_level_data & get_level_data() const
return the level data
Definition: helmholtz_2d_wb_cluster.cpp:20
NiHu::fmm::helmholtz_2d_wb_level_data
class containing the level data of the helmholtz 2d wide band fmm
Definition: helmholtz_2d_wb_level_data.h:24
NiHu::fmm::cluster_traits
CRTP traits structure of a cluster.
Definition: cluster.hpp:33
NiHu::fmm::cluster_base
CRTP base class of clusters.
Definition: cluster.hpp:40
NiHu::fmm::cluster_base::multipole_t
traits_t::multipole_t multipole_t
Multipole type.
Definition: cluster.hpp:58
NiHu::fmm::helmholtz_2d_wb_cluster
the cluster type of the helmholtz 2d wide band fmm
Definition: helmholtz_2d_wb_cluster.h:35
cluster.hpp
implementation of class NiHu::fmm::cluster_base
helmholtz_2d_wb_level_data.h
declaration of class helmholtz_2d_wb_level_data
NiHu::fmm::helmholtz_2d_wb_cluster::set_p_level_data
void set_p_level_data(helmholtz_2d_wb_level_data const *p)
set the pointer to the level data
Definition: helmholtz_2d_wb_cluster.cpp:14