# Voronoi tessellation¶

Voronoi tessellation provides a completely parameter free geometric approach for calculation of neighbors. Voro++ code is used for Voronoi tessellation. Neighbors can be calculated using this method by,

import pyscal.core as pc
sys = pc.System()

Finding neighbors using Voronoi tessellation also calculates a weight for each neighbor. The weight of a neighbor $$j$$ towards a host atom $$i$$ is given by,
$W_{ij} = \frac{A_{ij}}{\sum_{j=1}^N A_{ij}}$
where $$A_{ij}$$ is the area of Voronoi facet between atom $$i$$ and $$j$$, $$N$$ are all the neighbors identified through Voronoi tessellation. This weight can be used later for calculation of weighted Steinhardt’s parameters. Optionally, it is possible to choose the exponent for this weight. Option voroexp is used to set this option. For example if voroexp=2, the weight would be calculated as,
$W_{ij} = \frac{A_{ij}^2}{\sum_{j=1}^N A_{ij}^2}$