HybridSim
By Benjamin Wilkosz
A typical N2O Hybrid rocket motor
HybridSim is a simulation tool, developed to support the dimensioning of hybrid rocket motors. The goal of the program is not only to support the initial development of the motor but, maybe even more importantly, to help to optimize the grain geometry, injector, nozzle and tank design once the model constants are known. The oxidizer tank and its thermo dynamical properties are modelled for a two nitrous oxide (N2O) filled tank. The grain is modelled as a single core grain. The figure to the right shows the configuration of the N2O hybrid which can be simulated using HybridSim V1.0.
Originally written in C, the program is rewritten in SciLab with a few great advantages in mind. SciLab is a freeware numerical computational package (approx. 15 Mb) and is very similar to MatLab. SciLab's syntax is much more accessible than C for the inexperienced programmer. Since HybridSim is developed as an open source program, this offers better possibilities for those who are interested in helping with the program, but do not have much programming experience. Furthermore, SciLab offers a very comfortable graphical output for the calculation results.
Technical details of the simulation model can be found in the paper "Hybrid Rocket Engine Program" and of course in the code. HybridSim V1.0 can be downloaded using the following link:
HybridSim V1.0 download (10kB .zip file).
HybridSim is written for three kinds of groups:
- For those who want to use it as a design tool for their own hybrid rocket motors.
- For those who are interested in helping with the code development, code optimization and bug repair.
- For those who want to help validate the software with experimental data of their own hybrid motor to find discrepancies and bugs.
How to use HybridSim:
Group 1 and 3:
- Download SciLab 4.1.2 from http://www.scilab.org/ and install SciLab.
- Unpack HybridSim.zip in a arbitrary directory on your computer.
- Define the working directory for SciLab in which the files are unpacked (File – Change Directory).
- Start SciLab and load the input-file (File - Open - Input_Data.sce).
- Modify the model parameters and run the program (Execute – Load into SciLab). The SciLab graphic window shows the most important parameter during the run (example: Thrust vs Time). Furthermore, an output file containing a summary of the major properties and events is written in the working directory. The graphical output and text file are shown in the figure below. This text file can be opened with a standard text editor (like Notepad) and can be used to analyse the simulation results.
HybridSim screenshot.
Group 2:
Are you interested in helping with the code? There are many possibilities to work on: debugging, optimization of the algorithm (to reduce CPU time, implement high order approximations) or implement new physical models (for example tank or regression models). The code is documented very detailed and the physical elements of the simulation are clearly separated in different functions, so you do not need to be an expert to help!
- Download SciLab 4.1.2 from http://www.scilab.org/ and install SciLab.
- Unpack HybridSim.zip in a arbitrary directory on your computer.
- Define the working directory for SciLab in which the files are unpacked (File – Change Directory).
- The main program (File - Open - Hybrid.sce) and all the subroutines (*.sci) can be opened and modified using SciLab.
I would appreciate it a lot if you would help me with the further development of HybridSim, report bugs and send proposals or code for new HybridSim versions!
Future work to do
Of course there is still a lot of work to do. HybridSim V1.0 will be developed further in the future. Some major points on which I am working on at the moment are:
- Implementation of other tank models (besides the implemented Thermal Equilibrium model).
- Implementation of a multi segment grain in order to simulate the local regression rate.
- Implementation of more advanced regression models (flux and pressure dependant).
- Implementation of an algorithm to calculate the combustion chamber temperature (and thereby the specific impulse) as function of the ROF-value and after burnout of the grain.




