CASTEP

CASTEP is a commercial (and academic) software package which uses density functional theory with a plane wave basis set to calculate electronic properties of solids from first principles.

The CASTEP programme is a first principles quantum mechanical (ab initio) code for performing electronic structure calculations. Within the density functional formalism it can be used to simulate a wide range of materials including crystalline solids, surfaces, molecules, liquids and amorphous materials; the properties of any material that can be thought of as an assembly of nuclei and electrons can be calculated with the only limitation being the finite speed and memory of the computers being used.

CASTEP has been completely written for use on parallel computers by researchers at the Universities of York, Durham, St. Andrews, Cambridge and Rutherford Labs and a new modular Fortran 90 code written.

CASTEP is a fully featured first principles code and as such its capabilities are numerous. Aiming to calculate any physical property of the system from first principles, the basic quantity is the total energy from which many other quantities are derived. For example the derivative of total energy with respect to atomic positions results in the forces and the derivative with respect to cell parameters gives stresses. These are then used to perform full geometry optimisations and possibly finite temperature molecular dynamics. Furthermore, symmetry and constraints (both internal and external to the cell) can be imposed in the calculations, either as defined by the user, or automatically using in-built symmetry detection.

Theory and Approximations
Starting from the many body wavefunction of the time, nuclear and electronic coordinates an adiabatic approximation is made (the Born-Oppenheimer approximation). The code also makes use of Bloch's Theorem which means a wavefunction of a periodic system has a cell-periodic factor and a phase factor. The phase factor is represented by a plane wave. From the usage of Bloch's Theorem, it would be ideal to write the wavefunction in plane waves for the cell-periodic factor and the phase factor. From this the basis functions are orthogonal and it would be easy to Fourier transform from real to reciprocal space and vice versa. Fast Fourier Transforms are used throughout the CASTEP code and so is the Ewald Summation method for Coulombic energies etc. Along with plane waves and some form of minimisation(conjugate gradient), pseudopotentials are essential to the CASTEP code for reducing the calculation cost. Pseudopotentials replace the atomic nucleus and the core electrons by an effective potential.