|
FhSim
3.1.0
Marine systems simulation
|
| ID | 0081 |
| Class | BUG |
| Severity | 2 |
| Status | blocked |
| Models | Net/NetStructureTest, Net/NetStructureABAQUS |
| Found | 2026-09-25, independent review of the net fix batch (f54a717..1c6d4d2) |
| Decision needed | Approve the result-changing fix, which cannot be compiled or tested on Linux: src/net/Test/ builds only when WIN32 is defined (src/net/CMakeLists.txt:8). |
MARE-0058 made the four compiled net cable elements put a sphere's or disk's mass, weight and drag on end A with weight 1 − pos and on end B with weight pos (pos measured from end A, where the appendage is drawn). The Windows-only NetCableElementTest, used by Net/NetStructureTest and Net/NetStructureABAQUS, still has the old convention in src/net/Test/NetCableElementTest.cpp:
CalcMassAndWeight, :517-518 (spheres) and :524-525 (disks): m_massInWater[0] += mass * pos, m_massInWater[1] += mass * (1 - pos); the weight in water at :536-537 and :543-544 the same. End A gets the fraction pos, the opposite of MARE-0058.The disk drag, :348-349:
The weights −pos and 1 − pos add up to 1 − 2 pos, not 1: a disk in the middle gives no net drag, and a disk at end A pushes end B.
The sphere drag (:321-322) already follows MARE-0058, since MARE-0071.
The same disk drag also keeps the areas and coefficients that MARE-0074 replaced in the compiled elements: D (D − d/π) face-on and the friction coefficient m_tangentialFrictionCoeffDisk on the edge area.
In Net/NetStructureTest and Net/NetStructureABAQUS, a sphere's or disk's mass and weight load the wrong end, and a disk's drag has the wrong total and the wrong split. A cable with an off-centre appendage gives different dynamics than the same net under Net/NetStructure.
Swap the end weights in CalcMassAndWeight to 1 − pos on [0] and pos on [1], and use (1 - m_diskPos[disk]) on force_disk_a and m_diskPos[disk] on force_disk_b, as NetCableElement does. Optionally align the disk areas and coefficient with MARE-0074.
On Windows, the tests/in/NetStructure/NetStructure_DiskDragOffCentre_in.xml scenario under Net/NetStructureTest: end A of the disk and sphere cables must carry 0.75 of the appendage's mass, weight and drag. See MARE-0031 for the missing Windows test coverage.
Changes every Net/NetStructureTest and Net/NetStructureABAQUS model with spheres or disks. The change cannot be compiled on Linux, so it would be unverified until built on Windows.