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;