Conduction electrons in a metal are treated as a free Fermi gas that scatters off lattice vibrations (phonons) and impurities, exactly as in the Drude–Sommerfeld model:
σ = n e² τ / mₑ (electrical conductivity)
κ = (π²/3)(k_B/e)² σ T (Wiedemann–Franz law)
L₀ = κ/(σT) = (π²/3)(k_B/e)² ≈ 2.44×10⁻⁸ WΩK⁻²
The same electrons that carry charge also carry heat, so the two conductivities are locked together by the universal Lorenz number L₀ — true for any metal, independent of n, τ or crystal structure, as long as scattering is elastic.
Total scattering rate 1/τ combines two channels via Matthiessen's rule: 1/τ = 1/τimpurity + 1/τphonon(T). Elastic impurity scattering never spoils L/L₀ = 1, but inelastic small-angle electron-phonon scattering (dominant around T ≈ θD/5, where θD is the Debye temperature) is far more effective at relaxing the electric current than the heat current, so the Lorenz ratio dips measurably below 1 in that intermediate range and recovers at both very low and very high T — a real, textbook deviation from the "ideal" Wiedemann–Franz law.
- Metal preset — sets the real electron density n and Debye temperature θD for Cu, Ag, Al or Fe.
- Temperature — drives phonon-scattering resistivity ρph(T) and the Lorenz-ratio dip.
- Impurity level — adds elastic residual resistivity; more impurities suppress the dip and pin L/L₀ closer to 1, since elastic scattering never violates Wiedemann–Franz.
- Electric field — visual drift bias on the electron gas; higher conductivity produces a faster net drift for the same field.
Every particle in the 3D view undergoes real thermal jitter plus a Monte-Carlo scattering event with probability dt/τ per frame, so the animation speed of collisions directly tracks the computed relaxation time.