CRYSTAL Materials Modelling Code

The CRYSTAL materials modelling code [1,2,3] is a program developed by the Computational Science and Engineering Department at STFC, and the theoretical chemistry group at Turin University (Italy). Its function is to compute, ab initio, the electronic structure of a material and from this many material properties. The one electron wavefunctions in CRYSTAL are stored as a linear combination of localised Gaussian functions, which enables CRYSTAL to evaluate the electronic structure for aperiodic systems, and systems that are periodic in one, two or three dimensions efficiently. The most popular alternative, using a plane wave basis set, requires a vacuum gap between periodic images which is computationally wasteful for systems that are not periodic in three dimensions.

A significant advantage of using a local basis set, is that it enables relatively inexpensive use of the Hartree-Fock (HF) method and hybrid density functional theory (DFT) which incorporates a fraction of the ``exact'' HF exchange. These hybrid density functionals are becoming increasingly widely used, as their ability to more accurately model material properties that are poorly represented by either HF or local and semi-local DFT functionals is repeatedly reported [4,5,6]. The other significant advantage of using a local basis set, is that all electron calculations can be performed routinely. Pseudopotentials to represent core electrons are not required as is almost always the case when using a plane wave basis set.

The CRYSTAL code is widely used internationally by quantum chemists, solid state physicists and materials scientists, and has been for many years. It is particularly important for UK materials chemists. The functionality and performance of CRYSTAL continues to be improved. As the size and complexity of the systems of interest increase, it is necessary to continue to develop CRYSTAL to make best use of high performance computing (HPC) resources, such as HECToR.

Currently CRYSTAL can be run in parallel using either a replicated data strategy using the program called PCRYSTAL, or alternatively using a distributed data strategy for large ($ \OO {N^2}$ or greater) objects, using the program called MPP CRYSTAL, developed by Dr. I. J. Bush [2]. The systems for which the divide and conquer algorithm is most appropriate are large, therefore the memory requirement means that a replicated data strategy cannot be used. As such, the work described in this report is an extension to MPP CRYSTAL.

Daniel R. Jones 2011-12-06