Steam engine piston — 2D slider-crank lab

Switch to 3D
Controls
Live readouts
Numerical checks
What to try
  1. Start with "Standard": speed climbs until the viscous load matches the steam power; the speed then ripples a few percent each stroke.
  2. Pick "Short cut-off": less steam is admitted, the indicator loop becomes slimmer but the expansion curve is longer, so work per kilogram of steam rises.
  3. Pick "Condensing (Watt)": lowering the back pressure to 0.2 bar widens the loop on the return side, the idea behind the separate condenser.
  4. Shrink the flywheel inertia and watch the speed-ripple trace (orange in the right graph) grow.
  5. Choose a short rod (L/r = 2): the piston motion becomes visibly non-sinusoidal and the top-dead-centre dwell differs from bottom.
The science

The crank pin moves on a circle of radius r; the crosshead is forced onto the cylinder axis by a rod of length L. Distance of the crosshead from the crank centre:

x = r cosθ + √(L² − r² sin²θ)

Piston travel from the outer dead centre is y = L + r − x. For L >> r this reduces to y ≈ r(1 − cosθ) + r² sin²θ / 2L with error up to r&sup4;/8L³.

Steam is admitted at pressure p₀ until a cut-off fraction of the stroke, then expands adiabatically (p Vγ = const, γ ≈ 1.3 for steam); the opposite side exhausts at back pressure pb.

Wstroke = p₀A·c·S + p₀Vc/(γ−1)·[1 − (Vc/Vend)γ−1] − pbAS

By virtual work the crank torque is Q = (ph − pc) A (dy/dθ), and the shaft obeys a Lagrange equation with variable effective inertia Ieff = Ifw + mr(dy/dθ)²:

Ieff θ″ + ½ (dIeff/dθ) θ′² = Q − bθ′

The flywheel stores kinetic energy ½Iω² during the power stroke, smoothing the uneven torque; the fluctuation coefficient is Cs = (ωmax − ωmin)/ωmean.

Simplifications: ideal adiabatic steam without condensation or heat loss, instantaneous valve events, no cylinder cushioning, no friction apart from the viscous load, piston rod area ignored. Not a design tool.