Models bottom loss from a flat fluid-solid interface.
Includes the effects of both compression and shear waves in the bottom. This model is only used for bottom reflection. Note that the Rayleigh model is frequency independent because all of the frequency terms cancel out.
The effect of attenuation is incorporated into the model as a complex component of the sound speed:
where:
The effect of absorption on the in-water sound speed is assumed to be negligible.
The complex reflection coefficient is modeled as a combination of the acoustic impedances for compressional and shear waves. The effect of shear on the in-water impedance is assumed to be negligible.
where:
The angles between the ray and surface normal in each medium is computed using Snell's Law:
Note that the sin() and cos() terms in this derivation have been inverted from the reference to take into account the difference between grazing angle and angle to the surface normal.
enum bottom_type_enum |
Bottom types supported by table lookup feature.
reflect_loss_rayleigh | ( | bottom_type_enum | type | ) |
Initialize model with a generic bottom type.
Initialize model with impedance mis-match factors.
Uses an internal lookup table to convert into impedance mis-match factors.
type | Generic bottom for table lookup of impedance mis-match factors. |
reflect_loss_rayleigh | ( | size_t | type | ) |
Initialize model with a generic bottom type as integer representation.
Initialize model with impedance mis-match factors.
Uses an internal lookup table to convert into impedance mis-match factors.
type | Integer representation of generic bottom type. |
reflect_loss_rayleigh | ( | double | density, | |
double | speed, | |||
double | att_bottom = 0.0 , |
|||
double | speed_shear = 0.0 , |
|||
double | att_shear = 0.0 | |||
) |
Initialize model with impedance mis-match factors.
Defined in terms of ratios to match commonly used databases.
density | Ratio of bottom density to water density Water density is assumed to be 1000 kg/m^3. | |
speed | Ratio of compressional sound speed in the bottom to the sound speed in water. The sound speed in water is assumed to be 1500 m/s. | |
att_bottom | Compressional wave attenuation in bottom (dB/wavelength). No attenuation if this is zero. | |
speed_shear | Ratio of shear wave sound speed in the bottom to the sound speed in water. | |
att_shear | Shear wave attenuation in bottom (dB/wavelength). |
complex< double > impedance | ( | double | density, | |
double | speed, | |||
double | attenuation, | |||
double | angle, | |||
complex< double > * | cosA, | |||
bool | shear | |||
) | [private] |
Computes the impedance for compression or shear waves with attenuation.
Compute impedance for compression or shear waves with attenuation.
Includes the Snell's Law computation of transmitted angle.
density | Ratio of bottom density to water density Water density is assumed to be 1000 kg/m^3. | |
speed | Ratio of compressional sound speed in the bottom to the sound speed in water. The sound speed in water is assumed to be 1500 m/s. | |
attenuation | Compressional wave attenuation in bottom (dB/wavelength). No attenuation if this is zero. | |
angle | Reflection angle relative to the normal (radians). | |
cosA | Returns the cosine of the transmitted angle computed using Snell's Law. | |
shear | Treat impendance for shear instances as special cases. |
void reflect_loss | ( | const wposition1 & | location, | |
const seq_vector & | frequencies, | |||
double | angle, | |||
vector< double > * | amplitude, | |||
vector< double > * | phase = NULL | |||
) | [virtual] |
Computes the broadband reflection loss and phase change for a single location.
Computes the broadband reflection loss and phase change.
location | Location at which to compute attenuation. | |
frequencies | Frequencies over which to compute loss. (Hz) | |
angle | Reflection angle relative to the normal (radians). | |
amplitude | Change in ray strength in dB (output). | |
phase | Change in ray phase in radians (output). Phase change not computed if this is NULL. |
Implements reflect_loss_model.
const double _att_bottom [private] |
Compressional wave attenuation in bottom (nepers/wavelength).
const double _att_shear [private] |
Shear wave attenuation in bottom (nepers/wavelength).
const double _density_bottom [private] |
Bottom density (kg/m^3).
const double _density_water [private] |
Density of water (kg/m^3).
const double _speed_bottom [private] |
Compressional speed of sound in bottom (m/s).
const double _speed_shear [private] |
Shear speed of sound in bottom (m/s).
const double _speed_water [private] |
Speed of sound in water (m/s).
struct usml::ocean::reflect_loss_rayleigh::bottom_type_table lookup[] [static, private] |
Bottom types lookup table.