16namespace environment::field::aggregation
20constexpr int kBumpExponent = 2;
23constexpr int kPolarRadial3D = 3;
25constexpr int kPolarRadial2D = 4;
27constexpr int kPolarAngularInside = 16;
29constexpr int kPolarAngularOutside = 12;
31constexpr int kRectGaussPoints = 6;
48constexpr double kMassFactor = 32.0 * 3.14159265358979323846 / 105.0;
51[[nodiscard]]
double AmplitudeForMass(
double biomass,
double a,
double b,
double c);
54[[nodiscard]]
double Mass(
const Bump& bump);
57[[nodiscard]]
Box SupportBox(
const Bump& bump);
60[[nodiscard]]
double Value(
const Bump& bump,
double x,
double y,
double z);
63[[nodiscard]]
double Projection(
const Bump& bump,
double x,
double y);
66[[nodiscard]]
double SliceMass(
const Bump& bump,
double z);
73[[nodiscard]]
double DiskIntegral(
const Bump& bump,
double x,
double y,
double z,
double radius);
80[[nodiscard]]
double CircleIntegral(
const Bump& bump,
double x,
double y,
double radius);
87[[nodiscard]]
double RectIntegral(
const Bump& bump,
double xMin,
double xMax,
double yMin,
double yMax);
An axis-aligned box, NED [m]. Closed: a box that only touches another one overlaps it.
Definition HashGrid.h:21
One bump with its precomputed constants, in double.
Definition Bump.h:35
double cz
Centre, depth [m].
Definition Bump.h:38
double a
Semi-axis along the rotated x axis [m].
Definition Bump.h:39
double c
Semi-axis along z [m].
Definition Bump.h:41
double sinPhi
sin of the horizontal rotation.
Definition Bump.h:43
double cx
Centre, north [m].
Definition Bump.h:36
double cosPhi
cos of the horizontal rotation.
Definition Bump.h:42
double amp
Peak value A [kg/m^3], A = 105 M / (32 pi a b c).
Definition Bump.h:44
double b
Semi-axis along the rotated y axis [m].
Definition Bump.h:40
double cy
Centre, east [m].
Definition Bump.h:37