File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -69,7 +69,7 @@ Eigen::Vector3d GetWaterVelocity(const Eigen::Vector3d& position,
6969
7070 // get water velocity
7171 auto water_velocity = Eigen::Vector3d (0.0 , 0.0 , 0.0 );
72- if (2 * M_PI / wavenumber > water_depth) {
72+ if (2 * M_PI / wavenumber > water_depth || wavenumber * water_depth > 500.0 ) {
7373 // deep water
7474 water_velocity[0 ] =
7575 omega * amplitude * std::exp (wavenumber * z_pos) * cos (wavenumber * x_pos - omega * time + phase);
@@ -109,6 +109,10 @@ double ComputeWaveNumber(double omega,
109109 double g,
110110 double tolerance = 1e-6 ,
111111 int max_iterations = 100 ) {
112+ if (water_depth <= 0.0 ) {
113+ throw std::runtime_error (" Cannot compute wavenumber with water depth: " + std::to_string (water_depth) + " ." );
114+ }
115+
112116 // Initial guess for wave number (using deep water approximation)
113117 double k = omega * omega / g;
114118
You can’t perform that action at this time.
0 commit comments