Creates an analytic model for a deep sound channel profile.
The catenary form of this profile useful because its ray paths can be computed analytically and used to test propagation loss modeling accuracy against standard benchmarks. The general form of the deep duct catenary profile is defined as:
c(z) = c1 * cosh( (z-z1) / g1 )
where: z = depth below the ocean surface (positive direction down). c(z) = speed of sound as a function of depth z1 = depth of the deep sound channel axis c1 = speed of sound at the deep sound channel axis g1 = sound speed gradient scaling factor
profile_catenary | ( | double | c1, | |
double | g1, | |||
double | z1, | |||
attenuation_model * | attmodel = NULL | |||
) | [inline] |
Default behavior for new profile models.
c1 | Speed of sound at the deep sound channel axis. | |
g1 | Sound speed gradient scaling factor. | |
z1 | Depth of the deep sound channel axis. | |
attmodel | In-water attenuation model. Defaults to Thorp. The profile_model takes over ownship of this reference and deletes it as part of its destructor. |
void sound_speed | ( | const wposition & | location, | |
matrix< double > * | speed, | |||
wvector * | gradient | |||
) | [virtual] |
Compute the speed of sound and it's first derivatives at a series of locations.
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.
double _depth1 [private] |
Depth of the deep sound channel axis.
double _gradient1 [private] |
Sound speed gradient scaling factor.
double _soundspeed1 [private] |
Speed of sound at the deep sound channel axis.