Numerical Methods · interactive worked example

ADI: 2D Transient Conduction Without the Penalty

A hot plate, suddenly cooled to zero on all four edges. In 2D, the explicit time-stepping limit is even tighter than the 1D fin's — every extra dimension makes explicit pay more. ADI sidesteps the penalty entirely by splitting each step into two easy 1D solves.

Completes the set: 1D steady (fin), 1D transient (fin stability), 2D steady (2D conduction) — this is 2D transient.

∂θ/∂t = α(∂²θ/∂x² + ∂²θ/∂y²)  ·  2D explicit limit: Δt ≤ 1 / (2α(1/Δx²+1/Δy²))
Half the 1D limit when Δx=Δy — every dimension you add tightens the explicit constraint further. ADI has no such limit, at any resolution.

Plate temperature — quenched on all 4 edges, decaying toward zero

Δt / Δt_critical (2D explicit)
Elapsed time
Status

What you're seeing

Method

Time step, as a multiple of the 2D explicit limit

0.50

Why 2D explicit is worse off than 1D

In 1D, the stability limit comes from one diffusion direction. In 2D, both $x$ and $y$ diffusion are trying to spread the error every step, and their effects add — so the safe time step shrinks. With equal spacing in both directions, the 2D limit is exactly half the 1D one: refining a 1D mesh hurts, but refining a 2D mesh hurts twice as much, before you've even added a third dimension.

The ADI trick: split the step, not the stability

ADI breaks one full time step into two half-steps. The first half-step treats $x$-diffusion implicitly and $y$-diffusion explicitly; the second half-step swaps which direction is implicit. Each half-step is only implicit in one direction at a time, which means it's just a row-by-row (or column-by-column) tridiagonal solve — the same fast Thomas algorithm from the 1D fin-stability lab, run once per row, then once per column. Stitch the two half-steps together and the result is unconditionally stable in both directions at once, for a cost barely more than two 1D solves.

▶ In the lab

Push the explicit time step past 1.0× and press Play — it diverges, sometimes after a deceptively calm-looking start (instability right at the edge of the limit grows slowly before it suddenly doesn't). Switch to ADI at 3× or 5× that same "explicit-only" limit and watch it stay perfectly smooth.

EngineeringCandy · 2D explicit vs. ADI, same plate, same quench · break the time step on purpose