Devlog #1
The goal of Full Flow is to have a spaceflight simulator where a user can design an engine and rocket parts from scratch and put them together to create a working spacecraft and fly it.
One of the most challenging aspects of this project - or, at least, the one I have to deal with first - is the engine design. It is also what I consider to be the most important.
Most of my time these past few weeks was spent throwing together a really complicated Desmos graph. Thanks to NASA’s propulsion index, there’s a lot of great info about this stuff.
It would be pretty easy to implement this into code, but the problem is that you need to plug in really specific numbers to get the thermodynamics to make sense. This wouldn’t be a problem if all rocket engines used the same fuel, but they don’t. This means I have to implement a system that takes input chemicals and engine properties in and outputs gas properties and the combustion chamber temperatures.
Starting off this project will be the development of CCEC (Connor’s Chemical Equilibrium for Combustion). As it turns out, this stuff is really complicated and required a ton more research. However, again thanks to NASA, there are tons of data and many papers about this topic.
As it turns out, computers don’t understand chemistry. In order to do the calculations to solve for equilibrium, you need a bunch of data for each chemical species the algorithm can use. What I thought would take me less than an hour ended up taking me more than 3 and counting.
Trying to use a database formatted in FORTRAN for a C# project is a bad idea. Since the format and syntax was different (FORTRAN uses (X)D+(Y) instead of (X)E+(Y) for scientific notation???), I had to create an algorithm to search the database. This was hard. I am a terrible programmer and C# is really weird sometimes when it comes to strings.
After banging my head against a wall for 3 hours, I am finally almost done making the class for chemical species, which was the easy part.
Very long devlog.
Comments 1
Very cool idea i am rooting for you!
Sign in to join the conversation.