site_analysis.polyhedral_site_collection

class PolyhedralSiteCollection(sites: List[site_analysis.site.Site])[source]

Bases: site_analysis.site_collection.SiteCollection

A collection of PolyhedralSite objects.

sites

List of Site-like objects.

Type:list
analyse_structure(atoms: List[site_analysis.atom.Atom], structure: pymatgen.core.structure.Structure)[source]

Perform a site analysis for a set of atoms on a specific structure.

This method should be implemented in the derived subclass.

Parameters:
  • atoms (list(Atom)) – List of Atom objects to be assigned to sites.
  • struture (pymatgen.Structure) – Pymatgen Structure object used to specificy the atomic coordinates.
Returns:

None

assign_site_occupations(atoms: List[site_analysis.atom.Atom], structure: pymatgen.core.structure.Structure)[source]

Assigns atoms to sites for a specific structure.

This method should be implemented in the derived subclass

Parameters:
  • atoms (list(Atom)) – List of Atom objects to be assigned to sites.
  • struture (pymatgen.Structure) – Pymatgen Structure object used to specificy the atomic coordinates.
Returns:

None

Notes

The atom coordinates should already be consistent with the coordinates in structure. Recommended usage is via the analyse_structure() method.

neighbouring_sites(index: int) → List[site_analysis.polyhedral_site.PolyhedralSite][source]

If implemented, returns a list of sites that neighbour a given site.

This method should be implemented in the derived subclass.

Parameters:site_index (int) – Index of the site to return a list of neighbours for.
sites_contain_points(points: numpy.ndarray, structure: Optional[pymatgen.core.structure.Structure] = None) → bool[source]

Checks whether the set of sites contain a corresponding set of fractional coordinates.

Parameters:
  • points (np.array) – 3xN numpy array of fractional coordinates. There should be one coordinate for each site being checked.
  • structure (Structure) – Pymatgen Structure used to define the vertex coordinates of each polyhedral site.
Returns:

(bool)

construct_neighbouring_sites(sites: List[site_analysis.polyhedral_site.PolyhedralSite]) → Dict[int, List[site_analysis.polyhedral_site.PolyhedralSite]][source]

Find all polyhedral sites that are face-sharing neighbours.

Any polyhedral sites that share 3 or more vertices are considered to share a face.

Parameters:None
Returns:
Dictionary of int: list entries.
Keys are site indices. Values are lists of PolyhedralSite objects.
Return type:(dict)