14#ifndef WAVE_ENERGY_SPECTER
15#define WAVE_ENERGY_SPECTER
26 EWaveSpecter_Jonswap=0,
29 enum EDirectionSpecter_t
31 EDirectionSpecter_None=0,
32 EDirectionSpecter_CosineSquared,
54 const std::vector<double>* GetWaveFrequencyArray();
55 const std::vector<double>* GetWaveDirectionArray();
56 const std::vector<double>* GetSpectralValueArray();
57 const std::vector<double>* GetRandomPhaseArray();
58 const std::vector<double>* GetWaveNumberArray();
63 typedef double (
WaveEnergySpecter::*NormalizedProbabilityDistribution)(
const double);
64 void fillRandomVector(NormalizedProbabilityDistribution f,
double limit_low,
double limit_high, std::vector<double>& result);
65 void makeWaveFrequencyVectorWithRandomIntervals();
66 double randomNumber(
double limit_low,
double limit_high);
68 double cosPower(
double theta);
71 double SpectralEnergy (
double omega);
72 double Jonswap (
double omega);
73 double NormalizedConstantSteepnessJonswap (
double omega);
74 double Issc (
double omega);
75 double SpectralDirectionDistribution (
double theta);
76 double NormalizedConstantSteepnessIssc(
double omega);
93 EWaveSpecter_t m_EWaveSpecter;
94 EDirectionSpecter_t m_EDirectionSpecter;
95 std::vector<double> m_ZetaA;
96 std::vector<double> m_Epsilon;
97 std::vector<double> m_Omega;
98 std::vector<double> m_deltaOmega;
99 std::vector<double> m_WaveNumber;
100 std::vector<double> m_Theta;
104 std::uniform_real_distribution<double> m_dist;
Definition: WaveEnergySpecter.h:22
double m_omgUppLim_nDim
Non-dimensional omega omega_nDim = omega*T1/(2*pi) lower limit.
Definition: WaveEnergySpecter.h:89
double m_omgLowLim_nDim
Acceleration of gravity.
Definition: WaveEnergySpecter.h:88
double m_cosPower
Mean wave period.
Definition: WaveEnergySpecter.h:81
double m_dGravity
Mass density of sea water.
Definition: WaveEnergySpecter.h:87
double m_dT1
Significant wave height.
Definition: WaveEnergySpecter.h:80
double m_mainWaveDirection
Boolean. True if sea state is long crested. False if sea state is short crested.
Definition: WaveEnergySpecter.h:83
Definition: WaveEnergySpecter.h:35
double dCosinePower
Mean wave propagation direction.
Definition: WaveEnergySpecter.h:39
double dTheta
Mean wave period.
Definition: WaveEnergySpecter.h:38
double dOmegaNDimLowLim
Boolean. true if sea state is long crested. False if short crested sea is to be evaluated.
Definition: WaveEnergySpecter.h:41
double dT1
Significant wave height.
Definition: WaveEnergySpecter.h:37
double dOmegaNDimUppLim
Non-dimensional omega_nDim = omega*T1/(2*pi) lower limit.
Definition: WaveEnergySpecter.h:42
bool dIsLongCrested
directional specter is given as cos(theta)^dCosinePower.
Definition: WaveEnergySpecter.h:40