pymatgen.analysis.magnetism.jahnteller module¶
-
class
JahnTellerAnalyzer[source]¶ Bases:
objectWill 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_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
-