HopIt is a modular Python tool for performing an iterative system-level mass estimation of a hopper (small rocket vehicle). It evaluates propellant mass, tank sizing, propulsion, batteries, structure, and more – until mass convergence is reached.
- Correct combustion efficiency
hopit/
├── main.py # Entry point: runs iterative system analysis
├── config/
│ └── system.json # system configuration with required inputs, i.e. tank materials, tank pressure, combustion chamber pressure etc.
├── core/
│ ├── functions.py # Utility functions for mass estimation
│ └── casadi_core.py # CasADi-based tank sizing core
├── utilities/ # Additional scripts not required for the core functionality
├── README.md
├── requirements.txt
git clone https://github.com/flxbrt/hopit.git
cd hopitMake sure you have Python ≥ 3.8 installed. Then install required packages:
pip install -r requirements.txtpython main.pyBy default, it runs with a hardcoded config defined inside main.py. The tool will:
- Load system configuration
- Estimate subsystem masses and compute engine performance parameter
- Iterate until total mass convergence
- Print the result (if sys_print = True)
- Optionally store output (if store_system = True)
⚙️ Configuration
config = {
'Flight Time [s]': 80,
'Oxidizer': 'O2',
'Fuel': 'C2H5OH',
'Oxidizer Pump': False,
'Fuel Pump': False,
'Fuel Self Pressurised': False,
'Oxidizer Self Pressurised': False
}Later versions may load this from a .json or .yaml file.
- Designed for conceptual Vertical take off vertical landing vehicle studies propelled by a bi-liquid rocket engine
- Modular code structure (easy to adapt individual subsystems or extend with additional subsystems)
- Tank sizing equations solved via root finding with CasADi
- Allows self pressurized and non self pressurized propellants
- Allows pressure fed and epump fed cycles
- Computes main combustion chamber performance parameters
- Plotting of system sketch with subsystems to scale
- Adding 'Performance Mode' to compute the flight time and engine performance given a system (reverse to current mode); this is practical when one once to understand the potential performance of the system for different COTS components
- Coupling to THERMAT for thermal feasibility check of system design
- Rework functions.py and casadi_core.py to solve iterative problem all at once through root finding
- Add gradient based optimization
- Add automatic injector and thrust chamber liner computation tool
Developed by @flxbrt Version: 2.1