class pele.mindist.StandardClusterAlignment(coords1, coords2, accuracy=0.01, can_invert=True)[source]

class to iterate over standard alignments for atomic clusters

Quickly determines alignments of clusters which are possible exact matches. It uses atoms which are far away from the center to determine possible rotations. The algorithm does the following:

  1. Get 2 reference atoms from structure 1 which are farthest away from center and are not linear
  2. Determine candidates from structure 2 which are in same shell as reference atoms from structure 1 (+- accuracy)
  3. loop over all candidate combinations to determine orientation and check for match. Skip directly if angle of candidates does not match angle of reference atoms in structure 1.
Parameters :

coords1 : np.array

first coordinates

coords2 : np.array

second coordinates

accuracy : float

accuracy of shell for atom candidates in standard alignment

can_invert : boolean

is an inversion possible?


>> for rot, invert in StandardClusterAlignment(X1, X2): >> print “possible rotation:”,rot,”inversion:”,invert



Previous topic


Next topic