|
Orrery
A GPU-accelerated N-body gravitational simulator
|
A Plummer sphere to sample. More...
#include <orrery/initial_conditions/plummer.hpp>
Public Attributes | |
| core::Index | count = 0 |
| core::Real | total_mass = 1 |
| Shared equally among the particles. | |
| core::Real | scale_radius = kStandardPlummerRadius |
| core::Real | mass_fraction_cutoff = static_cast<core::Real>(0.999) |
| The fraction of the model's mass the sample is drawn from. | |
A Plummer sphere to sample.
| core::Real orrery::initial_conditions::PlummerParameters::total_mass = 1 |
Shared equally among the particles.
Equal masses because the cluster this represents has them, and because unequal masses would introduce mass segregation into a configuration whose purpose is to be simple enough to reason about. A mass spectrum is a modelling choice for a later study, not a property of the reference configuration.
| core::Real orrery::initial_conditions::PlummerParameters::mass_fraction_cutoff = static_cast<core::Real>(0.999) |
The fraction of the model's mass the sample is drawn from.
The Plummer sphere is infinite: its mass converges but its radius does not, and the inverted mass profile sends the outermost sampled particle to a radius that grows without bound as the count rises. One particle a thousand scale radii out contributes almost nothing to the potential energy and a great deal to the bounding box, the tree depth, and the timestep the outer orbit needs.
Truncating at 99.9 per cent of the mass bounds the sample at 38.7 scale radii while moving a thousandth of the mass inwards, which shifts the energies by far less than the sampling noise at any count this project runs. It is a parameter rather than a constant so that a study which needs the tail can ask for it.