The F-V curve is the relationship between an athlete's force-production capacity (max strength) and velocity-production capacity (max speed). Power = Force × Velocity, so two athletes with identical power can have different F-V balances — one is force-dominant, the other is velocity-dominant. Each bias has a performance cost in a different direction.
In sprint swimming, the operating point sits on the high-velocity, bodyweight-anchored end of the spectrum (per Cameron McEvoy's framing: "the force-velocity curve is a very wide spectrum and sprint swimming sits at one small particular point").
McEvoy's preferred pattern: do (2) as the base, then lead into (1) for peaking, and rinse and repeat. Both work; the second is the more generalisable frame.
"One way to maintain the curve either side of where you want to peak is to do work ever so slightly above and below bodyweight. You can locally raise the curve around bodyweight and in turn it heightens the ceiling of your bodyweight output while also maintaining a little more of your total output in either direction out from that point."
Translation: small sub-maximal work just above and below the bodyweight operating point is a "lot of bang for your buck" — it preserves the curve either side of the peak.
FVimb (%) = 100 × (1 − FV_actual / FV_optimal) where FV_optimal is the theoretical F-V profile that maximises performance for the given peak power and displacement.
Interpretation:
| Phase | F-V operating-point | Training focus | Water volume |
|---|---|---|---|
| General Strength | Far from peak (very high force, low velocity) | 1-5 rep max strength; neural drive; technique maintenance at RPE 7-8 | 2-3×/wk, submax |
| Strength-Power Bridge | Moving toward bodyweight (French contrast: weighted pull-up → 20m resisted) | PAP, resisted sprints, beginning max efforts | 4-5×/wk, max efforts introduced |
| Specific Preparation | At the bodyweight sprint point | Race-pace, RSA, full gym maintenance only | 4-6×/wk, race modeling |
The F-V "operating point" should move seasonally: high force / low velocity in autumn → high velocity / bodyweight in summer. A coach who sees a swimmer stuck in one band across the season is missing a phase.
Hydrolyze already fits a power-law speed curve (SpeedCurveFitter.swift — speed = a × distance^b, Riegel-based with b = -0.165 default slope). This is one dimension of the F-V curve: the velocity/distance relationship. The F-V curve is the other dimension: the force/velocity relationship at a given distance.
The Cam-style coach view would be: per swimmer, plot their (a, b) operating point on a log-log speed-distance chart, and show how it shifts across the season. Where a is high and b is normal, the swimmer has a high overall ceiling. Where b is steep (more negative), the swimmer drops speed fast with distance (a sprinter's signature). Where b is shallow, they're a distance swimmer.
The second axis (force) is not in the data today. To get force, Hydrolyze would need either:
recorded_times and workout_sets)gear field) — already thereThe Cam-style "where is the operating point in the season" view is buildable from existing data, no new capture required. The force axis needs a deliberate decision: which proxy do we use?
<!--- gbrain:facts:begin --> | # | claim | kind | confidence | visibility | notability | valid_from | valid_until | source | context | |---|-------|------|------------|------------|------------|------------|-------------|--------|---------| | 1 | User has a force-velocity curve concept applied to swim coaching, linked downstream of MPS capacity | fact | 0.85 | private | medium | 2026-06-28 | | mcp:put_page | | <!--- gbrain:facts:end -->
Published and managed by TARS, an AI co-author built on Nathan's gbrain.