FhSim  3.1.0
Marine systems simulation
Loading...
Searching...
No Matches
AiryWavesScalar.h
1#pragma once
3
4#include <marenv/marenv.h>
5#include <marenv/wave/LinearWaveTheory.h>
6#include <marenv/wave/WaveEnergySpectrum.h>
7
8namespace marenv::wave
9{
10
30{
31public:
37 AiryWavesScalar(std::shared_ptr<WaveComponents> waveComponents);
45 AiryWavesScalar(WaveEnergySpectrum::SpectrumParameters spectrumParameters, int numWaves, uint32_t randomSeed);
47
48 ~AiryWavesScalar() override = default;
56 bool PositionIsInWater(double time, const double pos[3]);
58
59 Status ComputeSurfaceElevation(double time, const double pos[2], double& elevationOut) override;
61
62 Status ComputeSurfaceUnitNormal(double time, const double pos[2], double unitNormalOut[3]) override;
64
65 Status ComputeParticleVelocity(double time, const double pos[3], double velOut[3]) override;
67
68 Status ComputeParticleAcceleration(double time, const double pos[3], double accOut[3]) override;
70
71 Status ComputeDynamicPressure(double time, const double pos[3], double& pressureOut) override;
73
74 Status ComputeTotalPressure(double time, const double pos[3], double& pressureOut) override;
76
78 double time,
79 const double pos[3],
80 double& surface_elevation,
81 double surface_unit_normal[3],
82 double particle_velocity[3],
83 double particle_acceleration[3],
84 double& pressure) override;
85};
86} // namespace marenv::wave
Definition AiryWavesScalar.h:30
Status ComputePointQuery(double time, const double pos[3], double &surface_elevation, double surface_unit_normal[3], double particle_velocity[3], double particle_acceleration[3], double &pressure) override
bool PositionIsInWater(double time, const double pos[3])
Status ComputeParticleAcceleration(double time, const double pos[3], double accOut[3]) override
Status ComputeDynamicPressure(double time, const double pos[3], double &pressureOut) override
AiryWavesScalar(WaveEnergySpectrum::SpectrumParameters spectrumParameters, int numWaves, uint32_t randomSeed)
Status ComputeParticleVelocity(double time, const double pos[3], double velOut[3]) override
~AiryWavesScalar() override=default
Default destructor.
Status ComputeTotalPressure(double time, const double pos[3], double &pressureOut) override
Status ComputeSurfaceElevation(double time, const double pos[2], double &elevationOut) override
Status ComputeSurfaceUnitNormal(double time, const double pos[2], double unitNormalOut[3]) override
AiryWavesScalar(std::shared_ptr< WaveComponents > waveComponents)
Definition LinearWaveTheory.h:45
Status
Definition marenv.h:44
The parameters defining a certain wave field.
Definition WaveEnergySpectrum.h:43