enceladuss 0.0.3

Enceladus celestial simulation crate for the MilkyWay SolarSystem workspace
Documentation
#[test]
fn saturn_binary_or_simulate() {
    let s = enceladuss::interactions::saturns::ensure_saturns_binary_or_simulate();
    assert!(s.orbital_radius_km > 0.0);
    assert!(s.orbital_period_days > 0.0);
}

#[test]
fn subsaturn_bulge_finite() {
    let r = enceladuss::physics::tides::TidalResponse::current();
    let b = enceladuss::interactions::earth_tides::subsaturn_bulge_m(r);
    assert!(b.is_finite());
}

#[test]
fn antisaturn_bulge_finite() {
    let r = enceladuss::physics::tides::TidalResponse::current();
    let b = enceladuss::interactions::earth_tides::antisaturn_bulge_m(r);
    assert!(b.is_finite());
}

#[test]
fn libration_factor_near_one() {
    let f = enceladuss::interactions::orbital_dynamics::libration_factor(0.0);
    assert!((f - 1.0).abs() < 0.1);
}

#[test]
fn orbital_energy_finite() {
    let orbit = enceladuss::physics::orbit::EnceladusOrbit::new();
    let e = enceladuss::interactions::orbital_dynamics::orbital_energy_j_per_kg(
        orbit,
        orbit.semi_major_axis_m,
    );
    assert!(e.is_finite());
}