VORO++1,2 is an open source software library for the computation of the Voronoi tessellation, originally proposed by Georgy Voronoi in 1907. For a set of points in a domain, the tessellation is defined by associating a cell of space to each point that is closer to that point than any other. It has applications in many fields, and in physics and materials science it has been used extensively in the analysis of particle systems, for tracking changes in density, or for examining local neighbor relationships. While other mature software libraries exist (particularly QHULL, used by MATLAB), VORO++ has been designed specifically for handling large-scale three-dimensional research problems where flexibility is required. It is structured around several C++ classes and is designed to be easily modified and incorporated into other programs. It employs a direct method of calculation whereby each cell is computed individually—this perspective is useful in many physical applications which often rely on cell-based statistics, and it allows the computation of individual cells to be tailored to account for walls and other complex boundary conditions. Plane wall surfaces can be computed exactly (Fig. 1), while curved surfaces (Figs. 2 and 3) can be well-approximated. The code deals with truncation errors in floating point arithmetic, and can natively handle degenerate cases where Voronoi cells with high-order vertices may form. Neighbor calculations and tessellations for polydisperse particle packings (Fig. 4) are also supported. Since each cell is computed individually, it is straightforward to generalize to a multicore architecture and achieve very high parallel efficiency.
Skip Nav Destination
Article navigation
Miscellaneous|
October 27 2009
VORO++: A three-dimensional Voronoi cell library in C++
Chris H. Rycroft
Chris H. Rycroft
Lawrence Berkeley National Laboratory
and University of California
, Berkeley, California 94720, USA
Search for other works by this author on:
Chaos 19, 041111 (2009)
Article history
Received:
August 07 2009
Citation
Chris H. Rycroft; VORO++: A three-dimensional Voronoi cell library in C++. Chaos 1 December 2009; 19 (4): 041111. https://doi.org/10.1063/1.3215722
Download citation file:
Citing articles via
Sex, ducks, and rock “n” roll: Mathematical model of sexual response
K. B. Blyuss, Y. N. Kyrychko
Nonlinear comparative analysis of Greenland and Antarctica ice cores data
Berenice Rojo-Garibaldi, Alberto Isaac Aguilar-Hernández, et al.
Focus on the disruption of networks and system dynamics
Peng Ji, Jan Nagler, et al.