The following expression
u
nm
J
n
x
nm
r
a
|
gives the solution for the Helmholtz problem. On the circular disc with center 0 and radius a. For , the plot in 3-dimensional graphics of the solutions on Mathematica for and then calculate some eigenfunctions with the following expression.
a=1
(n,m)(2,2)
k
nm
x
nm
a
It could be better to separate functions with and as follows
sin(nθ)
cos(nθ)
In[]:=
a=1;mmax=nmax=2;(*Setthevalueofm,n*)b[m_,n_]:=BesselJZero[n,m];(*calculatetheeigenfunctionk[m,n]*)k[m_,n_]:=N[b[m,n]/a];uc[r_,t_,m_,n_]:=(Cos[nt])BesselJ[n,k[m,n]*r];us[r_,t_,m_,n_]:=(Sin[nt])BesselJ[n,k[m,n]*r];
We calculate the eigenvalues of
k
nm
In[]:=
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},{"\!\(\*SubscriptBox[\(k\), \(0\)]\)(x)","\!\(\*SubscriptBox[\(k\), \(1\)]\)(x)","\!\(\*SubscriptBox[\(k\), \(2\)]\)(x)"}}]
Out[]//TableForm=
k 0 | k 1 | k 2 | |
1 | 2.40483 | 3.83171 | 5.13562 |
2 | 5.52008 | 7.01559 | 8.41724 |
3 | 8.65373 | 10.1735 | 11.6198 |
4 | 11.7915 | 13.3237 | 14.796 |
5 | 14.9309 | 16.4706 | 17.9598 |
Now we create the 3D graphics
In[]:=
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}]
Out[]=
,
,
,
,
,
In[]:=
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}]
Out[]=
,
,
,
Solving Helmholtz Equation in 2D for Circular Disk with DEigensystem, NDEigensystem
Solving Helmholtz Equation in 2D for Circular Disk with DEigensystem, NDEigensystem
Now we are going to solve the Helmholtz equation with Dirichlet boundary conditions in two dimensions for a circular disk with a radius of 1.
some boundary e.g. a circle
Ω
2
∇
2
k
Compute the first 4 eigenfunctions for a circular membrane with the edges clamped:
◼
DEigensystem
In[]:=
Clear["Global`*"]{vals,funs}=DEigensystem[{-Laplacian[u[x,y],{x,y}],DirichletCondition[u[x,y]==0,True]},u[x,y],{x,y}∈Disk[{0,0},1],4];(*Calculatetheeigenvalues*)vals//N(*isostaticeigenfunctioncurves*)Table[Plot3D[funs[[i]]//N//Evaluate,{x,y}∈Disk[{0,0},1],PlotRange->All,PlotLabel->vals[[i]],PlotTheme->"Minimal"],{i,Length[vals]}]
Out[]=
{5.78319,14.682,14.682,26.3746}
Out[]=
,
,
,
◼
NDEigensystem
In[]:=
Clear["Global`*"]{vals,funs}=NDEigensystem[{-Laplacian[u[x,y],{x,y}],DirichletCondition[u[x,y]==0,True]},u[x,y],{x,y}∈Disk[{0,0},1],4];(*Calculatetheeigenvalues*)vals(*isostaticeigenfunctioncurves*)Table[Plot3D[funs[[i]],{x,y}∈Disk[{0,0},1],PlotRange->All,PlotLabel->vals[[i]],PlotTheme->"Minimal"],{i,Length[vals]}]
Out[]=
{5.78323,14.6827,14.6827,26.3784}
Out[]=
,
,
,
We found the eigenvalues but they do not match the of the above table. So we have to notice the following that the eigenvalues are defined as the solution of equation
k
nm
λ
i
-u(x,y)u(x,y).
2
∇
λ
i
In a case of we have
ucos(nθ)
J
n
(
k
mn
r)
In[]:=
-Laplacian[Cos[nθ]BesselJ[n,kmnr],{r,θ},"Polar"]//FullSimplify
Out[]=
2
kmn
Therefore, . So the first eigenvalues could be calculated as follows
λ
mn
2
k
mn
In[]:=
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}]
Out[]=
{{{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}}}
Greetings: I would like to thank Alex Trounev from Mathematica Stack Exchange for his help and for solving my questions
CITE THIS NOTEBOOK
CITE THIS NOTEBOOK
Helmholtz problem in circular disk
by Athanasios Paraskevopoulos
Wolfram Community, STAFF PICKS, April 19 2023
https://community.wolfram.com/groups/-/m/t/2901086
by Athanasios Paraskevopoulos
Wolfram Community, STAFF PICKS, April 19 2023
https://community.wolfram.com/groups/-/m/t/2901086