An extension to VORO++ for multithreaded computation of Voronoi cells
arXiv:2209.11606 · doi:10.1016/j.cpc.2023.108832
Abstract
VORO++ is a software library written in C++ for computing the Voronoi tessellation, a technique in computational geometry that is widely used for analyzing systems of particles. VORO++ was released in 2009 and is based on computing the Voronoi cell for each particle individually. Here, we take advantage of modern computer hardware, and extend the original serial version to allow for multithreaded computation of Voronoi cells via the OpenMP application programming interface. We test the performance of the code, and demonstrate that we can achieve parallel efficiencies greater than 95% in many cases. The multithreaded extension follows standard OpenMP programming paradigms, allowing it to be incorporated into other programs. We provide an example of this using the VoroTop software library, performing a multithreaded Voronoi cell topology analysis of up to 102.4 million particles.
Fix typo and section numbers
References in corpus (4)
Cited by in corpus (4)
- Microstructure-based prediction of hydrodynamic forces in stationary particle assemblies
- A computational model of twisted elastic ribbons
- Efficient Structure-Informed Featurization and Property Prediction of Ordered, Dilute, and Random Atomic Structures
- Characterizing structural features of two-dimensional particle systems through Voronoi topology