A representation of a multipole expansion.
More...
#include <MultipoleMoments.h>
|
|
MultipoleMoments & | operator+= (const MultipoleMoments &m) |
| | Add two expansions together, using parallel axis theorem.
|
| |
|
template<typename ParticleType> |
| MultipoleMoments & | operator+= (const ParticleType &p) |
| | Add the contribution of a particle to this multipole expansion.
|
| |
|
MultipoleMoments | operator- (const MultipoleMoments &m) |
| | Subtract an expansion from this larger one, yielding the leftover.
|
| |
|
void | clear () |
| | Reset this expansion to nothing.
|
| |
|
cosmoType | getRadius () const |
| |
|
void | setRadius (cosmoType r) |
| |
|
|
cosmoType | soft |
| |
|
cosmoType | totalMass |
| | The total mass represented by this expansion.
|
| |
|
Vector3D< cosmoType > | cm |
| | The center of mass (zeroth order multipole)
|
| |
|
FMOMR | mom |
| |
|
|
class | CudaMultipoleMoments |
| | Version of MultipoleMoments using cudatype.
|
| |
|
void | operator| (PUP::er &p, MultipoleMoments &m) |
| |
|
void | calculateRadiusFarthestCorner (MultipoleMoments &m, const OrientedBox< double > &box) |
| | Given an enclosing box, set the multipole expansion size to the distance from the center of mass to the farthest corner of the box.
|
| |
|
template<typename ParticleType> |
| void | calculateRadiusFarthestParticle (MultipoleMoments &m, const ParticleType *begin, const ParticleType *end) |
| | Given the positions that make up a multipole expansion, set the distance to the farthest particle from the center of mass.
|
| |
| void | calculateRadiusBox (MultipoleMoments &m, const OrientedBox< double > &box) |
| |
| template<typename ParticleType> |
| void | calculateRadiusFirstParticle (MultipoleMoments &m, const ParticleType *begin, const ParticleType *end) |
| |
A representation of a multipole expansion.
◆ calculateRadiusBox
| void calculateRadiusBox |
( |
MultipoleMoments & | m, |
|
|
const OrientedBox< double > & | box ) |
|
friend |
Given an enclosing box, set the multipole expansion size to the distance from the center of the box to the farthest corner of the box
◆ calculateRadiusFirstParticle
template<typename ParticleType>
| void calculateRadiusFirstParticle |
( |
MultipoleMoments & | m, |
|
|
const ParticleType * | begin, |
|
|
const ParticleType * | end ) |
|
friend |
Given list of particles, get a radius based on the first particle. N.B. this is a failover in case the box size is tiny. We assume the multipole moments have not been calculated.
The documentation for this class was generated from the following file: