Wolfram言語

偏微分方程式

周期境界条件でポアソン方程式を解く

曲面の境界上において周期境界条件でポアソン方程式を解く.

領域を指定する.

In[1]:=
Click for copyable input
\[CapitalOmega] = RegionDifference[RegionUnion[Disk[], Rectangle[{0, -1}, {2, 1}]], Disk[{2, 0}]];

左辺からの解が領域の右辺にマップされる周期境界条件で,偏微分方程式を解く.

In[2]:=
Click for copyable input
ufun = NDSolveValue[{-\!\( \*SubsuperscriptBox[\(\[Del]\), \({x, y}\), \(2\)]\(u[x, y]\)\) == 1, PeriodicBoundaryCondition[u[x, y], (x - 2)^2 + y^2 == 1, Function[x, x - {2, 0}]], DirichletCondition[ u[x, y] == 0, (0 <= x <= 2 && (y <= -1 || y >= 1))]}, u, {x, y} \[Element] \[CapitalOmega]];

解を可視化する.

In[3]:=
Click for copyable input
ContourPlot[ufun[x, y], {x, y} \[Element] \[CapitalOmega], ColorFunction -> "TemperatureMap", AspectRatio -> Automatic] // Quiet
Out[3]=

関連する例

de en es fr ko pt-br ru zh