CASTEP

class CASTEP

This interface supports energy and gradient evaluations with the CASTEP electronic structure package (version 23.1.1 or later)

A CASTEP Theory object can be specified as follows:

my_frag = Fragment(...)

my_theory = CASTEP(frag=my_frag,
                 functional='lda',
                 ...)

which would then be called as theory=my_theory in subsequent tasks (see Tasks).

General options

basis_de_dloge

(default: 0.0) Derivative of total energy with respect to the natural log of the basis cutoff energy.

used only if finite_basis_corr : 1 (manual)

Allowed types of value:

  • A python str specifying the float value of the correction and [an optional] unit.

for example: basis_de_dloge='-1.2345 eV'

basis_precision

(default: 'FINE') Level of convergence of atomic energies with respect to the plane wave cutoff energy.

Allowed types of value:

  • A Python str. One of: 'COARSE', 'MEDIUM', 'FINE', 'PRECISE`, 'EXTREME'

cut_off_energy

(default: '125 eV') Cutoff energy for the plane wave basis sets.

Allowed types of value:

  • A Python str value of the energy with [an optional] unit, for example: cut_off_energy='500 ha'

elec_convergence_win

(default: '2') The size of the convergence window during a linear response to electric field calculation.

The linear response convergence criteria must be met for EFIELD_CONVERGENCE_WIN iterations before acceptance.

Allowed types of value:

  • A Python str or int value, for example: elec_convergence_win=5 or elec_convergence_win='5'

elec_energy_tol

(default: '10e-05 eV') Tolerance for accepting convergence of the total energy in an electronic minimization

Allowed types of value:

A Python str value specifying a float value with [an optional] unit, for example: elec_energy_tol='10e-06 eV'

electronic_minimizer

Method used to minimize electronic states.

(default: CG)

Available options are: 'SD', 'CG'

finite_basis_corr

(default: 2) Specifies whether or not to apply a finite basis set correction to energy and stress when cell parameters change.

Allowed values are:

0 - no correction,

1 - manual correction using basis_de_dloge

2 - automatic correction using `finite_basis_npoints` and `finite_basis_spacing`

finite_basis_npoints

(default: 3) Number of points used to estimate the BASIS_DE_DLOGE in automatic calculation of the finite basis set correction.

Only used if finite_basis_corr : 2. Integer values are allowed.

finite_basis_spacing

(default: 5.0 eV) : Spacing of cutoff energies used to estimate the BASIS_DE_DLOGE in automatic calculation of the finite basis set correction.

only used if finite_basis_corr : 2.

Allowed types of values:

A Python str value specifying a float value with [an optional] unit, for example: '10.0 eV'

fix_occupancy

(default: True) Specifies whether or not the occupancies of the bands remain fixed.

grid_scale

(default: 2) Size of the standard grid, relative to the diameter of the cutoff sphere.

Allowed types of values:

A Python float or str specifying the float value. for example: `'2.0'`

maxiter

(default: 60) Equivalent to max_scf_cycles. Maximum number of SCF cycles performed in an electronic minimization.

Any integer value is allowed. For example: `maxiter=20` or `maxiter='20'`

metals_method

(default: EDFT) Determines the electronic minimization method used in the self-consistent calculation.

Allowed values are DM, EDFT, NONE

mixing_scheme

(default: Broyden) The mixing scheme used in the density mixing procedure

Allowed values are

Kerker, Linear, Broyden, Pulay

nbands

Maximum number of bands at any k-point and spin.

Allowed types of value: Integer

num_dump_cycles

(default 0 - no data will be written )

Number of SCF cycles between updates to the wavefunction and density data file

Allowed types of value: Integer.

opt_strategy

(default default - Best balance between performance and memory usage)

Optimization strategy used.

Allowed values are Speed, Default, Memory.

input

(default: ('_castep.cell', '_castep.param') List containing names of CASTEP input files

output

(default: '_castep.out') Name of CASTEP output file

pseudopotential

(default: Default pseudopotential generated on the fly by CASTEP)

Input for the CASTEP input species_pot, the data block containing the names of the pseudopotential files associated with each species

Allowed Types of value:

A Python str which specifies either:

  • One of the allowed keywords `QC5, HARD, MS, C7, C8, C9, NCP9, C17, NCP17, C18, NCP18, C19, NCP19, SOC19, NCP` . The keyword chooses definition of the pseudopotential which is to be generated at runtime.

or:

  • A comma separated list of the pseudopotential files to be used for each element. Filenames should be in the format element_filename

For example: `pseudopotential= 'H_pseudo.usp, O_pseudo.usp' ` . If any element is not specified, it is assigned the default value.

rand_seed

(default: 0) Controls the initialization of random number seeds.

Allowed type of value: integer

  • If 0 is used, the seed for random number generation is selected pseudorandomly.

  • Any other integer value is used as seed for the random number generator.

smearing_width

(default: '300 K') width of the Fermi-surface smearing if the system is being treated as a metal

Allowed type of value:

A Python str which specifies a float value with [an optional] unit: for example, smearing_width='275.4 K'

write_checkpoint

(default: None) Write periodic backup

A Python str :

None, MINIMAL, BOTH, ALL, FULL

write_formatted_density

(default: False) Whether the final electron density is written to an ASCII file called seedname.den_fmt