ラプラス方程式のディリクレ問題を解く
二次元のラプラス(Laplace)方程式を指定する.
In[1]:=
leqn = Laplacian[u[x, y], {x, y}] == 0;
長方形内の方程式についてディリクレ(Dirichlet)条件を与える.
In[2]:=
\[CapitalOmega] = Rectangle[{0, 0}, {1, 2}];
In[3]:=
dcond = DirichletCondition[
u[x, y] ==
Piecewise[{{UnitTriangle[2 x - 1], y == 0 || y == 2}}, 0], True];
ディリクレ問題を解く.
In[4]:=
sol = DSolveValue[{leqn, dcond},
u[x, y], {x, y} \[Element] \[CapitalOmega]] // FullSimplify
Out[4]=
Inactiveの和から最初の300項を取り出す.
In[5]:=
asol = sol /. {\[Infinity] -> 300} // Activate;
長方形上の解を可視化する.
In[6]:=
Plot3D[asol // Evaluate, {x, y} \[Element] \[CapitalOmega],
PlotRange -> All, PlotTheme -> "Business"]
Out[6]=