The FGH1D program calculates the eigenvalues (energy levels) and eigenvectors (wavefunctions) for an arbitrary one-dimensional potential. The program can generate potentials of a few fixed forms: Morse, polynomial in x2 - for double wells, cos(nx) - for internal rotations. The program can read in potentials from a file or from the clipboard in the form of x,y pairs. It can interpolate these potentials with a spline fit. FGH1D solves the Shrödinger equation variationally using the clever Fourier Grid Hamiltonian method as developed by G. G. Balint-Kurti and C. C. Martson (J. Chem. Phys. 91(6), 3571, 1989) (see also Balint-Kurti's home page at http://www.chm.bris.ac.uk/pt/ggbk/gabriel.htm ). Basically it is similar to other discrete variable representation (DVR) methods except that it uses a basis set of delta functions rather than gaussians. This particular implementation requires an even number of grid points (basis functions). For most potentials the first n/3 eigenvalues are reasonable when n well-distributed grid points are used. The accuarcy increases with increasing number of grid points.
FGH1D runs under the Windows operating system and was written in Visual Basic. The computationally expensive part is the diagonalization of a matrix, for which FGH1D uses the routines given in Numerical Recipes (Numerical Recipes. The Art of Scientific Computing. W. H. Press, S. A. Teukolsky, B. P. Flannery, W. T. Vettering, 1986 Cambridge University Press, Cambridge.)