OpenHydro Bench
Exact answer known2D · free surfaceCandidate

Supercritical flow turned by a wall

Does the model put an angled shock wave in the right place?

Test A2A-020
Ippen (1951)
Version 2.0.0

What happens

Fast flow meets a wall angled at 15°. The water surface jumps along a straight line at 39.6° to the flow, and the depth almost doubles across it.

Why it matters

Shock waves form in steep channels, spillways and urban streets during flash floods; their angle sets where water overtops walls.

A good model must

  • keep the average depth error under 5 cm
  • store the right volume of water
  • get steadily more accurate on finer grids

How models did

In rank order: by each model's percent difference from the right answer, the largest over the test's accuracy checks (lower is better; results within 10 % of each other share a rank). Mass error, timing and NSE are shown beside it, not folded in. Each model runs the same inputs on 4 grids, from 2 m down to 0.25 m cells; the checks are scored on the 0.25 m grid, and each card lists the error on every grid. Compare them in the results viewer (depth maps and animation) →

RankModelDifferenceLargest difference inMass errorRun time
1ANUGA 4.0.10.25 %Average depth error0.13 %5.5 min
2Basilisk Saint-Venant0.36 %Average depth error0.13 %14.9 s
3=TELEMAC-2D openTELEMAC 9.10.83 %Average depth error0.15 %2.6 min
3=Demo 2D suite example0.89 %Average depth error0.028 %9.3 s
ANUGA
ANUGA 4.0.1 (Geoscience Australia / ANU), default settings on a triangular mesh
#1 0.25 % off

Rate the error shrinks on finer grids: 0.94 (90 % range 0.93 to 0.95); the method's expected rate is 0.8 or more

Run time, finest grid: 5.5 min · AMD EPYC 7763 64-Core Processor, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: anuga (rectangular_cross mesh, defaults, sampled at cell centres)

Average depth error
• 3.1 mm off
0.25 % of the exact field's mean depth, 1.25 m
Water conserved
· 0.13 % error
conservation, reported beside the score
Error by grid (L1 h)
· 2 m: 0.0222 · 1 m: 0.0115 · 0.5 m: 0.00604 · 0.25 m: 0.00313
reported, not counted · the checks above are scored on the 0.25 m grid
Improves with finer grids
· rate 0.94 (90 % range 0.93 to 0.95)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: ANUGA 4.0.1

Basilisk
Basilisk (Popinet, basilisk.fr), its second-order well-balanced Saint-Venant solver on a uniform Cartesian grid with its defaults; Manning friction added as the usual semi-implicit term (it has none built in)
#2 0.36 % off

Rate the error shrinks on finer grids: 0.96 (90 % range 0.94 to 0.98); the method's expected rate is 0.8 or more

Run time, finest grid: 14.9 s · Intel(R) Xeon(R) 6973P-C, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: basilisk saint-venant.h (uniform Cartesian grid, defaults; a C program per test, generated by scripts/run_basilisk.py)

Average depth error
• 4.5 mm off
0.36 % of the exact field's mean depth, 1.25 m
Water conserved
· 0.13 % error
conservation, reported beside the score
Error by grid (L1 h)
· 2 m: 0.0328 · 1 m: 0.0171 · 0.5 m: 0.00877 · 0.25 m: 0.00446
reported, not counted · the checks above are scored on the 0.25 m grid
Improves with finer grids
· rate 0.96 (90 % range 0.94 to 0.98)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: Basilisk Saint-Venant (snapshot de851a91)

TELEMAC-2D
openTELEMAC-2D 9.1.1, run with its default finite-volume settings
#3= 0.83 % off

Rate the error shrinks on finer grids: 0.9 (90 % range 0.83 to 0.97); the method's expected rate is 0.8 or more

Run time, finest grid: 2.6 min · AMD EPYC 7763 64-Core Processor, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Settings: telemac2d (Selafin, centreline nodes); HLLC scheme (the default kinetic scheme is unstable here)

Average depth error
• 1 cm off
0.83 % of the exact field's mean depth, 1.25 m
Water conserved
· 0.15 % error
conservation, reported beside the score
Error by grid (L1 h)
· 2 m: 0.067 · 1 m: 0.038 · 0.5 m: 0.0202 · 0.25 m: 0.0104
reported, not counted · the checks above are scored on the 0.25 m grid
Improves with finer grids
· rate 0.90 (90 % range 0.83 to 0.97)
reported, not counted · the scheme's design order is 1

Run with TELEMAC's HLLC scheme: its default kinetic scheme goes unstable with this supercritical inflow. The depth is right (1 cm) and converges, but the stored water is 0.15 % above exact, as with ANUGA (0.13 % below).

Scored with method 3.0 · Score card: openTELEMAC-2D v9.1.1

Demo 2D
Worked example that ships with the suite: first-order finite volume
#3= 0.89 % off

Rate the error shrinks on finer grids: 0.86 (90 % range 0.77 to 0.95); the method's expected rate is 0.8 or more

Run time, finest grid: 9.3 s · AMD EPYC 9V74 80-Core Processor, 2 cores, 15.6 GB, Linux 6.17.0-1022-azure (GitHub Actions (github-hosted, ubuntu24))

Average depth error
• 1.1 cm off
0.89 % of the exact field's mean depth, 1.25 m
Water conserved
· 0.028 % error
conservation, reported beside the score
Error by grid (L1 h)
· 2 m: 0.0662 · 1 m: 0.0392 · 0.5 m: 0.0215 · 0.25 m: 0.0111
reported, not counted · the checks above are scored on the 0.25 m grid
Improves with finer grids
· rate 0.86 (90 % range 0.77 to 0.95)
reported, not counted · the scheme's design order is 1

Scored with method 3.0 · Score card: demo-swe2d (first-order FV, HLL + hydrostatic reconstruction)

Not run yet: HEC-RAS 7.0, GeoClaw, LISFLOOD-FP, TUFLOW, MIKE 21, Iber, BASEMENT, Delft3D FM
Run it and add yours →

Error shrinks as the grid gets finer

Average error on each grid. A steeper line means the model converges faster.

3 mm1 cm3 cm0.250.512grid cell sizeDemo 2D suite example: rate 0.91TELEMAC-2D openTELEMAC 9.1: rate 0.94ANUGA 4.0.1: rate 0.94Basilisk Saint-Venant: rate 0.97
Demo 2D · rate 0.91TELEMAC-2D · rate 0.94ANUGA · rate 0.94Basilisk · rate 0.97

Status of this test

Candidate. To become frozen it needs: two independent codes pass; maintainer review recorded.

Technical details for reviewers Checks, reference, inputs, sources

Checks and why each limit was chosen

CheckDifference measured as a percentage ofLatestDifferenceWhy this check
depth_L1
L1 of h · in the score
of the exact field's mean depth, 1.25 m–Mean depth error within 5 cm of the exact two-state field on the finest grid (6 % of the 0.81 m depth jump); a jump at the wrong angle or with the wrong conjugate depth fails.
mass
global_mass_error of volume · conservation, beside the score
already a percentage–Stored volume within 0.1 % of the exact field: the jump sits where the jump conditions put it.
convergence
observed order of L1 error in h · reported, not counted
the design order, 1–Measured from the error on every refinement level, as in ASME V&V 20.

Reference

Exact solution from references.oblique_jump.depth_velocity.

More figures

Depth map of the oblique jump with the exact jump line
Cross-section at x = 29.875 m00.511.50510152025Distance from the wall y (m)Depth h (m)ExactDemo solver: 0.125, 1.807Demo solver: 0.375, 1.807Demo solver: 0.625, 1.807Demo solver: 0.875, 1.807Demo solver: 1.125, 1.807Demo solver: 1.375, 1.807Demo solver: 1.625, 1.807Demo solver: 1.875, 1.807Demo solver: 2.125, 1.807Demo solver: 2.375, 1.807Demo solver: 2.625, 1.807Demo solver: 2.875, 1.807Demo solver: 3.125, 1.807Demo solver: 3.375, 1.807Demo solver: 3.625, 1.807Demo solver: 3.875, 1.807Demo solver: 4.125, 1.807Demo solver: 4.375, 1.807Demo solver: 4.625, 1.807Demo solver: 4.875, 1.807Demo solver: 5.125, 1.807Demo solver: 5.375, 1.807Demo solver: 5.625, 1.807Demo solver: 5.875, 1.807Demo solver: 6.125, 1.807Demo solver: 6.375, 1.807Demo solver: 6.625, 1.807Demo solver: 6.875, 1.807Demo solver: 7.125, 1.807Demo solver: 7.375, 1.807Demo solver: 7.625, 1.807Demo solver: 7.875, 1.807Demo solver: 8.125, 1.807Demo solver: 8.375, 1.807Demo solver: 8.625, 1.807Demo solver: 8.875, 1.807Demo solver: 9.125, 1.807Demo solver: 9.375, 1.807Demo solver: 9.625, 1.807Demo solver: 9.875, 1.807Demo solver: 10.12, 1.807Demo solver: 10.38, 1.807Demo solver: 10.62, 1.807Demo solver: 10.88, 1.807Demo solver: 11.12, 1.807Demo solver: 11.38, 1.806Demo solver: 11.62, 1.805Demo solver: 11.88, 1.803Demo solver: 12.12, 1.799Demo solver: 12.38, 1.79Demo solver: 12.62, 1.774Demo solver: 12.88, 1.744Demo solver: 13.12, 1.689Demo solver: 13.38, 1.597Demo solver: 13.62, 1.465Demo solver: 13.88, 1.306Demo solver: 14.12, 1.161Demo solver: 14.38, 1.064Demo solver: 14.62, 1.02Demo solver: 14.88, 1.006Demo solver: 15.12, 1.001Demo solver: 15.38, 1Demo solver: 15.62, 1Demo solver: 15.88, 1Demo solver: 16.12, 1Demo solver: 16.38, 1Demo solver: 16.62, 1Demo solver: 16.88, 1Demo solver: 17.12, 1Demo solver: 17.38, 1Demo solver: 17.62, 1Demo solver: 17.88, 1Demo solver: 18.12, 1Demo solver: 18.38, 1Demo solver: 18.62, 1Demo solver: 18.88, 1Demo solver: 19.12, 1Demo solver: 19.38, 1Demo solver: 19.62, 1Demo solver: 19.88, 1Demo solver: 20.12, 1Demo solver: 20.38, 1Demo solver: 20.62, 1Demo solver: 20.88, 1Demo solver: 21.12, 1Demo solver: 21.38, 1Demo solver: 21.62, 1Demo solver: 21.88, 1Demo solver: 22.12, 1Demo solver: 22.38, 1Demo solver: 22.62, 1Demo solver: 22.88, 1Demo solver: 23.12, 1Demo solver: 23.38, 1Demo solver: 23.62, 1Demo solver: 23.88, 1Demo solver: 24.12, 1Demo solver: 24.38, 1Demo solver: 24.62, 1Demo solver: 24.88, 1Demo solver: 25.12, 1Demo solver: 25.38, 1Demo solver: 25.62, 1Demo solver: 25.88, 1Demo solver: 26.12, 1Demo solver: 26.38, 1Demo solver: 26.62, 1Demo solver: 26.88, 1Demo solver: 27.12, 1Demo solver: 27.38, 1Demo solver: 27.62, 1Demo solver: 27.88, 1Demo solver: 28.12, 1Demo solver: 28.38, 1Demo solver: 28.62, 1Demo solver: 28.88, 1Demo solver: 29.12, 1Demo solver: 29.38, 1Demo solver: 29.62, 1Demo solver: 29.88, 1
  • Exact
  • Demo solver

Upstream depth 1 m, downstream 1.807 m (Fr₂ = 1.58); the jump angle is 39.58° to the incoming flow.

Promotion checklist

Only frozen tests have fixed inputs and answers. This list is computed from the manifest and the published score cards; the rules are in the method.

  • ✓Data licence verifiedfor candidateanalytic-public
  • ✓All inputs availablefor candidateall committed or fetched by SHA-256
  • ✓Reference (truth) availablefor candidateanalytic generator
  • ✓Every tolerance justifiedfor candidateeach gating criterion has a rationale
  • ✓A published run passesfor frozen1 passing score card(s)
  • ✓Order of accuracy shownfor frozenobserved order meets the minimum
  • ✗Two independent codes passfor frozenpassing codes: demo-swe2d — needs a second, independently written solver or engine
  • ✗Maintainer review recordedfor frozenno maintainer review recorded

Inputs

FileRoleFormatSHA-256Get it
inputs/params.jsonparametersjson371f5f6bef6c…Download

About this test

Physics

Uniform supercritical flow, \(h_1 = 1\) m, \(Fr_1 = 2.5\), arrives at \(\theta = 15°\) towards a straight slip wall and is turned parallel to it through a straight jump from the wall's leading edge. The exact shallow-water jump conditions (mass, normal momentum, continuous tangential velocity) give

$$\tan\theta = \frac{\tan\beta\,\left(\sqrt{1 + 8Fr_1^2\sin^2\beta} - 3\right)}{2\tan^2\beta + \sqrt{1 + 8Fr_1^2\sin^2\beta} - 1},$$

so \(\beta = 39.58°\) to the incoming flow (24.58° to the wall), \(h_2/h_1 = 1.807\) and \(Fr_2 = 1.58\).

The case is posed in the wall frame on a Cartesian grid: the wall is the south edge, the upstream state enters from the west and north, and the outflow to the east is supercritical.

What it checks

2D shock capturing at an angle to the grid: jump angle, conjugate depth and L1 convergence at order 1. The demo first-order solver converges at 0.91.

Case history

  • 2.0.0 — the 1.x reference used the gas-dynamics θ–β–M relation (jump at 34.0° instead of 39.6°) and labelled the region between wall and jump as upstream.

Citation

Ippen, A. T. (1951). "Mechanics of supercritical flow." Trans. ASCE, 116, 268–295. Chow, V. T. (1959). Open-Channel Hydraulics, §17-5. McGraw-Hill.

Sources

  • Ippen, A. T. (1951). Mechanics of supercritical flow. ASCE Trans. 116:268-295.

Test A2A-020_oblique_hydraulic_jump · version 2.0.0 · data licence analytic-public