08-01-2009, 07:19 PM
|
#1 (permalink)
|
|
101% win
Join Date: Dec 2007
Location: Where I live
Posts: 891
Thanks: 13
Thanked 3 Times in 3 Posts
|
A decent acceleration calc
I was interested in approximating how much adding a X lb/Y hp electric assist system would shave off my 0-whatever times. The problem is, most 0-60, or 0-anything really, calculators I've found online are wayyyy off. Then I remembered that someone had formalized acceleration already, so all I had to do was plug and chug. That said, it's a bit jumpy and there's at least one typo, so I figured that messing w/ latex never hurt, and pumped out some intermediate steps.
We start out w/ the tried and true,

Scourge of introductory physics students everywhere.
Then, since we're looking for acceleration in terms of speed, we divide power by speed to get force.
We also know acceleration is just the instantaneous change in velocity over the instantaneous change in time, so w/ some substitution we get...
And a bit more algebra gets us.
Integrate both sides and we get time as a function of velocity.
Which is...
In terms of rolling/aero drag. With tau*v being the power generated by the engine assuming the torque curve is flat. Finding tau is easy enough, just divide peak power output by the maximum speed in whatever gear we're in. We can even get a power curve for a powertrain that doesn't have a flat torque curve, although that's an exercise for the reader.
Now, the problem is, that looks pretty nasty, so we simplify the coefficients...

Pop it into Wolfram's online integrator, and... BAM!
Still looks kinda nasty, eh? The arctan of imaginary numbers? Bleh. That's O.K. We're lazy, and we know it, and we also know about this nifty free little math program called octave, available for *nix and windows. We grab that, and can now evaluate this little SOB easy peasy. The only thing easier would be if I made a program w/ this algorithm in octave, which I hope I'll get around to later, but I figure this is good enough for a start.
Now we have an accurate approximation of acceleration in whatever gear between whatever speeds, which is great for those interested in dropping in an electric motor or hybridizing who want to get an idea about performance, as well as anyone who wants to see what changes in HP/weight will do for acceleration. As a double bonus, accelerating for a while in whatever gear at higher speeds may also allows us to calculate the drag area with greater resolution, and for those of us who don't know what our drag area is, the manufacturer's 0-60 times, along with some educated guesses, can result in a decent approximation of it. Also, if torque isn't flat resulting in a non-linear power curve, tossing in a polynomial for engine power doesn't change the outcome much, so we can deal with all sorts of drivetrain combos, even a shot of nawzzz, brah.
P.S. It seems pretty accurate too. I plugged in the numbers for my mercedes project, assumin Crr=.1, drivetrain efficiency is 85%, given the different speeds in gear and curb weight, and in order to get a 0-60 time of 27.2s, plus the time needed for 3 shifts, which is supposedly boardline line for .6s shifts, for the stock 29s 0-60, I had to go with a CdA=.75m^2, which seems about right since it's has a little less reference area than the Camryaro, and almost certainly a higher drag coefficient based on looks alone, so overall the drag area should be a bit higher. Fooling around w/ it also shows how halving the drag area can substantially reduce the time needed to accelerate at higher speeds. For example cutting the drag coefficient of the average small pickup truck in half would shave nearly 10s off of the truck's 0-80mph time, and 5s off of it's 60-80mph time.
Edit- physicsforum took out my bandwidth stealing butt, so I'll host the latex images someplace else later.
Last edited by roflwaffle; 08-21-2009 at 02:31 AM..
|
|
|
|
08-01-2009, 08:17 PM
|
#2 (permalink)
|
|
Master EcoModder
Join Date: Jul 2009
Location: Tucson, AZ
Posts: 430
Vibe - '09 Vibe Base (2ZR-FE) 90 day: 35.23 mpg (US)
Thanks: 0
Thanked 10 Times in 10 Posts
|
...and, the s-i-m-p-l-e answer is...what?
__________________
...and the Devil said: "...yes, but it's a DRY heat!"
|
|
|
|
08-01-2009, 09:46 PM
|
#3 (permalink)
|
|
101% win
Join Date: Dec 2007
Location: Where I live
Posts: 891
Thanks: 13
Thanked 3 Times in 3 Posts
|
Plug and chug baby. You may have to tweak the expression for engine power if the torque curve isn't more or less flat, but that's the only thing to do, everything else (speeds in gear, curb weight, hp, rolling resistance, and aero drag) is plug and chug.
|
|
|
|
08-02-2009, 04:39 AM
|
#4 (permalink)
|
|
101% win
Join Date: Dec 2007
Location: Where I live
Posts: 891
Thanks: 13
Thanked 3 Times in 3 Posts
|
Alrightly, I have some primitive code for some really convenient plugging and chugging. This is only for acceleration in one gear, so to find acceleration to some speed, you will need to add all the different times for acceleration in each gear you need to get to whatever speed, plus the shift times. It also assumes a relatively flat torque curve, so if someone's engine/motor's torque curve isn't flat, they'll have to modify the code.
Anyhoo... Install octave, and use a file editor to open the accelcalc.m text file, and paste this in there.
Code:
function z = accelcalc( mass, drag, roll, spd1, spd2, spdt, power, eff)
% accelcalc (mass, drag, roll, spd1, spd2, power, eff)
% A calculator to estimate acceleration in one gear given a motor/engine with a flat torque curve
% Inputs:
% mass = the mass of the vehicle in kilograms
% drag = the drag area (CdA) of the vehicle in square meters
% roll = the force associated with rolling friction (CrrW) in Newtons
% spd1 = the starting speed in gear in meters per second
% spd2 = the ending speed in gear in meters per second
% spdt = the top speed in gear in meters per second
% power = peak power in Watts
% eff = the vehicle's drivetrain efficiency (~85-90% at WOT for most vehicles w/ a manual transmission)
p1=(power*eff)/spdt;
x1=atan((sqrt(drag)*spd2)/sqrt(roll-p1));
y1=sqrt(drag)*sqrt(roll-p1);
a1=x1/y1;
z1=-mass*a1;
x2=atan((sqrt(drag)*spd1)/sqrt(roll-p1));
y2=sqrt(drag)*sqrt(roll-p1);
a2=x2/y2;
z2=mass*a2;
z=z1+z2;
endfunction
Close (at least save) the accelcalc.m file with your text editor, navigate to the directory the text file is in if you aren't already there, start octave (type octave in aterm for me) from the command line or however, and run accelcalc( these, are, my, inputs, for, this, calc) using the different vehicle characteristics needed. All the info on each variable is in the accelcalc.m file, or type help accelcalc on the octave command line to print the help info.
For instance, the (not my yet) Mercedes 190dc weighs in at 3000lbs, which is 1360kg (I use onlineconversion.com for the conversions, but y'all can use whatever works), has a drag area of about .75 square meters, has 133N associated with rolling friction (has tires w/ a Crr=.01, and has a weight (weight is a force) of ~13300 newtons), is starting from 0mph or 0m/s, is going to 20mph or 9 m/s in first gear, has a top speed of 9m/s, has an engine that makes about 52hp or 41,000W at peak power, and has an assumed driveline efficiency of 85%, so that's represented as .85.
All together, this means my input in octave will look like
Code:
accelcalc(1360, .75, 133, 0, 9, 9, 41000, .85)
and the output in seconds is
For the Camryaro, the input is more or less the same w/ greater time (taller gear) spent in first gear, more power, and greater losses (auto trans).
Code:
accelcalc(1360, .7, 133, 0, 15.5, 15.5, 138000, .75)
and the result is...
To approximate the 0-60mph, or whatever acceleration time, I need to do the same for the other gears. For instance to get a 0-60mph time for the merc, I would also need to get a time for 2nd gear (9m/s to 15.5m/s), 3rd gear (15.5m/s to 23.5m/s), and part of fourth (23.5m/s to 26.5m/s), add all of those up, and then add the time needed for each shift.
What's really cool is that there seems to be a lot of resolution for top speed runs, at least for manual transmissions that won't kick down. For instance in the Merc, a ~6+% reduction in drag results in a 12s change in the time needed to accelerate from 53-72mph, so there's quite a bit of resolution in terms of calculating CdA. Newer cars w/ more power would need to find a nice steep (unpopular?) grade so they could accelerate at WOT w/ the same amount of resolution w/o breaking the speed limit.
Edit - Does anyone want to incorporate a gearing calculator, so people don't have to figure out the maximum speed in each gear on their own, or would that take too many inputs? Maybe I'll just make another .m file for that...
Last edited by roflwaffle; 08-02-2009 at 07:51 PM..
|
|
|
|
08-21-2009, 12:58 AM
|
#5 (permalink)
|
|
old sube fan
Join Date: Feb 2008
Location: maine
Posts: 386
Thanks: 4
Thanked 4 Times in 4 Posts
|
wow. I am confused. complicated. I can only assume there is too many factors to take this challenge. Unless efficency of engine is guessed as all the errors, like advance speed, (electrical) vacuum, tire pressure, terrain...
__________________
|
|
|
|
08-21-2009, 02:30 AM
|
#6 (permalink)
|
|
101% win
Join Date: Dec 2007
Location: Where I live
Posts: 891
Thanks: 13
Thanked 3 Times in 3 Posts
|
It isn't that complicated.
Engine efficiency, advance speed, and vacuum don't matter, at least from the perspective of the calculator. All we need is a set of data for the torque curve to get power from the engine versus speed. I suppose you can change the torque curve by changing timing, fueling, and so on, but all that's needed is a torque curve. Tire pressure is incorporated in rolling resistance (Crr), which can be experimentally determined by the owner. Terrain can be accounted for the same way power can.
|
|
|
|
|