USML
ode_integ.h
1 
5 #ifndef USML_WAVEQ3D_ODE_INTEG_H
6 #define USML_WAVEQ3D_ODE_INTEG_H
7 
8 #include <usml/waveq3d/wave_queue.h>
9 
10 namespace usml {
11 namespace waveq3d {
12 
13 using namespace usml::ocean ;
14 class wave_queue ; // forward reference for friend declaration
15 
20 class USML_DECLSPEC ode_integ {
21 
22  friend class wave_queue ;
23  friend class reflection_model ;
24 
25  private:
26 
35  static void rk1_pos(
36  double dt, wave_front *y0, wave_front *y1, bool no_alias=true ) ;
37 
46  static void rk1_ndir( double dt, wave_front *y0, wave_front *y1,
47  bool no_alias=true ) ;
48 
58  static void rk2_pos( double dt, wave_front *y0, wave_front *y1,
59  wave_front *y2, bool no_alias=true ) ;
60 
70  static void rk2_ndir( double dt, wave_front *y0, wave_front *y1,
71  wave_front *y2, bool no_alias=true ) ;
72 
83  static void rk3_pos( double dt, wave_front *y0, wave_front *y1,
84  wave_front *y2, wave_front *y3, bool no_alias=true ) ;
85 
96  static void rk3_ndir( double dt, wave_front *y0, wave_front *y1,
97  wave_front *y2, wave_front *y3, bool no_alias=true ) ;
98 
111  static void ab3_pos( double dt, wave_front *y0, wave_front *y1,
112  wave_front *y2, wave_front *y3, bool no_alias=true ) ;
113 
124  static void ab3_ndir( double dt, wave_front *y0, wave_front *y1,
125  wave_front *y2, wave_front *y3, bool no_alias=true ) ;
126 } ;
127 
128 } // end of namespace waveq3d
129 } // end of namespace usml
130 
131 #endif
Wavefront characteristics at a specific point in time.
Definition: wave_front.h:68
Wavefront propagator for the WaveQ3D model.
Definition: wave_queue.h:63
Definition: reflection_model.h:49
Definition: ode_integ.h:20