Dwuwymiarowe (dwie współrzędna przestrzenne: x i y) równanie falowe

ClearAll["Global`*"]

$Assumptions=c>0;

eq={D[u[t,x,y],{x,2}]+D[u[t,x,y],{y,2}]-(1/c^2)*D[u[t,x,y],{t,2}]==0};

(* dwa równoważne zapisy dwuwymiarowego równania falowego *)

eq1={(1/c^2)*D[u[t,x,y],{t,2}]==(Subscript[∇, {x,y}]^2)u[t,x,y]};

FullSimplify[eq==eq1]

Teraz wprowadzamy warunki początkowe i brzegowe.
Warunki początkowe dla równania drugiego rzędu w czasie oznaczają, że musimy podać postać funkcji u i jej pierwszej pochodnej po czasie w chwili t=0.

Dla drgającej kołowej membrany o rozmiarach, x,y ∈ [-L,L], odpowiada to podaniu kształtu powierzchni w chwili t=0 oraz rozkładu prędkości punktów membrany w chwili t=0. 
Zakładamy, że w chwili początkowej wszystkie punkty membrany mają zerową prędkość. Rozważamy gaussowski kształt membrany w chwili t=0.

c=1;

R=2;

wp={u[0,x,y]==Exp[-20*(x^2+y^2)],Derivative[1,0,0][u][0,x,y]==0};

Warunki brzegowe: zakładamy, że fala występuje membranie, która jest sztywno umocowana na brzegu.

Ω=Disk[{0,0},R];

wb=DirichletCondition[u[t,x,y]==0,True];

tmax=4;

su=NDSolveValue[{(1/c^2)*D[u[t,x,y],{t,2}]==(Subscript[∇, {x,y}]^2)u[t,x,y],u[0,x,y]==Exp[-20*(x^2+y^2)],Derivative[1,0,0][u][0,x,y]==0,DirichletCondition[u[t,x,y]==0,True]},u,{t,0,tmax},{x,y}∈Ω,Method->{"PDEDiscretization"->{"MethodOfLines",{"SpatialDiscretization"->"FiniteElement"}}}]

su2[t_,x_,y_]:=Piecewise[{{0,x^2+y^2≥R^2},{su[t,x,y],x^2+y^2<R^2}}]

Plot3D[su2[0.05,x,y],{x,-R,R},{y,-R,R},PlotRange->{-1,1}]

Plot3D[su2[0.5,x,y],{x,-R,R},{y,-R,R},PlotRange->{-1,1}]

Plot3D[su2[1.5,x,y],{x,-R,R},{y,-R,R},PlotRange->{-1,1}]

Animate[Plot3D[su2[t,x,y],{x,-R,R},{y,-R,R},PlotRange->{-1,1},AxesLabel->{"x","y","u  "}],{t,0,tmax}]