|
#include <Panel.h>
Public Member Functions | |
Panel (Panel *root, int maximumPanelLevel, Vec3D leftBound, Vec3D rightBound, std::vector< Source * > sources, std::vector< Dipole * > dipoles, NumericalVector<> *squaredFactorials, Box *box) | |
void | initialise () |
void | computeCoefficients () |
void | createPanels (int dim, std::vector< Source * > &sources, std::vector< Dipole * > &dipoles, Vec3D &leftBoundChild, Vec3D &rightBoundChild, NumericalVector<> *squaredFactorials) |
void | findPanelInteractions () |
void | setPanelInteractions () |
void | computeMultipoleExpansion () |
void | translateMultipoleExpansion () |
void | setLocalExpansionZero () |
void | computePartialLocalExpansion () |
void | translateLocalExpansion () |
void | computeLocalExpansion () |
Vec3D | getCentre () |
Panel * | getRoot () |
std::vector< Panel * > | getChilderen () |
std::vector< Panel * > | getNeighbours () |
std::vector< Panel * > | getSecondNeighbours () |
std::vector< Panel * > | getInteractionList () |
std::vector< Source * > | getSources () |
Source * | getSource (int index) |
std::vector< Dipole * > | getDipoles () |
std::vector< Multipole * > | getMultipoles () |
std::vector< Sphere * > | getSpheres () |
int | getPanelLevel () |
NumericalVector< std::complex< Mdouble > > | getPartialLocalExpansion () |
NumericalVector< std::complex< Mdouble > > | getLocalExpansion () |
Private Attributes | |
const int | panelLevel_ |
Mdouble | dim_ |
Vec3D | leftBound_ |
Vec3D | rightBound_ |
double | size_ |
Vec3D | centre_ |
Panel * | root_ = nullptr |
std::vector< Panel * > | childeren_ |
std::vector< Panel * > | neighbours_ |
std::vector< Panel * > | secondNeighbours_ |
std::vector< Panel * > | interactionList_ |
std::vector< Source * > | sources_ |
std::vector< Dipole * > | dipoles_ |
std::vector< Multipole * > | multipoles_ |
std::vector< Sphere * > | spheres_ |
Box * | box_ |
Multipole * | multipoleAroundCentre_ |
LocalExpansion * | partialLocalExpansionAroundCentre_ |
LocalExpansion * | localExpansionAroundCentre_ |
NumericalVector< std::complex< Mdouble > > | partialLocalExpansion_ |
NumericalVector< std::complex< Mdouble > > | localExpansion_ |
Panel::Panel | ( | Panel * | root, |
int | maximumPanelLevel, | ||
Vec3D | leftBound, | ||
Vec3D | rightBound, | ||
std::vector< Source * > | sources, | ||
std::vector< Dipole * > | dipoles, | ||
NumericalVector<> * | squaredFactorials, | ||
Box * | box | ||
) |
References Box::addPanel(), box_, centre_, Multipole::computeMultipoleExpansion(), createPanels(), dim_, Vec3D::getComponent(), Box::getNumberOfTerms(), LocalExpansion::initialiseLocalExpansion(), localExpansionAroundCentre_, multipoleAroundCentre_, partialLocalExpansionAroundCentre_, Vec3D::setComponent(), and size_.
Referenced by createPanels().
void Panel::computeCoefficients | ( | ) |
References box_, Box::downwardPass(), and Box::upwardPass().
void Panel::computeLocalExpansion | ( | ) |
References LocalExpansion::addLocalExpansionCoefficients(), LocalExpansion::getExpansionCoefficients(), localExpansionAroundCentre_, and partialLocalExpansionAroundCentre_.
void Panel::computeMultipoleExpansion | ( | ) |
Source: perform a multipole expansion around the centre of the box
Dipole: perform a multipole expansion around the centre of the box
Multipole: Transfer a multipole in the box to the centre of the box
References Multipole::addMultipoleCoefficients(), centre_, dipoles_, multipoleAroundCentre_, and multipoles_.
void Panel::computePartialLocalExpansion | ( | ) |
References LocalExpansion::addLocalExpansionCoefficients(), centre_, interactionList_, and partialLocalExpansionAroundCentre_.
void Panel::createPanels | ( | int | dim, |
std::vector< Source * > & | sources, | ||
std::vector< Dipole * > & | dipoles, | ||
Vec3D & | leftBoundChild, | ||
Vec3D & | rightBoundChild, | ||
NumericalVector<> * | squaredFactorials | ||
) |
References box_, childeren_, dim_, Vec3D::getComponent(), leftBound_, Panel(), panelLevel_, Vec3D::setComponent(), and size_.
Referenced by Panel().
void Panel::findPanelInteractions | ( | ) |
|
inline |
|
inline |
|
inline |
References interactionList_.
|
inline |
References localExpansion_.
|
inline |
References multipoles_.
|
inline |
|
inline |
References panelLevel_.
|
inline |
References partialLocalExpansion_.
|
inline |
|
inline |
|
inline |
|
inline |
void Panel::initialise | ( | ) |
References findPanelInteractions().
void Panel::setLocalExpansionZero | ( | ) |
void Panel::setPanelInteractions | ( | ) |
References getChilderen(), Vec3D::getDistance(), getNeighbours(), getSecondNeighbours(), interactionList_, neighbours_, root_, secondNeighbours_, and size_.
Referenced by findPanelInteractions().
void Panel::translateLocalExpansion | ( | ) |
References childeren_, localExpansionAroundCentre_, and LocalExpansion::translateLocalExpansion().
void Panel::translateMultipoleExpansion | ( | ) |
References Multipole::addMultipoleCoefficients(), centre_, childeren_, and multipoleAroundCentre_.
|
private |
Referenced by computeCoefficients(), createPanels(), and Panel().
|
private |
Referenced by computeMultipoleExpansion(), computePartialLocalExpansion(), getCentre(), Panel(), and translateMultipoleExpansion().
|
private |
Referenced by createPanels(), findPanelInteractions(), getChilderen(), translateLocalExpansion(), and translateMultipoleExpansion().
|
private |
Referenced by createPanels(), and Panel().
|
private |
Referenced by computeMultipoleExpansion(), and getDipoles().
|
private |
Referenced by computePartialLocalExpansion(), getInteractionList(), and setPanelInteractions().
|
private |
Referenced by createPanels().
|
private |
Referenced by getLocalExpansion().
|
private |
Referenced by computeLocalExpansion(), Panel(), and translateLocalExpansion().
|
private |
Referenced by computeMultipoleExpansion(), Panel(), and translateMultipoleExpansion().
|
private |
Referenced by computeMultipoleExpansion(), and getMultipoles().
|
private |
Referenced by getNeighbours(), and setPanelInteractions().
|
private |
Referenced by createPanels(), and getPanelLevel().
|
private |
Referenced by getPartialLocalExpansion().
|
private |
Referenced by computeLocalExpansion(), computePartialLocalExpansion(), and Panel().
|
private |
|
private |
Referenced by getRoot(), and setPanelInteractions().
|
private |
Referenced by getSecondNeighbours(), and setPanelInteractions().
|
private |
Referenced by createPanels(), Panel(), and setPanelInteractions().
|
private |
Referenced by getSource(), and getSources().
|
private |
Referenced by getSpheres().