Partial Differential Equations PowerTool
by Dr. Jim Herod
Section 7.6: Vibrations of a Circular Drum
Maple Packages used in Section 7.6
| > | restart: |
| > | with(plots): |
Warning, the name changecoords has been redefined
| > |
A standard problem to be presented in a course on solving classical partial differential equations by the technique of separation of variables is that of a vibrating circular membrane. Here, we treat the simple case in which the initial conditions are independent of
. We recall the wave equation
=
.
Except, in this simplified case with the initial conditions independent of
, we can drop the second term of the left side. Thus, we have
=
.
Boundary conditions will be
u(t, a) = 0, because the sides of the drum are nailed down,
u(0, r) = f(r), which is the initial displacement,
and
(0, r) = g(r), which is the initial velocity.
At this point in our study of partial differential equations, we know to start by separation of variables. Assume that
u(t, r) = T(t) R(r).
Using this assumption in the partial differential equation leads to
1/r (r R ') ' T =
R T '',
which, in turn, leads to the two ordinary differential equations
(r R ') ' +
r R = 0, with R(a) = 0
and
T '' +
T = 0.
We consider the equation in R first. This equation leads to the Bessel functions and, in view of the physical requirement that solutions stay bounded, we use only R(r) = BesselJ(
r ). By now, we should know how to check to see that these functions really are solutions for the ordinary differential equation in R.
| > | R:=r->BesselJ(0,lambda*r); |
| > | diff(r*diff(R(r),r),r)+lambda^2*r*R(r); simplify(%); |
| > |
To meet the boundary condition, recall that we use the zero's of the Bessel function. Let's prepare about 10 of them. Take a to be 1 for specificity.
| > | c:=1; for n from 1 to 10 do zero[n]:=evalf(BesselJZeros(0,n))/c; end do; n:='n'; |
| > |
Now, we should find that the following functions satisfy the differential equation and the boundary conditions. We draw graphs of the first five of these.
| > | R:=(n,r)->BesselJ(0,zero[n]*r); |
| > | plot([seq(R(n,r),n=1..5)],r=0..c); |
| > |
The equation in T is familiar. It leads to sines and cosines. Solutions for
T '' +
T = 0,
or, in this case,
T '' +
T = 0
are
cos(
c t) +
sin(
c t).
Product solutions are
| > | u:=(t,r)->R(n,r)*(a[n]*cos(zero[n]*c*t)+b[n]*sin(zero[n]*c*t)); |
| > |
We verify that these satisfy the partial differential equation.
| > | 1/r*diff(r*diff(u(t,r),r),r)-1/c^2*diff(u(t,r),t,t): simplify(%); |
| > |
We now make sums of these solutions.
| > | u:=sum(R(n,r)*(a[n]*cos(zero[n]*c*t)+b[n]*sin(zero[n]*c*t)),n=1..10); |
| > |
The initial condition asks that
f(r) = u(0, r) =
and that g(r) =
(0, r) =
.
We compute these as fourier coefficients.
=
and
=
We do a specific example and watch the drum vibrate. We'll take f(r) = 1-
and g(r) = 0. For this example, take c = 1. In this case, all the b coefficients will be zero.
| > | f:=r->r^2-1; c:=1; |
| > | for n from 1 to 10 do a[n]:=int(f(r)*R(n,r)*r,r=0..1)/int(R(n,r)^2*r,r=0..1); b[n]:=0: end do; n:='n'; |
| > |
Check to see how well this fits.
| > | u:=(t,r)->sum(R(n,r)*(a[n]*cos(zero[n]*c*t)+b[n]*sin(zero[n]*c*t)), n=1..10); |
| > |
To separate the plots, we offset the graph of f by 0.007.
| > | plot([u(0,r),f(r)+.007],r=-1..1,color=[black,red]); |
| > |
Of course, this should really be a graph in 3 dimensions.
| > | plot3d([r,theta,u(0,r)],r=0..1,theta=-Pi..Pi,coords=cylindrical, axes=normal, scaling=constrained); |
Now, we do an animation.
| > | animate3d([r,theta,u(t,r)],r=0..1,theta=-Pi..Pi,t=0..4, coords=cylindrical,axes=normal, frames=40); |
| > |
In this final example, we take the initial distribution to be zero, but give the disk a whack. That is, we take f(r) = 0 and g(r) not zero.
| > | f:=r->0; g:=r->r^2-1; |
| > | for n from 1 to 10 do a[n]:=int(f(r)*R(n,r)*r,r=0..1)/int(R(n,r)^2*r,r=0..1); b[n]:=int(g(r)*R(n,r)*r,r=0..1)/int(R(n,r)^2*r,r=0..1)/ (zero[n]*c); end do; n:='n'; |
| > | animate3d([r,theta,u(t,r)],r=0..1,theta=-Pi..Pi,t=0..Pi, coords=cylindrical,orientation=[45,70],axes=none, frames=40); |
| > |
| > |
| > |
There are further investigations that can be done at this point. For example, we might strike the drum at a point different from the center, so that the initial value is not independent of
. We leave these separation of variable problems, however to consider numerical methods.
EMAIL: herod@math.gatech.edu or jherod@tds.net
URL: http://www.math.gatech.edu/~herod
Copyright © 2003 by James V. Herod
All rights reserved