Your interpretation of 1505 is incorrect. These tables are designed based on a real world charting system. All 1505 was intended to do was give the corrected (SSL) fuel flow of the engine, which would allow you to determine exact fuel flow at an altitude or speed per RPM. They couldn't get it to work (because the didn't realize they had the net thrust fuel bug) so they disabled it and let that table control engine spool. That is ALL 1505 does. The sim does not use 1505 for any other purpose. It still tries to compute the equation but it's not applied to fuel flow. If you set a flat line in 1505, the engine will stop spooling at that CN2 value and fuel flow burned from your tanks will equal net thrust * tsfc. If you set that table to a vertical line the CN2 will spool instantly and hold the top value. Fuel flow will still equal FN * TSFC.
Fuel flow in all MSFS = NET THRUST * TSFC
Had they did GROSS THRUST * SFC it would've worked just fine. They sim already corrects the fuel.
Had it worked, table 1505 would have allowed manipulation of engine efficiency at various RPM
The calculation is done as follows, although quite a bit simplified:
- Interpolate 1503 and 1504 to get a CN2 target based on mach, throttle and IAP.
- Calculate corrected fuel flow using the following equation: CFF_new = (CN2_target - CN2_current) * fuel_flow_gain * static_thrust * delta_time + CFF_current
- Calculate the fuel flow constant k using this equation: k = CFF_new / static_thrust
- Get a new CN2 value from 1505. The input is the fuel flow constant from above just like the SDK says.
- Apply a first order lag on the CN2_value from 1505 to get the final CN2. Note that the time constant in this first order lag function is calculated based on the CN2 from step 4, so the time constant is not a fixed number.
Step 2 and 3 is basically the fuel controller. (for CFF, not FF!)
During startup (prior to combustion) and shutdown, the time constant in the first order lag function at step 5 becomes fixed at 0.1. Step 4 is replaced by CN2=25% or CN2=0%.
It is 100% correct that the
target CN2 is driven by throttle position (1503 and 1504), however the actual CN2 is the output from 1505 (if there is combustion).
Let's say that you command a CN2 that is higher than the highest CN2 in 1505. In that scenario, CFF will increase towards infinity as the fuel controller is desperately trying to increase CN2 towards the target CN2.
If the commanded CN2 is lower than the lowest CN2 in 1505, then the fuel controller will decrease CFF and once CFF becomes 0.0 the engine(s) will shut down because one of the combustion requirements is that CFF > 0.0.
EDIT: If the commanded CN2 < 20% and the lowest CN2 in 1505 is lower than 20%, then the engine will die as soon as it goes below 20%. CFF has a lower limit of 0.0001 when there is combustion to keep the engine from dying.
This is due to the fact that one of the combustion requirements is that CN2 >= 20%. If you had the starter engaged in this scenario, the CN2 oscillated around 20%. The reason for this is that once the combustion goes out (CN2 < 20%), then the CN2 at step 4 becomes 25%, meaning that the CN2 will increase again. Once the CN2 becomes 20%, then step 4 becomes active again, however since 1505 outputs a CN2 lower than 20%, the engine will go below 20% again, where it will bounce back and keep doing this over and over until either the starter is switched off or you select a CN2 target that is 20% or higher.
I shouldn't write technical stuff when I'm tired...
Very simplified, for a running engine:
1503 & 1504: commanded CN2
1505: actual CN2 (the first order lag is also applied)