Numerical Methods · Design background

Why Explicit Time-Stepping Has a Speed Limit

The same fin, the same spatial discretization as before — the only new ingredient is time, and time is where a finite-difference scheme can quietly stop being trustworthy.

▶ Play the lab📖 Design background

1Adding time to the fin equation

The steady fin answered "what does the temperature profile settle into?" This lab answers "how does it get there?" — by putting the time derivative back in:

$$ \frac{\partial \theta}{\partial t} = \alpha\frac{\partial^2\theta}{\partial x^2} - \alpha m^2\theta, \qquad \alpha=\frac{k}{\rho c_p} $$

$\alpha$, the thermal diffusivity, sets how fast a thermal disturbance spreads — the same quantity from the Transient Conduction lab, just now applied pointwise along the fin instead of lumped into one number for the whole body.

2Explicit: fast per step, but not free

The most direct way to step forward: estimate tomorrow's temperature at each point using only today's values at that point and its neighbors.

$$ \theta_i^{n+1} = \theta_i^n(1-2\mathrm{Fo}-\alpha m^2\Delta t) + \mathrm{Fo}(\theta_{i-1}^n+\theta_{i+1}^n), \qquad \mathrm{Fo}=\frac{\alpha\Delta t}{\Delta x^2} $$

This is just arithmetic — no linear system to solve, each step is a single pass over the grid. The catch is hiding in that $(1-2\mathrm{Fo}-\alpha m^2\Delta t)$ coefficient: if it goes negative, the scheme starts weighting yesterday's value by a negative number, which means any tiny error — even ordinary floating-point rounding — gets amplified instead of damped at every step. Demand that coefficient stay non-negative and you get the stability limit:

$$ \Delta t \le \Delta t_{crit} = \frac{1}{2\alpha/\Delta x^2 + \alpha m^2} $$

3What "blowing up" actually looks like

Once $\Delta t$ exceeds that limit, the error doesn't grow gently — it grows geometrically, flipping sign each step (you can see this as the curve starting to oscillate before it visibly diverges). Within a few dozen steps, ordinary double-precision floating point numbers overflow into values with no physical meaning at all. This is purely a property of the numerical scheme, not the physics: a real copper fin obviously doesn't develop a million-degree oscillation. The lesson is that "the computer gave an answer" and "the answer means something" are two different claims, and a stability analysis is what tells you whether you're allowed to believe the first implies the second.

▶ In the lab

Try the "Blow it up" preset with Explicit selected, then switch to Implicit at the identical time-step ratio — same equation, same grid, wildly different fate. Open the lab →

4Implicit: paying up front for the right to use any step size

Implicit time-stepping writes tomorrow's value in terms of tomorrow's neighbors too, which means every node's new value depends on every other new value — solved all at once as a small tridiagonal linear system (the Gauss-Seidel lab solves general dense or sparse systems the same way, just iteratively instead of by direct elimination here). That coupling is exactly what buys unconditional stability: there's no analogous "coefficient goes negative" failure mode, so any $\Delta t$ gives a bounded, physically sensible answer. The tradeoff is pure efficiency, not correctness — a too-large implicit step can step right past real transient behavior you wanted to see, but it will never diverge the way explicit does.

Key takeaways

EngineeringCandy · Learn · the design thinking behind the playground