WHAT IS IT? ----------- This model simulates wave-like motion on the surface of a pond when it is hit by drops of water. Drops can be released anywhere above the pond and can different amounts of impact. The actual mechanism of wave motion on the surface of a fluid is different from this simulation, which is more akin to widghts being dropped on an elastic canvas. Nontheless, many interesting aspects of waves are captured by the model. HOW TO USE IT ------------- SETUP initializes the model and GO propagates waves in the water. RELEASE-DROP causes a drop of water to be released above the pond. The DROP-XPOS and DROP-YPOS sliders set the x and y coordinates, respectively, of where the drop is released from. Positive numbers for drop-xpos cause the drop to fall further to the right and positive numbers for drop-ypos causes it to fall higher up on the screen. The FRICTION slider controls the amount of force that pulls the water particles back towards ground level, dampening waves. SURFACE-TN controls how much effect the neighbors of a water particle exert on it vertically. The greater the surface tension, the slower waves travel through the water. This is implemented in the model as a weight coefficient on the difference in height between a turtle and its neighbors. The resulting weighted value is added to the turtles current vertical velocity (represented by the incremental value dz) and its current position to determine its next position. To now translate the earlier statement, the greater the surface tension, the more a particle's neighbors can pull it towards them, thus quickening the pace of a wave through the surface. The IMPACT slider determines how much force a drop carries. Drops with greater impact cause larger waves. The 3D switch allows you to view the pond either from above or from an angle set by ANGLE. RUNNING THE MODEL ----------------- Click the SETUP button to set up the pond, then GO to enable motion in the water. Periodically press RELEASE-DROP with different DROP-XPOS and DROP-YPOS values to release raindrops and initiate waves. THINGS TO NOTICE ---------------- The pond is made up of a grid of turtles, each of whom, like in Wave Machine, behaves like it is connected to its neighbors by springs. Each turtle has a vertical position and velocity, which determine how high above the sides of the pond it is or how far below, and how much that distance will change at the next time step. When drops are released they decrease the vertical velocity of the particles under them, causing them to move downwards. As they fall, they pull down their neighbors, who at the same time pull them up. This exchange creates a wave within the pond, centered on where the drop fell. As the waves hit the walls, they are reflected back towards the middle, as the walls don't move up or down. Friction causes the waves to eventually decline by pulling them closer to the surface level. THINGS TO TRY ------------- Try creating multiple drops in the pool to see how they interact. Do they cancel each other out or reinforce each other? Change the surface tension to see how it affects the speed of waves. Why does water with low surface tension move so slowly? What sort of liquids in real life is it similar to? Set friction to 100 and release some drops. Do the waves ever dissipate? How can the waves rise above the sides of the pond (have positive zpos's) when only downward moving forces are exerted on them? How is a turtle's movement similar to that of a spring. Is the friction used in this model analogous to that in a spring? EXTENDING THE MODEL ------------------- This model doesn't take into account water pressure. When part of the water is pushed down on the impact of a drop, the rest of the water should feel a push from beneath. Try adding in this mechanism. The walls in this model don't affect waves at all. Extend the model so that the walls impose friction on waves that brush against them, causing them to dampen. STARLOGOT FEATURES ------------------ In order to create the visual impression of a wave, it was necessary for water above the sides of the pond (above water level) to appear more white, while water below would appear more blue. This was accomplished using the "scale-color" primitive, which takes a color to assign, a variable, and a minimum and maximum value. It works by comparing the value of the variable for each turtle to the two values, and the closer it is to the maximum, the lighter the shade of the color assigned to that turtle. Water particles that fly off the top or bottom of the screen are ignored in the model, which is done by using the commands hide-turtle (ht) and show-turtles (st). Hide turtle doesn't cause the turtle to die or change in any way, but merely stops it from being drawn on the screen. Show turtle causes it to begin being displayed again. RELATED MODELS -------------- For another model that demonstrates how turtles behave as a surface, see Wave Machine. In it, turtles are connected in the same manner as outlined above, but their movement is governed by the regular sinusoidal motion of part of the surface.