Algorithm for Generating Derivative Structures

We present an algorithm for generating all derivative superstructures--for arbitrary parent structures and for any number of atom types. This algorithm enumerates superlattices and atomic configurations in a geometry-independent way. The key concept is to use the quotient group associated with each superlattice to determine all unique atomic configurations. The run time of the algorithm scales linearly with the number of unique structures found. We show several applications demonstrating how the algorithm can be used in materials design problems. We predict an altogether new crystal structure in Cd-Pt and Pd-Pt, and several new ground states in Pd-rich and Pt-rich binary systems.