pele.mindist._minpermdist_policies#

class pele.mindist._minpermdist_policies.TransformPolicy[source]

Source

class TransformPolicy:

interface for possible transformations on a set of coordinates

The transform policy tells minpermdist how to perform transformations, i.e. a translation, rotation and inversion on a specific set of coordinates. This class is necessary since in general a coordinate array does not carry any information on the type of coordinate, e.g. if it’s a site coordinate, atom coordinate or angle axis vector.

All transformation act in place, that means they change the current coordinates and do not make a copy.

TransformPolicy.translate()[source]

Source

def translate(self, X, d):

translate the coordinates

TransformPolicy.rotate()[source]

Source

def rotate(self, X, mx):

apply rotation matrix mx for a rotation around the origin

TransformPolicy.can_invert()[source]

Source

def can_invert(self):

returns True or False if an inversion can be performed

TransformPolicy.invert()[source]

Source

def invert(self, X):

perform an inversion at the origin

TransformPolicy.permute()[source]

Source

def permute(self, X, perm):

returns the permuted coordinates

class pele.mindist._minpermdist_policies.MeasurePolicy[source]

Source

class MeasurePolicy:

interface for possible measurements on a set of coordinates

The MeasurePolicy defines an interface which defines how to perform certain measures which are essential for minpermdist on a set of coordinates. For more motivation of this class see TransformPolicy.

MeasurePolicy.get_com()[source]

Source

def get_com(self, X):

calculate the center of mass

MeasurePolicy.get_dist()[source]

Source

def get_dist(self, X1, X2, with_vector=False):

calculate the distance between 2 set of coordinates

MeasurePolicy.find_permutation()[source]

Source

def find_permutation(self, X1, X2):

find the best permutation between 2 sets of coordinates

MeasurePolicy.find_rotation()[source]

Source

def find_rotation(self, X1, X2):

find the best rotation matrix to bring structure 2 on 1

class pele.mindist._minpermdist_policies.TransformAtomicCluster[source]

Source

class TransformAtomicCluster(TransformPolicy):

transformation rules for atomic clusters

class pele.mindist._minpermdist_policies.MeasureAtomicCluster[source]

Source

class MeasureAtomicCluster(MeasurePolicy):

measure rules for atomic clusters