Home
Help
Forum
Resources
Extensions
FAQ
NetLogo Publications
Donate

Models:
Library
Community
Modeling Commons

Beginners Interactive NetLogo Dictionary (BIND)
NetLogo Dictionary

User Manuals:
Web
Printable
Chinese
Czech
Farsi / Persian
Japanese
Spanish

Wave Machine

 If you download the NetLogo application, this model is included. You can also Try running it in NetLogo Web

WHAT IS IT?

This model simulates wave motion in a membrane. The four edges of the membrane are fixed to a frame. A green rectangular area represents a driver plate that moves up and down, exhibiting sinusoidal motion.

HOW IT WORKS

The membrane is made up of lines of turtles. Each turtle acts as it were connected to its four neighboring turtles by springs. In this model, turtles move only up and down -- the force's direction IS only up and down. The greater the distance between a turtle and its neighbors, the stronger the force.

When the green turtles move up, they "pull up" the turtles which are their neighbors, which in turn pull up the turtles which are their neighbors, and so on. In that way, a wave moves along the membrane. When the wave reaches the edges of the membrane (the blue turtles), the wave is reflected back to the center of the membrane.

The amplitude of the green turtles is fixed regardless of the stiffness of the membrane. However, moving a stiff membrane requires a lot more force to move it the same amount as an unstiff membrane. So even as the stiffness of the membrane is increased, the wave height will remain the same because the amplitude is kept the same.

HOW TO USE IT

Controls of membrane properties:

The FRICTION slider controls the amount of friction or attenuation in the membrane. The STIFFNESS slider controls the force exerted on a turtle by a unit deflection difference between the turtle and its four neighbors.

Controls of the driving force:

The DRIVER-FREQUENCY slider controls the frequency at which the green area of the membrane (the driving force) moves up and down. The DRIVER-AMPLITUDE slider controls the maximum height of the green area of the membrane.

The DRIVER-X and DRIVER-Y sliders control the position of the driver. The DRIVER-SIZE slider controls the size of the driver.

Controls for viewing:

The THREE-D? switch controls the view point of the projection. OFF is for the top view (2-D looking down), and ON gives an isometric view, at an angle chosen with the VIEW-ANGLE slider.

THINGS TO TRY

Click the SETUP button to set up the membrane. Click GO to make the selected area of the membrane (the green turtles) begin moving up and down.

Try different membranes. Soft membranes have smaller stiffness values and hard membranes have larger stiffness values.

Try different driving forces, or try changing the frequency or amplitude. It is very interesting to change the size and the position of the driving force to see symmetrical and asymmetrical wave motions.

Try to create a "standing wave," in which some points in the membrane do not move at all.

EXTENDING THE MODEL

In this model, the movement of the turtles is only in the vertical direction, perpendicular to the membrane. Modify the model such that the movement is within the membrane plane, i.e. the x/y plane.

You can also try to add additional driving forces to make a multi-input membrane model. Another thing you can try is to apply different waveforms to the driving-force to see how the membrane reacts to different inputs. Try changing the overall shape of the driving force.

Try to build a solid model, that is, a model of waveforms within all three dimensions.

Instead of using amplitude to create the wave, change it to apply a fixed amount of force continuously.

NETLOGO FEATURES

Note the use of the `turtles-on` reporter to find turtles on neighboring patches.

A key step in developing this model was to create an internal coordinate system. X, Y, and Z are just three turtles-own variables. You can imagine that turtles are situated in and move around in 3-space. But to display the turtles in the view, which is two-dimensional, the turtle's three coordinates must be mapped into two.

In the 2-D view, the turtle's x and y coordinates are translated directly to NetLogo coordinates, and the z coordinate is indicated only by varying the color of the turtle using the `scale-color` primitive.

In the 3-D view, an isometric projection is used to translate x, y, and z (the turtle's real position) to xcor and ycor (its position in the view). In this projection, a point in the world may correspond to more than one point in the 3-dimensional coordinate system. Thus in this projection we still vary the color of the turtle according to its z position, to help the eye discriminate.

In the 3-D version, it does not make sense for the turtles to "wrap" if they reach the top or bottom of the world nor does it make sense for them to remain at the top of the world, so turtles are hidden if their computed ycor exceeds the boundaries of the world.

CREDITS AND REFERENCES

Thanks to Weiguo Yang for his help with this model.

HOW TO CITE

If you mention this model or the NetLogo software in a publication, we ask that you include the citations below.

For the model itself:

Please cite the NetLogo software as: