# Dispersion

Uses a linear dispersion relationship to compute wave-frequency from wave-number

Controller: **CodeCogs**

## Interface

C++

## K To W

doublek_to_w( | double | k | |

double | depth` = 0` | ||

double | gravity` = 9.8066` | ) |

*w*is wave-frequency,

*k*is wave-number and

*g*is gravity. In deep water (represented with d<=0), this solution reduces to The opposite of this function is

**dispersion_w**

### Parameters

k () is wave-number. [rad/m] depth the depth of the water to mean sea level. A value of zero or less corresponds to deep water. [m] gravity (default 9.8066). [m/s ^{2}]

### Returns

- wave-frequency (). [rad/s]

##### Source Code

Source code is available when you agree to a GP Licence or buy a Commercial Licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.

## K To W

doublek_to_w( | double | a | |

double | k | ||

double | depth` = 0` | ||

double | gravity` = 9.8066` | ) |

*a*. The solution is based on work by Dalrymple, who derived:

Purchase a Licence for more information.

In deep water(represented with d<=0), this solution reduces to As in the linear dispersion relationship.Example:

##### Example - Second order Wave Number to Wave Frequency

Problem

Compute the second order Wave Number from Wave Frequency in water of depth 2m.

Workings

#include <stdio.h> #include <codecogs/engineering/fluid_mechanics/waves/dispersion.h> using namespace Engineering::Fluid_Mechanics::Waves; int main() { double amp=3; // 3 meters printf(" k w "); for(double k=0.01; k<1;k+=0.1) { printf("\n %.6lf", k); double w=k_to_w(amp,k,2); printf(" %.3lf", w); } }

### Parameters

a amplitude of component with wavenumber *k*. [m]k wave-number of component (). [rad/m] depth the depth of the water to mean sea level. A value of zero or less corresponds to deep water. [m] gravity (default ). [m/s ^{2}]

### Returns

- wave-frequency (). [rad/s]

##### Source Code

Source code is available when you agree to a GP Licence or buy a Commercial Licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.

## W To K

doublew_to_k( | double | w | |

double | depth` = 0` | ||

double | gravity` = 9.8066` | ) |

*w*is wave-frequency,

*k*is wave-number and

*g*is gravity. We then seek to minimise ε using the first derivative . This convergence of this error function is fairly rapid, with poorest conversion, 8 iterations in water 2m deep (for 6dp precision) occurring when

*w*is small i.e.

*w*<=0.1. When

*w=1*.5 only 4 iterations are needed, while

*w>3*.5 needs only 2 iterations. Shallow water naturally requires more iteration. If your doing many calculation in either shallow water or very long wave periods (>30s), then you might want to consider fine tuning this function. This relationship can me use to move from the wave-period () to the wave-length () of a water wave. This is also shown graphically in the following figure:

There is an error with your graph parameters for

The opposite of this function is **w_to_k**with options w=0:4 depth=1:5:3**Error Message:**Function w_to_k failed. Ensure that: **Invalid C++**

**dispersion_k**

Example:

[metric]

##### Example - First order conversion of Wave Frequency to Wave Number

Problem

Compute Wave Frequency from Wave Number in water of depth 2m.

Workings

#include <stdio.h> #include <codecogs/engineering/fluid_mechanics/waves/dispersion.h> using namespace Engineering::Fluid_Mechanics::Waves; int main() { printf(" k w recalculated k"); for(double k=0.01; k<1;k+=0.1) { printf("\n %.6lf", k); double w=k_to_w(k,2); double k2=k_to_k(w,2); printf(" %.3lf %.6lf", w, k2); } return 0; }

Solution

k w recalculated k 0.010000 0.044 0.010000 0.110000 0.483 0.110000 0.210000 0.904 0.210000 0.310000 1.294 0.310000 0.410000 1.648 0.410000 0.510000 1.962 0.510000 0.610000 2.241 0.610000 0.710000 2.489 0.710000 0.810000 2.710 0.810000 0.910000 2.910 0.910000

### Example 1

### Parameters

w () is wave-frequency, usually written using (omega). depth (m) define the depth of the water to mean sea level. A value of zero or less corresponds to deep water. gravity (default ).

### Returns

- wave-number ().

##### Source Code

Source code is available when you agree to a GP Licence or buy a Commercial Licence.

Not a member, then Register with CodeCogs. Already a Member, then Login.