5#include <marenv/marenv.h>
6#include <marenv/wake/JetField.h>
7#include <marenv/wake/Kernel.h>
8#include <marenv/wake/WakeBlend.h>
42 bool Active()
const {
return m_active; }
48 double Efflux()
const {
return m_efflux; }
54 double ZoneEnd()
const {
return m_zoneEnd; }
83 double m_advanceSpeed;
86 double m_initialSigma;
127 void Publish(
const JetSourceInput& input,
const double velocity[3],
double t0,
double blendTime,
double seabedDepth,
bool surfaceImage);
161 bool Sample(
double t,
const double pos[3],
JetSample& out)
const;
170 static Status SampleState(
const Blend::State* state,
double t,
const double pos[3],
JetSample& out);
Definition JetField.h:129
Definition PropellerJet.h:36
double InitialSigma() const
sigma_0 = D_p / sqrt(8), m.
Definition PropellerJet.h:51
double Efflux() const
The efflux velocity Δu₀, m/s; 0 when not active.
Definition PropellerJet.h:48
double SigmaAt(double x) const
The width sigma(x) of the established jet at x >= x_0, m (inverse of DistanceAt()).
double PeakAmplitude(double xFrom, double xTo) const
double ZoneEnd() const
x_0 = sigma_0 / c, the end of the zone of flow establishment, m.
Definition PropellerJet.h:54
double CentrelineExcess(double sigma) const
The centreline excess Δu_c = sqrt(U^2 + q / sigma^2) - U at width sigma, m/s.
double DistanceAt(double sigma) const
The distance x(sigma) >= x_0 at which the established jet has width sigma >= sigma_0,...
bool Active() const
True if the jet casts anything: T_eff > 0.
Definition PropellerJet.h:42
JetCentreline At(double x) const
Centreline amplitude, the onset ramp included, and sigma at x, m downstream of the propeller plane.
double VelocityScale() const
The jet's velocity scale U + Δu₀, m/s, against which MayReach() applies a cutoff.
Definition PropellerJet.h:60
double RampLength() const
L_ramp = kJetRampFactor D_p, m.
Definition PropellerJet.h:57
double AdvanceSpeed() const
The co-flow speed U = max(u_a, 0), m/s.
Definition PropellerJet.h:45
JetProfile(const JetSourceInput &input)
Definition PropellerJet.h:107
void Publish(const JetSourceInput &input, const double velocity[3], double t0, double blendTime, double seabedDepth, bool surfaceImage)
bool MayReach(const WakeQueryRegion ®ion) const override
JetSampleParts SampleParts(double t, const double pos[3]) const override
The sample split into the parts the blend weighs (see JetField::SampleParts()).
Status Sample(double t, const double pos[3], JetSample &out) const override
Definition WakeBlend.h:67
Status
Definition marenv.h:40
Definition PropellerJet.h:18
double sigma
Gaussian width sigma across the jet axis, m.
Definition PropellerJet.h:20
double amplitude
Centreline excess velocity S(x / L_ramp) Δu_c(x), m/s; 0 upstream of the propeller plane.
Definition PropellerJet.h:19
Definition WakeField.h:17