During my senior year of college I developed a solid rocket motor simulator in MATLAB. It was capable of taking propellant characteristics and geometry input through a selected excel file, simulating the burn using the FMM (fast marching method) numerical method, and displaying results contours of how the motor burned over time as well as graphing parameters like Kn, thrust, chamber pressure over time. The need for this project came from the desire to simulate chamfered BATES grains, which the current motor simulation software my team used, OpenMotor, did not support. I would be remiss not to credit OpenMotor as inspiration for my simulator. I looked over OpenMotor's GitHub page before starting and saw that it used the FMM numerical method, which I used as a starting point for my simulator. However, I wanted this to be my own, so the idea to use FMM, the use of two equations, and variables outputted in the GUI is the extent of inspiration from OpenMotor. I eventually got my simulator to work, with results comparable to OpenMotor. Then, I added pseudo-finocyl grain geometry capability. During this, I noticed that my simulator was significantly slower than OpenMotor. To address this, instead of using a pre-written MATLAB toolbox for FMM, I wrote my own FMM method in MATLAB and exported it into C. This whole process required significant modifications to the code, but in the end it reduced runtime by 90%. I thought that was cool.
It was a satisfying project that kept evolving with my rocketry team's needs, but it never actually ended up being used. And since then I've been thinking of how I can improve or build upon my experience of this project. An idea of a full-stack rocket simulation software has been floating around my head for a while, and although it feels like a huge endeavor, I think it would be a great way to learn about all aspects of rockets. So I'm officially declaring Sunday, February 22nd, 2026, as the official start of this "RocketSuite" project! Some ideas I have about what I want this to be: