convexhull_cur#
- autoplex.data.common.utils.convexhull_cur(atoms, descriptor, bolt_frac=0.1, bolt_max_num=3000, cur_num=100, kernel_exp=4, kt=0.5, energy_label='REF_energy', isolated_atom_energies=None, element_order=None, scheme='linear-hull')[source]#
- Sample atoms from a list according to Boltzmann energy weighting relative to convex hull and CUR diversity. - Parameters:
- atoms (list of ase.Atoms) – The atoms for which to perform CUR selection. 
- bolt_frac (float) – The fraction to control the proportion of atoms kept during the Boltzmann selection step. 
- bolt_max_num (int) – The maximum number of atoms to select by Boltzmann flat histogram. 
- cur_num (int) – The number of atoms to select by CUR. 
- kernel_exp (float) – The kernel exponent to use in the calculation. 
- 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. 
- descriptor (str, optional) – The quip descriptor string to use for the calculation. 
- isolated_atom_energies (dict, optional) – The isolated atom energies for each element in the system. 
- element_order (list of str, optional) – The order of elements for the isolated atom energies. 
- scheme (str, optional) – The scheme to use for the convex hull calculation. Default is ‘linear-hull’ (2D E,V hull). For 2-component systems with varying stoichiometry, use ‘volume-stoichiometry’ (>=3D E,V,mole-fraction hull). TODO: need to generalise this to ND hulls for mcp systems. GST good test case. 
 
- Returns:
- The selected atoms. 
- Return type:
- list of ase.Atoms 
 - Notes - This function calculates the descriptor vector for each atom, then performs CUR selection on the resulting vectors. The selection is based on the convex hull of the vectors. 
