eta at p acting on v only needs a vector and a covector at the same point.
Part II · put the representation to work
Build the field.
Find the seam.
Begin by carrying a known Clebsch triple through a steady flow. Then freeze time and inspect how the three scalar fields assemble the velocity one-form.
The torus experiment finally exposes what local vorticity cannot determine: two circulations around the two noncontractible cycles.
First experiment · Clebsch variables as evolving state
Carry the labels.
Let φ change.
Second experiment · Chapter 1 picture · dual pairing
Make the covector visible.
Before assembling a velocity one-form, see what a one-form actually does. Fix eta equals s d x, rotate the orange tangent vector, and watch the pairing count signed crossings. The cyan arrow is eta sharp; it appears only after choosing the Euclidean metric.
The vector crosses the level lines in the positive direction.
The metric defines eta sharp, so in this Euclidean picture eta of v is the metric pairing.
Set v equal to gamma dot and integrate: integral of u flat along gamma is circulation.
How the potentials are chosen
Do not choose three mysterious fields at once.
Start from the physical velocity you want. Split its specification into local vorticity and, when the surface has handles, global loop circulations. The Clebsch fields are a nonunique factorization of that data—not three additional observables.
- 01Name what is local and what is global.vorticity plus independent periods
The two-form is local circulation density. The periods are additional state only for noncontractible cycles; a genus-g surface has 2g of them.
- 02Choose two label families whose crossing matches it.factor the target vorticity
This factorization is local and highly nonunique. In a material formulation, these labels can instead be initialized once and transported with the fluid.
- 03Complete the velocity, including its periods.exact, label, and harmonic pieces
Locally the closed remainder is dφ. Globally, h supplies any periods the chosen labels do not carry. An incompressible projection changes only the exact part.
Third experiment · local field construction
Change one ingredient at a time.
- 01
Cross α and β. Where does vorticity appear?
- 02
Add dφ. What changes while curl stays fixed?
- 03
Project. Which exact component is removed?
The lab adds the exact form d q to make a deliberately divergent raw field. Projection should recover the four closed vortex cells exactly while leaving the vorticity colors unchanged.
SMOOTH VIEW: evaluate at a point · MESH VIEW: sample at vertices
The angle θ controls whether the two label families change in the same direction or independently.
Fourth experiment · the global test
Hold vorticity at zero.
Change the circulation.
The construction lab controls local curl. This final experiment deliberately sets that local signal to zero, then asks whether the velocity can still carry something around a noncontractible loop.
Follow one circulation all the way around a torus.
The smooth one-form eta h equals c d theta has zero vorticity everywhere yet a nonzero circulation around the torus hole. Locally it looks like the differential of an angle. Globally that angle must jump somewhere. The four views below separate charts, Clebsch labels, the exact term d phi, and harmonic circulation.
Every small contractible loop has zero circulation because it bounds a patch with zero vorticity.
The displayed loop is not a patch boundary, so Stokes does not force this number to vanish.
This embedded-torus demo isolates the θ coefficient. The flat-torus lab exposes both coefficients and both particle windings.
The angle tears at the orange seam.
Approaching the seam from opposite sides gives values near 2π and 0. The physical one-form is smooth, but a naïve difference of the scalar samples sees a false jump of 2π.
label α—
label β—
α dβ coefficient—
dφ coefficient—
dφ is the exact correction. It adds no vorticity because d squared phi is zero, and no closed-loop period when φ is single-valued. Here it cancels the oscillation in αdβ so their sum is the uniform circulation dθ.
local vorticity0
θ-cycle circulation—
Gold arrows show c d theta. Setting c to zero erases the global drift; changing c restores it. The local vorticity remains zero in every case, so it cannot tell you which state you chose.
CONTINUE WITH BOTH TORUS CYCLESOpen the flat-torus circulation lab →Track the two real harmonic coefficients and the resulting particle windings.Exact forms have zero period.
A single-valued scalar returns to its starting value after a closed loop. The toroidal circulation does not. Therefore c d theta is closed but not globally exact.
Move the cuts and glue derivatives.
Chart A fails only at one meridian; chart B puts its cut at another. On overlaps their angle values differ by a constant, so their differentials—and hence the velocity—agree exactly.
Two periodic labels can hide the cut.
The pair (α,β) traces an ellipse in label space; it is not a coordinate chart on the torus. Its weighted differential αdβ carries the desired period plus an oscillation, and the exact term dφ cancels that oscillation. The sum is smooth and uniform.
Keep topology as two state variables.
Rather than manage multivalued potentials, a mesh solver can store two harmonic basis one-forms and two circulation coefficients. Vorticity determines the coexact part, not c₁ and c₂; pressure projection subtracts an exact form and therefore cannot remove them.
The distinction between closed and exact forms is the de Rham-cohomology obstruction. The torus has two independent degree-one classes, corresponding to its two noncontractible cycles; see the MIT notes on de Rham cohomology and the Hodge Laplacian. The form and metric conventions follow Exterior Calculus in Graphics. The real harmonic coefficients and their role in fluid reconstruction follow Fluid Cohomology. The linked flat-torus lab treats both real coefficients first and keeps quantized subtraction clearly separate as an optional experiment.
Optional Part III
Move the implementation details off the experiment page.
The vector/covector types, Stokes derivation, DEC storage map, gauge freedom, and solver checklist now live on a compact reference page.
Notes-guided path · Chapters 1, 2, and 5
From arrows to circulation.
The course notes build exterior calculus in this order: distinguish vectors from covectors; interpret forms by what they integrate over; introduce d, wedge, and Stokes; add the metric and Hodge star; then treat fluid velocity as a one-form. The Clebsch formula is our worked example in that language.
An arrow is not a covector.
A vector v is a possible tangent displacement or velocity. A covector eta at p is a linear function of such displacements. Picture the vector as an arrow and the covector as a stack of local contour lines: the pairing counts signed contour crossings.
A one-form has two compatible pictures.
Microscopically, eta at p acting on v measures one tangent arrow. Macroscopically, the integral of eta along gamma adds those infinitesimal measurements along an oriented curve. For fluid velocity this integral is circulation.
Paint three scalar fields.
The fields phi, alpha, and beta map the surface to real numbers. They are not vectors or coordinates that the surface must obey. In this lab α and β are label fields; φ supplies an exact potential contribution.
A scalar derivative is a one-form.
For a tangent displacement v, the number d alpha of v is the instantaneous change of α along v. This definition needs no metric. Only after applying sharp g may the lab draw a gradient arrow.
A two-form measures oriented patches.
The value d alpha wedge d beta evaluated on v and w is the signed determinant of the label changes along two tangent directions. For velocity, the vorticity two-form d u flat measures the circulation around the patch boundary.
Now assemble the velocity one-form.
The scalar α scales the one-form d beta pointwise. Adding d phi gives a velocity covector. The surface metric then supplies the velocity arrow that actually transports a particle.
Incompressibility is a separate constraint.
Clebsch kinematics can still contain sources and sinks. Use the metric-dependent codifferential delta u flat to measure divergence. Solve for a scalar p whose exact one-form carries that part, then subtract it.
This route follows Stephanie Wang, Mohammad Sina Nabizadeh, and Albert Chern, Exterior Calculus in Graphics: Course Notes for a SIGGRAPH 2023 Course, especially Chapters 1, 2, and 5. The notes provide the vector/covector and fluid-form language; this lab then applies that language to the Clebsch parameterization.
Smooth form first · discrete cochain second
What the mesh stores.
A smooth form is defined all over the surface by what it measures. DEC stores a finite set of those measurements as cochains: point samples on vertices, line integrals on oriented edges, and area integrals on oriented faces.
Evaluate α at mesh vertices
The smooth scalar exists between vertices too. Its discrete 0-cochain keeps only the sampled values α(vi).
Integrate dα along each edge
On edge i → j, the integral of d alpha is alpha j minus alpha i. Reversing orientation reverses the sign.
Integrate vorticity over a face
The face cochain stores the integral of d alpha wedge d beta over f: the signed circulation around that face.
Measure u♭ along each edge
A discrete one-form stores line integrals, not vertex arrows. The metric and sharp g are needed to reconstruct a tangent velocity vector for drawing or advection.
Remove the exact 1-form dp
Solve Laplacian p = divergence u flat, then subtract d p. Curl is unchanged because d squared p is zero.
This smooth-to-discrete distinction follows the integration viewpoint in Exterior Calculus in Graphics and the primal-cochain implementation viewpoint in the Geometry Collective’s Discrete Exterior Calculus project.
Technical appendix
Metric, gauge freedom, and global completeness.
Part I made the representation choice. Open these only when you want the precise geometric bookkeeping behind the experiments.
Technical details, after the idea
Open these when the representation makes sense.
Where does the metric enter?
The metric is not needed for d, wedge products, or pullback. It is needed to turn a covector into a vector, turn a vorticity two-form into a displayed scalar, and define divergence:
How many degrees of freedom do Clebsch variables add?
None physically. With a fixed metric, u corresponds to eta uniquely. A surface one-form has two local component functions, whereas Clebsch uses three nonunique potentials. For any smooth F,
The representation is therefore an overcomplete encoding with gauge freedom, not a larger physical state.
What can fail globally on a surface?
Locally, factor omega; then u flat minus alpha d beta is closed and is locally d phi. Globally, topology contributes independent loop circulations:
Writing h as a harmonic basis expansion, the coefficients are fixed by the noncontractible periods. They are physical degrees of freedom of velocity—not gauge—and must be evolved or constrained separately. A single globally single-valued Clebsch pair may need multiple charts, multiple pairs, or this explicit harmonic component.
The velocity-versus-vorticity tradeoff and the circulation-preserving covector alternative are discussed in Covector Fluids. The differential-form conventions follow Exterior Calculus in Graphics.