1 #ifndef __JACOUSTICS__JSOUNDVELOCITY__ 
    2 #define __JACOUSTICS__JSOUNDVELOCITY__ 
   20 namespace JACOUSTICS {}
 
   21 namespace JPP { 
using namespace JACOUSTICS; }
 
   23 namespace JACOUSTICS {
 
   64       this->
a  += this->
b * (z0 - this->
z0);
 
  120                                const double z2)
 const 
  122       const double eps = 1.0e-8;
 
  124       const double v1  = (*this)(z1);
 
  125       const double v2  = (*this)(z2);
 
  126       const double lv  = log(v2/v1);
 
  129         return t_s * fabs((z2 - z1) * 
b / lv);
 
  131         return 0.5 * t_s * (v1 + v2);
 
  147                            const double z2)
 const 
  149       const double eps = 1.0e-8;
 
  151       const double ct  = (z2 - z1) / D_m;
 
  152       const double v1  = (*this)(z1);
 
  153       const double v2  = (*this)(z2);
 
  156         return fabs(log(v2/v1) / (ct*
b));
 
  158         return 2.0 * D_m / (v1 + v2);
 
  174                                       const double z2)
 const 
  176       const double eps = 1.0e-8;
 
  178       const double ct  = (z2 - z1) / D_m;
 
  179       const double v1  = (*this)(z1);
 
  180       const double v2  = (*this)(z2);
 
  183         return fabs(log(v2/v1) / ((z2 - z1) * 
b));
 
  185         return 2.0 / (v1 + v2);
 
  200       JStringStream 
is(in);
 
  206       if (is >> velocity.
a) {
 
  227       out << velocity.
a << 
' ' << velocity.
b << 
' ' << velocity.
z0;
 
virtual double getDistance(const double t_s, const double z1, const double z2) const 
Get distance travelled by sound. 
 
JSoundVelocity(const double a, const double b, const double z0)
Constructor. 
 
virtual double getTime(const double D_m, const double z1, const double z2) const 
Get propagation time of sound. 
 
static const JSoundVelocity getSoundVelocity(1541.0,-17.0e-3,-2000.0)
Function object for velocity of sound. 
 
virtual double getInverseVelocity(const double D_m, const double z1, const double z2) const 
Get inverse velocity of sound. 
 
Implementation for velocity of sound. 
 
static JStat getFileStatus
Function object for file status. 
 
JSoundVelocity operator[](const double z0) const 
Get sound velocity at given depth. 
 
friend std::istream & operator>>(std::istream &in, JSoundVelocity &velocity)
Read sound velocity from input. 
 
Interface for velocity of sound. 
 
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
 
JSoundVelocity & set(const double z0)
Set depth. 
 
virtual double operator()(const double z) const 
Get velocity of sound at given depth relative to seabed. 
 
virtual double operator()() const 
Get velocity of sound. 
 
friend std::ostream & operator<<(std::ostream &out, const JSoundVelocity &velocity)
Write sound velocity to output.