next up previous
Next: Electronic Minimisation Parameters Up: The .param file Previous: Basis Set Parameters

Variable Cell Calculations

A variable cell calculation is performed if we are attempting to geometry optimise a material for which the lattice parameters and atomic positions are not even approximately known. In this situation, placing constraints on the size and shape of the supercell might affect the result. A ground state structure with a large lattice constant might not be found if a small supercell was used which confined the atoms to be too close together.

The solution is to perform a variable cell calculation which will allow the supercell size and shape to be optimised along with the atomic positions. A variable cell calculation is the default and will be performed as long as FIX_ALL_CELL : TRUE is not in the .cell file. A finite basis set correction [3] is used to reduce errors associated with changes in the total number of plane waves as the system changes size. As the supercell changes size the basis set associated with each k-point is altered. To adjust for this the cutoff energy could be varied to maintain the number of plane waves as a constant. However, it is generally considered [4] to be more acceptable to keep the cutoff energy constant and vary the number of plane waves. This 'graininess' in the basis set can be smoothed out with a finite basis set correction. This involves the calculation of the variation of the total energy with the logarithm of the cutoff energy, which is used as a smoothing parameter.

The principle keyword that activates a finite basis set correction whenever the cell parameters change is

finite_basis_corr : n

The default value of n is none, meaning no finite basis set correction is performed. The user can specify the value of the smoothing parameter by setting n = manual and then including

basis_de_dloge: v

where v is the value of the smoothing parameter.

There is also the handy option of allowing castep to automatically perform a finite basis set correction. Set

finite_basis_corr : auto

The correction is made by performing several total energy calculations for a given configuration of atoms but using different cutoff energies in each one. The variation in the total energy with the logarithm of the cutoff energy extrapolated from these singlepoint calculations enables the evaluation of the smoothing parameter. The user can specify.

finite_basis_npoints : n

The number of different cutoff energies at which to evaluate the total energy and work out basis_de_dloge. The default value is 3.

If an auto finite basis set correction has been performed in the first run of a job it need not be repeated at the start of the continuation run. The value of basis_de_dloge is given in the .castep file and this can be included in the .param file along with

finite_basis_corr : manual

Another neat trick is the use of finite basis set corrections to efficiently converge with respect to the basis set (see this section for more details about convergence with respect to the basis set). The keyword

finite_basis_spacing :

Allows specification of the spacing, in eV, between the finite_basis_npoints:. These are evenly spaced up to the specified cutoff energy with a default spacing of 5eV. If the user was to specify

finite_basis_npoints : 7

With

finite_basis_spacing : 50

and a cutoff energy of 350eV then singlepoint calculations would be performed at cutoff energies of 50, 100, 150, 200, 250, 300, 350. This would enable very efficient calculations of the convergence of the total energy with respect to the cutoff energy for a given k-point mesh.


next up previous
Next: Electronic Minimisation Parameters Up: The .param file Previous: Basis Set Parameters
2005-04-04