casm.learn.checkhull

casm.learn.checkhull(input, hall, indices=None, verbose=True)[source]

Check for hull properties and add pandas.DataFrame attributes to each individual:

“dft_gs” : DFT calculated ground states “clex_gs” : predicted ground states “gs_missing” : DFT ground states that are not predicted ground states “gs_spurious” : Predicted ground states that are not DFT ground states “uncalculated” : Predicted ground states and near ground states that have not been calculated “below_hull” : All configurations predicted below the prediction of the DFT hull “ranged_rms”: root-mean-square error calculated for the subset of configurations

whose DFT formation energy lies within some range of the DFT convex hull. Currently calculated for ranges 0.001, 0.005, 0.01, 0.05, 0.1, 0.5 eV/unit cell

Parameters:

input

The input settings as a dict. This is expected to have the object input[“checkspecs”], with the following attributes:

selection: str, optional, default=”ALL”

A CASM selection (either ‘casm select’ output filename or one of the standard selection “MASTER”, “CALCULATED”, or “ALL”) containing all the configurations to be considered. The DFT convex hull is generated from the subset of this selection for which ‘is_calculated’ is true.

write_results: bool, optional, default=False

If True, write casm selection files containing the output data. Output selection files are named “checkhull_(problem_specs_prefix)_(i)_(selname)”, where ‘problem_specs_prefix’ is input[“problem_specs_prefix”], ‘i’ is the index of the individual in the hall of fame, and ‘selname’ is one of:

”dft_gs” : DFT calculated ground states “clex_gs” : predicted ground states “gs_missing” : DFT ground states that are not predicted ground states “gs_spurious” : Predicted ground states that are not DFT ground states “uncalculated” : Predicted ground states and near ground states that have not been calculated “below_hull” : All configurations predicted below the prediction of the DFT hull

primitive_only: bool, optional, default=True

If True, only use primitive configurations to construct the convex hull, else use all selected configurations.

uncalculated_range: number, optional, default=0.0

Include all configurations with clex_hull_dist less than this value (+hull_tol) in the “uncalculated” configurations. Default only includes predicted ground states.

ranged_rms: List[number], optional, default=[0.001, 0.005, 0.01, 0.05, 0.1, 0.5]

Calculates the root-mean-square error for DFT calculated configurations within a particular range (in eV/unitcell) of the DFT hull. The list provides all the ranges for which the RMSE is requested.

composition: str, optional, default=”atom_frac”

Composition argument use for ‘casm query’ properties ‘hull_dist’ and ‘clex_hull_dist’. For thermodynamic ground states, use “atom_frac”.

hull_tol: number, optional, default=proj.settings.data[“lin_alg_tol”]

Tolerance used for identify hull states

dim_tol: number, optional, default=1e-8

Tolerance for detecting composition dimensionality

bottom_tol: number, optional, default=1e-8

Tolerance for detecting which facets form the convex hull bottom