cluster::MultipoleY< F > Class Template Referenceabstract
part of the Multipole kernel expansion More...
#include <multipoleY.hh>
Public Member Functions | |
void | apply (const concepts::Real Y[], const F src[], F dst[]) const |
virtual void | apply (const XYColExpPtr *XY, const concepts::Real src[], concepts::Real dst[]) const=0 |
Application of the expansion. More... | |
void | apply (const XYColExpPtr *Y, const F src[], F dst[]) const |
uint | blksz () const |
virtual uint | blksz () const=0 |
Size of memory used for the expansion. More... | |
void | evaluate (const bem::Constant3d000< F > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const |
void | evaluate (const bem::Constant3d001< F > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const |
void | evaluate (const bem::Constant3d002< F > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const |
void | evaluate (const bem::Dirac3d000< F > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const |
void | evaluate (const bem::Linear3d000< F > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const |
virtual void | evaluate (const concepts::Element< concepts::Real > &elm, const concepts::Real3d &c, XYColExpPtr *XY[]) const=0 |
Computation of the expansion coefficients. More... | |
void | evaluate (const concepts::Element< F > &elm, const concepts::Real3d &c, XYColExpPtr *Y[]) const |
Computation of the expansion coefficients. More... | |
void | evaluate (const concepts::Real3d &z, concepts::Real Y[]) const |
Evaluation of the expansion coefficients of one point. More... | |
XYColReal * | getCol (uint blksz, uint n) const |
Allocates memory for the expansion coefficients and sets it to zero. More... | |
uint | m () const |
virtual uint | m () const=0 |
Order of the expansion. More... | |
MultipoleY (uint m, uint gauss) | |
Constructor. More... | |
void | shift (const concepts::Real3d &z, const concepts::Cmplx src[], concepts::Cmplx dst[]) const |
void | shift (const concepts::Real3d &z, const concepts::Real src[], concepts::Real dst[]) const |
Shifting the expansion. More... | |
template<class FF > | |
void | shift (const concepts::Real3d &z, const FF src[], FF dst[], uint foo) const |
~MultipoleY () | |
Private Attributes | |
uint | blksz_ |
Memory used for expansion coefficients. More... | |
concepts::Real * | foo_ |
Auxiliary vector. More... | |
uint | gauss_ |
Number of quadrature points. More... | |
uint | m_ |
Expansion order. More... | |
Detailed Description
template<class F = concepts::Real>
class cluster::MultipoleY< F >
part of the Multipole kernel expansion
- Parameters
-
F Field of the space (Real or Cmplx)
Definition at line 21 of file multipoleY.hh.
Constructor & Destructor Documentation
◆ MultipoleY()
cluster::MultipoleY< F >::MultipoleY | ( | uint | m, |
uint | gauss | ||
) |
Constructor.
- Parameters
-
m Expansion order gauss Number of quadrature points
◆ ~MultipoleY()
|
inline |
Definition at line 40 of file multipoleY.hh.
Member Function Documentation
◆ apply() [1/3]
void cluster::MultipoleY< F >::apply | ( | const concepts::Real | Y[], |
const F | src[], | ||
F | dst[] | ||
) | const |
◆ apply() [2/3]
|
pure virtualinherited |
Application of the expansion.
- Exceptions
-
MissingFeature
- Parameters
-
XY Expansion coefficients src Source dst Destination (output)
Implemented in cluster::TaylorY< concepts::Real >, cluster::MultipoleY< concepts::Real >, cluster::MultipoleX< concepts::Real >, and cluster::TaylorX< concepts::Real >.
◆ apply() [3/3]
|
inline |
Definition at line 98 of file multipoleY.hh.
◆ blksz() [1/2]
|
inline |
Definition at line 42 of file multipoleY.hh.
◆ blksz() [2/2]
|
pure virtualinherited |
Size of memory used for the expansion.
Implemented in cluster::TaylorY< concepts::Real >, cluster::TaylorX< concepts::Real >, cluster::MultipoleY< concepts::Real >, and cluster::MultipoleX< concepts::Real >.
◆ evaluate() [1/8]
void cluster::MultipoleY< F >::evaluate | ( | const bem::Constant3d000< F > & | elm, |
const concepts::Real3d & | c, | ||
XYColExpPtr * | Y[] | ||
) | const |
- Exceptions
-
MissingFeature
◆ evaluate() [2/8]
void cluster::MultipoleY< F >::evaluate | ( | const bem::Constant3d001< F > & | elm, |
const concepts::Real3d & | c, | ||
XYColExpPtr * | Y[] | ||
) | const |
- Exceptions
-
MissingFeature
◆ evaluate() [3/8]
void cluster::MultipoleY< F >::evaluate | ( | const bem::Constant3d002< F > & | elm, |
const concepts::Real3d & | c, | ||
XYColExpPtr * | Y[] | ||
) | const |
- Exceptions
-
MissingFeature
◆ evaluate() [4/8]
void cluster::MultipoleY< F >::evaluate | ( | const bem::Dirac3d000< F > & | elm, |
const concepts::Real3d & | c, | ||
XYColExpPtr * | Y[] | ||
) | const |
- Exceptions
-
MissingFeature
◆ evaluate() [5/8]
void cluster::MultipoleY< F >::evaluate | ( | const bem::Linear3d000< F > & | elm, |
const concepts::Real3d & | c, | ||
XYColExpPtr * | Y[] | ||
) | const |
- Exceptions
-
MissingFeature
◆ evaluate() [6/8]
|
pure virtualinherited |
Computation of the expansion coefficients.
- Exceptions
-
MissingFeature
- Parameters
-
elm Element c Cluster center XY Expansion coefficients (output)
Implemented in cluster::TaylorY< concepts::Real >, cluster::MultipoleY< concepts::Real >, cluster::TaylorX< concepts::Real >, and cluster::MultipoleX< concepts::Real >.
◆ evaluate() [7/8]
void cluster::MultipoleY< F >::evaluate | ( | const concepts::Element< F > & | elm, |
const concepts::Real3d & | c, | ||
XYColExpPtr * | Y[] | ||
) | const |
Computation of the expansion coefficients.
- Exceptions
-
MissingFeature
- Parameters
-
elm Element c Cluster center Y Expansion coefficients (output)
◆ evaluate() [8/8]
void cluster::MultipoleY< F >::evaluate | ( | const concepts::Real3d & | z, |
concepts::Real | Y[] | ||
) | const |
Evaluation of the expansion coefficients of one point.
- Parameters
-
z Point Y Expansion coefficients
◆ getCol()
|
inlinevirtual |
Allocates memory for the expansion coefficients and sets it to zero.
- Parameters
-
blksz Block size of the expansion n Number of expansions
Implements cluster::ExpansionXY< concepts::Real >.
Definition at line 86 of file multipoleY.hh.
◆ m() [1/2]
|
inline |
Definition at line 43 of file multipoleY.hh.
◆ m() [2/2]
|
pure virtualinherited |
Order of the expansion.
Implemented in cluster::TaylorY< concepts::Real >, cluster::TaylorX< concepts::Real >, cluster::MultipoleY< concepts::Real >, and cluster::MultipoleX< concepts::Real >.
◆ shift() [1/3]
|
virtual |
Implements cluster::ExpansionXY< concepts::Real >.
◆ shift() [2/3]
|
inlinevirtual |
Shifting the expansion.
- Parameters
-
z Shifting vector src Old expansion coefficients dst New expansion coefficients (output)
Implements cluster::ExpansionXY< concepts::Real >.
Definition at line 91 of file multipoleY.hh.
◆ shift() [3/3]
void cluster::MultipoleY< F >::shift | ( | const concepts::Real3d & | z, |
const FF | src[], | ||
FF | dst[], | ||
uint | foo | ||
) | const |
Member Data Documentation
◆ blksz_
|
private |
Memory used for expansion coefficients.
Definition at line 26 of file multipoleY.hh.
◆ foo_
|
private |
Auxiliary vector.
Definition at line 31 of file multipoleY.hh.
◆ gauss_
|
private |
Number of quadrature points.
Definition at line 28 of file multipoleY.hh.
◆ m_
|
private |
Expansion order.
Definition at line 24 of file multipoleY.hh.
The documentation for this class was generated from the following file:
- cluster/multipoleY.hh