USML
profile_n2.h
1 
6 #ifndef USML_OCEAN_PROFILE_N2_H
7 #define USML_OCEAN_PROFILE_N2_H
8 
9 #include <usml/ocean/profile_model.h>
10 
11 namespace usml {
12 namespace ocean {
13 
16 
40 class USML_DECLSPEC profile_n2 : public profile_model {
41 
42  //**************************************************
43  // sound speed model
44 
46  double _soundspeed0 ;
47 
49  double _factor ;
50 
51  public:
52 
61  virtual void sound_speed( const wposition& location,
62  matrix<double>* speed, wvector* gradient=NULL ) ;
63 
64  //**************************************************
65  // initialization
66 
77  double c0, double g0,
78  attenuation_model* attmodel=NULL
79  ) :
80  profile_model(attmodel),
81  _soundspeed0(c0), _factor(2.0*g0/c0)
82  { }
83 
84 };
85 
87 } // end of namespace ocean
88 } // end of namespace usml
89 
90 #endif
double _soundspeed0
Speed of sound at the surface of the water.
Definition: profile_n2.h:46
World location in geodetic earth coordinates (latitude, longitude, and altitude). ...
Definition: wposition.h:39
double _factor
Gradient factor = 2 g0 / c0.
Definition: profile_n2.h:49
Creates an analytic model for an N^2 Linear profile.
Definition: profile_n2.h:40
static const double c0
Definition: eigenray_test.cc:24
profile_n2(double c0, double g0, attenuation_model *attmodel=NULL)
Default behavior for new profile models.
Definition: profile_n2.h:76
A "profile model" computes the environmental parameters of ocean water.
Definition: profile_model.h:28
World vector in spherical earth coordinates.
Definition: wvector.h:42
An attenuation loss model computes the absorption of sound by the minerals in sea water...
Definition: attenuation_model.h:30