# Orthogonal series and boundary value problems Some normal modes of vibration

This is an evaluated Mathematica notebook. If you have Mathematica or MathReader (which is available free from WRI, you may download the notebook file. This notebook contains some Mathematica calculations for chapters IX, PDEs in space, and X, PDEs on a disk, of Harrell's WWW textbook.

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.

```  -SurfaceGraphics-
```

In[2]:=

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

Out[2]=

```  -SurfaceGraphics-
```

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
In[3]:=
`  Plot[{BesselJ[0,r], BesselJ[1,r], BesselJ[2,r]},{r,0,4}]`

Out[3]=

```  -Graphics-
```

In[4]:=

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

Out[4]=

```  -Graphics-
```

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

In[5]:=

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

In[6]:=

`  jvals = Array[j0, 5]`

Out[6]=

```  {2.40483, 5.52008, 8.65373, 8.65373, 11.7915}
```

In[7]:=

```  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:

In[8]:=

`  Needs["Graphics`ParametricPlot3D`"]`

In[9]:=

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

Out[9]=

```  -Graphics3D-
```

In[10]:=

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

```  -Graphics3D-
```

In[11]:=

`  CylindricalPlot3D[BesselJ[1,j11 r] Cos[phi], {r, 0, 1}, {phi, 0, 2 Pi}]`
< /B>

Out[11]=

```  -Graphics3D-
```

In[12]:=

```  j21 := 5.13562
j22 := 8.41724```

In[13]:=

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

Out[13]=

```  -Graphics3D-
```

In[14]:=

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

Out[14]=

```  -Graphics3D-
```

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.

In[15]:=

```  Clear[j0]
j0[1] := 2.4048255577
j0[2] := 5.5200781103
j0[3] := 8.65373
j0[4] := 11.7915```

In[16]:=

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

In[17]:=

`  Array[BesselCoeffs, 4]`

```  General::intinit:
```

Out[17]=

```  {1.60197, -1.0648, 0.851399, -0.729645}
```

In[18]:=

`  Needs["Graphics`ParametricPlot3D`"]`

In[19]:=

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

Out[19]=

```  -Graphics3D-
```

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