#include <cmath>
#include <assert.h>
#include <pup.h>
#include <OrientedBox.h>
#include <Vector3D.h>
#include "moments.h"
#include "SSEdefs.h"
Go to the source code of this file.
|
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.
|
|
void | calculateRadiusBox (MultipoleMoments &m, const OrientedBox< double > &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.
|
|
template<typename ParticleType> |
void | calculateRadiusFirstParticle (MultipoleMoments &m, const ParticleType *begin, const ParticleType *end) |
|
This file defines the representation of a multipole expansion and operations between expansions.
- Author
- Graeme Lufkin (gwl@u.nosp@m..was.nosp@m.hingt.nosp@m.on.e.nosp@m.du)
- Version
- 1.0
◆ calculateRadiusBox()
void calculateRadiusBox |
( |
MultipoleMoments & | m, |
|
|
const OrientedBox< double > & | box ) |
|
inline |
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 ) |
|
inline |
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.