Skip to content

amyinorbit/reentry.py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Python Reentry Simulations

This is the python codes I use to simulate spacecraft reentries. Requires Python 3 & Matplotlib.

Usage

The script is very basic at the moment. Run data are defined in a .json file. At the moment, only Earth and Mars are valid planets, but more could be added fairly easily in the script.

{
    "craft": {
        "name": "MSL",
        "ballistic_coef": 146,
        "lift_drag": 0.24
    },
    "planet": "Mars",
    "sim": {
        "max_it": 1000000,
        "delta_t": 0.1,
        "entry_interface": 135e3,
        "fpa": -15.5,
        "velocity": 5.6e3,
        "stop_alt": 0
    }
}

Once you have a run file, just call the script on it and it'll generate your plots

$ ./reentry.py msl.json
$ ls

    MSL-dtg.png
    MSL-load_alt.png
    MSL-load_time.png
    MSL-traj.png
    MSL-vel.png

Method

The program solves the newtonian equations of motion and computes the trajectory of the reentering spacecraft using the forces applied to it (gravity, aerodynamic drag & lift) using a very basic Euler integrator. You can read more about that on the blog post.

The atmospheres are modelled using the scale height method. It's simplistic and could benefit from better models (NASA Standard Atmosphere, maybe even Mars GRAM and co.) but the gains are likely to be dwarfed by errors induced by the simple assumptions made everywhere (constant lift-drag ratio, constant drag coefficient…)

Releases

No releases published

Packages

No packages published

Languages