|
FhSim
3.1.0
Marine systems simulation
|
| ID | 0083 |
| Class | ARCHITECTURE |
| Severity | 1 |
| Status | ready |
Models: —
Found: 2026-10-20 architecture review (dfe6709); owner ruled "default ok" on the whole plan 2026-10-20
Source plan: plans/arch-2026-10-20/not-implemented/f1-cable-segment-module.md (workspace fhsim_workspace)
Kind: Bit for bit refactor. Take when passing; rides with: the next base feature (E6 phase 2-3 or E12 cleanup).
src/cable/Cable.cpp:430-438, a file-local helper (doc comment :424-429):
Callers: Cable.cpp:617 and :726. The same formula lives in fhsim_environment include/fhsim_environment/hydrodynamics/CylinderHydro.h:335, cylinder_hydro::MorisonInertiaForce(factor, acceleration, axis, force) (ENV-0101, ADR 0002), and base already requires fhsim_environment (conanfile.py:41).
None for users. Two copies of one law (R67) can drift.
Call cylinder_hydro::MorisonInertiaForce from addWaveInertia (or from the two callers) and keep the add-to-both-nodes loop. Compare result bytes for every SimObj-Cable_* case.
Existing SimObj-Cable_* regressions and tests/src/WaveExcitation_Test.cpp:80, byte compared before and after.
Low. The floating point order must stay the same (acc - along*Q, then scale); verify by byte compare, not tolerance.