to top:  kelp forest exhibit modeling project


Hydrodynamics Considerations

Problem Statement

From the beginning we were aware that one of the most difficult problems in our simulation was that of the hydrodynamics of the Kelp Forest display. Immediately we noticed two things that would make things very difficult:

  1. Exact modeling of the hydrodynamics might prove too computationally intensive for our simulation and would effectively slow the simulation down.
  2. The tank was not a simple or regular polygon. The sides consisted of irregular rock formations and the plant-life within the display would create an effective drag on water flow.

We learned from conversations with aquarium personnel that the displacement pump was designed and driven to generate a one-foot standing wave. Using this knowledge, some research, and our previous experience with wave mechanics, we derived some basic equations of motion. As an example, the following is the result of a derivation of a two-dimensional standing gravity wave on a rectangular tank of length l:

initial equations of motion

n = the wave number, an and ton are constants defined by the initial conditions and e T is a parameter that relates surface tension to gravity (t is the volume element).

As a class we were faced with the following challenges:

  1. To create a true to life model of the flow within the tank
  2. To code these ideas in VRML as part of the overall simulation without severely slowing down the overall runtime of the model.

First approximation attempt: unsatisfactory

The first attempt at mathematically approximating the hydrodynamic features of the display was made by Jean Etienne. From the observations of the Aquarium, we initially believed that the vertical motion of the water was not constant with regards to depth. From this we tried to create a coefficient k to modify the amplitude of the water equation

Equation of the motion of the water in the tank = k * equation of the motion of the water at the surface.

To obtain this result, he computed the equation of the change of the k coefficient according to the depth. This equation is an eighth order polynomial :


To determinate the coefficients A, B,, I of the equation I used the calculation on matrix.

The constraints were:

Depth (m)





A = -6.9539E-06



B = -0.0001905



C = -0.0021190



D = -0.0122602



E = -0.0391661



F = -0.0666435



G = -0.0506680



H = 0.0071340



I = 1.00000000


A graph of the coefficients versus depth:

(Unsatisfactory) approximation coefficients versus depth

Correction Coefficients vs. Depth


Second approximation attempt: success

After class discussion and further observation of the display, we determined that this was not an acceptable representation of the flow in the tank. The flow was observed to be linear or nearly so and our initial attempt at describing that flow was not. This observation was also substantiated by the knowledge of shallow water hydrodynamics and wave motion that we gained from outside sources. Our second attempt proved to be far better an approximation. Kevin made the following observations:

I observed the flow in the tank from all three levels and several angles and locations. This is what I observed: - There is no vertical component of flow in the center of the tank, even at the surface (it really is a standing wave) - There is no horizontal flow component at the ends of the tank (maximum x coordinates) - The horizontal flow, which is a maximum at the center, decreases as the absolute value of the x-coordinate increases - The vertical flow, which is a maximum at the x-axis boundaries, decreases toward the center - At no point below the surface did I observe circular motion or any hint of turbulent flow - By observing floating particles I found the flow to be linear or slightly curvilinear throughout the tank - The horizontal flow maximum is about one foot peak-to-peak - The vertical flow maximum, observed at the surface is about two feet peak-to-peak - The standing wave on the surface, although less than a perfect standing wave due to the shape of the tank, appeared to produce very little actual flow across the surface at the extremes but a noticeable lateral flow in the center where the kelp fronds moved back-and-forth. Here is what I propose to model the flow: - We generate a vector of flow values (k-factors) with a period of 5.4seconds (discrete sine wave) - The value of the horizontal flow at any point is: k * pk horiz value * (max x-coord - x-coord) - The value of the horizontal and vertical flow at any point is:

Flow Model Equations: X displacement

Flow Model Equations: Y displacement

The flow blends from purely horizontal to purely vertical as the x-coordinate goes from zero to max x. That's what we'd get by using this method. Notice that at a midpoint between the origin and the boundary, the vertical and horizontal flow components would be equal. This would produce a 45-degree angle for the flow, which is roughly what is observed. This method would also eliminate the need to partition the flow model, and prevent problems at internal boundaries. It would also eliminate the need to create a separate model for the surface wave.

After some class discussion and further observation we determined that this was both a workable and realistic model of hydrodynamics. Computation of the energy in each harmonic of both two and three-dimensional gravity waves in a simple rectangular tank showed that the most of the energy was contained in the first harmonic. Although other harmonics exist, their contribution to the overall flow is minimal. These calculations agreed closely with direct observation. In addition, for shallow water in an ideal case (i.e. neglecting effects like hydrodynamic drag), the x-motion of a particle should remain unchanged with depth and the y-motion should decrease with depth. Our flow models capture this characteristic. The following charts depict graphically the flow model we used:


Horizontal Flow Component

Horizontal Flow Component


Vertical Flow Component

Vertical Flow Component


Some concessions had to be made in the interest of computational simplicity and overall run-time of the model. The goal was to keep the model running at a minimum of 5 frames per second. As a result, we decided that the display would be divided into five distinct hydrodynamic areas: left shallow, left deep, center, right shallow and right deep. Within each of these areas we computed an average value of the hydrodynamic motion based on our computations and observations. A separate VRML interpolator was written for each of these areas and drives the motion of all objects in that area.


  1. The hydrodynamics of the Kelp Forest Exhibit proved to be extremely complex. As a result, concessions had to be made in favor of overall run-time and mathematical complexity.
  2. The hydrodynamics were linearly approximated base on observation and backed up with numerical calculation. We represented the first harmonic of the driven standing wave within the tank. The display was further divided into five distinct sections with a separate interpolator for each. Although far from perfect mathematically, they do a good job of capturing the overall flow within the display.

The Uniform Resource Locator (URL) for this home page is

Contact information: Don Brutzman (, 831.656.2149) (1 April 99)