• 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

Messages
84
Country
sweden
Reviving an ancient topic. Has 1505 and fuel_flow_gain been fully explained somewhere since I created this thread?
The reason why I'm asking is simply that I teamed up with Yves a 3 years ago and we were able to figure out exactly how engine spool rate is simulated on jet engines in MSFS/P3D.
By that I mean that we were able to predict exactly what the engine response would be for any set of parameters.

I was supposed to write a document on the whole engine system including piston, turboprops and jet engines but never got around to doing it because of... life.
Although I don't see myself writing that complete document any time soon, I could put something together on spool rate for jet engines.

Would this be of any interest to the community or is there already something published on this?
 
Messages
84
Country
sweden
I just reviewed my notes and I need to look up some stuff. For a running engine, everything's okay, however engine start prior to combustion and engine shutdown doesn't seem to be entirely covered yet.
 

Roy Holmes

Resource contributor
Messages
1,803
Country
us-virginia
It is the part on engine start that is where what 1505 does is shrouded in mystery and folklore. The functions of the other engine tables are well known, documented and fully understood. Any equations associated with that part would be very valuable.
Roy
 
Messages
84
Country
sweden
It is the part on engine start that is where what 1505 does is shrouded in mystery and folklore. The functions of the other engine tables are well known, documented and fully understood. Any equations associated with that part would be very valuable.
Roy
I'll provide full equations once I've double checked them. Like I said, we did this research almost 3 years ago.

The general concept is the following though:

1. Get a target CN2 from 1503 & 1504.
2. Calculate CFF (corrected fuel flow) based on current CN2, current CFF, target CN2, static_thrust and fuel_flow_gain.
3. Divide new CFF by static_thrust and lookup a new target CN2 in 1505, where CFF/static_thrust is the input and CN2 is the output.
4. Apply a first order lag filter on CN2 from 1505. The time constant used in the first order lag filter is hard coded and varies with target CN2 from 1505.
5. Current CN2 is set to the calculated CN2.
6. Start over.

However, when there is no combustion, 1505 is not part of the CN2 calculation. Instead, hard coded values are used for target CN2.

No combustion and starter not engaged:
Target CN2 = 0.0.

No combustion and starter engaged:
Target CN2 = 25.0

CFF is still calculated though, regardless of combustion or not. There seem to be situations outside normal flight where CFF relies on hard coded values instead though and that's what I need to look into.

For turboprops, there's a hard coded "1505 table" if I remember correctly.

Anyway, I've seen all sorts of ideas about what 1505 does. The description provided in the SDK is correct. The input is a fuel flow constant that is equal to CFF divided by static_thrust and the output is CN2. The only thing that wasn't clarified was exactly how CFF is calculated and that there was a first order lag filter being applied after the 1505 step.

Mixture also affects the CFF calculation somehow if I remember correctly but I need to look up exactly how it was involved.
 
Last edited:
Messages
84
Country
sweden
I've verified the engine spool equations for a running engine.

I think I've got the start up and shutdown situations covered now. Just gonna run some tests just to make sure.

Exactly how the information can be applied to aircraft development is something I'm not entirely sure about, that part I'll leave to those who actually creates FDE:s. Maybe create an Excel-sheet that simulates engine spool that can then be compared to real life spool curves? The only reason I made the research was that I wanted to know how it actually works, I don't create FDE:s.

EDIT: I now get a perfect curve match for start-up, running and shutdown. The only problem is that the system is pretty complicated so I need to figure out how to document it. I think I'll also include CN1 calculation as there's a bit of lag applied to it so it's not just a matter of looking up CN1 if you want to predict what the CN1 response will be.
 
Last edited:

Roy Holmes

Resource contributor
Messages
1,803
Country
us-virginia
CN1 varies with CN2 as specified in 1502.
Corrected Thrust varies with CN1 and Mach as specified in 1506
Corrected fuel flow is a function of Corrected thrust and Thrust Specific Fuel Consumption
Corrected values are not used in the sim for performance computations, they are turned into real values as a function of Mach and altitude as described in my document in Resources.
Corrected does not mean exact, it is values that would occur at sea level static corrected using current Mach and altitude.
Engine performance is expressed in terms of what it would be when corrected to sea level ISA.
Roy
 
Messages
84
Country
sweden
CN1 varies with CN2 as specified in 1502.
Corrected Thrust varies with CN1 and Mach as specified in 1506
Corrected fuel flow is a function of Corrected thrust and Thrust Specific Fuel Consumption
Corrected values are not used in the sim for performance computations, they are turned into real values as a function of Mach and altitude as described in my document in Resources.
Corrected does not mean exact, it is values that would occur at sea level static corrected using current Mach and altitude.
Engine performance is expressed in terms of what it would be when corrected to sea level ISA.
Roy
Yes correct, CN1 is calculated using 1502, but the response is not instantaneous because a P function is applied to add some lag to it. Probably to simulate inertia.

Thrust is not part of the CFF calculation. Make 1505 completely flat at CN2 30% and look what happens to CFF. It will increase indefinitely (until it becomes NaN) while thrust remains constant.
The reason for this behavior is that because 1503 and 1504 sets a CN2 target higher than the highest CN2 value in 1505, the controller keeps increasing CFF in an attempt to reach the target CN2. No matter how big CFF actually gets, CN2 remains constant at 30% because that's the only value this altered 1505 table can output.

The tables FS uses in its calculation process for a jet engine are used in the following order:
1. 1503 and 1504 --> Get a target CN2 and calculate CFF.
2. 1505 --> Get a new target CN2 based on CFF/static_thrust.
3. 1502 --> Get a target CN1.
4. 1506 etc.
 
Last edited:

Roy Holmes

Resource contributor
Messages
1,803
Country
us-virginia
It sounds like you are saying that CN1 can be independent from CN2 and I don't think that is the case.
Since TSFC is lbs fuel per lb thrust it certainly controls actual fuel flow. I have noticed that CFF sort of does its own thing and you cannot write values to it.
Roy
 
Messages
2,077
Country
us-ohio
I don't think I agree with this.

I believe it is more like this:

1. 1503/1504 - Determine target CN2.
2. 1505 - Determine spool rate of change to achieve target CN2.
3. Adjust CN2 to target utilizing first order lag based on 1505 calculations.
4. 1502 - Determine CN1

I believe the only thing that 1505 actually controls is the spool rate between selected data points that correspond to CN2 values. But hey, what do I know. :)
 
Messages
84
Country
sweden
It sounds like you are saying that CN1 can be independent from CN2 and I don't think that is the case.
Since TSFC is lbs fuel per lb thrust it certainly controls actual fuel flow. I have noticed that CFF sort of does its own thing and you cannot write values to it.
Roy
CN1 is not independent from CN2. CN1 is like mentioned calculated using 1502 and a P-controller / first order lag filter. (not sure what the best name for it is)

I don't think I agree with this.

I believe it is more like this:

1. 1503/1504 - Determine target CN2.
2. 1505 - Determine spool rate of change to achieve target CN2.
3. Adjust CN2 to target utilizing first order lag based on 1505 calculations.
4. 1502 - Determine CN1

I believe the only thing that 1505 actually controls is the spool rate between selected data points that correspond to CN2 values. But hey, what do I know. :)
1505 affects spool rate, yes, but not by getting some kind of spool rate of change. It is a look-up table for a new target CN2.
By setting high CN2 values for low x-values (CFF/static_thrust) in 1505, the time it takes for the fuel controller (the CFF part) to reach the new target is much shorter, thus the engine spools up more quickly as a result.
 
Messages
84
Country
sweden
I'm working on a document where all of my findings will be included. I will also provide an Excel-sheet with measured CN2 values from the sim compared to calculated ones.
 
Messages
84
Country
sweden
I'm thinking I might expand the document to also cover turboprops and helicopters. Both use the turbine system and engine spool for the turbine itself works the same way more or less. The difference is that CN1 is used instead of CN2 and of course that the 1505 table is hardcoded. I will not cover piston engines though as they work in a completely different way. (which is incredibly much more complicated)

Also note that I won't cover the propeller part of turboprops as it's a completely different system. I will only cover the turbine system.
 

Roy Holmes

Resource contributor
Messages
1,803
Country
us-virginia
It is apparent that the term "Corrected" is strictly being misused here. In RW the term is used as a way to have a common definition for such things as thrust, fuel flow and engine RPM. You test your engine and get results, These results are then corrected to ISA sea level conditions and so defined.
The sim uses this concept for jets. For any situation in flight the actual engine performance is calculated at the corrected sea level condition and then converted to real performance numbers. This scheme is also used in RW as the basis of computed performance calculation.
In the sim it applies to everything except Corrected fuel flow. By that I mean you get actual N2 from CN2, actual thrust from corrected thrust etc but actual fuel flow comes from actual thrust times TSFC, not from Corrected fuel flow.
With that matter cleared up (in my mind at least) I look forward to the full explanation.
It would be very interesting to have you cover turboprops and helicopters, but the main causes of instability especially in the EH-101 design appear to be rotor related rather than spool related.
Roy
 
Messages
84
Country
sweden
I have reviewed pretty much everything and there's one thing I'm not entirely sure about. The turboprop CN1 calculation uses a hardcoded 1505 equivalent. I've managed to get a hold of that table through experimentation for both FSX and P3Dv4.4 (which now also supports custom ones) The question is; should I include those tables or not? I'm a bit concerned about legal issues...
 
Messages
2,077
Country
us-ohio
Those tables are overrideable in newer versions of Prepar3D via aircraft.cfg entries.
 
Messages
84
Country
sweden
Those tables are overrideable in newer versions of Prepar3D via aircraft.cfg entries.
Are you sure? I know about table 154B but that's found in the .air-file, however I can't find anything like that in aircraft.cfg while browsing the P3Dv4 SDK.
fuel_flow_gain.n can be set in the aircraft.cfg file though.
 
Top