I am trying to solve the eigensystem of a 1st-order linear ODE system in the region $(-\infty,\infty)$ and with Dirichlet boundary condition at the infinities
$$
-i\partial_xu(x)+f^*(x)v(x)=\lambda u(x)\\
f(x)u(x)+i\partial_xv(x)=\lambda v(x)
$$
where $f(x)$ is a complex-valued function mainly varying around $x=0$ and $f^*(x)$ is its complex conjugate. I define $f(x)$ by its norm and phase in the code, where I give two forms of $f(x)$ (using Tanh or Lorentzian) of the similar profile.
I tried reducing it to a 2nd-order ODE. But unfortunately, it messes up the eigenstructure, i.e., $\lambda$ appears in several terms.
I have no idea if it can be solved analytically.
It is known that the system will have a few (at least one) discrete real eigenvalues in $(-1,1)$ and the eigenfunction is more or less localized around $x=0$. Outside $(-1,1)$, there will be a continuous spectrum with probably not quite confined eigenfunctions. I am interested in the eigenvalue(s) in $(-1,1)$ only.
The code below gives 4 solutions but some eigenfunctions are very saw-tooth like. Therefore, I want to make sure if these solutions are true or spurious and if any other way to solve it reliably.
{0.0856771, -0.169612, -0.881437, 0.94686}
a = 1; b = 0.8 a; c = 1; Nless = 8; cutoff = 20;
xR = cutoff; xL = -cutoff;
f[x_, pm_] = (a + b (Tanh[x/c - 1] - Tanh[x/c + 1])/(2 Tanh[1])) Exp[
I pm \[Pi] (Tanh[x/c] + 1)/2];
(*f[x_, pm_] = (a + b (-c^2)/(x^2 + c^2)) Exp[
I pm \[Pi] (Tanh[x/c] + 1)/2];*)
Fop1[F_] := D[F, x];
variables = {u, v};
lhs = {-I Fop1[u[x]] + f[x, 1] v[x], I Fop1[v[x]] + f[x, -1] u[x]};
bc = DirichletCondition[
Table[component@x == 0, {component, variables}], True];
{vals, funcs} =
NDEigensystem[{lhs, bc}, {u[x], v[x]}, {x, xL, xR}, Nless,
Method -> {"PDEDiscretization" -> {"FiniteElement", {"MeshOptions" \
-> {"MaxCellMeasure" -> 0.001, "MeshOrder" -> 2}}}}];
vals
Table[Plot[
If[iband <= Nless, Norm, _]@funcs[[iband, ab]], {x, xL, xR},
PlotRange -> All, ImageSize -> Small], {ab, {1, 2}}, {iband, 1,
6}(*,{part,{Norm(*,Re,Im*)}}*)]
NDEigen
still produces some solutions. Any remedy or reason? Thanks. $\endgroup$ – xiaohuamao Jul 12 '19 at 23:07Plot
won't show anything unless you useReIm
orAbs
. Or useContourPlot
or justFindRoot
. $\endgroup$ – SPPearce Jul 13 '19 at 7:23FindRoot
and it gives nothing when I set $\pi$ to $1.1\pi$ in the phase factor. Does your answer give any solution for this case? $\endgroup$ – xiaohuamao Jul 13 '19 at 7:33