In ocean engineering structural design, it is convenient to be able to quickly change wave parameters and see the effects of the changes on kinematics and the consequences for forces on the structure. To some extent the FORTRAN software, SIMBAT and NUSIMR, allows this for linear directional statistical wave theory. These packages would be more convenient and useful if they were written in a graphical display coding system like MATLAB, so that the engineer could see the consequences immediately and directly in graphical form.
There is a similar need for software which allows the same facility for nonlinear, long-crested, translational waves of permanent form. The beginning of such a package is reported here, tentatively entitled the DSFWAV MATLAB Tool Box. There are many such tool boxes for MATLAB which build on the capabilities of the MATLAB functionality. The DSFWAV software is based on the massive tabulations of stream function nonlinear wave solutions prepared by Robert Dean [2]. These are public-domain and contain much information useful to engineers. The software name, DSFWAV, takes its name from this compendium of nonlinear wave solutions and is an acronym for Dean's Stream Function Wave solutions.
The stream function wave theory was introduced by Dean [1] and is thereafter used extensively in engineering design. One characteristic of the representation is that someone can, using some wave characteristics from wave climatology (wave height, wave period), obtain the kinematics of a particular (perhaps the design) wave.
The assumptions of incompressible and irrotational flow are applied. The depth is assumed to be uniform and the wave motion periodic. The stream function is used, which is defined as
![]()
where vx and vy are the water particle velocities in the x and y directions. The solution should satisfy the differential equation as well as the boundary conditions for incompressive irrotational fluid,

where d is the water depth, C is the wave celerity,
is the wave
profile, and Q is the Bernoulli constant. Additionally, the motion
should be spatially periodic with wavelength L. The stream function
solution to the above problem is

At the water surface,

For arbitrary values of L and X(n), the stream function solution
exactly satisfies the differential equation, the bottom boundary
condition, and the kinematic free surface boundary condition. The
value of
can be determined for given X(n) and L so that
the mean water level is constant, or
![]()
which leads to
| |
(1) |
The phase
is related to the variable x as follows:
![]()
For some values of
, L, and X(n) we can calculate the value
of the Bernoulli constant Q for various equally-spaced phases
. Based on these values an error can be introduced. Dean
chose the average squared difference from the mean value,
![]() |
(2) |
The solution for X(n) and L will be the one that minimizes the
error in Eq. (2), and then
will be determined
from (1). As Dean pointed out, this may not be the best
solution, since all unknown parameters are not determined
simultaneously. Many attempts have been used in engineering design.
Remarkably enough, the results are almost identical with the ones
taken out of the massive tabulations that Dean published in 1974
[4]. Some of the remaining problems are waves near the
breaking wave height and multi-crested solutions.
The major impediment to the use of Dean's tables has been the substantial effort required for two-way interpolation between the various tables. The DSFWAV software performs all the interpolations for the user and makes Dean's tables rapidly and interactively available in engineering studies. The interpolations in various directions are primarily performed with the MATLAB intrinsic function yi = spline(x,y,xi), together with various data tables and additional external functions written as the DSFWAV Tool Box. The coded procedures facilitate the preparation of graphs and tables for any wave height, period, and water depth, provided
![]()
where

The value of Hb provided by Dean was developed through the following procedure. Starting at a fixed d/L0 value, solutions were calculated for increasing values of H/L0 until instabilities appeared on the free surface boundary, according to selected criteria. This was then defined as the breaking wave at that depth.
In the tabulations, solutions are given for 40 waves at d/L0 = 0.002, 0.005, 0.01, 0.02, 0.05, 0.1, 0.2, 0.5, 1.0, and 2.0, for H/Hb = 0.25, 0.50, 0.75, and 1.0. The 10 values of d/L0 are labeled with the integers 1 through 10, with 1 corresponding to d/L0 = 0.002, and 10 corresponding to d/L0 = 2.0. The four values of H/Hb are labeled A, B, C, and D. The letter A is associated with H/Hb = 0.25 and D goes with 1.0. These 40 waves fairly smoothly cover the range of nonlinear wave heights up to breaking for d/L0 between 0.002 and 2.0. These cases are shown in Fig. 1. Dean's report uses h for the water depth d in this paper. Other differences between his publication and this presentation are:
| Borgman and Petrakos | Dean |
| h | |
| vx = horizontal velocity | u |
| vy = vertical velocity | w |
| ax = horizontal acceleration | Du/Dt |
| ay = vertical acceleration | Dw/Dt |
| S |
Other significant notation that is common between Dean and this paper
is:
![\begin{displaymath}
\begin{array}
{r@{~}c@{~}l}
C & = & \text{wave celerity}, \\...
...c{x}{L} \right) - \left(
\frac{t}{T} \right)\right].\end{array}\end{displaymath}](img16.gif)
(The determination of this
value at the free water surface is a
major computational effort for Dean's solutions.)
All of Dean's tables are stated in dimensionless terms. The 40 wave conditions are characterized by
| Mathematical Symbols | Software Designation |
| d/L0 | dol0 |
| H/Hb | hohb |
| H/L0 | hol0 |
| H/d | hod |
| L/L0 | lol0 |
| psi | |
| eta | |
| y/L0 | y |
| theta | |
| y/L0 (at wave crest) | ycol0 |
Examples
The kinematics and forces associated with a wave with the following
characteristics were computed using the test program WAVTEST.M:

It should be noted that since the results are in dimensionless form, any system of units can be used as long as it is used consistently.
The results are presented in graphical form using the programs WAVSHOW1.M and FORSHOW.M for the wave cinematics and forces, respectively.
Accuracy of Interpolation
A number of graphs were made to investigate if the two-way cubic
spline interpolation was adequate and smooth between values. The
interpolations were first done over the 10 values of d/L0 at each
of the five values of H/Hb. Then, the interpolation was made over
the five H/Hb values. Such interpolations were made on a tight grid
of 0.05 increments on H/Hb and a similar incrementation on
d/L0. Incidently, in the same spirit as Dean's report, the
interpolation in the d/L0 direction were made on the log scale,
while those on H/Hb were made on a linear scale.
Back to Leon
Borgman's Homepage