Tess, a 3D cell-based Voronoi library based on voro++


Original work by Chris H. Rycroft (UC Berkeley / Lawrence Berkeley Laboratory). This repository includes Python bindings, using Cython.

Voro++ is a software library for carrying out three-dimensional computations of the Voronoi tessellation. A distinguishing feature of the Voro++ library is that it carries out cell-based calculations, computing the Voronoi cell for each particle individually, rather than computing the Voronoi tessellation as a global network of vertices and edges. It is particularly well-suited for applications that rely on cell-based statistics, where features of Voronoi cells (eg. volume, centroid, number of faces) can be used to analyze a system of particles.

Voro++ comprises of several C++ classes that can be built as a static library and linked to. A command-line utility is also provided that can analyze text files of particle configurations and use most of the features of the code. Numerous examples are provided to demonstrate the library’s features and all of these are discussed in detail on the library website.


This repository is a python wrapper around the voro++ library. It is currently not as powerful as the full C++ library, but contains a number of functions.


To make, run python setup.py build_ext in either the main directory or the src directory.

To install, run python setup.py install --user to install to your home directory (recommended), or sudo python setup.py install to install to the main setup directory.


After installation, use import tess to import the module.

Examples of use are available here, with the notebook being rendered from examples/Examples.ipynb.

Voro++ Acknowledgments

This work (voro++) was supported by the Director, Office of Science, Computational and Technology Research, U.S. Department of Energy under Contract No. DE-AC02-05CH11231.