Time dependent Schroedinger equation on a plane with a barrier with two openings.

Published 2020-11-21
This is a simulation of a two-dimensional time-dependent Schroedinger equation on a square with a barrier that has two openings (only visible when the wave function collides with it).
I implemented this using Octave (free Matlab Ersatz). To make it fast enough, I implemented the main computations in C as a mex file called by octave. The computation was carried out on a 256x256 grid. The animation shows the absolute value (modulus) of the wave function. The initial conditions are: a Gaussian blob times exp(i k y) . This corresponds to a particle moving upwards in the y-direciton. The wave constant k was chosen as k=0.9. Planck's constant hbar was set to 1, and the mass of the particle were chosen as m=0.2. (not 1 to make it a little faster: smaller values make the wave move faster, while the moment is the same).

The initial wave function was normalized, and should remain normalized if the simulation is accurate, so it's checked every 500 iterations. The deviation from 1 stayed within the bound of 1E-10 for about 800,000 iterations, but it blew up some time after that.
I used a 4th order Runge-Kutta method for the update of the wave function in the PDE : (-i/h) dPsi/dt = -(h^2/2m)* Laplacian (Psi) +V (x) * Psi.
The potential V(x) was defined as a barrier of height 10 with two openings to simulate a caricature of the 2-slit experiment.
The interaction with the two-slit is what one can see in the beginning. After the first interaction the wave bounces back and forth between the walls until it gets more or less completely smeared out over the plane, while still having momentum in various directions - indicated by the ripples. I can not assert that this simulation is completely faithful after the first 10-15 seconds of the animation. It was terminated when the solution began to be too far from normalized. ( || 1 - || Psi ||)


Code at: github.com/ReinerWilhelmsAmeotoko/OctaveCodewithMe…

All Comments (1)