smact.properties module

A collection of tools for estimating physical properties based on chemical composition.

The “electronegativity of a compound” computed with compound_electroneg() is the rescaled geometric mean of electronegativity used in Nethercot’s recipe for estimating the photoelectric threshold: 1

\[\Phi^{AB} = 2.86(\chi_{A}\chi_{B})^{1/2} + E_{g} / 2.\]

In other words, the computed group \(2.86(\chi_{A}\chi_{B})^{1/2}\) is the mid-gap energy. The valence band maximum/conduction band minimum positions can be estimated by subtracting/adding half of the band gap \(E_g\). This is an extension Mulliken’s electronegativity scale in which \(\chi_{A} = (I_{A} + E_{A})/2\) (where \(I\) and \(E\) are respectively the ionisation potential and electron affinity.) 2

1

Nethercot, A. H., Prediction of Fermi energies and photoelectric thresholds based on electronegativity concepts Phys. Rev. Lett. 33, 1088–1091 (1974). http://dx.doi.org/10.1103/PhysRevLett.33.1088

2

Mulliken, R. S., A new electroaffinity scale; together with data on valence states and on valence ionization potentials and electron affinities J. Chem. Phys. 2, 782 (1934). http://dx.doi.org/10.1063/1.1749394

smact.properties.band_gap_Harrison(anion: str, cation: str, verbose: bool = False, distance: Optional[Union[float, str]] = None) float[source]

Estimates the band gap from elemental data.

The band gap is estimated using the principles outlined in Harrison’s 1980 work “Electronic Structure and the Properties of Solids: The Physics of the Chemical Bond”.

Parameters
  • Anion (str) – Element symbol of the dominant anion in the system

  • Cation (str) – Element symbol of the the dominant cation in the system

  • Distance (float or str) – Nuclear separation between anion and cation i.e. sum of ionic radii

  • verbose (bool) – An optional True/False flag. If True, additional

  • [Defult (information is printed to the standard output.) – False]

Returns :

Band_gap (float): Band gap in eV

smact.properties.compound_electroneg(verbose: bool = False, elements: Optional[List[Union[str, Element]]] = None, stoichs: Optional[List[Union[int, float]]] = None, source: str = 'Mulliken') float[source]

Estimate electronegativity of compound from elemental data.

Uses Mulliken electronegativity by default, which uses elemental ionisation potentials and electron affinities. Alternatively, can use Pauling electronegativity, re-scaled by factor 2.86 to achieve same scale as Mulliken method (Nethercot, 1974) DOI:10.1103/PhysRevLett.33.1088 .

Geometric mean is used (n-th root of product of components), e.g.:

X_Cu2S = (X_Cu * X_Cu * C_S)^(1/3)

Parameters
  • elements (list) – Elements given as standard elemental symbols.

  • stoichs (list) – Stoichiometries, given as integers or floats.

  • verbose (bool) – An optional True/False flag. If True, additional information is printed to the standard output. [Default: False]

  • source – String ‘Mulliken’ or ‘Pauling’; type of Electronegativity to use. Note that in SMACT, Pauling electronegativities are rescaled to a Mulliken-like scale.

Returns

Estimated electronegativity (no units).

Return type

Electronegativity (float)

smact.properties.eneg_mulliken(element: Union[Element, str]) float[source]

Get Mulliken electronegativity from the IE and EA.

Parameters

symbol (smact.Element or str) – Element object or symbol

Returns

Mulliken electronegativity

Return type

mulliken (float)