• Which the release of FS2020 we see an explosition of activity on the forun and of course we are very happy to see this. But having all questions about FS2020 in one forum becomes a bit messy. So therefore we would like to ask you all to use the following guidelines when posting your questions:

    • Tag FS2020 specific questions with the MSFS2020 tag.
    • Questions about making 3D assets can be posted in the 3D asset design forum. Either post them in the subforum of the modelling tool you use or in the general forum if they are general.
    • Questions about aircraft design can be posted in the Aircraft design forum
    • Questions about airport design can be posted in the FS2020 airport design forum. Once airport development tools have been updated for FS2020 you can post tool speciifc questions in the subforums of those tools as well of course.
    • Questions about terrain design can be posted in the FS2020 terrain design forum.
    • Questions about SimConnect can be posted in the SimConnect forum.

    Any other question that is not specific to an aspect of development or tool can be posted in the General chat forum.

    By following these guidelines we make sure that the forums remain easy to read for everybody and also that the right people can find your post to answer it.

Table 1505

sigh. You're making up stuff.

That is no where near the formula for CFF and table 1505 has no effect whatsoever on anything fuel related.. That is not what the table is trying to do. I think you are failing to understand what a CFF table is in the first place. Just because you reverse engineer a curve fit does not mean that's what it is doing. It just means the curve fits.


The purpose of CFF is to chart the fuel flow of an aircraft in all conditions on a single chart!


Steps 2-4 are completely bogus. You are completely mis-using CFF. That may be how it is calculating a rate of change feedback PID for the lag controller; but it is not CFF!


You are conflating 1505 setting CN2 versus 1505 having a rate of change of zero, disallowing CN2 to change... All 1505 does is give the sim the current rate of change between RPM bands. If you reduce the input values proportionally the performance will not change because there is no effect on rate of change. Any two segments with the same rate of change will have the exact same effect in the sim regardless of the values used.


Wrong here as well: If the commanded CN2 exceeds the CN2 in 1505, the engine will ceiling to that 1505 value. If the commanded CN2 is lower than the CN2 in 1505, the engine will not go below the 1505 value unless you kill the engine manually. The top and bottom of the table is ceiling/floored. The length between any two segments determines the rate of change of the RPM. You can hyper control the engine's behavior even when engine is WINDMILLING to get accurate drag/thrust..... if you know what you're doing and understand how these tables actually work.

1505 has absolutely nothing to do with the fuel flow burn or the RPM of the engine. It is strictly a spool rate modifier. The first segment should start at max motoring starter RPM and the rate of change should never be more from segment 0 to 1 than from 1 to 2! The sim uses table 1505 to find the rate of change between RPM ranges. That's it. Anything beyond that is a waste of effort.



corrected fuel flow = ambient fuel flow / δT θT^x

It allows the sim to calculate fuel flow for any given condition...


For example, using a Rolls Royce engine that has an 87%CN1 burn of 12240 pph at 36000 lbF thrust, with a TSFC of 0.34. (12240/36000=0.34)

engine x is 0.6

If I want to predict the FF for this aircraft at FL250 and M0.80 ISA

CFF = ambient FF / DELTA_t * THETA_t^x
12240 = ambient FF / (.5657 * .9665^0.6)
ambient FF = 6880 pph


This engine burns 12240 pph SSL at 87%CN1 and 6880 pph FL250/M0.80 at 87%CN1


CFF lets me find SSL FF or predict actual FF of any condition. 1505 does not do this! It is hard coded in, as it should be. Table 1505 has no effect whatsoever on anything fuel related.
 
That is no where near the formula for CFF and table 1505 has no effect whatsoever on anything fuel related.. That is not what the table is trying to do. I think you are failing to understand what a CFF table is in the first place. Just because you reverse engineer a curve fit does not mean that's what it is doing. It just means the curve fits.
When you can predict a certain result based on a theory, it usually means you're on to something.

Wrong here as well: If the commanded CN2 exceeds the CN2 in 1505, the engine will ceiling to that 1505 value. If the commanded CN2 is lower than the CN2 in 1505, the engine will not go below the 1505 value unless you kill the engine manually. The top and bottom of the table is ceiling/floored.
It is completely true that it will never go above the highest CN2 in 1505 and never below the lowest CN2 in 1505 if there's combustion.
Extensive testing supports this and it fits with the SDK. Although the SDK doesn't say that specifically, we can work that out from the information in the SDK that states that 1505 interpolates a CN2 where CFF/static_thrust is the input. If the input x-value is "out of range", then the CN2 for either the lowest or highest x-value, depending on whether the input x-value is higher or lower than the available range of x-values, will be used.

Steps 2-4 are completely bogus. You are completely mis-using CFF. That may be how it is calculating a rate of change feedback PID for the lag controller; but it is not CFF!
When it comes to the CFF parameter, you have to let go of what it is intended for and how it is calculated IRL. I'm only talking about MSFS, where it serves a different purpose and is calculated the way I mentioned.
I agree that it is calculated differently IRL, that is absolutely correct. But like I said, it has a different purpose and formula in MSFS.
The reason I'm calling it CFF is because the MSFS parameter I'm referring to is called CFF and extensive testing and thinking led to the equations that make it possible to predict exactly how the engine will respond to throttle changes over time.
We can call it Internal Fuel Flow if that's better, but it is not the same thing as CFF IRL.

corrected fuel flow = ambient fuel flow / δT θT^x
If I'm wrong about how the CFF parameter is calculated in MSFS, please explain to me why it increases towards infinity if I command a CN2 that is higher than the highest CN2 in 1505. As far as I can tell, the formula you posted wouldn't cause that behavior.
You can try it yourself if you don't believe me.

1505 has absolutely nothing to do with the fuel flow burn or the RPM of the engine. It is strictly a spool rate modifier. The first segment should start at max motoring starter RPM and the rate of change should never be more from segment 0 to 1 than from 1 to 2! The sim uses table 1505 to find the rate of change between RPM ranges. That's it. Anything beyond that is a waste of effort.
When have I ever stated that it has anything to do with fuel burn? I agree with you that it has nothing to do with that.
I completely agree that the slope between to data points in 1505 will affect the rate at which the engine spools. That has never been in doubt.
Also, what is your source for the information that 1505 has nothing to do with CN2 (RPM)?
The sources for my claim that 1505 outputs CN2 based on "CFF" is the SDK and extensive testing.
Quote from the SDK regarding turboprops and jets:
TOKEN_BEGIN AIR_P3DV440_CORRECTED_N1_FROM_FF
; Translates internal corected fuelflow to a target corrected N1.
; Note that "fuelflow" in this context is an internal state variable of the
; fuel controller, and does not precisely equate to the actual fuel burned by the engine.
;
;IN: Corrected Fuelflow
;OUT: Corrected N1
; Max table size is 8

;N2 (Corrected) vs. FuelFlow constant
; where the constant is a normalized ratio of actual fuelflow parameter to static thrust
;IN: Normalized Fuelflow constant
;OUT: N2 (corrected)
TOKEN_BEGIN AIR_70_CORRECTED_N2_FROM_FF
You can easily test this by looking up what CN2 value in 1505 would correspond to CFF/static_thrust.
Note that while the engine is spooling up/down, the CN2 will disagree with actual measured CN2 because you also need to apply the first order lag.

CFF lets me find SSL FF or predict actual FF of any condition. 1505 does not do this! It is hard coded in, as it should be. Table 1505 has no effect whatsoever on anything fuel related.
1505 is not part of the "CFF" equation that I posted so I'm not entirely sure what you're getting at here.
1505 doesn't affect the CFF parameter directly, rather the CFF parameter affects what the output will be from the 1505 table.
From another perspective, I guess you could say that 1505 affects "CFF". Lower x-values means that "CFF" doesn't have to be as high to reach a certain target.
So in a sense, it does affect "CFF" indirectly.

Throttle -> Target CN2 from 1503 & 1504 -> Internal Fuel Flow (CFF parameter) calculation -> 1505 -> First order lag -> Final CN2.
The process above never changes the fact that the slope in 1505 will affect spool rate, however the slope itself is never calculated nor part of any formula.

I want to be perfectly clear that I do not nor have I ever stated that 1505 nor CFF(in MSFS/P3D) has anything to do with fuel burn.
I also want to clarify that the CFF parameter in MSFS/P3D is not the same thing as CFF IRL. A better name for that parameter would be "Internal Fuel Flow" or something.
 
Last edited:
They're probably just simulating fuel being injected into the engine and 1505 could be seen as the engine response from that fuel being injected.
The "corrected" part might be due to that the "CFF"-calculation is based on corrected N2. They simply wanted to keep everything in the same "unit"-ish, but that's just pure speculation at best and it probably doesn't make sense.
It is possible that originally, they had some other plans for it where the name actually would've made sense but then abandoned those plans but kept the name.
 
Hi, I found this thread cause I'm trying to accurately model a jet engine on MSFS2020, currently its fuel flow.
I have IRL full charts for fuel flow, thrust, etc., I compiled 9 rows of the table as described:
CFF/max static thrust : CN2
The result is simply perfect for every row, at every throttle% I have the expected fuel flow as in IRL chart...but! The engine response is completely wrong now.
Good response at low RPMs, very slow response at high RPMs.
I read much on the use of this table, someone saying this is only to set the right spool rate at different RPMs and that this is nothing related to fuel consumption.
But if not using this table, how can I set the right fuel consumption vs. RPMs or thrust?
I also found a parameter called: use_gross_thrust_on_fuelflow but I really don't know the behavior.
Thanks for your help!
 
Last edited:
Table 1505 is simply a graph of time (x) to N2 RPM (y). The default table is more or less backwards (low inertia at low RPM and high inertia at high RPM) and does not model the behaviour of any known jet engine correctly (certainly not the TFE731, RR Olympus, PW4084, or CFM56-3, the jet engines used on the default aircraft when it was introduced in FS2000). Modifying it will solve your throttle response problem. Remember that the graph assumes the throttle is wide open, so you will need to substantially shorten the time from 0 RPM to idle N2 to get the right time, since the throttle will be at idle during engine start. Using a Fuel_Flow_Gain value of 0.02929688 in aircraft.cfg will convert the x value in table 1505 to seconds, allowing you to directly measure the time from each N2 RPM value from videos or sound recordings. Your result should look something like this graph for the PW JT8D:

Table1505.JPG


A perfectly linear chart would have a linear throttle response, appropriate for modern FADEC-controlled engines.

If you don't want to figure out all of the right values for your particular engine, I will say that the table used in the my old SGA DC-9 and VistaLiners 727 models should get you in the ballpark for most early or low-bypass turbofan engines, so you could copy that and then tweak the overall rate with fuel_flow_gain to match your engine on an aircraft using the legacy flight model. I am not sure what the equivalent of this table is under the new FS2020 system as I've not ported any of my models to that sim yet.
 
Table 1505 is simply a graph of time (x) to N2 RPM (y). The default table is more or less backwards (low inertia at low RPM and high inertia at high RPM) and does not model the behaviour of any known jet engine correctly (certainly not the TFE731, RR Olympus, PW4084, or CFM56-3, the jet engines used on the default aircraft when it was introduced in FS2000). Modifying it will solve your throttle response problem. Remember that the graph assumes the throttle is wide open, so you will need to substantially shorten the time from 0 RPM to idle N2 to get the right time, since the throttle will be at idle during engine start. Using a Fuel_Flow_Gain value of 0.02929688 in aircraft.cfg will convert the x value in table 1505 to seconds, allowing you to directly measure the time from each N2 RPM value from videos or sound recordings. Your result should look something like this graph for the PW JT8D:

View attachment 98148

A perfectly linear chart would have a linear throttle response, appropriate for modern FADEC-controlled engines.

If you don't want to figure out all of the right values for your particular engine, I will say that the table used in the my old SGA DC-9 and VistaLiners 727 models should get you in the ballpark for most early or low-bypass turbofan engines, so you could copy that and then tweak the overall rate with fuel_flow_gain to match your engine on an aircraft using the legacy flight model. I am not sure what the equivalent of this table is under the new FS2020 system as I've not ported any of my models to that sim yet.
Hi Erick, this is really weird to me, cause I succesfully used this table to exactly replicate the fuel consumption of my engine from real charts, it works perfectly.
Let's say I'm gonna use this table to set correct spool rate as you say, which sim parameter should I use to set correct fuel consumption?
In my chart I have net thrust (lb), fuel flow (lb/hr.), specific fuel consumption (lb/lb thrust/hr.) and jet pipe temperature).
To use this table for the spool rate, is there a clear explanation I can use to make it through?
The time thing is not so clear to me, and I'm working from a .cfg file 😬, just for fun, but soberly!
 
Last edited:
Back
Top