Wave Simulator

Introduction | Explaining the Model | Resizing | Wave Window Contols | Presets | General Controls | Moving by Hand | Technical Details

Introduction

Wave Simulator is designed to help teachers illustrate various aspects of wave motion. Its strength is that it simulates the differential equation describing the wave motion. This means that, unlike some programs that merely illustrate various predetermined wavelike motions on your screen, you can change many parameters and watch realistic simulations of the motion. It also means that the user can 'grab' a part of the rope and waggle it.

Simulation is no substitute for real experience by students. I would recommend using this program after students have 'played' with slinkies etc. It provides a good way of illustrating what they 'should have seen' during such experiments. It would be particularly effective with the teacher using dataprojection during a class discussion following on from real experiments.

Explaining the model to school students

Run the Wave Simulator using the Chain display and using only 32 masses in the chain. Explain that we are modelling the wave as a large number of small masses connected by Hooke's law springs and with each mass having some drag on it proportional to its speed. (This is nearly true, see the Technical details for caveats)

Select Nothing from the Presets menu, move the speed slider to slow and click the Run button. Nothing will happen. Right click and hold down on an end mass. Move the mouse up and down slowly. Explain the motion in terms of one mass pulling on the next.

Resizing the display

The wave window can be resized in the usual ways. This can be used to fill the screen for class display. Less obviously, you can run two instances of the program (in Windows) and position two wave windows so that motions may be compared for different parameters.

The maximum number of masses allowed in the chain is limited by the size of screen and resolution set on your monitor. You may therefore find that your choice is reset to a lower value if you shrink the window and that the maximum on the slider that controls the number of masses is only available for larger size windows.

The Wave Window Controls

These are easily understood in use. Note that certain controls are deactivated when it would be inapropriate to change them. Note also that the Reset button merely deletes the current run of the simulation, it does not change the model settings you have chosen.

The Presets

These are fairly self explanatory and can be chosen from the menu bar. They adjust the boundary conditions, end drivers, and damping to a variety of settings that yield particularly instructive behaviours.

The General Controls

Invoking this window from the Presets menu lets you choose other combinations of boundary conditions and end drivers. It is often helpful to first to choose a preset then to go to general controls where you can change one or two of the settings.

There are three distinct boundary conditions:
Fixed models a closed end
Free models an open end
Absorber models the chain going on forever beyond the visible end

The other options are used to set oscillating drivers at each end. The frequency, amplitude, polarity and time of oscillation may all independently be set for each end. This allows great variety in the effects that can be achieved. For example the 'damped standing wave formation' preset shows a rather nice behaviour; far from the relective boundary the wave travels in, close to the boundary it is stationary and the transition between the two is smooth.

Moving the masses with the mouse

This is allowed in two states

1. After reset and before run or onestep. Here the mouse may be moved left-right and up-down and as long as the button (right in Windows) is held down then the chain or rope will be drawn. When the model is run it will start from the state you have drawn with the initial velocity of all masses taken as zero, ie the chain has been held in the shape you have drawn and is released as a whole.

2. Whilst the model is running. Here you can move a single mass up and down as though you have grabbed it. Left-right motion of the mouse is ignored and the mass moved is at the x coordinate of the mouse when you first held the mouse button down.

Technical details

The equation simulated is the non-dispersive hyperbolic wave equation with damping linear in the velocity of the elements ie (using subscripts for partial derivatives)

Utt - c2 Uxx = - 2 k Ut

where U is the displacement, c the propagation speed, k the damping constant and subscripts are used for partial derivatives. We take c=1 from now on for convenience.

The simulation is carried out on a grid of unit interval in x and t.

U(x , t+1) = h U(x+1 , t) + h U(x-1 , t) - h (1-k) U(x , t - 1) where h=(1+k)-1

This has the nice property that (for zero damping at least) the simulation gives the exact solution at these lattice points; we do not need to resort to small intervals and clever numerical techniques for accuracy. This means that the rope representation is more honest than the masses representation.

Furthermore, this model will not show the interesting dispersive effects which occur when the wavelengths are not much longer than the gap between masses. This is probably a good thing in our elementary teaching.

The boundary conditions also need mentioning. Fixed and Free are both implemented exactly. Absorber is a fudge which is used to mimic as far as possible an infinite chain beyond the visible section. This cannot be exact when the damping is non-zero; that would require the full simulation of the infinite chain.

S G Thornhill