Crank Nicolson Method With Higher order spatial derivatives

88 Views Asked by At

I am trying to reproduce the results from a paper (arxiv version), which has the following equation:

$$\partial_t\psi_u = \left(1+2\partial_u^2+\partial_u^4 + |\psi_u|^2\right)\psi_u$$

The authors state that they use split step Crank Nicolson method and the boundary condition is $\partial_u\psi(u\rightarrow \pm \infty)=\pm i\psi$.

I am confused about how to approach the $d^4$ term and boundry conditions. Doing a forward difference, where n,j are time, space, there will be terms $$\partial^4_u \psi=\frac{\psi_{j-2}^n-4\psi_{j-1}^n+6\psi_j^n-4\psi_{j+1}^n+\psi_{j+2}^n +\text{same with n+1}}{2(\Delta x)^4}$$

I am curious how to handle the $j\pm2$ terms at the boundary. Since the equations will be (at j = 0) $$\frac{\psi^{n+1}_0-\psi_0^n}{\Delta t} = \frac{\psi_{-2}^n+\psi_{-2}^{n+1}+ \ ...}{2(\Delta x)^4}$$

If I just had the second order differential, which has $j\pm1$, my understanding is that I could use the forward difference to set something like $\psi_{1}-\psi_{0} = \Delta x(i\psi_0)$, which could get plugged into the equation for j=0.

My question is if there is any other methods for dealing with higher terms. Is it 'cheating' if I define the difference at j = 0 as:

$$\frac{\psi_{0}-\psi_{-2}}{2\Delta x} = i\psi_0$$

Also am I making this harder on myself by not doing any split steps? I am familiar with Split Step Fourier, but I have not come across split step CN.