boltzhist_cur_dual_iter

boltzhist_cur_dual_iter#

autoplex.data.common.utils.boltzhist_cur_dual_iter(atoms, descriptor, isolated_atom_energies, bolt_frac=0.1, bolt_max_num=3000, cur_num=100, kernel_exp=4, kt=0.3, energy_label='energy', pressures=None, random_seed=None)[source]#

Execute sampling with two iterations.

Each iteration includes a Boltzmann flat histogram in enthalpy followed by a CUR process.

Parameters:
  • atoms (list[ase.Atoms] or list[list[ase.Atoms]]) – The atoms from which to select. If this is a list of lists, it is flattened.

  • descriptor (str) – The quippy SOAP descriptor string for CUR.

  • isolated_atom_energies (dict) – Dictionary of isolated energy values for species. Required for ‘boltzhist_cur’ selection method. Default is None.

  • bolt_frac (float) – The fraction to control the flat Boltzmann selection number.

  • bolt_max_num (int) – The maximum number of atoms to select by Boltzmann-weighted flat histogram.

  • cur_num (int) – The number of atoms to select by CUR.

  • kernel_exp (float) – The exponent for the dot-product SOAP kernel.

  • kt (float) – The product of the Boltzmann constant and the temperature, in eV.

  • energy_label (str) – The label for the energy property in the atoms.

  • pressures (list[float] or list[list[float]]) – The pressures at which the atoms have been optimized, in GPa.

  • random_seed (int) – The seed for the random number generator.

Returns:

The selected atoms. These are copies of the atoms in the input list.

Return type:

list of ase.Atoms

Notes

This function selects the most diverse atoms based on the chosen algorithm. The algorithm uses a combination of CUR selection and Boltzmann weighting to select the atoms.