|
Orrery
A GPU-accelerated N-body gravitational simulator
|
A disc galaxy to sample. More...
#include <orrery/initial_conditions/disc_galaxy.hpp>
Public Attributes | |
| core::Index | count = 0 |
| The number of particles in the whole galaxy, disc and bulge together. | |
| core::Real | disc_mass = 1 |
| The mass of the exponential disc. | |
| core::Real | bulge_mass = static_cast<core::Real>(0.2) |
| The mass of the Plummer bulge, which may be zero for a pure disc. | |
| core::Real | scale_length = 1 |
| The exponential scale length of the disc, R_d. | |
| core::Real | scale_height = static_cast<core::Real>(0.1) |
| The exponential scale height of the disc. | |
| core::Real | bulge_radius = static_cast<core::Real>(0.2) |
| The Plummer scale radius of the bulge. | |
| core::Real | mass_fraction_cutoff = static_cast<core::Real>(0.99) |
| The fraction of the exponential disc's mass the sample is drawn from. | |
| core::Real | softening = 0 |
| The Plummer softening length the run will use. | |
| core::Real | inclination = 0 |
| The angle between the disc's spin axis and the z axis, in radians. | |
| core::Real | position_angle = 0 |
| The angle the tilted disc is then rotated by about the z axis, in radians. | |
A disc galaxy to sample.
| core::Index orrery::initial_conditions::DiscGalaxyParameters::count = 0 |
The number of particles in the whole galaxy, disc and bulge together.
One count rather than one per component, because the particles all carry the same mass and the split therefore follows from the two component masses rather than being independently choosable. Equal masses matter here for the same reason they matter in the Plummer sampler, and for one more: a renderer that draws every particle as the same point of light is showing mass density only if the masses are equal.
| core::Real orrery::initial_conditions::DiscGalaxyParameters::bulge_mass = static_cast<core::Real>(0.2) |
The mass of the Plummer bulge, which may be zero for a pure disc.
A fifth of the disc mass by default, which is at the low end of the range observed for spiral galaxies and is chosen for the dynamics rather than for realism: a bulge concentrated enough to dominate the centre makes the inner rotation curve steep, and a steep inner rotation curve winds the spiral structure into a blur within a couple of rotations.
| core::Real orrery::initial_conditions::DiscGalaxyParameters::scale_height = static_cast<core::Real>(0.1) |
The exponential scale height of the disc.
A tenth of the scale length, which is about the ratio observed in real spirals. It is not zero because a razor-thin disc drawn as points looks like a razor-thin disc: seen edge on it disappears, and seen face on it has no depth for the camera to move through.
| core::Real orrery::initial_conditions::DiscGalaxyParameters::mass_fraction_cutoff = static_cast<core::Real>(0.99) |
The fraction of the exponential disc's mass the sample is drawn from.
An exponential disc has infinite extent and finite mass, so, as with the Plummer sphere, the sample has to be truncated somewhere or the outermost particle wanders off as the count rises. Ninety-nine per cent of the mass lies inside 6.64 scale lengths, which is close to where real discs are observed to end.
| core::Real orrery::initial_conditions::DiscGalaxyParameters::softening = 0 |
The Plummer softening length the run will use.
Zero means the circular speeds are computed for point masses. See the note in the file comment: this should be the solver's softening, and the assembly makes it so.
| core::Real orrery::initial_conditions::DiscGalaxyParameters::inclination = 0 |
The angle between the disc's spin axis and the z axis, in radians.
Zero puts the disc in the x-y plane rotating anticlockwise seen from above. Pi puts it in the same plane rotating the other way, which is how a retrograde encounter is asked for: there is no separate flag, because a retrograde disc is an inclined disc turned all the way over.
| core::Real orrery::initial_conditions::DiscGalaxyParameters::position_angle = 0 |
The angle the tilted disc is then rotated by about the z axis, in radians.
Meaningless on its own, since a disc with no inclination is axisymmetric. It exists so that two inclined galaxies in an encounter can be tilted about different lines rather than both about the x axis.