USML
profile_linear.h
1 
6 #ifndef USML_OCEAN_PROFILE_LINEAR_H
7 #define USML_OCEAN_PROFILE_LINEAR_H
8 
9 #include <usml/ocean/profile_model.h>
10 
11 namespace usml {
12 namespace ocean {
13 
16 
38 class USML_DECLSPEC profile_linear : public profile_model {
39 
40  //**************************************************
41  // sound speed model
42 
44  double _soundspeed0 ;
45 
47  double _gradient0 ;
48 
50  double _depth1 ;
51 
53  double _gradient1 ;
54 
55  public:
56 
65  virtual void sound_speed( const wposition& location,
66  matrix<double>* speed, wvector* gradient=NULL ) ;
67 
68  //**************************************************
69  // initialization
70 
83  double c0, double g0, double z1, double g1,
84  attenuation_model* attmodel=NULL
85  ) :
86  profile_model(attmodel),
87  _soundspeed0(c0), _gradient0(g0),
88  _depth1(z1), _gradient1(g1)
89  { }
90 
101  double c0, double g0,
102  attenuation_model* attmodel=NULL
103  ) :
104  profile_model(attmodel),
105  _soundspeed0(c0), _gradient0(g0),
106  _depth1(0.0), _gradient1(g0)
107  { }
108 
118  double c0 = 1500.0,
119  attenuation_model* attmodel=NULL
120  ) :
121  profile_model(attmodel),
122  _soundspeed0(c0), _gradient0(0.0),
123  _depth1(0.0), _gradient1(0.0)
124  { }
125 
126 };
127 
128 } // end of namespace ocean
129 } // end of namespace usml
130 
131 #endif
double _depth1
Depth at which profile changes gradients.
Definition: profile_linear.h:50
World location in geodetic earth coordinates (latitude, longitude, and altitude). ...
Definition: wposition.h:39
Creates an analytic model for a bi-linear, linear, or constant profile.
Definition: profile_linear.h:38
double _gradient0
Sound speed gradient at the surface of the water.
Definition: profile_linear.h:47
double _gradient1
Sound speed gradient for depths below _depth1.
Definition: profile_linear.h:53
profile_linear(double c0=1500.0, attenuation_model *attmodel=NULL)
Constant speed verion of the profile.
Definition: profile_linear.h:117
profile_linear(double c0, double g0, attenuation_model *attmodel=NULL)
Linear verion of the profile.
Definition: profile_linear.h:100
static const double c0
Definition: eigenray_test.cc:24
double _soundspeed0
Speed of sound at the surface of the water.
Definition: profile_linear.h:44
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
profile_linear(double c0, double g0, double z1, double g1, attenuation_model *attmodel=NULL)
Bi-Linear verion of the profile.
Definition: profile_linear.h:82
An attenuation loss model computes the absorption of sound by the minerals in sea water...
Definition: attenuation_model.h:30