A Boundary Value Problem for the 2D Wave Equation
Circular Membrane:
0 <= r <= a, 0 <=
<=
:
We have
,
where
is the
n
th zero of the Bessel function
,
and
For the example, we take
a =
1, c
=
1,
> a := 1; c := 1;
> alpha := r -> r*(1-r);
> B := n -> a*evalf(Int(alpha(r)*BesselJ(3,BesselJZeros(3,n)*r/a)*r,r = 0 .. a)/(c*BesselJZeros(3,n)*Int(BesselJ(3,BesselJZeros(3,n)*r/a)^2*r,r = 0 .. a)));
> PS := k -> add(B(n)*BesselJ(3,BesselJZeros(3,n)*r/a)*sin(3*theta)*sin(c*BesselJZeros(3,n)*t/a),n=1..k);
Warning, `n` in call to `add` is not local
> PS5:=PS(5);
> with(plots):
> animate3d([r*cos(theta),r*sin(theta),PS5],r=0..a,theta=0..2*Pi,t=0..2,frames=30,view=-0.1..0.1,axes=BOXED);
> plot3d([r*cos(theta),r*sin(theta),subs(t=0,diff(PS5,t))],r=0..a,theta=0..2*Pi);
> plot3d([r*cos(theta),r*sin(theta),alpha(r)*sin(3*theta)],r=0..a,theta=0..2*Pi);
>