Lösen Sie eine Poisson-Gleichung mit periodischen Randwertbedingungen
Lösen Sie eine Poisson-Gleichung mit periodischen Randwertbedingungen auf einem kurvenförmigen Randgebiet.
Spezifizieren Sie ein Gebiet.
In[1]:=

\[CapitalOmega] =
RegionDifference[RegionUnion[Disk[], Rectangle[{0, -1}, {2, 1}]],
Disk[{2, 0}]];
Lösen Sie die partielle Differentialgleichung mit periodischen Randwertbedingungen, wobei die die Lösung der linken Seite auf die rechte Seite des Gebiets gemappt wird.
In[2]:=

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]];
Visualisieren Sie die Lösung.
In[3]:=

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