# Incorporating a potential barrier in a wave-packet simulation (Fourier Transform method)

I'm trying to simulate the scattering of a wave-packet at a potential barrier in Python. I'm using a Fourier Transform method (not sure if its the same as the Split-Step method), where I apply Fourier Transform on my initial wavepacket (plane wave in a gaussian envelope) to get the wavefunction in momentum-space: $$\phi(k) = \int^{\infty}_{-\infty} \psi(x) e^{ikx} dx$$ I then calculate the dispersion term, $$\omega$$, at each $$k$$ value, $$\omega = \frac{\hbar k^2}{2m}$$. I can then incorporate the time-evolution operator $$e^{-i\omega t}$$. This allows me to obtain $$\psi(x)$$ at a given time:

$$\psi(x,t) = \int^{\infty}_{-\infty} \phi(k) e^{-ikx}e^{-i\omega t}$$ which I achieve through an Inverse Fourier Transform of $$\phi(k)e^{-i\omega t}$$.

My wavepacket moves as expected, but I am now trying to incorporate a potential barrier. To start, I am trying to get my wave-packet to reflect off of a barrier (like a particle in a box).

I'm a bit unsure of how to implement this into my code. This problem is usually described by having both a incoming and reflected wave in the region before the barrier, so I have implemented a 'reflected' wave-packet which is simply a mirror image of the initial wave-packet with its amplitudes reversed. This can be manipulated to simulate the wave reflecting off the barrier but I'm wondering if there is a more trivial solution.

Questions:

• Is there a way to incorpate reflection/transmission at a barrier using my method of propagating the wave-packet?
• I've seen this problem solved using a finite difference method to solve the Schrodinger equation instead, is there an advantage of using that method?
• I think that you need to find the wavefunctions for your potential barrier. Then do a convolution with your spectrum. – nicoguaro Mar 9 '19 at 15:42
• So define a function for my potential barrier, Fourier Transform it and then convolve with my wavepacket in k-space? Thanks for the suggestion! – FeelsToWaltz Mar 13 '19 at 11:34

The neat thing about Fourier codes is that you can achieve very high order derivatives and if you are describing physics which is about waves, then the trigonometric base functions are a good choice. You also have a reasonably fast transform in $$\mathcal O(n\log(n)$$.