set_sigma#
- autoplex.fitting.common.regularization.set_sigma(atoms, reg_minmax, isolated_atoms_energies=None, scheme='linear-hull', energy_name='REF_energy', force_name='REF_forces', virial_name='REF_virial', element_order=None, max_energy=20.0, config_type_override=None)[source]#
Handle automatic regularisation based on distance to convex hull, amongst other things.
TODO: Need to make sure this works for full multi-stoichiometry systems.
- Parameters:
atoms ((list of ase.Atoms)) – list of atoms objects to set reg. for. Usually fitting database
reg_minmax ((list of tuples)) – list of tuples of (min, max) values for energy, force, virial sigmas
scheme ((str)) – method to use for regularization. Options are: linear_hull, volume-stoichiometry linear_hull: for single-composition system, use 2D convex hull (E, V) volume-stoichiometry: for multi-composition system, use 3D convex hull of (E, V, mole-fraction)
energy_name ((str)) – name of energy key in atoms.info
force_name ((str)) – name of force key in atoms.arrays
virial_name ((str)) – name of virial key in atoms.info
isolated_atoms_energies ((dict)) – dictionary of isolated energies for each atomic number. Only needed for volume-x scheme e.g. {14: ‘-163.0’, 8:’-75.0’} for SiO2
element_order ((list)) – list of atomic numbers in order of choice (e.g. [42, 16] for MoS2)
max_energy ((float)) – ignore any structures with energy above hull greater than this value (eV)
config_type_override ((dict)) – give custom regularization for specific config types
[(0.1 (e.g. reg_minmax =) –
1) –
(0.001 –
0.1) –
(0.0316 –
0.316) –
(0.0632 –
0.632)] –
[(emin –
emax) –
(semin –
semax) –
(sfmin –
sfmax) –
(ssvmin –
svmax)] –
- Return type:
list[Atoms]