# pymatgen.analysis.chemenv.coordination_environments.coordination_geometries module¶

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
as_dict()[source]

A JSON serializable dict representation of the algorithm

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.

get_symbol_cn_mapping(coordination=None)[source]
get_symbol_name_mapping(coordination=None)[source]
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.

pretty_print(type='implemented_geometries', maxcn=8, additional_info=None)[source]
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

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']
as_dict()[source]
double_cap_hints(hints_info)[source]
classmethod from_dict(dd)[source]
hints(hints_info)[source]
single_cap_hints(hints_info)[source]
triple_cap_hints(hints_info)[source]
algorithms

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

as_dict()[source]
ce_symbol

Returns the symbol of this coordination geometry.

coordination_number

Returns the coordination number of this coordination geometry.

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.

classmethod from_dict(dd)[source]
get_central_site()[source]

Returns the central site of this coordination geometry.

get_coordination_number()[source]

Returns the coordination number of this coordination geometry.

get_name()[source]

Returns the name of this coordination geometry.

get_pmeshes(sites, permutation=None)[source]

Returns the pmesh strings used for jmol to show this geometry.

is_implemented()[source]

Returns True if this coordination geometry is implemented.

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.

ref_permutation(permutation)[source]
set_permutations_safe_override(permutations_safe_override)[source]
solid_angles(permutation=None)[source]

Returns the list of “perfect” solid angles Each edge is given as a list of its end vertices coordinates.

class ExplicitPermutationsAlgorithm(permutations)[source]

Initializes a separation plane for a given perfect coordination geometry

as_dict
classmethod from_dict(dd)[source]
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]

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
classmethod from_dict(dd)[source]
inv_ordered_indices
ordered_indices
permutations
ref_separation_perm
safe_separation_permutations(ordered_plane=False, ordered_point_groups=None, add_opposite=False)[source]