smact.dopant_prediction.doper module

smact.dopant_prediction.doper module#

A class to create possible n-type and p-type dopants according to their accessible oxidation states.

The dopant prediction module facilitates high-throughput prediction of p-type and n-type dopants.

The search and ranking process is based on electronic filters (e.g. accessible oxidation states) and chemical filters (e.g. difference in ionic radius).

class smact.dopant_prediction.doper.Doper(original_species: tuple[str, ...], filepath: str | None = None, embedding: str | None = None, use_probability: bool = True)[source]#

Bases: object

A class to search for n & p type dopants.

Methods: get_dopants, plot_dopants.

get_dopants(num_dopants: int = 5, get_selectivity: bool = True, group_by_charge: bool = True) dict[source]#

Get the top n dopants for each case.

Args:#

num_dopants (int): The number of dopants to return. get_selectivity (bool): Whether to calculate the selectivity of the dopants. group_by_charge (bool): Whether to group the dopants by charge.

Returns:#

dict: A dictionary of the top n dopants for each case.

plot_dopants(cmap: str = 'YlOrRd', plot_value: str = 'probability') None[source]#

Plot the dopant suggestions using the periodic table heatmap.

Args:#

cmap (str): The colormap to use for the heatmap. plot_value (str): The value to plot on the heatmap.

Options are “probability”, “similarity” or “selectivity”.

Returns:#

None

property to_table: str#

Format the dopant suggestions as a table string.

Returns:#

str: Formatted table of dopant suggestions.