6#include <marenv/marenv.h>
7#include <marenv/wake/WakeField.h>
73 NetCageWakeField(
const double pos[3],
double fullWakeDepth,
double fullWakeDiameter,
double wakeAngle,
double initialBoundaryLayer,
double maxDeficit,
double deficitCutoff,
AmbientCurrentFunction ambientCurrent);
98 using Position = std::array<double, 3>;
105 double MaxDeficitBehindB(
double x)
const;
114 double DeficitInCageFrame(
double x,
double y,
double z)
const;
118 double m_radiusFullWakeA;
119 double m_wakeTangentX;
120 double m_tanWakeAngle;
121 double m_radiusNoWakeA;
122 double m_radiusNoWakeB;
127 std::atomic<std::shared_ptr<const Position>> m_pos;
Definition NetCageWakeField.h:46
NetCageWakeField(const double pos[3], double fullWakeDepth, double fullWakeDiameter, double wakeAngle, double initialBoundaryLayer, double maxDeficit, double deficitCutoff, AmbientCurrentFunction ambientCurrent)
void SetPosition(const double pos[3])
marenv::Status Sample(double time, const double pos[3], marenv::wake::WakeSample &out) const override
std::function< marenv::Status(double time, const double pos[3], double vel[3])> AmbientCurrentFunction
Definition NetCageWakeField.h:53
Definition WakeField.h:50
Status
Definition marenv.h:40
Definition WakeTypes.h:21