AuthorJosh

Holiday Drag Racing, Part 2/2

Its time to simulate the big guns in drag racing; the stars of Motortrends Street Outlaws: No Prep Kings. Following on from my previous article, where I simulated my little Locost in a straight-line, I have tried my best to piece together what a No Prep car looks like on paper and what makes them able to perform a Eighth Mile Drag Race in less than 4s! Lets delve in.

“The Shocker”

The car I have loosely based my numbers on is Kye Kelley’s third generation Camaro; “The Shocker”. Kye is a top level driver and builder and is often talked about. You can read about his story here in Dragzine. Kye came second place in the 2019 championship, but it was a close call between him and Ryan Martin.

An image of Kye Kelleys third generation Camero. Taken from Dragzine.com. You can find the original article here.

Engine

The Shocker runs a Pat Musi built 959 EFI Pro Nitrous engine (959 cubic inch, 15.7 litres!). Engine Builder Magazine quotes these engines at 1,850 hp naturally aspirated and 2,800 hp on nitrous, although larger numbers are thrown around in No Prep Kings (4000hp?!?).

While no data is available to say what engine speed peak power and peak torque are made at, I have made a guess based on other engines. Rocker-arm over-head-valve V8’s are generally speed limited by their valve train and/or crankshaft so these numbers weren’t going to be far from reality. This NMCA (National Muscle Car) article suggests Pat Musi’s “smaller” engines make peak power at 7200rpm with a crank limited speed of 8000rpm.

2800hp at 7200rpm is a whopping 2769 Nm of torque. I assumed the torque curve for this engine was relatively flat, based on what I have seen on Motortrends Engine Masters. The following plot shows the guess I used in the drag simulation.

If this is hugely wrong then please feel free to get in contact with me Pat! I would love to talk to you about these amazing engines.

Chassis

The No Prep Kings rules outline a useful piece of information. A Big Block Nitrous powered car must have a base weight of 2750 lbs (1247 kg). I trust that Kye Kelley has built a car that is down at the base weight and probably requires ballast to get back up to that weight.

The third generation Camaro has a wheelbase of 2.565m (101.0 in) and the rules allow an increase in wheelbase of 3 inches, which I expect the Shocker makes use of to stabilize the car at speed.

The owners forum suggest a weight distribution of approximately 55% forward for a stock car. I can’t see this having changed too much given the bigger engine in the front and the bigger tyres in the back.

Again, I had to lean into the owners forum for drag coefficient details (not the most solid source of information) but they suggested the CdA of a third gen Camero is approximately 0.66334 (Cd: 0.340 * Area: 1.951). If we factor in an air density at sea level of 1.225 kg/m^2 we get an overall pCdA of 0.813. The Locost was suggested to be around 0.9, which suggests the Camero gets a large amount of its drag from being a much bigger car; always worth thinking about when trying to reduce this number.

Drivetrain

I couldn’t find what gearbox is currently in The Shocker, so I looked to Ryan Martins car; the winner of season 3. He runs a TH400 automatic three speed transmission. The ratios of which are listed on the internet.

I have made one massive oversight: this car is an automatic. The engine speed to road speed is not directly coupled through a clutch, it slips due to being coupled through a torque converter. This allows the engine to stay around peak torque longer without having to drop down the torque curve, but it is less efficient. I am going to assume the difference is negligible for the sake of simplicity.

Tyres

Again, I had to turn to Ryan Martins car for additional information. His chassis is setup to run “Outlaw 10.5/Radial” rear tyres which are, as you guessed it, 10.5 inchs wide. The Mickey Thompson 29.5/10.5-15W is a pretty good example of this (I think!) and they stand at 29.6inches diameter.

Completely Guessed Variables

I had to have a guess at four variables: the height of the center of gravity, the effective Tyre Grip/Fricton, the Shift Delay time and the Final Drive Ratio. My selected numbers and the reasonings behind them were as follows:

Height of center of gravity

I have stuck with 0.4m. These drag cars run very low ride heights by the looks of things. In reality its probably higher, given the increased rearward weight transfer that having a higher COG would give you and the subsequent added benefit to traction. That said, I believe the tyres are so grippy in these No Prep cars that at launch all the weight is on the rear tyres anyway; that’s that.

Tyre Grip

This SAE paper (The Magic of the Drag Tire) quotes top fuel dragsters and funny cars accelerating at over 4g’s. While the actual coefficient of friction of the tyre is lower than 4.0 the effective friction is around 4.0 due to the way energy is stored in the tyre and the way it interacts with the rubbered surface.

I figure a cheaper, smaller, off the shelf tyre isn’t as “grippy” and given the surface is not prepared, the overall coefficient of friction is in the 2 – 3 region. Its a guess, but as you’ll see later its not bad.

Shift Delay

The gearbox is shifted automatically which makes the whole question of “shift delay” a little hard to workout as the engine never clutches. I have thrown in a value of 0.1s as a guess.

Final Drive Ratio

I adjusted this number to give close to max engine speed at the end of the track. In the end I settled on a 3:1 ratio.

Summary of Key Variables

VariableValueUnitNote
Total Mass1247kgBase weight from the No Prep Kings rules
Weight Distribution Forward55%Stock Camaro
Height of the Centre of Gravity0.4mGuess
Wheelbase2.6412m104in
Drag Coefficient (pCdA)0.813Taken from the Camaro owners forum
Rear Axle Grip3N/NVery sticky drag tyres in a rubbered launch box
1st Gear Ratio2.48:1TH400 Automatic Transmission
2nd Gear Ratio1.48:1
3rd Gear Ratio1.00:1
Final Drive Ratio3:1Guess. Tuned to the simulation.
Wheel Diameter0.75184m29.6 inches
Wheel Circumference2.3620mThe diameter multiplied by pi

A 3.9s Pass

The research above allowed me to produce the following straight-line simulation.

Well there you have it, the eighth mile in 3.94s @ 202.5mph and 0-60mph in 0.915s. Quicker than the Locost? Most definitely!

Note that the car is entirely traction/grip limited throughout first gear, but beyond that point it is flat out down the track. I don’t expect this is always the case. The grip in the start box will be much higher, due to the rubber that is laid down from burnouts. I expect grip drops off quickly the further down the track the car travels. You would want to tune your gears and power wisely based on the track you are racing on and the surface, which is what you witness the drivers doing on the show.

Final Thoughts

I really enjoyed doing the research for this article. It took a lot of digging around drag racing websites and parts stores to understand what is underneath a No Prep car.

I’m tempted to have a crack at Dirt Track Racing next. Perhaps investigating what it takes to drive fast sideways? We’ll soon see.

I hope you enjoyed the content!

Code (Octave GNU or Matlab)

clear all; close all; clc;

# Vehicle Definition
mass = 1247;       # [kg], Total Vehicle Mass, From the No Prep Kings rules
wd = 0.55;        # [-], Forward Weight Distribution, Stock Camero
h_cog = 0.4;      # [m], Height of COG, Guess
wheelbase = 2.565 + (25.4*3)*0.001;  # [m], Wheelbase, From Wikipedia
drag_pCdA = 0.813;   # [], Drag Coefficient * Area * Air Density, taken from the Camero forums
grip = 3;       # [N/N], Rear Axle Peak Grip, Guess based on 4g launch of proper drag cars

# Pat Musi 959 on Nitrous
engine_speed = [0,2000,4000,6000,7200,8000]; # [rpm]
engine_torque = [2000,2750,3000,3000,2769,2450]; # [Nm]

# Plot for Engine Power / Torque
if 0
  figure; hold on; grid on;
    plot( engine_speed, engine_torque, 'b' );
    plot( engine_speed, engine_torque .* (2*pi*engine_speed/60) * 0.001 * (1/0.7457), 'r' ); # [hp], Metric
    h = legend( 'Engine Torque [Nm]', 'Engine Power [hp]' );
    legend (h, "location", "northeastoutside");
    xlabel( "Engine Speed [rpm]" );
    title( "My guess at an impressive Pat Musi 959 Nitrous V8" );
    return;
endif

gear_ratios = [2.48, 1.48, 1.00]; # TH400 automatic transmission
gear_ratios_max = 3;
gear_final_drive = 3; # Guess based on max RPM at the end of the track
gear_wheel_diameter = (29.6*25.4) * 0.001; # [m], Mickey Thompson 29.5/10.5-15W
gear_wheel_circumference = gear_wheel_diameter * pi; # diameter * pi
gear_shift_rpm = [8000, 8000, 8000]; # As limited by the Engine
gear_shift_time = [0, 0.1, 0.1];

# Calculate max possible speed
v_max = ( gear_wheel_circumference * gear_shift_rpm(gear_ratios_max) ) / ( gear_ratios(gear_ratios_max) * gear_final_drive * 60 );

# Simulation Variables
g = 9.81;         # Gravity
t = 0;            # [s], Current Time
dt = 0.001;       # [ds], Delta Time
a = 0;            # [m/s^2], Instantaneous Acceleration
v = 0;            # [m/s], Instantaneous Velocity
s = 0;            # [m], Distance Travelled
gear = 1;
zero_to_sixty_time = 0;
gear_shift_timer = 0;

# Datalog
t_log = [];
a_log = [];
v_log = [];
s_log = [];
rpm_log = [];
throttle_log = [];

# 1/4 Mile = 402.336 meters
# 1/8 Mile = 201.168
while s <= 201.168
  
  # Calculate the rotational speed of the rear axle [hz]
  axle_speed = v / gear_wheel_circumference;
  
  # Calculate engine rpm based on current speed
  rpm = gear_ratios(gear) * axle_speed * gear_final_drive * 60;

  # Should we up shift?
  if gear < gear_ratios_max
    if rpm > gear_shift_rpm(gear)
      gear = gear + 1;
      gear_shift_timer = gear_shift_time(gear);
    endif
  endif
  
  # Calculate the weight on the rear axle (including weight transfer)
  # and the maximum force the tyre can supply
  mass_rear = mass*(1-wd) + (mass * a * h_cog / wheelbase); # [kg]
  if mass_rear > mass
    mass_rear = mass;
  endif
  max_tyre_force_rear = mass_rear * grip * g; # [N]
  
  # Limit engine torque lookup within engine max rpm
  if rpm > gear_shift_rpm(gear)
    engine_torque_output = interp1 ( engine_speed, engine_torque, gear_shift_rpm(gear) );
  else
    engine_torque_output = interp1 ( engine_speed, engine_torque, rpm );
  endif
  engine_torque_at_axle = engine_torque_output * gear_ratios(gear) * gear_final_drive;
  engine_force = 2 * engine_torque_at_axle / gear_wheel_diameter;
  
  # Calculate drag
  drag_force = 0.5 * drag_pCdA * v * v; # [N]
  
  # Estimate throttle position
  throttle = 1;
  if engine_force > max_tyre_force_rear
    throttle = max_tyre_force_rear / engine_force;
  endif
  
  # Are we shifting gears?
  if gear_shift_timer > 0
    max_tyre_force_rear = 0;
    engine_force = 0;
    throttle = 0;
    gear_shift_timer -= dt;
  endif
  
  # Calculate Acceleration
  a = ( min(max_tyre_force_rear, engine_force) - drag_force) / mass;
  
  # Limit maximum speed, essentially a rev limiter
  if v >= v_max
    if a > 0
      a = 0;
    endif
  endif
  
  # Rough Integration
  v = v + a*dt;
  s = s + v*dt;
  t = t + dt;
  
  # Add to the Datalog
  t_log = [t_log; t];
  a_log = [a_log; a];
  v_log = [v_log; v];
  s_log = [s_log; s];
  rpm_log = [rpm_log; rpm];
  throttle_log = [throttle_log; throttle];
  
  # Grab 0-60 time
  if zero_to_sixty_time == 0
    if v .* 2.23694 >= 60
      zero_to_sixty_time = t;
    endif
  endif
  
endwhile

figure;
subplot(5,1,[1 2]); hold on; grid on;
  plot( t_log, v_log .* 2.23694, 'b' ); # [mph]
  ylabel( "Speed [mph]" );
  title( [num2str(t) "s Eighth Mile @ " num2str(v .* 2.23694, 4) "mph, 0-60mph in " num2str(zero_to_sixty_time) "s"] );
subplot(5,1,3); hold on; grid on;
  plot( t_log, a_log ./ g, 'r' ); # [g]
  ylabel( "Acceleration [g]" );
subplot(5,1,4); hold on; grid on;
  plot( t_log, rpm_log, 'k' );
  ylabel( "Engine Speed [rpm]" );
subplot(5,1,5); hold on; grid on;
  plot( t_log, throttle_log  .* 100, 'k' );
  xlabel( "Time [s]" );
  ylabel( "Throttle [%]" );
  ylim( [0 100] );
set( gcf, 'position', [300, 202, 560, 755] );


Holiday Drag Racing, Part 1/2

COVID19, and the isolation associated with it, has made us all go a little mad. Personally, I am in need of some Automotive escapism, and my choice of holiday TV has been Street Outlaws No Prep Kings (Season #3, you can find it on MotorTrend).

While drag racing is considered very niche in the UK, it’s huge over the pond and there are loads of online shows covering it. No Prep Kings pits big high powered American cars against each other in eighth mile drag races. Each round the losers are knocked out until there is only one winner left. With approximately 32 cars competing in each event, and with some serious personalities knocking around the pits, it’s properly entertaining.

I’ll be honest with you, I often skip the preamble and go straight to the racing, so lets do that right now!

Straight-line Simulation

To my British audience: Don’t write-off Drag Racing just yet. Yes they only go in a straight-line, but there is a lot more involved in proper drag racing than it may first appear and the cars are not trivial to build or tune. That said, I don’t own a drag car. I own a British Sports Car, and that is going to be our reference point.

I have thrown together a very quick and dirty simulation to get things going; the code is attached at the end of the article. It’s rough. Really rough, so to all the Engineers out there: this is a tool to show how interesting drag racing is, not a Curriculum Vitae. The results also yield insights into how to go fast in a straight-line, which I think is worthwhile.

A simulation isn’t worth much without some input data, so to begin with we I used some rough estimates of the key variables of my little Locost.

Chassis

VariableValueUnitNote
Total Mass600kgAbout right. It was measured at 490kg back in 2014 before receiving its road gear and dry sump. Then add my weight and some fuel…
Weight Distribution Forward43%Again, measured back in 2014 and I doubt it has changed much since.
Height of the Centre of Gravity0.4mI have guesstimated a number well above the crank centre line of the engine and slightly above the top of the chassis. If anything, it’s probably lower in reality
Wheelbase2.35mMeasured in CAD and confirmed with a tape measure
Drag Coefficient (pCdA)0.9I had to get a reference for this from an American Locost forum, but I do know this number is “high” which is correct for a Seven; they are very high drag cars. Note that this number includes air density, which simplifies the drag equation
Rear Axle Grip1.2N/NOkay, stick with me here. I reckon this is the grip level of a decent touring car tyre at a reasonable weight and pressure. But we’ll soon find it doesn’t matter that much to begin with.

Engine

I had to have a guess at an engine torque curve given that I am yet to have a successful dyno run. The stock G13B is said to make 110Nm at 5500rpm and 100hp at 6500rpm. My quick maths suggests a torque of 109.5Nm at 6500rpm (torque=power/speed). That’s only two data points! To round things off I set the zero speed torque as 90Nm and the roll off torque at 8000rpm to 80Nm; this is probably optimistic but it will do for now. The curve was as follows:

To begin with the engine shifts at 6500rpm (peak power).

Drivetrain

The following gear ratios are from the early model Suzuki Samurai gearbox that is in the Locost. I confirmed these ratios to be correct using engine speed and wheel speed calculations (they can also be found here).

VariableValueUnitNote
1st Gear Ratio3.652:1Terribly short ratio
2nd Gear Ratio1.947:1
3rd Gear Ratio1.423:1
4th Gear Ratio1:1Not unusual
5th Gear Ratio0.795:1This is the early Suzuki Samurai gearbox. A slightly shorter ratio is available in the later boxes
Final Drive Ratio4.3:1MX5 Mk1 Differential. The only ratio available I believe.
Wheel Diameter0.5522mBased on a 185mm wide 60 profile tyre on a 13inch rim
Wheel Circumference1.7348mThe diameter multiplied by pi

Anyone that knows anything about gearboxes can spot that these ratios aren’t great. The first is way too short and the fifth is way too long. But, I am hoping through a little simulation, we can work out some strategies to live with what we have.

Our First Pass

With all that committed to code and the use of a really simple linear integrator we get a quarter mile pass that looks something like this:

A 13.463s quarter mile, going from 0-60mph in 4.495s? Not bad for a little 1.3 litre sportscar. Sadly though, there are a number of assumptions in this simulation that may make this massively unrealistic:

  • Instant weight transfer. There are no real chassis dynamics in this simulation.
  • A completely locked rear differential. Okay this is not as weird an assumption as you might think. I now run a locking differential which should hopefully, under hard launch conditions, be locked.
  • The grip is relatively high. The throttle is pegged at 100% the whole time. But I’ll be honest with you, this is the case for the Locost on warm tyres and a good surface. Its not got acres of power so you don’t need to pedal it.
  • A perfect launch. There is no holding the revs and trimming the clutch here.
  • No gearshift times. This is one thing I just can’t stand for. In the above pass there are four gearshifts that all take place instantaneously. The time these actually take could have had potentially a huge effect on the outcome of the simulation time.

Adding a Gearshift Delay

With a manual synchronised transmission you waste time clutching the engine/gearbox when selecting a new gear. During this time period you are not accelerating forward; in fact you are slowing down due to drag.

From my own data I know that a gearshift can take anything between 0.5s to 1.0s to complete, depending on how aggressive I am being on the gearbox. I added this into the simulation as a time period after any shift where no engine power is used.

The updated simulation looked like this:

Well. That’s sucks.

Adding a gearshift delay into the simulation of 1.0s cost a total of 1.664s in the quarter mile and 2.125s in 0-60mph time. I’d rather have that performance back thankyou! Here is a table giving a sweep of the results:

Run [#]Gearshift Delay [s]Quarter Mile [s]Delta [s]Speed [mph]Delta [mph]0-60mph [s]Delta [s]
10.013.463-98.58-4.495-
20.514.3050.84296.37-2.215.5581.063
31.015.1271.66493.35-5.236.6202.125

So what options do we have to get this performance back? We could simply reduce the shift time (automated paddleshift anyone?) but that isn’t a realistic option for the time being.

How about making better use of the torque that we already have? If you look at the acceleration plot its clear that the car is still accelerating at 6500rpm. While it continues to accelerate hard, and the engine can take the extra rpm reliably, its worth delaying the gearshift.

Lets sweep the shift rpm and see what difference it makes, keeping the 1.0s shift delay in the simulation for realism.

Engine Speed

The results of the simulations were as follows:

Run [#]Engine Shift Speed [rpm]Quarter Mile [s]Delta [s]Speed [mph]Delta [mph]0-60mph [s]Delta [s]
1650015.127-93.35-6.620-
2700014.795-0.33294.040.696.425-0.195
3750014.529-0.59894.401.056.287-0.333
4800014.327-0.894.190.845.068-1.552

Well that’s mighty interesting! Shifting at a later RPM yielded a benefit in every case, and in the final simulation saw a full 1.219s improvement in 0-60mph time. But why might this be? Plotting each run against each other makes the differences quite clear.

Note that the following plot uses distance as the x-axis, as opposed to time. I find this makes comparison much easier.

Well there you have it, shifting at 8000rpm means you are only changing gears only once before 60mph; hence the big improvement in this metric. This kind of suggests that 0-60 times are a little redundant and are very dependant on gear ratios and shift points. That said, it did go faster!

Also note that even though peak horsepower was at 6500rpm, shifting at 8000rpm was faster in a straight-line. This means that the shape of the torque curve beyond peak power is important, and dictates the most efficient shift point. Keep that in mind when mapping an engine.

Obviously my current torque curve is a complete guess so it may not actually be beneficial to shift at this rpm in the Locost, but its worth considering.

Power and Gear Ratios

Up to this point the very short first gear ratio hadn’t caused any problems. The throttle is always pegged at 100% throughout the whole run when not shifting gears. However, what if we add more power?

The Cultus Spec G13B

In my recent engine rebuild I used Suzuki Cultus Cams and Pistons. This raised the cam lift from 7.5mm to 8mm and the compression from 10:1 to 11.5:1. These parts were only available in Japan and are relatively rare, but raise the peak horsepower from 100hp to 114hp. I believe peak horsepower is moved from 6500rpm to 7250rpm, but I can’t remember where I read this; details on these engines are hard to find in anything but Japanese.

I assumed the details above were correct and made a modified torque curve to suit:

To create the above I shifted all of the data points by 725rpm and then multiplied the entire torque curve by 104%. This gives the desired 114hp at 7250rpm.

Engine Comparison

Using the same simulation as before, with 8000rpm shift points for the original engine and 8725rpm shift points for the new engine, I could make a comparison. The results were as follows:

Run [#]EngineQuarter Mile [s]Delta [s]Speed [mph]Delta [mph]0-60mph [s]Delta [s]
1Stock G13B14.327-94.19-5.068-
2JDM Cultus Cams and Pistons13.74-0.58796.942.754.712-0.356

Well that’s a bit more like it. Much closer to the original numbers without gearshift delays and considerably quicker in a straight-line.

Note however that the car is still not traction limited. If this is truly the case in real life than this first gear ratio is not the end of world at this power level. That said, I was still interested in what changes in first gear ratio would make.

Different First Gear Ratios

A scan of first gear ratios yielded the following comparison. I made use of the new engine data above as a baseline setup.

Run [#]1st Gear RatioQuarter Mile [s]Delta [s]Speed [mph]Delta [mph]0-60mph [s]Delta [s]
1Original 3.652:113.740-96.94-4.712-
23.000:113.8420.10296.7-0.244.8840.172
32.500:114.0910.35196.13-0.815.2940.582

And… it went slower. My thought is a longer first gear is only needed if you are traction limited in 1st gear. That means if you have more power or lower grip, its worth changing. Other than that, short is fast… as long as you have a relatively flat torque curve and the drop off in torque on the upshift isn’t bad.

Plenty to discuss, but this is not the space to go in depth.

Drag Sensitivity

I was interest in what effect decreasing drag would have on quarter mile time. My little Lotus 7 is pretty quick from 0-60mph but runs out of steam somewhere beyond that point due to the large drag coefficient is has.

I can vouch that the original Suzuki Swift GTi that its G13B engine came out of could do 125mph in a straight-line, but the Locost tops out at just over 100mph. That’s a huge difference in drag.

The results from the drag scan were as follows:

Run [#]Drag [-]Quarter Mile [s]Delta [s]Speed [mph]Delta [mph]0-60mph [s]Delta [s]
1Original13.740-96.94-4.712-
2-5%13.712-0.02897.610.674.703-0.009
3-10%13.684-0.05698.291.354.694-0.018

The results were quite interesting as I expected the drag to have a far greater effect than it did. There appears to be a clear change in the shift point between third and fourth gears, but this is almost 75% of the way down the track, so the overall difference in quarter mile time is minor.

Interestingly, when I was driving around Snetterton I spent most of my time in 3rd and 4th gears, where the data above suggests drag has a notable effect.

Grip Sensitivity

Lastly, before I venture into the world of 1/8th mile monsters, I wanted to simulate the Locost on a less than perfect surface or tyres.

Autosolo events have to start with dead cold tyres, no warming is allowed, and the surface often starts the day covered in stones and debris. This means the first few starts are always worse than those later in the day; this is due to low grip.

The results from the grip scan were as follows:

(Appologese for the lack of legend, I have been fighting Octave on this front! Baseline is Black, -15% Grip is Blue, -30% Grip is Red)
Run [#]Grip [%]Quarter Mile [s]Delta [s]Speed [mph]Delta [mph]0-60mph [s]Delta [s]
1Original13.740-96.94-4.712-
2-15%13.7670.02796.91-0.034.7490.037
3-30%13.9970.25796.72-0.225.0330.321

Lower grip, slower car; not a surprise. That said, such a little lightweight car with low power wasn’t as much effected by lower grip than I expected.

Summary

On a good day with warm tyres the Locost in its current trim can potentially do a 13.74s Quarter Mile @ 96.94mph, with a 0-60mph of 4.712s. One of the lowest hanging fruits is shift times (I knew this!) to make the car quicker in a straight-line.

What I didn’t tell you is that this is equivalent to an Eighth Mile time of 8.772s @ 82.43mph. No Prep Drag Cars can do this in as little 3.900s!

In the second part I will play with the numbers and see what is required to a get a car to travel this distance in a much shorter time.

Code (Octave GNU or Matlab)

clear all; close all; clc;

# Vehicle Definition
mass = 600;       # [kg], Total Vehicle Mass
wd = 0.43;        # [-], Forward Weight Distribution
h_cog = 0.4;      # [m], Height of COG
wheelbase = 2.35;  # [m], Wheelbase, A guesstimate from the CAD, it changes with castor
drag_pCdA = 0.9;   # [], Drag Coefficient * Area * Air Density
# Taken From: http://www.usa7s.net/vb/showthread.php?9876-Caterham-Wind-Tunnel-Testing
# Approximately 1.5 * 0.66, which is inline with what others are quoting
# I trimmed this down by 15% inline with observations at Snetterton
grip = 1.2;       # [N/N], Rear Axle Peak Grip

engine_speed = [0,5500,6500,8000]; # [rpm]
engine_torque = [90,110,109.5,80]; # [Nm]

# Plot for Engine Power / Torque
if 0
  figure; hold on; grid on;
    plot( engine_speed, engine_torque, 'b' );
    plot( engine_speed, engine_torque .* (2*pi*engine_speed/60) * 0.001, 'r' ); # [kW]
    plot( engine_speed, engine_torque .* (2*pi*engine_speed/60) * 0.001 * (1/0.7457), 'r' ); # [hp], Metric
    h = legend( 'Engine Torque [Nm]', 'Engine Power [hp]' );
    legend (h, "location", "northeastoutside");
    xlabel( "Engine Speed [rpm]" );
endif

gear_ratios = [3.652, 1.947, 1.423, 1, 0.795];
# From: http://www.zukioffroad.com/tech/suzuki-samurai-specifications/
gear_ratios_max = 5;
gear_final_drive = 4.3;
gear_wheel_diameter = (185*0.60*2 + 13*25.4) * 0.001; # [m]
gear_wheel_circumference = gear_wheel_diameter * pi; # diameter * pi
gear_shift_rpm = [6500, 6500, 6500, 6500, 6500];
gear_shift_time = [0, 1, 1, 1, 1];

# Simulation Variables
g = 9.81;         # Gravity
t = 0;            # [s], Current Time
dt = 0.001;       # [ds], Delta Time
a = 0;            # [m/s^2], Instantaneous Acceleration
v = 0;            # [m/s], Instantaneous Velocity
s = 0;            # [m], Distance Travelled
gear = 1;
zero_to_sixty_time = 0;
gear_shift_timer = 0;

# Datalog
t_log = [];
a_log = [];
v_log = [];
s_log = [];
rpm_log = [];
throttle_log = [];

# 1/4 Mile = 402.336 meters
# 1/8 Mile = 201.168
while s <= 402.336
  
  axle_speed = v / gear_wheel_circumference;
  
  # Calculate engine rpm based on current speed
  rpm = gear_ratios(gear) * axle_speed * gear_final_drive * 60;
  
  # Should we up shift?
  if gear < gear_ratios_max
    if rpm > gear_shift_rpm(gear)
      gear = gear + 1;
      gear_shift_timer = gear_shift_time(gear);
    endif
  endif
  
  # Calculate the weight on the rear axle (including weight transfer)
  # and the maximum force the tyre can supply
  mass_rear = mass*(1-wd) + (mass * a * h_cog / wheelbase); # [kg]
  if mass_rear > mass
    mass_rear = mass;
  endif
  max_tyre_force_rear = mass_rear * grip * g; # [N]
  
  if rpm > gear_shift_rpm(gear)
    engine_torque_output = interp1 ( engine_speed, engine_torque, gear_shift_rpm(gear) );
  else
    engine_torque_output = interp1 ( engine_speed, engine_torque, rpm );
  endif

  engine_torque_at_axle = engine_torque_output * gear_ratios(gear) * gear_final_drive;
  engine_force = 2 * engine_torque_at_axle / gear_wheel_diameter;
  
  # Calculate drag
  drag_force = 0.5 * drag_pCdA * v * v; # [N]
  
  # Estimate throttle position
  throttle = 1;
  if engine_force > max_tyre_force_rear
    throttle = max_tyre_force_rear / engine_force;
  endif
  
  # Are we shifting gears?
  if gear_shift_timer > 0
    max_tyre_force_rear = 0;
    engine_force = 0;
    throttle = 0;
    gear_shift_timer -= dt;
  endif
  
  # Calculate Acceleration
  a = ( min(max_tyre_force_rear, engine_force) - drag_force) / mass;
  
  # Rough Integration
  v = v + a*dt;
  s = s + v*dt;
  t = t + dt;
  
  # Add to the Datalog
  t_log = [t_log; t];
  a_log = [a_log; a];
  v_log = [v_log; v];
  s_log = [s_log; s];
  rpm_log = [rpm_log; rpm];
  throttle_log = [throttle_log; throttle];
  
  # Grab 0-60 time
  if zero_to_sixty_time == 0
    if v .* 2.23694 >= 60
      zero_to_sixty_time = t;
    endif
  endif
  
endwhile

figure;
subplot(5,1,[1 2]); hold on; grid on;
  plot( t_log, v_log .* 2.23694, 'b' ); # [mph]
  ylabel( "Speed [mph]" );
  title( [num2str(t) "s Quarter Mile @ " num2str(v .* 2.23694, 4) "mph, 0-60mph in " num2str(zero_to_sixty_time) "s"] );
subplot(5,1,3); hold on; grid on;
  plot( t_log, a_log ./ g, 'r' ); # [g]
  ylabel( "Acceleration [g]" );
subplot(5,1,4); hold on; grid on;
  plot( t_log, rpm_log, 'k' );
  ylabel( "Engine Speed [rpm]" );
subplot(5,1,5); hold on; grid on;
  plot( t_log, throttle_log  .* 100, 'k' );
  xlabel( "Time [s]" );
  ylabel( "Throttle [%]" );
  ylim( [0 100] );
set( gcf, 'position', [300, 202, 560, 755] );

ManDoCar: Episode #1

I couldn’t bring myself to write a full article on how the car is getting on, so I decided to do something a little different: a podcast! Enjoy. All the relevant pictures are below as well as dingy chat!

We discuss painting, IVA preparation, driving at Snetterton, engineering learning, SpaceX hydraulic systems, faulty brake callipers, peak performance, why limited slip differentials rock, the Hoonigan donk, exhaust wrap, and lastly, engineering in a pandemic.

Dingy Chat

Pantone 333c Colour Chip

The Locost

New steering rack mount. Major surgery!
The chassis finally in a state to clean and paint. Spring 2020
Chassis all cleaned up and steering rack back in
Steering joint over the 10 degrees required for IVA
A very clean and red engine block
ARP Main Studs. Lovely.
Plastigauging a main cap
One of the old big end bearings. Not nice at all. These were new not long ago.
Inside of the drp sump pan.
New seat padding by JK Composites.
Bottom end back in the car.
The entirely wrong brake calliper slides …
… this is what they should look like
A freshly rebuilt and cleaned diff. Kaaz Limited Slip inside!
Auxiliary belt idler. Makes the engine much quieter.
Front lights! Looking great
Oil on plug #1. Not fouling, but not great. Need to do a proper break-in before any concern.
Hello!

Locost: A long due update

I have five unfinished articles sat in my inbox. Half technical, half updates. But I haven’t been able to bring myself to finish any of them. Free time to write is hard to come by these days, and I am very picky about what I choose to publish. However, it has been far too long without an update, and I owe you all some words and pictures. So here goes.

Dyno

This time last year I was gearing up for a trip to the dyno. I was going to get the car tuned and then head over to Castle Combe for a cold/wet trackday to round the year off.

My main motivation for putting the car on the rollers was that it hadn’t been running right. I knew something needing adjusting but I just couldn’t put my finger on it. So I decided to put it in the hands of a professional and get it sorted.

On paper, it went badly. Once loaded up on the dyno the car started coughing and wouldn’t run right. After checking a number of things Steve, the resident car doctor, decided to check the compression; just in case. Low and behold, low compression on cylinders #3 and #4. I was kicking myself for having not checked this moons ago, but I was also happy to have found out why the car wasn’t running right. I loaded her back on the trailer and took her home, happy in the knowledge that I would be able to fix the engine back to full health.

The Locost on the Dyno

Tear Down

I took the top-end off of the engine and checked the head and block for straightness. They were both at the top end of suzuki’s specification, especially between cylinders #3 and #4 (0.05mm), and after much pondering I decided to pull the engine to get both the head and blocked skimmed.

Locost Engine Mid Stripdown

Cylinder Head in need of “reflattening”

You can’t even see the dip, but it is thereWith the engine out and the head off I also thought it would also be a good time to check the bearings. They plasti-gauged fine but the surfaces were ruined. Too many years driving with a terrible sump design.

Given that the engine needed a full rebuild and the car was mostly stripped down during Christmas 2018 I had a lot to think about…

The Road to the Road

The car was the most apart it had been since I had first got it moving back in 2012 (was it really that long ago?!?). With life having changed so much in the last few years, the prospect of doing track-days looks less and less appealing. I want to be able to drive the car more often and share it with others.

I decided it was finally time to take the plunge and turn my little red race car into a road car. This was going to be no trivial task. The rule book (IVA Manual) is substantial and requires a large list of tests to be passed for the car to be road registered.

Worst book ever.

I knew there were a number of things that were going to need to be changed and a number of pieces of damaged structure and aesthetic that were going to have to be fixed. But, I am a stubborn old (youngish) fool who is always up for a big project.

I printed out a physical copy of the IVA Manual and marked down every element that needed to be changed, checked or installed. The to-do list is incredibly long, and it doesn’t even cover all the improvements I want to do to the car while it is stripped down. I knew it was going to take well over a year, maybe even two, to complete. But again: I am stubborn fool.

An example of some chassis damage. This rear floor was a moisture trap! Now replaced with a bolt on piece that is easy to clean.

Re-wiring

In my own opinion the original wiring loom was terrible. I continue to point out to people that I was learning to build a car while building this car; it shows. Knowing that I was going to have to install front and rear lights I decided that this was a good time to completely re-wire. All the old loom was stripped out, the old mountings cut out and an entirely blank canvas of aluminium  sheet mounted under the scuttle to attach things too.

New Under Dash

This also ticked off a number of IVA requirements. The loom cannot be accessible under the dash for “radius” reasons, so panelling in underneath was a good idea. It also looks nicer.

In all I managed to entirely re-wire the engine, wire in all the lights (including side repeaters etc) and make use of a set of Ford Puma driver controls including steering lock. I am very happy with the final result. Sadly I have no up to date pictures! These will have to suffice.

The old loom. Oh dear. And out of focus as well.

New fusebox and under dash routing

One from the archives. Shows how much neater the wiring is now!

Lights

As mentioned, the car was going to need appropriately placed front and rear lights. These needed mounting correctly, so I had to buy new rear arches and fabricate front light mounts.

Front Lights and Indicators

New Rear Lights including Number Plate

3D Printed Light Mounts

And The Rest

I have been squirrelling away completing the rest of the rear loom, re-making fuel lines, cleaning up the tunnel, welding in new loom mounts, creating a custom handbrake system, completely replacing the rear diff mount and, just today, welding in the mounts for the mirrors.

The to-do list is still substantial and honestly I think I have another year to go. It will be the tale end of 2020 before I can think about putting this thing in front of the DVLA.

I still have an engine to rebuild and get running again, but I won’ tackle that until everything is done on the chassis and it is stripped down ready to receive said engine. One thing at a time and it’ll be on the road soon enough!

 

 

3D Printing: Improved Inlet Trumpets

Nothing quite gets the internet clickidy-clicks like a 3D printing article! In the following post I use 3D printing to fix something that wasn’t really broken.

The OLD Design

I have never been happy with the original mountings for the inlet trumpets on the Locost. Its quite common to use silicone hose to align everything within a retro-fit throttle body system and sadly mine was no different. This design can lead to miss-alignment between the trumpets and the throttles, potential shrouding of the inlet path and variations in inlet length; cylinder to cylinder.

This is the kind of stuff that keeps me up at night and it needed to be improved.

The original setup used a nice carbon fiber backing  plate to mount the airfilter too. This was as soft as a chocolate tea pot, and four aluminum trumpets were glued-in with black polyurethane sealant. It never failed, it was light and did its job okay; but it wasn’t perfect.

I wanted a new design that would allow me to interchange different length trumpets, for testing on the dyno, and ensure the trumpets would inline with the inlet tract. So I turned to CAD to see what I could conjure up…

The NEW Design

Engine tuning is highly sensitive to inlet path length (read one of the best articles in the world if you want to know more), and I wanted to ensure that this variable remained static/constant. This being the case, It was important that the aluminium inlet trumpets were held up tight to the throttle bodies and positioned concentrically.

I started by measuring the GSXR throttle bodies that currently sit on the engine and then 3D printed some prototypes. The first design to nail down was the backing plate mounts. These would make the transition from the round throttle bodied to the flat air filter backing plate and essentially hold the whole lot to the engine.

I settled on a design that pushed onto the throttle bodies and over a useful cast-in ridge. This then clamped down with a jubilee clip. As a rule of thumb, jubilee clips aren’t super sexy, but when combined with dark grey plastic parts they can look utilitarian and purposeful.

I did try a version that held on using the friction supplied by an M4 bolts. This was a terrible idea. Plastic parts are not strong in tension and it would simply bend the mount when being tightened down.

The final design looked like this.

From here I had a nice flat surface to work. I carried across the jubilee clip compression-based design over to the trumpet side, as it worked so well on the throttle body side. This also allows quick release of the trumpets for switching to different lengths.

Its hard to see in the following CAD drawing, but the whole lot is sealed together with rubber nitrile o-rings. There is an o-ring between the backing plate and the throttle body mount, and an o-ring between the throttle body mount and the throttle body itself. These are super easy to design in, reusable and reliable.

 

Then is was simply a case of printing out eight the separate parts and cutting out the backing plate. The inner prints took approximately 3hrs each to make and the outer 2hrs each.

As always, hit go and come back later. These were made is standard PLA and, as they are on the cold side of the engine, I have no qualms about it.

The whole lot was finished off with some pretty aluminium mounting bolts for the air filter.

This setup is definitely heavier than the previous, but its far more stout and should allow for some fun experimentation on the dyno.

 

 

 

© 2021 Ogilvie Racing

Theme by Anders NorénUp ↑