## Density functional repository |

- facilitate the comparison of various implementations against the data stored,
- after downloading and incorporating a functional from the repository ease the effort of validating the resulting program.

All Fortran source code provided here as well as the specifications of the
functionals were produced with a modified version of the `dfauto`

program [Strange:2001].

- Atomic calculations are relatively fast
- Atomic calculations contain no uncertainty stemming from the weighting schemes or other aspects involved in constructing molecular grids
- Atomic calculations contain no uncertainty stemming from orientation issues.

All atomic energies given were calculated with GAMESS-UK.

- it is readily available through the internet at the EMSL-PNL gaussian basis set library and the the European EMSL-PNL library mirror
- it covers a large part of the periodic table.

The angular grid is the 302 point Lebedev-Laikov grid [Lebedev:1999]. As the densities of the listed atoms are spherically symmetric much smaller Lebedev grids can be used as well. However the 302 point grid seems to be a rather popular one which is supported by most codes and was chosen for that reason.

The radial grid is the logarithmic grid [Mura:1996]

-alpha log(1-x**3), x=(2i+1)/(2N), i=0,N-1where the following parameters were chosen

System | alpha | N |

^{1}He | 1.93318968631624 | 250 |

^{1}Ne | 2.36971638967797 | 250 |

^{1}Ar | 4.42762799124042 | 250 |

^{1}Kr | 5.48776427083319 | 250 |

^{1}Xe | 6.73498342329528 | 250 |

^{3}He | 1.93318968631624 | 250 |

^{4}N | 4.05346224550179 | 250 |

^{4}P | 6.23609576231045 | 250 |

^{4}As | 7.17151012665701 | 250 |

^{4}Sb | 9.04233885535015 | 250 |

Essentially, alpha is set 3.3 times the Bragg-Slater radius of the element. However as the Bragg-Slater radii are not available for most of the noble gas atoms and slight deviations may occur through the transformation from Ångstrom to Bohr the values for alpha were reproduced in the above table.

With the above grids the maximum error in the numerical overlap matrix was 0.50e-10 and the maximum error in the integrated number of electrons upon convergence was 0.50e-10 electrons.- exchange functionals with all correlation switched off,
- correlation functionals with the LDA exchange functional switched on (coefficient is 1.0) and all other exchange functionals switched off,
- exchange-correlation functionals as they are.

Some exchange or correlation functionals are made up of more than one term. For example the P86 correlation functional was defined by adding a gradient correction to the PZ81 local density correlation functional. In such a case the results for each meaningful component are given. I.e. in our example the results for the PZ81 functional would be given along with those and the for the P86 functional. The results for the gradient correction term alone will not be given because this term is not a sensible correlation functional in its own right and its correct implementation can be tested by testing the PZ81 implementation and subsequently the P86 implementation.

as given in equations (7) and (8) of [Pople:1992]. The expression for the corresponding potential is given by

which correspondes to equation (9) of the same paper, and the matrix elements are

(see equation (16)), and something similar for the beta matrix elements.

From the above we learn that to calculate the exchange-correlation energy and the Kohn-Sham matrix elements with gradient corrected functionals we need to provide

- The level of derivatives required (
`ideriv`

valid values are 0,1, and 2) - The number of grid points (
`npt`

) - The alpha density (
`rhoa`

) - The beta density (
`rhob`

) - The dot product of the alpha density gradient with itself
(
`sigmaaa`

) - The dot product of the beta density gradient with itself (
`sigmabb`

) - The dot product of the alpha density gradient with
the beta density gradient (
`sigmaab`

)

- The value of the functional (
`zk`

) - The derivative of the functional with respect to the alpha density
(
`vrhoa`

) - The derivative of the functional with respect to the beta density
(
`vrhob`

) - The derivative of the functional with respect to gamma-alpha-alpha
(
`vsigmaaa`

) - The derivative of the functional with respect to gamma-beta-beta
(
`vsigmabb`

) - The derivative of the functional with respect to gamma-alpha-beta
(
`vsigmaab`

) - The 2nd derivative of the functional with respect to the alpha density
(
`v2rhoa2`

) - The 2nd derivative of the functional with respect to the beta density
(
`v2rhob2`

) - The 2nd derivative of the functional with respect to the alpha and beta density
(
`v2rhoab`

) - The 2nd derivative of the functional with respect to rho-alpha and gamma-alpha-alpha
(
`v2rhoasigmaaa`

) - The 2nd derivative of the functional with respect to rho-alpha and gamma-alpha-beta
(
`v2rhoasigmaab`

) - The 2nd derivative of the functional with respect to rho-alpha and gamma-beta-beta
(
`v2rhoasigmabb`

) - The 2nd derivative of the functional with respect to rho-beta and gamma-beta-beta
(
`v2rhobsigmabb`

) - The 2nd derivative of the functional with respect to rho-beta and gamma-alpha-beta
(
`v2rhobsigmaab`

) - The 2nd derivative of the functional with respect to rho-beta and gamma-alpha-alpha
(
`v2rhobsigmaaa`

) - The 2nd derivative of the functional with respect to gamma-alpha-alpha
(
`v2sigmaaa2`

) - The 2nd derivative of the functional with respect to gamma-alpha-alpha
and gamma-alpha-beta (
`v2sigmaaaab`

) - The 2nd derivative of the functional with respect to gamma-alpha-alpha
and gamma-beta-beta (
`v2sigmaaabb`

) - The 2nd derivative of the functional with respect to gamma-alpha-beta
(
`v2sigmaab2`

) - The 2nd derivative of the functional with respect to gamma-alpha-beta
and gamma-beta-beta (
`v2sigmaabbb`

) - The 2nd derivative of the functional with respect to gamma-beta-beta
(
`v2sigmabb2`

)

In the closed shell case however less quantities need to be computed. Also some of the quantities one would expect can be combined at the functional level. The closed shell case routines only return these compound quantities which are defined as

closed shell quantity | equivalent in terms of open shell quantities | |

`vsigmaaa` | := | `2*vsigmaaa+vsigmaab` |

`v2rhoa2` | := | `v2rhoa2+v2rhoab` |

`v2rhoasigmaaa` | := | `v2rhoasigmaaa+v2rhoasigmaab+v2rhoasigmabb` |

`v2sigmaaa2` | := | `2*v2sigmaaa2+4*v2sigmaaaab+2*v2sigmaaabb+v2sigmaab2` |

DFT repository | Quantum Chemistry Group |