Skip to content


Embedded-Cluster Modelling With FHI-aims

A short tutorial by Oscar van Vuren at Cardiff University. Please direct any queries on content to

QM/MM embedded-cluster calculations are possible using FHI-aims by using the Chemshell software package. Tutorials that cover the range of ChemShell functionality are available on the ChemShell pages. This tutorial will cover the basics of a QM/MM embedded-cluster calculation using a QM/MM model of MgO.

The QM/MM Method

We will briefly describe the theory behind the QM/MM methodology to ensure a thorough understanding of the implementation. In this technique, a full quantum mechanical (QM) simulation is embedded within an environment that is simulated with classical mechanics (MM). The QM/MM method can therefore provide QM accuracy but with reduced computational expense relative to periodic calculations. The QM/MM methodology was first outlined in this paper, though a good, recent review with a focus on modelling materials for heterogeneous catalysis can be found here. Both additive and subtractive QM/MM formalisms are avaialble with ChemShell. The implementation of QM/MM in our simulations is using an additive scheme with electorstatic embedding, where the electrostatics of the QM region can also affect the MM environment. The energy term is constructed as \(E_{QM/MM}^{add} = E_{QM}^{1} + E_{MM}^{2} + E_{couple}^{12}\) (see Figure 1 of the review for a diagram).

This Tutorial

In this tutorial we will begin by setting up our environment from which we can run our software, before using the Atomic Simulation Environment and Chemshell to set up an embeeded-cluster that is subsequently partitioned into the QM and MM regions required for the multiscale QM/MM calculation. This content, and applied examples, is covered in much greater depth and detail by the dedicated Chemshell documentation, which are recommended reading for more detailed explanations.

With our partitioned cluster model, we will configure and run single-point and geometry optimisations. FHI-aims applied is applied as the
QM calculator, and the General Utility Lattice Program (GULP) used for the classical mechanics (MM) evaluation.

For each stage of the tutorials, all example scripts and reference results can be found in the example directories in the related tutorial directory.


In order to use this tutorial effectively, you must be familiar with the use of FHI-aims to perform QM calculations. You should have a compiled executable of the FHI-aims code available. You should also have downloaded and compiled Py-Chemshell, available from the Chemshell website (, linking with GULP in the compilation. Support instructions for compilation are given in Tutorial #1.