Linear Methods of Applied Mathematics
Some normal modes of vibration

(c) Copyright 1994-1997 by Evans M. Harrell II and James V. Herod.     All rights reserved.

Notes for the instructor.

This contains calculations and examples which correlate with chapter 10 of the WWW text by Harrell and Herod.  Students can be encouraged to cut and paste from this notebook to do homework.

Instructions

This notebook uses Mathematica  to perform calculations for Harrell and Herod's hypertext book, Linear Methods of Applied Mathematics.   The student needs only a basic knowledge of Mathematica  to use the notebook, which is designed both to show how to work problems in the text and to provide a template for using Mathematica  to work other problems of the student's own design.    Calculations will be performed when the reader presses enter in a given calculation cell (bold print).  It is best to activate the cells in order, so that Mathematica  will be able to call on operators and functions defined in earlier cells.  Red color coding is used to warn the reader when a given calculation relies on an earlier one.

Let us begin with some representative normal modes for the vibrations of a rectangular membrane, after which we will compare with those of a circular membrane, like a drum.
In the x-direction the rectangle has length 1 and in the y-direction  it has
length 2.  Dirichlet boundary conditions are imposed on the entire edge.

Plot3D[Sin[Pi x] Sin[3 Pi y/2], {x,0,1},{y,0,2}]

Plot3D[Sin[2 Pi x] Sin[5 Pi y/2], {x,0,1},{y,0,2}]

When we separate variables in polar coordinates, instead of sines and cosines, we encounter products of trigonometric functions of theta with radial functions of a new sort.  The radial equation leads to Bessel functions.  Here are some graphs to show what Bessel functions are like.

Plot[{BesselJ[0,r], BesselJ[1,r], BesselJ[2,r]},{r,0,4}]

Plot[BesselJ[0,r],{r,0,40}]

Notice that the Bessel function oscillates qualitatively like a sine or cosine.  It drops off as the variable increases, and the oscillations are not quite as regular.  We can calculate the positions of the zeroes quite easily.  They are called

j0[n_] := x /. FindRoot[BesselJ[0,x] == 0, {x, n 2.5}]

jvals = Array[j0, 5]

j01 := 2.4048255577

j02 := 5.5200781103

j11 := 3.83171

j12 := 7.01559

The normal modes of the disk problem are products of radial functions of the form BesselJ[m, jm[n] r] times Sin[m theta] or Cos[m theta] .  Let's now look at some of the normal modes:

Needs["Graphics`ParametricPlot3D`"]

CylindricalPlot3D[BesselJ[0,j01 r] , {r, 0, 1}, {phi, 0, 2 Pi}]

CylindricalPlot3D[BesselJ[0,j02 r] , {r, 0, 1}, {phi, 0, 2 Pi}]

CylindricalPlot3D[BesselJ[1,j11 r] Cos[phi], {r, 0, 1}, {phi, 0, 2 Pi}]

j21 := 5.13562
j22 := 8.41724

CylindricalPlot3D[BesselJ[2,j21 r] Cos[2 phi], {r, 0, 1}, {phi, 0, 2 Pi}]

CylindricalPlot3D[BesselJ[2,j22 r] Cos[2 phi], {r, 0, 1}, {phi, 0, 2 Pi}]

As a representative Disk problem, let us consider the heat equation on a disk, with zero DBC at r = 1, and initial conditions u[r,theta, t=0] = 1.  We need to expand the function f[r] = 1 in a Fourier Bessel series.  Since the function is radial (independent of theta) only m=0 modes contribute.

Clear[j0]

j0[1] := 2.4048255577

j0[2] := 5.5200781103

j0[3] := 8.65373

j0[4] := 11.7915

BesselCoeffs[n_] := (2/(BesselJ[1,j0[n]]^2))            Integrate[BesselJ[0,j0[n] x] x, {x,0,1}]

Array[BesselCoeffs, 4]

Needs["Graphics`ParametricPlot3D`"]

CylindricalPlot3D[Sum[BesselCoeffs[n] BesselJ[0,j0[n] r], {n,1,4}] , {r, 0, 1}, {phi, 0, 2 Pi}]

This is meant to be the initial condition, which should be at constant height 1, but we have kept only a few terms in the series.  Notice that the boundary conditions are verified (0 when r = 1), but that the function rises up to the vicinity of 1 quite steeply.  There are a few oscillations at the top of the "mesa," which is theoretically flat.  A short time later the temperature distribution smooths out and the dominant mode controls the shape:

CylindricalPlot3D[Sum[BesselCoeffs[n] BesselJ[0,j0[n] r] Exp[-j0[n]^2 .1], {n,1,4}], {r, 0, 1}, {phi, 0, 2 Pi}]

After a long time, the heat profile is settling down to its equilibrium situation, 0:

CylindricalPlot3D[Sum[BesselCoeffs[n] BesselJ[0,j0[n] r] Exp[-j0[n]^2 .5], {n,1,4}], {r, 0, 1}, {phi, 0, 2 Pi}]