Split step method for nonlinear Schrodinger equation does not result in self focusing

I'm trying to simulate self focusing in the case of anomalous dispersion and positive Kerr nonlinearity in the nonlinear Schrödinger equation $$\frac{\partial a}{\partial t} - i\frac{\partial^2 a}{\partial z^2} + i\epsilon|a|^2a = 0$$

Here $t$ is time and $z$ is a spatial coordinate (Though I guess it doesn't really matter). I set $\epsilon$ to be 50 just to make sure that I am above the critical power. In order to simulate the wave propagation, I use the split step method applied on initial Gaussian pulse.

No matter how I change the values of the code, the initial pulse starts to focus and then it get dispersed after a while. I tried to change the resolution in both spatial and frequency domain, it didn't help. Is there some conditions under which the split step method breaks down?

• I'm voting to close this question as off-topic because it is about debugging code and not about physics. Jan 2, 2017 at 17:00
• Only physicists can answer this question. Beside, every physicist who practice theory has skills in MATLAB.
– jack
Jan 2, 2017 at 17:21
• no, not at all, neither of your two statements is correct. Jan 2, 2017 at 17:22
• This question is probably more appropriate for Computational Science than here. Jan 2, 2017 at 18:13
• What step size did you use? The splitting requires a small step size for stability, but it may need an even smaller one for accuracy. Also, I agree with what @KyleKanos has said -- this is probably better on Computational Science, although it is on topic here. And as another computational scientist, I haven't used Matlab since my freshman intro course because it is not suitable for serious computational work. And analysis/processing work is better done in Python or R than Matlab. Jan 4, 2017 at 20:03