• 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.

Jet Engine Performance

I suspect that this table actually controls the fuel-air ratio in the jet engine, especially during start.


Table 1505 has no effect on fuel flow, PPH, SFC, mixture, ratios...etc

Just the simulated lag when a change is made in RPM.
 
Reverting to a previous question, can anyone provide thrust and fuel flow variation with Mach number, altitude, and throttle for a real jet engine that can be compared with default FSX?
 
Reverting to a previous question, can anyone provide thrust and fuel flow variation with Mach number, altitude, and throttle for a real jet engine that can be compared with default FSX?


Yes... and I've already done it. The problem you will find is SFC is always a constant in FS. In the real thing it changes with power, temp, etc.. etc.. That's what screws up your fuel and power numbers. For example, people believe FS ground fiction coefficient is off, when in fact it is dead on, but all jets are much more efficient at taxi speed than in flight. If we had a way to model the SFC curve that would solve the problem, but I think that is a bit too complicated for Microsoft to have considered it.

Other than that I can't find anything that FS doesn't replicate accurately if the inputs are good.


I can send you an some stuff if you need.
 
I can send you an some stuff if you need.

I'd be grateful if you would.

On and off I'm still trying to understand Microsoft's methodolgy, which i'm coming to believe isn't as bad as it's been painted,
 
I'd be grateful if you would.

On and off I'm still trying to understand Microsoft's methodolgy, which i'm coming to believe isn't as bad as it's been painted,

You're right, it's not. It's actually great, minus the SFC issue. I have yet to find anything other than that that doesn't give an accurate reproduction if the inputs are correct. This is after about nine years of accusing MSFS for everything that WAS wrong with my airfile work, to always realize later (after learning something new) that it was my input data all along. Granted I stick to commercial jets and don't have much experience with fighters and props.
 
jx_
In an earlier post you stated:

In other words, IAP, affects where N2 spins at a given throttle setting. For example, idle RPM at low Mach, interpolated to IAP. (Does altitude affect your Aircraft's N2 position?) It has no affect on thrust whatsoever

I believe you are saying that IAP has no effect on thrust.

Here are the equations that FS uses to calculate thrust


theta = (288.15-1.98*altitude/1000)/288.15
delta = theta^5.256

Note 1. delta is calculated atmospheric pressure ratio

delta2 = delta*(1+(M^2)/5)^3.5

Note 2. at zero Mach delta2 is = delta

theta2 = theta*(1+(M^2)/5)
Gross Thrust = Static Thrust * [TBL 1506] * delta2

Note 3. at zero Mach thrust is proportional to atmospheric pressure ratio.

Ram Drag = (V/g)* Intake_Area * [TBL 1507] * delta2/sqrt(theta2)
Net thrust = Gross thrust - Ram Drag

IAP is inverse Atmospheric pressure ratio and is used to make it simpler to index tables in an ascending manner.

So, ignoring Mach effects on thrust IAP controls gross thrust decrease with altitude. In practice thrust does not decrease that rapidly with altitude and the simplified use of look up tables in FS rather than more complex thermodynamic equations gives around 25% low thrust at 40,000 feet.

Roy
 
Hey Roy.

Actually what i said was:

You are correct about IAP, but that table doesn't affect thrust, it only affects the throttle position relative to N2.

So I agree that you are correct about the physics, but I am referring to the use of IAP in airfiles. FS uses IAP to set N2 vs Altitude in 1503/1504.

The problem you are encountering is with the last line of your equation...RAM DRAG, which I will address in the other post as well.


Basically, because of the total lack of drag...and as a consequence---overly efficient engines at altitude... we (FDE developers) scale down our thrust to replicate fuel flow/airspeed. So the 25% you speak of is our compensation for something else.

If the SFC was able to be contoured correctly and RAM DRAG was modeled correctly, the thrust (FN) pounds would need to be increased at the altitudes you speak of, while fuel flow and airspeed relationships would not change (after being recalibrated of course) simply because the additional drag counteracts thrust pounds.

This is also the cause of the underpowered ground taxi issues. On the ground at normal taxi speeds, there is no Ram Drag so the engine is twice as efficient. But we (FDE developers) set our SFC to achieve proper fuel flows at cruise. So now, our engine is too inefficient in taxi to produce the real taxi thrust at the real taxi fuel flow.

My aircraft in particular gets (SFC) 0.29 taxi, 0.30-0.53 at middle speeds and altitudes, 0.51-0.63 in normal cruise (mach 0.70-0.80/FL250+), and 0.52-0.68 at climb power. This is real world data. FS stays constant at what's set in the cfg file regardless of altitude. The problem would be exaggerated for Supersonic jets, the performance envelope is much wider.

Once I figured this out I was able to replicate the engine to a tee. In some cases, the real world engines I am modelling creates over 3,000lbs of drag force per engine at high altitudes. There is no way to model that without changing the SFC (which is caused mostly by the intake drag.)

This is the only thing I have found that FS doesn't model correctly.

*please see my response in the other post http://fsdeveloper.com/forum/showthread.php?t=250358 for a more detailed explanation of the issues with the Ram Drag table.
 
So I agree that you are correct about the physics, but I am referring to the use of IAP in airfiles. FS uses IAP to set N2 vs Altitude in 1503/1504

1503 and 1504 do set N2 according to throttle position and Pressure ratio. However N2 sets N1 in 1502 and N1 sets thrust in 1506. Therefore 1503/1504 are the mechanism by which thrust variation with altitude is calculated in FSX.
Roy
 
No, if you set every field the same in the IAP tables, thrust still varies with altitude although N2 (and thus N1) will not. If you set all IAP tables, the N1 table, and the Thrust tables to one value, thrust still decreases with altitude. The calculation is built in and scales the SSL number with altitude, temperature, etc...

The thrust calculation in FS is independent from anything in the airfile. N1 and N2 tables are for modeling purposes, meaning replicating the changes in N1/N2 you would see in the cockpit as you climb or descend. Once N1 is determined (modeled/replicated at a given altitude/mach), it looks up current N1 on the Thrust table and calculates thrust pounds from the factor value.

SSL thrust * thrust table * altitude/temp calculations

The IAP in those tables only affects N2, and as a result N1...although you can have N1 remain constant at all altitudes while N2 changes.

You can even have 0% N1 in all fields, but have the thrust increase with altitude by setting the Thrust table factor to increase with Mach.

They are all disconnected, and have no effect on each other, other than telling the sim what the current percentage of thrust should be under the given circumstances. That percentage is always viewed as percentage of SSL thrust. The altitude/temp is applied afterward, post air file, live in the sim.

If you want thrust to increase with altitude, simply add to the thrust tables at the RPM and Mach you need, although this would ruin low altitude high Mach settings. This is because of the Ram Drag issue i spoke about.
 
yes i am familiar. Let's assume it is 100% accurate. What is it you are trying to convey? The document agrees with what I said. They are all just look up tables used to plug in factor variables into a completely separate thrust equation that is predefined.

From the document.

"The turbine engine is simulated quite differently from
the piston engine. Instead of trying to simulate the
thermodynamic properties of a turbine, which are quite
complicated and involved, the SimEngine incorporates
extensive use of normalized look-up tables that can be
scaled by the required thrust output of the engine. Not
only does this make the turbine code simpler and easier
to maintain, but it also allows for simplified input to the
flight model data file."


If you don't believe me, set ALL your tables to one value, then descend from 40,000 at constant airspeed and watch thrust pounds increase all the way down. It will apply a hard coded altitude and temperature calculation regardless of what's in the air file...

After doing that put your real CN2 and CN1 tables back in, but set your thrust table to the same value as the previous paragraph and you will get the same exact result.

okay how about if we turn the engines off then set the 0 column of the thrust table to the same thrust factor as both of the previous paragraphs and descend again.....???

Assuming that you aren't modeling N1/N2 windmilling, you get the exact same results, except this time the thrust was produced and fuel burned with a ZERO CN1/CN2 RPM. If thrust was fan speed dependent this would not be possible.

CN1 and CN2 have nothing to do with how thrust in MSFS is calculated. They only tell the sim which table field to lookup the thrust factor.


Speaking of windmilling, if you simulate windmilling with the engines off and don't ensure the thrust factor is zero, it will burn fuel and produce thrust on a dead engine. It doesn't care about combustion being on and it doesn't care about fan speeds. The only thing that will stop the thrust and fuel is closing the fuel valves or failures.

What if we set the thrust factor to a negative value? FS will scale the negative thrust in the same exact way as altitude decreases, regardless of fan speed. I used to get a kick out of turning the engines off and taxiing around backwards when testing all these things out.

How about if we set a negative airflow factor? Thrust will increase with indicated airspeed instead of decrease.
 
This is getting somewhat silly and this is my last post on this thread.

I totally agree that the FS use of look up tables produces incorrect results. However it is a software program that works according to the specified algorithms. The jet turbine thrust code produces outputs based on look-up tables. It will not work correctly if you just put random, unsubstantiated values in the tables, without fully understanding what you are doing.

That is why you have to follow the flow of the calculations, because if you look at the turbine flow chart in the document I posted, the table entries are interrelated in the thrust calculation. Once the program has completed its thrust calculations, the remaining flow chart boxes just put out values for display

CN1 and CN2 have nothing to do with how thrust in MSFS is calculated.

If you believe this, perhaps you can explain precisely how the program calculates thrust.

I know what the program does and, being polite, as required by the forum rules, this statement does not help your case.

Table 1506 takes inputs of Mach and CN1 and outputs scalar values for Gross thrust divided by Static thrust. The inputs are addressed using interpolation equations and the output gives the gross thrust based on static thrust. So N1/CN1 is a part of the thrust equation.

As I said earlier, N1/CN1 is calculated based on the relationship of N1 to N2 in in 1502 and N2/CN2 is a function of throttle position, Mach and IAP in 1503/1504.
Therefore, N2/CN2 also affects thrust

You can replace FSX processing of some events with new logic using Simconnect, but based on inputs from an experienced C++ programmer you can not do alter the fundamental algorithms used for turbine engine thrust computation.

So FSX will do its thing according to its code. The code is well defined,easily understood and will work given sensible inputs in the turbine tables.

Finally, I am not being critical of all you have achieved, it is just that my experience has been different.

Roy
 
Roy,

That fact that you think this is getting silly let's me know exactly where your head is. I'm trying to explain what I thought you were misunderstanding. Now I realize you are one of those "I don't want to hear what I don't already believe types," and that's fine by me.

Like I said, the only thing that affects thrust in FS is what's in 1506 & 1507. Random, unsubstantiated values prove this. N1 just points to the column to look up. Mach points to the row. The value of N1 and N2 is ignored otherwise when calculating thrust.

If you don't purposely put in incorrect values, you'll never understand what the sim is really doing. And not you nor any of your buddies have access to the original software code to be so sure you have the full picture. The only way to know is to test it in the sim. Tests I have conducted numerous times make it very obvious to me that you really don't understand how MSFS works with regards to thrust.

Bottom line is I have already solved your problem. Have you?
 
jx... just out of pure curiosity... have you ever considered that the FS code has 'protection' built into it to prevent a problem when someone creates an .air file that has 100% purely bogus data?

As a developer with a couple days under my belt... I've done that a lot in code I've written.
 
hey Warp.

I only consider what the sim actually does. Theories and formulas that don't match the sim are useless to me. The bogus data conversation was an example for Roy's consumption, or anyone else who wants to see it work in practice.

Everything I have stated has been tested and confirmed with 'bogus', actual, and 'incorrect but not bogus' data if you get what I mean.

Furthermore, MSFS has no such air file data protection. I remember I made an airfile once that flew like a UFO solely on elevator lift, rudder, slip, and various moment forces. No thrust or wing lift...no airspeed. Is it silly and useless? sure... did it teach me what the sim is REALLY doing? Hell yes.

These tests are how I know what FS will do in real time. You can only figure that out by feeding it a variety of values under a variety of scenarios and documenting the output. Wrong data doesn't mean it's invalid.

All that being said, the 'bogus' data conversation is an aside. The real point was that the only incorrect issue with FS flight models I have found is SFC, which is what causes almost all of the symptoms I have seen people post about concerning thrust performance. The taxi thrust bug is one of the more popular ones. Roy's reduced thrust at altitude is another.

If you haven't taken SFC into account, or haven't completely redone all of the stock airfile tables, your airfile is inaccurate. How can you come to a reasonable conclusion about the sim with inaccurate input data and no testing?

The number one thing is to help people understand what MSFS is really doing and debunk the myths. I have highly detailed real world data and can see where FS and the real data don't align. Most people don't have access to this kind of data and assume the sim must be doing something wrong, so they make up a theory on how wrong the sim is because it uses IAP for thrust...or how sim.dll needs to be hacked because ground friction is too high...etc. Turns out the sim is correct for the most part.
 
The thrust calculation in FS is independent from anything in the airfile. N1 and N2 tables are for modeling purposes, meaning replicating the changes in N1/N2 you would see in the cockpit as you climb or descend.

This statement is oddly wrong.
And couldn't be more easy to prove:

Just import this 1502 table into the turbine .air file of your choice (using AAM) , and then see the results:

Code:
Columns: 13, Rows: 3
0	0	0.9
0	0	0
10	0	0
20	0	0
30	0	0
40	0	0
50	0	0
60	0	0
70	0	0
80	0	0
90	0	0
100	0	0
110	0	0


0 (zero) thrust at any altitude, and the engine fails few moments after the aircraft loads.

What kind of test did you make to reach those conclusions???:eek:


Tom
 
Hey Tom,

I've done that before. The engine isn't failing because of 1502. It is failing because the N2 has declined below the red line in table 1505. The engines will always fail if for any reason fuel flow falls below the x=0 N2 look up value of 1505. ;)

And though you may think I am wrong, and that's okay... you aren't grasping the concept of how the air file works.

N1 & N2 are ONLY used to look up the column in Table 1506.

If you were to take that same table you asked me to import and set your thrust 1506 "0 CN1' column to let's say 1.00 at all mach, you would get full static takeoff power at all mach! The thrust would also in fact be adjusted for altitude and temperature.

(don't forget to zero your airflow table 1507 too if you want to see the true thrust output.)

Hope this helps.
 
Last edited:
Back
Top