Can we make vehicle motor simulation more realistic?

Join the discussion
Registration is free. Ask a follow-up in this thread, or start your own.
4 replies · 3K views
Towel
Messages
2
Reaction score
0
Hi.
We have a problem, we need to simulate the engine and transmission of a car in our project.
Now we take rpm of the wheels and on the basis of it we calculate engine's rpm
Code:
RPM = RpmFromWheels * Gear * MainGear
and then we calculate and apply force from engine to the wheels.
Code:
EngineForce = Throttle * getTorque(RPM) * Efficiency * Gear * MainGear
Is there any way to make it more real?
 
Physics news on Phys.org
The engine efficiency depends on both the engine RPM and torque. The best information on this is contained in BSFC (brake specific fuel consumption) maps that are measured on engine test stands. Dynamometers can also measure BSFC maps. See (Maps are usually plotted as torque (Newton-meters) vs. RPM.)

http://en.wikipedia.org/wiki/Brake_specific_fuel_consumption

Transmission efficiency is rarely published. Automatics are nominally about 85% efficient (which is why they need water cooling). Manuals are typically 96% to 98% efficient.

Bob S
 
You got me wrong, but thanks anyway, this article will useful later.
I was referring to a more realistic way of calculating engine RPM, not as now, through the
wheel RPM.
 
Estimating the actual gear ratio of an automatic transmission is very difficult, because the torque converter "slips" . How do you plan to do it? Also, this statement

EngineForce = Throttle * getTorque(RPM) * Efficiency * Gear * MainGear

needs to be modified to

1) Include the fuel consumption rate. I don't believe you can get the input power (fuel burn rate) from the throttle position alone.

2) Make the engine efficiency call a function of both RPM and torque [getEfficiency(torque,RPM)].

Bob S
 
Towel said:
Code:
EngineForce = Throttle * getTorque(RPM) * Efficiency * Gear * MainGear
That should be:
Code:
RearWheelTorque = getEnginetTorque(RPM, Throttle) * Efficiency * Gear * MainGear

The function gettorque(rpm, ...) needs to include throttle position, unless you assume full throttle application.

Might as well start with engine rpm:
Code:
RearWheelRpm = EngineRPM / (Gear * MainGear)

Then add:
Code:
RearWheelForce = RearWheelRPM / RearWheelRadius

Code:
RearWheelSpeed = RearWheelRPM * RearWheelRadius

Bob S said:
The engine efficiency.
I'm pretty sure that efficiency in this case referes to drivetrain efficiency.
 
Last edited: