FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
0223 — Cable/* makes one flow query per element per RHS, each sampling every registered lumped wake
ID 0223
Class ARCHITECTURE
Severity 1
Status ready

Models: Cable/Branched, Cable/LumpedMass

Found: Deep review 2026-09-28: other-hydro-forces P4 (worktrees/nethydro/review/deep/other-hydro-forces.md, at 1e94ae1); rechecked against 1e94ae1 and filed by the deep-review fix pass (branch fix/deep-review-net)

Decision needed:

Deep review other-hydro-forces.md P4 (review severity 1). Confirmed by trace.

Evidence

  • src/cable/subroutines/InternalCable.cpp:814: GetCurrentVelocity per element per RHS; marenv EnvironmentFacade.cpp:257-262 samples the total current plus every registered lumped field, so the cost is O(N_current + N_wake) per element.
  • No per-RHS allocation.

Effect

For a farm, mooring cost grows as N_elements × N_cages; acceptable at today's sizes (6 lines × 4 elements × a few cages). MENV-0025 covers the atomic loads in marenv.

Possible fix

A reach test per field in marenv's composition (wake-performance.md A1), which helps every consumer; nothing to change here.

Test that would prove it

A timing check of a farm with many moorings.

Risk

None; recorded so the cost is visible.