Skip to content

flxbrt/HopIt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🚀 HopIt – Hopper Iterative System Analysis Tool

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.


ToDo - High Priority

  • Correct combustion efficiency

📁 Project Structure

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	

🛫 Getting Started

1. Clone the repository

git clone https://github.com/flxbrt/hopit.git
cd hopit

2. Install dependencies

Make sure you have Python ≥ 3.8 installed. Then install required packages:

pip install -r requirements.txt

3. Run the tool

python main.py

By 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.


💡 Features

  • 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

🚀 Planned Enhancements

  • 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

Author

Developed by @flxbrt Version: 2.1

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages