Weightlifting

Snatch and clean & jerk, simulated. The rulebook is the IWF Technical and Competition Rules & Regulations 2025; the lifter is a planar multibody model; the referees are three, and two of them decide.

The competition

Snatch · bar at -

Standings, ranked by TCRR 6.8.2
#LifterBody wtSnatchC&JTotal
The last twelve attempts
LiftLifterWeightAttResult

The thing this is about

Every other physical sport is an athlete acting on something: a ball, an implement, a vehicle, an opponent. Weightlifting is the one where the athlete accelerates a load upward and then moves underneath it. That inversion is the whole lift, and it is what this model is built to show. Once the feet leave the platform there is nothing to push against but the barbell itself: every newton the arms put into raising the bar is a newton driving the lifter down, and the bar and the body simply trade momentum through the arms until the lifter is beneath it.

Claim one: the bar never goes anywhere near overhead height

A snatch finishes with the barbell locked out above a standing lifter. It is natural to assume the bar is lifted there. It is not, and the gap is not small.

Solve for the deepest position a lifter's own joints allow — ankle dorsiflexion, knee flexion, hip flexion and shoulder flexion at their limits, the whole system's centre of mass over the middle of the foot, the barbell over the base of support, and the shoulder holding no more moment than it can — and the bar in that receiving position sits at 67.8 per cent of the lifter's stature. Stand the same lifter up with the bar locked overhead on a snatch grip and it is at 109.6 per cent. The difference, 41.8 points of stature — about 72 cm on a 1.72 m lifter — is covered by the lifter standing up underneath the bar, not by lifting it.

Neither of those two numbers was chosen. Both fall out of Winter's segment lengths and textbook ranges of motion. Both agree with people who measured real lifters: Safrushahar and colleagues put the catch at 69 per cent of stature and the standing hold at 109; Liu and colleagues report a peak bar height of 69.61 per cent for top-elite 69 kg men and 63.98 for sub-elite. The engine's own peak, simulated rather than solved, comes out at 69.4 per cent.

Claim two: the bar loops back toward the lifter — and this model does not reproduce it

Vorobyev classified snatch bar paths by whether they cross a vertical line through the bar's starting position. Cunanan and colleagues counted 319 successful snatches at the 2015 World and 2017 Pan-American Championships: type 3 (away, toward, away, toward) is the commonest at 53 per cent, type 2 (a backward loop that never crosses) 28 per cent, type 1 13 per cent, type 4 6 per cent. The backward loop toward the lifter is 3.6 to 7 cm in the published measurements, with a total horizontal excursion of 10 to 15 cm.

This engine's bar does not loop back at all. Reconstructed from the emitted track alone — by code that can see nothing but the barbell's position — the path is classified type 2 with zero crossings, a backward excursion of 0.0 cm, and about 16 cm of total horizontal travel, all of it forward. The classifier is not at fault: fed a synthetic type 1 path it says type 1. The model is. In a real first pull the lifter's shoulders sit in front of the bar and the weight shifts back onto the heels, drawing the bar toward the shins; in this model the arm is a single link swinging from the shoulder, and the shoulder rises faster than it travels back, so the bar drifts away instead. The horizontal half of the bar path is the part of this build that does not work, and saying so is more useful than tuning it until it agrees.

What the barbell does in flight, which is the interesting part

Xu and colleagues make the argument cleanly for the jerk: a bar leaving the drive at 1.52 m/s has enough momentum to rise about 12 cm, yet it rises over 20, so the athlete must still be applying an upward force. Wang and Liu measure the same thing in the snatch, putting the bar's downward acceleration at 8.92 m/s² rather than 9.81 while the lifter is airborne, with about 150 N still coming from the arms.

This engine reproduces the effect and overshoots the size of it. Over the longest airborne stretch the barbell's median acceleration is −5.2 m/s² against gravity's −9.81 — so it is emphatically not in free fall — but the arm force that implies is about 700 N, four to five times the published 150. The reason is the one calibration this model needs, below.

Three things the rulebook says that people get wrong

These are not opinions about the sport. They are what the 2025 IWF Technical and Competition Rules & Regulations say, and this app implements them as written.

  1. The minimum increment is one kilogram, and it always is. TCRR 6.6.2: The weight of the barbell must always be a multiple of one (1) kg. 6.6.3: The automatic progression after any successful attempt for the same athlete is one (1) kg. 8.1 applies the same one kilogram to records. The 2.5 kg increment people remember, and the 1 kg-for-records-only rule, are both gone.
  2. A tie is not broken on bodyweight. TCRR 6.8.2 breaks a tie on best result's attempt number – the Athlete who achieved the result earliest according to the Calling Order, and then, across groups, on who competed earlier in time. Searching the whole rulebook for bodyweight in the context of a tie returns nothing. The lighter athlete has no advantage; the earlier one does.
  3. The platform is 10 cm high. TCRR 3.3.2.2: square · measures four hundred (400) cm on each side · measures ten (10) cm in height. The IWF's own equipment summary page still carries the older 150 mm figure; the rulebook supersedes it.

Two more that are easy to state loosely. The down signal fires as soon as two referees have given identical decisions (3.3.6.5) — not when all three have pressed, and two reds fire it just as readily as two whites. And there is no fixed hold time: the rule is that the referees signal as soon as the athlete becomes motionless in all parts of the body. Any two- or three-second figure you have seen is not in the document.

What the model gets right, and what it does not

Every number this engine produces, against the published measurement it is answerable to
QuantityThis modelPublished
Bar height the receiving position needs67.8 % of stature67–69 %agrees
Bar height standing, locked overhead109.6 %107–110 %agrees
Peak bar height in a maximal snatch69.4 %69.6 % top-elite, 76 % in another sampleagrees
Bar on the shoulders, standing (the jerk rack)78.0 %78.7 %agrees
Peak vertical bar velocity1.99 m/s1.69–1.93 m/sa little fast
Knee re-flexion (the double knee bend)8.9°8.28–12.07°agrees
Barbell acceleration while the lifter is airborne−5.2 m/s²−8.92 m/s²right sign, too large
Arm force on the barbell in flightabout 700 Nabout 150 Nfour to five times too big
Peak vertical ground reaction2.5 × system weight1.4–1.8 ×too big, and for the same reason
Backward loop of the bar toward the lifter0.0 cm3.6–7 cmnot reproduced
Best snatch, 88 kg lifter180 kg (2.05 × body weight)about 1.9 ×close
Snatch as a fraction of clean & jerk0.950.821 men, 0.800 womennot reproduced
Knee angle at the bottom of the jerk dip118°106.4°shallow by twelve degrees
Split-jerk catch height, solved98.2 %87.7 %a symmetric model cannot split

The one calibration, and what it costs

With joint torques set at the top of the published two-leg range, a simulated international lifter could not come near the loads such a lifter really makes. The entire shortfall is in the third pull. A real lifter turns the arm over with an elbow and a shoulder girdle that leave the sagittal plane; this model's arm is one link with a length and an angle, and the turnover costs it roughly ten points of stature of bar height. Rather than hide that, it is one number: PULL_ASSIST = 4.0, applied to the leg joints only, and it is a measurement of the model's own shortfall, not a property of an athlete. Every joint moment and every ground reaction this engine reports is that factor above the published values, which is exactly why the ground-reaction row above is wrong by about that factor. The arm's own force limit is deliberately left unassisted — assisting it too removed the load response from the whole model, because an arm that strong holds any barbell up.

A discrepancy in a source, found by arithmetic

Xu and colleagues give a complete bar-height profile for 46 competition jerks. Their rack height, 78.7 per cent of stature, is anatomically exactly right: the clavicles sit a few centimetres below the acromion, which Winter puts at 81.8 per cent. But their fixed overhead height, 106.6 per cent, puts rack-to-overhead at 27.9 points of stature — and the distance from the shoulder joint to a bar in the palm is 35.5 points. The bar cannot travel less than one arm length from the shoulders to locked overhead. Something in that column is measured against a different datum. We use their rack and their catch and flag the overhead figure rather than quietly averaging it in.

What is a decision rather than a measurement

Two results that came out of the model rather than into it

The double knee bend is a consequence of balance. Nobody told this model to re-bend the knees. Ask only for a hip height and a trunk angle, with the whole system's centre of mass over the mid-foot, and as the trunk comes upright at a near-constant hip height the knees travel forward under the bar on their own: 8.9 degrees of re-flexion, against a published 8.28 to 12.07. Take the barbell out of the balance — use the lifter's own centre of mass instead, which is what a model without a load would do — and the re-flexion disappears entirely. The bar's weight is not incidental to the double knee bend; it is the cause.

The wide grip is what makes the turnover geometrically possible. Seen edge-on, the distance from the shoulder to the grip can pass through zero, because a wide grip puts the hand beside the shoulder rather than under it. Model the arm as a link that cannot fold shorter than a real three-dimensional arm and the shoulder collides with the bar at about 17 cm, the joint limit fires, and the barbell is thrown back down — which is what happened here, every single time, until the geometry was worked out. A wide grip also lowers the height the bar has to reach, by about four points of stature.

How it is tested

Four oracles, each blind to something the others can see, and then ten deliberate breakages that each oracle has to notice. The engine harness runs 4,326 assertions and catches ten of ten mutants.

The mutants matter as much as the oracles. Drop the −½ term from the Coriolis force and the energy check catches it. Inject a phantom 300 N updraught on the barbell and the momentum budget catches it. Feed the reconstruction a genuinely ballistic bar and it says so. Break the calling order, the tie-break, the disc loading, the down signal or the jury threshold, and the rules oracle catches each one. Put the shoulder joint at the acromion and the anthropometry check catches it. That section has already found two faults in the harness itself — an angular-momentum check that was simply wrong for a bead under gravity, and a mean that one joint-limit impact dragged from −3.5 m/s² to −13.7 and inverted a conclusion with it.

Where every number came from

-

Every constant and every claim is tagged: documented from a source that was opened, derived from documented values by a stated rule, measured from this engine and re-measured by the harness on every run, calibrated to reproduce a published observable, or reconstructed, which means nobody published it and it is a choice. Values that are general reference rather than something opened for this build — standard gravity, textbook goniometry — are flagged as such so the documented fraction is not flattered. Open the full list with the button at the top of the page.

The documents