|
FhSim
3.1.0
Marine systems simulation
|
Findings from code review that await an owner decision or an implementation. Each issue is one file in issues/details/, which holds the evidence, the effect, the possible fix, the test that would prove it and the risk. Resolved issues are kept in issues/resolved/ so that their numbers are never reused. Issues that concern a SimObject are also shown on that model's documentation page. Audit notes that are not issues are in issues/notes.md.
file:line given in the detail file, at HEAD.blocked item, get the owner's answer to "Decision needed" first, then set Status to ready.git mv the file to issues/resolved/, add a **Resolved:** <commit>, <date> paragraph after the table, delete the matching \xrefitem reviewissue "Review issues" "Review issues" \ref fhsim_base_issue_<ID> lines from the headers, rerun the script and commit it all together.New issue: --new <slug> "<title>", or add issues/details/<slug>.md with the metadata table but no ID row; the script assigns the next free number, writes the heading and renames the file to <TAG>-<ID>-<slug>.md.
BUG code does something other than its documentation or sibling code saysKNOWN-LIMITATION behaviour gap by design or omission, document rather than fix silentlyARCHITECTURE structure, dependencies, build layout, dead code and stale artefactsDOCUMENTATION missing or wrong documentation or exampleTEST test coverage or infrastructureAPI public name (port, state, parameter, registration string) whose change breaks input filesSECURITY credentials and supply chain3 wrong numbers, a crash or a secret exposure reaches a user2 a documented interface does not work as documented1 tidiness, readers and tools onlyblocked needs the owner decision named in the fileready fully specified| ID | Class | Severity | Status |
|---|---|---|---|
| BASE-0064 | ARCHITECTURE | 1 | ready |
| BASE-0065 | ARCHITECTURE | 1 | ready |
TorpedoAnchor registers its angular-velocity output port as lowercase omega. Resolved: 4fa41d3, 2026-09-16. File: resolved/BASE-0001-torpedoanchor-omega-port-lowercase.mdTorpedoAnchor documents a ShankFlukeAngle parameter it never reads. Resolved: e2dad78, 2026-09-15. File: resolved/BASE-0002-torpedoanchor-documents-a-shankflukeangle-parameter.mdCLinearSpring documents two output ports it never registers. Resolved: e58d24e, 2026-09-15. File: resolved/BASE-0003-clinearspring-documents-two-output-ports.mdCLowPass claims no initial conditions but seeds its state from its input. Resolved: 8a8d9e6, 2026-09-15. File: resolved/BASE-0004-clowpass-claims-no-initial-conditions.mdLibName="base", all documentation says LibName="fhsim_base". Resolved: 4fa41d3, 2026-09-16. File: resolved/BASE-0005-libname-base-versus-fhsim-base.mdCNorrbinTanker's option tables are an unfilled template. Resolved: 22efd02, 2026-09-15. File: resolved/BASE-0006-cnorrbintankers-option-tables-are-an-unfilled.mdKalmanPendulum documents AngleVelocityNoise; the code reads AngularVelocityNoise, and MeasurementNoise is undocumented. Resolved: d718b26, 2026-09-15. File: resolved/BASE-0007-kalmanpendulum-documents-anglevelocitynoise-the-code-reads.mdC6DBody: registered state name Quater — keep or rename?. Resolved: a2da710, 2026-09-16. File: resolved/BASE-0008-c6dbody-quater-state-name.mdCDistArrow and CSimpleBillboardArrow document TextSize; both read TxtSize. Resolved: 939afb4, 2026-09-15. File: resolved/BASE-0009-cdistarrow-and-csimplebillboardarrow-document-textsize-both.mdCCameraController2 documents a Times parameter; the code reads Time. Resolved: 939afb4, 2026-09-15. File: resolved/BASE-0010-ccameracontroller2-documents-a-times-parameter.mdCDistArrow binds its PosA and PosB input ports to the opposite members. Resolved: 4fa41d3, 2026-09-16. File: resolved/BASE-0011-cdistarrow-posa-posb-swapped.mdCIntegrator has an undocumented ICFromPort parameter and a conditional IC input port. Resolved: 8a8d9e6, 2026-09-15. File: resolved/BASE-0012-cintegrator-has-an-undocumented-icfromport-parameter.mdVirtualCurrent reads an undocumented MaximumCurrent parameter. Resolved: dfbac9c, 2026-09-15. File: resolved/BASE-0013-virtualcurrent-reads-an-undocumented-maximumcurrent-parameter.mdCSignalList reads an undocumented PortWidth parameter. Resolved: dfbac9c, 2026-09-15. File: resolved/BASE-0014-csignallist-reads-an-undocumented-portwidth-parameter.mdHydroCable registers two undocumented output ports PosA and PosB. Resolved: e58d24e, 2026-09-15. File: resolved/BASE-0015-hydrocable-registers-two-undocumented-output-ports.mdSamplifier registers a SamplifierDummy state while documenting no initial conditions. Resolved: 8a8d9e6, 2026-09-15. File: resolved/BASE-0016-samplifier-registers-a-samplifierdummy-state-while.mdMaterial parameter is undocumented in three classes. Resolved: e2dad78, 2026-09-15. File: resolved/BASE-0017-the-visualisation-only-material-parameter.mdCDemux's parameter table misspells the OutPortWidth<N> range. Resolved: dfbac9c, 2026-09-15. File: resolved/BASE-0018-cdemuxs-parameter-table-misspells-the-outportwidth.mdFlukeAnchor registers its quaternion state with no default, unlike TorpedoAnchor. Resolved: 4fa41d3, 2026-09-16. File: resolved/BASE-0019-flukeanchor-quaternion-no-default.mdName[i] but registered as Name1 .. NameN. Resolved: 1c6ea37, 2026-09-15. File: resolved/BASE-0020-indexed-states-are-documented-as-name.md17344c0, 2026-09-24. File: resolved/BASE-0021-jacobian-callbacks-indexed-with-global-state-offsets.md09ea1c0, 2026-09-24. File: resolved/BASE-0022-base-blocks-no-test.md57e7cfa, 2026-09-24. File: resolved/BASE-0023-base-camera-visual-no-test.mdf54c324, 2026-09-24. File: resolved/BASE-0024-base-integrator-linearsystem-port-jacobians-untested.md0d69b27, 2026-09-24. File: resolved/BASE-0025-base-c6dbody-jacobian-omits-gravity-rotation.mdb927e0e, 2026-09-24. File: resolved/BASE-0026-base-cball-jacobian-check-never-engages-contact.mdd125782, 2026-09-24. File: resolved/BASE-0027-base-torpedoanchor-flukeanchor-jacobian-unverified.md6583d80, 2026-09-24. File: resolved/BASE-0028-base-norrbintanker-jacobian-and-baseline-unverified.md9cb9889, 2026-09-24. File: resolved/BASE-0029-base-nine-simobjects-zero-test-coverage.md0aefb86, 2026-09-24. File: resolved/BASE-0030-base-samplifier-test-disabled-cross-platform-rng.md4d1ccd6, 2026-09-24. File: resolved/BASE-0031-base-dead-simobject-registration-comments.mdd945958, 2026-09-24. File: resolved/BASE-0032-base-norrbintanker-baseline-placeholder.md5ba98d3, 2026-09-24. File: resolved/BASE-0033-jacobian-global-offsets-in-ten-more-simobjects.md73238fb, 2026-09-24. File: resolved/BASE-0034-c6dbody-quaternion-jacobian-twice-finite-difference.md132936e, 2026-09-24. File: resolved/BASE-0035-cable-jacobian-omits-drag-and-ic-on-kink.md9178605, 2026-09-24. File: resolved/BASE-0036-norrbintanker-nan-at-rest-and-from-moving-state.md57e7cfa, 2026-09-24. File: resolved/BASE-0037-billboardarrow-deletes-uninitialised-pointers-without-rendering.md57e7cfa, 2026-09-24. File: resolved/BASE-0038-camerashot-crashes-without-rendering.mddb76853, 2026-09-24. File: resolved/BASE-0039-hydrocable-cablependulum-jacobian-omits-drag.md9cb9889, 2026-09-24. File: resolved/BASE-0040-virtualcurrent-cablependulum-crash-without-environment.md4d11065, 2026-09-24. File: resolved/BASE-0041-cball-force-cache-keyed-on-time-only.mdOdeJacobian with their local state slice. Resolved: 2d949b2, 2026-09-24. File: resolved/BASE-0042-jacobian-port-reads-use-local-state-slice.md67de080, 2026-09-24. File: resolved/BASE-0043-norrbintanker-sway-shallow-water-terms.md321fb66, 2026-09-24. File: resolved/BASE-0044-norrbintanker-shallow-water-added-mass-unused.mdf851e41, 2026-09-24. File: resolved/BASE-0045-norrbintanker-shaft-speed-units-undocumented.mdresolved/BASE-0046-readme-skip-tests-conf-name.mdresolved/BASE-0047-norrbintanker-default-scene-missing.md99b71e6, 2026-09-30. File: resolved/BASE-0048-norrbintanker-scene-scale-applied-twice.mdModelType and silently uses the bernica data. Resolved: 99b71e6, 2026-09-30. File: resolved/BASE-0049-norrbintanker-unknown-modeltype-silently-bernica.mdfhsim/3.2.0@sintef/jaccheck; fhsim/3.2.0@sintef/stable already has scopeOverrides. Resolved: b303e2f, 2026-09-30. File: resolved/BASE-0050-changelog-claims-tests-need-jaccheck-fhsim.mdresolved/BASE-0051-fhsim-environment-4-range-conflict.mde7913c2, 2026-09-30. File: resolved/BASE-0052-environment-headers-not-transitive.mdb303e2f, 2026-09-30. File: resolved/BASE-0053-changelog-silent-on-wake-semantics.md774b4c8, 2026-09-30. File: resolved/BASE-0054-water-density-not-configurable.mdresolved/BASE-0055-cable-nan-at-rest-on-seabed.mdresolved/BASE-0056-wave-elevation-sign-in-cable-and-cylinder.mdresolved/BASE-0057-polyplate-water-velocity-frame.mdresolved/BASE-0058-surface-piercing-against-mean-surface.mdresolved/BASE-0059-no-froude-krylov-excitation.mdresolved/BASE-0060-cable-tangential-drag-equals-normal.md7af1a35, 2026-10-04. File: resolved/BASE-0061-cable-drag-fit-discontinuous-at-re-14.mdresolved/BASE-0062-hydrocylinder-axial-added-mass-integer-division.md6f912fe, 2026-09-30. File: resolved/BASE-0063-hydrocylinder-gauss-quadrature-doubles-load.mdresolved/BASE-0066-polyplate-soil-centroid-rotated-with-conjugate.mdresolved/BASE-0067-anchors-rigid-bodies-have-no-buoyancy.mdresolved/BASE-0068-cable-no-added-mass-in-node-inertia.mdresolved/BASE-0069-polyplate-soil-friction-nan-at-rest.mdresolved/BASE-0070-cable-node-mass-and-segment-loads-disagree.mdTemplate-Input_Cable samples an arbitrary phase of an undamped ringing: its baseline jumps with every inertia change. Resolved: see commit "Template-Input_Cable compares resolved and settled forces (R97)" and "Baselines for R97", 2026-09-28. File: resolved/BASE-0071-template-input-cable-samples-a-ringing-phase.mdresolved/BASE-0072-c6dbody-missing-rigid-body-omega-terms.mde97f462, 2026-09-30. File: resolved/BASE-0073-hydrocylinder-gauss-nodes-are-two-point.mddbb159c, 2026-10-04. File: resolved/BASE-0074-cablependulum-ball-accelerated-by-cable-mass.mdd22aa6e, 2026-10-04. File: resolved/BASE-0075-cablependulum-midpoint-off-by-one.md33feee4, 2026-10-04. File: resolved/BASE-0076-cable-normal-drag-on-full-relative-velocity.mdf742789 (fix), b04a076 (baselines), 2026-10-04. File: resolved/BASE-0077-hydrocable-cablependulum-drag-not-independence.md99c2559) and "Sink/Progress writes its file at most every 0.5 s and at the end (BASE-0078)", 2026-10-11. File: resolved/BASE-0078-progress-file-write-per-step.md