World Ocean Simulation System (WOSS) library
woss::AltimBretschneider Class Reference

AltimBretschneider supports Bretschneider wave model. More...

#include <altimetry-definitions.h>

Inheritance diagram for woss::AltimBretschneider:
Inheritance graph
Collaboration diagram for woss::AltimBretschneider:
Collaboration graph

Public Member Functions

 AltimBretschneider ()
 
 AltimBretschneider (AltimetryMap &map)
 
 AltimBretschneider (double ch_height, double avg_per, int total_range_steps, double depth)
 
 AltimBretschneider (const AltimBretschneider &copy)
 
 AltimBretschneider (AltimBretschneider &&tmp)
 
virtual ~AltimBretschneider () override=default
 
virtual std::unique_ptr< Altimetrycreate () const override
 
virtual std::unique_ptr< Altimetrycreate (AltimetryMap &map) const override
 
virtual std::unique_ptr< Altimetrycreate (double ch_height, double avg_per, int total_range_steps, double depth) const
 
virtual std::unique_ptr< Altimetryclone () const override
 
AltimBretschneideroperator= (const AltimBretschneider &copy)=default
 
AltimBretschneideroperator= (AltimBretschneider &&tmp)=default
 
virtual bool initialize () override
 
virtual bool isValid () const override
 
virtual std::unique_ptr< AltimetrytimeEvolve (const Time &time_value) override
 
virtual std::unique_ptr< Altimetryrandomize (double ratio_incr_value) const override
 
AltimBretschneidersetCharacteristicHeight (double h)
 
AltimBretschneidersetAveragePeriod (double p)
 
double getCharacteristicHeight () const
 
double getAveragePeriod () const
 
- Public Member Functions inherited from woss::Altimetry
 Altimetry ()
 
 Altimetry (AltimetryMap &map)
 
 Altimetry (double range, double altimetry)
 
 Altimetry (const Altimetry &copy)=default
 
 Altimetry (Altimetry &&tmp)=default
 
virtual ~Altimetry ()=default
 
AltimetryinsertValue (double range, double altimetry)
 
AltimetrysumValue (double range, double altimetry)
 
AltCIt findValue (double range) const
 
AltimetryeraseValue (double range)
 
virtual std::unique_ptr< Altimetrycrop (double range_start, double range_end) const
 
AltCIt begin () const
 
AltCIt end () const
 
AltCIt at (const int i) const
 
int size () const
 
bool empty () const
 
void clear ()
 
AltimetrysetEvolutionTimeQuantum (double quantum)
 
AltimetrysetTotalRangeSteps (int r_s)
 
AltimetrysetRange (double r)
 
AltimetrysetDepth (double d)
 
double getMaxRangeValue () const
 
double getMinRangeValue () const
 
double getMaxAltimetryValue () const
 
double getMinAltimetryValue () const
 
long double getRangePrecision () const
 
double getEvolutionTimeQuantum () const
 
double getRange () const
 
int getTotalRangeSteps () const
 
double getDepth () const
 
Altimetryoperator= (const Altimetry &copy)=default
 
Altimetryoperator= (Altimetry &&tmp)=default
 

Protected Member Functions

virtual AltimBretschneidercreateWaveSpectrum ()
 
- Protected Member Functions inherited from woss::Altimetry
virtual AltimetryupdateMinMaxAltimetryValues ()
 

Protected Attributes

double char_height
 
double average_period
 
- Protected Attributes inherited from woss::Altimetry
double range
 
int total_range_steps
 
double min_altimetry_value
 
double max_altimetry_value
 
long double range_precision
 
Time last_evolution_time
 
double evolution_time_quantum
 
double depth
 
AltimetryMap altimetry_map
 

Additional Inherited Members

- Static Public Member Functions inherited from woss::Altimetry
static AltimetryMapcreateNotValid ()
 
static AltimetryMapcreateFlat (double altimetry=0)
 
static void setDebug (bool flag)
 
static bool getDebug (bool flag)
 
- Static Protected Attributes inherited from woss::Altimetry
static bool debug = false
 

Detailed Description

AltimBretschneider supports Bretschneider wave model.

AltimBretschneider wave model

Constructor & Destructor Documentation

◆ AltimBretschneider() [1/5]

AltimBretschneider::AltimBretschneider ( )

Default AltimBretschneider constructor

◆ AltimBretschneider() [2/5]

AltimBretschneider::AltimBretschneider ( AltimetryMap map)

AltimBretschneider constructor

Parameters
mapcustom time arrival map

◆ AltimBretschneider() [3/5]

AltimBretschneider::AltimBretschneider ( double  ch_height,
double  avg_per,
int  total_range_steps,
double  depth 
)

AltimBretschneider constructor

Parameters
ch_heightcharacteristic wave height [m]
avg_peraverate period [s]
total_range_stepstotal range steps
depthdepth [m]

References woss::Altimetry::depth, and woss::Altimetry::total_range_steps.

◆ AltimBretschneider() [4/5]

AltimBretschneider::AltimBretschneider ( const AltimBretschneider copy)

AltimBretschneider copy constructor

Parameters
copyAltimBretschneider to be copied

◆ AltimBretschneider() [5/5]

AltimBretschneider::AltimBretschneider ( AltimBretschneider &&  tmp)

AltimBretschneider move constructor

Parameters
tmpAltimBretschneider to be moved

◆ ~AltimBretschneider()

virtual woss::AltimBretschneider::~AltimBretschneider ( )
overridevirtualdefault

Member Function Documentation

◆ clone()

virtual std::unique_ptr< Altimetry > woss::AltimBretschneider::clone ( ) const
inlineoverridevirtual

AltimBretschneider virtual factory method

Returns
a std::unique_ptr to heap-created copy of this instance

Reimplemented from woss::Altimetry.

Referenced by randomize(), and timeEvolve().

◆ create() [1/3]

virtual std::unique_ptr< Altimetry > woss::AltimBretschneider::create ( ) const
inlineoverridevirtual

AltimBretschneider virtual factory method

Returns
a std::unique_ptr to a heap-created AltimBretschneider object

Reimplemented from woss::Altimetry.

◆ create() [2/3]

virtual std::unique_ptr< Altimetry > woss::AltimBretschneider::create ( AltimetryMap map) const
inlineoverridevirtual

AltimBretschneider virtual factory method

Parameters
mapcustom time arrival map
Returns
a std::unique_ptr to a heap-created AltimBretschneider object

Reimplemented from woss::Altimetry.

◆ create() [3/3]

virtual std::unique_ptr< Altimetry > woss::AltimBretschneider::create ( double  ch_height,
double  avg_per,
int  total_range_steps,
double  depth 
) const
inlinevirtual

AltimBretschneider virtual factory method

Parameters
ch_heightcharacteristic wave height [m]
avg_peraverate period [s]
total_range_stepstotal range steps
depthdepth [m]
Returns
a std::unique_ptr to a heap-created AltimBretschneider object

References woss::Altimetry::depth, and woss::Altimetry::total_range_steps.

◆ createWaveSpectrum()

◆ getAveragePeriod()

double woss::AltimBretschneider::getAveragePeriod ( ) const
inline

Gets T - the wave average period [s]

Returns
h average period [s]

References average_period.

◆ getCharacteristicHeight()

double woss::AltimBretschneider::getCharacteristicHeight ( ) const
inline

Gets H - the characteristic height of the wave [m]

Returns
characteristic height [m]

References char_height.

◆ initialize()

bool AltimBretschneider::initialize ( )
overridevirtual

Initializes the altimetry vector. used if there is a matematical function that generates the whole vector.

Returns
true succeeded false otherwise

Reimplemented from woss::Altimetry.

References createWaveSpectrum(), isValid(), woss::Altimetry::range, woss::Altimetry::range_precision, and woss::Altimetry::total_range_steps.

Here is the call graph for this function:

◆ isValid()

bool AltimBretschneider::isValid ( ) const
overridevirtual

Checks the validity of AltimBretschneider

Returns
true if it has at least one value, false otherwise

Reimplemented from woss::Altimetry.

References average_period, char_height, woss::Altimetry::debug, and woss::Altimetry::total_range_steps.

Referenced by initialize().

◆ operator=() [1/2]

AltimBretschneider & woss::AltimBretschneider::operator= ( AltimBretschneider &&  tmp)
default

Assignment operator

Parameters
tmprvalue reference to a AltimBretschneider object to be moved
Returns
AltimBretschneider reference to this

◆ operator=() [2/2]

AltimBretschneider & woss::AltimBretschneider::operator= ( const AltimBretschneider copy)
default

Assignment operator

Parameters
copyconst reference to a AltimBretschneider object to be copied
Returns
AltimBretschneider reference to this

◆ randomize()

std::unique_ptr< Altimetry > AltimBretschneider::randomize ( double  ratio_incr_value) const
overridevirtual

Performs a random perturbation of altimetry values with given ratio

Parameters
ratio_incr_valueperturbation ratio
Returns
a std::unique_ptr to a new Altimetry object

Reimplemented from woss::Altimetry.

References clone(), createWaveSpectrum(), and woss::Altimetry::debug.

Here is the call graph for this function:

◆ setAveragePeriod()

AltimBretschneider & woss::AltimBretschneider::setAveragePeriod ( double  p)
inline

Configures T - the wave average period [s]

Parameters
haverage period [s]
Returns
AltimBretschneider reference to this

References average_period.

◆ setCharacteristicHeight()

AltimBretschneider & woss::AltimBretschneider::setCharacteristicHeight ( double  h)
inline

Configures H - the characteristic height of the wave [m]

Parameters
hcharacteristic height [m]
Returns
AltimBretschneider reference to this

References char_height.

◆ timeEvolve()

std::unique_ptr< Altimetry > AltimBretschneider::timeEvolve ( const Time time_value)
overridevirtual

Performs a time evoulion

Parameters
time_valueconst reference to a valid Time object
Returns
a std::unique_ptr to a new heap allocated AltimBretschneider object

Reimplemented from woss::Altimetry.

References clone(), woss::Altimetry::debug, woss::Altimetry::evolution_time_quantum, woss::Time::isValid(), and woss::Altimetry::last_evolution_time.

Here is the call graph for this function:

Member Data Documentation

◆ average_period

double woss::AltimBretschneider::average_period
protected

T - Model's average wave period [s] Refer to: G. J. Komen et al., Dynamics and modeling of ocean waves. Cambridge University Press, 1994.

Referenced by createWaveSpectrum(), getAveragePeriod(), isValid(), and setAveragePeriod().

◆ char_height

double woss::AltimBretschneider::char_height
protected

H - Model's characteristic height [m] Refer to: G. J. Komen et al., Dynamics and modeling of ocean waves. Cambridge University Press, 1994.

Referenced by createWaveSpectrum(), getCharacteristicHeight(), isValid(), and setCharacteristicHeight().


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