Numerical schemes for solving TDSE

Numerical solution of the Timedependent Schrödinger equation

The systems we are simulating are typically highly dynamic systems, where genuine quantum effects are expected to be significant. At the same time, the external forces of our systems can usually be treated classically. It is therefore natural to look at the time dependent Schrödinger equation (TDSE) to predict the time evolution of our systems. Time propagating the TDSE is a very computationally intensitive task, and a very high performance parallel implementation is therefore required. At the same time, the implementation must be sufficiently easy to modify to accomodate for the different systems we whish to simulate.
Among the many challenges are:

The approach

A key element in our approach is operator splitting. This allows us to break down the problems in smaller, more manageable pieces and taylor techniques for simpler suboperators. In particular, using spectral approximations in space, where the spectral basis functions are eigenfunctions of the sub-operator in questions, has proved a very successful strategy. However, this is no silver bullet, the technique has limitations. In some cases partial steps give truly unphysical states with very undesirable features. These need to be detected and dealt with. It also happens that the set of eigenfunctions does not always give the best spectral approximations. Other orthogonal basis functions may provide better approximations. Or alternatively; Splitting in another set of sub-operators, gives other eigenfunctions which better resolve the spectrum of the underlying wavefunction.

These issues are central to our current investigation.

We are also working on a public domain, C++/Python implementation of our code. The plan is to soon release a beta version of this software. STAY TUNED!

On the horizon

Spectral methods are global methods. They are not well suited to zoom in on  “hot spots” of the computational domain. There are problems where “the action” takes place in a very narrow domain. In these cases it seems as a waste of effort to have a lot of grid points elsewhere. Such focused grid is hard to construct for spectral methods (a variable transformation may in some cases help). Matters get worse when the problem area moves around. Then an adaptive irregular grid is needed. Attacking these problems are high on our agenda.

Our code is parallelized. However, only for 2D problems. When working with higher dimensions we collapse dimensions, reducing the datastructure to 2d, before parallelizing. This limits the scalability of the code, and needs to be fixed.

© Copyright Bergen Computational Quantum Physics Group • Powered by Wordpress • Using Detour theme created by Brian Gardner.