What SCF solver methods are available in CASTEP?

The goal of the SCF solver is to find the ground-state wavefunctions (and density) which are the lowest-energy solutions to the Kohn-Sham equations (the fundamental equations of conventional density functional theory).

CASTEP has two main methods to solve the Kohn-Sham equations: density mixing (DM); and ensemble density functional theory (EDFT).

Density mixing is a fast, but potentially unstable method. Rather than attempting to compute the ground-state wavefunctions and density simultaneously, in the DM method the Kohn-Sham wavefunctions are first computed for a given input density, and then a separate "density mixing" algorithm is used to calculate an estimate of the ground-state density. This estimate is then used as the input density for a new iteration of the method. The algorithm continues until the estimated ground-state density is the same as the input density, which occurs when the ground state has been reached.

DM is CASTEP's default method unless a fixed-occupancy calculation is specified. You can force a calculation to use DM using

elec_method : dm

in the param file.

Ensemble density functional theory is a stable, but slow method of solving the Kohn-Sham equations. In EDFT the density is always computed directly from the estimated ground-state wavefunctions, and these wavefunctions are only ever updated in a way which brings them closer to the ground state.

You can select EDFT as the SCF method to use by setting

elec_method : edft

in the param file.

My SCF failed to converge. What can I do?

Check your input makes physical/chemical sense

It is not unusual to find that underlying an SCF convergence failure is some mistake in specifying the system. Common causes include

Density Mixing

The density mixing algorithm used by Castep has several parameters that you can experiment with to improve its convergence. The main ones are:

Ensemble DFT

EDFT is a very robust SCF solver, but much more expensive than density-mixing. But if DM still fails to converge after tweaking the parameters, then EDFT usually will. Select using ELEC_METHOD=EDFT

Retrieved from
Page last modified on February 09, 2015, at 03:42 PM