LAB 12: NORMAL MODES OF A MEMBRANE AND BOUNDARY-VALUE ODE PROBLEMS
Mathematics:
Normal
modes of mechanical vibrations of a circular membrane can be found by solving the
boundary-value problems for a second-order ordinary differential
equation. General vibrations of a circular membrane are decomposed into a
superposition (linear combination) of individual normal modes. Each mode has
its own shape and oscillates with its own frequency. This project exploits
radially symmetrical oscillations of a circular membrane with a hole at the
center.
Denote
r as the radius from the membrane's center in polar coordinates
on the plane: r =. The membrane is located between: a r b and has a
hole at r < a. The shape of the radially symmetric normal mode
of the membrane is found from the second-order differential equation:
+ + y = 0 (1)
with
the boundary conditions at the boundaries of the membrane:
y(a) = 0, y(b) = 0 (2)
The
parameter is the frequency of
oscillations of the normal mode. If u = u(r,t) is the vertical
displacement of the membrane as function of time t, then: u(r,t) =
y(r) cos(t). The problem (1)-(2) is a boundary-value problem
for y = y(r), since the two conditions that define a solution y
= y(r) are given at the two different ends of the membrane: r = a
and r = b. It is clear from (1)-(2) that y(r) = 0
is always a solution (the trivial zero solution). However, boundary-value
problems may not have a non-trivial solution such that y(r) 0. A
non-trivial non-zero solution for y = y(r) exists only for a
specific value of the parameter . The parameter is called the
eigenvalue and the function y(r) is called the eigenfunction of
the boundary-value problem (1)-(2).
There
are several possible non-zero solutions of the boundary-value problem (1)-(2).
Let us enumerate these solutions by a sequence{ } such that < < < … with
the corresponding eigenfunctions { yk(r) }. The
eigenfunctions are classified by the number of zeros (nodes) in between a
< r < b. The first (smallest) eigenvalue corresponds to
eigenfunction y1(r) with no nodes (zeros). The second
eigenvalue corresponds to the
eigenfunction y2(r) with one node and so on. The
eigenvalue corresponds to
eigenfunction yk(r) with exactly (k-1)
nodes between a < r < b
.
If
the circular membrane has no hole, a = 0 and the eigenfunctions
of the boundary-value problem (1)-(2) coincide with the Bessel function of zero
order: yk(r) = J0(r) while the eigenvalues are given by zeros of the
Bessel function at r = b: J0(b) = 0. The first five eigenvalues are shown in
the table:
eigenvalues |
k = 1 |
k = 2 |
k = 3 |
k = 4 |
k = 5 |
b |
2.40482555770 |
5.2007811029 |
8.65372791291 |
11.79153443901 |
14.93091770849 |
Objectives:
·
Understand
how to solve the boundary-value problem for a second-order differential
equation with the central difference method
·
Find
the first five eigenvalues and eigenfunctions of the circular membrane
·
Exploit
MATLAB solvers for boundary-value ODE problems
In
numerical methods of solving the boundary-value problem for a second-order
differential equation, the solution is to be found on a discrete grid: r1,r2,…,rn,rn+1,
where r1 = a and rn+1 = b. If
the grid is equally spaced with a constant step size h, then h
= (b-a) / n. Derivatives of a solution y = y(r) at any
point of the grid r = rk can be approximated with the
central differences:
(rk) = (rk) =
This
is the central difference method for solving the boundary-value problem
for a second-order differential equation. Replacing the derivatives by the
central differences at each interior point of the grid: r = rk
for k = 2,…,n; the second-order differential equation
becomes a linear system of equations:
yk+1 ( 1 + ) + yk ( -2 + h2 ) + yk-1 ( 1 - ) = 0
With
the boundary values y1 = yn+1 = 0, the linear
system is converted into the matrix form:
M
y = y
where
= h2 and the vector y and the
coefficient matrix M is for the case n = 5:
y = M =
This
is a linear eigenvalue problem for the matrix M with the
eigenvalues = h2. First five eigenvalues of the matrix M
are computed and summarized in the table:
eigenvalue |
k = 1 |
k = 2 |
k = 3 |
k = 4 |
k = 5 |
|
0.7630790233 |
1.5556700046 |
2.3412414511 |
3.1214853270 |
3.8961027211 |
Steps
in writing the MATLAB script:
Exploiting
the MATLAB script:
If
the central difference approximation gives the order O(h2)
truncation error to the eigenvalue = D1(h), then the Richardson
extrapolations predict the order O(h4) and O(h6)
truncation errors to the approximations:
D2(h) = D3(h)
=
The
eigenfunction of the circular membrane y = y(r) solves the
following initial-value problem:
= - - y
with
the initial conditions at the inner boundary of the membrane:
y(a) = 0, y'(a) = 1
The
slope of y = y(r) at r = a is normalized to one
(any solution y = y(r) can be multiplied by a non-zero constant).
The solution of the initial-value problem y = y(r) satisfies also
the boundary condition at the outer boundary of the membrane y(b) = 0
if = is the eigenvalue of the circular membrane. If is close but not
equal to, the eigenfunction y = y(r) is close
but not equal to zero at r = b.
The
second-order differential equation for y = y(r) can be rewritten
as a system of two first-order differential equations:
y' = u (1)
u' = - u – y (2)
with
the initial conditions:
y(a) = 0, u(a) = 1 (3)
The
initial-value problem can be solved if the value is known
explicitly or it is approximated by results of the central difference method.
Steps
in writing the MATLAB script:
Exploiting
the MATLAB script:
+ - y + y = 0, n = 1,2
Output
the first five eigenvalues for n = 1 and n = 2
separately.