Marine systems simulation
Loading...
Searching...
No Matches
marenv::current::DepthVaryingCurrentField Class Reference

#include <DepthVaryingCurrentField.h>

+ Inheritance diagram for marenv::current::DepthVaryingCurrentField:
+ Collaboration diagram for marenv::current::DepthVaryingCurrentField:

Public Member Functions

 DepthVaryingCurrentField (std::vector< double > velocity, std::vector< double > directionRad, std::vector< double > depthZ)
 
 ~DepthVaryingCurrentField () override=default
 Default destructor.
 
Status GetCurrent (double time, const double position[3], double currentVelocity[3]) override
 
- Public Member Functions inherited from marenv::current::CurrentField
virtual ~CurrentField ()=default
 Virtual destructor.
 

Detailed Description

Depth-varying ocean current field implementation.

This class models an ocean current field where velocity and direction vary with depth. It implements the CurrentField to provide current velocity queries at arbitrary positions in space and time.

Constructor & Destructor Documentation

◆ DepthVaryingCurrentField()

marenv::current::DepthVaryingCurrentField::DepthVaryingCurrentField ( std::vector< double >  velocity,
std::vector< double >  directionRad,
std::vector< double >  depthZ 
)

Constructs a depth-varying current field.

Parameters
[in]velocityVector of current velocities [m/s] for each depth layer.
[in]directionRadVector of current directions [rad] for each depth layer.
[in]depthZVector of depth values [m] corresponding to each layer.

Member Function Documentation

◆ GetCurrent()

Status marenv::current::DepthVaryingCurrentField::GetCurrent ( double  time,
const double  position[3],
double  currentVelocity[3] 
)
overridevirtual

Returns the ocean current velocity at a given position.

Parameters
[in]timeSimulation time [s].
[in]positionPosition (x,y,z) in meters where the current is queried.
[out]currentVelocityCurrent velocity vector [m/s] at the given position.
Returns
marenv::Status::OK on success. See marenv::Status for other values.

Implements marenv::current::CurrentField.


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