Logo

Libvori

I have implemented our recently developed methods of Voronoi integration as well as the compressed bqb file format into a small C++ library, which is called “libvori(“Library for Voronoi Integration”). In principle, libvori enables other programs to include these approaches. The present version of libvori is a very early development version, which is hard-coded to work with the CP2k program package, in which I have recently implemented these two methods. There is no well-defined interface or documentation yet. If you want to use libvori in your code, please have some more patience (and maybe contact me via email).

Below, you can find a download of the libvori source code, which is required to compile recent CP2k versions (starting from CP2k 8.1) with Voronoi integration and bqb file support. Libvori contains 50 000 lines of C++ source code, is distributed under the GNU LGPL license, and CMake is used as the build system. As mentioned above, there is no documentation yet. The only purpose of this download is to be used for compiling CP2k.

Note: If you compile CP2k 8.1 or newer via the Toolchain script, these features will automatically be included by default, and the library will automatically be downloaded and compiled in the process. If you prefer not to use the Toolchain, you need to download and compile the library below.

Revision History:

DateNotes
Jun 21 2022
  • Added position jitter to mitigate issues with highly symmetric structures.
  • More diagnostic output which can indicate possible issues.
Apr 13 2021
  • Added VdW radii for heavier elements.
  • Now prints the applied radii in the first Voronoi tessellation.
  • Mitigated a compiler bug when AVX vectorization is utilized.
  • Now prints the volume of the Voronoi cells as additional column in the output.
Dec 29 2020 Initial release of libvori for CP2k.
Early development version – no documentation and no support yet!

Please download:

FileType / SizeLast Changed
libvori source code .tar.gz, 254 kiB Jun 21 2022


How to compile?

Libvori does not depend on other libraries or programs, apart from CMake and a working C++ compiler.
Just use the following steps:

tar -xvf libvori-220621.tar.gz cd libvori-220621 mkdir build cd build cmake .. make ./test01

The last command is optional; it runs a short self test of the library (takes less than one minute).
You will obtain the file “libvori.a”, which you need to supply to the linker when linking CP2k.
In addition, you need to add “-D__LIBVORI” to DFLAGS when compiling CP2k to switch on the features.