Slider-crank engine (3D)

A Blender-built cutaway engine with 1 to 4 cylinders: orbit it, watch the gas pressure and the flame, and see the forces on piston and rod from the same equations.

Switch to 2D

Presets

Playback

Geometry and masses

Running conditions

Camera

Layers

Quality

Model check

The science

Slider-crank kinematics

With crank radius r, rod length l and crank angle theta measured from top dead centre, the piston-pin distance from the crank axis is exactly x = r cos(theta) + sqrt(l^2 - r^2 sin^2(theta)). The rod swings by phi = asin((r / l) sin(theta)). Velocity and acceleration follow by differentiating with the crank speed w: v = w dx/dtheta, a = w^2 d2x/dtheta2. The familiar approximation a ~ r w^2 (cos theta + (r/l) cos 2 theta) shows why a short rod (large r/l) gives a stronger second harmonic and a larger side force N = F tan(phi); the page uses the exact expressions, not the approximation.

Cylinder pressure

A single-zone model integrates the first law over the closed part of the four-stroke cycle: dp/dtheta = (gamma - 1)/V dQ/dtheta - gamma p/V dV/dtheta with a Wiebe burn x_b = 1 - exp(-5 ((theta - theta_0)/Delta)^3), gamma = 1.30, intake at the chosen pressure and 320 K, ideal valve timing at the dead centres and a blow-down to 1.05 bar at exhaust opening. The heat released is the fuel energy of a stoichiometric charge (air/fuel 14.7, 44 MJ/kg) times the fuel-quantity slider times 0.55, which lumps wall heat loss and dissociation into one factor. The model has no friction, no pumping detail and no knock, so power is indicated power.

Forces, torque and the flywheel

The piston force is the gas force (p - p_case) A plus the inertia force m_rec w^2 d2x/dtheta2. By virtual work the shaft torque is T = F_piston (-dx/dtheta); this equals the cross product of the crank arm with the rod force F / cos(phi), which is one of the five checks. Over a full cycle the inertia torque averages to zero, while the gas torque supplies the mean torque. The flywheel smooths the ripple: I w dw/dtheta = T - T_mean, and the speed fluctuation coefficient is Cs = (w_max - w_min) / w_mean. More cylinders firing evenly shrink both the torque ripple and the shaking force.

Honest simplifications

The crank and rod are rigid, the reciprocating mass is one number (piston plus the small-end share of the rod), the rotating mass is balanced, there is no bearing friction, no valve overlap and no torsional vibration. The Blender model is a display cutaway: parts are drawn larger than a real small engine would show them and the rod and crank scale with the sliders.

What you see in 3D

The transparent gas column is coloured by pressure (blue intake, yellow compression, orange and red during the power stroke, grey exhaust) and the glowing ball is the burn. Red, blue and yellow arrows are the gas force, the inertia force and the side force on the liner. With several cylinders the first is nearest the camera and the flywheel sits at the far end. Animation speed is slowed so you can follow the strokes; the numbers always use the real engine speed.

Loading model...
Loading Blender model...
Cylinder pressure over the 720 degree cycle
Piston position, speed and acceleration
Gas, inertia and total torque
Made with 🟠 Blender · Three.js