CASTEP History
In 1999 a group of UK academics came together to develop a new plane-wave density functional code. This group was to become the CASTEP Development Group (CDG). The aims of the project were to produce a clean, stable, portable code which would be easy to maintain and develop. In particular the code was to be designed and specified in advance, with a consistent design philosophy throughout. The code was to be designed from the start as a parallel code, and to use Vanderbilt ultrasoft pseudopotentials to represent the ionic potentials efficiently.
Work began on producing a full software specification document, and the first version was finished in February 2000. The specification covered every module, public variable and subroutine that was to appear in the code, as well as specifying the input file formats and keywords, and the parallel strategy. This first version ran to over 300 pages. This document was followed by an Implementation Guide to encourage good, consistent coding style, and the setting up of a source code repository.
Each module in the new code was given to a specific member of the CDG, and the task of writing the code started in 2000. At approximately the same time, discussions were held with Accelrys (then called MSI), the publishers of CASTEP, and it was agreed that the new code would become the new version of CASTEP. The new code would be integrated into Accelrys' new graphical frontend, Materials Studio, and would include equivalent - or better - functionality and performance to the existing CASTEP 4.2.
Over the next two years the CDG wrote the new CASTEP from scratch, as well as test programs for each module so that they could be rigorously checked along the way. By January 2001 the ultrasoft self-consistent electronic minimisation code was completed, and the code development forked. Whilst work continued on the higher-level routines for geometry optimisation, molecular dynamics etc. there was also a substantial amount of work done profiling and optimising the code.
In July 2001 the geometry optimiser was completed and the first successful geometry optimisation of alpha quartz was performed. The significance of this simulation was that it required the ionic and cell degrees of freedom to be optimised simultaneously, something that had never worked properly in CASTEP 4.2.
The density mixing electronic minimisation routine was finished in December 2001, and the full suite of density mixing routines (linear, kerker, pulay and broyden) was finished in January 2002. By this stage the all-bands electronic minimiser was 15-35% faster than CASTEP 4.2 on all tested platforms for benchmark systems.
In April 2002 the first version of new CASTEP debuted in Materials Studio 2.1.5. The code was capable of parallel, ultrasoft calculations for electronic relaxation, using either a self-consistent minimiser or a non-self-consistent density mixing minimiser. Geometry optimisations and molecular dynamics simulations could also be performed, as could calculations of band structures.
By this time the development team had grown to eight members, and the code exceeded 170,000 lines. It had taken approximately 2 and a half years to develop. Since then many new features have been added such as linear response, Ensemble DFT, transition state searches and a new NMR module. CASTEP continues to be developed actively, and is used by researchers around the world.
If you have any comments about these pages, you can email Matt Probert as mijp1 at york.ac.uk