libbeef Library

Johannes Voss has ported BEEF [1] (Bayesian Error Estimation Functional) to both Quantum Espresso and VASP. In both cases a small library called libbeef must be built.


Source Code

Precompiled Linux 64-bit binary




The latest development version can be obtained with this command:

git clone

Installation instructions for the different versions are contained in the README file in the above downloadable files.

Espresso with BEEF

Installation instructions (including an ASE python interface) can be found here:


Newer versions of VASP (V. 5.4.x and up) only need changes to the makefile to enable the BEEF functionals: add -Dlibbeef to the CPP flags and -Lproperpath -lbeef to the library linker flags.

For older versions of VASP, a patch file must now be applied to the appropriate unmodified version of the VASP source code. The patch files can be downloaded from here:

VASP Version

Patch File



Apply the patch within the VASP directory containing the fortran files by executing a command like:

patch -p1 < vasp.5.3.beef.diff

Then add the following to your Makefile line where the LIB variable is defined:

-Lpathtobeeflibrary/lib -lbeef

Then build VASP as usual. The following lines should be appended to your .INCAR file to run a BEEF calculation (the last line is optional and triggers the calculation of ensemble energies for error estimation):

Zab_VDW = -1.8867

Instructions for doing the error estimations in VASP can be found in the libbeef README file.

[1] Jess Wellendorff, Keld T. Lundgaard, Andreas Møgelhøj, Vivien Petzold, David D. Landis, Jens K. Nørskov, Thomas Bligaard, and Karsten W. Jacobsen, "Density functionals for surface science: Exchange-correlation model development with Bayesian error estimation", Phys. Rev. B 85, 235149 (2012).

  • No labels