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.


  • Generates slab models of molecular crystal surfaces without breaking intra-molecular covalent bonds.
  • Surfaces cleaved along user-defined Miller indices with user-defined number of layers and
    vacuum space.
  • Automatic identification of all symmetry non-equivalent surfaces and all possible surface
    terminations for given Miller indices.
  • OgreSWAMP utilities streamline the calculation of surface energies and Wulff shapes.


  • 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)