Orbital Mechanics Simulator

Description
This project is a fully featured orbital mechanics simulator built around high-fidelity perturbation modeling, modern ODE solvers, and an interactive GUI. It supports common orbit classes and incorporates effects such as J2 oblateness, atmospheric drag, and third-body influences, allowing simulations to move beyond ideal Keplerian motion into more realistic dynamical regimes.
A key strength of the project is the combination of numerical flexibility and interpretability. Using JAX and Diffrax-based integrators, the simulator can compare multiple time-stepping methods while producing rich quantitative outputs, 3D trajectory plots, and animations. The result is a practical computational environment for studying how perturbations and numerical choices shape orbital evolution over time.
- Implemented orbit propagation with perturbation models including J2, drag, and third-body gravitational effects.
- Added multiple numerical solvers including Euler, RK4, RK6, Verner RK7, and RK8 through Diffrax.
- Built a Tkinter GUI for selecting orbit presets, solver methods, perturbations, and run duration.
- Tracked a broad set of orbital quantities including eccentricity, inclination, and angular-momentum-related diagnostics.
- Generated 3D trajectory visualizations and exportable orbital-motion animations.
Highlights and Learning Experiences
Trajectory and orbit visualization
3D rendering of orbital trajectories, state evolution, and derived geometric quantities.
Perturbation-aware simulation setup
Interactive selection of orbit presets, perturbation models, solver methods, and simulation duration.
Quantitative orbital diagnostics
Tracking of eccentricity, inclination, angular momentum, and other orbital parameters, along with animation export.