digitalmodel · CFD verification suite · case 5 · interactive

Dam Break: interFoam VOF vs the Martin & Moyce (1952) Experiments

First free-surface (multiphase) case of the suite — the keystone validation gating every marine free-surface workflow (wave loading, green water, sloshing). Issue #1165, epic #1161. Charts are interactive (hover, zoom, toggle series); the collapse animation can be scrubbed frame by frame.

VERIFIED — surge front within 10% gate; mass conserved to <10⁻⁶

SolverinterFoam (VOF), OpenFOAM ESI v2312
BenchmarkMartin & Moyce (1952), n²=2
Front deviationmean 3.0% / max 8.1% (gate-corrected)
Mass drift6.4e-07 (gate < 1%)
Mesh288×144 uniform, 41,472 cells
Regression testtests/solvers/openfoam/validation/test_dam_break.py

1  Objective

Reproduce the classic 2D collapse of a water column on a rigid horizontal plane and verify the volume-of-fluid (VOF) free-surface machinery — interface capturing (MULES), setFields phase initialisation, gravity-driven p_rgh formulation and the entraining atmosphere boundary — against the canonical experiment of Martin & Moyce (1952). A water column of base width a = 0.1461 m and height 2a (the n² = 2 configuration) is released instantaneously in a plain 8a × 4a tank. The measured quantity is the dimensionless surge-front position Z = x/a against T = t √(2g/a).

What this gates in real work

The dam break is the canonical proxy for sudden free-surface release and surge loading. Verifying it qualifies the same interFoam VOF machinery used for:

Downstream backlog now unblocked: wave loading #1169–#1173 (olaFlow wave generation feeds the same solver family). Full-scale note: at prototype scale the front speed scales with √(gh) — a verified 0.29 m column maps by Froude similarity to the 5–15 m deck-relative freeboards of real green-water events.

2  The collapse — animated

animation frame
interFoam VOF collapse — every written time step (0.01 s), 288×144 mesh. Scrub or play; the surge front and the entrained air pocket at the wall are resolved.

3  Primary result — surge-front position

The computed front tracks the experiment closely in slope (front celerity) from the start; the visible offset at early T is the experiment's finite gate-release time. The literature-standard correction (applied identically by the Lethe benchmark) is a +0.175 dimensionless time shift; toggle the raw/shifted traces in the legend to compare. With the shift, every digitized point agrees within 8.1%.

ComparisonMean deviationMax deviationGateStatus
Z(T) with +0.175 gate-release shift3.0%8.1%≤ 10%PASS
Z(T) uncorrected (raw)9.8%17.8% at T≈1sanity ≤ 15% (mean)PASS
Total water volume drift6.4e-07—< 1%PASS

Both raw and corrected metrics are asserted in the regression test (DAM_BREAK_SOLVE_TOLERANCE = 6% on the corrected mean plus a 15% raw-mean sanity bound), so the known experimental artifact is documented rather than silently absorbed.

4  Mass conservation & column height

A volFieldValue function object integrates alpha.water over the domain every time step. The initial volume matches the analytic column volume to five digits (the uniform mesh is sized dx = a/36 so the column edges fall exactly on cell faces); total drift 6.4e-07.

5  Numerical model

ItemSetting
GeometryColumn a × 2a (a = 0.1461 m, n²=2) in a plain 8a × 4a tank; 2D (one cell deep, empty front/back)
Mesh288×144 uniform blockMesh (41,472 cells); dx = a/36 so column edges sit on faces; non-orthogonality 0
SolverinterFoam (VOF, two incompressible phases), laminar; adjustable Δt, maxCo = maxAlphaCo = 1
InterfaceMULES, cAlpha 1, MULESCorr yes, vanLeer alpha convection
Boundariesno-slip walls; atmosphere totalPressure + pressureInletOutletVelocity + inletOutlet (entraining)
InitialisationsetFields box — runner support: OpenFOAMRunConfig(run_set_fields=True) / openfoam run --set-fields
Propertieswater ν = 10⁻⁶, ρ = 1000; air ν = 1.48×10⁻⁵, ρ = 1; σ = 0.07
Mesh independence144×72 test mesh reproduces the deviations (mean 2.9% / max 8.1%); interFoam ~10 s at that size

The case is generated by digitalmodel.solvers.openfoam.validation.build_dam_break_case; the archived copy (with the analysis script) lives at docs/api/cfd/cases/dam_break/.

6  Conclusion

The interFoam VOF stack reproduces the canonical dam-break benchmark: surge-front kinematics within 8.1% of every digitized Martin & Moyce point (with the standard gate-release correction; 3.0% mean), raw comparison within the documented experimental-release offset, and machine-level mass conservation. Suite status: 5/5 verified cases.

References

  1. Martin, J.C. & Moyce, W.J. (1952). “Part IV. An experimental study of the collapse of liquid columns on a rigid horizontal plane.” Phil. Trans. R. Soc. Lond. A, 244(882), 312–324. doi:10.1098/rsta.1952.0006.
  2. Digitized surge-front data and gate-release shift: Lethe project, chaos-polymtl/lethe, examples/multiphysics/dam-break/dam-break-2d.py.
  3. OpenFOAM ESI v2312 tutorial multiphase/interFoam/laminar/damBreak/damBreak (base dictionaries).
  4. digitalmodel issue #1165; interactivity upgrade #1276; regression test tests/solvers/openfoam/validation/test_dam_break.py.

Generated from a real OpenFOAM v2312 solve. All chart data and animation frames are computed directly from the solved fields of the archived case — no values are hand-entered.