Xsorb: A software for identifying the most stable adsorption configuration and energy of a molecule on a crystal surface
Molecular adsorption is the first important step of many surface-mediated chemical processes, from catalysis to lubrication. This phenomenon is controlled by physical/chemical interactions, which can be accurately described by first-principles calculations. Several computational tools have been developed to study molecular adsorption based on high throughput/automatized approaches in recent years. However, these tools can sometimes be over-sophisticated for non-expert users. Here we present Xsorb, a Python-based program for identifying the accurate adsorption energy and geometry of complex molecules on crystalline (reconstructed) surfaces. The program automatically samples the potential energy surface (PES) that describes the molecule-surface interaction by generating several adsorption configurations through symmetry operations. The set of the most representative ones is automatically identified through a fast pre-optimization scheme. Finally, the PES global minimum is identified through a full structural optimization process. We show the program capabilities through an example consisting of a hydrocarbon molecule, 1-hexene, adsorbed over the (110) surface of iron and the reconstructed (001) surface of diamond. This program, despite its conceptual simplicity, is very effective in reducing the computational workload usually associated with the creation and optimization of several adsorption configurations.