pele.mindist.StandardClusterAlignment#
- 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:
Get 2 reference atoms from structure 1 which are farthest away from center and are not linear
Determine candidates from structure 2 which are in same shell as reference atoms from structure 1 (+- accuracy)
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:
- coords1np.array
first coordinates
- coords2np.array
second coordinates
- accuracyfloat
accuracy of shell for atom candidates in standard alignment
- can_invertboolean
is an inversion possible?
Examples
>> for rot, invert in StandardClusterAlignment(X1, X2): >> print “possible rotation:”,rot,”inversion:”,invert
Methods
Attributes