Class documentation of Concepts

Loading...
Searching...
No Matches
cluster::ExpansionXY< F > Class Template Referenceabstract

#include <expansion.hh>

Inheritance diagram for cluster::ExpansionXY< F >:
cluster::MultipoleX< concepts::Real > cluster::MultipoleY< concepts::Real > cluster::TaylorX< concepts::Real > cluster::TaylorY< concepts::Real > cluster::DMultipoleX< F > cluster::DMultipoleY< F > cluster::DTaylorX< Fspc > cluster::DTaylorY< Fspc > cluster::MultipoleX< F > cluster::MultipoleY< F > cluster::TaylorX< Fspc > cluster::TaylorY< Fspc >

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 XYColExpgetCol (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
 

Detailed Description

template<class F = concepts::Real>
class cluster::ExpansionXY< F >

Abstract class for the $X$ and the $Y$ part of a kernel expansion.

Parameters
FField of the space (Real or Cmplx)

Definition at line 98 of file expansion.hh.

Constructor & Destructor Documentation

◆ ~ExpansionXY()

template<class F = concepts::Real>
virtual cluster::ExpansionXY< F >::~ExpansionXY ( )
inlinevirtual

Definition at line 100 of file expansion.hh.

Member Function Documentation

◆ apply()

template<class F = concepts::Real>
virtual void cluster::ExpansionXY< F >::apply ( const XYColExpPtr XY,
const F  src[],
dst[] 
) const
pure virtual

Application of the expansion.

Exceptions
MissingFeature
Parameters
XYExpansion coefficients
srcSource
dstDestination (output)

Implemented in cluster::DMultipoleX< F >, cluster::MultipoleX< concepts::Real >, cluster::MultipoleX< F >, cluster::MultipoleY< concepts::Real >, cluster::DMultipoleY< F >, and cluster::MultipoleY< F >.

◆ blksz()

◆ evaluate()

template<class F = concepts::Real>
virtual void cluster::ExpansionXY< F >::evaluate ( const concepts::Element< F > &  elm,
const concepts::Real3d c,
XYColExpPtr XY[] 
) const
pure virtual

Computation of the expansion coefficients.

Exceptions
MissingFeature
Parameters
elmElement
cCluster center
XYExpansion coefficients (output)

Implemented in cluster::DMultipoleX< F >, cluster::MultipoleX< F >, cluster::DMultipoleY< F >, and cluster::MultipoleY< F >.

◆ getCol()

template<class F = concepts::Real>
virtual XYColExp * cluster::ExpansionXY< F >::getCol ( uint  blksz,
uint  n 
) const
pure virtual

◆ m()

◆ shift()

template<class F = concepts::Real>
virtual void cluster::ExpansionXY< F >::shift ( const concepts::Real3d z,
const concepts::Real  src[],
concepts::Real  dst[] 
) const
pure virtual

The documentation for this class was generated from the following file: