Marine systems simulation
LinearWaveTheory Class Referenceabstract
+ Inheritance diagram for LinearWaveTheory:

Public Types

enum  EWaveTheory_t { EWaveTheory_Airy =0 , EWaveTheory_Gerstner }
 

Public Member Functions

 LinearWaveTheory (bool bIrregularWaves, vector< double > &mdWaveAmplitude, vector< double > &mdPhaseAngle, vector< double > &adWaveFrequency, vector< double > &adWaveDirection)
 
virtual double ComputeSurfaceElevation (const double dT, const double adPos[2])=0
 
virtual void ComputeSurfaceUnitNormal (const double dT, const double adPos[2], double *adUnitNormalOut)=0
 
virtual void ComputeParticleVelocity (const double dT, const double adPos[3], double *adVelOut)=0
 
virtual void ComputeParticleAcceleration (const double dT, const double adPos[3], double *adAccOut)=0
 
virtual double ComputeDynamicPressure (const double dT, const double adPos[3])=0
 
virtual double ComputeTotalPressure (const double dT, const double adPos[3])=0
 
virtual void ComputePointQuery (double T, const double Position[3], double &surface_elevation, double surface_unit_normal[3], double particle_velocity[3], double particle_acceleration[3], double &pressure)=0
 
void SetWaveHarmonicCuttoffPercentage (double percent)
 Pointer to wave propagation direction array.
 
double GetWaveHarmonicCuttoffPercentage ()
 update the cutoff percentage number
 

Public Attributes

std::vector< double > m_mdZetaA
 
std::vector< double > m_mdEpsilon
 Pointer to spectral amplitude array.
 
std::vector< double > m_adOmega
 Pointer to random phase angle array.
 
std::vector< double > m_adWaveNumber
 Pointer to wave frequency array.
 
std::vector< double > m_adTheta
 Pointer to wave number array.
 

Protected Attributes

double m_ln_percent
 get the cutoff percentage number
 
std::vector< double > m_adCosTheta
 ln of cutoff precentage for harmonic wave calculation. based on exp(-kx) = %
 
std::vector< double > m_adSinTheta
 Cosine of the angle Theta.
 
double m_dGravity
 Sine of the angle Theta.
 
double m_dDensity
 Acceleration of gravity.
 
int m_NumWaves
 Mass density of water.
 

Member Function Documentation

◆ ComputePointQuery()

virtual void LinearWaveTheory::ComputePointQuery ( double  T,
const double  Position[3],
double &  surface_elevation,
double  surface_unit_normal[3],
double  particle_velocity[3],
double  particle_acceleration[3],
double &  pressure 
)
pure virtual

Implemented in AiryWaves.


The documentation for this class was generated from the following file: