Dispersion relation for water waves
This set of functions simply provides an easy way to work with the dispersion relation of surface waves, given by
omega(k) = sqrt ( tanh(k*h0) * (g*k + gamma*k^3/rho))
where omega is the pulsation (in rad/s), k the wavenumber (in 1/m), h0 the depth, g the gravity, gamma the surface tension and rho the density.
The function kfromw allows one to invert the dispersion relation, i.e. to give the value of omega for a given value of k.
(For infinite depth, kfromw simply inverts the cubic polynomial. For finite depth, a zero-finding method is used, starting from the infinite depth solution).
By default, the physical parameters (liquid densities, surface tension, etc.) are set for an air-water interface under usual conditions, with a water layer of infinite depth ("deep water waves"). Use the function wave_parameter to change those properties.
See the published file "demo" to learn more about this package.
Cite As
Frederic Moisy (2024). Dispersion relation for water waves (https://www.mathworks.com/matlabcentral/fileexchange/27391-dispersion-relation-for-water-waves), MATLAB Central File Exchange. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxCategories
Tags
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.