WaveBEM: Unsteady Nonlinear Potential Flow Solver for Ship-Wave Interaction.
MultipoleExpansion Class Reference

#include <multipole_expansion.h>

Public Member Functions

 MultipoleExpansion ()
 
 MultipoleExpansion (const unsigned int order, const dealii::Point< 3 > &center, const AssLegFunction *assLegFunction)
 
 MultipoleExpansion (const MultipoleExpansion &other)
 
 ~MultipoleExpansion ()
 
void Add (const MultipoleExpansion &multipole, const double sol)
 
void Add (const double strength, const dealii::Point< 3 > &point)
 
void Add (const MultipoleExpansion &child)
 
void AddNormDer (const double strength, const dealii::Point< 3 > &point, const dealii::Tensor< 1, 3 > &normal)
 
double Evaluate (const dealii::Point< 3 > &evalPoint)
 
dealii::Point< 3 > GetCenter () const
 
void SetCenter (const dealii::Point< 3 > &new_center)
 
FullMatrix< double > & GetA_n_m () const
 
std::complex< double > * GetCoeffs () const
 
std::complex< double > & GetCoeff (unsigned int n, unsigned int m) const
 
void SetCoeff (unsigned int n, unsigned int m, std::complex< double > &value) const
 
void AddToCoeff (unsigned int n, unsigned int m, std::complex< double > &value) const
 
MultipoleExpansionoperator= (const MultipoleExpansion &other)
 

Static Public Member Functions

static FullMatrix< double > A_n_m_Matrix (unsigned int dim)
 

Public Attributes

bool is_zero
 

Static Public Attributes

static FullMatrix< double > A_n_m = MultipoleExpansion::A_n_m_Matrix(20)
 

Private Attributes

unsigned int p
 
dealii::Point< 3 > center
 
const AssLegFunctionassLegFunction
 
std::complex< double > * _M_n_m
 

Detailed Description

Definition at line 16 of file multipole_expansion.h.

Constructor & Destructor Documentation

MultipoleExpansion::MultipoleExpansion ( )

Definition at line 10 of file multipole_expansion.cc.

MultipoleExpansion::MultipoleExpansion ( const unsigned int  order,
const dealii::Point< 3 > &  center,
const AssLegFunction assLegFunction 
)

Definition at line 22 of file multipole_expansion.cc.

MultipoleExpansion::MultipoleExpansion ( const MultipoleExpansion other)

Definition at line 36 of file multipole_expansion.cc.

MultipoleExpansion::~MultipoleExpansion ( )

Definition at line 62 of file multipole_expansion.cc.

Member Function Documentation

static FullMatrix<double> MultipoleExpansion::A_n_m_Matrix ( unsigned int  dim)
inlinestatic

Definition at line 93 of file multipole_expansion.h.

void MultipoleExpansion::Add ( const MultipoleExpansion multipole,
const double  sol 
)

Definition at line 68 of file multipole_expansion.cc.

void MultipoleExpansion::Add ( const double  strength,
const dealii::Point< 3 > &  point 
)

Definition at line 87 of file multipole_expansion.cc.

void MultipoleExpansion::Add ( const MultipoleExpansion child)

Definition at line 159 of file multipole_expansion.cc.

void MultipoleExpansion::AddNormDer ( const double  strength,
const dealii::Point< 3 > &  point,
const dealii::Tensor< 1, 3 > &  normal 
)

Definition at line 117 of file multipole_expansion.cc.

void MultipoleExpansion::AddToCoeff ( unsigned int  n,
unsigned int  m,
std::complex< double > &  value 
) const
inline

Definition at line 85 of file multipole_expansion.h.

double MultipoleExpansion::Evaluate ( const dealii::Point< 3 > &  evalPoint)

Definition at line 224 of file multipole_expansion.cc.

FullMatrix<double>& MultipoleExpansion::GetA_n_m ( ) const
inline

Definition at line 65 of file multipole_expansion.h.

dealii::Point<3> MultipoleExpansion::GetCenter ( ) const
inline

Definition at line 55 of file multipole_expansion.h.

std::complex<double>& MultipoleExpansion::GetCoeff ( unsigned int  n,
unsigned int  m 
) const
inline

Definition at line 75 of file multipole_expansion.h.

std::complex<double>* MultipoleExpansion::GetCoeffs ( ) const
inline

Definition at line 70 of file multipole_expansion.h.

MultipoleExpansion & MultipoleExpansion::operator= ( const MultipoleExpansion other)

Definition at line 48 of file multipole_expansion.cc.

void MultipoleExpansion::SetCenter ( const dealii::Point< 3 > &  new_center)
inline

Definition at line 60 of file multipole_expansion.h.

void MultipoleExpansion::SetCoeff ( unsigned int  n,
unsigned int  m,
std::complex< double > &  value 
) const
inline

Definition at line 80 of file multipole_expansion.h.

Member Data Documentation

std::complex<double>* MultipoleExpansion::_M_n_m
mutableprivate

Definition at line 31 of file multipole_expansion.h.

FullMatrix< double > MultipoleExpansion::A_n_m = MultipoleExpansion::A_n_m_Matrix(20)
static

Definition at line 19 of file multipole_expansion.h.

const AssLegFunction* MultipoleExpansion::assLegFunction
mutableprivate

Definition at line 29 of file multipole_expansion.h.

dealii::Point<3> MultipoleExpansion::center
mutableprivate

Definition at line 27 of file multipole_expansion.h.

bool MultipoleExpansion::is_zero
mutable

Definition at line 21 of file multipole_expansion.h.

unsigned int MultipoleExpansion::p
mutableprivate

Definition at line 25 of file multipole_expansion.h.


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