PaceDynamics Documentation Open the app
Contents

Tyres

Relaxation length

A tyre builds its side force over a distance rolled, not a time, and what that lag does to a car steered quickly.

Model as of 0.338Figures from the Formula Student single-car templateOctave check Exact

Steer a wheel and its side force does not arrive at once. The tread in the contact patch has to be pulled sideways first, and the tyre pulls it by rolling: fresh tread enters the patch at the leading edge already displaced, and the old tread leaves at the back. So the force builds over a length of road, the relaxation length σ. On a race tyre it is about the tyre's radius. The quasi-steady models leave it out; the transient car runs with it.

Lag over distance

A wheel steered at once by a fixed slip angle, drawn from above at zero, one, two and three relaxation lengths along the road, its side force growing towards the steady value0.00.51.001σ2σ3σ4σα′ / α63 %95 %pathαFySteered by a step at the first wheel, the tyre makes up its force over the road it rolls, whatever the speed.
Fig. 1
One relaxation length rolled, the tyre has 63 % of its new side force; three, 95 %.
Schematic

The slip angle the tyre runs at, α′, the one its force is read at, follows the slip angle the geometry gives it, α, as a first-order lag in the distance rolled:

Show the equations with
σdα′ds=α−α′,after a step in α:α′=α(1−e−s/σ)(1)
dα′dt=vσ(α−α′),τ=σv(2)
τf=0.21810=21.8 ms at 10 m/s,0.21825=8.7 ms at 25 m/s(2)
α
the slip angle the wheel's direction and the patch's velocity give
α′
the slip angle the tyre runs at, which sets its force
s,v
the distance rolled and the speed, ds=vdt

After a step the tyre has made up 63 % of the new slip angle in one relaxation length and 95 % in three: about two-thirds of a metre of road on this car, whatever its speed. In time the lag shrinks as the car goes faster. Written as a time constant, the front tyres' 0.22 m at rest is 21.8 ms at 10 m/s but 8.7 ms at 25 m/s.

Where it matters

Because the lag is a length of road, what decides whether it matters is how fast the steer changes along the road. On a sweeper the steer changes over tens of metres and a fifth of a metre is nothing. Steered to and fro over a wavelength λ, as through a slalom, the tyre's slip angle lags the geometry's by a fixed share of the wavelength, at any speed:

Show the equations with
α′α=11+i2πσ/λ:gain=11+(2πσ/λ)2,phase=−arctan⁡2πσλ(3)
λ=15 m:gain=0.996,phase=−5.2∘, the force arriving 0.22 m late(3)
λ
the length of road over which the steer goes once to each side and back

Through cones every 15 m, half a wavelength apart, the front tyres keep almost all their force but deliver it 5° late. Late force is what the car's yaw responds to. The driver feels it as the car following the wheel a little behind, and steers further ahead to make up for it.

The template through a steer

The template’s front-left slip angle after a step of steer, against distance, at two speeds: the geometric slip angle and the one the tyre runs at0.00.51.01.52.02.50.00.51.01.52.0Distance rolled since the step (m)Slip angle (°)σf
10 m/s, as the tyre runs10 m/s, from the geometry25 m/s, as the tyre runs25 m/s, from the geometry
Fig. 2
After 2° of steer at once, the tyre's slip angle builds over the same distance at either speed; the car's yaw then sets where each settles.
Measured

Fig. 2 is the app's transient car running straight and given 2° of road-wheel steer at once, at two speeds. The front tyre's geometric slip angle jumps with the steer and then falls back as the car takes up its yaw. The slip angle the tyre runs at rises after it and catches it about a relaxation length later. Plotted against distance, the two speeds' lags start almost together, as equation (1) says. The faster one builds a little more slowly: the downforce at 25 m/s has stretched the front-left's length to 0.271 m, against 0.229 m at 10 m/s. Later they part, because the car's own yaw response is a matter of time, not distance.

The app steps equation (2) exactly over each integration step, with the geometric slip angle, the speed and the length held for the step. The length is each wheel's own: its axle's tyre's, read at the load the wheel carries that step.

Show the equations with
α′(t+Δt)=α+(α′(t)−α)e−vΔt/σ(4)
Δt=0.001 s,v=10 m/s,σFL=0.229 m:e−vΔt/σ=e−10⋅0.001/0.229(4)
Δt
the transient car's integration step
σ
this wheel's length at its load this step

The worked line is the front-left's first step. Its length is longer than at rest because the downforce at 10 m/s adds to its load. Over the next 2 m it shortens to 0.188 m as the wheel, on the inside of the turn, unloads. The rear-left's runs from 0.248 m to 0.209 m in the same way.

An explicit Euler step would need Δt well under σ/v to stay stable, which at 25 m/s is 8.7 ms. The exact step is stable at any speed.

How long it is

The length comes from the tyre's carcass. A lateral carcass stiffness Ky in series with the tread makes the force build as the carcass deflects, and the length is the ratio of the two stiffnesses:

Show the equations with
σ=Cα(Fz)Ky,Ky=0.87kz where nothing measured it(5)
Ky=0.87⋅110=95.7 N/mm:σf=2088895700=0.218 m,σr=2283095700=0.239 m(5)
Cα(Fz)
the cornering stiffness at the load, N/rad
Ky
the lateral stiffness of the carcass, the patch against the rim
kz
the tyre's vertical rate

Step-steer tests measure Ky: the rig steers the tyre standing, rolls it forward at walking pace, and the force arrives over the length. Without them the app takes Ky at 0.87 of the tyre's vertical rate, the median of the tyres in its library that measured both, and says the length is derived, not measured. The template's tyre states no length but a vertical rate of 110 N/mm, so the car derives each axle's length from its own tyre. The worked line reads them at the static loads, 692 N on a front wheel and 780 N on a rear. The rear is longer because it carries more of the weight.

The length grows with load as the cornering stiffness does, because the carcass under it does not. A wheel that lifts has next to no cornering stiffness and so next to no length: its tyre follows its slip almost at once. Only a tyre that states neither a length nor a vertical rate runs a flat 0.30 m, an ordinary figure for a Formula Student tyre and nothing more.

What the model assumes

  • One lag on the slip angle, the same at every slip. Pacejka's fuller models lag the carcass deflection itself and shorten the length as the tyre nears its peak; the app does not.
  • The slip ratio is not lagged. The transient car sets each wheel's drive or brake force rather than spinning the wheel up.
  • Each wheel's length is its axle's tyre's at that wheel's load. The app reads it from a table of the tyre's law, within 3e-5 of the law itself, and holds it over the step.
  • Where nothing measured the carcass, its lateral stiffness is 0.87 of the vertical rate: the median over many tyres, not this tyre's own.
  • The quasi-steady lap and the grip envelope are steady states and take no lag at all.

In the app

Tyres draws "Relaxation length vs load" for a tyre whose length was measured. For a derived one it writes the length in the tyre's card instead, at a quarter of the car's weight, marked derived, not measured: 229 mm at 736 N for the template's tyre. A tyre that states neither a length nor a vertical rate says it runs 0.30 m.

Vehicle Dynamics › Step and sine steer give the tyre lag at rest under each run: 0.22 m front, 0.24 m rear (derived) on the template. The transient lap and Drive run the same lengths, each wheel at its own load.

Check it yourself

example_step.m records the app's transient car through the step at 10 m/s: before each integration step, the geometric slip angle at the front-left and rear-left tyres, the length each lags by at its load that step, and the forward speed. The script rebuilds the lagged slip angles from those alone with equation (4), and compares them with the app's at eight steps along the run. It also derives each axle's length at rest from the tyre in example_tyre.m with equation (5), and compares it with the app's.

relaxation_length.mwith example_step.m, example_tyre.m, pd_mf.m, pd_compare.mExact: agrees to machine precision
>> relaxation_length

Lateral carcass 0.87 x 110 N/mm = 95.7 N/mm. At rest the relaxation length is
0.218 m front (692 N a wheel) and 0.239 m rear (780 N): at 10 m/s the front's
is a time constant of 21.8 ms.

      step    s [m] FL sigma [m]   FL alpha [deg]  FL alpha' [deg]
         1    0.010        0.229            2.017            0.086
         5    0.050        0.228            1.987            0.395
        10    0.100        0.227            1.893            0.702
        20    0.200        0.224            1.588            1.078
        40    0.400        0.208            0.870            1.141
        80    0.799        0.189            0.216            0.443
       120    1.198        0.213            0.362            0.312
       200    1.994        0.206            0.407            0.422

  The geometric slip angle jumps with the steer and then falls as the car yaws; the
  one the tyre runs at trails it by about a relaxation length of road. The inside
  front unloads as the car turns, and its length shortens with its load.

  Quantity                                This script   PaceDynamics       Diff
  -----------------------------------------------------------------------------
  Relaxation length at rest, front [m]        0.21827        0.21827         0% 
  Relaxation length at rest, rear [m]        0.238556       0.238556         0% 
  FL lagged slip after   1 steps [rad]      0.0015054      0.0015054         0% 
  FL lagged slip after   5 steps [rad]     0.00689573     0.00689573         0% 
  FL lagged slip after  10 steps [rad]      0.0122528      0.0122528         0% 
  FL lagged slip after  20 steps [rad]      0.0188221      0.0188221         0% 
  FL lagged slip after  40 steps [rad]      0.0199181      0.0199181         0% 
  FL lagged slip after  80 steps [rad]     0.00773142     0.00773142         0% 
  FL lagged slip after 120 steps [rad]     0.00543878     0.00543878         0% 
  FL lagged slip after 200 steps [rad]     0.00736428     0.00736428         0% 
  RL lagged slip after   1 steps [rad]   -1.68594e-07   -1.68594e-07         0% 
  RL lagged slip after   5 steps [rad]    2.24722e-06    2.24722e-06         0% 
  RL lagged slip after  10 steps [rad]    3.34854e-05    3.34854e-05         0% 
  RL lagged slip after  20 steps [rad]    0.000295823    0.000295823         0% 
  RL lagged slip after  40 steps [rad]     0.00197941     0.00197941         0% 
  RL lagged slip after  80 steps [rad]     0.00779057     0.00779057         0% 
  RL lagged slip after 120 steps [rad]     0.00991981     0.00991981         0% 
  RL lagged slip after 200 steps [rad]     0.00730255     0.00730255         0% 

  All 18 quantities agree with PaceDynamics (largest difference 0 %).
The script
%% Relaxation length: a tyre builds its force over distance, not time
%
% Companion to the documentation page "Relaxation length". Runs unchanged in GNU Octave
% (7 or later) and MATLAB. Run:
%
%   >> relaxation_length
%
% A tyre steered to a new slip angle alpha does not make the new force at once: its
% carcass has to deflect first, and it does so as it rolls. The slip angle it runs at,
% alpha', follows the one the geometry gives it as a first-order lag in the distance
% rolled, s:
%
%   sigma d(alpha')/ds = alpha - alpha'
%
% sigma is the relaxation length. Per unit time, ds = v dt, so the time constant is
% sigma / v: the same lag takes a third of the time at three times the speed.
%
% Over one step dt with alpha and v held, the lag is solved exactly:
%
%   alpha'(t + dt) = alpha + (alpha'(t) - alpha) exp(-v dt / sigma)
%
% which is how the app's transient car steps it. sigma is each wheel's own: its axle's
% tyre's length at the load the wheel carries that step, held over the step.
%
% How long it is: the cornering stiffness over the carcass's lateral stiffness,
%
%   sigma = C_alpha(F_z) / K_y
%
% Where no step-steer test measured K_y, the app takes it at 0.87 of the tyre's vertical
% rate, the median of the tyres in its library that measured both, and says the length is
% derived. The length grows with load as the cornering stiffness does.
%
% This script derives each axle's length at rest from the tyre, and rebuilds the lagged
% slip angles from the geometric ones and the lengths the app recorded on its own car,
% through a steer step.
%
% Reference: H. B. Pacejka, Tyre and Vehicle Dynamics, 3rd ed. (Butterworth-Heinemann,
% 2012), ch. 7.1.
%
% Part of the PaceDynamics documentation, https://pacedyn.dev/docs
% SPDX-License-Identifier: MIT

[step, lag] = example_step();
t = example_tyre();
n = numel(step.vx);
deg = pi / 180;

%% How long: each axle's length at rest, sigma = C_alpha / K_y
% The cornering stiffness as the app reads it, from a difference across +-0.1 deg.
axles = {'front', 'rear'};
Ky = step.lateralOverVertical * step.verticalRate * 1000;   % N/m
sigma0 = zeros(1, numel(axles));
for k = 1:numel(axles)
  Fz = step.load.(axles{k});
  Fy = @(a) getfield(pd_mf(t, Fz, a, 0), 'Fy0');
  e = 0.1 * deg;
  sigma0(k) = abs((Fy(e) - Fy(-e)) / (2 * e)) / Ky;
end
fprintf('\nLateral carcass %g x %g N/mm = %.1f N/mm. At rest the relaxation length is\n', step.lateralOverVertical, step.verticalRate, Ky / 1000);
fprintf('%.3f m front (%.0f N a wheel) and %.3f m rear (%.0f N): at %g m/s the front''s\n', sigma0(1), step.load.front, sigma0(2), step.load.rear, step.speed);
fprintf('is a time constant of %.1f ms.\n', 1000 * sigma0(1) / step.speed);

%% The lag, step by step, each wheel at its own length
fl = zeros(1, n + 1);                       % straight running: nothing to lag
rl = zeros(1, n + 1);
for i = 1:n
  v = abs(step.vx(i));
  fl(i + 1) = step.slipFL(i) + (fl(i) - step.slipFL(i)) * exp(-(v / step.sigmaFL(i)) * step.dt);
  rl(i + 1) = step.slipRL(i) + (rl(i) - step.slipRL(i)) * exp(-(v / step.sigmaRL(i)) * step.dt);
end

s = [0, cumsum(step.vx * step.dt)];          % distance rolled [m]
fprintf('\n  %8s %8s %12s %16s %16s\n', 'step', 's [m]', 'FL sigma [m]', 'FL alpha [deg]', 'FL alpha'' [deg]');
for i = lag.at
  j = min(i + 1, n);
  fprintf('  %8d %8.3f %12.3f %16.3f %16.3f\n', i, s(i + 1), step.sigmaFL(j), step.slipFL(j) * 180 / pi, fl(i + 1) * 180 / pi);
end
fprintf('\n  The geometric slip angle jumps with the steer and then falls as the car yaws; the\n');
fprintf('  one the tyre runs at trails it by about a relaxation length of road. The inside\n');
fprintf('  front unloads as the car turns, and its length shortens with its load.\n');

%% Against the app
pd_compare('Relaxation length at rest, front [m]', sigma0(1), lag.sigma.front);
pd_compare('Relaxation length at rest, rear [m]', sigma0(2), lag.sigma.rear);
for k = 1:numel(lag.at)
  pd_compare(sprintf('FL lagged slip after %3d steps [rad]', lag.at(k)), fl(lag.at(k) + 1), lag.FL(k));
end
for k = 1:numel(lag.at)
  pd_compare(sprintf('RL lagged slip after %3d steps [rad]', lag.at(k)), rl(lag.at(k) + 1), lag.RL(k));
end
pd_compare();

Download: relaxation_length.m · example_step.m · example_tyre.m · pd_mf.m · pd_compare.m. The scripts are MIT licensed.

Further reading

  • H. B. Pacejka, Tyre and Vehicle Dynamics, 3rd ed. (Butterworth-Heinemann, 2012), ch. 5 and 7, on the string model and the relaxation length.
  • W. F. Milliken and D. L. Milliken, Race Car Vehicle Dynamics (SAE, 1995), ch. 2, on tyre lag.
ChapterRelaxation length
PartTyres
Model as of0.338
Example carthe Formula Student single-car template