Quantum Mechanical Wavefunctions
(references: Atkins ch. 13.3, 13.4, 14.1, 14.2, 18.3 and 24.2;
Castellan, ch 20, 21; Eggers et. al. ch 1 and 2 )
In this lab you will do calculations of quantum mechanical
wavefunctions by numerically solving the time independent
Schrödinger equation. This lab illustrates how a simple finite
difference scheme (and, optionally, the more accurate Noumerov
method), can be used to calculate wavefunctions for an atom colliding
with a surface of a solid, which is first represented simply as a hard
wall, but then more realistically with a Morse interaction potential
function. Examination of the results of such calculations illustrate
the relationship of classical and quantum mechanics through the use of
the semi-classical local deBroglie wavelength. The same algorithm is
then used to generate wavefunctions for the bound states (in addition
to the scattering states above) for the Morse potential but now a
search for the allowed values of the energy needs to be carried out.
This calculation will actually be carried out in the context of
finding vibrational bound states of a diatomic molecule, where the
Morse potential is again a good, approximate representation of the
interaction potential. You will then choose one of two more
sophisticated examples for further explorations.
You can use a numerically more stable method for calculating the
solution of the Schrödinger equation for the bound states of the
Morse potential and implement an algorithm that finds the allowed
energy values automatically; or: you may examine solutions of the
Schrödinger equation for a particle colliding with a barrier,
illustrating `tunneling' of the quantum particle through the barrier.
Mathematica Notes: This Lab Unit will require somewhat more
independence than the first two labs. After becoming familiar with an
initial code, you will then modify the code to include a new form of
the potential energy. Use earlier work from your Mathematica
Notebooks, as well as the code included here, to aid in development of
your codes. Do note that if you open "extra" Notebook windows, that
the system slows, so close them when not needed. Also be sure to
simply "open" these older notebooks: do not launch multiple
Mathematica jobs. It is good practice to start each file with a
Clear[...] command to clear all the variables used in subsequent
calculations. This prevents problems that can arise if the variables
already have assigned values, and/or can prevent "infinite" loops.
Remember, if you restart a Notebook, especially in mid stream, earlier
commands, including the loading of special libraries, must be
explicitly re-executed! To avoid losing work, save your work at
regular intervals, and break large notebooks into smaller notebooks.
System Note: The Mathematica Notebooks are, we regret to find,
sometimes unstable when restarted. An empirical cure: go into the
UNIX (Console) window, and enter "ls" following the UNIX prompt. This
will give a listing of current files in your directory. If you have
saved a Mathematica Notebook as "Mynotes.ma" note that there will also
be (automatically created and saved) another file called
"Mynotes.mb". This file, which is supposed to facilitate
"re-launching" your notebook, is the one that is causing trouble!
Remove this startup file by entering "rm Mynotes.mb". The system may
prompt you for a yes of no (y or n) before removing (rm) the file.
Type another "ls" to see that the deleted file is actually gone. Good
luck, and we are very sorry to have found this problem. Mathematica
Inc. is hearing from us.
Hannes Jonsson
Modified by Thomas L. Marchioro II
and the Undergraduate Computational Engineering and Science project