Язык Wolfram Language

Дифференциальные уравнения в частных производных

Решение уравнения Пуассона с периодическими граничными условиями

Решить уравнение Пуассона с периодическими граничными условиями на кривых границах.

Задать область распределения.

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 ja ko pt-br zh