astro.Function.ringRocheLimits - Elite-Dangerous-Almanac/Almanac-Core GitHub Wiki

@elite-dangerous-almanac/core / astro / ringRocheLimits

Function: 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.

Parameters

ring

BodyRing

The ring. Needs RingClass.

primary

BodyProperties

The body it goes round. Needs a mass and a Radius.

Returns

RocheLimits | null

Both limits in metres from the primary's centre, or null when the primary's density cannot be computed.

Remarks

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.

Throws

If either argument is not an object, or the ring carries no RingClass string.

Example

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…
⚠️ **GitHub.com Fallback** ⚠️