XtalOpt Version 14: Variable-Composition Crystal Structure Search for Functional Materials Through Pareto Optimization
Samad Hajinazar, Eva Zurek
TL;DR
XtalOpt version 14 introduces Pareto-based multi-objective optimization and native variable-composition search to advance crystal structure prediction across compositional spaces. The workflow integrates a VC-MO framework, diverse genetic operations including multi-cut crossover and VC-specific mutations, and reference-energy-guided hull calculations to robustly identify metastable phases. Key contributions include NSGA-II-based Pareto parent selection, RDF-based similarity checks, and seamless integration of universal interatomic potentials for fast local relaxations via UIP interfaces. The updated GUI, seed-structure handling, and molecular-unit construction support high-throughput exploration of functional materials, enabling efficient discovery of targeted crystal structures with controlled size and composition. These enhancements collectively enable efficient exploration of complex composition spaces, improve the reliability of hull-based energetics, and provide practical tooling for accelerating materials discovery with advanced relaxation engines.
Abstract
Version 14 of XtalOpt, an evolutionary multi-objective global optimization algorithm for crystal structure prediction, is now available for download from its official website https://xtalopt.github.io, and the Computer Physics Communications Library. The new version of the code is designed to perform a ground state search for crystal structures with variable compositions by integrating a suite of ab initio methods alongside classical and machine-learning potentials for structural relaxation. The multi-objective search framework has been enhanced through the introduction of Pareto optimization, enabling efficient discovery of functional materials. Herein, we describe the newly implemented methodologies, provide detailed instructions for their use, and present an overview of additional improvements included in the latest version of the code.
