pymatgen.analysis.magnetism.jahnteller module¶
JahnTeller distortion analysis.
-
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.
Init for JahnTellerAnalyzer.
-
get_analysis
(structure: pymatgen.core.structure.Structure, calculate_valences: bool = True, guesstimate_spin: bool = False, op_threshold: float = 0.1) → Dict[source]¶ Convenience method, uses get_analysis_and_structure method.
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
calculate_valences – whether to attempt to calculate valences or not, structure should have oxidation states to perform analysis (Default value = True)
guesstimate_spin – whether to guesstimate spin state from magnetic moments or not, use with caution (Default value = False)
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
- Returns
analysis of structure, with key ‘strength’ which may be ‘none’, ‘strong’, ‘weak’, or ‘unknown’ (Default value = 0.1)
-
get_analysis_and_structure
(structure: pymatgen.core.structure.Structure, calculate_valences: bool = True, guesstimate_spin: bool = False, op_threshold: float = 0.1) → Tuple[Dict, pymatgen.core.structure.Structure][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
calculate_valences – whether to attempt to calculate valences or not, structure should have oxidation states to perform analysis (Default value = True)
guesstimate_spin – whether to guesstimate spin state from magnetic moments or not, use with caution (Default value = False)
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
- Returns
analysis of structure, with key ‘strength’ which may be ‘none’, ‘strong’, ‘weak’, or ‘unknown’ (Default value = 0.1) and decorated structure
-
get_magnitude_of_effect_from_species
(species: Union[str, pymatgen.core.periodic_table.Species], spin_state: str, motif: str) → str[source]¶ Get magnitude of Jahn-Teller effect from provided species, spin state and motif.
- Parameters
species – e.g. Fe2+
spin_state – “high” or “low”
motif – “oct” or “tet”
Returns: “none”, “weak” or “strong
-
static
get_magnitude_of_effect_from_spin_config
(motif: str, spin_config: Dict[str, float]) → str[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
- Parameters
motif – “oct” or “tet”
spin_config – dict of ‘e’ (e_g) and ‘t’ (t2_g) with number of electrons in each state
Returns: “none”, “weak” or “strong”
-
is_jahn_teller_active
(structure: pymatgen.core.structure.Structure, calculate_valences: bool = True, guesstimate_spin: bool = False, op_threshold: float = 0.1) → bool[source]¶ Convenience method, uses get_analysis_and_structure method. Check if 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
calculate_valences – whether to attempt to calculate valences or not, structure should have oxidation states to perform analysis (Default value = True)
guesstimate_spin – whether to guesstimate spin state from magnetic moments or not, use with caution (Default value = False)
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
- Returns
boolean, True if might be Jahn-Teller active, False if not
-
static
mu_so
(species: Union[str, pymatgen.core.periodic_table.Species], motif: str, spin_state: str) → Optional[float][source]¶ Calculates the spin-only magnetic moment for a given species. Only supports transition metals.
- Parameters
species – Species
motif – “oct” or “tet”
spin_state – “high” or “low”
- Returns
Spin-only magnetic moment in Bohr magnetons or None if species crystal field not defined
-
tag_structure
(structure: pymatgen.core.structure.Structure, calculate_valences: bool = True, guesstimate_spin: bool = False, op_threshold: float = 0.1) → pymatgen.core.structure.Structure[source]¶ Convenience method, uses get_analysis_and_structure method. Add a “possible_jt_active” site property on Structure.
- Parameters
structure – input structure
calculate_valences – whether to attempt to calculate valences or not, structure should have oxidation states to perform analysis (Default value = True)
guesstimate_spin – whether to guesstimate spin state from magnetic moments or not, use with caution (Default value = False)
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
- Returns
Decorated Structure, will be in primitive setting.
-