SMACT Utilities Composition Module#
Miscellaneous utilities for composition handling
Utility functions for handling elements, species, formulas and composition.
- smact.utils.composition.comp_maker(smact_filter_output: tuple[Any, ...]) pymatgen.core.Composition[source]#
Convert an item in the output of smact.screening.smact_filer into a Pymatgen Composition.
- Parameters:
smact_filter_output – An item in the list returned from smact_filter. Either (elements, oxidation_states, stoichiometries) or (elements, stoichiometries).
- Returns:
An instance of the Composition class
- Return type:
composition (pymatgen.core.Composition)
- smact.utils.composition.composition_dict_maker(smact_filter_output: tuple[Any, ...]) dict[source]#
Convert an item in the output of smact.screening.smact_filter into a composition dictionary.
- Parameters:
smact_filter_output – An item in the list returned from smact_filter.
- Returns:
A composition dictionary
- Return type:
composition_dict (dict[str, float])
- smact.utils.composition.formula_maker(smact_filter_output: tuple[Any, ...]) str[source]#
Convert an item in the output of smact.screening.smact_filter into a chemical formula.
- Parameters:
smact_filter_output – An item in the list returned from smact_filter.
- Returns:
A formula
- Return type:
formula (str)
- smact.utils.composition.parse_formula(formula: str) dict[str, float][source]#
Parse a chemical formula into a dictionary of elements and their amounts.
Uses iterative parenthesis expansion with a depth limit to prevent
RecursionErroron malformed input.- Parameters:
formula (str) – Chemical formula
- Returns:
Dictionary of element symbol: amount
- Return type:
dict
- Raises:
ValueError – If the formula contains more than
_MAX_FORMULA_DEPTHlevels of nested parentheses.