From Angular Velocity to rpm

Started by
3 comments, last by jujunosuke 11 years, 12 months ago
Hi all,

In my car simulation i have change a lot of settings and i am trying a new approach.
I try to simulate an Engine and then get the resulting speed of the wheels.

Here is what i have done so far, but i don't think that my engine_rpm calculation is correct..
I try to calculate it from the engine angular velocity.


var maxTorque = getTorqueCurve( getRPMEngine() ); //This function return a Torque at a given rpm ( rpm minimum is 1000 )

engineAngularAcceleration = maxTorque / getCylinderInertia( 1000, 0.5 );
engineAngularVelocity += engineAngularAcceleration * TIME_STEP;

var rps_engine = engineAngularVelocity * Math.PI * 2;
rpm_engine = rps_engine * 60;


Any help to clear this out would be welcome.
Thank you very much.
Advertisement
What seems to be the problem? Do you have an example of a situation where that code produces a clearly absurd output?

And why did you call that variable `maxTorque'? Isn't it just `torque'?
To convert from rad/s to rpm this is the macro I use:

#define RADS_TO_RPM(a) ((a)/(PI*2.0f)*60.0f)

So ya, your calculation is wrong.

Stefano Casillo
TWITTER: [twitter]KunosStefano[/twitter]
AssettoCorsa - netKar PRO - Kunos Simulazioni

kunos is right:

var rps_engine = engineAngularVelocity * Math.PI * 2;

should be

var rps_engine = engineAngularVelocity / (Math.PI * 2);

But please use functions instead of macros.
What seems to be the problem? Do you have an example of a situation where that code produces a clearly absurd output?[/quote]
I don't have totally strange output but, any wrong calculation will lead to wrong simulation of course...

And why did you call that variable `maxTorque'? Isn't it just `torque'?[/quote]
Yeah, This is just an example, in fact, i have some previous calculation with the variable torque, but anyway..

Thank you Kunos my master ! :D
And thank you alvaro.

I really appreciate both of your help !
Thanks again !

This topic is closed to new replies.

Advertisement