  Molecular adsorption is the first important step of many surface-mediated
chemical processes, from catalysis to tribology. This phenomenon is controlled
by physical/chemical interactions, which can be accurately described by first
principles calculations. In recent years, several computational tools have been
developed to study molecular adsorption based on high throughput/automatized
approaches. However, these tools can sometimes be over-sophisticated for
non-expert users. In this work, we present Xsorb, a Python-based code that
automatically generates adsorption configurations, guides the user in the
identification the most relevant ones, which are then fully optimized. The code
relies on well-established Python libraries, and on an open source package for
density functional theory calculations. We show the program capabilities
through an example consisting of a hydrocarbon molecule, 1-hexene, adsorbed
over the (110) surface of iron. The presented computational tool will help
users, even non-expert, to easily identify the most stable adsorption
configuration of complex molecules on substrates and obtain accurate adsorption
geometries and energies.
