Function Repository Resource:

VoronoiCell3D

Source Notebook

Compute the Voronoi cell for a 3D lattice

Contributed by: Radhika Prasad

ResourceFunction["VoronoiCell3D"][{v1,v2,v3}]

displays the Voronoi cell for a lattice defined by the basis vectors vi.

ResourceFunction["VoronoiCell3D"][{v1,v2,v3},prop]

displays additional information about the Voronoi cell, as specified by prop.

Details and Options

The center of the Voronoi cell is taken to be the origin.
The optional argument prop, which provides more information about the Voronoi cell generated, takes the following values:
"Vertices"provides the vertices of the Voronoi cell
"NearestNeighbourPoints"lists nearest neighbor lattice points (to the origin)
"FaceNeighbourPoints"lists the lattice points next to the faces of the Voronoi cell
"ReducedBasis"gives a reduced set of basis vectors
Allgives the Voronoi cell along with all the values mentioned above
The reduced basis is obtained using LatticeReduce and is not in general unique, nor must it contain the smallest possible generators.

Examples

Basic Examples (5) 

Plot the Voronoi cell for a body-centred cubic lattice:

In[1]:=
ResourceFunction[
 "VoronoiCell3D"][{{1, 1, -1}, {1, -1, 1}, {-1, 1, 1}}]
Out[1]=

Voronoi cell for a simple cubic lattice:

In[2]:=
ResourceFunction["VoronoiCell3D"][{{1, 0, 0}, {0, 1, 0}, {0, 0, 1}}]
Out[2]=

Voronoi cell for a body-centred tetragonal lattice:

In[3]:=
ResourceFunction["VoronoiCell3D"][{{1, 0, 0}, {0, 1, 0}, {1, 1, 2}/2}]
Out[3]=

Voronoi cell for a face-centred cubic lattice:

In[4]:=
ResourceFunction["VoronoiCell3D"][{{1, 1, 0}, {1, 0, 1}, {0, 1, 1}}]
Out[4]=

Voronoi cell for a simple hexagonal lattice:

In[5]:=
ResourceFunction[
 "VoronoiCell3D"][{{1, 0, 0}, {0, 0, 4}/2, {-1, Sqrt[3], 0}/2}]
Out[5]=

Scope (5) 

"Vertices" provides the vertices of the Voronoi cell treating the center as origin:

In[6]:=
ResourceFunction[
 "VoronoiCell3D"][{{1, 1, -1}, {1, -1, 1}, {-1, 1, 1}}, "Vertices"]
Out[6]=

Use "NearestNeighbourPoints" to obtain the nearest neighbor lattice points (to the origin):

In[7]:=
ResourceFunction[
 "VoronoiCell3D"][{{1, 1, -1}, {1, -1, 1}, {-1, 1, 1}}, "NearestNeighbourPoints"]

Use "FaceNeighbourPoints" to obtain the lattice points next to the faces of the Voronoi cell:

In[8]:=
ResourceFunction[
 "VoronoiCell3D"][{{1, 1, -1}, {1, -1, 1}, {-1, 1, 1}}, "FaceNeighbourPoints"]
Out[8]=

Use "ReducedBasis" to get a reduced set of basis vectors:

In[9]:=
ResourceFunction[
 "VoronoiCell3D"][{{1, 1, -1}, {1, -1, 1}, {-1, 1, 1}}, "ReducedBasis"]
Out[9]=

Use All to obtain the Voronoi cell along with all supported properties:

In[10]:=
ResourceFunction[
 "VoronoiCell3D"][{{1, 1, -1}, {1, -1, 1}, {-1, 1, 1}}, All]
Out[10]=

Publisher

WolframSpecialProjects

Version History

  • 1.0.0 – 04 November 2020

Source Metadata

Related Resources

License Information