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.MSONable
Class used to define a Chemenv strategy for the neighbors and coordination environment to be applied to a StructureEnvironments object

algorithm_type
¶


class
AllCoordinationGeometries
(permutations_safe_override=False, only_symbols=None)[source]¶ Bases:
dict
Class 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:
object
Class 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) :param 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) :param deactivate: deactivates this coordination geometry in the search :param faces : list 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¶

IUCr_symbol
¶ Returns the IUCr symbol of this coordination geometry.

IUCr_symbol_str
¶ Returns a string representation of the IUCr symbol of this coordination geometry.

IUPAC_symbol
¶ Returns the IUPAC symbol of this coordination geometry.

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']¶


algorithms
¶ Returns the list of algorithms that are used to identify this coordination geometry.

ce_symbol
¶ Returns the symbol of this coordination geometry.

coordination_number
¶ Returns the coordination number of this coordination geometry.

csm_skip_algo
¶

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.

mp_symbol
¶ Returns the MP symbol of this coordination geometry.

number_of_permutations
¶ Returns the number of permutations of this coordination geometry.

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.AbstractChemenvAlgorithm
Initializes a separation plane for a given perfect coordination geometry

as_dict
¶ A JSON serializable dict representation of the algorithm

permutations
¶


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.AbstractChemenvAlgorithm
Initializes 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_plane : True if the order of the points in the plane can be taken into account to reduce the number of permutations :param 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) :param point_groups: The two groups of points separated by the plane :param 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.
argsorted_ref_separation_perm
¶

as_dict
¶ A JSON serializable dict representation of the algorithm

inv_ordered_indices
¶

ordered_indices
¶

permutations
¶

ref_separation_perm
¶
