|
Marine systems simulation
|
#include <NullWaveField.h>
Inheritance diagram for marenv::wave::NullWaveField:
Collaboration diagram for marenv::wave::NullWaveField:Public Member Functions | |
| NullWaveField ()=default | |
| Constructor. | |
| ~NullWaveField () override=default | |
| Destructor. | |
| std::string | SpectrumName () const override |
| std::string | WaveTheoryName () const override |
| Status | ComputeSurfaceElevation (double time, const double pos[2], double &elevationOut) override |
| Status | ComputeSurfaceUnitNormal (double time, const double pos[2], double unitNormalOut[3]) override |
| Status | ComputeParticleVelocity (double time, const double pos[3], double velOut[3]) override |
| Status | ComputeParticleAcceleration (double time, const double pos[3], double accOut[3]) override |
| Status | ComputeDynamicPressure (double time, const double pos[3], double &pressureOut) override |
| Status | ComputeTotalPressure (double time, const double pos[3], double &pressureOut) override |
| 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 |
| InsecureDatapointers | GetWaveComponents () const override |
| WaveComponentData | GetWaveComponentsCopy () const override |
| void | BlendInPlace (WaveComponentData &other, double alpha) override |
Public Member Functions inherited from marenv::wave::WaveField | |
| virtual | ~WaveField ()=default |
| Virtual destructor. | |
| virtual marenv::wave::WaveComponentData | GetWaveComponentsCopy (double time, size_t maxComponents=0) const |
Additional Inherited Members | |
Protected Member Functions inherited from marenv::wave::WaveField | |
| WaveField ()=default | |
| Constructor. | |
A null wave field that represents no waves.
Returns zero values for all wave-related queries and hydrostatic-only pressure.
|
overridevirtual |
Interpolates the wave components towards another set of wave components
| [in] | other | The other set of wave components |
| [in] | alpha | The blend factor, the relative weight of the other wave components |
Implements marenv::wave::WaveField.
|
overridevirtual |
Returns the dynamic pressure at a specific position.
| [in] | time | Current simulation time. |
| [in] | pos | Position (x,y,z) for which the pressure is desired. |
| [out] | pressureOut | The pressure at pos. |
Implements marenv::wave::WaveField.
|
overridevirtual |
Returns the particle acceleration at a specific position.
| [in] | time | Current simulation time. |
| [in] | pos | Position (x,y,z) for which the particle acceleration is desired. |
| [out] | accOut | The particle acceleration at pos. |
Includes effects of both current and waves.
Implements marenv::wave::WaveField.
|
overridevirtual |
Returns the particle velocity at a specific position.
| [in] | time | Current simulation time. |
| [in] | pos | Position (x,y,z) for which the particle velocity is desired. |
| [out] | velOut | The particle velocity at pos. |
Includes effects of both current and waves.
Implements marenv::wave::WaveField.
|
overridevirtual |
Calculates multiple properties of the environment in one call.
| [in] | time | Simulation time. |
| [in] | pos | Position. |
| [out] | surface_elevation | The surface elevation above this point. |
| [out] | surface_unit_normal | The surface unit normal above this point. |
| [out] | particle_velocity | The particle velocity in this point. |
| [out] | particle_acceleration | The particle acceleration in this point. |
| [out] | pressure | The pressure. The pressure in this point. |
Implements marenv::wave::WaveField.
|
overridevirtual |
Returns the surface elevation at a specific position.
| [in] | time | Current simulation time. |
| [in] | pos | Position (x,y) for which surface elevation is desired. |
| [out] | elevationOut | Surface elevation at pos. |
Implements marenv::wave::WaveField.
|
overridevirtual |
Returns the unit normal vector of the surface at a specific position.
| [in] | time | Current simulation time. |
| [in] | pos | Position (x,y) for which the unit normal surface vector is desired. |
| [out] | unitNormalOut | The unit normal surface vector at pos. |
Implements marenv::wave::WaveField.
|
overridevirtual |
Returns the total pressure at a specific position.
| [in] | time | Current simulation time. |
| [in] | pos | Position (x,y,z) for which the pressure is desired. |
| [out] | pressureOut | The pressure at pos. |
Implements marenv::wave::WaveField.
|
overridevirtual |
Getter for wave component pointers.
Their use focus on efficiency. Care should be taken to only use these pointers while they are valid.
Implements marenv::wave::WaveField.
|
overridevirtual |
Getter for a copy of wave component specifications.
Implements marenv::wave::WaveField.
|
overridevirtual |
Getter for the name of the wave spectrum used for the realisation of the waves.
Implements marenv::wave::WaveField.
|
overridevirtual |
Getter for the name of the wave theory used for the realisation of the waves.
Implements marenv::wave::WaveField.