pymatgen.analysis.magnetism.jahnteller module

class JahnTellerAnalyzer[source]

Bases: object

Will attempt to classify if structure may be Jahn-Teller active.

Class currently uses datafile of hard-coded common Jahn-Teller active ions.

If structure is annotated with magnetic moments, will estimate if structure may be high-spin or low-spin.

Class aims for more false-positives than false-negatives.

get_analysis(structure, calculate_valences=True, guesstimate_spin=False)[source]
get_analysis_and_structure(structure, calculate_valences=True, guesstimate_spin=False, op_threshold=0.1)[source]

Obtain an analysis of a given structure and if it may be Jahn-Teller active or not. This is a heuristic, and may give false positives and false negatives (false positives are preferred).

Parameters
  • structure – input structure

  • (bool) (guesstimate_spin) – whether to attempt to calculate valences or not, structure should have oxidation states to perform analysis

  • (bool) – whether to guesstimate spin state from magnetic moments or not, use with caution

  • (float) (op_threshold) – threshold for order parameter above which to consider site to match an octahedral or tetrahedral motif, since Jahn-Teller structures can often be quite distorted, this threshold is smaller than one might expect

Return (dict)

analysis of structure, with key ‘strength’ which may be ‘none’, ‘strong’, ‘weak’, or ‘unknown’

get_magnitude_of_effect_from_species(species, spin_state, motif)[source]

Get magnitude of Jahn-Teller effect from provided species, spin state and motife.

Parameters
  • species – e.g. Fe2+

  • (str) (motif) – “high” or “low”

  • (str) – “oct” or “tet”

Return (str)

static get_magnitude_of_effect_from_spin_config(motif, spin_config)[source]

Roughly, the magnitude of Jahn-Teller distortion will be: * in octahedral environments, strong if e_g orbitals unevenly occupied but weak if t_2g orbitals unevenly occupied * in tetrahedral environments always weaker :param motif (str): “oct” or “tet” :param spin_config (dict): dict of ‘e’ (e_g) and ‘t’ (t2_g)

with number of electrons in each state

is_jahn_teller_active(structure, calculate_valences=True)[source]
static mu_so(species, motif, spin_state)[source]

Calculates the spin-only magnetic moment for a given species. Only supports transition metals.

Parameters
  • species – str or Species

  • motif – “oct” or “tet”

  • spin_state – “high” or “low”

Returns

spin-only magnetic moment in Bohr magnetons

tag_structure(structure)[source]