Programs in Physics & Physical Chemistry
|[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.|
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.
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.
The test run provided takes less than a second to complete.
|Disclaimer | ScienceDirect | CPC Journal | CPC | QUB|