The problem: downforce reads zero
Ask a sim for downforce and you get nothing. In Le Mans Ultimate, for example, the front- and rear-downforce channels are exposed but never populated — they sit at zero. So a naive tool can't show you aero balance at all. We take a different route: we don't ask for the force, we measure what the force does to the car.
The method — ride height tells the truth
Downforce pushes the car into the road; the springs compress; the ride height drops. That drop is observable. On a flat straight at steady speed — no braking, no cornering, lateral g ≈ 0 — the only thing squashing the car is aero. So:
It comes out as a relative percentage — robust, and always shown as an estimate.
The migration — aero or mechanical?
Sampled at several speeds, the CoP draws a curve. Its migration — how far it shifts from slow to fast — is the diagnosis a real engineer chases:
- Migration grows with speed → the imbalance is aerodynamic: act on ride height, rake or wing.
- A constant offset, flat with speed → the imbalance is mechanical: act on springs or anti-roll bars, not aero.
That one distinction stops you chasing an aero problem with a mechanical change — the single most common setup mistake.
Calibrating it
Computed, not exposed
All of this runs server-side, inside the plugin. The pit wall only ever receives the result — the CoP percentage, the migration, the verdict — marked as an estimate. The model itself stays ours. Built for sim racing; the same maths a race team runs in the wind tunnel.