A Repository for Density Functionals
Huub J. J. van Dam,
BackgroundSince Hohenberg and Kohn laid down the foundations for a rigorous electronic theory requiring only the electron density, density functional theory (DFT) has enjoyed a steady increase in popularity. Especially during the nineties popularity has increased to such an extend that DFT has become a main stream method for studying chemical electronic structure problems. Although the method has become very popular it is well know that its accuracy depends crucially on the density functional used. In practice however the exact functional is unknown and one has to choose an approximation that balances computational cost and accuracy. Therefore, it comes as no surprise that with the rise of the theory there has been a steady stream of new functionals being developed. One problem with the amount of functionals available is disseminating them. Ideally new functionals should appear quickly in various programs to allow scientists to reap the benefits they offer and to uncover any weaknesses. In practice building new functionals into a code can be quite tedious. Often the interface between the host program and the functional is problematic because the functional expects quantities that the program does not provide, or the functional calculates quantities that the program does not expect. An example of the latter is that some functional routines apart from the energy expression compute the potential where others compute partial derivatives. As a consequence reimplementation of the functional is occasionally required. Providing reference source code and dataIn the light of the problem sketched above it seems useful to have a freely available collection of routines that implement the various functionals. Preferably these subroutines should be authorized by the original authors as correctly representing the functional they proposed. In any case the it should be stated whether such authorization has been obtained or not. In addition to this there should be a set of reference data. The reference data should enable to determine whether porting a functional routine to a host program was successful. In the case one choses to reimplement a functional for example because of efficiency reasons or interfacing issues, the reference data should allow to establish the correctness of the implementation. With the above goals in mind a density functional repository has been designed. Admittedly the current repository severely lacks implementations of the more recent functionals, a shortcoming we aim to address in the near future. However the current version does provide reference data for older functionals and it provides a basis for adding new functionals. With respect to the reference data provided we chose to provide 2 different sets. The first set consists of total energies for 10 spherically symmetric atoms. These systems were chosen to cover a wide range of density and density gradient values. In addition the spherical symmetry allows for numerical integration with high accuracy. Thus minimizing uncertainties with respect to technicalities of the host program implementation. The main drawback of these reference calculations is that the results depend on the gaussian basis set used. This renders the data useless for many programs in the physics arena which employ plane waves as basis functions. Therefore a second set of data is provided which lists the results of a functional for a given set of data points. The values for the input data have been obtained from the atomic calculations, but were truncated to 2 significant digits to facilitate copying it. More details about the design considerations are stored with the repository. Although the current collection of functionals is still very limited it is hoped that the community sees the value of this repository for disseminating new functionals. We will make efforts to make the repository as useful as possible as a source of functionals. |