List of available subroutines (alphabetical) 

Subroutine  Description  The routine at work ...  Author, Creation date 

angint  evaluates the integral over the solid angle of a product of three spherical harmonics via clebsch gordon coefficients:  tangint.f, tangint.txt  Heiko Appel, 5.18.99 
arbder  finds the derivative of a function on a nonuniformly spaced set of points, using twopoint formulas  missing!  Kieron Burke, 9.15.99 
arbint  finds the integral of a function on a nonuniformly spaced set of points, using twopoint formulas  missing!  Kieron Burke, 9.15.99 
clebschg 
constructs the clebsch gordan coefficient for the special case
 tclebschg.f, tclebschg.txt  Heiko Appel, 5.18.99 
corlsd  uniformgas correlation of Perdew and Wang 1991  missing!  Perdew and Wang, 1991 
corpbe2  H,DVCUP,DVCDN) Official PBE correlation code.  missing!  K. Burke, May 14, 1996. 
corpw91  DVCUP,DVCDN) pw91 CORRELATION, modified by K. Burke to put all arguments  missing!  modified by K. Burke, 10.18.99 
dens  constructs the reduced density for a given solution to Hooke's atom.  tdens.f, tdens.txt  Heiko Appel, 5.18.99 
densalyt  contructs the analytic density of Hooke's atom for k=1/4 on the y grid with parameter r0  missing!  Heiko Appel, 11.22.99 
denscal  takes the present density and an orginial one, scaled onto the present grid, and calculates the correlation energy difference between them  missing!  Kieron, 10.4.99 
densder  fills the density derivatives in, using logarithmic derivatives  missing!  Kieron Burke, 8.14.99 
densfill  fills the density in, which one determined by several parameters.  missing!  Kieron Burke, 8.14.99 
density  constructs the reduced density for a given solution to Hooke's atom.  missing!  Heiko Appel, 5.18.99 
densout  writes out the density and its derivatives into unit 31  missing!  Kieron Burke, 8.14.99 
derfx  DERFX returns the value of the error function over x  missing!  Heiko Appel, 5.18.99, updated by Kieron, 8.15.99 
derfxp  yields the derivative d/dx erfx(x)  missing!  Heiko Appel, 5.18.99 
dgintgrl1  integrates a function from 0 to x using two successive grids: (y=1/(1+r/r0) to scale into [1,r0/(r0+x)] and a uniform grid to scale to [0,1]  tdgintgrl1.f, tdgintgrl1.txt  Kieron Burke 
dgintgrl2  integrates a function from x to Infinity using two successive grids: (y=1/(1+r/r0) to scale into [1,r0/(r0+x)] and a uniform grid to scale to [0,1]  tdgintgrl2.f, tdgintgrl2.txt  Kieron Burke 
dlhooke  constructs the log of the reduced density for a given solution to Hooke's atom.  missing!  Kieron Burke, 8.14.99 
dlkais  produces the log of the Hooke's atom density for k=1/4  missing!  Kieron Burke, 8.14.99 
dlone  produces the log of an analytic 1e density.  missing!  Kieron Burke, 8.14.99 
dspline  is a copy of Numerical recipes spline routine, in real*8. It sets up coefficients for a spline, in array Y2. It need only be called once.  missing!  Adapted from Numerical Recipes, Kieron Burke, 9.15.99 
dsplint  is a copy of NUM REC routine splint, in real*8. It gives the value of the splined function at point x. DSPLINE must be called beforehand.  missing!  Adapted from Numerical Recipes, Kieron Burke, 9.15.99 
easypbe  is a driver for the PBE subroutines, using simple inputs  missing!  K. Burke, May 14, 1996, modified April 7, 
ediff  finds the dE=E[rhop]E[rho], using v=dE/drho, to first order.  missing!  Kieron Burke, 8.14.99 
eigenf  constructs the eigenfunctions for a basisset expansion on the gridpoints rho with coefficents from the corresponding eigenvectors  missing!  Heiko Appel, 11.23.99 
evalgga  evaluates an unpolarized GGA energy, once dens and grad have already been filled in; which one is determined by the function func.  missing!  Kieron Burke, 8.14.99 
exch  GGA91 Exchange for a spinunpolarized electronic system  missing!  Kieron Burke 
exchb  BECKE88 Exchange for a spinunpolarized electronic system  missing!  ? 
exchpbe  PBE Exchange for a spinunpolarized electronic system  missing!  K Burke's modification of PW91 codes, May 14, 1996 
expdens  produces a 3D exponential density, normalized to 1  missing!  Kieron Burke, 5.12.99 
ext  finds the ext potential, and evaluates the external energy.  missing!  Kieron Burke, 8.14.99 
extrplam  takes a function defined for various values of lambda, and interpolates the last value from the two before  missing!  Kieron, 9.22.99 
fnorm  just returns rho, for normalization integrals, using evalgga  missing!  Kieron Burke, 8.14.99 
gcor  called by subroutine CORLSD  missing!  ? 
gcor2  slimmed down version of GCOR used in PW91 routines, to interpolate LSD correlation energy, as given by (10) of J. P. Perdew and Y. Wang, Phys. Rev. B { 45}, 13244 (1992).  missing!  K. Burke, May 11, 1996. 
ggalam  calculates and outputs (to eclam.d) the exact lambda decomposition of a given approximate GGA, denoted by ngga  missing!  Kieron Burke, 8.14.99 
gridsc  The sunbroutine GRIDSC uses the uniform grid stored in gr to calculate the scaled grid rho=1/(1+r/r0)  missing!  Heiko Appel, 5.18.99 
gridunif  simply constructs a uniform grid  missing!  Heiko Appel, 5.18.99 
hart  returns the Hartree energy, if vh has been filled in  missing!  Kieron Burke, 8.14.99 
hoodl  calcualates the log of the gs density of Hooke's atom for arbitrary values of omega.  missing!  Kieron Burke 
hooke  basically Kieron's program to diagonalize the Hamiltonian for Hooke's atom. Only modified so that it can be called as subroutine  missing!  Kieron Burke, modified to a subroutine, Heiko Appel, 11.23.99 
hookedl  constructs the log of the density for many solutions to Hooke's atom.  missing!  Kieron Burke, 8.14.99 
hooken  over,gaml,tu,veeu,vextu,dcusp) basically Kieron's program to diagonalize the Hamiltonian for Hooke's  missing!  Heiko Appel, modified by Kieron, 8.15.99, to get energies also 
lambda  estimates an effectvive lambda for an almost scaled density by several different methods, and outputs the values to lamf.d  missing!  Kieron, 9.26.99 
lyp  calculation of unpolarized LYP correlation energy and potential.  missing!  ? 
matmult  multiplies an MxN by an NxP to give an MxP matrix  missing!  Bill Terilla 6.5.99 
mindless  is a mindless example subroutine, to show how Kieron's format works. the first two comment lines are used for a simple description.  tmindless.f, tmindless.txt  Kieron Burke, 9.22.99 
multi  finds many different properties of 1 and 2 electron densities in 3 dimensions, either exponential or gaussian, either analytic or from Hooke's atom or read in from Cyrus' exact densities  missing!  Kieron Burke 
odff  ODFF does an openended differentiation: Just like stddff, but not using the y=0 point. This is helpful for r integrations, to avoid r=infinity.  missing!  Kieron, 8.14.99 
rdff  differentiates a function of r from 0 to infinity on n points using y=1/(1+r/r0), using 6point formulas  missing!  updated by Kieron, 8.14.99 
rntgr2  simply integrates a function from 0 to infinity on n+1 uniformly spaced points of y=1/(1+r/r0), producing the integral at all points inbetween.  missing!  Kieron Burke, 1.29.99 
rntgrl  simply integrates a function from 0 to infinity on n+1 uniformly spaced points of y=1/(1+r/r0).  trntgrl.f, trntgrl.txt  Kieron Burke, 1.29.99 
rsg  finds the eigenvalues and eigenvectors (if desired) for the real symmetric generalized eigenproblem ax = (lambda)bx.  trsg.f, trsg.txt  Retrieved from NETLIB, 12.29.95 
scalegga  is a driver for the PBE subroutines, using simple inputs and allowing the density to be scaled by gam  missing!  Kieron Burke, 9.20.99 
sntgr2  simply integrates a function from 0 to 1 on n+1 uniformly spaced points, producing the integral at all points inbetween.  missing!  Adapted from Numerical Recipes, 4.1.14, Kieron Burke, 1.29.99 
sntgrl  simply integrates a function from 0 to 1 on n+1 uniformly spaced points; n must be at least 8.  tsntgrl.f, tsntgrl.txt  Adapted from Numerical Recipes, 4.1.14, Kieron Burke, 1.29.99 
stddff  simply differentiates a function from 0 to 1 on n+1 uniformly spaced points, using 6point formulas  tstddff.f, tstddff.txt  Kieron Burke, 11.22.99 
stdntgr2  simply integrates a function from 0 to 1 on n+1 uniformly spaced points, producing the integral at all points inbetween.  missing!  ? 
stdntgrl  simply integrates a function from 0 to 1 on n+1 uniformly spaced points.  missing!  ? 
trace  produces the trace of an NxN matrix  missing!  Bill Terilla 6.7.99 
trnspose  produces AT(NxM) from A(MXN)  missing!  Bill Terilla 6.4.99 
tstf  finds the Thomas Fermi kinetic energy from rho  missing!  Kieron Burke, 8.14.99 
tsvw  finds the Von Weisacker from rho and grad  missing!  Kieron Burke, 8.14.99 
vhart  finds the Hartree potential from the density, and calculates the Hartree energy  missing!  Kieron Burke, 8.14.99 
vir  calculates a virial of a potential  missing!  Kieron Burke, 8.14.99 
vks  finds the KS potential from the density, and calculates the exchange and correlation contributions  missing!  Kieron Burke, 8.14.99 
writemat  writes a NxN matrix on the screen  missing!  Heiko Appel, 5.18.99 
writevec  writes a vector with N entries on the screen  missing!  Heiko Appel, 5.18.99 
Last Modified:
January 14, 2000
Heiko Appel, email:
appel@physics.rutgers.edu