Fields and disturbances¶
Draft
This page is scaffolded. The outline below marks what it should cover.
Each Field is a single concrete physical kind
(GravityField, FluidField, MagField, CollisionField,
OpticalField). Per-source variation is expressed by attaching different
Disturbance subclasses to the same field
instance.
To cover¶
- One field per physical kind — why
GravityFieldis a single class and a planet's pull, a uniform background, and a body-pull are all disturbances on it. - Combining — most fields are a plain linear superposition (sum) of
their disturbances (gravity, B-field).
FluidFieldis richer: each disturbance has acombiningrole and a smooth spatialmembership, and the field folds them perFluidField.value_at_sym:"baseline"— a regime medium (Ocean,Atmosphere) that layers by membership in insertion order (base ← (1−w)·base + w·value), so a background overlaid by a pocket is an alpha-composite override — density is selected by region, never summed."averaged"— a membership-weighted self-mean among the averaged disturbances (overlapping wind bubbles agree on the mean)."additive"— a membership-weighted perturbation summed on top (currents, thruster wakes, explosions).
- Estimable disturbances — how a disturbance carrying
State/Noise(e.g.CraftWindBubble) becomes a state the EKF estimates. - Body-anchored disturbances — sources that ride a craft via a
FieldSourcepart.
Source material¶
- Reference: Fields
- Code:
manta/fields/base.py(combining logic),manta/fields/*.py