Why not to start from stripped down simple version and get it to work first, then built from it and add things like various potentials, constants, Input, etc. Here is a start.

L = 30; T = 20;

sol = NDSolve[{I D[u[t, x], t] + D[u[t, x], x, x] - Abs[x] u[t, x] == 0,

u[0, x] == Sech[x] Exp[I x], u[t, -L] == u[t, L]}, u, {t, 0, T}, {x, -L, L}];

Manipulate[Plot[Evaluate[Abs[u[t, x] /. First[sol]]], {x, -L, L},

PlotPoints -> 40, PlotRange -> {0, 1}, Filling -> Bottom], {t, 0, T}]

Plot3D[Evaluate[Abs[u[t, x] /. First[sol]]], {t, 0, T}, {x, -L, L},

PlotPoints -> 60, Mesh -> None, PlotRange -> All, ColorFunction -> "DarkRainbow"]

DensityPlot[Evaluate[Arg[u[t, x] /. First[sol]]], {t, 0, T}, {x, -L, L},

PlotPoints -> 60, MaxRecursion -> 3, ColorFunction -> "DarkRainbow"]