# Examples of finding eigenfunctions of coupled DEs

I am looking for examples of numerically finding eigenvalues/eigenfunctions of coupled DEs. If anyone is able to point me towards any examples, preferably with code included, it would be much appreciated.

A while back I wrote a few such examples over at https://mathematica.stackexchange.com. You can find them here, here and here. The last link is probably the best to understand - even though that is not for coupled PDEs; but there is not much difference. There also examples at the reference page of Mathematicas' function NDEigensystem which does what you want.

Let me reproduce a small example here, that is more suited to an audience that may not be as familiar with the language.

To model the modes of a beam we define a plane stress operator (coupled PDE):

planeStress = {
Div[{{0, -((Y*ν)/(1 -ν^2))}, {-(Y*(1 -ν))/(2*(1 - ν^2)), 0}}.Grad[v[t, x, y], {x, y}], {x, y}] + Div[{{-(Y/(1 - ν^2)),  0}, {0, -(Y*(1 - ν))/(2*(1 - ν^2))}}.Grad[u[t, x, y], {x, y}], {x, y}],
Div[{{0, -(Y*(1 - ν))/(2*(1 - ν^2))}, {-((Y*ν)/(1 - ν^2)), 0}}.Grad[u[t, x, y], {x, y}], {x, y}] + Div[{{-(Y*(1 -ν))/(2*(1 -ν^2)), 0}, {0, -(Y/(1 - ν^2))}}.Grad[v[t, x, y], {x, y}], {x, y}]
} /. {Y -> 210 10^9, ν -> 33/100};


We hold the left hand side of the beam fixed.

(*held fixed at left*)
bcs = DirichletCondition[{u[t, x, y] == 0, v[t, x, y] == 0}, x == 0];


And call the numerical differential eigensolver:

\[Rho] = 7850; length = 10; height = 0.7;
{vals, funs} =
NDEigensystem[{Thread[\[Rho]*D[{u[t, x, y], v[t, x, y]}, {t, 1}] ==
planeStress],
DirichletCondition[{u[t, x, y] == 0., v[t, x, y] == 0.},
x == 0]}, {u[t, x, y], v[t, x, y]},
t, {x, y} \[Element] Rectangle[{0, 0}, {length, height}], 9];


This returns a list of eigenvalues and eigenfunctions. To plot them:

Show[{Graphics3D[
{Gray,
GraphicsComplex[{{0, 0, 0}, {length, 0, 0}, {length, height,
0}, {0, height, 0}}, Line[{{1, 2, 3, 4, 1}}]]}],
Plot3D[
Sqrt[10000*Total[#^2]], {x, y} \[Element]
Rectangle[{0, 0}, {length, height}],
ColorFunction -> "TemperatureMap", Axes -> False,
Mesh -> False]}, Boxed -> False] & /@ funs For more detailed information on how that works, please have a look at the posts I mentioned in the beginning.