next up previous contents index
Next: Diffusion Equation; Numerical Up: Numerical Methods Previous: Classical Wave Equation;

Schrödinger Equation; Numerical Method

  The Schrödinger equation can be discretized in a manner similar to the Klein-Gordon equation. In order to minimize the possibility of numbers becoming too large or too small for the computer, it is convenient to rewrite eq:SchDE using atomic units, i.e. . Variables are now on the order of unity and the Schrödinger equation becomes

The propagation algorithm is obtained by substituting eq:Der1E and eq:Der2E into this equation.

Since the first derivative is approximated by a forward time step and the second derivative uses a difference centered on the current grid   point, this approximation is often referred to as the Forward Time Centered Step, FTCS, algorithm. The values of are, of course, complex numbers and will require two DVectors to store both real and imaginary values in the computer's memory. Although the FTCS algorithm is considered unstable, Pieter Visscher has shown that it can be stabilized if we alternate the calculation of the real and imaginary parts of the wavefunction and if the time step is sufficiently small.[17] Visscher's algorithm is reminiscent of the ``leap frog" method for ordinary differential equations and has been implemented in WAVE . It can be written

where the real part of the wavefunction, , is evaluated at even time steps and the imaginary part of the wavefunction, , is evaluated at odd time steps. In addition, the time step, , must satisfy the condition

In order not to increase the number of variables in the program unnecessarily, we use the same DVectors that were created for the KG equation; the real part of u is stored in yVec and the imaginary part of u is stored in yPrevVec .


Wolfgang Christian
Fri Apr 14 08:22:30 EDT 1995