ExtrapolationScheme

class ExtrapolationScheme(include_first_order_term=None, include_second_order_term=None, include_third_order_term=None, minimum_number_of_atoms=None)

A container for parameters defining the extrapolation scheme to infinite supercell size to use.

The extrapolation is obtained by fitting the calculated formation energies against the inverse length 1/L of each supercell, where L is the cube root of the supercell volume. A polynomial of up to third order is fitted. The first, second and third order terms can each be included or not in the fit (if not, they are set to zero). In all cases the fitted zeroth order term gives the extrapolation to infinite supercell size.

Parameters:
  • include_first_order_term (bool) – Whether to include the 1/L term (monopole-monopole) in the extrapolation fit.
    Default: True

  • include_second_order_term (bool) – Whether to include the 1/L^2 term in the extrapolation fit.
    Default: False

  • include_third_order_term (bool) – Whether to include the 1/L^3 term (monopole-quadrupole) in the extrapolation fit.
    Default: True

  • minimum_number_of_atoms (int) – The minimum number of atoms for the supercell to be included in the fit. Any supercell with fewer atoms will be discarded.
    Default: 8

minimumNumberOfAtoms()
Returns:

The minimum number of atoms for the supercell to be included in the fit. Any supercell with fewer atoms will be discarded.

Return type:

int

termsToInclude()
Returns:

Whether to include the first, second and third order terms in the extrapolation fit.

Return type:

tuple (size 3) of bool