Steam Engine: Indicator Diagram, Cut-off, Flywheel and Governor

A double-acting mill engine on a Blender-built model: crank-slider torque, polytropic expansion, steam consumption, flywheel ripple and a Watt governor.

Switch to 2D

Presets

Playback

Parameters

Camera

Layers

Quality

Model check

The science

What is modelled

A horizontal double-acting steam engine of the kind that drove mills: a 0.32 m bore, 0.6 m stroke cylinder, a crosshead and connecting rod, a heavy flywheel, a slide valve and a flyball governor. Steam from the boiler is admitted at one end of the cylinder, shut off at the cut-off point and then expands, pushing the piston; on the return stroke the same face is open to the exhaust. The other face does the same half a turn later. The engine torque is worked out from the pressure on both faces and the crank geometry, and drives a flywheel that turns a fan-type load.

Equations

  • Crank-slider: crosshead position X = r cosθ + √(l² − r² sin²θ), so the piston displacement from head-end dead centre is s = X(0) − X(θ) and ds/dθ = r sinθ (1 + r cosθ / √(l² − r² sin²θ)).
  • Pressure on a face: p = pb until the stroke fraction reaches the cut-off, then p = pb (Vc/V)n (polytropic expansion, n about 1.135 for wet steam), then the exhaust pressure on the return stroke.
  • Work per face per revolution: W = pb(Vc − V0) + (pbVc − pxVe)/(n − 1) − pe(Ve − V0); the crank-end face uses the annulus (piston area minus rod area).
  • Torque on the crank (virtual work): T = Fs ds/dθ with Fs = pHEA − pCE(A − Arod) − patmArod.
  • Flywheel: I dω/dt = T(θ) − kω² − Tf, with I = m R² of the rim plus a small rotor term. The speed ripple follows the energy rule (ωmax − ωmin)/ω ≈ (Emax − Emin)/(Iω²).
  • Governor (Watt): a ball on an arm of length L on a spindle at ωs hangs at cosφ = g/(ωs² L). In governor mode the cut-off follows c = c0 + K(ωset − ω), a proportional controller that leaves a speed droop under load.
  • Steam used: the cylinder volume up to cut-off times the saturated steam density (ideal-gas value at the saturation temperature of the Antoine equation).

Checks run in the page

  • Kinematics: analytic ds/dθ against a central difference, rod length constant, stroke exactly 2r.
  • Work per revolution from integrating the crank torque (40000 steps) against the closed polytropic formula, for three steam conditions.
  • Steady-state speed of the integrated flywheel equation against the torque balance ω = √((Tm − Tf)/k).
  • Speed fluctuation against the energy formula.
  • A damped swinging governor ball against arccos(g/(ω²L)).

Honest simplifications

  • No compression of the trapped exhaust steam, no pre-admission (lead), no pressure drop through the ports and no heat exchange with the cylinder walls. Real engines lose a large part of their steam to initial condensation on the cold walls, so real consumption per kWh is higher than the figure shown, and real indicator diagrams have rounded corners.
  • The expansion exponent is a single constant; the slide valve is drawn schematically (it follows the admission state; no eccentric or valve-gear geometry, lap or lead).
  • The flywheel, bearings and guides are lumped into one moment of inertia and a constant friction torque; the rod and crosshead masses and the oscillating inertia forces are neglected. The load is an idealised fan law.
  • The governor is shown as a Watt governor with a proportional response; real governors have friction, dead zone and can hunt. The boiler is a constant-pressure source. Dimensions and coefficients are illustrative, not a particular historic engine.

What to try

  • Compare cut-off 0.2 and 0.7: the work per revolution rises, but the steam used per kWh rises faster.
  • Use "Condensing": the low exhaust pressure raises the work for the same boiler pressure.
  • Switch on the governor and press "Load step": the speed dips, the cut-off opens, and the speed settles with a droop.
  • Reduce the flywheel mass to 500 kg and watch the speed ripple in the third graph.
Loading model...
Loading Blender model...
Head-end indicator diagram: pressure against cylinder volume
Crank torque of both faces over one turn, with mean and load
Flywheel speed against time
Made with 🟠 Blender · Three.js