2
$\begingroup$

What is the correct method for specifying periodic boundary conditions when solving for the eigensystem of a PDE in a rectangular region? The following implementation does not work.

 d=1;
 v1 = d{0, 1}; v2 = d{1, 0};
 reg = Parallelogram[{0, 0}, {v1, v2}];

 NDEigensystem[{-Laplacian[u[x, y], {x, y}], u[x, 0] == u[x + d, 0], 
 u[0, y] == u[0, y + d]}, u[x, y], {x, y} \[Element] reg, 2]
$\endgroup$
2
$\begingroup$

Here is how you could do that:

eig = NDEigensystem[{Laplacian[u[x, y], {x, y}]
   , PeriodicBoundaryCondition[u[x, y], x == 0, 
    TranslationTransform[{1, 0}]], 
   PeriodicBoundaryCondition[u[x, y], y == 0, 
    TranslationTransform[{0, 1}]]}, u, {x, y} \[Element] reg, 4]

A visual inspection:

Plot3D[#[x, y], {x, y} \[Element] reg] & /@ eig[[2]]

enter image description here

And a more formal inspections:

Plot[#[x, 0] - #[x, 1], {x, 0, 1}] & /@ eig[[2]]

enter image description here

You can also check this:

Plot[#[0, y] - #[1, y], {y, 0, 1}] & /@ eig[[2]]
|improve this answer|||||
$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy