FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
Net hydrodynamics: validation report

Measurements against the panel load laws and the SimObject-level net validation of the net-hydrodynamics plan (tests L1-L9 and S1-S7, MARE-0106). Every page is generated by tests/plot_validation.py from the reports the tests write to tests/out/, the gtest XML of the run and tests/data/*.csv; do not edit the pages by hand. Regenerate them whenever a law or the wake changes:

conan build . -c user.fhsim:validation=True <options> # every ctest entry, incl. -L VALIDATION (FH_WITH_VALIDATION=ON)
python3 tests/plot_validation.py

Conventions (every table): for loads and coefficients the error is model / measured − 1; for ratios and localCd it is model − measured (absolute); the margin is tolerance − |error|, negative when the row is outside the tolerance. Each chart shows the error of every law or variant per case, the shaded band being the tolerance (a dashed outline marks a second tolerance). Hover a marker for its numbers.

Known misfit, disclosed by owner decision (2026-09-27). The default law's two-harmonic KF2012 Eq. 14 angle form misfits MF2022 lift at high solidity (CL(45°) 26–31 % low for N33a, N36a and N33b; N33a lift 196 N against 271 N) and the angle dependence of Rudi, Løland and Zhan at 60–80° (Rudi drag ratio low by up to 0.154, lift ratio by up to 0.358; Løland C_L outside ±25 % in 31 of 80 rows; Zhan R60/R0 off by up to −0.184, speed trend up to +38.7 %). The L9 refit (a3 = 0.046, b4 = 0.050) leaves 16 of 66 L5/L8 checks failing, as the defaults do, so the form itself misfits. The owner chose to disclose this now and to replace the angle form later (0131 — Default law: replace the two-harmonic angle form with three harmonics, refitted to MF2022, Rudi, Løland and Zhan); the 11 load-law tests that fail stay DISABLED_ (0110 — Default load law misses lift at high solidity and the angle dependence of Rudi, Løland and Zhan (A6 disabled tests)), and nothing is tuned to pass them. Details: 11.4 The default law's angle form misfits lift and 60–80° (MARE-0110).

Generated 2026-10-03 from commit 87e60a3 2026-10-03; tests run 2026-10-03T09:10:34.294 (main entry) and 2026-10-03T09:11:16.576 (VALIDATION entry).

Pages

Page Tests passed DISABLED skipped FAILED
Validation: MF2022 towed panels (L1-L4) PanelLoadLaw_MF2022 8 4 0 0
Validation: Zhan 2006 planar nets and cylinder (L8, S2, W9, S6) PanelLoadLaw_Zhan, NetValidation_ZhanCylinder_VALIDATION 11 5 0 0
Validation: Rudi 1988 and Løland 1991 (L5, L6) PanelLoadLaw_Rudi, PanelLoadLaw_Loland 2 4 0 0
Validation: Lader 2009 cages (S3, S4) NetValidation_LaderCage_VALIDATION 5 3 0 0
Validation: towed panel through the SimObject (S1) NetValidation_TowedPanel_VALIDATION 6 3 0 0
Validation: a3/b4 consistency and refit (L9) PanelLoadLaw_Consistency 1 1 0 0
Validation: trawl (S7) NetValidation_Trawl_VALIDATION 1 0 1 0

Benchmark and downstream run

Disabled tests

Every DISABLED_ test in the library's two ctest entries, with the issue and owner question that keeps it disabled. IDs come from the test's doc comment and from open issues that name the test. "none open" marks a disabled test that names no open issue; its reason is then only the comment quoted here. The characterisation harness (DISABLED_CHARACTERISATION_*) is left out: it is disabled on purpose and run by hand.

Test Source Issues Owner question Reason (the test's comment, first sentence)
NetValidation_LaderCage_VALIDATION.DISABLED_S3_DragSn019 NetValidation_LaderCage_Test.cpp:621 MARE-0110, MARE-0111 (resolved) Q11 Fails at 0.12 m/s only: 10.12 N against 8.1 N (+24.98 %); the other six rows are within -8.4 % to +10.3 % (lader2009.md at bab40b4, phase F; 10.14 N before F, with the twine friction of MARE-0111; be…
NetValidation_LaderCage_VALIDATION.DISABLED_S3_DragSn035 NetValidation_LaderCage_Test.cpp:637 MARE-0110, MARE-0111 (resolved) Q11 Fails at 0.26 m/s only: 71.9 N against 57 N (+26.1 %); the other six rows are within +2.7 % to +18.7 % (lader2009.md at bab40b4, phase F; 71.85 N before F, with the twine friction of MARE-0111; befor…
NetValidation_LaderCage_VALIDATION.DISABLED_S3_DragSn043 NetValidation_LaderCage_Test.cpp:655 MARE-0110, MARE-0111 (resolved) Q11 Fails at 0.26 m/s, 84.6 N against 70 N (+20.9 %), 0.65 m/s, 194.2 N against 160 N (+21.4 %), 0.76 m/s, 215.3 N against 165.1 N (+30.4 %), and 0.93 m/s, 246.3 N against 173 N (+42.4 %); the other thre…
NetValidation_TowedPanel_VALIDATION.DISABLED_S1_L2_TextLiftAt1p75 NetValidation_TowedPanel_Test.cpp:651 MARE-0110, MARE-0111 (resolved), MARE-0131 Q11 Fails, as its A6 counterpart PanelLoadLaw_MF2022.DISABLED_L2_TextLiftAt1p75_LocalThroughFlow does (MARE-0110, owner decision Q11): N33a lift at 45 deg, 1.75 m/s is 271 N measured and 192.5 N from S1,…
NetValidation_TowedPanel_VALIDATION.DISABLED_S1_L8_AngleRatios NetValidation_TowedPanel_Test.cpp:678 MARE-0110, MARE-0111 (resolved), MARE-0131 – Fails, as PanelLoadLaw_Zhan.DISABLED_L8_AngleRatios_LocalThroughFlow does (MARE-0110): S1 R60/R0 = 0.401-0.404 against Zhan's 0.377-0.579 (A6, without the in-plane twine friction of MARE-0111: 0.395)…
NetValidation_TowedPanel_VALIDATION.DISABLED_S1_L8_SpeedTrendAt30And60Deg NetValidation_TowedPanel_Test.cpp:689 MARE-0110, MARE-0111 (resolved), MARE-0131 – Fails, as PanelLoadLaw_Zhan.DISABLED_L8_SpeedTrendAt30And60Deg_LocalThroughFlow does (MARE-0110): the S1 inclined trend is close to its 0 deg trend, while Zhan's R30 and R60 grow more slowly with spe…
NetValidation_ZhanCylinder_VALIDATION.DISABLED_S2_DragRatioWithAndWithoutTheWake NetValidation_ZhanCylinder_Test.cpp:695 MARE-0110, MARE-0111 (resolved), MENV-0007 (marenv) Q8, Q11, Q13 Fails: the model's wake lowers the cylinder drag by 7-15 %, Zhan's measurement is 18-35 % below their planar-derived prediction.
NetValidation_ZhanCylinder_VALIDATION.DISABLED_S6_SundialsBdfDefaultLinearSolverStepsDoNotCollapseAtARebuild NetValidation_ZhanCylinder_Test.cpp:766 MARE-0122 – Fails: with FhSim's default linear solver (no \<LinearSolver\>: SPGMR, unpreconditioned for this dense net, maxl 5) the second Newton iteration's GMRES solve fails in any smooth transient and CVODE c…
NetValidation_ZhanCylinder_VALIDATION.DISABLED_W9_RearHalfFlowRatioInTheBand_s0128 NetValidation_ZhanCylinder_Test.cpp:739 MARE-0132 (resolved), MENV-0007 (marenv) Q8 Fails at the band's upper edge: for the least solid net (s 0.128) the mean flow ratio over the rear half is, at caster level (MARE-0132), 0.9079, 0.9159, 0.9222 and 0.9265 at 0.25-1.0 m/s against the…
NetWakeCaster.DISABLED_GridAgainstDirectRefinement NetWakeCaster_Test.cpp:619 none open – Grid refinement diagnostic for the report: the near-wake error falls with the lateral cell size.
NetWakeCaster.DISABLED_GridAgreesWithDirectOnTheDefaultGrid NetWakeCaster_Test.cpp:609 MENV-0008 (marenv) Q12 The same check on the pre-R48 default grid, 96 x 48 x 48, from two cells behind the net (x = 4 m) on, as W5 asks.
NetWakeCaster.DISABLED_R48_PrivateGridAgainstDirect NetWakeCaster_Test.cpp:1655 none open – Owner decision R48 (wake-performance review A5): accuracy and cost of the private grid against the Direct field at the panel centroids, for a salmon cage wall (radius 20 m, 20 m deep) and a trawl con…
NetWakeCaster.DISABLED_Timing NetWakeCaster_Test.cpp:827 none open – Rough cost of a rebuild and of a flow query, for the lead's report (B6 formalises them).
PanelLoadLaw_Consistency.DISABLED_L9_DefaultHarmonicsSatisfyL5AndL8 PanelLoadLaw_Consistency_Test.cpp:212 MARE-0093 (resolved), MARE-0110, MARE-0131 – Fails with the pinned law (MARE-0093 finding, owner decision): a3 = 0.07 and b4 = 0.10 do not satisfy the independent angle data; it fails exactly where L5 and the L8 angle ratios fail (see DISABLED_…
PanelLoadLaw_Loland.DISABLED_L6_DragAtNormalIncidence_LocalThroughFlow PanelLoadLaw_Loland_Test.cpp:118 MARE-0093 (resolved), MARE-0110, MARE-0131 – Fails with the pinned law (MARE-0093 finding, owner decision): C_D(0) of the default law is low against Løland at Sn 0.317, Re 2000: 0.426 against 0.606, error -29.8 % (ratio 1.424; tolerance 25 %).
PanelLoadLaw_Loland.DISABLED_L6_LiftCoefficient_LocalThroughFlow PanelLoadLaw_Loland_Test.cpp:128 MARE-0093 (resolved), MARE-0110, MARE-0131 – Fails with the pinned law (MARE-0093 finding): 31 of 80 C_L rows are outside 25 %, in both directions.
PanelLoadLaw_MF2022.DISABLED_L1_Eq10LiftAtRn2000_LocalThroughFlow PanelLoadLaw_MF2022_Test.cpp:177 MARE-0093 (resolved), MARE-0110, MARE-0131 – Fails with the pinned law (MARE-0093 finding, owner decision): CL(45) of the default law is 26-31 % below Eq.
PanelLoadLaw_MF2022.DISABLED_L2_TextLiftAt1p75_LocalThroughFlow PanelLoadLaw_MF2022_Test.cpp:202 MARE-0093 (resolved), MARE-0110, MARE-0131 – Fails with the pinned law (MARE-0093 finding): N33a lift at 45 deg, 1.75 m/s is 271 N measured and 196 N modelled, error -27.6 % (ratio 1.382; tolerance 15 %).
PanelLoadLaw_MF2022.DISABLED_L2_TextLiftAt1p75_ScreenMF2022 PanelLoadLaw_MF2022_Test.cpp:215 MARE-0093 (resolved), MARE-0110, MARE-0131 – Fails with the pinned law (MARE-0093 finding): N19a lift at 45 deg, 1.75 m/s is 102 N measured and 79 N from the Eq.
PanelLoadLaw_MF2022.DISABLED_L4_LocalCdPlateauAt0Deg PanelLoadLaw_MF2022_Test.cpp:233 MARE-0093 (resolved), MARE-0110, MARE-0131 – Fails with the pinned law (MARE-0093 finding): the default law's localCd at 0 deg rises with Rn above the text-stated plateau 0.8 for the low-solidity, thick-twine b nets: N18b 0.925 at Rn 3750 and 0…
PanelLoadLaw_Rudi.DISABLED_L5_DragAngleDependence_LocalThroughFlow PanelLoadLaw_Rudi_Test.cpp:33 MARE-0093 (resolved), MARE-0110, MARE-0131 – Fails with the pinned law (MARE-0093 finding, owner decision): drag falls off faster with theta than Rudi's data above 45 deg.
PanelLoadLaw_Rudi.DISABLED_L5_LiftAngleDependence_LocalThroughFlow PanelLoadLaw_Rudi_Test.cpp:42 MARE-0093 (resolved), MARE-0110, MARE-0131 – Fails with the pinned law (MARE-0093 finding): lift is too low away from 45 deg.
PanelLoadLaw_Zhan.DISABLED_L8_AngleRatios_LocalThroughFlow PanelLoadLaw_Zhan_Test.cpp:96 MARE-0093 (resolved), MARE-0110, MARE-0131 – Fails with the pinned law (MARE-0093 finding, owner decision): the model's R60/R0 = 0.395 at every row, Zhan's is 0.377-0.579; errors -0.184 (s 0.223, 1.0 m/s), -0.149 (0.223, 0.75), -0.110 (0.223, 0…
PanelLoadLaw_Zhan.DISABLED_L8_SpeedTrendAt30And60Deg_LocalThroughFlow PanelLoadLaw_Zhan_Test.cpp:110 MARE-0093 (resolved), MARE-0110, MARE-0131 – Fails with the pinned law (MARE-0093 finding): the model's inclined trend equals its 0 deg trend (the angle factor does not depend on speed), while Zhan's R30 and R60 grow more slowly with speed: R60…