Mathematics 373 -- Applied Math (PDE)
A Boundary Value Problem for the 2D Wave Equation
A rectangular drumhead in shape of [0,L] x [0,H]
has a vertical displacement function u( x,y,t ) satisfying
= 0 all x,t
= 0 all y,t
if L/3 <= x <= L/2, H/3 <= y <= H/2 and 0 otherwise
The initial condition on might represent a sharp blow
to the drumhead with a stick or mallet, for example(!)
> assume(m,integer): assume(n,integer):
The normal modes of vibration for this problem are
The eigenvalues for the 2D boundary value problem are:
> lambda:=(m,n)->(n*Pi/L)^2 + (m*Pi/H)^2;
The coeffficients are all zero by the initial condition on u. The
coefficients are given by the following formula, derived from the orthogonality
relation for the 2D eigenfunctions
> L:=10; H:=5; c:=.1;
> B := (m,n) -> evalf( -4/(c*sqrt(lambda(m,n))*L*H)*(.1)*Int(sin(n*Pi*x/L),x=L/3..L/2)*Int(sin(m*Pi*y/H),y=H/3..H/2));
> B(3,4);
The partial sum of the Fourier series solution -- the superposition of normal
modes that satisfies the given initial conditions on u and
> uPS:=(x,y,t,M,N)->add(add(B(m,n)*sin(c*sqrt(lambda(m,n))*t)*sin(n*Pi*x/L)*sin(m*Pi*y/H),m=1..M),n=1..N);
Warning, `n` in call to `add` is not local
Warning, `m` in call to `add` is not local
We use animation to show the motion of the vibrating drumhead:
>
> PSu:=uPS(x,y,t,10,10):
> with(plots):
> animate3d(PSu,x=0..L,y=0..H,t=0..100,frames=100,axes=BOXED);
>