Utilities for manipulating coordinates or list of coordinates, under periodic boundary conditions or otherwise.
Gives the index mapping from a subset to a superset. Superset cannot contain duplicate matching rows
Parameters: superset (subset,) – List of frac_coords Returns: list of indices such that superset[indices] = subset
Tests if all fractional coords in subset are contained in superset. Allows specification of a mask determining pairs that are not allowed to match to each other
Parameters: superset (subset,) – List of fractional coords Returns: True if all of subset is in superset.
Returns the shortest vectors between two lists of coordinates taking into account periodic boundary conditions and the lattice.
- lattice – lattice to use
- fcoords1 – First set of fractional coordinates. e.g., [0.5, 0.6, 0.7] or [[1.1, 1.2, 4.3], [0.5, 0.6, 0.7]]. Must be np.float_
- fcoords2 – Second set of fractional coordinates.
- mask (int_ array) – Mask of matches that are not allowed. i.e. if mask[1,2] == True, then subset cannot be matched to superset
- lll_frac_tol (float_ array of length 3) – Fractional tolerance (per LLL lattice vector) over which the calculation of minimum vectors will be skipped. Can speed up calculation considerably for large structures.
array of displacement vectors from fcoords1 to fcoords2 first index is fcoords1 index, second is fcoords2 index