USML
profile_n2 Class Reference
Collaboration diagram for profile_n2:

Detailed Description

Creates an analytic model for an N^2 Linear profile.

In this profile, the square of the index of refraction is linear. This is a useful profile because its ray paths can be computed analytically and used to test propagation loss modeling accuracy against standard benchmarks. The general form of the N^2 Linear profile is defined as:

         n(z) = c0 / c(z)
         c(z) = c0 / sqrt( 1 - 2 g0 / c0 * z )
where:
     z    = depth below the ocean surface (negative is down).
     n(z) = index of refraction as a function of depth.
     c(z) = speed of sound as a function of depth.
     c0   = speed of sound at z=0
     g0   = sound speed gradient at z=0 (+ when deeper depths are slower).
References:
M. A. Pedersen, D. F. Gordon, "Normal-Mode and Ray Theory Applied to Underwater Acoustic conditions of Extreme Downward Refraction", J. Acoust. Soc. Am. 51 (1B), 323-368 (June 1972).

Constructor & Destructor Documentation

profile_n2 ( double  c0,
double  g0,
attenuation_model attmodel = NULL 
)
inline

Default behavior for new profile models.

Parameters
c0Speed of sound at the surface of the water.
g0Gradient for the square of the index of refraction.
attmodelIn-water attenuation model. Defaults to Thorp. The profile_model takes over ownship of this reference and deletes it as part of its destructor.

Member Function Documentation

void sound_speed ( const wposition location,
matrix< double > *  speed,
wvector gradient = NULL 
)
virtual

Compute the speed of sound and it's first derivatives at a series of locations.

Parameters
locationLocation at which to compute sound speed.
speedSpeed of sound (m/s) at each location (output).
gradientSound speed gradient at each location (output).

Implements profile_model.

Member Data Documentation

double _factor
private

Gradient factor = 2 g0 / c0.

double _soundspeed0
private

Speed of sound at the surface of the water.