USML
attenuation_thorp Class Reference
Collaboration diagram for attenuation_thorp:

Detailed Description

Models attenuation loss using the Thorp's model.

     attenuation (dB/km) = 
           0.0033 + F2* ( 3.0e-4 + 44.0/(4100.0 + F2) 
         + 0.11/(1.0 + F2) );
where:
         F2  = square of frequency in kilohertz

Valid for: 1000 m, 4 deg C, 35 ppt salinity, pH=8, 100-5000 Hz.

References:
F.B. Jensen, W.A. Kuperman, M.B. Porter, H. Schmidt, "Computational Ocean Acoustics", Chapter 1.5.2, pp. 37,38.

The effect of pressure on absorption is taken into account with a depth correction term:

     attenuation(d0) = attenuation(d0) 
                      ( 1 - 5.88264e-6 d ) / ( 1 - 5.88264e-6 d0 )
where:
     d               = depth in meters.
     d0              = reference depth in meters (1000 m for Thorp).
     attenuation(d0) = attenuation at reference depth.
References:
R.J. Urick, Principles of Underwater Sound, 3rd Edition, (1983), p. 108.
References:
R.H. Fisher, "Effect of High Pressure on Sound Absorption and Chemical Equilibrium," J. Acoust. Soc. Am. 30:442 (1973).

Constructor & Destructor Documentation

attenuation_thorp ( )
inline

Default initializes does nothing.

virtual ~attenuation_thorp ( )
inlinevirtual

Virtual destructor.

Member Function Documentation

void attenuation ( const wposition location,
const seq_vector frequencies,
const matrix< double > &  distance,
matrix< vector< double > > *  attenuation 
)
virtual

Computes the broadband absorption loss of sea water.

Parameters
locationLocation at which to compute attenuation.
frequenciesFrequencies over which to compute loss. (Hz)
distanceDistance traveled through the water (meters).
attenuationAbsorption loss of sea water in dB (output).

Implements attenuation_model.