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

MSFS20 HP vs RPM

Messages
256
Country
germany
Heya friends,

I'm currently developing an aircraft with a fixed pitch prop and a 82 hp piston engine for MSFS using the new prop system and CFD and I'm struggling to get the basic numbers right.
Efficiency and friction scalars are so far all set to 1, I got the mechanical_efficiency and friction_table so far tracked down that I get correct RPM readings at the given airspeeds and throttle settings (except idle, but more on that later), but HP is way too high, at about 162% of the target hp at full throttle.
I understand that editing the efficiency and friction tables will reduce hp, but at the same time it decreases RPM. The SDK is not very clear to me in that regard so I'm a bit at a loss as to where I should look to properly scale horsepower vs RPM. The prop pitch and prop aspect ratio settings should be fairly correct so I would apprechiate a hint or two...

Other thing, idle settings. As soon as I get the idle RPM below something like 500 RPM, the engine just dies. It should idle at about 230 RPM. Again, not sure where to look at.

On a sidenote, I'm not planning to do the FM's myself for release, just trying get the plane to fly somwhat believable during the developement process and to understand the basics so I don't look too stupid.:rotfl:
 
Last edited:
RPM = Horsepower * 5252 / torque... rewritten... Horsepower = torque x RPM/5252. Based on your post, I'd say your torque values are incorrect.
 
OK, thank you!
Seems I'm missing a lot there.
If I get the SDK right there's no straight way to define or set torque, but rather it's made up of cylinder displacement, compression ratio and numbers of cylinders, but how would I get a calculable number out of those values?
I see the related formulas mention CylinderTorque at various places:
Torque = power_scalar * ((CylinderTorque * engine_mechanical_efficiency_table) - (CylinderFriction * OilViscosity))
So where's that guy hiding?;)
 
I haven't looked at any of the entries for MSFS2020... BUT, in FSX/P3D there were entries under [piston_engine]. They were max_rated_rpm and max_rated_hp. Torque is derived from this formula:
torque = Horsepower/(RPM/5252)

So, if you set your maximum HP and maximum RPM... maximum torque will be correct.
 
Thanks again WarpD,
the piston_engine parameters are still there in MSFS but I'm afraid it's not so straight forward.
max_rated_hp is not used to set max rated hp, LOL, it's merely used for EGT calculations and fuel flow rate:
My values (HP/RPM, cylinder displacement, compression ratio, number of cylinders) are all set according the POH and engine service manual.
The SDK advices to use engine_mechanical_efficiency_table, engine_friction_table and their respective scalars to tune torque but whatever I do so far with these tables, it always decreases or increases output hp and RPM at the same time so I wonder what parameter I'm missing.
In other words, by editing these both tables I either get correct RPM's at too high HP or correct HP at way too low RPM.

On a positive note, I've been able to tweak my idle setting successfully.;)
 
Last edited:
Do the actual math. In Excel, on paper... something. Make certain your "correct values" actually work in the formula. If they don't... then they're not correct. The formula is immutable. All mechanical engines adhere to it in the real world... and so should the sim. As for it not being used... this SDK page does not state that.
 
Ok, I've read the SDK a bit more... and I have no idea what the bleep ASOBO is thinking... but, their approach to obtaining correct horsepower does not match any premise I've ever seen on how a piston engine actually functions. They're telling you to use the power scalar to control max HP. Which is the dumbest approach I could have thought of. It essentially ignores how a piston engine actually produces horsepower and instead uses a "crutch" to come up with a reasonable number.

Yet another reason to not do MSFS2020.
 
...and that's exactly why I'm banging my head against the wall.:banghead:
Thanks again for trying to counter that mess with logic.:rotfl:
 
Anyway, I'll keep dabbling when I'm back home in the evening, now that you taught me how to calculate torque.
Who knows, maybe there's some sense in all that and I can use this formula to actually get me somewhere:

Torque = power_scalar * (CylinderTorque * engine_mechanical_efficiency_table) - (CylinderFric * OilViscosity)
 
Sure... where does CylinderTorque come from?

This line from the SDK is probably more telling... "compute work and shaft torque from it." Work would be horsepower (unless they mean something totally abstract)... and shaft torque would be based on horsepower and RPM.
 
Ok, I've read the SDK a bit more... and I have no idea what the bleep ASOBO is thinking... but, their approach to obtaining correct horsepower does not match any premise I've ever seen on how a piston engine actually functions. They're telling you to use the power scalar to control max HP. Which is the dumbest approach I could have thought of. It essentially ignores how a piston engine actually produces horsepower and instead uses a "crutch" to come up with a reasonable number.

Yet another reason to not do MSFS2020.
I think if you look into it a little more deeply, you'll discover that to change anything, they had to break everything, essentially because BAO never provided the source code. Anything Asobo hasn't outright replaced, still exists, so we're left with the broken off little snippets and Band-Aid solutions. "Cylinder torque" in auto/motorcycle tuning, is determined by the ratio of connecting rod length, to cylinder bore, such that long stroke, narrow crown engines are "stump pullers," think Harley Davidson. They do not rev incredibly high, whereas short stroke or "over bored" engines have very little pull, need a lot of gears, have very high horsepower and high, usually smooth, revving engines.

It seems easy enough to realize that long stroke engines, will also have the highest compression ratios and that "cylinder displacement," provides a metric that does not include the stroke to bore ratio. Glancing through the discussion, it looks like Asobo has maybe changed some terms.

Oil viscosity is an important value when tuning engines, because the most viscous oil provides the most protection, as well as internal drag. This is why multi vis oil is so popular, another Band Aid solution, but in the case of tuning Asobo engines, oil viscosity may be a way to induce friction, such that spinning flywheels stop spinning.

Just yesterday I tried out a $12 helicopter someone was selling on Marketplace. When I shut down the engine, it took over an hour for the blades to stop spinning, pretty comical and it seems like that engine could stand some higher viscosity. Hope this helps.
 
I think you missed the point of my question... where are THEY coming up with that value?

Also... this statement: "BAO never provided the source code." is not valid. From the "History of Microsoft Flight Simulator" Wiki:"In November 1995, Microsoft acquired the Bruce Artwick Organization (BAO), Ltd from Bruce Artwick. Employees were moved to Redmond, WA, and development of Microsoft Flight Simulator continued."
 
Not really, but allow me to elaborate. I've not really studied the Aircraft Editor, although I have run a few models through it. If I'm not mistaken, mostly performance values are used to define engine characteristics and I am almost certain engine crankshaft stroke length, is not a defining value. However stroke, in relation to bore, absolutely and fundamentally affects engine characteristics, performance and output. By adding an arbitrary "CylinderTorque" value, they have effectively added crankshaft stroke length, as a variable, without requiring the developer to conform to the actual physical dimension. In other words, you could have a high revving, high horsepower engine, that was also extremely torqy, just by increasing that value.

As to FSX, yes development continued, because we certainly could add things to the sim. You didn't notice the glaring absence of a suitable .bgl decompiler, the need of which haunts us today, despite the best efforts of developers like Pat Germain?
 
The million dollar question remains: How to put all that into a usable formula and where to past the values?
Okay, I'm the rookie here when it comes to FM's so I'm free to randomly crunch numbers.
Decreasing power_propeller_absorbed_cf along with adjusting engine efficiency and friction tables somewhat brought me into the ballpark of where I want to be.
I now have RPM vs HP values close, although of course I don't know what I'll break elsewhere with it. :stirthepo
 
The million dollar question remains: How to put all that into a usable formula and where to past the values?
Okay, I'm the rookie here when it comes to FM's so I'm free to randomly crunch numbers.
Decreasing power_propeller_absorbed_cf along with adjusting engine efficiency and friction tables somewhat brought me into the ballpark of where I want to be.
I now have RPM vs HP values close, although of course I don't know what I'll break elsewhere with it. :stirthepo
Hello. Did you get te right parameters for you aircraft?. I’m struggling with a problem similar to yours. I’m trying to set up a fixed pitch prop. I got the Idle RPM and the maximum RPM displaying Ok, but the problem is that when in flight I cannot get the rpm reduced even in Idle position. The RPM decreases just a little bit. Of course I’m a begginer. Like you Im banging my head against the wall. :p I know this post is a little old, but Maybe you are now an expert in this . Another point is that if I set the Prop to Constant Speed the engine reduces to Idle in flight normally, but I couldn’t get the right Min and Max RPM numbers in this mode. Any help would be appreciated! Thanks in advance :)
 
Back
Top