Non-Equilibrium Steady State - 2D heat flow map

A hot and a cold reservoir drive a constant flux through a chain of cells, producing entropy at a steady rate.

Switch to 3D

Presets

Playback

Parameters

Model checks

The science

Fourier conduction on a lattice

Cell i exchanges heat with its neighbours: dT_i/dt = k (T_(i-1) - 2 T_i + T_(i+1)), with the two end cells clamped to the reservoir temperatures T0 + dT/2 and T0 - dT/2. The flux across each link is J_i = k (T_i - T_(i+1)).

Steady state

The profile relaxes to a straight line and every link carries the same flux J = k dT / (N - 1) for ever: a non-equilibrium steady state. The slowest relaxation mode decays at rate lambda = 2k (1 - cos(pi / (N - 1))), about k pi^2 / (N-1)^2 for a long chain, so a longer chain takes quadratically longer to settle.

Entropy production

Each link produces sigma_i = J_i (1/T_(i+1) - 1/T_i) >= 0. In the steady state the sum telescopes: S_dot = J (1/T_cold - 1/T_hot). It is zero only at dT = 0 (equilibrium), and positive for any flow: the second law in action.

Honest simplifications: one-dimensional chain, constant conductivity, no heat capacity differences, reservoirs are ideal, the cells in the 3D picture across the width share one temperature. The time unit is the model's own, not seconds.

What to try
  • Press Restart and watch the flat chain relax to a straight line; compare the decay with the relaxation time in the readouts.
  • Double the chain length and see the steady-state flux halve and the relaxation take about four times longer.
  • Switch the gradient off: flux and entropy production fall to zero.
  • Raise the mean temperature: the same flux produces less entropy because S_dot scales as 1/T squared.
Temperature profile against position (dashed: linear steady state)
Link flux J and entropy production per link
Total entropy production and flux against time