pymatgen.analysis.chemenv.coordination_environments.coordination_geometries module¶
This module contains the class describing the coordination geometries that can exist in a given structure. These “model” coordination geometries are described in the following articles :
Pure Appl. Chem., Vol. 79, No. 10, pp. 1779–1799, 2007.
Acta Cryst. A, Vol. 46, No. 1, pp. 1–11, 1990.
The module also contains descriptors of part of these geometries (plane of separation, …) that are used in the identification algorithms.
-
class
AbstractChemenvAlgorithm(algorithm_type)[source]¶ Bases:
monty.json.MSONableClass used to define a Chemenv strategy for the neighbors and coordination environment to be applied to a StructureEnvironments object
-
property
algorithm_type¶
-
property
-
class
AllCoordinationGeometries(permutations_safe_override=False, only_symbols=None)[source]¶ Bases:
dictClass used to store all the reference “coordination geometries” (list with instances of the CoordinationGeometry classes)
Initializes the list of Coordination Geometries :param permutations_safe_override: :param only_symbols:
-
get_geometries(coordination=None, returned='cg')[source]¶ Returns a list of coordination geometries with the given coordination number. :param coordination: The coordination number of which the list of coordination geometries are returned.
-
get_geometry_from_IUCr_symbol(IUCr_symbol)[source]¶ Returns the coordination geometry of the given IUCr symbol. :param IUCr_symbol: The IUCr symbol of the coordination geometry.
-
get_geometry_from_IUPAC_symbol(IUPAC_symbol)[source]¶ Returns the coordination geometry of the given IUPAC symbol. :param IUPAC_symbol: The IUPAC symbol of the coordination geometry.
-
get_geometry_from_mp_symbol(mp_symbol)[source]¶ Returns the coordination geometry of the given mp_symbol. :param mp_symbol: The mp_symbol of the coordination geometry.
-
get_geometry_from_name(name)[source]¶ Returns the coordination geometry of the given name. :param name: The name of the coordination geometry.
-
get_implemented_geometries(coordination=None, returned='cg', include_deactivated=False)[source]¶ Returns a list of the implemented coordination geometries with the given coordination number. :param coordination: The coordination number of which the list of implemented coordination geometries are returned.
-
get_not_implemented_geometries(coordination=None, returned='mp_symbol')[source]¶ Returns a list of the implemented coordination geometries with the given coordination number. :param coordination: The coordination number of which the list of implemented coordination geometries are returned.
-
is_a_valid_coordination_geometry(mp_symbol=None, IUPAC_symbol=None, IUCr_symbol=None, name=None, cn=None)[source]¶ Checks whether a given coordination geometry is valid (exists) and whether the parameters are coherent with each other. :param IUPAC_symbol: :param IUCr_symbol: :param name: :param cn: :param mp_symbol: The mp_symbol of the coordination geometry.
-
-
class
CoordinationGeometry(mp_symbol, name, alternative_names=None, IUPAC_symbol=None, IUCr_symbol=None, coordination=None, central_site=array([0., 0., 0.]), points=None, solid_angles=None, permutations_safe_override=False, plane_ordering_override=True, deactivate=False, faces=None, edges=None, plane_safe_permutations=False, algorithms=None, equivalent_indices=None, neighbors_sets_hints=None)[source]¶ Bases:
objectClass used to store the ideal representation of a chemical environment or “coordination geometry”
Initializes one “coordination geometry” according to [Pure Appl. Chem., Vol. 79, No. 10, pp. 1779–1799, 2007] and [Acta Cryst. A, Vol. 46, No. 1, pp. 1–11, 1990]. :param mp_symbol: Symbol used internally for the coordination geometry. :param name: Name of the coordination geometry. :param alternative_names: Alternative names for this coordination geometry. :param IUPAC_symbol: The IUPAC symbol of this coordination geometry. :param IUCr_symbol: The IUCr symbol of this coordination geometry. :param coordination: The coordination number of this coordination geometry (number of neighboring atoms). :param central_site: The coordinates of the central site of this coordination geometry. :param points: The list of the coordinates of all the points of this coordination geometry. :param separation_planes: List of separation facets to help set up the permutations :param permutation_safe_override: Computes all the permutations if set to True (overrides the plane separation
algorithms or any other algorithm, for testing purposes)
- Parameters
plane_ordering_override – Computes all the permutations of the plane separation algorithm if set to False otherwise, uses the anticlockwise ordering of the separation facets (for testing purposes)
deactivate – deactivates this coordination geometry in the search
- :param faceslist of the faces with their vertices given in a clockwise or anticlockwise order, for drawing
purposes
:param : list of edges, for drawing purposes
-
CSM_SKIP_SEPARATION_PLANE_ALGO= 10.0¶
-
property
IUCr_symbol¶ Returns the IUCr symbol of this coordination geometry.
-
property
IUCr_symbol_str¶ Returns a string representation of the IUCr symbol of this coordination geometry.
-
property
IUPAC_symbol¶ Returns the IUPAC symbol of this coordination geometry.
-
property
IUPAC_symbol_str¶ Returns a string representation of the IUPAC symbol of this coordination geometry.
-
class
NeighborsSetsHints(hints_type, options)[source]¶ Bases:
object-
ALLOWED_HINTS_TYPES= ['single_cap', 'double_cap', 'triple_cap']¶
-
-
property
algorithms¶ Returns the list of algorithms that are used to identify this coordination geometry.
-
property
ce_symbol¶ Returns the symbol of this coordination geometry.
-
property
coordination_number¶ Returns the coordination number of this coordination geometry.
-
property
csm_skip_algo¶
-
property
distfactor_max¶
-
edges(sites, permutation=None, input='sites')[source]¶ Returns the list of edges of this coordination geometry. Each edge is given as a list of its end vertices coordinates.
-
faces(sites, permutation=None)[source]¶ Returns the list of faces of this coordination geometry. Each face is given as a list of its vertices coordinates.
-
get_pmeshes(sites, permutation=None)[source]¶ Returns the pmesh strings used for jmol to show this geometry.
-
property
mp_symbol¶ Returns the MP symbol of this coordination geometry.
-
property
number_of_permutations¶ Returns the number of permutations of this coordination geometry.
-
property
pauling_stability_ratio¶ Returns the theoretical Pauling stability ratio (rC/rA) for this environment.
-
class
ExplicitPermutationsAlgorithm(permutations)[source]¶ Bases:
pymatgen.analysis.chemenv.coordination_environments.coordination_geometries.AbstractChemenvAlgorithmInitializes a separation plane for a given perfect coordination geometry
-
property
as_dict¶ A JSON serializable dict representation of the algorithm
-
property
permutations¶
-
property
-
class
SeparationPlane(plane_points, mirror_plane=False, ordered_plane=False, point_groups=None, ordered_point_groups=None, point_groups_permutations=None, explicit_permutations=None, minimum_number_of_points=None, explicit_optimized_permutations=None, multiplicity=None, other_plane_points=None)[source]¶ Bases:
pymatgen.analysis.chemenv.coordination_environments.coordination_geometries.AbstractChemenvAlgorithmInitializes a separation plane for a given perfect coordination geometry
- Parameters
mirror_plane – True if the separation plane is a mirror plane, in which case there is a correspondence of the points in each point_group (can reduce the number of permutations)
- :param ordered_planeTrue if the order of the points in the plane can be taken into account to reduce the
number of permutations
- Parameters
plane_points – Indices of the points that are in the plane in the perfect structure (and should be found in the defective one as well)
point_groups – The two groups of points separated by the plane
plane_type – can be “MIRROR”, if the plane is a mirror plane going through the central site, ‘BASAL_THROUGH_CENTER’, if the plane is a basal plane (no point on the “left” side) going through the central site, ‘BASAL’, if the is a basal plane not going through the central site, ‘UNEQUILIBRATED_THROUGH_CENTER’, if the plane cuts the geometry in two groups of points with different numbers of points on each side, and is going through the centre, ‘UNEQUILIBRATED’, if the plane cuts the geometry in two groups of points with different numbers of points on each side, and is not going through the centre, ‘EQUILIBRATED_THROUGH_CENTER’, if the plane cuts the geometry in two groups of points of the same size, is going through the centre but is not a mirror plane, ‘EQUILIBRATED’, if the plane cuts the geometry in two groups of points of the same size, is not going through the centre but is not a mirror plane.
-
property
argsorted_ref_separation_perm¶
-
property
as_dict¶ A JSON serializable dict representation of the algorithm
-
property
inv_ordered_indices¶
-
property
ordered_indices¶
-
property
permutations¶
-
property
ref_separation_perm¶