|
FhSim
3.1.0
Marine systems simulation
|
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:
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).
| 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 |
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… |