Task 219: RK4 Precision Validation for Gravity Capture
完了 ← タスク一覧
Task 219: RK4 Precision Validation for Gravity Capture
Status: DONE
Human directive: Phase 21, item 24
Problem
The project uses fixed-dt RK4 for various orbital transfer calculations. For ballistic trajectories near gravity wells (gravity capture, hyperbolic flyby, periapsis passage), the gravitational acceleration changes rapidly, and fixed-dt may not capture these dynamics accurately.
The adaptive RK45 (Dormand-Prince) and symplectic Störmer-Verlet already exist in propagation.rs, but systematic validation for gravity-capture scenarios is missing.
Plan
Phase 1: Analytical test cases (TDD — write tests first)
- Two-body hyperbolic flyby: Given V∞ and periapsis distance, compute turning angle analytically. Compare RK4/RK45 at various dt.
- Gravity capture: Apply known ΔV at periapsis of hyperbolic orbit → compute resulting bound orbit analytically. Compare integrator results.
- Kepler equation validation: Propagate known elliptical orbit, compare position at arbitrary true anomaly using Kepler equation.
- SOI transition: Test accuracy at sphere-of-influence boundaries where gravity field switches.
Phase 2: Identify failure modes
- Run RK4 at dt=60s, 600s, 3600s for gravity-capture scenarios
- Measure position/velocity error vs analytical solution
- Document dt thresholds where RK4 accuracy degrades
- Compare with RK45 adaptive results
Phase 3: Fix affected analyses
- If specific episode analyses use inadequate dt, switch to RK45 or reduce dt
- Update cross-validation if needed
- Document findings in analysis reports
Files
crates/solar-line-core/src/propagation.rs— integratorscrates/solar-line-core/tests/oracle_propagation.rs— oracle testscross_validation/validate.py— scipy cross-validation