Skip to content

Installation

timeout187 edited this page Jul 9, 2026 · 1 revision

Installation

Requirements

  • Python 3.11+ (earlier 3.x likely works but is untested)
  • pip

Steps

git clone https://github.com/timeout187/RocketDynamicsLab.git
cd RocketDynamicsLab
pip install -r requirements.txt

This installs: numpy, scipy, plotly, pandas, streamlit, pytest.

Launching the interactive lab

streamlit run src/gui/app.py

This opens the multipage lab notebook in your browser at http://localhost:8501, with pages for Coordinate Frames, State Variables, Forces and Moments, Equations of Motion, Numerical Integrator, Atmosphere, Aerodynamics, Sensitivity Analysis, Visualization, and Simulation Results.

Running without the GUI

Standalone scripts under examples/ need no Streamlit:

python examples/run_nominal_trajectory.py
python examples/timestep_sensitivity.py
python examples/rk4_vs_solve_ivp.py
python examples/dispersion_sweep.py "Air density"

Running the tests

pytest tests/ -q

18 tests cover coordinate-frame transforms, atmosphere physics, integrator convergence order, full-trajectory behavior, and the dispersion module.

Troubleshooting

  • ModuleNotFoundError: No module named 'simulator' — make sure you run scripts from the repository root, or via the examples/*.py scripts (which add src/ to sys.path themselves).
  • Streamlit page shows a traceback — check you're on the pip install -r requirements.txt versions; the GUI targets Streamlit 1.32+.
  • A trajectory "diverges" (huge/NaN numbers) — this is often intentional! See the FAQ and docs/numerical-methods.md — the Numerical Integrator lab page is specifically designed to let you push timesteps until Euler (and eventually RK4) becomes unstable.

Clone this wiki locally