|
FhSim
3.1.0
Marine systems simulation
|
| ID | 0140 |
| Class | ARCHITECTURE |
| Severity | 1 |
| Status | ready |
Models: —
Found: 2026-10-28
AggregationField (include/fhsim_environment/AggregationField.h) takes aggregations as compact polynomial bumps (1 - r^2)^2 with semi-axes a, b, c, a horizontal angle phi and a biomass (ADR 0005). Future work, not implemented. Aggregation data and older school models often give a Gaussian: a mass and a standard deviation per axis. A user must convert by hand today.
A Gaussian has no edge, a bump has one at r = 1. A hand conversion is easy to get wrong (which moment to keep, and the factor between sigma and the semi-axis), and every user does it again.
A pure function GaussianToBump(mass, sigma[3], phi) that returns an Aggregation. Keep the total mass and the variance along each axis; the semi-axis follows from the variance of the (1 - r^2)^2 bump. State what is lost: the Gaussian tail beyond the semi-axis. Possibly an InitialStateFile option that accepts sigma instead of a, b, c.
The converted bump has the mass and the axis variances of the Gaussian to 1e-12 relative; the round trip bump to Gaussian to bump is the identity.
Low: a new function beside the field; it changes nothing that exists.