Grokking Wave Motion

©Fernando Caracena 2018

Ordinary observations become amenable to being treated in physics, if they can be described mathematically. Wave phenomena treated mathematically are an important area of description in physics particularly because quantum physics if partially based on the mechanics of waves. Here, we grok the behavior of waves based on some of their simple properties.

A Travelling Wave of Fixed Shape

In one dimensional space, we can model the behavior of a waves as pulses of fixed shape propagating either to the right or to the left. Wherever two or more of these waveforms cross over each other they add, either constructively, if of the same sign, or destructively, if of opposite signs.

A static shape may be describable as a single valued function of some variable x, such as, f(x). That shape can be displaced either to the left (or to the right) along the x-axis without changing in form by adding (or subtracting) some constant, x0 from the argument, x.  In that case f(t+x0) is the exact shape as f(x) but displaced to the left by an amount x0 and f(x- x0) is the same, but displaced to the right.

The functions f(x±c*t) of the two variables x and t, then describe a wave of fixed shape travelling to the right for -c*t (and left for +ct) at a speed, c. At any given time the wave has the same shape, but its position is constantly moving to the right (+c*t), or left(-c*t).  We can simplify this picture further by saying that f(x-c*t) describes the same as above but, c is a signed constant (velocity instead of just speed),where c >0 is a velocity to the right and c <0 is a velocity to the left.

 Reflection of a Wave at a Rigid Boundary

At a rigid boundary the wave must have a zero amplitude that is, it must be a superposition of a wave travelling into the rigid boundary which adds destructively with a wave of opposite displacement, coming out of the rigid boundary in the opposite direction. This can be demonstrated through a simple python program that I threw together, and animated gif file generated from the output graphics.

Program 1.0 -------------------------------------------------------------------------------

ipython --pylab

from pylab import *

import os

#Define a Gaussian shape function centered on x0 of width l:

def g(x,x0,l):
return exp(-((x-x0)/l)**2)
#Define a routine that plots the above function in a fix frame in which x ranges as (-10,10) and plot amplitude, as (-1.25, 1.25).
def plotloop(x,x0,l):
figure()
plot([-10.,-10.],[-1.25,1.25],color='k')
x=arange(-10.0, 10.0, 0.1)
plot([-10.,10.],[1.25,1.25],color='k')
plot([10.,10.],[1.25,-1.25],color='k')
plot([10.,-10.],[-1.25,-1.25],color='k')
plot(x,g(x,x0,l)-g(x,-x0,l))

#Set up constants and x variable array.
l=0.3
x=arange(-11.0, 11.0, 0.1)
i=0
num=''

for x0 in arange(-11,11):
i=i+1
num=str(i)
if i < 10:
num='0'+num
plotloop(x,x0,l)
savefig('pip_animation/pip'+num+'.png', bbox_inches='tight')

os.system('convert   -delay 20   -loop 0  pip_animation/pip_2_*.png   pip_animation/pulses.gif')

#----END-------------------------------------------------------------------------------------------

Not that to keep things tidy, I have defined a subdirectory called "pip_animation/" where I store all the images used in the animation. From python (through the os.system command) I have also issued a shell command 'convert' that generates an animated gif which is called  'pulses.gif' inthe directory 'pip_animation/' . The results are displayed in the animated GIF shown below.

Question: How would you treat an open boundary mathematically that is,the wave is allowed to move freely rather than encountering a rigid boundary?

The Animated Gif generated by the above python script 1.0.

 

 

 

 

 

 

 

 

 

 


											
This entry was posted in calculus, derivatives, mathematics, waves and vibrations. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>