cluster::MultipoleY< F > Class Template Referenceabstract

$Y$ part of the Multipole kernel expansion More...

#include <multipoleY.hh>

Inheritance diagram for cluster::MultipoleY< F >:
cluster::ExpansionXY< concepts::Real >

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...
 
XYColRealgetCol (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::Realfoo_
 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 >

$Y$ part of the Multipole kernel expansion

Parameters
FField of the space (Real or Cmplx)

Definition at line 21 of file multipoleY.hh.

Constructor & Destructor Documentation

◆ MultipoleY()

template<class F = concepts::Real>
cluster::MultipoleY< F >::MultipoleY ( uint  m,
uint  gauss 
)

Constructor.

Parameters
mExpansion order
gaussNumber of quadrature points

◆ ~MultipoleY()

template<class F = concepts::Real>
cluster::MultipoleY< F >::~MultipoleY ( )
inline

Definition at line 40 of file multipoleY.hh.

Member Function Documentation

◆ apply() [1/3]

template<class F = concepts::Real>
void cluster::MultipoleY< F >::apply ( const concepts::Real  Y[],
const F  src[],
dst[] 
) const

◆ apply() [2/3]

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

Application of the expansion.

Exceptions
MissingFeature
Parameters
XYExpansion coefficients
srcSource
dstDestination (output)

Implemented in cluster::TaylorY< concepts::Real >, cluster::MultipoleY< concepts::Real >, cluster::MultipoleX< concepts::Real >, and cluster::TaylorX< concepts::Real >.

◆ apply() [3/3]

template<class F >
void cluster::MultipoleY< F >::apply ( const XYColExpPtr Y,
const F  src[],
dst[] 
) const
inline

Definition at line 98 of file multipoleY.hh.

◆ blksz() [1/2]

template<class F = concepts::Real>
uint cluster::MultipoleY< F >::blksz ( ) const
inline

Definition at line 42 of file multipoleY.hh.

◆ blksz() [2/2]

virtual uint cluster::ExpansionXY< concepts::Real >::blksz ( ) const
pure virtualinherited

◆ evaluate() [1/8]

template<class F = concepts::Real>
void cluster::MultipoleY< F >::evaluate ( const bem::Constant3d000< F > &  elm,
const concepts::Real3d c,
XYColExpPtr Y[] 
) const
Exceptions
MissingFeature

◆ evaluate() [2/8]

template<class F = concepts::Real>
void cluster::MultipoleY< F >::evaluate ( const bem::Constant3d001< F > &  elm,
const concepts::Real3d c,
XYColExpPtr Y[] 
) const
Exceptions
MissingFeature

◆ evaluate() [3/8]

template<class F = concepts::Real>
void cluster::MultipoleY< F >::evaluate ( const bem::Constant3d002< F > &  elm,
const concepts::Real3d c,
XYColExpPtr Y[] 
) const
Exceptions
MissingFeature

◆ evaluate() [4/8]

template<class F = concepts::Real>
void cluster::MultipoleY< F >::evaluate ( const bem::Dirac3d000< F > &  elm,
const concepts::Real3d c,
XYColExpPtr Y[] 
) const
Exceptions
MissingFeature

◆ evaluate() [5/8]

template<class F = concepts::Real>
void cluster::MultipoleY< F >::evaluate ( const bem::Linear3d000< F > &  elm,
const concepts::Real3d c,
XYColExpPtr Y[] 
) const
Exceptions
MissingFeature

◆ evaluate() [6/8]

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

Computation of the expansion coefficients.

Exceptions
MissingFeature
Parameters
elmElement
cCluster center
XYExpansion coefficients (output)

Implemented in cluster::TaylorY< concepts::Real >, cluster::MultipoleY< concepts::Real >, cluster::TaylorX< concepts::Real >, and cluster::MultipoleX< concepts::Real >.

◆ evaluate() [7/8]

template<class F = concepts::Real>
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
elmElement
cCluster center
YExpansion coefficients (output)

◆ evaluate() [8/8]

template<class F = concepts::Real>
void cluster::MultipoleY< F >::evaluate ( const concepts::Real3d z,
concepts::Real  Y[] 
) const

Evaluation of the expansion coefficients of one point.

Parameters
zPoint
YExpansion coefficients

◆ getCol()

template<class F >
XYColReal * cluster::MultipoleY< F >::getCol ( uint  blksz,
uint  n 
) const
inlinevirtual

Allocates memory for the expansion coefficients and sets it to zero.

Parameters
blkszBlock size of the expansion
nNumber of expansions

Implements cluster::ExpansionXY< concepts::Real >.

Definition at line 86 of file multipoleY.hh.

◆ m() [1/2]

template<class F = concepts::Real>
uint cluster::MultipoleY< F >::m ( ) const
inline

Definition at line 43 of file multipoleY.hh.

◆ m() [2/2]

◆ shift() [1/3]

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

◆ shift() [2/3]

template<class F >
void cluster::MultipoleY< F >::shift ( const concepts::Real3d z,
const concepts::Real  src[],
concepts::Real  dst[] 
) const
inlinevirtual

Shifting the expansion.

Parameters
zShifting vector
srcOld expansion coefficients
dstNew expansion coefficients (output)

Implements cluster::ExpansionXY< concepts::Real >.

Definition at line 91 of file multipoleY.hh.

◆ shift() [3/3]

template<class F = concepts::Real>
template<class FF >
void cluster::MultipoleY< F >::shift ( const concepts::Real3d z,
const FF  src[],
FF  dst[],
uint  foo 
) const

Member Data Documentation

◆ blksz_

template<class F = concepts::Real>
uint cluster::MultipoleY< F >::blksz_
private

Memory used for expansion coefficients.

Definition at line 26 of file multipoleY.hh.

◆ foo_

template<class F = concepts::Real>
concepts::Real* cluster::MultipoleY< F >::foo_
private

Auxiliary vector.

Definition at line 31 of file multipoleY.hh.

◆ gauss_

template<class F = concepts::Real>
uint cluster::MultipoleY< F >::gauss_
private

Number of quadrature points.

Definition at line 28 of file multipoleY.hh.

◆ m_

template<class F = concepts::Real>
uint cluster::MultipoleY< F >::m_
private

Expansion order.

Definition at line 24 of file multipoleY.hh.


The documentation for this class was generated from the following file:
Page URL: http://wiki.math.ethz.ch/bin/view/Concepts/WebHome
21 August 2020
© 2020 Eidgenössische Technische Hochschule Zürich