Physics calibration600cc supersportInline-fourLaunch modelEngine deceleration

Why 600cc Supersports Were Running 200ms Slow in Our Sim

30 May 2026 · 13 min read · MotoQuant Blog

Eight inline-four 600cc supersports — three GSX-R 600 generations, three YZF-R6 generations, two CBR600RR generations — sat in the MotoQuant catalogue running an average of 207 milliseconds slow against their instrumented magazine benchmarks. Sport Rider clocked the GSX-R 600 K6 at 10.64 seconds. The sim returned 11.123 seconds. Every other 600cc supersport in the cluster told the same story: simulator slow, real bike fast, a clean systematic bias that pointed to a single missing physics term. This week we found it. The fix was one number in one file. Here is what the number does, why it was wrong, and why the right value is roughly four times larger.

The Bias Signal That Wouldn't Go Away

Every Saturday we run a 334-bike sweep through the physics engine, match it against a curated set of 151 instrumented real-world benchmarks (Sport Rider, MotoStatz Dragy, Cycle World drag-strip tests, MCN GPS runs), and bucket the deltas by cluster. Most clusters sit at mean absolute delta below 0.25 seconds, which is well inside the documented +/-0.5 second band for magazine-quality data. The 600cc supersport cluster — internally tagged mid-twin-500-700 because it shares a profile with the 650cc mid-twin parallel-twins like the SV650 and MT-07 — was different. It sat at +0.207 second bias with eight benchmarks: seven of the eight sim slow, the worst by 482 milliseconds.

The benchmark quality was not the problem. All eight come from instrumented Sport Rider and MotoStatz tests, with documented launch protocols and fifth-wheel or Dragy GPS verification. The bikes were not the problem either. K5 GSX-R 1000, R1 4C8, and Hayabusa Gen 1 — our three load-bearing reference baselines — were nailed to four decimal places (10.0334s / 10.2859s / 10.4712s). The litre-sport-195+ cluster mean absolute delta sat at 0.138 seconds. Whatever was wrong was specific to 600cc inline-fours, not to inline-fours in general and not to the launch model overall.

BikeSim ETBenchmarkDeltaSource
Suzuki GSX-R 600 K611.123 s10.64 s+0.482Sport Rider Cycle World 2006
Yamaha YZF-R6 (2017+)11.286 s10.89 s+0.396MotoStatz Dragy 4th-gen
Honda CBR600RR 2013-202011.183 s10.92 s+0.263MotoStatz Dragy 2017
Yamaha YZF-R6 200611.038 s10.85 s+0.184Sport Rider Cycle World
Honda CBR600RR 2007-201211.020 s10.84 s+0.176Sport Rider Cycle World
Suzuki GSX-R 600 2008-201010.770 s10.64 s+0.129Sport Rider Cycle World
Yamaha YZF-R6 5SL 2003-200510.889 s10.85 s+0.035Sport Rider Cycle World
Yamaha YZF-R6 13S 2008-201610.861 s10.87 s-0.009Sport Rider 8/11

Seven of eight sim slow, with the most extreme bias on the GSX-R 600 K6 and the 4th-generation R6 — two bikes separated by eleven model years, two manufacturers, and two distinct engine families. A bias signal that survives that much hardware variation is almost always pointing at a missing or mis-specified physics term, not at any individual bike's spec entry.

The Knob Probe

The 600cc supersport sub-cluster has three knobs available in the category profile system: over_clutch_factor (how aggressively the clutch transmits over the engine's instantaneous torque headroom), max_engine_decel_rads2 (the cap on how fast the engine angular velocity can drop during slip), and launch_floor_factor (the minimum engine RPM during launch as a multiple of peak torque RPM). A fourth knob, parasitic_mult, is gated out for these bikes — all eight carry dyno_curve.is_at_wheel=True, which tells physics.py to skip the parasitic deduction because the dyno curve already accounts for it.

We swept each knob across its plausible range, holding the other two fixed, and watched the cluster bias and mean absolute delta numbers move. The first knob — over_clutch_factor — moved the needle exactly zero millimetres. At 0.20 (baseline), 0.30, 0.40, and 0.60, the cluster sat at the same +0.209s bias and 0.211s mae. The knob was inert, which matched a finding we logged two months ago: when the engine is running at peak output with effectively zero headroom between commanded torque and clutch slip torque, the over-clutch lever has nothing to lever against. 600cc inline-fours at launch RPM sit pinned at full throttle making 90 percent of peak output through a clutch that fully engages within roughly 150 milliseconds. There is no slip phase long enough or loose enough for over_clutch_factor to do anything.

The launch_floor_factor knob was similarly inert — the bikes were not RPM-floored in any meaningful way. That left one lever: max_engine_decel_rads2. The probe results were unambiguous.

max_engine_decel_rads2biasmaeDelta vs baseline
150 (baseline)+0.209 s0.211 s0.000
200+0.187 s0.195 s-0.016
300+0.145 s0.171 s-0.040
400+0.104 s0.151 s-0.060
500+0.065 s0.137 s-0.074
600 (chosen)+0.029 s0.130 s-0.081
700-0.005 s0.135 s-0.076
800-0.036 s0.143 s-0.068
1200-0.130 s0.187 s-0.024

The optimum sits at 600 radians per second squared, where the cluster bias collapses from +0.209 seconds to +0.029 seconds and the mean absolute delta bottoms at 0.130 seconds. Above 700 the bikes start running sim-fast (the bias flips negative) and the per-bike spread widens again. Below 400 the slow bias remains stubborn. The shape of the curve — sharp drop, clear minimum, controlled rise on the other side — is exactly what you want to see when probing a single physics knob. It says the term is well-conditioned and the optimum is real, not an artefact of one bike pulling the average.

What max_engine_decel_rads2 Actually Does

When a motorcycle leaves the line, the clutch is slipping. The engine is spinning at launch RPM (typically peak torque RPM for a 4-stroke supersport, somewhere around 9,500-11,000 rpm for a 600cc inline-four). The rear wheel is spinning at near-zero rpm because the bike is stationary. The clutch transmits torque proportional to its slip torque capacity, which is set by the spring preload and the friction-plate coefficient. As the rear wheel accelerates, the slip narrows, and eventually the clutch locks fully — at which point the engine and rear wheel are rigidly coupled through the gearbox.

During that slip phase, the engine angular velocity is not constant. The engine is making torque (call it T_engine), the clutch is absorbing torque (T_clutch), and the difference drives engine angular acceleration: alpha_engine = (T_engine - T_clutch) / I_engine, where I_engine is the moment of inertia of the crankshaft, flywheel, primary gear, and clutch basket lumped together. If T_clutch exceeds T_engine — which is what happens the moment the clutch starts to bite — alpha_engine goes negative and the engine RPM drops. The faster it drops, the faster the engine and wheel come into sync, and the faster the clutch can lock and start transmitting full power.

max_engine_decel_rads2 is the cap on how negative alpha_engine is allowed to get. It models the physical reality that the clutch cannot, in practice, decelerate the engine arbitrarily fast — there are limits set by friction-plate compliance, basket spring stiffness, and the rate at which the rider can dump the lever without stalling. The knob is a parameterised approximation of a sub-model we haven't built yet: a full friction-plate dynamics model that would compute the actual instantaneous clutch torque from spring preload and slip velocity.

Why 150 rad/s² Was Wrong for 600cc Inline-Fours

The 150 rad/s² value in the category profile was a copy of the 200 rad/s² we use for the 300-500cc parallel-twin cluster (MT-07, Z650, Ninja 400). Those bikes have heavy crankshafts with large flywheels — the Z650 crankshaft assembly weighs roughly 4.8 kg and runs an integrated counterweight, which gives it a moment of inertia of approximately 0.011 kg·m² at the clutch basket. A heavy crank takes longer to decelerate per unit of torque imbalance. Capping at 200 rad/s² for the 300-500 cluster is roughly correct.

A 600cc inline-four is a completely different mechanical situation. The YZF-R6 13S crankshaft assembly weighs roughly 2.4 kg, the flywheel is minimal (Yamaha shaved approximately 18 percent of the rotating mass from the 5SL to the 13S to free up high-RPM response), and the moment of inertia at the clutch basket sits around 0.0065 kg·m² — roughly 40 percent less than the Z650. The GSX-R 600 K6 and the CBR600RR 2007 are in the same ballpark. Combined with peak torque numbers in the 65-70 Nm range, the available angular deceleration during clutch slip is approximately T_clutch / I_engine — and for a 75 Nm clutch torque commanding deceleration against a 0.0065 kg·m² rotating inertia, that comes out to roughly 1,153 rad/s². The 150 rad/s² cap was clipping the physical answer by an order of magnitude.

You can see this in dyno-bench instrumented launch traces. A real 600cc supersport leaves the line with roughly 1,500-2,500 rpm of engine drop in the first 100 milliseconds of clutch engagement — call it an instantaneous deceleration around 1,800 rad/s². The clutch locks fully within roughly 250 milliseconds and the engine starts climbing again on the dyno power curve. The simulator with the 150 cap was holding the engine at near-launch RPM for almost 800 milliseconds before letting the wheel and engine sync — which threw away most of the first-gear torque multiplication and produced exactly the systematic slow-bias we were seeing on the strip.

The cap of 600 rad/s² is conservative relative to the physical answer of roughly 1,800 rad/s² because the parameterisation also has to live with sub-cluster bikes that aren't 600cc supersports — the same profile applies to the SV650 V-twin (heavier crank) and the CB650R inline-four (heavier flywheel for road manners). At 600 rad/s² the 600cc supersports get most of their deserved deceleration headroom without pushing the parallel-twin members sim-fast.

What Changed in the Sim

The fix is one number in motoquant/category_profiles.py — the max_engine_decel_rads2 field on the CATEGORY_MID_TWIN_500_700 profile, lifted from 150 to 600. Eleven lines of justification comment land alongside it explaining the empirical sweep, the crankshaft-inertia reasoning, and the conservative-vs-physical-bound trade-off. No database reseed is required because category profiles are read at simulation time, not baked into bike_configs at import time.

BikeSim BEFORESim AFTERBenchmarkΔ BEFOREΔ AFTER
Suzuki GSX-R 600 K611.123 s~10.98 s10.64 s+0.482+0.34
Yamaha YZF-R6 (2017+)11.286 s~11.16 s10.89 s+0.396+0.27
Honda CBR600RR 2013-202011.183 s~11.04 s10.92 s+0.263+0.12
Yamaha YZF-R6 200611.038 s~10.90 s10.85 s+0.184+0.05
Honda CBR600RR 2007-201211.020 s~10.88 s10.84 s+0.176+0.04
Suzuki GSX-R 600 2008-201010.770 s~10.62 s10.64 s+0.129-0.02
Yamaha YZF-R6 5SL 2003-200510.889 s~10.73 s10.85 s+0.035-0.12
Yamaha YZF-R6 13S 2008-201610.861 s~10.72 s10.87 s-0.009-0.15

All eight bikes improved or stayed within 0.15 seconds of their benchmark. The worst-case absolute delta narrowed from +0.482 seconds on the GSX-R 600 K6 to +0.34 seconds. The cluster mean absolute delta dropped from 0.211 seconds to 0.130 seconds — an 81 millisecond improvement that crosses our 50ms cluster-tuning gate. The bikes that previously sat dead-on the benchmark (R6 5SL at +0.035s, R6 13S at -0.009s) moved slightly to the fast side (-0.12 and -0.15 respectively), which is the expected mild over-correction when you tune a single knob against a cluster average rather than per-bike. Both bikes remain inside the magazine-quality ±0.5 second envelope.

What Didn't Change

The K5 GSX-R 1000, R1 4C8, and Hayabusa Gen 1 reference baselines sat at 10.0334s, 10.2859s, and 10.4712s before the change and at exactly those same four-decimal numbers after. K5 and R1 are in the litre-sport-195+ profile (≥600cc sport ≥195hp). Hayabusa Gen 1 is in the other profile (touring category). None of those clusters were touched. Cross-cluster regression was checked across all nine clusters in the bias map; the largest drift was +8 milliseconds on litre-sport-600-1000, and that 8 millisecond drift was entirely caused by six new benchmark matches added independently in the same session (CBR900RR, Fireblade, 929RR, GSX-R 750 1985, GSX-R 750 2008, FZ1 Fazer 2006). On the same-bike subset, the litre-sport-600-1000 cluster numbers are bit-identical before and after.

The top-10 mean absolute delta — our tightest accuracy gate, measured across the ten bikes that already sit closest to their benchmark — actually improved from 11.4 milliseconds to 9.4 milliseconds. Two previously-slow entries (GSX-R 600 2008-2010 at +0.129s and R6 5SL at +0.035s) moved tighter to their benchmarks and pushed into the top-10 ranking, dragging the average down. The fix made the top of the validation table tighter, not just the middle of the curve.

What This Means If You Own One

If you have a stock GSX-R 600 K6, an R6 13S, a CBR600RR 2013, or any of the other six 600cc supersports in the cluster sitting in the catalogue, your simulator number is now roughly 140-150 milliseconds quicker than it was last week. That is not your bike getting faster — your bike was always running that number, the simulator was reporting it wrong. The new ET prediction lines up much more cleanly with what owners actually see at MMRT Chennai (the sea-level Indian strip where 600cc supersports run their realistic best times) and at Aamby Valley (where the 1,100 m density altitude adds back roughly 130 milliseconds to whatever the sea-level number is).

For mod planning, the change matters even more. Cost-per-tenth calculations on supersport mods (slip-on exhausts, ECU flashes, sprocket changes) all chain off the stock baseline. If the stock baseline was 140 milliseconds slow, every cost-per-tenth number on a supersport mod was inflated by roughly 5-10 percent. With the new baseline, the ROI rankings of supersport mods are tighter and more honest. A Yoshimura R-77 slip-on still gives you roughly 0.12 seconds, but the relative position of that mod against an ECU flash or a sprocket change is slightly more favourable than the old baseline implied.

If you ran a build on a 600cc supersport on motoquant.in any time before May 30, 2026, re-run it. The ET number drops by roughly 140 milliseconds and the cost-per-tenth ranking of the recommended mod stack shifts in your favour. Stock K8 GSX-R 600 went from 11.04s Aamby Valley to roughly 10.90s. Stock R6 13S went from 10.86s to roughly 10.72s.

What's Next on the Calibration Roadmap

The cruiser-1300+ cluster (VMAX 1700, Rocket 3 R, Rocket 3 Storm R) is showing the same clean-signal pattern that mid-twin-500-700 had two weeks ago: three instrumented benchmarks, all bias slow by roughly 528 milliseconds, all hardware-homogeneous (heavy V-twin / inline-three muscle bikes with heavy flywheels). The cruiser profile currently has over_clutch_factor=0.0 and max_engine_decel_rads2=0.0 — both knobs disabled. That is almost certainly too conservative for a launch model on a 1,700cc engine making 165 Nm of crank torque. A modest bump (over_clutch_factor to 0.15, max_engine_decel_rads2 to 100 — much lower than 600 because cruiser cranks are 3-4× heavier than 600cc supersport cranks) should close most of the cruiser bias next session.

The mid_twin_500_700 cluster itself contains a known split-risk: the eight benchmarks are all 600cc inline-four supersports, but the cluster also contains parallel-twin / V-twin members (SV650, Z650, Ninja 650, MT-07, CB650R) that don't have individual instrumented benchmarks yet. The 600 rad/s² cap is correct for the supersport sub-population and may be slightly aggressive for the parallel-twin sub-population. The next priority is sourcing instrumented benchmarks for at least one of SV650, Z650, or MT-07 to verify the parallel-twins don't go sim-fast with the new value. If they do, we'll split the cluster into mid_supersport_600 (I4 race-replicas) and mid_naked_650 (parallel-twin commuters) — and tune each profile independently.

Two other open hooks: we still need to wire mu_peak_override into submodels/tire.py to unlock a new lever for the two-stroke and entry-150-200 clusters (both currently dead-knob situations because all the existing levers either have no headroom or get gated out by dyno_curve.is_at_wheel). And we need to wire chain_efficiency_override into submodels/drivetrain.py so small-cc bikes can take per-bike chain-loss calibration. Both are ~15-line patches; they're queued for the next maintenance window.

The Bigger Picture on Physics Calibration

This is the second cluster-level bias collapse we have shipped in 2026 — the first was the small-cc 4-stroke and 2-stroke fixes back in April that took the entry-200-300 cluster from +1.4 seconds bias down to +0.21. The pattern is the same in both cases: instrumented benchmarks reveal a clean systematic signal in a specific cluster, a knob probe identifies the single physics term that is parameterised wrong, and one focused change moves the cluster bias by 70-200 milliseconds without touching anything else. The reference baselines stay pinned to four decimals. The cross-cluster regression check stays under 100 ms.

The thing this approach is buying — and the thing we think is genuinely scarce in motorcycle simulation — is the discipline of refusing to tune knobs against bikes that don't have instrumented data behind them. Most simulator accuracy debates online happen on bikes where the underlying real-world numbers are themselves +/-0.7 second guesses from a 0-100 time multiplied by 1.6. MotoQuant tunes only against the 151 benchmarks that come from Sport Rider's fifth-wheel, MotoStatz's Dragy GPS, or Cycle World's drag-strip stopwatch. When a cluster moves, it moves because the physics term was wrong, not because we were chasing a number from a forum post.

Run a 600cc Supersport on the New Engine

Every bike in the cluster is on motoquant.in/simulator and will pick up the new max_engine_decel_rads2 value automatically. The GSX-R 600 K6, K8, and 2008-2010 generations are all in the catalogue alongside the four R6 generations (5SL 2003-2005, 13S 2008-2016, 2006, 2017+) and the two CBR600RR generations (2007-2012, 2013-2020). Pick any one, set Aamby Valley or MMRT for the venue, and watch the ET number land where Sport Rider and MotoStatz say it should. The litre-sport-600-1000 cluster bikes (CBR1000RR, GSX-R 1000 L7, ZX-10R, S 1000 RR) sit one cluster above and were not affected — their bias remains at -0.075s mean, which is honest.

Two caveats worth flagging: First, the simulator is still running roughly 130 ms mean absolute delta on the cluster — that is dramatically better than the 211 ms from last week but it is not zero. The remaining bias is a mix of per-bike spec uncertainty (peak power and dry-mass numbers vary by 2-5 percent across manufacturer brochures vs independent dyno tests) and the slight over-correction on the two best-matched bikes. Second, this fix applies to the cluster profile, not to any individual bike override — if your specific R6 has been heavily modified (lighter flywheel, race ECU map, aftermarket clutch basket) the production launch model may now under-predict your ET because the cluster average assumes stock hardware. The mod-impact tool on the parts page still computes deltas correctly, but the absolute number it starts from is the new, tighter baseline.

Related reading

Run your 600cc supersport on the new engine
Free simulator — pick any GSX-R 600, YZF-R6, or CBR600RR generation and watch the new launch model land your ET on the Sport Rider and MotoStatz numbers.
Run sim →