changa 3.5
Loading...
Searching...
No Matches
MultipoleMoments Class Reference

A representation of a multipole expansion. More...

#include <MultipoleMoments.h>

Public Member Functions

MultipoleMomentsoperator+= (const MultipoleMoments &m)
 Add two expansions together, using parallel axis theorem.
 
template<typename ParticleType>
MultipoleMomentsoperator+= (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)
 

Public Attributes

cosmoType soft
 
cosmoType totalMass
 The total mass represented by this expansion.
 
Vector3D< cosmoType > cm
 The center of mass (zeroth order multipole)
 
FMOMR mom
 

Friends

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)
 

Detailed Description

A representation of a multipole expansion.

Friends And Related Symbol Documentation

◆ 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: