md.utils.NormalModeTransformer

class md.utils.NormalModeTransformer(*args: Any, **kwargs: Any)[source]

Class for transforming between bead and normal mode representation of the ring polymer, used e.g. in propagating the ring polymer during simulation. An in depth description of the transformation can be found e.g. in [1]. Here, a simple matrix multiplication is used instead of a Fourier transformation, which can be more performant in certain cases. On the GPU however, no significant performance gains where observed when using a FT based transformation over the matrix version.

This transformation operates on the first dimension of the property tensors (e.g. positions, momenta) defined in the system class. Hence, the transformation can be carried out for several molecules at the same time.

Parameters:

n_beads (int) – Number of beads in the ring polymer.

References