# 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()
sys.read_inputfile('conf.dump')
sys.find_neighbors(method='voronoi')
```

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}\]