Table 1505: What it was intended to do and how it should be set up

Table 1505 was intended to work as a corrected fuel flow parameter that would allow the modeling of variable fuel consumption based on mach (Ram drag varies by mach, reducing fuel efficiency.)

This is what a properly modeled table for an example turbofan would have looked like:





If you take the x value and multiply it by static thrust * (total pressure ratio / sqrt total temperature ratio) you get the correct fuel flow rate at any altitude, temperature, or mach. In the image, the x value shown is 0.3030. This engine produces 25000 pounds at that CN2-->CN1 RPM. So at static sea level

25000 * 0.3030 * (delta2/sqrt(theta2)) = 7,575 pounds/hr

At Mach 1 and 36,000 feet under ISA conditions, fuel flow would be calculated in a similar manner.



But since the table is also used to affect "Spool rate vs RPM", which should be it's official name, this is what the table should look like:





The distance between each line is the time the engine will take to reach the next CN2. Perfectly horizontal lines will never reach the next line, while vertical lines will reach the next CN2 instantly. To slow the spool rate down, simply add more time (x value) between two lines.

When adding/removing time, you need to maintain the interval between lines for any segments that are already correct.

The actual x values will depend on fuel_flow_gain setting in the aircraft.cfg file and table 1501 (be sure to set both). A setting of 1.0 is equal to x=2,048 per minute. Most engines, taking 30-50 seconds from start to full throttle, will use a top value between 1200-1700 * fuel_flow_gain.


I recommend starting from engine start RPM and editing CN2 lines (Y values) from least to greatest.


X= 0 should always be at Y = Highest fuel on RPM There should be no Y lines below fuel cut on.


This renders corrected fuel flow useless, but MSFS never used corrected fuel flow anyway.

I can't be sure, but I suspect the MSFS programmers tried to make it work but realized too late that the engine spooling was coded with the CFF. I would imagine it is easier to change fuel calculations to rely on thrust than to write a whole separate spool code. Or they realized it is completely useless if table 1506 does not work properly. No one will ever know, but in any case, the corrected fuel flow has no effect on actual fuel flow drained from tanks. It should, as MSFS is using corrected fan speeds and corrected thrust....correctly. No pun intended.




For reference, the table used above is:

x=0, y=23 CN2 (Lowest ignition CN2)
x=250, y=25 CN2
x=450, y=30 CN2
x=600, y=40 CN2
x=680, y=50 CN2
x=760, y=60 CN2 (you should be around idle RPM here)
x=830, y=70 CN2
x=890, y=80 CN2
x=990, y=100 CN2
x=1100, y=120 CN2


Remember Y = CN2 that will change at the rate of X slope. x=0 is engine light up. Also, I use "fuel_flow_gain=1.000" in my cfg files and table 1501 spool rate when setting up this example.


Edit: Keep in mind that 1505 controls CN2 while we typically are measuring our spool rate by watching CN1. You should watch CN2, because CN1 spool rate is affected mathematically by table 1502, CN1 vs. CN2. That can change things and cause confusion. If CN2 is correct, but CN1 is not, the problem is with table 1502, not 1505.
 
Last edited:
One small note... record 1501 is marked as obsolete and thus not really necessary in the .air file. So for those .air files that one opens and finds no 1501, don't panic.. this process will still work fine to set up engine spooling.
 
So... have a question... just trying to ensure I understand this stuff... imaginary numbers below:

fuel_flow_gain = 1

x = 0, y = 20
x = 0.1, y = 28.8
x = 0.2, y = 37.7
x = 0.3, y = 46.6
x = 0.4, y = 55.5
x = 0.5, y = 64.4
x = 0.6, y = 73.3
x = 0.7, y = 82.2
x = 0.8, y = 91.1
x = 1.0, y = 100.0

Based on those values... it would take 6 seconds per x value which would result in reaching 100% CN2 in 60 seconds? Or have I not grasped what you're saying?
 
I think the 60 seconds would be from start to full throttle. Or from light-up to full throttle.
Many simmers have the problem of engines surging on start-up and this approach cures that.
You can also adjust the vertical lines to produce time from idle to full throttle. In my cas 7.3 seconds.
The only other problem I have now is perhaps a different issue. If I choose instead to throttle up to 96% instead of to105% then the time from idle is doubled. My throttle position is midway at 96%. So I need to discover how to address that.
vololiberista
 
Based on those values... it would take 6 seconds per x value which would result in reaching 100% CN2 in 60 seconds? Or have I not grasped what you're saying?

Your numbers would reach 100% in approx 0.02 seconds.

At fuel_flow_gain=1.0, from x=0 to x=2048 is one minute, so 34.13 "x" per second.

Using the values you have would require fuel_flow_gain=0.00048828 to equal one minute at x = 1.0

You have to think backward. x = distance in time. If x = 2048 is one minute, then for x = 1.0 to be one minute we must divide 1.0 / 2048 which results in fuel_flow_gain=0.00048828. If fuel_flow_gain=2048, then x=0 to x=4,096,000 is one minute.

That being said, time will not be consistent because MSFS is also mimicking fuel sprayers and the electronic fuel system logic. So while the 2048 above works to establish a good curve, it changes dynamically in the sim based on throttle position and capture mode of the system.

The further away the RPM being captured, the more FS accelerates the spool rate and vice versa. The spool rate is interpolated to achieve a smooth spin up---constant---spin down (accelerate--constant rate---decelerate).

During the constant segment, the 2048 = one minute applies, but not anywhere else. The net effect of all three segments will require tweaking on your part to get the timing you want between start up (where throttle is normally set to idle, slowing spool some) and normal throttle use. Anytime the throttle is further from the current RPM, spool will be faster than normal. Small changes in throttle will result in slower, smoother changes in RPM.

This causes the problem vololiberista was describing in the other thread where if he advances throttle to takeoff power (96%) the engines are slower to spool than if he advances the throttle to full then retards back to 96% to "meet" the RPM at 96%. It's similar in performance to the common Cruise Control feature on a car deciding how much gas to give during acceleration. The further the target, the more gas is applied.

I typically plan start up and normal use separately for this reason.
 
Ok... something's not quite right...

I have REC1505 with the following values:
Record: 1505 *!Turbine Corrected Fuel Flow vs CN2
Points: 10
0.000000 20.000000
239.000000 30.000000
459.000000 40.000000
596.000000 48.500000
680.000000 50.000000
950.000000 60.000000
1200.000000 70.000000
1400.000000 80.000000
1600.000000 90.000000
1800.000000 100.000000

I have fuel_flow_scalar set to 1.

Based on these values, it's my understanding 48.5% CN2 should be reached in about 17 seconds. Yet... when I start the engine, it starts at 20% CN2 as expected... and then takes literally hours to get up to idle speed. Where have I gone wrong? What have I missed?
 

taguilo

Resource contributor
Ed,

I think you need fuel_flow_gain set to 1.0.

As turboprops have 1505 hard coded, I am using Simconnect to handle Throttle-CN2, which indeed works much like the real engine behavior, meaning I don't have more overshootings and fan rollbacks. This does happen with turb engines using 1505 and is very unrealistic (even though it can be moderated by shaping the curve as per jx_ example). Real Turb engines has a minimal rollback when power is changed, being the most noticeable at startup until fan stabilizes. FCU are very efficient and let the pilot position throttles as to obtain the exact power desired, without spikes and disturbances -even when smashing handles all way up- In turboprops, the worst effect is an unstabilized torque on take off, which forces the pilot "guess" throttle position as to avoid overshooting max ToTO.
Still a work in progress, but doing well so far :)

Tom
 
Ed,

As pointed out by Tom, please confirm it is fuel_flow_gain=1.0 and not fuel_flow_scalar.

fuel_flow_scalar = TSFC in FSX
 
What I'm trying to obtain is an engine start that fuel begins at 20% CN2... and is at idle at 48.5% CN2 in 18 seconds from starter on. With no surging over the idle CN2 value. CN2's max is 101% and the engine goes from 22.5% CN1 idle to 90.7% CN1 in about 5 seconds or so.
 
okay, good. You're almost done, but it sounds like this is what you missed:

jx_ said:
That being said, time will not be consistent because MSFS is also mimicking fuel sprayers and the electronic fuel system logic. So while the 2048 above works to establish a good curve, it changes dynamically in the sim based on throttle position and capture mode of the system.

The further away the RPM being captured, the more FS accelerates the spool rate and vice versa. The spool rate is interpolated to achieve a smooth spin up---constant---spin down (accelerate--constant rate---decelerate).

During the constant segment, the 2048 = one minute applies, but not anywhere else. The net effect of all three segments will require tweaking on your part to get the timing you want between start up (where throttle is normally set to idle, slowing spool some) and normal throttle use. Anytime the throttle is further from the current RPM, spool will be faster than normal. Small changes in throttle will result in slower, smoother changes in RPM.
I measured the timing (2048/sec) during what I 'call' the steady rate spooling phase. Because the SIM is trying to simulate the engine's reaction to a fuel sprayer controlled by an electronic fuel system, you get 3 phases: accelerate, steady rate spool, and decelerate.

The actual timing in the SIM changes depending on distance to/from target RPM and throttle position. 1505 is a basic chart of what the overall time would be if the acceleration/deceleration was not manipulated by the SIM. Table 1505 gives the SIM the spool rate of change between two points, not overall time between two points. This is a very important distinction. If the rate of change between two points is 1%CN2 per second it will travel 60% per minute, but if the overall time is one minute it will travel whatever that distance is in one minute. This is further complicated when the SIM modifies the rate on the fly:


If you were to take what you already have and start the engines with full throttle, the spool rate from 20% would more than likely be too fast (try it...it is helpful to visualize and doesn't take any of your time.)

If the SIM sees a closer RPM target, it decreases the "virtual fuel pressure" to smoothly capture the RPM. If the SIM sees a farther target, it accelerates (by modifying) the acceleration rate (mimicking greater fuel supply). MSFS throttle is directly linked to the fuel injectors, as if it was the accelerator pedal in a car with a carburetor. If you advance the throttle to idle + 10% or idle +80% you will get different overall times. But the SIM is targeting the rate of change in 1505.




The simple solution is to focus on getting your throttle response set correctly for the running engine range first...

the engine goes from 22.5% CN1 idle to 90.7% CN1 in about 5 seconds or so.
Set this up first, then tweak out anything you don't like or that doesn't feel perfect. After that's complete you can go back and tweak the startup RPM with a stopwatch if needed by adjusting those segments.

If you have access to real data for your engine, set your timing to the acceleration rate of the fastest free spooling portion of an RPM range. Not the overall time between two RPM, but what the overall time would be between those RPM if the acceleration/deceleration was instant. You want to neglect accel/decel when setting up table 1505, then let FS apply those changes in real time.


an engine start that fuel begins at 20% CN2
Check. You're good here.

With no surging over the idle CN2 value
Check. This is complete as well. However, after a quick glance of the numeric table, it appears your rate of spool from 48.5 to 50 may be on the slow side.

Which engine is this out of curiosity?

CN2's max is 101%
This will not work as is. Your table needs to exceed this number. Depending on your goal, and applying the knowledge of the deceleration from above, you may need a very steep segment from ~97% - ~102%.

If your engine is intended to struggle to reach this number, set your max to 101%. If your engine should reach 101% with no problem whatsoever, then you will need to trick the sim. See next post I am about to write! (vololiberista was having this issue as well...)

at idle at 48.5% CN2 in 18 seconds from starter on
Once you get everything else right, tweak this to get the in SIM result you want.


Please post an image of your 1505 as well for easier recognition.
 
Okay, Ed and Vololiberista:

I think I have came up with a solution to the top RPM problem. I haven't had a chance to test it so you guys will need to let me know what happens.


If you need your top RPM to be easily reached and maintain responsiveness by the engine:

Add one more line to your 1505 table at the high end.

If your target max RPM is 105% CN2, set the last y line to 110.0%, and your second to last to 105%.

Make sure your throttle is properly set up vs CN2 to allow you to reach, but stop you at 105%.

Set the x value of both to be the same. The lines will overlap creating a vertical final segment.


Test in the sim and let me know if it does anything stupid!
 
Ok... these values:

Record: 1505 *!Turbine Corrected Fuel Flow vs CN2
Points: 10
0.000000 20.000000
0.190000 30.000000
0.380000 40.000000
0.420000 48.500000
0.500000 50.000000
0.600000 60.000000
0.700000 70.000000
0.800000 80.000000
0.900000 90.000000
1.000000 100.000000

They give me exactly the throttle response/spool time I seek for every aspect except startup. So, the question is... how do I fix the startup portion?

As for the 101% CN2... the engine is rated to that... but the FADEC prevents it so shouldn't be an issue for me.

I'd tell you the engine, but... I can't discuss it publicly.
 
Looks like you changed your gain again?

To fix the startup, make sure to maintain the distance between all the points that are good. If you shorten a segment at 10%, you will need to shorten the x value equally for all points above 10%.


0.420000 48.500000
0.500000 50.000000 <<< difference of 0.08 must be maintained.


To speed up the starter process, you would need to shorten the x lengths for RPM you want sped up by some percentage, then move all the regions you don't want to change by +/- equal x values.

0.370000 48.500000
0.450000 50.000000 <<< difference of 0.08 remains the same, while some previous segment was shortened by 0.05.
 
No I left the gain at 1... and it's giving me exactly the throttle response I'm needing with zero overrun.

Ok... what I've got are the following values at the moment and everything is perfect except one thing... when the engine is started, CN2 overshoots and I'd like that to go away. Am I asking for too much?
 
Last edited:
No I left the gain at 1... and it's giving me exactly the throttle response I'm needing with zero overrun.

Ok... what I've got are the following values at the moment and everything is perfect except one thing... when the engine is started, CN2 overshoots and I'd like that to go away. Am I asking for too much?
not at all. but i would need to see the table.
 
Set up the table as suggested, but two problems. One the spool-up to 68% was even slower than before. The other problem at the top end is at full throttle, once n2 has reached maximum allowable thrust (in my case 105%n2) it flicks back and forth from 105%-110%. The time to 105% is as before. It seems your fix doesn't affect the actual spool up time to throttle postion. except from idle to full.
vololiberista
 
There is also another anomaly. If from a standing start (i.e. brakes on until 85%n2) I command full throttle the a/c itself will accelerate quickly not only to V1 but to rotate as well.
If I on the other hand command only up to 96% rotate comes much later using up almost an extra 1,000ft of rwy!!!
The solution (temporary if I can get your fix to work) is to command full throttle and then set it back to 96%. Then the a/c acceleration to V1 and rotate is normal as in the first example.
vololiberista
 
Top