Orrery
A GPU-accelerated N-body gravitational simulator
Loading...
Searching...
No Matches
orrery::initial_conditions::PlummerParameters Struct Reference

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.

Detailed Description

A Plummer sphere to sample.

Member Data Documentation

◆ total_mass

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.

◆ mass_fraction_cutoff

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.


The documentation for this struct was generated from the following file: