A NASA-Grade, High-Fidelity Solar Sail Analysis Platform.
SSMS is a comprehensive research tool designed for the design, optimization, and analysis of solar sail missions. It integrates rigorous physics models with modern software engineering practices to provide a robust environment for astrodynamics research.
- N-Body Gravity: JIT-compiled perturbation model including Earth, Moon, Jupiter, Mars, and Venus with true ephemeris origins.
-
Numerical Stability: Adaptive Runge-Kutta-Fehlberg (RKF45) integration featuring IEEE Mixed Tolerances (
atol + rtol * |y|) for extreme proximity safety. - Advanced SRP: Solar Radiation Pressure model with conical shadow handling and variable solar flux.
-
Perturbations:
$J_2$ zonal harmonics and exponential atmospheric drag for LEO operations.
- Trajectory Optimization: Direct Transcription (Collocation) solver and Differential Evolution (
scipy.optimize) for optimal interplanetary transfers. - Research Campaign System: Automated batch execution, data recording (
parquet), and reporting for large-scale parametric studies (mission_campaign). - Machine Learning Surrogate: Gradient Boosting predictors to instantly estimate Final Energy and Escape Velocity from design parameters.
- PyQt6 Desktop: Professional GUI for real-time local mission monitoring.
- Streamlit Web Dashboard (
dashboard/app.py): Cloud-ready interactive research portal. - Visualization: Real-time Ephemeris mapping (Plotly 3D), Target distance tracking, and interactive dataset scatter plots with 5,000+ point memory safety.
- Numba FastMath JIT: Core dynamics loops optimized with aggressive algebraic unrolling for near-C performance (
lincore/utils/jit.py). - Vectorized: Fully vectorized force models for rapid propagation and parallel database batching.
-
Clone the repository:
git clone https://github.com/SahilKhutey/-Solar-Sail-Mission-Simulation-SSMS-.git cd -Solar-Sail-Mission-Simulation-SSMS- -
Create a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
-
Install dependencies:
pip install -r requirements.txt
-
(Optional) Download SPICE Kernels:
python lincore/environment/download_kernels.py
The fastest way to analyze campaign data, run custom targets, and view ML predictions.
python -m streamlit run dashboard/app.pyAccess features like the Design Space Explorer, 3D Trajectory Viewer (with real target ephemeris), and the Custom Mission Designer.
Ensure perfect reproducibility by running the SSMS Research Platform inside an isolated container.
docker build -t ssms-dashboard .
docker run -p 8501:8501 ssms-dashboardThen navigate to http://localhost:8501.
Launch the mission control dashboard:
python lincore/gui/app.pyConfigure orbit parameters, force models, and visualization settings directly from the UI.
Run a simulation from a configuration file:
python run_mission.py config/mission_default.yaml- Optimization:
python tests/test_optimization.py - Sensitivity Analysis:
python tests/test_sensitivity.py - Monte Carlo:
python lincore/analysis/monte_carlo.py
The recommended way to run a large-scale campaign is using the automation script, which handles database locking, progress monitoring, and auto-reporting.
python run_and_report.pyAlternatively, you can run components individually:
- Run Batch:
python mission_campaign/batch_runner.py mission_campaign/campaign_config.yaml
- Generate Report (Requires DB Snapshot if running):
python reporting_engine/report_builder.py SolarSail_Research_Campaign_v1 --db_path temp.db
If the database and files get out of sync (e.g. after a crash):
python recover_db.pyThis will scan campaign_data/ and re-populate mission_data.db.
Solar-Sail/
├── lincore/ # Main Package
│ ├── core/ # State, Dynamics, Integrators
│ ├── forces/ # Gravity, SRP, Drag, N-Body
│ ├── optimization/ # Trajectory Optimizers
│ ├── analysis/ # Monte Carlo, Sensitivity, Metrics
│ ├── gui/ # PyQt6 Application
│ └── environment/ # Ephemeris & Atmosphere
├── mission_campaign/ # Research Campaign Manager
├── mission_recorder/ # High-Fidelity Data Logging
├── research_database/ # SQLite Metrics Storage
├── reporting_engine/ # Automated PDF Report Generator
├── config/ # Mission Configuration (YAML)
├── docs/ # Sphinx Documentation
├── tests/ # Verification Suite
└── legacy/ # Archived Prototypes
If you use this software in your research, please cite it using the metadata in CITATION.cff or:
Mission Team. (2026). Solar Sail Mission Simulation (SSMS) [Computer software]. https://github.com/SahilKhutey/-Solar-Sail-Mission-Simulation-SSMS-
This project is licensed under the MIT License - see the LICENSE file for details.