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.
The effect of pressure on absorption is taken into account with a depth correction term:
attenuation(d) = 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.
attenuation_thorp | ( | ) | [inline] |
Default initializes does nothing.
virtual ~attenuation_thorp | ( | ) | [inline, virtual] |
Virtual destructor.
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.
location | Location at which to compute attenuation. | |
frequencies | Frequencies over which to compute loss. (Hz) | |
distance | Distance traveled through the water (meters). | |
attenuation | Absorption loss of sea water in dB (output). |
Implements attenuation_model.