Class OrbitalMechanics
java.lang.Object
org.episteme.natural.physics.astronomy.mechanics.OrbitalMechanics
Orbital mechanics calculations.
Provides Kepler's laws, vis-viva equation, and orbital maneuvers. All methods use type-safe Quantity measurements and arbitrary precision Real numbers.
- Since:
- 1.0
- Author:
- Silvere Martin-Michiellot, Gemini AI (Google DeepMind)
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionaltitudeFromPeriod(Real periodSeconds) Calculates orbital altitude from period (for Earth).circularVelocity(Real radius, Real mu) Circular orbit velocity. v = √(μ/r)escapeVelocity(Real radius, Real mu) Escape velocity from distance r. v_esc = √(2μ/r)Geostationary orbit altitude (period = 24 hours).hillSphereRadius(Real semiMajorAxis, Real smallerMass, Real largerMass) Hill sphere radius.hohmannDeltaV(Real r1, Real r2, Real mu) Hohmann transfer delta-v (from circular to circular).hohmannTransferTime(Real r1, Real r2, Real mu) Hohmann transfer time (half the period of transfer orbit).orbitalPeriod(Real semiMajorAxis, Real mu) Kepler's Third Law: Orbital period from semi-major axis.orbitalPeriodEarth(Real semiMajorAxis) Orbital period for Earth-orbiting satellite.orbitalVelocity(Real r, Real semiMajorAxis, Real mu) Vis-viva equation: Orbital velocity at distance r. v = √[μ(2/r - 1/a)]solveLambert(Real[] r1, Real[] r2, Real dt, Real mu, boolean prograde) static Quantity<?> specificOrbitalEnergy(Real semiMajorAxis, Real mu) Specific orbital energy.synodicPeriod(Real period1, Real period2) Synodic period between two orbiting bodies. 1/T_syn = |1/T1 - 1/T2|
-
Method Details
-
orbitalPeriod
-
orbitalPeriodEarth
-
orbitalVelocity
Vis-viva equation: Orbital velocity at distance r. v = √[μ(2/r - 1/a)]- Parameters:
r- current distance from central body (m)semiMajorAxis- semi-major axis (m)mu- gravitational parameter- Returns:
- orbital velocity
-
circularVelocity
-
escapeVelocity
-
hohmannDeltaV
-
hohmannTransferTime
-
specificOrbitalEnergy
-
altitudeFromPeriod
-
geostationaryAltitude
-
hillSphereRadius
-
synodicPeriod
-
solveLambert
public static OrbitalMechanics.LambertResult solveLambert(Real[] r1, Real[] r2, Real dt, Real mu, boolean prograde)
-