Difference between revisions of "SoulsbyKH"

From WikiROMS
Jump to navigationJump to search
Line 1: Line 1:
<div class="title">Soulsby Method for Calculating ''kh''</div>
<div class="title">Methods for Calculating ''kh''</div>
<wikitex>
<wikitex>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 (m2 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 | Wiberg and Sherwood (2008)]] reported on the speed and accuracy of several explicit and iterative methods for approximating $kh$. Two good methods are implemented in ROMS/CSTMS.
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 | Wiberg and Sherwood (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.


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.
<div class="box">#define SSW_SOULSBY_KH<br />#undef SSW_HUNT_KH</div>
 
The alternative is a fifth-order polynomial approximation attributed to Hunt (1979) by [[Bibliography#DeanR_1991a | Dean and Dalrymple (1991), p72]].
{{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]. Only define one of these two options:
</wikitex>
<div class="box">#define SSW_SOULSBY_KH<br />#undef SSW_HUNT_KH</div></wikitex>

Revision as of 19:16, 3 November 2008

Methods for Calculating kh

<wikitex>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 (m2 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. Wiberg and Sherwood (2008) reported on the speed and accuracy of several explicit and iterative methods for approximating $kh$. 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. Only define one of these two options:

#define SSW_SOULSBY_KH
#undef SSW_HUNT_KH

</wikitex>