This repository contains model case for CFD simulation of RD107 rocket engine using free and open source CFD package OpenFOAM. Together with the model case there are some auxiliary materials that are used to define case input such as scripts generating the nozzle geometry, scripts calculating combustion products properties required for the model. I wrote a longread article describing technical side of this simulation and a bit of history - why I am so excited specifically about RD107. I also wrote another short(-er) article about my experience of running this case on AWS trying to implement best cloud CFD practices (spot instances, persistent storage of intermediate results etc).
Here is an example of the model results. This is a temperature distribution in the RD107 exhaust plume in the first 25 ms after ignition at the sea level. Enjoy propagating shock waves, colliding shock waves (Mach diamonds) and imagine the roar it creates.
Overexpanded flow and Mach diamonds for the flow whe starting at sea level
Almost matched flow in the mid-air where ambient pressure is a third of sea level pressure
This repository has the following structure
Model case in the /model folder is ready to go, geometry is based on the original drawing of RD107 nozzle
With proper OpeFOAM (tested on OpenFOAM v8 on Ubuntu 20.04 (AWS) and 18.04 (WSL) ) the case can be run by just
foo@bar:~$ blockMesh
foo@bar:~$ setFields
foo@bar:~$ rhoCentralFoam
Beware case takes long time to solve, temperature distribution below took 24h to solve. Solved cases are visualized with Paraview applying needed symmetries ( to load into Paraview select rd107.foam file)
If you want to use the case as a startinng point use provided notebooks to change geometry. If your case runs on other oxidizer-fuel pair than RP-1/LOX (Methane/LOX, Hydrogen/LOX, N₂O₄/UDMH) you can use provided notebooks, JANAF database and other references (for fuel to oxidizer ratio) to calculate combustion product composition, mean molecular mass, and heat capacity (and replace data in /model/constant/thermophysicalProperties)
heat capacity for this RP-1/LOX case
Take advantage of affordable cloud computing and run the case on AWS (my article on how to do it) With a properly selected instances and organized storage a single run costs about $1