cifkit.data.radius_optimization module

cifkit.data.radius_optimization.get_refined_CIF_radius(elements: list[str], shortest_distances: dict[tuple[str, str], float], elements_ordered=True, use_size_constraint=True) dict[str, float][source]

Optimize CIF radii for a set of elements given (1) their adjacent pairwise distance constraints (2) size order of the original CIF radii.

Parameters:
  • elements (list[str]) – List of chemical element symbols to optimize radii for.

  • shortest_distances (dict[tuple[str, str], float]) – Dictionary of shortest pairwise distances between element pairs. Keys should be tuples of two element symbols (e.g., (‘Fe’, ‘Ge’)).

  • elements_ordered (bool, default True) – The elements will be sorted before processing. This affects how adjacency interatomic bond pairs is defined when generating element pairs.

  • use_size_constraint (bool, default True) – Use the radius size order constraint. If True, the optimization will ensure that the refined radii maintain the original size order of the CIF radii. If False, this constraint is not applied.

Returns:

  • dict[str, float] – Dictionary mapping each element to its optimized CIF radius.

  • float – Value of the objective function (sum of squared deviations from original radii).