#include <expansion.hh>
Public Member Functions | |
virtual uint | blksz () const =0 |
Size of memory used for the expansion. | |
virtual uint | m () const =0 |
Order of the expansion. | |
virtual XYColExp * | getCol (uint blksz, uint n) const =0 |
virtual void | evaluate (const concepts::Element< F > &elm, const concepts::Real3d &c, XYColExpPtr *XY[]) const =0 |
virtual void | shift (const concepts::Real3d &z, const concepts::Real src[], concepts::Real dst[]) const =0 |
virtual void | shift (const concepts::Real3d &z, const concepts::Cmplx src[], concepts::Cmplx dst[]) const =0 |
virtual void | apply (const XYColExpPtr *XY, const F src[], F dst[]) const =0 |
Abstract class for the and the part of a kernel expansion.
F | Field of the space (Real or Cmplx) |
Definition at line 98 of file expansion.hh.
|
inlinevirtual |
Definition at line 100 of file expansion.hh.
|
pure virtual |
Application of the expansion.
MissingFeature |
XY | Expansion coefficients |
src | Source |
dst | Destination (output) |
Implemented in cluster::DMultipoleX< F >, cluster::MultipoleX< concepts::Real >, cluster::MultipoleX< F >, cluster::MultipoleY< concepts::Real >, cluster::DMultipoleY< F >, and cluster::MultipoleY< F >.
|
pure virtual |
Size of memory used for the expansion.
Implemented in cluster::DMultipoleX< F >, cluster::DMultipoleY< F >, cluster::MultipoleX< F >, cluster::MultipoleX< concepts::Real >, cluster::MultipoleY< F >, cluster::MultipoleY< concepts::Real >, cluster::TaylorX< Fspc >, cluster::TaylorX< concepts::Real >, cluster::DTaylorX< Fspc >, cluster::TaylorY< Fspc >, cluster::TaylorY< concepts::Real >, and cluster::DTaylorY< Fspc >.
|
pure virtual |
Computation of the expansion coefficients.
MissingFeature |
elm | Element |
c | Cluster center |
XY | Expansion coefficients (output) |
Implemented in cluster::DMultipoleX< F >, cluster::MultipoleX< F >, cluster::DMultipoleY< F >, and cluster::MultipoleY< F >.
|
pure virtual |
Allocates memory for the expansion coefficients and sets it to zero.
blksz | Block size of the expansion |
n | Number of expansions |
Implemented in cluster::DMultipoleX< F >, cluster::DMultipoleY< F >, cluster::MultipoleX< F >, cluster::MultipoleX< concepts::Real >, cluster::MultipoleY< F >, cluster::MultipoleY< concepts::Real >, cluster::TaylorX< Fspc >, cluster::TaylorX< concepts::Real >, cluster::DTaylorX< Fspc >, cluster::TaylorY< Fspc >, cluster::TaylorY< concepts::Real >, and cluster::DTaylorY< Fspc >.
|
pure virtual |
Order of the expansion.
Implemented in cluster::DMultipoleX< F >, cluster::DMultipoleY< F >, cluster::MultipoleX< F >, cluster::MultipoleX< concepts::Real >, cluster::MultipoleY< F >, cluster::MultipoleY< concepts::Real >, cluster::TaylorX< Fspc >, cluster::TaylorX< concepts::Real >, cluster::DTaylorX< Fspc >, cluster::TaylorY< Fspc >, cluster::TaylorY< concepts::Real >, and cluster::DTaylorY< Fspc >.
|
pure virtual |
Shifting the expansion.
z | Shifting vector |
src | Old expansion coefficients |
dst | New expansion coefficients (output) |
Implemented in cluster::DMultipoleX< F >, cluster::DMultipoleY< F >, cluster::MultipoleX< F >, cluster::MultipoleX< concepts::Real >, cluster::MultipoleY< F >, cluster::MultipoleY< concepts::Real >, cluster::TaylorX< Fspc >, cluster::TaylorX< concepts::Real >, cluster::DTaylorX< Fspc >, cluster::TaylorY< Fspc >, cluster::TaylorY< concepts::Real >, and cluster::DTaylorY< Fspc >.