Project Overview
**Key Technologies:** Python (NumPy, SciPy), C++ (OOP), Numerical Methods, Astrodynamics Principles
The Orbital Trajectory Simulator is a powerful, custom-built tool designed to propagate the state vector of a spacecraft over time, accounting for complex gravitational and non-gravitational disturbances. This project served as a comprehensive application of classical mechanics and computational methods to solve a real-world astrodynamics challenge.
Technical Deep Dive
The core of the simulator uses the second-order differential equation describing the motion of a spacecraft: $$ \ddot{\mathbf{r}} = - \frac{\mu}{r^3} \mathbf{r} + \mathbf{a}_{\text{dist}} $$ where $\mu$ is the standard gravitational parameter, $\mathbf{r}$ is the position vector, and $\mathbf{a}_{\text{dist}}$ includes all perturbing accelerations.
Core Implementation Details:
- **Numerical Integration:** Implemented a variable time-step **Dormand-Prince (Runge-Kutta 8(5,3))** algorithm in C++ for exceptional accuracy and efficiency in propagation.
- **Perturbations Model:** Included models for J2 (Earth oblateness), atmospheric drag using the Jacchia-Roberts density model, and solar radiation pressure.
- **Propulsion:** Developed modules for high-thrust impulsive maneuvers (Hohmann transfers) and low-thrust continuous electric propulsion modeling.
- **Visualization:** Used Matplotlib (Python) for generating 3D visualizations of the orbital path and ground track.
Project Results & Verification
The simulator was validated against known Two-Line Element (TLE) data and NASA's SPICE kernels. Over a 7-day propagation period for a Geostationary Transfer Orbit (GTO), the simulation maintained an orbital position error below **$1.5 \text{ km}$**, demonstrating high operational fidelity suitable for preliminary mission design.