Movies for 
  Introduction to Partial Differential Equations
      by Peter J. Olver

Movies can be viewed at    
         http : // www.math.umn.edu/~olver/mov.html

2D Wave Equation Movies:   Figures 11.10, 11.11.

General 3D plotting routine — rectangular coordinates

plr[t_]:=Print[Plot3D[u[t,x,y],{x,(Subscript[x, 0]),(Subscript[x, 1]) },{y,(Subscript[y, 0]) , (Subscript[y, 1])},PlotPoints ->{pp,pp},PlotRange ->{(Subscript[u, 0]),(Subscript[u, 1])},BoxRatios-> br,Boxed -> False, Axes -> False,Mesh -> None,ViewPoint -> vp, PlotStyle->{Opacity[op],Specularity[White,10]}]];

General 3D plotting routine — polar coordinates

plp[t_]:=Print[ParametricPlot3D[{r Cos[θ],r Sin[θ],u[t,r,θ]},{r,0,(Subscript[r, 0])},{θ,-π,π},PlotPoints ->{pp,pp},PlotRange ->{{(Subscript[x, 0]),(Subscript[x, 1])},{(Subscript[y, 0]),(Subscript[y, 1])},{(Subscript[u, 0]),(Subscript[u, 1])}},BoxRatios-> br,Boxed -> False, Axes -> False,Mesh -> None,ViewPoint -> vp, PlotStyle->{Opacity[op],Specularity[White,10]}]];

Figure 11.10. Vibrations of a square

Set initial displacement

f//ClearAll; g//ClearAll

g[x_] := Exp[-100x^2]

f[x_,y_] := g[x] g[y]

Determine Fourier coefficients

c//ClearAll;

c[m_] := c[m] = 2 NIntegrate[g[ξ - .5] Sin[m π ξ] ,{ξ,0,1}]; c[m_,n_] := c[m] c[n];

Determine solution

u//ClearAll; ω //ClearAll;

ω[m_,n_] :=π (Sqrt[(m^2) + (n^2)])

mm = nn = 10;

u[t_,x_,y_] =Sum[c[m,n] Cos[ω[m,n] t] Sin[m π x] Sin[n π y],{m,mm},{n,nn} ];

Set plotting parameters

(Subscript[x, 0]) =0;(Subscript[x, 1])=1;(Subscript[y, 0]) =0; (Subscript[y, 1]) =1; (Subscript[u, 0]) =-.5; (Subscript[u, 1]) = 1; 
pp = 50;vp =  {-1,1.9,.5} ;op = 0.8;br ={1,1,.5};

Set time range

ti= 0;tf =2; δt = .02;ts = Range[ti,tf,δt];

Plot movie  — evaluate Notebook to generate output

plr /@ ts;

Figure 11.11. Vibrations of a disk

Set initial displacement

f//ClearAll;

f[x_,y_] := Exp[-100((x-.5)^2 + y^2)]

Determine Fourier-Bessel coefficients

mm = 20; nn = 10; 
bzs = Table[BesselJZero[m,n]//N,{m,0,mm},{n,1,nn}];

cfs = Table[2NIntegrate[f[x,y] BesselJ[m, bzs[[m+1,n]] (Sqrt[(x^2)+ (y^2)])]Cos[m  ArcTan[y/x]],{x,.3,.7},{y,-.2,.2}]/( π ((BesselJ[m+1,bzs[[m+1,n]]])^2)),{m,0,mm},{n,1,nn}];
cfs[[1]] = cfs[[1]]/2;

Determine solution as linear combination of Bessel eigenfunctions

u//ClearAll;

u[t_,r_,θ_] =  Sum[cfs[[m+1,n]]Cos[bzs[[m+1,n]] t]  BesselJ[m, bzs[[m+1,n]] r]Cos[m θ],{m,0,mm},{n,1,nn}];

Set plotting parameters

a=1;(Subscript[x, 0]) =-a;(Subscript[x, 1])=a;(Subscript[y, 0]) =-a; (Subscript[y, 1]) =a;(Subscript[r, 0]) = a; (Subscript[u, 0]) =-.25; (Subscript[u, 1]) =1.1; 
pp = 50;vp = {1.3,-2.4,2};op = 0.8;br =Automatic;

Set time range

ti= 0;tf =12; δt = .1;ts = Range[ti,tf,δt];

Plot movie  — evaluate Notebook to generate output

plp /@ ts;