|
FhSim
3.1.0
Marine systems simulation
|
#include <JetField.h>
Inheritance diagram for marenv::wake::JetField:
Collaboration diagram for marenv::wake::JetField:Public Member Functions | |
| virtual Status | Sample (double t, const double pos[3], JetSample &out) const =0 |
| virtual JetSampleParts | SampleParts (double t, const double pos[3]) const |
| virtual bool | MayReach (const WakeQueryRegion ®ion) const |
Anything that answers "what excess velocity does this jet add here, now?" for one registered jet (CONTEXT.md, Jet field; ADR 0003).
A jet field is not a WakeField: it returns a velocity Δu, not a deficit, and the registry adds the jets after the deficits are composed, u = u_amb + d_tot (u_s - u_amb) + sum Δu_j (WakeRegistry::Compose(), WakeComposition::Apply()). It is defined relative to the water at its source and translates with it. The threading contract is that of WakeField::Sample().
|
inlinevirtual |
Returns false only if the field, as published now, adds nothing in a region (as WakeField::MayReach(), owner decision R47).
| [in] | region | The sphere and time interval of the queries, and the cutoff. |
Reimplemented in marenv::wake::PropellerJet.
|
pure virtual |
Returns the jet's excess velocity at a position and time (contract C4).
| [in] | t | Simulation time, s. |
| [in] | pos | Position (x,y,z) to query, m, NED. |
| [out] | out | Δu at pos, m/s, NED. |
Implemented in marenv::wake::PropellerJet.
|
inlinevirtual |
Returns the sample split into the parts its blend weighs, to compose at a later time (as WakeField::SampleParts(), owner ruling R136).
The default holds Sample(t, pos), for a field without a blend. Const and thread-safe.
Reimplemented in marenv::wake::PropellerJet.