Source code for crystal_toolkit.components.transformations.autooxistatedecoration

from pymatgen.transformations.standard_transformations import (
    AutoOxiStateDecorationTransformation,
)

from crystal_toolkit.components.transformations.core import TransformationComponent


[docs]class AutoOxiStateDecorationTransformationComponent(TransformationComponent): @property def title(self): return "Detect likely oxidation states" @property def description(self): return """Annotate the crystal structure with likely oxidation states using a bond valence approach. This transformation can fail if it cannot find a satisfactory combination of oxidation states, and might be slow for large structures. """ @property def transformation(self): return AutoOxiStateDecorationTransformation
[docs] def options_layouts(self, state=None, structure=None): state = state or { "symm_tol": 0.1, "max_radius": 4, "max_permutations": 10000, "distance_scale_factor": 1.015, } symm_tol = self.get_numerical_input( label="Symmetry tolerance", kwarg_label="symm_tol", state=state, help_str="""Symmetry tolerance used to determine which sites are symmetrically equivalent. Set to 0 to turn off symmetry.""", shape=(), ) max_radius = self.get_numerical_input( label="Maximum radius /Å", kwarg_label="max_radius", state=state, help_str="""Maximum radius in Ångstroms used to find nearest neighbors.""", shape=(), ) max_permutations = self.get_numerical_input( label="Maximum number of permutations", kwarg_label="max_permutations", state=state, help_str="""Maximum number of permutations of oxidation states to test.""", shape=(), ) distance_scale_factor = self.get_numerical_input( label="Distance scale factor", kwarg_label="distance_scale_factor", state=state, help_str="""A scale factor to be applied. This is useful for scaling distances, esp in the case of calculation-relaxed structures, which may tend to under (GGA) or over bind (LDA). The default of 1.015 works for GGA. For experimental structure, set this to 1.""", shape=(), ) return [symm_tol, max_radius, max_permutations, distance_scale_factor]