NiHu  2.0
helmholtz_3d_hf_cluster.h
Go to the documentation of this file.
1 
7 #ifndef NIHU_HELMHOLTZ_3D_HF_CLUSTER_H_INCLUDED
8 #define NIHU_HELMHOLTZ_3D_HF_CLUSTER_H_INCLUDED
9 
10 #include "cluster.hpp"
12 
13 namespace NiHu
14 {
15 namespace fmm
16 {
17 
19 class helmholtz_3d_hf_cluster;
20 
22 template <>
24 {
25  typedef Eigen::Matrix<std::complex<double>, Eigen::Dynamic, 1> cvector_t;
26  static size_t const dimension = 3;
27  typedef cvector_t multipole_t;
28  typedef cvector_t local_t;
29 };
30 
33  : public cluster_base<helmholtz_3d_hf_cluster>
34 {
36 
37 public:
39  static size_t const dimension = base_t::dimension;
41  typedef typename base_t::multipole_t multipole_t;
43  typedef typename base_t::local_t local_t;
44 
47 
49  local_t zero_local() const;
50 
54 
58 
59 private:
60  helmholtz_3d_hf_level_data const *m_p_level_data;
61 };
62 
63 } // end of namespace fmm
64 } // namespace NiHu
65 
66 #endif /* NIHU_HELMHOLTZ_3D_HF_CLUSTER_H_INCLUDED */
NiHu::fmm::cluster_base< helmholtz_3d_hf_cluster >::dimension
static const size_t dimension
Space dimension.
Definition: cluster.hpp:47
NiHu::fmm::cluster_base::local_t
traits_t::local_t local_t
Local type.
Definition: cluster.hpp:60
NiHu::fmm::helmholtz_3d_hf_cluster::dimension
static const size_t dimension
the space dimension
Definition: helmholtz_3d_hf_cluster.h:39
NiHu::fmm::helmholtz_3d_hf_cluster::get_level_data
const helmholtz_3d_hf_level_data & get_level_data() const
return the cluster's level data
Definition: helmholtz_3d_hf_cluster.cpp:32
NiHu::fmm::helmholtz_3d_hf_cluster
cluster type of the Helmholtz 3D High frequency FMM
Definition: helmholtz_3d_hf_cluster.h:32
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_3d_hf_level_data
level data of the helmholtz 3d hf fmm
Definition: helmholtz_3d_hf_level_data.h:23
NiHu::fmm::helmholtz_3d_hf_cluster::local_t
base_t::local_t local_t
the local type
Definition: helmholtz_3d_hf_cluster.h:43
NiHu::fmm::helmholtz_3d_hf_cluster::zero_multipole
multipole_t zero_multipole() const
return a zero (cleared) multipole contribution
Definition: helmholtz_3d_hf_cluster.cpp:15
NiHu::fmm::helmholtz_3d_hf_cluster::set_p_level_data
void set_p_level_data(helmholtz_3d_hf_level_data const *p)
set the pointer to the cluster's level data
Definition: helmholtz_3d_hf_cluster.cpp:26
NiHu::fmm::helmholtz_3d_hf_cluster::zero_local
local_t zero_local() const
return a zero (cleared) local contribution
Definition: helmholtz_3d_hf_cluster.cpp:21
helmholtz_3d_hf_level_data.h
level data of the the helmholtz 3d high frequency fmm
cluster.hpp
implementation of class NiHu::fmm::cluster_base
NiHu::fmm::helmholtz_3d_hf_cluster::multipole_t
base_t::multipole_t multipole_t
the multipole type
Definition: helmholtz_3d_hf_cluster.h:41