physical = { h, u } · diagnostic = { q }Directly visual and continuous with the integrability lessons. Pressure adds a gradient, so initially irrotational velocity stays curl-free.
One conservative pressure step + one passive transport audit
This first model keeps height and tangent velocity on vertices, derives an oriented edge 1-form for audits, and advances the linear gravity-wave equations. A passive dye visualizes velocity without entering pressure or energy. The physical wave state remains intentionally simple so the operator pair is tested before curvature, nonlinear transport, or wet/dry fronts.
uⁿ⁺¹ = uⁿ − Δt g G hⁿ
hⁿ⁺¹ = hⁿ − Δt H D uⁿ⁺¹
qⁿ⁺¹(x) = qⁿ(x − Δt u) diagnostic only
D = −Gᵀ under the uniform vertex mass. The adjointness defect below tests the implementation rather than asking you to trust the notation.
physical = { h, u } · diagnostic = { q }Directly visual and continuous with the integrability lessons. Pressure adds a gradient, so initially irrotational velocity stays curl-free.
αᵢⱼ = ½(uᵢ + uⱼ) · eᵢⱼUse this transfer for flux and circulation audits. It is a representation map, not a claim that vertex vectors are already 1-forms.
ζ = curl u · nA vorticity-based formulation exposes rotational modes and global harmonic content differently. The “seed vortex” button makes the missing mode visible before students replace the state.
A vorticity/divergence or vorticity/streamfunction state should reconstruct velocity, preserve global harmonic modes, and still provide the edge flux used by continuity. Keep the same manufactured tests while swapping only that middle representation.
Store ζ and δ (or ψ), plus the two harmonic periods on a torus.
Use the Hodge split and report the residual and gauge conditions.
Mass drift, energy, curl, adjointness, and edge flux must still be visible.