DESERT 3.5.1
Loading...
Searching...
No Matches
UnderwaterPhysicalRogersModel Class Reference

#include <uwphysicalrogersmodel.h>

Inheritance diagram for UnderwaterPhysicalRogersModel:
Collaboration diagram for UnderwaterPhysicalRogersModel:

Public Member Functions

 UnderwaterPhysicalRogersModel ()
 
virtual ~UnderwaterPhysicalRogersModel ()
 
virtual int command (int, const char *const *)
 

Protected Member Functions

virtual double getGain (Packet *p)
 
virtual double getAttenuation (const double &_sound_speed_water_bottom, const double &_distance, const double &_frequency, const double &_bottom_depth)
 
const double getBeta () const
 
const double get_Ks () const
 
const double get_N0 () const
 
const double get_M0 () const
 
const double get_g () const
 
const double getTheta_g (const double &_bottom_depth, const double &_distance) const
 
const double getTheta_g_max (const double &_sound_speed_water_bottom) const
 
const double getTheta_c (const double &_sound_speed_water_bottom, const double &_frequency, const double &_bottom_depth) const
 
double getThorp (double _frequency)
 

Static Protected Attributes

static const double FROMDBPERKYARDTODMPERM
 

Private Attributes

double bottom_depth
 
double sound_speed_water_bottom
 
double sound_speed_water_surface
 
double sound_speed_sediment
 
double density_sediment
 
double density_water
 
double attenuation_coeff_sediment
 
int debug_
 

Detailed Description

Definition at line 49 of file uwphysicalrogersmodel.h.

Constructor & Destructor Documentation

◆ UnderwaterPhysicalRogersModel()

UnderwaterPhysicalRogersModel::UnderwaterPhysicalRogersModel ( )

Constructor of UnderwaterMPhyBpskDb class.

Definition at line 55 of file uwphysicalrogersmodel.cpp.

◆ ~UnderwaterPhysicalRogersModel()

virtual UnderwaterPhysicalRogersModel::~UnderwaterPhysicalRogersModel ( )
inlinevirtual

Destructor of UnderwaterMPhyBpskDb class.

Definition at line 61 of file uwphysicalrogersmodel.h.

Member Function Documentation

◆ command()

int UnderwaterPhysicalRogersModel::command ( int  argc,
const char *const *  argv 
)
virtual

TCL command interpreter.

It implements the following OTcl methods:

Parameters
argcNumber of arguments in argv.
argvArray of strings which are the command parameters (Note that argv[0] is the name of the object).
Returns
TCL_OK or TCL_ERROR whether the command has been dispatched successfully or not.

Definition at line 76 of file uwphysicalrogersmodel.cpp.

◆ get_g()

const double UnderwaterPhysicalRogersModel::get_g ( ) const
inlineprotected

Magnitude of the negative sound speed profile.

Returns
Magnitude of the negative sound speed profile

Definition at line 147 of file uwphysicalrogersmodel.h.

◆ get_Ks()

const double UnderwaterPhysicalRogersModel::get_Ks ( ) const
inlineprotected

Sediment attenuation coefficient (dB/(m*kHz))

Returns
Sediment attenuation coefficient

Definition at line 116 of file uwphysicalrogersmodel.h.

◆ get_M0()

const double UnderwaterPhysicalRogersModel::get_M0 ( ) const
inlineprotected

Ratio between the density of the sediment and the density of the water.

Definition at line 136 of file uwphysicalrogersmodel.h.

◆ get_N0()

const double UnderwaterPhysicalRogersModel::get_N0 ( ) const
inlineprotected

Ratio between the sound speed on sound at the surface and sound speed of sound in the sediment.

Definition at line 127 of file uwphysicalrogersmodel.h.

◆ getAttenuation()

double UnderwaterPhysicalRogersModel::getAttenuation ( const double &  _sound_speed_water_bottom,
const double &  _distance,
const double &  _frequency,
const double &  _bottom_depth 
)
protectedvirtual

Attenuation of acoustic signal in underwater channel.

The value returned is base on Rogers model for shallow water.

Parameters
_sound_speed_water_bottomsound speed of the sound at the bottom (in m/s)
_distancedistance between source and destination (in meters)
_frequencyfrequency (in kHz)
_bottom_depthheight of the column of water (in meters)
Returns
Attenuation in dB

Definition at line 167 of file uwphysicalrogersmodel.cpp.

◆ getBeta()

const double UnderwaterPhysicalRogersModel::getBeta ( ) const
inlineprotected

Bottom loss (dB/rad) derived from the expression for the Rayleigh reflection coefficient for a two-fluid lossy interface.

return Bottom loss (dB/rad)

Definition at line 104 of file uwphysicalrogersmodel.h.

◆ getGain()

double UnderwaterPhysicalRogersModel::getGain ( Packet *  p)
protectedvirtual

Definition at line 131 of file uwphysicalrogersmodel.cpp.

◆ getTheta_c()

const double UnderwaterPhysicalRogersModel::getTheta_c ( const double &  _sound_speed_water_bottom,
const double &  _frequency,
const double &  _bottom_depth 
) const
inlineprotected

Cutoff angle of the lowest mode.

Parameters
_sound_speed_water_bottomsound speed in m/s of the sound at the bottom
_frequencyin kHz
_bottom_depthheight of the column of water in meters
Returns
Cutoff angle of the lowest mode

Definition at line 190 of file uwphysicalrogersmodel.h.

◆ getTheta_g()

const double UnderwaterPhysicalRogersModel::getTheta_g ( const double &  _bottom_depth,
const double &  _distance 
) const
inlineprotected

Effective angle of the last mode striped.

Parameters
_bottom_depthheight of the column of water in meters
_distancedistance between source and destination (in meters)
Returns
Effective angle of the last mode striped

Definition at line 161 of file uwphysicalrogersmodel.h.

◆ getTheta_g_max()

const double UnderwaterPhysicalRogersModel::getTheta_g_max ( const double &  _sound_speed_water_bottom) const
inlineprotected

Maximum grazion angle for an RBR mode.

Parameters
_sound_speed_bottomsound speed in m/s of the sound at the bottom
Returns
Maximum grazion angle for an RBR mode

Definition at line 174 of file uwphysicalrogersmodel.h.

◆ getThorp()

double UnderwaterPhysicalRogersModel::getThorp ( double  _frequency)
inlineprotected

Absorption coefficient calculated by using Thorp's equation.

Parameters
_frequencyin kHz
Returns
absorprion coefficient in dB/m

Definition at line 204 of file uwphysicalrogersmodel.h.

Member Data Documentation

◆ attenuation_coeff_sediment

double UnderwaterPhysicalRogersModel::attenuation_coeff_sediment
private

Attenuation coefficient of the sediment (dB/(m*kHz)).

Definition at line 236 of file uwphysicalrogersmodel.h.

◆ bottom_depth

double UnderwaterPhysicalRogersModel::bottom_depth
private

Water depth (m)

Definition at line 228 of file uwphysicalrogersmodel.h.

◆ debug_

int UnderwaterPhysicalRogersModel::debug_
private

Debug level.

Definition at line 238 of file uwphysicalrogersmodel.h.

◆ density_sediment

double UnderwaterPhysicalRogersModel::density_sediment
private

Sediment density (g/cm^3).

Definition at line 234 of file uwphysicalrogersmodel.h.

◆ density_water

double UnderwaterPhysicalRogersModel::density_water
private

Water density (g/cm^3).

Definition at line 235 of file uwphysicalrogersmodel.h.

◆ FROMDBPERKYARDTODMPERM

const double UnderwaterPhysicalRogersModel::FROMDBPERKYARDTODMPERM
staticprotected
Initial value:
=
0.001093613298338

Conversion factor from dB/kyard to dB/m.

Definition at line 219 of file uwphysicalrogersmodel.h.

◆ sound_speed_sediment

double UnderwaterPhysicalRogersModel::sound_speed_sediment
private

Speed of sound in the sediment (m/s).

Definition at line 233 of file uwphysicalrogersmodel.h.

◆ sound_speed_water_bottom

double UnderwaterPhysicalRogersModel::sound_speed_water_bottom
private

Speed of sound in water at the sea bottom level (m/s).

Definition at line 229 of file uwphysicalrogersmodel.h.

◆ sound_speed_water_surface

double UnderwaterPhysicalRogersModel::sound_speed_water_surface
private

Speed of sound in water at the sea surface level (m/s).

Definition at line 231 of file uwphysicalrogersmodel.h.


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