NiHu  2.0
helmholtz_2d_wb_x2x_matrix.h
Go to the documentation of this file.
1 
7 #ifndef NIHU_HELMHOLTZ_2D_WB_X2X_MATRIX_H_INCLUDED
8 #define NIHU_HELMHOLTZ_2D_WB_X2X_MATRIX_H_INCLUDED
9 
10 #include "convolution_matrix.hpp"
12 
13 namespace NiHu
14 {
15 namespace fmm
16 {
17 
20 {
21 public:
23  typedef Eigen::Matrix<std::complex<double>, Eigen::Dynamic, 1> cvector_t;
24 
27 
34  helmholtz_2d_wb_level_data const &level_data_to,
35  helmholtz_2d_wb_level_data const &level_data_from,
36  cvector_t diag_coeffs);
37 
42  cvector_t operator*(cvector_t const &rhs) const;
43 
44 private:
45  helmholtz_2d_wb_level_data const *m_level_data_to;
46  helmholtz_2d_wb_level_data const *m_level_data_from;
48  cvector_t m_transfer;
49 };
50 
51 
54 {
55 public:
57  typedef Eigen::Matrix<std::complex<double>, Eigen::Dynamic, 1> cvector_t;
58 
61 
68  helmholtz_2d_wb_level_data const &level_data_to,
69  helmholtz_2d_wb_level_data const &level_data_from,
70  cvector_t diag_coeffs);
71 
76  cvector_t operator*(cvector_t const &rhs) const;
77 
78 private:
79  helmholtz_2d_wb_level_data const *m_level_data_to;
80  helmholtz_2d_wb_level_data const *m_level_data_from;
82  cvector_t m_transfer;
83 };
84 
85 
88 {
89 public:
91  typedef Eigen::Matrix<std::complex<double>, Eigen::Dynamic, 1> cvector_t;
92 
95 
101  helmholtz_2d_wb_level_data const &level_data,
102  cvector_t diag_coeffs);
103 
108  cvector_t operator*(cvector_t const &rhs) const;
109 
110 private:
111  helmholtz_2d_wb_level_data const *m_level_data;
113  cvector_t m_transfer;
114 };
115 
116 } // end of namespace fmm
117 } // namespace NiHu
118 
119 #endif /* NIHU_HELMHOLTZ_2D_WB_X2X_MATRIX_H_INCLUDED */
NiHu::fmm::convolution_matrix
Class performing convolution.
Definition: convolution_matrix.hpp:24
NiHu::fmm::helmholtz_2d_wb_m2m_matrix
m2m matrix of the wide band 2d helmholtz fmm
Definition: helmholtz_2d_wb_x2x_matrix.h:19
NiHu::fmm::helmholtz_2d_wb_l2l_matrix::helmholtz_2d_wb_l2l_matrix
helmholtz_2d_wb_l2l_matrix()
costructor
Definition: helmholtz_2d_wb_x2x_matrix.cpp:53
convolution_matrix.hpp
Implemenetation of class template NiHu::fmm::convolution_matrix.
NiHu::fmm::helmholtz_2d_wb_l2l_matrix::cvector_t
Eigen::Matrix< std::complex< double >, Eigen::Dynamic, 1 > cvector_t
complex column vector (the local type)
Definition: helmholtz_2d_wb_x2x_matrix.h:57
NiHu::fmm::helmholtz_2d_wb_m2l_matrix
m2l matrix of the wide band 2d helmholtz fmm
Definition: helmholtz_2d_wb_x2x_matrix.h:87
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::helmholtz_2d_wb_m2l_matrix::operator*
cvector_t operator*(cvector_t const &rhs) const
multiply the matrix with a multipole coefficient from the right
Definition: helmholtz_2d_wb_x2x_matrix.cpp:103
NiHu::fmm::helmholtz_2d_wb_m2m_matrix::operator*
cvector_t operator*(cvector_t const &rhs) const
multiply the matrix with a multipole coefficient from the right
Definition: helmholtz_2d_wb_x2x_matrix.cpp:38
NiHu::fmm::helmholtz_2d_wb_l2l_matrix
l2l matrix of the wide band 2d helmholtz fmm
Definition: helmholtz_2d_wb_x2x_matrix.h:53
NiHu::fmm::helmholtz_2d_wb_m2l_matrix::helmholtz_2d_wb_m2l_matrix
helmholtz_2d_wb_m2l_matrix()
costructor
Definition: helmholtz_2d_wb_x2x_matrix.cpp:87
NiHu::fmm::helmholtz_2d_wb_m2m_matrix::cvector_t
Eigen::Matrix< std::complex< double >, Eigen::Dynamic, 1 > cvector_t
complex column vector (the multipole type)
Definition: helmholtz_2d_wb_x2x_matrix.h:23
NiHu::fmm::helmholtz_2d_wb_l2l_matrix::operator*
cvector_t operator*(cvector_t const &rhs) const
multiply the matrix with a local coefficient from the right
Definition: helmholtz_2d_wb_x2x_matrix.cpp:73
NiHu::fmm::helmholtz_2d_wb_m2m_matrix::helmholtz_2d_wb_m2m_matrix
helmholtz_2d_wb_m2m_matrix()
costructor
Definition: helmholtz_2d_wb_x2x_matrix.cpp:16
NiHu::fmm::helmholtz_2d_wb_m2l_matrix::cvector_t
Eigen::Matrix< std::complex< double >, Eigen::Dynamic, 1 > cvector_t
complex column vector (the multipole and local type)
Definition: helmholtz_2d_wb_x2x_matrix.h:91
helmholtz_2d_wb_level_data.h
declaration of class helmholtz_2d_wb_level_data