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.

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
Variable | Value | Unit | Note |
---|---|---|---|
Total Mass | 1247 | kg | Base weight from the No Prep Kings rules |
Weight Distribution Forward | 55 | % | Stock Camaro |
Height of the Centre of Gravity | 0.4 | m | Guess |
Wheelbase | 2.6412 | m | 104in |
Drag Coefficient (pCdA) | 0.813 | Taken from the Camaro owners forum | |
Rear Axle Grip | 3 | N/N | Very sticky drag tyres in a rubbered launch box |
1st Gear Ratio | 2.48 | :1 | TH400 Automatic Transmission |
2nd Gear Ratio | 1.48 | :1 | |
3rd Gear Ratio | 1.00 | :1 | |
Final Drive Ratio | 3 | :1 | Guess. Tuned to the simulation. |
Wheel Diameter | 0.75184 | m | 29.6 inches |
Wheel Circumference | 2.3620 | m | The 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] );
Leave a Reply