astro.Function.ringRocheLimits - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki
@elite-dangerous-almanac/core / astro / ringRocheLimits
ringRocheLimits(
ring,primary):RocheLimits|null
Defined in: src/astro/body-rings.ts:282
Roche limits around a body for material of the kind its ring is made of.
The ring. Needs RingClass.
The body it goes round. Needs a mass and a Radius.
RocheLimits | null
Both limits in metres from the primary's centre, or null when the primary's
density cannot be computed.
Ring material inside the Roche limit could never have accreted into a moon, which is the usual account of why the ring is there at all. A ring sitting outside it wants a different explanation.
The particle density is assumed from the ring's class (ringParticleDensity) rather than measured, so the limits move with that assumption; the fluid limit is the one to compare a diffuse ring against.
If either argument is not an object, or the ring carries no
RingClass string.
import { ringRocheLimits } from '@elite-dangerous-almanac/core/astro/body-rings';
const ring = { Name: 'A Ring', RingClass: 'eRingClass_Icy', MassMT: 1e13, InnerRad: 1e8, OuterRad: 2e8 };
ringRocheLimits(ring, { MassEM: 1, Radius: 6_371_000 })?.fluid; // -> 27642167.3…