FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
LineKernel.h
1#pragma once
4
5#include <marenv/wake/Kernel.h>
6#include <marenv/wake/WakeTypes.h>
7
8namespace marenv::wake
9{
14{
15 double x;
16 double s;
17 double y;
18};
19
53{
54public:
60 LineKernelProfile(const LineSource& source, const KernelParams& params);
61
63 double XStart() const { return m_xStart; }
64
66 const double* Position() const { return m_pos; }
67
69 LineCoordinates Coordinates(const double pos[3]) const;
70
72 KernelCentreline At(double x) const;
73
75 double Amplitude(double sigma, double envelope) const;
76
82 double PeakAmplitude(double xFrom, double xTo) const;
83
85 double HalfSpan() const { return m_halfSpan; }
86
87private:
89 double LinearSigma(double x) const;
90
92 double Sigma(double x) const;
93
94 double m_pos[3];
95 double m_flow[3];
96 double m_span[3];
97 double m_cross[3];
98 double m_halfSpan;
99 double m_width;
100 double m_expansion;
101 double m_xStart;
102 double m_momentumPerLength;
103 double m_nearWakeDeficit;
104 double m_epsilon;
105 double m_farWakeStart;
106 double m_farWakeSigma;
107};
108
115double LineDeficit(const LineKernelProfile& profile, const double pos[3]);
116
121double LineDeficit(const LineSource& source, const KernelParams& params, const double pos[3]);
122} // namespace marenv::wake
Definition LineKernel.h:53
LineKernelProfile(const LineSource &source, const KernelParams &params)
KernelCentreline At(double x) const
Centreline amplitude A(x) and sigma at x >= x_start, m along flowDir; the amplitude is that of an inf...
double PeakAmplitude(double xFrom, double xTo) const
double Amplitude(double sigma, double envelope) const
Centreline amplitude of the wake of sigma where the line carries the share envelope in [0,...
const double * Position() const
Centre of the line, m, NED.
Definition LineKernel.h:66
double XStart() const
x_start = max(xStartFactor w, xStartMin), m.
Definition LineKernel.h:63
double HalfSpan() const
Projected half-length of the source, m.
Definition LineKernel.h:85
LineCoordinates Coordinates(const double pos[3]) const
Position of pos in the wake coordinates of the source.
double LineDeficit(const LineKernelProfile &profile, const double pos[3])
Definition Kernel.h:136
Definition WakeTypes.h:98
Definition LineKernel.h:14
double x
Distance downstream along flowDir.
Definition LineKernel.h:15
double y
Distance across the flow and across the projected axis, the direction of the plane wake's Gaussian.
Definition LineKernel.h:17
double s
Distance along the projected axis, from the centre of the line.
Definition LineKernel.h:16
Definition WakeTypes.h:51