jcugnoni-heig/GRIPIT_Ohwaboo_simulations: Zenodo ref release
Description
This is the reference release published on Zenodo of the GRIPIT_Ohwaboo_simulations code.
This codebase was created by Maxence Cailleteau for the GRIPIT reserch group (@HEIG-VD) The magnetic force model was developped based on simulation by Maude Fumeaux, David Melly and S. Chevailler (HEI-VS)
M. Fumeaux, M. Cailleteau, D. Melly, S. Chevailler and J. Cugnoni, "Design and Simulation of the Electrodynamic Suspension of an Hyperloop Test Vehicle," 2023 14th International Symposium on Linear Drivers for Industry Applications (LDIA), Hannover, Germany, 2023, pp. 1-5, doi: 10.1109/LDIA59564.2023.10297536.
This code is part of the HES-SO project GRIPIT : Groupe de Recherche Interdisciplinaire en Projet Innovant de Transport Link to project page @HES-SO
This code is provided “as is” for educational and research purposes only. No warranty of any kind—express, implied, or statutory—is given regarding accuracy, reliability, or fitness for a particular use. Use it at your own risk, and verify all results independently before relying on them in safety‑critical or commercial applications.
A compact, end‑to‑end Python framework that simulates and analyses the non‑linear flight dynamics of the Ohwaboo pod, the passive‑maglev demonstrator developed under the GRIPIT project (financed by HES‑SO).
This repository simulates the non-linear dynamics of the Ohwaboo maglev demonstrator, part of GRIPIT axis 2 at HES‑SO.
A compact, end‑to‑end Python framework that simulates and analyses the non‑linear flight dynamics of the Ohwaboo pod, the passive‑maglev demonstrator developed under the GRIPIT project (HES‑SO, Axis 2). From a single entry‑point it
- builds 3‑D force maps for the chosen magnet geometry,
- integrates the full 6‑DoF equations of motion with magnetic, booster, suspension, drag and brake loads,
- post‑processes results into CSV, 20+ publication‑ready plots and a one‑click HTML → PDF report.
You can tweak masses, magnet layouts, suspension stiffness/damping or acceleration profiles and immediately get an updated “engineering pack” (figures + KPIs) without touching the solver itself.
│ main.py # Entry point – choose scenario & launch everything
│
├── core/ # Core modules (stable, shared across all scenarios)
│ ├── analyse.py # KPI & FFT helpers
│ ├── auto_test.py # Minimal regression tests
│ ├── display.py # 19 default plots for quick visual checks
│ ├── disp_forces_mag.py # Builds Fx/Fy/Fz surface from magnet data
│ ├── forces.py # Aggregates all loads
│ ├── geometry.py # Computes instantaneous pod/rail geometry
│ ├── sauvegarde.py # Creates run folder, handles CSV & figure exports
│ ├── simulation.py # SciPy solve_ivp wrapper + non‑linear ODE system
│ ├── user_inputs.py # CLI helpers (optional)
│
├── scenarios/ # Scenario-specific configuration and modifiable logic
│ ├── datas.py # Centralised parameters (rail, pod, control flags…)
│ ├── initialisation.py # Generates initial state + spring pre‑loads
│ ├── scenarios_masses.py # Mass breakdowns for each design iteration
│ ├── script_rapport.py # Generates HTML then converts to PDF
│
├── sim_results/ # Output folder for reports, plots, and simulation results
│ ├── ODE/ # Where generated datas are keeped
│
│ ├── reports/ # Folder for PDF simulation reports
│
├── README.md # This file
├── requirements.txt # Python dependencies
└── .gitignore # Files/folders ignored by Git
# 0. In cmd.exe go to the repository cd %folderpath% # 1. Create/activate virtual environment python -m venv .venv # 2. Activate virtual environment .\.venv\Scripts\activate # 3. Install requirements pip install -r requirements.txt # numpy, scipy, pandas, matplotlib, pdfkit… # 4. Run a default scenario python main.py
Outputs land in out/<timestamp>/*
: Output.csv
, *_Compte_rendu_simu.html
, *.pdf
, and all .png
figures.
- Select a mass set in
scenarios_masses.py
(e.g.masse_version = "05_12_2023-158.4kg"
). - Edit key parameters in
datas.py
– magnet dimensions, suspension k/c, booster force, simulation end‑criteria, etc. - Hit
python main.py
again; the solver re‑uses your edits and rebuilds the report.
pytest auto_test.py
checks that:
- the solver completes without gap inversion or NaNs,
- KPI regressions stay within tolerance.
Distributed under the GNU General Public License v3.0 (GPL‑3.0‑or‑later).
See the LICENSE
file for full terms.
Feel free to fork, extend, or plug in your own force models. Contributions welcome!
Files
jcugnoni-heig/GRIPIT_Ohwaboo_simulations-ZenodoRef.zip
Files
(59.8 kB)
Name | Size | Download all |
---|---|---|
md5:12df3f5fca7da3ca4e64174f31b4a237
|
59.8 kB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/jcugnoni-heig/GRIPIT_Ohwaboo_simulations/tree/ZenodoRef (URL)
Funding
- HES-SO University of Applied Sciences and Arts Western Switzerland
- GRIPIT
Software
- Repository URL
- https://github.com/jcugnoni-heig/GRIPIT_Ohwaboo_simulations