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

EPR in fs9

According to the SDK "rng returns True if the third operand lies between values one and two" Anyone know if that's correct?

It's the distintion between less than and less than or equal in C. In one case it could be 1 2 2 rng = false: in the other 1 2 2 rng = true.
 
"the third operand lies between values one and two"

I think it's pretty obvious that between here means between and including values one and two in the comparison.
Range-type functions that I know always include the limit values.

In C would be (n >= one && n <= two)

So, no ambiguity at all. 1 2 2 rng is always true.

Tom
 
"I think it's pretty obvious that between here means between and including values one and two in the comparison.
Range-type functions that I know always include the limit values.

But you had to qualify the meaning yourself - "between and including values one and two". It could equally as well have meant "between and excluding values one and two."
 
I think it's open to personal interpretation... which indeed makes it ambiguous. The fact that the two of you see it's meaning differently shows it has ambiguity.
 
I never doubted of the meaning of rng operator, once read the SDK comment and after inspecting the operator syntax.

Anyone is free to have his own understanding of a text, and this doesn't transform the text in something ambiguous because of that.

Tom
 
0.002 (A:TURB ENG1 JET THRUST,pounds) 10000 / 4 pow * 0.008 (A:TURB ENG1 JET THRUST,pounds) 10000 / 3 pow * - 0.032 (A:TURB ENG1 JET THRUST,pounds) 10000 / * + 0,997 +

I tried the following formula, writing the EPR function of the thrust.
Still it seems to be all right, but when the plane accelerates EPR begins to decrease rapidly. Why?

(Net) Jet Thrust varies with speed and altitude and thus is the worst thing to link EPR to.
If you want this to work across the engine's envelope, you need to correct the thrust for ram drag and then multiply it by sqrt(theta2) and divide it by delta2, i.e. correct the current thrust to a static sea level condition in an ISA atmosphere.

But as I'm saying for the third time now, this just makes everything more complicated than it needs to be. Just link EPR to CN1 and be done with it.
The realtionship between CN1 and EPR is pretty constant across an engine's envelope anyway.



Code:
1.50 80.80 (A:TURB ENG CORRECTED N1:1, percent) rng
if{ (A:TURB ENG CORRECTED N1:1, percent) 31.50 - 0.0103 * 1.04 + (&gt;L:EPR E1, enum) }

80.80 83.60 (A:TURB ENG CORRECTED N1:1, percent) rng
if{ (A:TURB ENG CORRECTED N1:1, percent) 80.80 - 0.0357 * 1.55 + (&gt;L:EPR E1, enum) }

Neither of those if-statements would evaluate if A:TURB ENG CORRECTED N1 = 80.80?

If CN1 is 80.80%, the gauge picks the corresponding EPR from either code block, each of which will supply the same EPR within a reasonable margin of error. I don't really see the issue here.
 
EPR simulation for a JT8D-15.

You seem to have a plethora of info regardin the JT8D-15! This happens to be exactly what I have benn hunting for for weeks! I am developing a Dassault Mercure 100 for FS9/FS-X and will appreciate much if you could share your data with me (PM may be best for this)
 
The words in the SDK are ambiguous. For example, Borland C++ compiler reads.
Description
Use KeyExclusive to specify whether a range includes or excludes the records that match the starting and ending values of the range. By default, KeyExclusive is false, meaning that matching values are included.

To restrict a range to those records that are greater than the specified starting value and less than the specified ending value, set KeyExclusive to true.
 
(Net) Jet Thrust varies with speed and altitude and thus is the worst thing to link EPR to.
If you want this to work across the engine's envelope, you need to correct the thrust for ram drag and then multiply it by sqrt(theta2) and divide it by delta2, i.e. correct the current thrust to a static sea level condition in an ISA atmosphere.

But as I'm saying for the third time now, this just makes everything more complicated than it needs to be. Just link EPR to CN1 and be done with it.
The realtionship between CN1 and EPR is pretty constant across an engine's envelope anyway.


It is not true, or rather it is true only in part:
if for example we are in flight and do some push engines will have an EPR> 1 result I get even by varying the EPR according to the N1. But if you harbor the throttle to zero, to a certain altitude, I will have an N1> N1 idle, and therefore a EPR> 1; in fact, in any proportion I am, if I bring the throttle to 0, will have an EPR at least equal to zero or an EPR <0.
Can you tell me how to correct the pressure as a function of altitude and speed?
 
I have to agree with Gerry and Ed on this one. Until just a moment ago, I'd always believed that the absolute values of the two range constants were excluded from the evaluation, based on a strictly literal reading of the SDK's statement.

Now I know better! :coffee:
 
I still don't get the fuss. "Rng" works and that's all that counts.



You seem to have a plethora of info regardin the JT8D-15! This happens to be exactly what I have benn hunting for for weeks! I am developing a Dassault Mercure 100 for FS9/FS-X and will appreciate much if you could share your data with me (PM may be best for this)

http://www.jet-engine.net/civtfspec.html
http://www.boeing-727.com/Data/engine/engdata.html

This and a cruise chart for a 727 with JT8D-15s is all I had available.
The finished .air file is here:
http://www.sim-outhouse.com/sohforu...V-modified-FDE&p=939050&viewfull=1#post939050



It is not true, or rather it is true only in part:
if for example we are in flight and do some push engines will have an EPR> 1 result I get even by varying the EPR according to the N1. But if you harbor the throttle to zero, to a certain altitude, I will have an N1> N1 idle, and therefore a EPR> 1; in fact, in any proportion I am, if I bring the throttle to 0, will have an EPR at least equal to zero or an EPR <0.
Can you tell me how to correct the pressure as a function of altitude and speed?

Read Roy's document here:
http://www.fsdeveloper.com/forum/resources/fs-thrust-vs-altitude-calculations.43/

The equations for theta and delta are in the appendix.
 
I still don't get the fuss. "Rng" works and that's all that counts.
http://www.jet-engine.net/civtfspec.html
http://www.boeing-727.com/Data/engine/engdata.html

This and a cruise chart for a 727 with JT8D-15s is all I had available.
The finished .air file is here:
http://www.sim-outhouse.com/sohforu...V-modified-FDE&p=939050&viewfull=1#post939050

Indeed what I found as well! Thanks a lot!!
Will report back (in a loooong time) when FDE work starts. Will have to match my own Dassault Mercure performance tables, but at least engines will be at least a good approximation to start with (maybe will have to adjust for the Mercure's ad-hoc nozzle...)
 
Regarding rng.
If the range to be used was not the values given, how much smaller would it be? The definition may be ambiguous but common sense says it must include the given numbers.
Roy
 
Last edited:
Regarding rng.
If the range to be used was not the values given, how much smaller would it be? The definition may be ambiguous but common sense says it must be include the given numbers.
Roy

I agree. IMHO a definition like that, taken within a context and interpreted with common sense loses its ambiguity, if might have any.

Tom
 
Regarding rng.
If the range to be used was not the values given, how much smaller would it be? The definition may be ambiguous but common sense says it must be include the given numbers.Roy

A range may, or may not, include the starting and ending values depending on how its defined - it isn't commonsense.
 
Indeed what I found as well! Thanks a lot!!
Will report back (in a loooong time) when FDE work starts. Will have to match my own Dassault Mercure performance tables, but at least engines will be at least a good approximation to start with (maybe will have to adjust for the Mercure's ad-hoc nozzle...)

Sure thing, Mario.

Just make sure to offer a fictituous version of the Mercure with appropriately sized fuel tanks. ;)
 
dbtd1y.jpg


The resulting formula for pushing correct should this be?
But how do I show the table in 1507 in the xml file?
Ps. The thrust is linear with the percentage of the throttle?
 
Last edited:
I may leave the fuel tanks realistically sized but offer an afterburning RM-8 powered version :p

Range: 2.5 nm.



The resulting formula for pushing correct should this be?
But how do I show the table in 1507 in the xml file?
Ps. The thrust is linear with the percentage of the throttle?

No, thrust is not linear.

Use AAM to view or edit .air files.
http://www.aero.sors.fr/fsairfile.html

Do it like this in XML:

Theta:
Code:
  288.15 (A:PLANE ALTITUDE,feet) 1000 / 1.98 * - 288.15 / (&gt;L:Theta,enum)

Delta:
Code:
(L:Theta,enum) 5.256 pow (&gt;L:Delta,enum)

Theta2:
Code:
(A:AIRSPEED MACH, mach) 2 pow 0.2 * 1 + (L:Theta,enum) * (&gt;L:Theta2,enum)

Delta2:
Code:
(A:AIRSPEED MACH, mach) 2 pow 0.2 * 1 + 3.5 pow (L:Delta,enum) * (&gt;L:Delta2,enum)

You can not access .air files from XML, so you will have to translate the curve in table 1507 into an equation and translate it into XML.

Code:
[Formula for Mach to Ram Drag Factor Relationship] (&gt;L:Ram Drag Factor, enum)
(A:AIRSPEED MACH, mach) 32.174 / [Value for intake area from aircraft.cfg] * (L:Ram Drag Factor, enum) * (L:Theta2,enum) sqrt * (L:Delta2,enum) * (&gt;L:Corrected Ram Drag, enum)

(A:TURB ENG1 JET THRUST,pounds) (L:Delta2,enum) / (&gt;L:Corrected Net Thrust, enum)

(L:Corrected Net Thrust, enum) (L:Corrected Ram Drag, enum) + (&gt;L:Corrected Gross Thrust, enum)

(L:Corrected Net Thrust, enum) can drive your EPR formula.

I don't know if the equations above are formatted correctly to obtain a good result, but I think this might work.
 
So my equation should be this:

Code:
0.002 (A:Corrected Net Thrust, enum) 10000 / 4 pow * 0.008 (A:Corrected Net Thrust, enum) 10000 / 3 pow * - 0.032 (A:Corrected Net Thrust, enum) 10000 / * + 0,997


where (A:Corrected Net Thrust, enum) is:

Code:
(L:Corrected Ram Drag, enum)(L:Corrected Gross Thrust, enum)-


With
Code:
(L:Corrected Ram Drag, enum)=  (A:AIRSPEED MACH, mach) 32.174 / 61.283 * (L:Ram Drag Factor, enum) * (L:Theta2,enum) sqrt * (L:Delta2,enum) * 
(L:Corrected Gross Thrust, enum) = (A:TURB ENG1 JET THRUST,pounds) (L:Delta2,enum) /


But how do I write all this stuff to the cube or square?
 
Back
Top