A Gradient Never Swirls, a Curl Never Spreads
Across three lessons you've taken hold of two operators. Divergence asks "does it spread?", curl asks "does it turn?" Between them sit two promises that never break. A field built from a gradient has curl exactly zero, no matter how you twist it (∇×(∇φ)=0); a field built from a curl has divergence exactly zero, no matter how you stir it (∇·(∇×A)=0). A gradient can climb but never knows how to turn; a swirl can turn but never knows how to leak. More striking is the converse: any field in the world splits into a pure-source piece plus a pure-swirl piece. This is the Helmholtz decomposition. It cleaves one field into two characters, letting you lift out where the flow is born and where it merely spins.
Here's a scalar bump φ with the gradient arrows (∇φ) laid over it. They all point uphill toward the bump's summit. Use the slider to grow and shrink the bump's height. The arrows lengthen and shorten, surging, yet the curl color map beside them stays one neutral shade from start to finish. However you shake it, ∇×(∇φ) doesn't budge from zero. A gradient field carries only one sense of direction, "uphill," so a turning component can never arise in the first place. It can climb, but it never knows how to swirl.
Now the other side. From a stream function ψ we build a swirl field. The across part is ∂ψ/∂y, the up part is −∂ψ/∂x, and built this way the arrows turn around the loop. Use the slider to grow ψ's strength. The swirl gets fierce and faint, surging, yet the divergence color map beside it holds one neutral shade again. ∇·(swirl) doesn't move from zero. A field shaped from a stream function lets out exactly as much as comes in, so at no point does it leak or gather. It can turn, but it never knows how to spread. (In 3D this is ∇·(∇×A)=0; in 2D it shows up like this.)
Now look at the general field F, the sum of both. Toggle through three views. First, the full field F has arrows surging one way while turning at once, so source or swirl is hard to tell at a glance. Press "source part" and only the gradient piece (∇φ) remains, revealing a pure flow reaching out every way from the bump. Press "swirl part" and only the stream-function piece remains, showing the spinning grain. You've split the same F into two characters. That any complicated field cleaves like this into a source piece plus a swirl piece is the heart of the Helmholtz decomposition.
Lift out just the source part. The arrows are the gradient piece (∇φ), and the background color is its divergence. Its curl is zero, as you saw. But its divergence is not zero. Inside the bump the color deepens, showing that all of the flow's sources and sinks gather right here. Drag the probe. Wherever you put it the curl readout stays near zero (no turning), while the divergence readout splits clearly positive or negative by location. In one field, the part where flow is born and dies is carried entirely by this source piece. With no swirl at all.
Now lift out just the swirl part. The arrows are the stream-function piece, and the background color is its curl. Its divergence is zero, as you saw in the second block. But its curl is not zero. The two vortex sites deepen in color, where all of the field's turning gathers. Drag the probe. Wherever you put it the divergence readout stays near zero (no leaking), while the curl readout splits clearly counter-clockwise or clockwise by location. In the end one field is two pieces: the source piece holds all the divergence, the swirl piece holds all the curl. Divergence and curl, the two faces you learned across two lessons, merge here into one field and then split cleanly apart again.