ラプラス方程式のディリクレ問題を解く
二次元のラプラス(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]=
