Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aekv_v1_0.tar.gz(21 Kbytes)
Manuscript Title: Identifying Duplicate Crystal Structures: XtalComp, an Open-Source Solution
Authors: David C. Lonie, Eva Zurek
Program title: XtalComp
Catalogue identifier: AEKV_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 183(2012)690
Programming language: C++.
Computer: No restrictions.
Operating system: All operating systems with a compliant C++ compiler.
Keywords: Duplicate, Structure, Crystal, Crystalline, Computational Crystallography, Matching, Similarity.
PACS: 61., 61.50.Ah, 61.50.-f.
Classification: 7.8.

Nature of problem:
Computationally identifying duplicate crystal structures taken from the output of modern solid state calculations is a non-trivial exercise for many reasons. The translation vectors in the description are not unique - they may be transformed into linear combinations of themselves and continue to describe the same extended structure. The coordinates and cell parameters contain numerical noise. The periodic boundary conditions at the unit cell faces, edges, and corners can cause very small displacements of atomic coordinates to result in very different representations. The positions of all atoms may be uniformly translated by an arbitrary vector without modifying the underlying structure. Additionally, certain applications may consider enantiomorphic structures to be identical.

Solution method:
The XtalComp algorithm overcomes these issues to detect duplicate structures regardless of differences in representation. It begins by performing a Niggli reduction on the inputs, standardizing the translation vectors and orientations. A transform search is performed to identify candidate sets of rotations, reflections, and translations that potentially map the description of one crystal onto the other, solving the problems of enantiomorphs and rotationally degenerate lattices. The atomic positions resulting from each candidate transform are then compared, using a cell-expansion technique to remove periodic boundary issues. Computational noise is treated by comparing non-integer quantities using a specified tolerance.

Running time:
The test run provided takes less than a second to complete.

[1] http://opensource.org/licenses/BSD-3-Clause