Jpp
18.0.0-rc.1
the software that should make you happy
|
Implementation for depth dependend velocity of sound. More...
#include <JSoundVelocity.hh>
Public Member Functions | |
JSoundVelocity (const double a, const double b, const double z0) | |
Constructor. More... | |
JSoundVelocity & | set (const double z0) |
Set depth. More... | |
JSoundVelocity | operator[] (const double z0) const |
Get sound velocity at given depth. More... | |
virtual double | operator() () const override |
Get velocity of sound at seabed. More... | |
virtual double | operator() (const double z) const override |
Get velocity of sound at given depth relative to seabed. More... | |
virtual double | getDistance (const double t_s, const double z1, const double z2) const override |
Get distance travelled by sound. More... | |
virtual double | getTime (const double D_m, const double z1, const double z2) const override |
Get propagation time of sound. More... | |
virtual double | getInverseVelocity (const double D_m, const double z1, const double z2) const override |
Get inverse velocity of sound. More... | |
Private Attributes | |
double | a |
double | b |
double | z0 |
Friends | |
std::istream & | operator>> (std::istream &in, JSoundVelocity &velocity) |
Read sound velocity from input. More... | |
std::ostream & | operator<< (std::ostream &out, const JSoundVelocity &velocity) |
Write sound velocity to output. More... | |
Implementation for depth dependend velocity of sound.
Note that
It is assumed that the dependence of the sound velocity on the depth is non-zero.
The depth is commonly referred to as the seabed.
Definition at line 35 of file JSoundVelocity.hh.
|
inline |
Constructor.
Note that the depth is relative to the sea surface and therefore should be negative.
a | velocity [m/s] |
b | d(v)/d(z) [m/s/m] |
z0 | depth [m] |
Definition at line 47 of file JSoundVelocity.hh.
|
inline |
Set depth.
Note that the depth is relative to the sea surface and therefore should be negative.
z0 | depth [m] |
Definition at line 62 of file JSoundVelocity.hh.
|
inline |
Get sound velocity at given depth.
Note that the depth is relative to the sea surface and therefore should be negative.
z0 | depth [m] |
Definition at line 79 of file JSoundVelocity.hh.
|
inlineoverridevirtual |
Get velocity of sound at seabed.
Implements JACOUSTICS::JAbstractSoundVelocity.
Definition at line 90 of file JSoundVelocity.hh.
|
inlineoverridevirtual |
Get velocity of sound at given depth relative to seabed.
z | depth [m] |
Reimplemented from JACOUSTICS::JAbstractSoundVelocity.
Definition at line 102 of file JSoundVelocity.hh.
|
inlineoverridevirtual |
Get distance travelled by sound.
The distance travelled is obtained by consistency with method JSoundVelocity::getTime.
Note that the depth is relative to the seabed.
t_s | time [s] |
z1 | depth [m] |
z2 | depth [m] |
Implements JACOUSTICS::JAbstractSoundVelocity.
Definition at line 119 of file JSoundVelocity.hh.
|
inlineoverridevirtual |
Get propagation time of sound.
The propagation time is obtained from the integral .
Note that the depth is relative to the seabed.
D_m | distance [m] |
z1 | depth [m] |
z2 | depth [m] |
Implements JACOUSTICS::JAbstractSoundVelocity.
Definition at line 147 of file JSoundVelocity.hh.
|
inlineoverridevirtual |
Get inverse velocity of sound.
The inverse velocity is obtained from the propagation time given by method JSoundVelocity::getTime.
Note that the depth is relative to the seabed.
D_m | distance [m] |
z1 | depth [m] |
z2 | depth [m] |
Implements JACOUSTICS::JAbstractSoundVelocity.
Definition at line 175 of file JSoundVelocity.hh.
|
friend |
Read sound velocity from input.
in | input stream |
velocity | sound velocity |
Definition at line 199 of file JSoundVelocity.hh.
|
friend |
Write sound velocity to output.
out | output stream |
velocity | sound velocity |
Definition at line 228 of file JSoundVelocity.hh.
|
private |
Definition at line 236 of file JSoundVelocity.hh.
|
private |
Definition at line 237 of file JSoundVelocity.hh.
|
private |
Definition at line 238 of file JSoundVelocity.hh.