profile_linear Class Reference
[Ocean Profiles]

Collaboration diagram for profile_linear:
Collaboration graph
[legend]

Detailed Description

Creates an analytic model for a bi-linear, linear, or constant profile.

This type of profile is commonly used as an analytic test case in propagation loss modeling. The general form of the bi-linear profile is defined as:

          c(z) = c0 + g0 * z                      for z < z1
          c(z) = c0 + g0 * z1 + g1 * ( z - z1 )   for z >= z1
 where:
          c0   = speed of sound at the surface of the water
          z    = depth below the ocean surface (positive direction down)
          z1   = depth at which profile changes gradients
          g0   = sound speed gradient for z < z1
          g1   = sound speed gradient for z >= z1
          c(z) = speed of sound as a function of depth
 

This can be used as a linear profile by setting z1=0 and g1=g0. In a contant profile, all of the values are zero except c0.


Constructor & Destructor Documentation

profile_linear ( double  c0,
double  g0,
double  z1,
double  g1,
attenuation_model attmodel = NULL 
) [inline]

Bi-Linear verion of the profile.

Parameters:
c0 Speed of sound at the surface of the water.
g0 Sound speed gradient at the surface of the water.
z1 Depth at which profile changes gradients.
g1 Sound speed gradient for depths below z1.
attmodel In-water attenuation model. Defaults to Thorp. The profile_model takes over ownership of this reference and deletes it as part of its destructor.
profile_linear ( double  c0,
double  g0,
attenuation_model attmodel = NULL 
) [inline]

Linear verion of the profile.

Parameters:
c0 Speed of sound at the surface of the water.
g0 Sound speed gradient at the surface of the water.
attmodel In-water attenuation model. Defaults to Thorp. The profile_model takes over ownership of this reference and deletes it as part of its destructor.
profile_linear ( double  c0 = 1500.0,
attenuation_model attmodel = NULL 
) [inline]

Constant speed verion of the profile.

Parameters:
c0 Speed of sound at all points in the water.
attmodel In-water attenuation model. Defaults to Thorp. The profile_model takes over ownership 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:
location Location at which to compute sound speed.
speed Speed of sound (m/s) at each location (output).
gradient Sound speed gradient at each location (output).

Implements profile_model.


Member Data Documentation

double _depth1 [private]

Depth at which profile changes gradients.

double _gradient0 [private]

Sound speed gradient at the surface of the water.

double _gradient1 [private]

Sound speed gradient for depths below _depth1.

double _soundspeed0 [private]

Speed of sound at the surface of the water.


Generated on 4 May 2015 for USML by  doxygen 1.6.1