• 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

yes, using thrust (either net thrust or CN1 to find gross thrust), but you will need to extract the pressure curve for ram pressure (by mach) and any losses in thrust due to utilities or inefficiency (bleed systems, bypass streams, etc).


On a real engine, EPR decreases significantly with speed. This is why EPR is set/crosschecked and throttle position fixed at 80 knots. Similarly, descending at idle at normal speeds will cause most turbofans to fall below 1.00 EPR.


First find the sea level static EPR curve. The Sea Level Static EPR curve is a simple linear function of Gross Thrust.


Once you have an accurate sea level static table, you need to apply decreases with mach and increases with lower temperature. Both will be a curve that is non linear due to ram effect and inefficiencies.


It is easiest to calculate Gross thrust from CN1. They are linearly attached and this automatically accounts for EPR increase with lower temperature (by reducing N1).


The easiest model is:

Static EPR from CN1 * factor of EPR decrease per mach interval


Again, the mach effect will be non-linear. You will need to calculate the changes for each Mach interval from your aircraft data.


This would output something like 2.00 EPR * 0.76 mach factor for a given CN1.

Great idea.
So you say to develop an EPR as a function of N1 and then add a function to decrease with increasing Mach and a function of increase with decreasing temperature?
It seems to me that the EPR vary in function of TAT regard to the temperature?
 
Last edited:
This should be the correct equation, but returns a fixed value on the gauge

Code:
0.002 (A:TURB ENG JET THRUST, pounds) 

(A:AIRSPEED MACH, mach) 1116.44 / 32.174 / 47.5000 * 
-29.43 (A:TURB ENG1 CORRECTED N1,percent) 100 / 3 pow * 
63.32 (A:TURB ENG1 CORRECTED N1,percent) 100 / 2 pow * + 
11.87 (A:TURB ENG1 CORRECTED N1,percent) 100 / * - 4.685 + * 
(A:AIRSPEED MACH, mach) 2 pow 0.2 * 1 + 288.15 (A:PLANE ALTITUDE,feet) 1000 / 1.98 * - 
288.15 / * sqrt * (A:AIRSPEED MACH, mach) 2 pow 0.2 * 1 + 3.5 pow 288.15 (A:PLANE ALTITUDE,feet) 1000 / 1.98 * - 
288.15 / 5.256 pow * * + (>L:Ram Drag Factor, enum) 10000 / 4 pow * 



0.008 (A:TURB ENG JET THRUST, pounds) 

(A:AIRSPEED MACH, mach) 1116.44 / 32.174 / 47.5000 * 
-29.43 (A:TURB ENG1 CORRECTED N1,percent) 100 / 3 pow * 
63.32 (A:TURB ENG1 CORRECTED N1,percent) 100 / 2 pow * + 
11.87 (A:TURB ENG1 CORRECTED N1,percent) 100 / * - 4.685 + * 
(A:AIRSPEED MACH, mach) 2 pow 0.2 * 1 + 288.15 (A:PLANE ALTITUDE,feet) 1000 / 1.98 * - 
288.15 / * sqrt * (A:AIRSPEED MACH, mach) 2 pow 0.2 * 1 + 3.5 pow 288.15 (A:PLANE ALTITUDE,feet) 1000 / 1.98 * - 
288.15 / 5.256 pow * * + (>L:Ram Drag Factor, enum)
10000 / 3 pow * - 

0.032 (A:TURB ENG JET THRUST, pounds) 

(A:AIRSPEED MACH, mach) 1116.44 / 32.174 / 47.5000 * 
-29.43 (A:TURB ENG1 CORRECTED N1,percent) 100 / 3 pow * 
63.32 (A:TURB ENG1 CORRECTED N1,percent) 100 / 2 pow * + 
11.87 (A:TURB ENG1 CORRECTED N1,percent) 100 / * - 4.685 + * 
(A:AIRSPEED MACH, mach) 2 pow 0.2 * 1 + 288.15 (A:PLANE ALTITUDE,feet) 1000 / 1.98 * - 
288.15 / * sqrt * (A:AIRSPEED MACH, mach) 2 pow 0.2 * 1 + 3.5 pow 288.15 (A:PLANE ALTITUDE,feet) 1000 / 1.98 * - 
288.15 / 5.256 pow * * + (>L:Ram Drag Factor, enum)
10000 / * + 0.997 +
[\code]
 
Variable list for FSX:
https://msdn.microsoft.com/en-us/library/cc526981.aspx

Most of these also work in FS9, so bookmark this link.


Why did you put everything into a single equation?! This is bloody awful to read and comprehend!
Did you even try to understand what I wrote about how equations and variables are handled by MSFS?
 
Last edited:
I decided to start over with a more simplified formula of Corrected Gross thrust: Static thrust * [TBL 1506]

I got this equation from the table in 1506:

ayvv2r.png


In XML: 0.762 (A:TURB ENG2 CORRECTED N1,percent) 100 / 2 pow * 0.469 (A:TURB ENG2 CORRECTED N1,percent) 100 / * + 0.016 -


Then I found a relationship between the percentage of thrust with the EPR:


s0zok5.png



In XML:

Code:
0.122 (L:Corrected Gross Thrust, enum) 3 pow *

0.235 (L:Corrected Gross Thrust, enum) 2 pow * +

0.071 (L:Corrected Gross Thrust, enum) * + 0,999 + [\code]



(L:Corrected Gross Thrust, enum): This value is intended as a percentage (Instant thrust) / (Max thrust). How can I express it in XML?
 
Nothing to do with this method are very high values.
See equation by equation method Previous:

Theta:

288.15 (A:PLANE ALTITUDE,feet) 1000 / 1.98 * - 288.15 / (>L:Theta,enum)

Delta:

288.15 (A:PLANE ALTITUDE,feet) 1000 / 1.98 * - 288.15 / (>L:Theta,enum) 5.256 pow (>L:Delta,enum)

Theta 2:

(A:AIRSPEED MACH, mach) 2 pow 0.2 * 1 + 288.15 (A:PLANE ALTITUDE,feet) 1000 / 1.98 * - 288.15 / (>L:Theta,enum) * (>L:Theta2,enum)

Delta2:

(A:AIRSPEED MACH, mach) 2 pow 0.2 * 1 + 3.5 pow 288.15 (A:PLANE ALTITUDE,feet) 1000 / 1.98 * - 288.15 / (>L:Theta,enum) 5.256 pow (>L:Delta,enum) * (>L:Delta2,enum)

ram drag factor:

-29.43 (A:TURB ENG1 CORRECTED N1,percent) 100 / 3 pow * 63.32 (A:TURB ENG1 CORRECTED N1,percent) 100 / 2 pow * + 11.87 (A:TURB ENG1 CORRECTED N1,percent) 100 / * - 4,685 +

Corrected ram drag:

(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) * (>L:Corrected Ram Drag, enum)

Corrected net thrust:

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

Corrected gross thrust:

(L:Corrected Net Thrust, enum) (L:Corrected Ram Drag, enum) + (>L:Corrected Gross Thrust, enum)

Now I miss the corrected gross thrust factor to be included in the equation of the EPR:

EPR equation:

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 +


Something missing?
 
Someone could explain to me how the NASA enginesim? I downloaded Java but does not work anyway. I would also see the trend of N1
 
Be aware, it doesn't give N1 because it doesn't need it.

AFAIK GE CF6 turbofans use N1 as the primary indication for engine power.
PW and RR use EPR.
And those EPR values on the table seem too high for a modern turbofan.

Are you sure the table is correct?

Tom
 
The NASA Engine Sim doesn't need N1.

The values from the NASA Engine Sim are the pressures shown at Stn 2 and Stn 6 as I said.
 
I found this variable in the panel of the BAC 1-11:
(L: DM INDEX THRUST, number)
I tried to put it in my equation but does not give any result. Someone knows?
 
I found this variable in the panel of the BAC 1-11:
(L: DM INDEX THRUST, number)
I tried to put it in my equation but does not give any result. Someone knows?

That is a Local variable, srtictly related to that aircraft. It won't work in yours as is.

The NASA Engine Sim doesn't need N1.

That´s not my point. My point is, why not make the table with an engine that DOES use EPR as its primary thrust indicator, instead of CF6 which is a N1 beast?
Besides, even if being a teorical example, EPR values on the Y axis are too high for a turbofan - as I stated before - so it seems something is not quite right in that table.

Tom
 
Great idea.
So you say to develop an EPR as a function of N1 and then add a function to decrease with increasing Mach and a function of increase with decreasing temperature?
It seems to me that the EPR vary in function of TAT regard to the temperature?

No. All of your posts are trying to be TOO complicated.

It seems to me that the EPR vary in function of TAT regard to the temperature?

Yes, TAT...but CN1 takes care of that.


1st step:

Map EPR at sea level static ISA against CN1. Again, CN1 takes care of temperature changes.

Convert your cruise EPR data to Static EPR by correcting N1 to CN1, then look up EPR on your Static EPR map. Compare Static EPR value against Cruise EPR value for given Mach. Plot several mach points, and extrapolate Mach factor curve.



Example:

ISA Cruise chart says N1 85%, EPR 2.00, FL250, Mach 0.80

CN1 = %N1 / Theta2^0.50

Theta2 = { [ 288.15 - (0.0019812 * Altitude in feet MSL) ] / 288.15 } * ( 1 + 0.2 * Mach^2 ) = 0.94311

CN1 = 0.85 / 0.94311^0.50 = 93.41

Look up EPR at 93.41%CN1.... Let's presume the table says 2.22 EPR.

2.00 EPR@M0.80 / 2.22 EPR@SSL = a mach factor of --- SSL_EPR * 0.901 --- at mach 0.80




Then your gauge will work like:

Code:
(A:Turb eng1 Corrected N1, percent) 0.000 - AAA * 0 max 0.XX min d (>L:SSLEPR1_1,enum)
(A:Turb eng1 Corrected N1, percent) 20.00 - BBB * 0 max 0.YY min d (>L:SSLEPR1_2,enum)
(A:Turb eng1 Corrected N1, percent) 30.00 - CCC * 0 max 0.ZZ min d (>L:SSLEPR1_3,enum)
.......

(L:SSLEPR1_1,enum)
(L:SSLEPR1_2,enum) +
(L:SSLEPR1_3,enum) +
(>L:ENG1_SSLEPR,enum)
........

Where AAA/BBB/CCC are the CN1 * X factor of EPR for that CN1 segment.
Where 0.XX/0.YY/0.ZZ are the maximum possible size of the EPR value for that segment.


[The above should produce accurate EPR under all SSL ISA conditions before you continue.]


Then:

Code:
(A:Airspeed mach, machs) 0.AA - 0.DD * 0 max 0.0GG min d s1
(A:Airspeed mach, machs) 0.BB - 0.EE * 0 max 0.0HH min d s2
(A:Airspeed mach, machs) 0.CC - 0.FF * 0 max 0.0II min d s3

l1 l2 l3 + + J.JJ pow
(>L:EPR_MACH_FACTOR)

Where J.JJ is a curve fit if needed. The curve fitting can get complex depending on your engine.


Then:

Code:
(L:ENG1_SSLEPR,enum) (L:EPR_MACH_FACTOR) * (>L:AMBIENT_EPR_TO_DISPLAY,enum)
 
Besides, even if being a teorical example, EPR values on the Y axis are too high for a turbofan - as I stated before - so it seems something is not quite right in that table.

Tom

Agreed.

Engine sim is grossly incorrect and oversimplified for a specific real engine. It is a learning tool, not a thrust deck, performance software, or cycle deck. It's output will be very generic.
 
Look up EPR at 93.41%CN1.... Let's presume the table says 2.22 EPR.

I must see what is the EPR at sea level under normal conditions?
P.s.
The code seems very complicated:eek:

You have an example of code already filled?
 
Which code seems complicated?


Yes all you need is Sea Level Static EPR under ISA conditions.
 
After much searching, I finally managed to find a good approximation of the EPR according to the N1.
So far I have tried to express the bond through a single equation derived by interpolation.
The approximation made by the curve is very bad.
So I would try to define the EPR with equations at times:



N1 EPR
0 to 20 1 to 1,01
20 to 30 1,01 to 1,027
30 to 40 1,027 to 1,04
40 to 50 1,04 to 1,07
50 to 60 1,07 to 1,1
60 to 70 1,1 to 1,14
70 to 80 1,14 to 1,22
80 to 90 1,22 to 1,4
90 to 100 1,4 to 1,53
100 to 110 1,53 to 1,6
110 to 120 1,6 to 1,66


My code is as follows:

Code:
<Gauge Name="ENG1_EPR">

<Element>
        <Position X="41" Y="94"/>
        <MaskImage Name="ENG_TAPE_MASK.bmp" ImageSizes="21,32">
            <Axis X="0" Y="0"/>
        </MaskImage>
        <Image Name="ENG_HUNDRED.bmp" ImageSizes="21,96">
            <Nonlinearity>
                <Item Value="0" X="0" Y="65"/>
                <Item Value="2" X="0" Y="0"/>
            </Nonlinearity>
        </Image>
        <Shift>
            <Value> 5.468 (A:TURB ENG1 CORRECTED N1,percent) 100 / 5 pow * 9.114 (A:TURB ENG1 CORRECTED N1,percent) 100 / 4 pow * - 4.843 (A:TURB ENG1 CORRECTED N1,percent) 100 / 3 pow * + 0.635 (A:TURB ENG1 CORRECTED N1,percent) 100 / 2 pow * - 0.047 (A:TURB ENG1 CORRECTED N1,percent) 100 / * + 1 + 0.05 (A:AIRSPEED MACH, mach) *  -  100000 + 1 * 10 % int
</Value>
            <Failures>
                <SYSTEM_ENGINE Action="0"/>
            </Failures>
        </Shift>
    </Element>
    <Element>
        <Position X="64" Y="94"/>
        <MaskImage Name="ENG_TAPE_MASK.bmp" ImageSizes="21,32">
            <Axis X="0" Y="0"/>
        </MaskImage>
        <Image Name="ENG_TAPE.bmp" ImageSizes="21,352">
            <Nonlinearity>
                <Item Value="0" X="0" Y="320"/>
                <Item Value="10" X="0" Y="0"/>
            </Nonlinearity>
        </Image>
        <Shift>
            <Value> 5.468 (A:TURB ENG1 CORRECTED N1,percent) 100 / 5 pow * 9.114 (A:TURB ENG1 CORRECTED N1,percent) 100 / 4 pow * - 4.843 (A:TURB ENG1 CORRECTED N1,percent) 100 / 3 pow * + 0.635 (A:TURB ENG1 CORRECTED N1,percent) 100 / 2 pow * - 0.047 (A:TURB ENG1 CORRECTED N1,percent) 100 / * + 1 + 0.05 (A:AIRSPEED MACH, mach) *  -  100000 + 10 * 10 % int
</Value>
            <Failures>
                <SYSTEM_ENGINE Action="0"/>
            </Failures>
        </Shift>
    </Element>
    <Element>
        <Position X="87" Y="94"/>
        <MaskImage Name="ENG_TAPE_MASK.bmp" ImageSizes="21,32">
            <Axis X="0" Y="0"/>
        </MaskImage>
        <Image Name="ENG_TAPE.bmp" ImageSizes="21,352">
            <Nonlinearity>
                <Item Value="0" X="0" Y="320"/>
                <Item Value="10" X="0" Y="0"/>
            </Nonlinearity>
        </Image>
        <Shift>
            <Value>5.468 (A:TURB ENG1 CORRECTED N1,percent) 100 / 5 pow * 9.114 (A:TURB ENG1 CORRECTED N1,percent) 100 / 4 pow * - 4.843 (A:TURB ENG1 CORRECTED N1,percent) 100 / 3 pow * + 0.635 (A:TURB ENG1 CORRECTED N1,percent) 100 / 2 pow * - 0.047 (A:TURB ENG1 CORRECTED N1,percent) 100 / * + 1 + 0.05 (A:AIRSPEED MACH, mach) *  - 100000 + 100 * 10 %</Value>
            <Failures>
                <SYSTEM_ENGINE Action="0"/>
            </Failures>
        </Shift>
    </Element>
  
  
    <Element>
      <Position X="75" Y="75"/>
      <Image Name="EPR_BUG_ND.bmp" PointsTo="East" ImageSizes="16,16">
         <Axis X="-56" Y="8"/>
      </Image>
      <Rotate>
         <Value Minimum="1.0" Maximum="1.8">(L:ENG1_EPR_SETTING,enum)</Value>
         <Failures>
            <SYSTEM_ELECTRICAL_PANELS Action="0"/>
         </Failures>
         <Nonlinearity>
            <Item Value="1.0" X="75" Y="16"/>
            <Item Value="1.1" X="93" Y="18"/>
            <Item Value="1.2" X="110" Y="27"/>
            <Item Value="1.3" X="123" Y="41"/>
            <Item Value="1.4" X="130" Y="56"/>
            <Item Value="1.5" X="133" Y="75"/>
            <Item Value="1.6" X="131" Y="94"/>
            <Item Value="1.7" X="123" Y="109"/>
            <Item Value="1.8" X="109" Y="123"/>
         </Nonlinearity>
         <Delay DegreesPerSecond="60"/>
      </Rotate>
   </Element>
  <Element>
      <Position X="75" Y="75"/>
      <Image Name="ENG_ND.bmp" PointsTo="East" ImageSizes="78,16">
         <Axis X="11" Y="8"/>
      </Image>
      <Rotate>
         <Value Minimum="1.0" Maximum="1.8"> 5.468 (A:TURB ENG1 CORRECTED N1,percent) 100 / 5 pow * 9.114 (A:TURB ENG1 CORRECTED N1,percent) 100 / 4 pow * - 4.843 (A:TURB ENG1 CORRECTED N1,percent) 100 / 3 pow * + 0.635 (A:TURB ENG1 CORRECTED N1,percent) 100 / 2 pow * - 0.047 (A:TURB ENG1 CORRECTED N1,percent) 100 / * + 1 + 0.05 (A:AIRSPEED MACH, mach) *  -
        </Value>
         <Failures>
            <SYSTEM_ELECTRICAL_PANELS Action="0"/>
         </Failures>
         <Nonlinearity>
            <Item Value="1.0" X="75" Y="16"/>
            <Item Value="1.1" X="93" Y="18"/>
            <Item Value="1.2" X="110" Y="27"/>
            <Item Value="1.3" X="123" Y="41"/>
            <Item Value="1.4" X="130" Y="56"/>
            <Item Value="1.5" X="133" Y="75"/>
            <Item Value="1.6" X="131" Y="94"/>
            <Item Value="1.7" X="123" Y="109"/>
            <Item Value="1.8" X="109" Y="123"/>
         </Nonlinearity>
         <Delay DegreesPerSecond="60"/>
      </Rotate>
   </Element>
  
  
<Element>
        <Position X="41" Y="94"/>
        <MaskImage Name="ENG_TAPE_MASK.bmp" ImageSizes="21,32">
            <Axis X="0" Y="0"/>
        </MaskImage>
        <Image Name="ENG_HUNDRED.bmp" Luminous="Yes" ImageSizes="21,96">
            <Nonlinearity>
                <Item Value="0" X="0" Y="65"/>
                <Item Value="2" X="0" Y="0"/>
            </Nonlinearity>
        </Image>
        <Shift>
            <Value> 5.468 (A:TURB ENG1 CORRECTED N1,percent) 100 / 5 pow * 9.114 (A:TURB ENG1 CORRECTED N1,percent) 100 / 4 pow * - 4.843 (A:TURB ENG1 CORRECTED N1,percent) 100 / 3 pow * + 0.635 (A:TURB ENG1 CORRECTED N1,percent) 100 / 2 pow * - 0.047 (A:TURB ENG1 CORRECTED N1,percent) 100 / * + 1 + 0.05 (A:AIRSPEED MACH, mach) *  - 100000 + 1 * 10 % int
</Value>
            <Failures>
                <SYSTEM_ENGINE Action="0"/>
            </Failures>
        </Shift>
    </Element>  

<Element>
        <Position X="64" Y="94"/>
        <MaskImage Name="ENG_TAPE_MASK.bmp" ImageSizes="21,32">
            <Axis X="0" Y="0"/>
        </MaskImage>
        <Image Name="ENG_TAPE.bmp" Luminous="Yes" ImageSizes="21,352">
            <Nonlinearity>
                <Item Value="0" X="0" Y="320"/>
                <Item Value="10" X="0" Y="0"/>
            </Nonlinearity>
        </Image>
        <Shift>
            <Value>5.468 (A:TURB ENG1 CORRECTED N1,percent) 100 / 5 pow * 9.114 (A:TURB ENG1 CORRECTED N1,percent) 100 / 4 pow * - 4.843 (A:TURB ENG1 CORRECTED N1,percent) 100 / 3 pow * + 0.635 (A:TURB ENG1 CORRECTED N1,percent) 100 / 2 pow * - 0.047 (A:TURB ENG1 CORRECTED N1,percent) 100 / * + 1 + 0.05 (A:AIRSPEED MACH, mach) *  - 100000 + 10 * 10 % int</Value>
            <Failures>
                <SYSTEM_ENGINE Action="0"/>
            </Failures>
        </Shift>
    </Element>
    <Element>
        <Position X="87" Y="94"/>
        <MaskImage Name="ENG_TAPE_MASK.bmp" ImageSizes="21,32">
            <Axis X="0" Y="0"/>
        </MaskImage>
        <Image Name="ENG_TAPE.bmp" Luminous="Yes" ImageSizes="21,352">
            <Nonlinearity>
                <Item Value="0" X="0" Y="320"/>
                <Item Value="10" X="0" Y="0"/>
            </Nonlinearity>
        </Image>
        <Shift>
            <Value>5.468 (A:TURB ENG1 CORRECTED N1,percent) 100 / 5 pow * 9.114 (A:TURB ENG1 CORRECTED N1,percent) 100 / 4 pow * - 4.843 (A:TURB ENG1 CORRECTED N1,percent) 100 / 3 pow * + 0.635 (A:TURB ENG1 CORRECTED N1,percent) 100 / 2 pow * - 0.047 (A:TURB ENG1 CORRECTED N1,percent) 100 / * + 1 + 0.05 (A:AIRSPEED MACH, mach) *  - 100000 + 100 * 10 % </Value>
            <Failures>
                <SYSTEM_ENGINE Action="0"/>
            </Failures>
        </Shift>
    </Element>
  

   <Element>
      <Position X="75" Y="75"/>
      <Image Name="EPR_BUG_ND.bmp" Luminous="Yes" PointsTo="East" ImageSizes="16,16">
         <Axis X="-56" Y="8"/>
      </Image>
      <Rotate>
         <Value Minimum="1.0" Maximum="1.8">(L:ENG1_EPR_SETTING,enum)</Value>
         <Failures>
            <SYSTEM_ELECTRICAL_PANELS Action="0"/>
         </Failures>
         <Nonlinearity>
            <Item Value="1.0" X="75" Y="16"/>
            <Item Value="1.1" X="93" Y="18"/>
            <Item Value="1.2" X="110" Y="27"/>
            <Item Value="1.3" X="123" Y="41"/>
            <Item Value="1.4" X="130" Y="56"/>
            <Item Value="1.5" X="133" Y="75"/>
            <Item Value="1.6" X="131" Y="94"/>
            <Item Value="1.7" X="123" Y="109"/>
            <Item Value="1.8" X="109" Y="123"/>
         </Nonlinearity>
         <Delay DegreesPerSecond="60"/>
      </Rotate>
   </Element>
<Element>
      <Position X="75" Y="75"/>
      <Image Name="ENG_ND.bmp" Luminous="Yes" PointsTo="East" ImageSizes="78,16">
         <Axis X="11" Y="8"/>
      </Image>
      <Rotate>
         <Value Minimum="1.0" Maximum="1.8">5.468 (A:TURB ENG1 CORRECTED N1,percent) 100 / 5 pow * 9.114 (A:TURB ENG1 CORRECTED N1,percent) 100 / 4 pow * - 4.843 (A:TURB ENG1 CORRECTED N1,percent) 100 / 3 pow * + 0.635 (A:TURB ENG1 CORRECTED N1,percent) 100 / 2 pow * - 0.047 (A:TURB ENG1 CORRECTED N1,percent) 100 / * + 1 + 0.05 (A:AIRSPEED MACH, mach) *  -</Value>
         <Failures>
            <SYSTEM_ELECTRICAL_PANELS Action="0"/>
         </Failures>
         <Nonlinearity>
            <Item Value="1.0" X="75" Y="16"/>
            <Item Value="1.1" X="93" Y="18"/>
            <Item Value="1.2" X="110" Y="27"/>
            <Item Value="1.3" X="123" Y="41"/>
            <Item Value="1.4" X="130" Y="56"/>
            <Item Value="1.5" X="133" Y="75"/>
            <Item Value="1.6" X="131" Y="94"/>
            <Item Value="1.7" X="123" Y="109"/>
            <Item Value="1.8" X="109" Y="123"/>
         </Nonlinearity>
         <Delay DegreesPerSecond="60"/>
      </Rotate>
   </Element>



[/code ]


How can I write those reports in the "value"
I have to write individual equations of the straight lines?
 
Last edited:
I have had a similar problem with the VC10. The VC10 uses P7 to indicate thrust. P7 is the measurement taken behind the turbine and in effect is part of the equation that forms EPR.

(L: DM INDEX THRUST, number)
in post 71 comes from David Maltby's BAC1-11. He was trying to simulate P7. However it is way more complicated.
P7 is significantly effected by ambient temperature and pressure. In the code below I have had to resolve two problems.
1. To re-create the graph that indicates the target P7 i.e. the P7 value that the engines "must" reach at either full power or factored power.
2. To create values for the P7 gauges that indicate correctly at idle and at full power.
In both cases ambient temperature and pressure have to be factored in
To save space I have shown only the calculation for engine 1. You should therefore test your EPR at all elevations and temperatures

Code:
<!--P7 corrected Values -->
  
<Element>
      <Select>
         <Value>(A:Ambient Temperature, celsius) 21.5 &gt; (A:SIM ON GROUND, bool) 1 == and (A:PLANE ALTITUDE,feet) 1000 &gt; and (A:PLANE ALTITUDE,feet) 5000 &lt; and
         if{ (A:PLANE ALTITUDE,feet) 2 pow 0.0000006044 * - (A:PLANE ALTITUDE,feet) 0.004518537 * + 3.9141628959 - (>L:lapse,number) (L:lapse,number) abs (>L:lapse,number) }</Value>
      </Select>
   </Element>
  
<Element>
      <Select>
         <Value>(A:PLANE ALTITUDE,feet) 5000 &gt; (A:SIM ON GROUND, bool) 1 == and (L:lapse,number) 2.6 &gt; and
         if{ 2.6 (>L:lapse,number) }</Value>
      </Select>
   </Element>  
    <Element>
      <Select>
         <Value>(L:lapse,number) 2.6 &gt; if{ 2.6 (>L:lapse,number) }</Value>
      </Select>
   </Element>  
 
     
      gradientx modifies the P7 limit calculation
   <Element>
      <Select>
         <Value>(A:Ambient Temperature, celsius) 15 &gt; if{ (A:Ambient Temperature, celsius) 15 - (>L:gradientx,number) (L:gradientx,number) 5 / (>L:gradientx,number) }</Value>
      </Select>
   </Element>
  
<Element>
      <Select>
         <Value>(A:PLANE ALTITUDE,feet) 1000 / 0.966754155730534 * (>L:presslapse,number)</Value>
      </Select>
   </Element>  
   <Element>
      <Select>
         <Value>(A:PLANE ALTITUDE,feet) 1000 / 1.95 * (>L:templapse,number)</Value>
      </Select>
   </Element>

   <Element>
      <Select>
         <Value>(L:lapse,number) 0 &gt; (L:lapse,number) 0 == | if{ (L:templapse,number) (L:presslapse,number) - (>L:part1,number) (L:lapse,number) (L:part1,number) - abs (>L:part2,number) } els{ 0 (>L:part2,number) }</Value>
      </Select>
   </Element>
  
<Element>
      <Select>
         <Value>(A:Ambient Temperature, celsius) 50 &lt; (A:Ambient Temperature, celsius) 25 &gt; and (A:SIM ON GROUND, bool) 1 == and
         if{ (A:Ambient Temperature, celsius) 0.1666666667 * 2.666666667 - (>L:hightempmod,number) }</Value>
      </Select>
   </Element> 
  
<Element>
      <Select>
         <Value>(A:Ambient Temperature, celsius) 0 &lt; (A:SIM ON GROUND, bool) 1 == and
         if{ 1.4 (>L:lowtempmod,number) }</Value>
      </Select>
   </Element>
   <Element>
      <Select>
         <Value>(A:Ambient Temperature, celsius) 33 &gt; (A:SIM ON GROUND, bool) 1 == and (L:lowtempmod,number) 1.4 == and
         if{ 0 (>L:lowtempmod,number) }</Value>
      </Select>
   </Element>
  
   These two elements drive the P7 gauge
  <Element>
      <Select>
         <Value>(A:Turb eng1 pressure ratio, ratio) 1 &gt;
if{ (A:TURB ENG1 JET THRUST, psf) 0.2080825275 * 25.4018837872 + (>L:eng1_P7_curve,number) (L:eng1_P7_curve,number) (L:part2,number) - (>L:eng1_P7_curve,number) (L:eng1_P7_curve,number) (L:hightempmod,number) - (>L:eng1_P7_curve,number) (L:eng1_P7_curve,number) (L:lowtempmod,number) + (>L:eng1_P7_curve,number) } els{ (A:AMBIENT PRESSURE,inHg) 0.02 - (>L:eng1_P7_curve,number) }</Value>
      </Select>
   </Element>     
  
      <Element>
      <Select>
         <Value>(L:eng1_P7_curve,number) (A:AMBIENT PRESSURE,inHg) &lt;
if{ (A:AMBIENT PRESSURE,inHg) (>L:Eng_1_P7,number) }
els{ (L:eng1_P7_curve,number) (>L:Eng_1_P7,number) }</Value>
      </Select>
   </Element>  
  



  These calculations set the placarded P7 limit which the engines must achieve at full power

   <Element>
      <Select>
         <Value>288.15 (A:PLANE ALTITUDE,feet) 1000 / 1.98 * - 288.15 / 4.905 pow 73.8 * (>L:P7_limit, number)</Value>
      </Select>
   </Element>
  
  <Element>
      <Select>
         <Value>(A:Ambient Temperature, celsius) 0 &lt; if{ (L:P7_limit, number) 1.4 + (>L:P7_limit, number) }</Value>
      </Select>
   </Element>
  
  
      <Element>
      <Select>
         <Value>(L:gradientx,number) 0 &gt; (L:gradientx,number) 0 &lt; |
         if{ (L:P7_limit, number) (L:gradientx,number) - (>L:P7_limit, number) }</Value>
      </Select>
   </Element>


<Element>
      <Select>
         <Value>(A:Ambient Temperature, celsius) 32 &gt; if{ (L:P7_limit, number) (L:hightempmod,number) 2 / - (>L:P7_limit, number) }</Value>
      </Select>
   </Element>
     
    
     
    This stops the placarded P7 limit changing after take-off 
     <Element>
      <Select>
         <Value>(A:SIM ON GROUND, bool) 1 == if{ (L:P7_limit, number) (>L:P7_limit_fix,number) }</Value>
      </Select>
   </Element>
 
Back
Top