No prior differential geometry is required. The first unit builds the necessary exterior-calculus language from measurements.
Eight lessons · one thread of water
Begin with a loop.
End with water
moving on a surface.
Imagine following a patch of ocean as it travels over a curved planet. Which quantities move with the water? What does a loop remember? What can local vorticity never tell you about a current that circles the globe? This course develops the language for those questions before assembling a small shallow-water model.
Why shallow water?
A modest equation with a surprisingly large world.
When horizontal distances are much larger than the water depth, a three-dimensional fluid can often be approximated by a moving surface layer. That idea appears in ocean and coastal models, tides and tsunamis, atmospheric layers, and films flowing over curved objects.
- 01Depth can change.
Horizontal convergence raises the free surface; divergence lowers it. This is why we cannot simply project horizontal velocity to zero divergence.
- 02Geometry can matter.
On a planet or a curved mesh, gradients, areas, circulation, and transport all depend on the surface metric.
- 03Topology can survive locally invisible.
A current may wind around a periodic domain even where its vorticity vanishes. Those harmonic periods belong in the state.
This course is a foundation, not an operational ocean model. Rotation, bathymetry, coastlines, forcing, viscosity, wet/dry fronts, and robust large-scale numerics are later layers. The playground keeps them out until the representation and conservation laws are legible.
They are nonunique scalar fields used to factor a velocity one-form. They become local coordinates only where their differentials are independent.
Students should know which state is transported, which elliptic problem is solved, and which harmonic data topology leaves undetermined.
Clebsch velocity potential. It is not the pressure.
Euler pressure or a constraint multiplier.
Harmonic basis one-forms carrying global periods.
Water-column depth in the shallow-water unit.
From arrows to circulation.
Do not begin with three mysterious potentials. First learn what a velocity vector does, what its metric-dual one-form measures, and what exterior differentiation extracts.
- 01FORMS, d, AND THE HODGE STAROPEN LAB →
What kind of object lives where?
Distinguish vertex scalars, edge-integrated one-forms, face-integrated two-forms, and metric-dependent conversions.
Exit test: identify the type and integration domain of every variable. - 02THE PHYSICAL PROBLEMOPEN LESSON →
What must a fluid representation remember?
Separate velocity, circulation, vorticity, and incompressibility before comparing velocity, vorticity, and Clebsch states.
Exit test: explain why circulation is not the same datum as pointwise vorticity. - 03CLEBSCH IN ACTIONOPEN LAB →
How do α, β, and φ share the work?
Carry material labels, make the covector visible, and assemble the local velocity one-form. Leave the global obstruction for the topology unit.
Exit test: derive du♭ = dα ∧ dβ and state what dφ cannot change.
Boundaries, holes, and periods.
Stokes determines circulation around patch boundaries. It does not determine circulation around loops that bound no patch. That distinction becomes solver state.
- 04DISK → ANNULUSOPEN LAB →
When does circulation have to be vorticity?
Use a movable Stokes loop, then remove the center and separate vortical circulation from one harmonic degree of freedom.
Exit test: predict which combination of inner and outer circulation changes curl. - 05FLAT TORUSOPEN LAB →
Which two numbers does vorticity forget?
Hold local vorticity fixed while changing the two real harmonic periods and the resulting particle winding.
Exit test: explain why pressure projection cannot erase a harmonic period.
Prescribe and project before evolving.
A beautiful moving field is not automatically a fluid solution. The random-field lab isolates representation and pressure projection so the next unit can introduce physical time evolution without mixing the two ideas.
From incompressible flow to shallow water.
Do not project horizontal divergence to zero once it is responsible for changing layer depth. Preserve the representation lessons while replacing the constraint.
- 07CONSERVATIVE BASELINEOPEN LAB →
Which audits survive a change of variables?
Test a linear pressure-wave model, its gradient/divergence adjoint pair, mass, energy, CFL behavior, and a deliberately separate passive dye.
Exit test: explain why shallow-water divergence changes h instead of being projected away. - 08CLEBSCH SHALLOW WATEROPEN LAB →
How do label transport and height flux couple?
Follow the scalar → covector → vector → flux pipeline and keep the Clebsch and continuity equations conceptually distinct.
Exit test: identify which variables are material, which are diagnostic, and which elliptic solve remains.
Places to pause
A few notebooks to keep beside the experiments.
These pages are here when a symbol, a mesh operator, or a research connection deserves more time. They are detours, not prerequisites.
Compare backtracing, Stable Fluids, APIC, Clebsch transport, and conservative updates before choosing a student solver architecture.
BACKGROUND NOTEBOOKClebsch, exterior calculus, and nearby workReturn when a type, discrete storage location, gauge freedom, or research connection deserves a slower explanation.
IMPLEMENTATIONEditable sparse energiesExplore the optimization and differentiation infrastructure used elsewhere in the lab.
WORKFLOWRun, fork, and publishUse this when moving from a browser lesson to a student code project.