Jpp  15.0.3
the software that should make you happy
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | List of all members
JACOUSTICS::JAttenuationLength Struct Reference

Auxiliary data structure for calculation of attenuation length. More...

#include <JAcousticsSupportkit.hh>

Public Member Functions

 JAttenuationLength (const double T, const double S, const double pH)
 Constructor. More...
 
double operator() (const double D_m, const double f_kHz) const
 Get attentuation length for given frequency at given depth. More...
 

Public Attributes

double T
 
double S
 
double pH
 

Detailed Description

Auxiliary data structure for calculation of attenuation length.

Attenuation according to Ainslie and McColm, J. Acoust. Soc. AM. 103 (3) 1671 1998.
See also http://resource.npl.co.uk/acoustics/techguides/seaabsorption/physics.html for numerical values.

Definition at line 30 of file JAcousticsSupportkit.hh.

Constructor & Destructor Documentation

JACOUSTICS::JAttenuationLength::JAttenuationLength ( const double  T,
const double  S,
const double  pH 
)
inline

Constructor.

Parameters
Ttemperature [C]
Ssalinity [pm]
pHpH

Definition at line 38 of file JAcousticsSupportkit.hh.

Member Function Documentation

double JACOUSTICS::JAttenuationLength::operator() ( const double  D_m,
const double  f_kHz 
) const
inline

Get attentuation length for given frequency at given depth.

Parameters
D_mdepth [m]
f_kHzfrequency [kHz]
Returns
attenuation length [m]

Definition at line 54 of file JAcousticsSupportkit.hh.

56  {
57  const double z = D_m * 1.0e-3;
58  const double f1 = 0.78 * sqrt(S/35.0) * exp(T/26.0);
59  const double f2 = 42.0 * exp(T/17.0);
60  const double a1 = 0.106 * f1*(f_kHz*f_kHz) / (f_kHz*f_kHz + f1*f1) * exp((pH-8.0)/0.56);
61  const double a2 = 0.52 * (1.0 + T/43.0) * (S/35.0) * f2 * f_kHz*f_kHz / (f_kHz*f_kHz + f2*f2) * exp(-z/6.0);
62  const double a0 = 0.00049 * exp(-T/27.0 + z/17.0) * f_kHz*f_kHz;
63  const double A = a0 + a1 + a2; // dB/km
64 
65  return 10.0e3 / (A*log(10.0));
66  }
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable STRING $argv[2] set_array QUANTILES set_variable FORMULA *[0] exp(-0.5 *(x-[1])*(x-[1])/([2]*[2]))" set_variable MODULE `getModule -a $DETECTOR -L "$STRING 0"` source JAcoustics.sh -- typeset -A TRIPODS get_tripods $WORKDIR/tripod.txt TRIPODS XMEAN
source $JPP_DIR setenv csh $JPP_DIR &dev null eval JShellParser o a A

Member Data Documentation

double JACOUSTICS::JAttenuationLength::T

Definition at line 68 of file JAcousticsSupportkit.hh.

double JACOUSTICS::JAttenuationLength::S

Definition at line 69 of file JAcousticsSupportkit.hh.

double JACOUSTICS::JAttenuationLength::pH

Definition at line 70 of file JAcousticsSupportkit.hh.


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