Difference between revisions of "SoulsbyKH"

From WikiROMS
Jump to navigationJump to search
(New page: <div class="title">Soulsby Method for Calculating ''kh''</div> <wikitex> A stable and precise method for calculating the product of wavenumber x depth $KH$ in the linear gravity-wave dispe...)   (change visibility)
 
 
(4 intermediate revisions by one other user not shown)
Line 1: Line 1:
<div class="title">Soulsby Method for Calculating ''kh''</div>
<div class="title">Methods for Calculating ''kh''</div>
<wikitex>
A stable and precise method for calculating the product of wavenumber x depth $KH$ in the linear gravity-wave dispersion equation is implemented in the version of SSW_BBL.h located in [https://www.myroms.org/projects/cstm/browser/branches/crs/cstm_trunk Sherwood's branch].
The dispersion equation is $\omega^2 = gk$ tanh($kh$), where $\omega$ is the angular frequency of the wave ($2pi/T$) where $T$ is period (s), $g$ is gravitational acceleration {\text{m}}^2 {\text{s}}^{-1}, $h$ is water depth (m), and $k$ is wavenumber ($2pi/\lambda$) where $\lambda$ is wavelength (m). $k$ is difficult to calculate because it is implicit.
[[Bibliography#WibergP_2008a | Sherwood and Wiberg (2008)]] reported on the speed and accuracy of several explicit and iterative methods for approximating $kh$ and determined that the Newton-Raphson method suggested by [[Bibliography#SoulsbyR_2005a | Soulsby (2005)]] is a good all-around method that is fast, accurate, and stable under all possible conditions.


The dispersion equation for surface gravity waves is <math>\omega^2 = gk~ \text{tanh}(kh)</math>, where <math>\omega</math> is the angular frequency of the wave (<math>2\pi/T</math>) where <math>T</math> is period (s), <math>g</math> is gravitational acceleration (m2 s-1), <math>h</math> is water depth (m), and <math>k</math> is wavenumber (<math>2\pi/\lambda</math>) where <math>\lambda</math> is wavelength (m). <math>k</math> is difficult to calculate because it is implicit.[[Bibliography#WibergP_2008a | Wiberg and Sherwood (2008)]] reported on the speed and accuracy of several explicit and iterative methods for approximating <math>kh</math>. Two good methods are implemented in ROMS/CSTMS.


To use this:
A fifth-order polynomial approximation attributed to Hunt (1979) by [[Bibliography#DeanR_1991a | Dean and Dalrymple (1991), p72]] is used when SSW_HUNT_KH is defined, and the Newton-Raphson method suggested by [[Bibliography#SoulsbyR_2005a | Soulsby (2005)]] is used when SSW_SOULSBY_KH is defined.


{{warning}} '''Note:''' The Soulsby option and these two CPP defs are only  implemented in the version of SSW_BBL.h located in [https://www.myroms.org/projects/cstm/browser/branches/crs/cstm_trunk Sherwood's branch]. Define one of these two options:
<div class="box">#define SSW_SOULSBY_KH<br />#undef SSW_HUNT_KH</div>
<div class="box">#define SSW_SOULSBY_KH<br />#undef SSW_HUNT_KH</div>
The alternative is a fifth-order polynomial approximation
<\wikitex>

Latest revision as of 11:58, 18 May 2016

Methods for Calculating kh

The dispersion equation for surface gravity waves is , where is the angular frequency of the wave () where is period (s), is gravitational acceleration (m2 s-1), is water depth (m), and is wavenumber () where is wavelength (m). is difficult to calculate because it is implicit. Wiberg and Sherwood (2008) reported on the speed and accuracy of several explicit and iterative methods for approximating . Two good methods are implemented in ROMS/CSTMS.

A fifth-order polynomial approximation attributed to Hunt (1979) by Dean and Dalrymple (1991), p72 is used when SSW_HUNT_KH is defined, and the Newton-Raphson method suggested by Soulsby (2005) is used when SSW_SOULSBY_KH is defined.

Warning Note: The Soulsby option and these two CPP defs are only implemented in the version of SSW_BBL.h located in Sherwood's branch. Define one of these two options:

#define SSW_SOULSBY_KH
#undef SSW_HUNT_KH