StringShear is a simple harmonic motion on a string simulation developed by Michael Balloni

It is a web application that you can use to observe wave patterns on a string that are the result of oscillations made at the ends of the string.

As a physics student, you can get a better understanding of the relationship between tension, wave speed, and frequency. The simulation is a great tool for observing the formation and strengthening of standing waves on the string and for studying resonant frequencies.

[Launch The Simulation]

[How-To Guide] (string displays) (settings) (operations)
[Design & Limitations]
   On the left side of the application display are four views of the string. The top one - Position - depicts the current state of the string. The bottom four depict snapshots of the string when maximums of different characteristics of the string occurred. Punch is what I call the third derivative, the change in acceleration over time.

The snapshots are meant to capture interesting moments in the life of the string. Each of the views is scaled to the maximum amplitude that the string had at the time the snapshot was taken. You can tell you're looking at a strong standing wave when the motion of the oscillator seems very slight compared with the displacement of the string.

Back to the top. Or read on for more details...
   On to the Settings on the right side of the display.

timeSlice controls how quickly the simulation proceeds, and how precisely. For low frequencies (< 400 Hz or A4) with low tensions (~1000000, A0 or A1), 0.01 ms works great. For higher frequencies and higher tensions, 0.001 ms or even 0.0001 ms is more appropriate. If you ever see chaotic movement of string segments, with segments flying about with abandon, try again with a smaller timeslice. If the simulation is going too slowly, try a larger timeslice.

tension / root note defines the tension on the string. You can specify this as a number for physics students (1000000 works well as a starting point), or as a note name for music theorists (e.g., A or C# or F1 or Eb3).

The Oscillators section controls how the end-points of the string move. The checkboxes control whether the left and/or right end-point is allowed to move, and the boxes below the checkboxes allow Hz frequency values or note names to be specified, one per line.

out of phase controls how far out of phase the left oscillator is compared with the right oscillator, as a multiple of pi. I've found that when the left and right oscillators are perfectly in phase that the resultant wave form is less performant; this deserves further experimentation.

just pulse or just half pulse can be used to watch a single wave form go down the string and back; you can also have wave forms from both ends meet in the middle to see how they interact.

Back to the top. Or read on for more details...
   Run/Pause starts or stops the simulation.

Reset returns the strings back to their original state and sets time back to zero.

Reset Maximums is very important; use this after the initial string interactions so that the peculiarities of the starting conditions don't linger for the whole simulation. This is especially important for Max Acl and Max Punch which start with very high values.

Back to the top.
   The simulation represents the string as being one meter long, and the end-points moving one millimeter per frequency. The string is represented within the program as consisting of one thousand segments, each of which represent one millimeter of the string. This puts limits on how high of frequencies or notes can be accurately simulated on the string. Given a computer display of approximately one thousand pixels across, representing a greater number of string segments would require a zooming feature of some sort. Also, more string segments would slow the simulation down.

Resonant frequencies occur almost exactly where they should, but the further you get from the root frequency, the further the oscillations stray from perfect resonance. After some experimentation with higher numbers of segments this appears to be due to the number of segments. I think the current behavior is good enough for classroom use; strong standing waves form at the resonant frequencies, even stronger shortly thereabouts.

One peculiarity I've found is that after a strong standing wave has formed, the wave forms appear to result in triangular shapes instead of the usual smooth sine waves. After a short time the wave forms returns to smoother, more sine-like waves. This may be endemic to the simulation, or it may be a heretofore unstudied property of oscillations on strings.

And remember, the higher the tension or root note, the lower the time slice has to be to prevent un-string-like behavior.

Back to the top.