uf3.representation.angles.identify_ij¶
- identify_ij(geom: ase.atoms.Atoms, knot_sets: List[List[numpy.ndarray]], supercell: Optional[ase.atoms.Atoms] = None, square: bool = False)[source]¶
- Parameters
geom (ase.Atoms) –
knot_sets (np.ndarray) – list of lists of knot sequences per interaction
supercell (ase.Atoms) –
square (bool) – whether to return square distance matrix (True) or truncate to atoms in unit cell (False).
TODO: refactor to break up into smaller, reusable functions
- Returns
- rectangular matrix of shape
(n_atoms, n_supercell) where n_supercell is the number of atoms within the cutoff distance of any in-unit-cell atom.
- {i, j}_where (np.ndarray): unsorted list of atom indices
over which to loop to obtain valid pair distances.
- Return type
dist_matrix (np.ndarray)