Loading
Four faces, one balance sheet. Why velocities live between cells, and why pressure is a global correction.
Explore the recorded preview
0606 / 10One unit enters a cell from the left. Two leave on the right. Nothing crosses the top or bottom. What happened to the missing balance?
A picture can hide the question inside smooth interpolation. A grid cannot. For an incompressible model, the face velocities must satisfy a volume balance. Pressure projection is part of making the numerical state respect that constraint.
In a unit square with equal face lengths, the net outward flux is:
right − left + top − bottomFor a general cell, face lengths and cell area enter the discrete divergence. The signs matter. Left and bottom contribute with the opposite orientation to right and top; adding all four speed magnitudes would not measure the balance.
Unit-cell teaching example: equal face lengths and unit area. Left/right are x components, positive right; bottom/top are y components, positive up. The subtraction applies the outward signs. Balancing this one cell is algebra; FLOW’s pressure projection must couple the whole domain.
Adjust the right face. At a value of 1, the example balances. The button sets that value algebraically. It is not a pressure solver, and it does not claim that a one-cell correction can solve a coupled fluid domain.
FLOW's fluid implementation uses a staggered arrangement: pressure-like scalar quantities belong at cell centers, while the relevant velocity components belong on faces. This is often called a MAC grid. It makes the account above natural: neighboring cells share the same face value.
A shared face is not just convenient storage. What one cell loses through that face is what its neighbor receives, with the opposite sign. Inconsistent face values would let the same boundary tell two incompatible stories.
The renderer eventually needs values at display locations, so it reconstructs fields from that arrangement. Those reconstructed values are useful for drawing and probing; they should not be mistaken for a different storage convention in the numerical method.
A split fluid step can produce an intermediate velocity that fails the incompressibility constraint. A pressure-related solve supplies a gradient correction. In a compatible discrete formulation, the corrected divergence is governed by the residual of that solve.
The correction couples cells. Changing one face affects its neighbor, and the solution depends on boundary conditions across the domain. Making every cell independently “look balanced” after the fact can create contradictions on shared faces.
This is why an implementation needs tests for operators and their composition, not just a low-looking number in a dashboard. A divergence diagnostic must match the grid convention being used. Otherwise the method can appear to pass a test that measures a different operator.
The stored projection correction is not automatically a physical-pressure measurement. A pressure field also needs a reference level, or gauge. FLOW’s quantitative pressure view remains unavailable until that interpretation is qualified.
The periodic slice in this project uses a Fourier-space approach for its pressure/velocity operations. Periodicity makes opposite edges neighbors and permits the spectral machinery used there. Closed walls and a channel with an inlet and outlet require a different treatment.
The general-MAC backend and the periodic backend therefore carry separate evidence. The historical general-engine qualification catalog cannot be reused as a certificate for every current periodic preset. Conversely, a passing periodic transport case says nothing by itself about an outlet reflection in a wake experiment.
This is not a reason to drown a beginner in solver details. It is a reason to draw the domain before explaining the algorithm. “The grid” is incomplete without the rule at its edges.
A coherent vortex can coexist with a small divergence error, or hide a large one. The motion's appearance is not a residual norm. Inspect both the field and the diagnostic, then ask which operator, normalization and resolution produced the number.
A finite residual tolerance is an engineering statement, not an exact mathematical zero. Report the tolerance and duration rather than presenting a passed check as a proof of every future state.
A small cell teaches a large rule: before trusting what moves across the screen, check whether neighboring pieces agree on what crossed between them.
Next: the other balance sheet—the dye that a beautiful picture was losing.
More to read
The fastest part of a shear flow can have zero local vorticity. Read the same field through three different questions.
A ten-unit run lost 5.115% of its dye. Keep the failed observation, change the transport method, measure again.
The hardest part of a comparison is everything you refuse to change. Copy the state, share the clock, test the control.