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
54{
55public:
61 LineKernelProfile(const LineSource& source, const KernelParams& params);
62
64 double XStart() const { return m_xStart; }
65
67 const double* Position() const { return m_pos; }
68
70 LineCoordinates Coordinates(const double pos[3]) const;
71
73 KernelCentreline At(double x) const;
74
76 double Amplitude(double sigma, double envelope) const;
77
79 double Ramp(double x) const;
80
87 double PeakAmplitude(double xFrom, double xTo) const;
88
90 double HalfSpan() const { return m_halfSpan; }
91
92private:
94 double LinearSigma(double x) const;
95
97 double Sigma(double x) const;
98
99 double m_pos[3];
100 double m_flow[3];
101 double m_span[3];
102 double m_cross[3];
103 double m_halfSpan;
104 double m_width;
105 double m_expansion;
106 double m_xStart;
107 double m_rampLength;
108 double m_momentumPerLength;
109 double m_nearWakeDeficit;
110 double m_epsilon;
111 double m_farWakeStart;
112 double m_farWakeSigma;
113};
114
121double LineDeficit(const LineKernelProfile& profile, const double pos[3]);
122
127double LineDeficit(const LineSource& source, const KernelParams& params, const double pos[3]);
128} // namespace marenv::wake
Definition LineKernel.h:54
LineKernelProfile(const LineSource &source, const KernelParams &params)
KernelCentreline At(double x) const
Centreline amplitude A(x), the onset ramp included, and sigma at x >= x_start, m along flowDir; the a...
double Ramp(double x) const
The onset ramp at x >= x_start, OnsetRamp(x, x_start, rampFactor w).
double PeakAmplitude(double xFrom, double xTo) const
double Amplitude(double sigma, double envelope) const
Centreline amplitude, without the onset ramp, of the wake of sigma where the line carries the share e...
const double * Position() const
Centre of the line, m, NED.
Definition LineKernel.h:67
double XStart() const
x_start = max(xStartFactor w, xStartMin), m.
Definition LineKernel.h:64
double HalfSpan() const
Projected half-length of the source, m.
Definition LineKernel.h:90
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:197
Definition WakeTypes.h:102
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:55