SFC at different power settings (piston)

How to adjust fuel flow in piston engines in the engine.cfg at different power settings? The only values I can find are 2: fuel flow scalar and specific fuel consumption, but that doesn’t take into account different SFC at different power settings. Can I change the SFC for different power settings? Or is there an alternative way to do this?

Fair warning: I have absolutely no idea how fuel consumption is implemented in MSFS. However, one has to assume that they have attempted to use a simplified algorithm that would produce acceptably accurate results.

If I were to figure out an algorithm for piston engines for instance, I would probably base it on the assumption that the vast majority of fuel used in a complete flight is in settings in a relatively narrow RPM band and a relatively narrow manifold pressure range. Ergo, for most of the flight, using a single SFC number close to the “best” SFC for the engine (full throttle at the max torque RPM) and “tweaked” with a “fudge factor”/scalar would probably give quite acceptable results. The increased accuracy to be obtained by fully mapping and using the SFC based on RPM and manifold pressure for every minute that the engine is running would likely not be worth the effort required.

Obviously I do not expect to be able to select a different SFC for every power settings, but setting a few and let the sim interpolate between them would probably won’t be too difficult and would give more accurate fuel burns, which infact are wrong for the vast majority of default and add on aircraft.

Indeed I think there are some simple changes that can be made to improve accuracy of fuel consumption. I believe that for piston singles, the aircraft are largely (but obviously not exclusively) operated in one of two distinct zones:

i) Idle/taxi
ii) Cruise

In a quick search I have not found SFC curves for a light GA aircraft piston engine. And recognise that I think inaccurate SFC numbers in the sim likely contribute significantly to inaccurate fuel burn numbers.

However, for gasoline internal combustion engines I believe the following is fairly representative of what you can expect. Note that, because of the low RPM and low state of tune, aircraft engine torque curves are flatter than most, leading to SFC that varies less than the average car engine for instance.

Given that: In principle I think using one SFC number for climb, cruise and descent is likely accurate enough for most purposes. SFC values do not vary wildly between say 60% and 80% power. So if you pick a “good” SFC number representative of around 70%, power I suspect you would be less than 5% out in overall fuel burned for climb, cruise and descent. The only adjustment that is likely worth the effort is to bump up the SFC by say 50% once you drop below an arbitrary power level. Maybe something like power < 40%?

And just to get a feel for the effect of significantly higher SFC at idle/taxi power while using one universal SFC throughout, I did a hypothetical flight profile to see what order of magnitude kind of error one MIGHT expect.

Of course, this includes a lot of assumptions and would apply to only one flight profile. Generally speaking, the longer you stay at cruise settings and the less time you spend at idle/taxi, the smaller the error. So I by no means suggest that this is anywhere near accurate. But at least it gave me a “feel” for the order of magnitude one can expect. And I made all the assumptions variable in the spreadsheet so it is easy to do some “what ifs”. Also FWIW, keeping other assumptions the same and reducing the cruise time to 1 hour increases the error to around 6.5%.

So IF this is sorta-kinda what one could expect and IF you bump up the low power SFC by 50% you could quite possibly reduce the error to really trivial values.

Mental games only though, not to be taken TOO seriously… :grinning:

1 Like

Thanks for the comprehensive reply. I think that a SFC_to_power table would be very easy to implement and give very accurate fuel flows for many different flight conditions. Something similar is already available for turbine engines in the sdk so I don’t see the big deal in implementing it in a piston engine too. Same thing can be said about power losses in multigear supercharged engine, where only one power loss value can be specified for all gears.