Circular Elastic Membrane


Description

This MATLAB GUI illustrates how the vibrating modes of a circular membrane evolve in time and interact with one another. The membrane is clamped at its boundary and its deflection from the horizontal, u, evolves according to the two-dimensional wave equation, utt = ∇2u.

For the purpose of this problem, the Laplacian is expressed in polar coordinates, (r, θ), as ∇2u = urr + (1/r) ur + (1/r2) uθθ.

The simplest vibrating motions correspond to the periodic evolution of the so-called normal modes, which have initial displacements of the form umn(r,θ) = amn Jn(kmn r) cos(n θ), where m, n are positive integers, Jn(z) is the nth Bessel function of the first kind, and kmn denotes the mth non-negative zero of Jn(z). (Note that k0n = 0, so u0n = 0).

The general motion of the membrane is obtained by expressing the initial displacement as a superposition of normal modes (using a Fourier-Bessel series), and superimposing their evolution.

The Single Mode feature of this GUI allows the user to plot the first normal modes (0 ≤ m, n ≤ 5) and see their individual evolution in time.

The Superposition of Modes feature allows the user to plot a linear combination of the first 9 normal modes (1 ≤ m ≤ 3, 0 ≤ n ≤ 2) and see their evolution in time.

How to use the GUI

Use the sliders in the Single Mode (enter m, n) panel to choose m and n, and to see the displacement corresponding to the normal mode umn.

Use the sliders in the panel labeled Superposition of modes (enter weights) to select the weights of the first 9 non-trivial normal modes, umn, with 1 ≤ m ≤ 3, 0 ≤ n ≤ 2, and to see the displacement associated with the corresponding linear combination.

Click the Run button to see the temporal evolution of the membrane.

Click the Reset button to reinitializes the GUI.

Download

To download the GUI, right click on each of the links below, and save the corresponding files into a directory. Set the MATLAB path to that directory and then type Circular_Membrane at the MATLAB prompt.

Type help Circular_Membrane at the MATLAB prompt if you need to be reminded of how to use the GUI.

GUI developed by Luis García-Naranjo, Spring 2007.