Developer's Blog #8 - High school physics
Only once did I fail a physics exam in high school. And when I say fail, I mean that I got my butt handed to me, sprinkled with disappointed and shame. Zero points. ZERO points! I didn't even get a pity point for spelling my name correctly. The dreadful topic was: heat. Why am I telling you this? Because I am currently implementing all these high school physics' formulas I should've known 20 years ago into the Vega's system simulation.
Those of you who bought the aircraft in Early Access probably had a look at the inner workings of the lubrication module in the Debug panel. It's actually quite neat, you can click on various components on the diagram to get information on the oil that's in that particular part. It shows you the viscosity, pressure, flow, temperature and density. There's also provisions made for oxidation, particles and color - but none of that takes any effect just yet. Another thing you would've noticed is that no matter how much you strain the engine, the oil temperature indicated in the debug panel will always stay at OAT. The reason for that is that the current version (0.03.2 by the time this is written) doesn't feature a way to calculate heat yet.
This will change with the next update and I will tell you here what's coming and why it is sooo cool.
The problem of heat exchange has been on my mind for many, many months now. I did extensive research into the different mechanisms and talked to physicists about the principles and formulas that can be used to describe the process in real-time. I started to put everything into action a few weeks ago and my estimate is that I am about halfway there.
In the next update the Vega will feature three different types of heat exchange: conductive heat transfer, convection heat transfer and radiation heat. To make everything as realistic as possible the Vega is broken down into dozens of parts that can emit and receive heat by any or all of these three mechanisms. For a little bit of a simplification, the radiation heat will only be implemented for the radiation of the sun, not for the engine parts itself though. Just to give you an example how detailed the simulation already is, consider the following:
Inside the cylinders, heat is generated by the combustion of the mixture. While parts of the chemical energy of the fuel is transferred to mechanical work (spinning the prop and powering the auxiliaries), a large chunk of the energy is transferred into heat. The cylinders transfer part of the heat to other parts of the engine that they're mechanically connected to, i.e. the valves/rods and the crankcase. There's also two other mechanisms that remove the heat energy from the cylinders somewhere else: the airflow and the oil system. As the cylinders heat up, they transfer some of that energy to the surrounding air through means of convection and there are two "zones" modeled - the volume of air directly in front of the engine, and the volume directly behind it. The air in these zones get replaced with the surrounding air at different rates, since the zone directly behind the engine is mostly covered by the cowling. As a result these two pockets of air will have different temperatures while the engine is running.
As mentioned above, the oil circulation also plays a large part in removing heat from the engine. Some oil is sprayed directly onto the bottom of the pistons to cool them down. The heated oil then drops down into the scavenge tank where some of the heat gets absorbed by the tank itself which gets cooled down by the surrounding airflow.
The way all of this is implemented into the Vega is that every single part of the engine has physical parameters defined - such as the specific heat capacity, it's mass, volume, surface area, etc.etc. Once that is done, relationships between all these parts are generated that define the heat exchange. For instance the crankcase is exposed to the airflow directly in front of the cylinders (1. relationship, convection heat), behind the cylinders (2. relationship, convection heat), it has a conductive relationship with both the cylinders (3. relationship) and the rods (4. relationship). There's oil flowing through it (5. relationship, convection heat), which will take some of the heat away. Also, some of the auxiliary equipment is installed to it, such as the fuel pump, oil pump, starter motor etc. ( 6., 7., 8. relationship, conductive).
So, right now I am composing a list that contains all these relationships between the various engine parts and the list already has around 50 entries and I'm not even halfway through the parts list. What is very sad is the fact that ultimately, the only thing you'll see of these detailed calculations are two wobble needles for cylinder head temperature and oil temperature. Everything else is "under-the-hood".