ChristopherRabotin / smd

Licence: MIT license
Space Mission Design - A SPICE-enhanced continuous thrust interplanetary mission propagator and vizualizer

Programming Languages

go
31211 projects - #10 most used programming language
python
139335 projects - #7 most used programming language
matlab
3953 projects

Projects that are alternatives of or similar to smd

nyx
Nyx is a high fidelity, fast, reliable and validated astrodynamical toolkit library written in Rust. Github hosts a CLONE of the Gitlab repo: https://gitlab.com/nyx-space/nyx/ .
Stars: ✭ 51 (+131.82%)
Mutual labels:  astrodynamics, space-mission
open-space-toolkit-astrodynamics
Flight profile, orbit, attitude, access.
Stars: ✭ 16 (-27.27%)
Mutual labels:  orbit, astrodynamics
heyoka
C++ library for ODE integration via Taylor's method and LLVM
Stars: ✭ 151 (+586.36%)
Mutual labels:  astrodynamics
Orekit
OREKIT is a free low level space dynamics library written in Java. Please visit our Gitlab instance for issues and contributions: https://gitlab.orekit.org
Stars: ✭ 110 (+400%)
Mutual labels:  astrodynamics
orbit-core
Orbit communication protocol and library
Stars: ✭ 70 (+218.18%)
Mutual labels:  orbit
keeptrack.space
🌎📡 TypeScript Astrodynamics Software for Non-Engineers. 3D Visualization of satellite data and the sensors that track them.
Stars: ✭ 61 (+177.27%)
Mutual labels:  orbit
Orbit
A distributed, serverless, peer-to-peer chat application on IPFS
Stars: ✭ 1,586 (+7109.09%)
Mutual labels:  orbit
Orbit
Orbit - Virtual actor framework for building distributed systems
Stars: ✭ 1,585 (+7104.55%)
Mutual labels:  orbit
pylayers
PyLayers is a Python platform for Site Specific Radio Propagation Simulation for Evaluating Indoor Localization algorithms using UWB radio signals including Human Indoor Mobility
Stars: ✭ 151 (+586.36%)
Mutual labels:  propagation
py-orbit-db-http-client
A python client for the Orbitdb HTTP API
Stars: ✭ 17 (-22.73%)
Mutual labels:  orbit
cesium-satellites
View the orbit of satellites in a Cesium viewer, derived from a two line element list
Stars: ✭ 45 (+104.55%)
Mutual labels:  orbit
SGP.NET
C# SGP4 Satellite Prediction Library. Load satellites from TLEs, convert between coordinate systems and reference frames, observe satellites from ground stations, and more.
Stars: ✭ 15 (-31.82%)
Mutual labels:  orbit
AstriaGraph
A tool for visualizing Resident Space Objects (http://astria.tacc.utexas.edu/AstriaGraph/)
Stars: ✭ 31 (+40.91%)
Mutual labels:  astrodynamics
orbital-sim
A simple physics engine build over a PyGame simulation to accurately model planetary orbits in space
Stars: ✭ 31 (+40.91%)
Mutual labels:  astrodynamics
heyoka.py
Python library for ODE integration via Taylor's method and LLVM
Stars: ✭ 45 (+104.55%)
Mutual labels:  astrodynamics
Astro.IQ
Machine Learning + Spacecraft Trajectory Optimisation
Stars: ✭ 20 (-9.09%)
Mutual labels:  astrodynamics
orbitdb.org
The website for OrbitDB
Stars: ✭ 32 (+45.45%)
Mutual labels:  orbit
SimpleKeplerOrbits
Unity3d static 2-body orbits simulation
Stars: ✭ 76 (+245.45%)
Mutual labels:  orbit
astrobook
The Astrobook source files
Stars: ✭ 32 (+45.45%)
Mutual labels:  astrodynamics
piranha
The Piranha computer algebra system.
Stars: ✭ 91 (+313.64%)
Mutual labels:  astrodynamics

Space Mission Design (smd)

Space Mission Design allows one to perform an initial space mission design, around a given celestial body or between celestial bodies.

This package was written to support my thesis and my astrodynamics courses (ASEN 6008 Space Mission Design / Interplanetary Mission Design) at the University of Colorado Boulder.

Build Status Coverage Status goreport

Features

Note: this list may not be up to date with the latest developments.

  • Propagation of an orbit around a celestial body
  • Direct closed-loop optimization of continuous thrust via Naasz and Ruggiero control laws.
  • VSOP87 support via the amazing https://github.com/soniakeys/meeus
  • Patched conics for interplanetary missions
  • Stream orbital elements as CSV for live visualization of how they change
  • Export as a set of NASA Cosmographia files (cf. http://cosmoguide.org/) for really cool visualization of the overall mission
  • Export mission state as CSV (cf. the examples/statOD/main.go)

Usage

If running smd and planning on changing reference frames (e.g. when doing patched conics) to attempting to include third body dynamics, you will need to define the SMD_CONFIG environment variable. This must define whether using VSOP87 or SPICE for frame transformations. An example of such a file is found in conf.toml. Important: this configuration file must be called conf.toml (but it can be placed in any directory). Note: the availability of this file will only occur in the function which gets the heliocentric orbit of a given planet. So definitely make sure this is configured before running a long simulation or it will crash when you're looking away.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].