헬름홀츠 방정식의 디리클레 문제 해결
2D 헬름홀츠 방정식을 지정합니다.
In[1]:=
heqn = {Laplacian[u[x, y], {x, y}] + 5 u[x, y] == 0};
직사각형의 방정식에 대한 디리클레 조건을 규정합니다.
In[2]:=
bc = {u[x, 0] == UnitTriangle[x - 2]/2, u[x, 2] == 0, u[0, y] == 0,
u[4, y] == 0};
DSolveValue를 이용하여 디리클레 문제를 해결합니다.
In[3]:=
(sol = DSolveValue[{heqn, bc}, u[x, y], {x, y}]) // TraditionalForm
Out[3]//TraditionalForm=
Inactive의 합에서 처음 30항을 추출합니다.
In[4]:=
fsol = sol /. \[Infinity] -> 30 // Activate;
근사 솔루션을 시각화합니다.
In[5]:=
Plot3D[fsol // Evaluate, {x, 0, 4}, {y, 0, 2}, PlotRange -> All,
PlotTheme -> "Scientific"]
Out[5]=