An AC75 sailing simulator

Apparent

Crew an America's Cup foiling monohull in San Francisco Bay.

Its forces come from published physics, the bay from public survey data, and the boat has five crew stations. Take one in VR or on a desktop; an emulated crew sails the others. Or fill the boat with friends.

Recorded in the game: the AC75 at 28 knots on its foils in the race area, the evening light behind the Golden Gate.

The name// Apparent wind

Why Apparent

An AC75 sails in a wind it makes itself. Once it flies, most of the wind on its sails is the boat's own speed.

The true wind is what blows over the bay. The apparent wind is what the sails feel: the true wind plus the wind of the boat's own motion. Read off the helm's instruments in the session that recorded this page's pictures:

True wind
10.7kn
Boat speed
30.0kn
Apparent wind
34.0kn
Against the true
3.2×

What makes it real// Numbers you can check

An engineering simulator first

Nothing is tuned by eye. Every force comes from physics or a published measurement, and the boat is checked against reference data from the real one.

Physics

From published sources, not from feel.

The engine is a multibody simulation written in Rust: rigid bodies on joints, every force acting where it really acts. It runs at a fixed step in double precision, so a session replays bit for bit, and it compiles to WebAssembly to run in the browser.

  • Foils and sails are strips, each seeing its own flow, with Prandtl's lifting line for induced drag and Wagner's lag on sudden changes.
  • Foils ventilate and cavitate, and lose lift near the surface (ventilation inception after Damley-Strnad et al., 2019).
  • The foils bend and twist under load, by the arms' stiffness: the flaps lose a quarter of their effect at 36 knots.
  • The hull floats on its sections, with ITTC-57 friction, Delft series residuary resistance, Savitsky's planing drag and Zarnick's strip theory.
The AC75 flying at golden hour, its windward foil raised, its leeward foil and rudder in the water throwing a spray sheet, the Golden Gate Bridge behind.
Flying on the leeward foil and the rudder's elevator. The spray off each strut follows Chapman's surface-piercing strut tests.

The boat

An AC75 to its class rule.

The boat is built from the AC75 Class Rule V3.01, the rule of the 38th America's Cup, and from Tannenberg et al. (2023): the hull's lines, the foil arms on the rule's cant axes with their T-wings and flaps, the rudder and its elevator, the double-skin main on a wing mast, and the crew where the rule seats them.

  • What the crew sees is what the rule allows: the live displays, the instruments two seconds late, TRACI's race data, the alarms.
  • No flow sensors, as the rule forbids them: the flight display estimates each foil's margin to stall from strain gauges, the IMU and ride height.
  • Power is limited: the rig's power system limits how fast the sails come in; the cant rams and flaps run on batteries.
The flying trimmer's primary flight display: speed tape, attitude indicator, ride height as an altimeter, and per-foil stall, ventilation and cavitation bars.
The flying trimmer's display, read as an aircraft's: speed, attitude, ride height as an altimeter, and each wing's margins to stall, ventilation and cavitation.

San Francisco Bay

The bay, from public survey data.

The land, the bay floor and the aerial photographs come from NOAA and USGS; the city's 15,215 buildings from OpenStreetMap, each with its own colours and windows. Seven landmarks are modelled on their footprints, and both bridges are built to their published dimensions.

  • The bottom is in the physics. Every hull, foil and rudder can touch it: sail into a seawall and the boat stops; cut a shoal and the rudder hits.
  • Round the course the ground is on a 5 m grid and the photographs at 1 m; out to the skyline, 82 km across.
The AC75 sailing toward the Golden Gate Bridge, the Marin Headlands and the Presidio either side, race marks on the water.
The Golden Gate from the race area, from the game.

Wind and tide

The land shapes the wind, and the tide moves the water.

The summer westerly pours through the Gate under the marine layer, flows round and over the hills and the city, slows over rough ground and leaves lees behind steep slopes, all computed per direction from the terrain and the buildings. Gusts, oscillations and turbulence ride on top.

  • Through the Gate the wind runs 1.1 to 1.2 times the free stream; in the lees of Sausalito and Tiburon, about half. The water shows it: rougher in the jet, glassy in the lees.
  • The tide is a day of NOAA's San Francisco Bay forecast model, hourly. Its current moves the water under every foil, and against NOAA's predictions at four stations it correlates at 0.99.

Against the bay's weather stations the wind is close on the course and wrong in the east and north bay, where the model has no inland pull.

The AC75 on its foils in the race area, Alcatraz and the Bay Bridge on the horizon, the committee boat to the right.
Alcatraz and the Bay Bridge beyond the boat, the committee boat on the right.

Crew// One boat, five stations

People or AI

Five stations, as the rule seats them. Take any one; an emulated crew fills the rest, acting only on what its station can see, at a person's speed.

  • Helm, starboardSteers on its tackSets the heading and the helm steers to it, or takes the wheel itself. Calls the tacks and gybes.
  • Helm, portThe other tackSteers on the other tack: the wheel passes across as the sails come over.
  • Sail trimmerMain and jibThe sheets, the main's camber and leech, and the heel by depowering.
  • Flying trimmerRide heightFlies the boat on the flaps and the elevator's rake, and works each foil's cant.
  • P5Energy and alarmsWatches the energy bank, calls the trimmers to save it, and sees who is doing what.

In the boat

VR or a desktop, alone or with friends.

On a desktop each station has its keys, its console and its display. In a headset you sit in the station's pod: grip the wheel's rim to turn it, press the console's buttons by touch or by pointing, and feel the wheel's load as vibration.

  • Several people, one boat. A crew server runs the AC75 on one PC and each browser or headset on the network takes a free station. Whoever leaves hands the station back to the emulated crew.
  • Every crew session is logged and replays bit for bit, faster than real time.

The VR crew has been checked in an emulated headset in a desktop browser, not yet on a headset. Whether the wheel, the panels and the vibration feel right is for the first sessions on a Quest to say.

The view from the starboard helm's pod at 30 knots: the deck, the main, the windward foil raised clear of the water, the city front ahead.
From the starboard helm at 30 knots: the windward foil raised, the City Front ahead.
The helm in VR: the station's display and console as panels beside the wheel.
The helm in VR, the display and console as panels by the wheel.

Racing// The America's Cup's own rules

Courses, umpires, results

A course laid to the wind between the bridge and Alcatraz. Judged after every step by the America's Cup's racing rules.

The race

From the warning signal to the finish.

The race committee measures the wind, lays the course and runs the start sequence. Then the legs, through the gates, to the finish at the leeward gate, with the boundary, the laylines and each mark's zone on the water.

  • Umpires call an early start, the entry, the boundary and late penalties. A penalty is done once the boat has lost 75 m on a reference boat sailing the target speed.
  • TRACI, the rule's race data, gives the time to the line, the laylines and the boundary on every station's display.
  • Results: the start, each leg's time and speed, and the time gained or lost on the reference boat. The best time in the same conditions is kept.
P5's view during a race: the race clock with the leg and last signal, TRACI's map of the course, the station display and the minimap.
A race in the bay from P5's station: the race clock, TRACI's map with the laylines, and the station's display.
A results card: finished in 35:35.9, the start and four legs with time, speed, VMG and gain on the reference boat, the wind and the tide.
The results card after a four-leg race at 12 knots on the flood.

Design bench// Same wind, same sea

Designs are files

Change the boat, then race it against the old one. Two designs, identical conditions, and the difference measured.

The bench

A design is a few lines of what it changes.

Hull, foils, sails and systems are inputs, never constants in the code. A design names the boat it starts from and lists its changes; on loading it is checked against the class rule and against the range each model is valid in.

  • Compare two designs on the same scenarios, wave seeds and wind: the steady-trim speed polar, the flight modes and their stability margins, the take-off.
  • Sail any design in the game too, at the helm, in real time.
  • The models say what they rest on: physics from geometry carries over to a new design; a regression carries over within its range; a calibration to one boat is flagged.
# designs/ac75/span-4.0.toml: a variant lists only what it changes
base  = "default.toml"
about = "wing span 4.0 m against the box's 4.5 m, same chords"
[wing]
span  = 4.0  # m

$ sail-lab ac75 compare default span-4.0
metric                  default  span-4.0   B − A    unc  res
take-off  8 kn, kn        18.39     19.30   +0.91   0.39  yes
take-off 12 kn, s         21.00     23.51   +2.51   0.11  yes
upwind    8 kn, VMG kn    17.45     17.40   −0.05   0.09  no
upwind   11 kn, VMG kn    20.73     21.00   +0.26   0.10  yes
downwind 11 kn, kn        35.21     35.66   +0.45   0.04  yes
Wings half a metre shorter: the boat takes off later and sails a little faster once flying. res says whether a difference is larger than the model's own uncertainty; each line also lists the calibrations it rests on.

What's coming// Planned, not built

Planned

Next: a second boat on the water. Match racing against an AI or a friend, a tactician, and crews sailing together over the internet.

None of this is built yet. It's the plan for the next milestones.

  • PlannedMatch racingTwo AC75s in one race, judged by the America's Cup's match racing rules, against an AI opponent or a friend's boat, with each boat's wind shadow on the other.
  • PlannedA tacticianA duty any of the five crew can take: headings, tacks and calls to save energy. Optional: the helm does it if nobody does, or an AI.
  • PlannedCrews onlineThe crew server on Matrice's own server, so friends can sail in one boat, or against each other, from home.

Apparent isn't public yet. There is no download or sign-up today. This page will say when there is.

Credits// Data, sources, licences

The bay's data

Terrain and the bay floor
NOAA National Centers for Environmental Information, the CUDEM 1/9 arc-second topobathy, built from USGS and NOAA lidar. Public domain. Not for navigation.
Aerial imagery
USDA Farm Service Agency, NAIP (0.6 m), via USGS The National Map. Public domain.
Buildings and places
© OpenStreetMap contributors, under the Open Database Licence (ODbL 1.0). The city's tiles are a derivative database under the ODbL too.
Tide and current
NOAA National Ocean Service, the San Francisco Bay Operational Forecast System (SFBOFS), from NOAA's open data on AWS. Public domain. Not for navigation.
Wind and tide checks
NOAA's harmonic current predictions and tide gauge at San Francisco, and the bay's weather stations.

The boat and the physics

The AC75
AC75 Class Rule V3.01 (America's Cup 38); Tannenberg et al. 2023; the America's Cup's racing rules (RRS AC) and sailing instructions for the races.
Hydrodynamics and aerodynamics
Prandtl's lifting line, Wagner's lift lag, ITTC-57 friction, the Delft Systematic Yacht Hull Series (Keuning & Katgert 2008), Savitsky's planing hull, Zarnick's strip theory, Damley-Strnad et al. 2019 on ventilation, Chapman's surface-piercing strut tests.
Wind over the land
Jackson & Hunt 1975 and Mason & Sykes 1979 for flow over terrain, Elliott 1958 for roughness changes, Macdonald et al. 1998 for the city's roughness, Wood 1995 for lees.
Crew, deck gear, marks and landmarks
Made with Meshy, on a paid plan.
On this page
Geist and JetBrains Mono, under the SIL Open Font Licence. Every image is from the game.