Program Eigenstate - Quantum Mechanics - Notes | CHEM 540, Study notes of Quantum Mechanics

Material Type: Notes; Professor: Makri; Class: Quantum Mechanics; Subject: Chemistry; University: University of Illinois - Urbana-Champaign; Term: Fall 2007;

Typology: Study notes

Pre 2010

Uploaded on 03/11/2009

koofers-user-es0
koofers-user-es0 🇺🇸

10 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Chem. 540, Fall 2007
Instructor: Nancy Makri
Notes on program EIGENSTATE1D.F
This is a simple program in Fortran that computes the eigenstates and eigenvalues of a one-
dimensional system. The eigenstates are expanded in a basis of particle-in-a-box basis functions
(which are very easy to program). The kinetic energy operator is diagonal in this basis, and the
potential matrix elements are evaluated numerically. The Hamiltonian matrix is then diagonalized
and the eigenfunctions are calculated by multiplying the expansion coefficients in each eigenvector
with the appropriate basis function. In addition to looking at the eigenvalues, you have the option
to print values of each eigenfunction on a grid of points, creating an input file to be used by a
graphics program.
I have decided to have you change parameters inside the program (rather than using an input file)
so that you have a chance to look at the code.
Parameters:
nmax number of basis functions
npts number of grid points used to evaluate integrals
fmass mass of the particle
xmin, xmax left and right coordinates of the "box". This defines the coordinate range used in
the calculation. This range should be sufficiently large to span the most extended
eigenfunction of interest.
Subroutines/Functions:
ARRAY Rearranges a matrix in a form suitable for diagonalization
GIVENS Diagonalizes a matrix
V Potential function (may be changed)
The results of the calculation will be meaningful once they are converged. You should examine
how the eigenvalues change when you vary the number of basis functions, grid points, and box
range. Increasing the number of basis functions will always give you higher accuracy, as long as
the range is sufficiently large for the basis functions and there are enough points for accurate
evaluation of the integrals. You cannot trust any results unless you have verified convergence.
I suggest you start by calculating the eigenvalues for a harmonic oscillator to verify you recover
the known results. Note that the approximate eigenvalues will get progressively less accurate as
the quantum number is increased, unless you add basis functions. With 60 basis functions and an
appropriate box range you should get 10-20 eigenvalues with high accuracy.
Once all this is clear, play with different potentials. You could add a small anharmonic term (e.g.,
0.1 x4) and look at the eigenvalues. Next, you could try a Lennard-Jones or a Morse potential. For
each system print your eigenvalues and comment on what you observed. It would be nice if you
could also plot a few eigenfunctions for the various potentials. As a final interesting exercise, try
a symmetric double well potential (this can be written in the form x 4-x2) and notice a dramatic
change in the spectrum.
pf2

Partial preview of the text

Download Program Eigenstate - Quantum Mechanics - Notes | CHEM 540 and more Study notes Quantum Mechanics in PDF only on Docsity!

Chem. 540, Fall 2007 Instructor: Nancy Makri Notes on program EIGENSTATE1D.F This is a simple program in Fortran that computes the eigenstates and eigenvalues of a one- dimensional system. The eigenstates are expanded in a basis of particle-in-a-box basis functions (which are very easy to program). The kinetic energy operator is diagonal in this basis, and the potential matrix elements are evaluated numerically. The Hamiltonian matrix is then diagonalized and the eigenfunctions are calculated by multiplying the expansion coefficients in each eigenvector with the appropriate basis function. In addition to looking at the eigenvalues, you have the option to print values of each eigenfunction on a grid of points, creating an input file to be used by a graphics program. I have decided to have you change parameters inside the program (rather than using an input file) so that you have a chance to look at the code. Parameters: nmax number of basis functions npts number of grid points used to evaluate integrals fmass mass of the particle xmin, xmax left and right coordinates of the "box". This defines the coordinate range used in the calculation. This range should be sufficiently large to span the most extended eigenfunction of interest. Subroutines/Functions: ARRAY Rearranges a matrix in a form suitable for diagonalization GIVENS Diagonalizes a matrix V Potential function (may be changed) The results of the calculation will be meaningful once they are converged. You should examine how the eigenvalues change when you vary the number of basis functions, grid points, and box range. Increasing the number of basis functions will always give you higher accuracy, as long as the range is sufficiently large for the basis functions and there are enough points for accurate evaluation of the integrals. You cannot trust any results unless you have verified convergence. I suggest you start by calculating the eigenvalues for a harmonic oscillator to verify you recover the known results. Note that the approximate eigenvalues will get progressively less accurate as the quantum number is increased, unless you add basis functions. With 60 basis functions and an appropriate box range you should get 10-20 eigenvalues with high accuracy. Once all this is clear, play with different potentials. You could add a small anharmonic term (e.g., 0.1 x^4 ) and look at the eigenvalues. Next, you could try a Lennard-Jones or a Morse potential. For each system print your eigenvalues and comment on what you observed. It would be nice if you could also plot a few eigenfunctions for the various potentials. As a final interesting exercise, try a symmetric double well potential (this can be written in the form x^4 -x^2 ) and notice a dramatic change in the spectrum.

Note that if you are working with potentials that are unbound at least on one side (e.g., Lennard- Jones or Morse), if you have chosen a very small mass (very light particle) the zero point energy may be very large and thus lie above the dissociation limit. If this is so, this system has no bound states. Since unbound states extend to infinity, they cannot be calculated correctly with this program. If you notice the ground state energy converging very close to the dissociation energy the wavefunction may be very extended, and all excited states may be unbound. In that case it's a good idea to increase the mass until you find a reasonable number of bound states. Do not try to converge unbound states and do not try to make any observations on them, as they will not be computed correctly.