1
$\begingroup$

I would like to solve the Helmholtz equation with Dirichlet boundary conditions in two dimensions for a circular disk with a radius of 1.

$\Omega =$ some boundary e.g. a circle

$ \nabla^2 u(x,y) + k^2u(x,y) =0 \quad x,y \in \Omega \\ u(x,y) = 0 \quad x,y \in \partial\Omega $

As discussed at Helmholtz Problem in Circular Disk

a = 1;
mmax = nmax = 2; (*Set the value of m,n*)
b[m_, n_] := BesselJZero[n, m];
(*calculate the eigenfunction k[m,n]*)
k[m_, n_] := N[b[m, n]/a];
uc[r_, t_, m_, n_] := (Cos[n t]) BesselJ[n, k[m, n]*r];
us[r_, t_, m_, n_] := (Sin[n t]) BesselJ[n, k[m, n]*r];

We created the eigenvalues of $k_{nm}$


data = Table[  N[b[m, n]/a], {m, 1, 5}, {n, 0, 2}]  ;
TableForm[ data , TableSpacing -> {3, 7}, 
 TableAlignments -> Center, 
 TableHeadings -> {{  1 , 2, 3, 4, 
    5}, {"\!\(\*TemplateBox[{\"0\", \"x\"},\n\"BesselJ\"]\)", 
    "\!\(\*TemplateBox[{\"1\", \"x\"},\n\"BesselJ\"]\)", 
    "\!\(\*TemplateBox[{\"2\", \"x\"},\n\"BesselJ\"]\)"}}]

enter image description here Visualization

rule = {r -> Sqrt[x^2 + y^2], t -> ArcTan[x, y]}; region = 
 ImplicitRegion[x^2 + y^2 <= 1, {x, y}];
Table[Plot3D[Evaluate[uc[r, t, m, n] /. rule], 
  Element[{x, y}, region], PlotLabel -> {n, m}, 
  PlotTheme -> "Marketing", ColorFunction -> "AuroraColors"], {n, 0, 
  nmax}, {m, 1, mmax}]

Table[Plot3D[Evaluate[us[r, t, m, n] /. rule], 
  Element[{x, y}, region], PlotLabel -> {n, m}, 
  PlotTheme -> "Marketing", ColorFunction -> "AuroraColors"], {n, 1, 
  nmax}, {m, 1, mmax}]

enter image description here

Now we are trying to solve it with DEigensystem, NDEigensystem

Compute the first 4 eigenfunctions for a circular membrane with the edges clamped:

  • DEigensystem
Clear["Global`*"]
{vals, funs} = 
 DEigensystem[{-Laplacian[u[x, y], {x, y}], 
   DirichletCondition[u[x, y] == 0, True]}, 
  u[x, y], {x, y} \[Element] Disk[{0, 0}, 1], 4];
(*Calculate the eigenvalues*)
vals // N
(*isostatic eigenfunction curves*)
Table[Plot3D[
 funs[[i]] // N // Evaluate, {x, y} \[Element] Disk[{0, 0}, 1], 
 PlotRange -> All, PlotLabel -> vals[[i]], 
 PlotTheme -> "Minimal"], {i, Length[vals]}]

enter image description here

  • NDEigensystem
Clear["Global`*"]
{vals, funs} = 
 NDEigensystem[{-Laplacian[u[x, y], {x, y}], 
   DirichletCondition[u[x, y] == 0, True]}, 
  u[x, y], {x, y} \[Element] Disk[{0, 0}, 1], 4];
(*Calculate the eigenvalues*)
vals
(*isostatic eigenfunction curves*)
Table[Plot3D[funs[[i]], {x, y} \[Element] Disk[{0, 0}, 1], 
 PlotRange -> All, PlotLabel -> vals[[i]], 
 PlotTheme -> "Minimal"], {i, Length[vals]}]

enter image description here

At which values of $k_{nm}$ of the relation corresponding to the first 4 eigenvalues given by the command? Because I have found the eigenvalues but they don’t match these $k_{nm}$ of the above table. Any help?

$\endgroup$

1 Answer 1

3
$\begingroup$

Eigenvalues $\lambda_i$ are defined as solution of equation $-\nabla^2 u(x, y)=\lambda_i u(x,y)$. In a case of $u=\cos (n \theta) J_n(k_{mn}r)$ we have

 -Laplacian[Cos[n \[Theta]] BesselJ[n, kmn r], {r, \[Theta]}, 
   "Polar"] // FullSimplify

Out[]= kmn^2 BesselJ[n, kmn r] Cos[n \[Theta]]

Therefore, $\lambda_{mn}=k_{mn}^2$. First eigenvalues

b[m_, n_] := BesselJZero[n, m];
k[m_, n_] := N[b[m, n]]; Table[{m, n, k[m, n]^2}, {m, 1, 3}, {n, 0, 2}]

{{{1, 0, 5.78319}, {1, 1, 14.682}, {1, 2, 26.3746}}, {{2, 0, 
   30.4713}, {2, 1, 49.2185}, {2, 2, 70.85}}, {{3, 0, 74.887}, {3, 1, 
   103.499}, {3, 2, 135.021}}}
$\endgroup$
2
  • $\begingroup$ So I can not find the corresponding values of the first right? $\endgroup$ Commented Apr 14, 2023 at 13:09
  • $\begingroup$ Oh i got it i have to compare it with $k_{nm}^2$ $\endgroup$ Commented Apr 14, 2023 at 13:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.