A Python package for constructing surface and interface models

Ogre is an open-source code for generating surface slab models from bulk molecular crystal structures. Ogre is written in Python and interfaces with the FHI-aims code to calculate surface energies at the level of density functional theory (DFT). The input of Ogre is a molecular crystal structure. The surface is cleaved from the bulk structure with the molecules on the surface kept intact. A slab model is constructed according to the user specifications for the number of molecular layers and the length of the vacuum region. Ogre automatically identifies all symmetrically unique surfaces for the user-specified Miller indices and detects all possible surface terminations. Ogre includes utilities to analyze the surface energy convergence and Wulff shape of the molecular crystal.


New Features:
  • Lattice matching for inorganic epitaxial interfaces
  • Miller index scan to find the best domain-matched interface
  • Geometric score function for fast surface matching
  • Bayesian optimization to find the optimal in-plane registry and interfacial distance
  • Ranking score function
  • Automated surface and interface model construction
  • Automated surface passivation
  • Automated interface energy evaluation 


  • S. Yang, I. Bier, W. Wen, J. Zhan, S. Moayedpour, and N. Marom “Ogre: A Python Package for Molecular Crystal Surface Generation with Applications to Surface Energy and Crystal Habit Prediction”, J. Chem. Phys. 152, 244122 (2020)