Contents
Springs and dampers
Dampers
A damper's force against its speed, what it gives the wheel, the one number a linear model takes from it, and how damped that leaves the body's heave, pitch and roll.
The springs set where the car sits and how fast it bounces; the dampers set how quickly the bouncing dies. A damper is not one number. It is a curve of force against shaft speed, different in bump and in rebound, usually steep at low speed and flatter at high speed. This page reads that curve as the app does, takes it to the wheel, reduces it to the one coefficient a linear model needs, and finds how damped the body's heave, pitch and roll come out.
Force against speed
A damper part is a table of force against shaft speed, one row for bump and one for rebound, for each setting. The app reads it in straight lines between the points, and from the origin to the first point. Past the last point the last segment carries on, because a data sheet stops where the dyno did and a kerb can drive the shaft faster. A last segment that falls is held flat instead, so the force never turns back.
- the shaft's speed, mm/s, as a size: the half it belongs to says which way it moves
- the table's points; is the origin
- the rebound and bump halves of one setting
Every project's library holds a generic damper part with three settings, Soft, Medium and Firm, measured on no particular damper. Its Medium setting is the one quoted above. Each half rises steeply to a knee at 25 mm/s and more gently after it: a digressive damper. The steep part works on the body, whose motions are slow; the flat part lets a wheel over a kerb move fast without dragging the body with it. Rebound is the stronger half: damping in bump pushes the road into the body, while damping in rebound only holds the body back as its spring returns it. The figures draw rebound as positive force, as the Dampers tool does.
At the wheel
The damper is driven through the linkage like the spring. With the wheel moving at , the shaft moves at , and its force reaches the wheel multiplied by MR again:
- the damper's travel per millimetre of wheel travel, here the template's front corner's
For a linear damper this is the familiar (Springs, bars, heave and roll elements). A heave or roll element's damper is taken to the wheel by the same factor as its spring.
One number for a linear model
The modes below, the ride damping of the quarter car and the handling models all take a damper as one coefficient. The app takes the coefficient that dissipates as much energy as the curve does over a cycle of sinusoidal speed. Drive the damper at : a linear damper dissipates in a cycle, and the curve dissipates , its rebound half on the way out and its bump half on the way back. Setting the two equal:
- the amplitude of the speed, 25 mm/s for every readout that takes one number
This is the describing function of the damper, evaluated by the midpoint rule. At the wheel the integrand is instead of : Medium on the template's front corner is 2.478 N·s/mm at the wheel. Soft and Firm give 1.317 and 6.60 N·s/mm at 25 mm/s.
A digressive damper has a large coefficient at low speed and a small one at high speed. Which one a reader takes matters more than the curve's detail, so the app is consistent about it: every readout that takes one number takes it at 25 mm/s of wheel speed, where the body's own motions are. The Dampers tool shows 150 mm/s beside it for the kerbs. The Ride over road run is the exception: it drives the curves themselves, bump and rebound apart (Ride over a rough road).
How damped the body is
The quarter car gives each axle's ride damping (Sprung and unsprung mass). The whole body has three modes of its own: it heaves, pitches and rolls on four corners, each wheel on its tyre. That is the car of Ride over a rough road, linear here: its seven heights and their rates are fourteen states, , and each oscillating mode is a pair of eigenvalues of :
- the undamped and the damped frequency
A mode is credited to the motion that carries most of its kinetic energy: the four wheels, the body's heave, its pitch or its roll. Roll is the least damped of the three on the template. Its roll elements are stiffer than its heave elements while its dampers are the same at the wheel in both, and the body's roll inertia, 45 kg·m², is small; a stiffer mode with the same damper is less damped.
The textbook's critical damping for a front corner, , is 2.58 N·s/mm. Against it the template's 2.49 N·s/mm at the wheel looks nearly critical, yet the quarter car's ride mode has = 0.488. The tyre is in series with the suspension, and the damper only works on the suspension's share of the motion.
So more damping is not always a better-damped body. Scale every damper on the template together and each mode's rises, peaks and falls again. Past the peak the dampers lock the wheels to the body, and the body then bounces on the tyres, which hardly damp at all. The template's dampers sit near the top in heave and a little past it in pitch and roll.
What the model assumes
- A damper's force depends on its speed alone: not on its stroke, its temperature or which way it moved last. A gas spring's force at zero speed is left out; the curve passes through the origin.
- Wherever a model is linear, equation (3) at 25 mm/s of wheel speed stands for the curve. Only the ride over a road drives the curve itself.
- The modes are those of the car linearised at the static ride: linear springs and tyres, every motion ratio fixed, and no tyre ever leaving the road.
- The tyre damps nothing unless the car states a tyre damping; the template states none.
In the app
Dampers builds a damper part from a data sheet or a dyno run, one curve per setting, and draws the settings under "Curves", force at the shaft with rebound positive. Under "On" and the car's name it lists each damper's motion ratio and its linear equivalent at the wheel at 25 and 150 mm/s, each with the it gives: the axle's ride for a corner or heave damper, the body's roll for a roll damper.
Vehicle Dynamics › Ride over road lists, under "Body modes (roll · pitch)", the roll and pitch modes' frequencies and damping ratios, as equation (4) gives them. Under "Damper & transient", "Damping ζ F/R" is the quarter car's ride damping. The heave mode is not shown on its own; the quarter car's ride mode stands for it.
Check it yourself
The script reads the generic damper's Medium curve, takes it to the wheel, integrates equation (3) for every setting, and builds the template's fourteen-state car to find its three body modes with eig.
>> dampers Quantity This script PaceDynamics Diff ----------------------------------------------------------------------------- Medium, rebound at 10 mm/s, N 30 30 0% Medium, bump at 10 mm/s, N 20 20 0% Medium, rebound at 25 mm/s, N 75 75 0% Medium, bump at 25 mm/s, N 49 49 0% Medium, rebound at 100 mm/s, N 195 195 0% Medium, bump at 100 mm/s, N 127 127 0% Medium, rebound at 300 mm/s, N 515 515 0% Medium, bump at 300 mm/s, N 335 335 0% Medium, rebound at 400 mm/s, N 675 675 0% Medium at the wheel, 100 mm/s, N 194.64 194.64 0% Soft at 25 mm/s, N*s/mm 1.31682 1.31682 0% Soft at 150 mm/s, N*s/mm 0.930351 0.930351 0% Soft at the wheel, 25 mm/s 1.31413 1.31413 0% Medium at 25 mm/s, N*s/mm 2.48318 2.48318 0% Medium at 150 mm/s, N*s/mm 1.56505 1.56505 0% Medium at the wheel, 25 mm/s 2.47816 2.47816 0% Firm at 25 mm/s, N*s/mm 6.6 6.6 0% Firm at 150 mm/s, N*s/mm 2.95594 2.95594 1.5e-14% Firm at the wheel, 25 mm/s 6.58662 6.58662 0% front ride damping, N*s/mm 2.49493 2.49493 0% front 2 sqrt(k m), N*s/mm 2.5843 2.5843 1.7e-14% rear 2 sqrt(k m), N*s/mm 2.85273 2.85273 0% heave mode, Hz 4.33406 4.33406 8.2e-14% heave mode, damped, Hz 3.84618 3.84618 2.3e-13% heave mode, damping ratio 0.460938 0.460938 5.5e-13% pitch mode, Hz 5.92248 5.92248 6e-14% pitch mode, damped, Hz 5.34867 5.34867 0% pitch mode, damping ratio 0.429401 0.429401 1.7e-13% roll mode, Hz 7.59612 7.59612 7e-14% roll mode, damped, Hz 7.31075 7.31075 4.9e-14% roll mode, damping ratio 0.271523 0.271523 3.3e-13% All 31 quantities agree with PaceDynamics (largest difference 5.5e-13 %).
The script
%% Dampers: a force-velocity curve, the one number a linear model takes, and the body's modes % % Companion to the documentation page "Dampers". Runs unchanged in GNU Octave (7 or later) % and MATLAB. Edit the damper and the car in example_springs.m and example_car.m and run: % % >> dampers % % A damper part is a table of force against shaft speed, rebound and bump (pd_damper.m). % Through a motion ratio MR the wheel feels MR * F(MR * v). % % A linear model takes one coefficient. The app's is the one that takes out the same energy % as the curve over a sine of wheel speed with amplitude V (the describing function), % % c(V) = 1/(pi V) * integral over 0..pi of [R(V sin th) + B(V sin th)] sin th d th, % % at V = 25 mm/s, by the midpoint rule on 64 points. With the template's dampers in place, % the body's heave, pitch and roll modes are eigenvalues of the seven-degree-of-freedom car % (pd_body_modes.m), and each mode's damping ratio is -Re(lambda)/|lambda|. % % References: J. C. Dixon, The Shock Absorber Handbook (Wiley, 2007), ch. 5 and 7; % T. D. Gillespie, Fundamentals of Vehicle Dynamics (SAE, 1992), ch. 5. % % Part of the PaceDynamics documentation, https://pacedyn.dev/docs % SPDX-License-Identifier: MIT [car, ~] = example_car(); [spr, app] = example_springs(); app = app.dampers; d = spr.damper; % The describing function: rebound and bump halves, at the wheel through mr. th = ((0:63) + 0.5) * pi / 64; equivalent = @(R, B, mr, V) ... sum(mr * (pd_damper(d.speed, R, mr * V * sin(th)) + pd_damper(d.speed, B, mr * V * sin(th))) .* sin(th)) ... * (pi / 64) / (pi * V); %% The curve, at the shaft: the middle setting, which a car runs until its setup says otherwise VS = [10, 25, 50, 100, 200, 300]; med = 2; Fr = pd_damper(d.speed, d.rebound(med, :), VS); Fb = pd_damper(d.speed, d.bump(med, :), VS); for i = [1, 2, 4, 6] pd_compare(sprintf('Medium, rebound at %d mm/s, N', VS(i)), Fr(i), app.reboundAt(i)); pd_compare(sprintf('Medium, bump at %d mm/s, N', VS(i)), Fb(i), app.bumpAt(i)); end pd_compare('Medium, rebound at 400 mm/s, N', pd_damper(d.speed, d.rebound(med, :), 400), app.beyond); pd_compare('Medium at the wheel, 100 mm/s, N', d.mr * pd_damper(d.speed, d.rebound(med, :), d.mr * 100), app.wheelForce100); %% One coefficient for a linear model names = {'Soft', 'Medium', 'Firm'}; for k = 1:3 R = d.rebound(k, :); B = d.bump(k, :); pd_compare([names{k} ' at 25 mm/s, N*s/mm'], equivalent(R, B, 1, d.refLow), app.low(k)); pd_compare([names{k} ' at 150 mm/s, N*s/mm'], equivalent(R, B, 1, d.refHigh), app.high(k)); pd_compare([names{k} ' at the wheel, 25 mm/s'], equivalent(R, B, d.mr, d.refLow), app.lowAtWheel(k)); end %% The textbook's critical damping, which the tyre in series makes the wrong reference mm = 1e-3; m_s = car.massTotal - 4 * car.unsprungPerCorner; k_ride = @(k, kt) k * kt / (k + kt); cc_f = 2 * sqrt(k_ride(car.wheelRateFront + car.heaveSpringFront, car.tireRateFront) / mm * m_s * car.frontMassFrac / 2) * mm; cc_r = 2 * sqrt(k_ride(car.wheelRateRear + car.heaveSpringRear, car.tireRateRear) / mm * m_s * (1 - car.frontMassFrac) / 2) * mm; pd_compare('front ride damping, N*s/mm', car.damperFront + car.heaveDamperFront, app.rideDamping.front); pd_compare('front 2 sqrt(k m), N*s/mm', cc_f, app.critical.front); pd_compare('rear 2 sqrt(k m), N*s/mm', cc_r, app.critical.rear); %% The body's modes, from the eigenvalues of the seven-degree-of-freedom car modes = pd_body_modes(car, spr.inertia); for g = {'heave', 'pitch', 'roll'} m = modes.(g{1}); pd_compare([g{1} ' mode, Hz'], m.freq, app.modes.(g{1}).freq); pd_compare([g{1} ' mode, damped, Hz'], m.dampedFreq, app.modes.(g{1}).dampedFreq); pd_compare([g{1} ' mode, damping ratio'], m.dampingRatio, app.modes.(g{1}).dampingRatio); end pd_compare();
Download: dampers.m · example_springs.m · example_car.m · pd_damper.m · pd_body_modes.m · pd_compare.m. The scripts are MIT licensed.
Further reading
- J. C. Dixon, The Shock Absorber Handbook (Wiley, 2007), ch. 5 and 7, on damper characteristics and their effect on the car.
- T. D. Gillespie, Fundamentals of Vehicle Dynamics (SAE, 1992), ch. 5, on ride.
- W. F. Milliken and D. L. Milliken, Race Car Vehicle Dynamics (SAE, 1995), ch. 21, on dampers.