HyperdynamicsPositionDistortion¶
- class HyperdynamicsPositionDistortion(atom_tag, maximum_radius=None)¶
Class for calculating position distortions used in a hyperdynamics simulation.
- Parameters:
atom_tag (str) – The tag of the atoms to distort from their positions.
maximum_radius (PhysicalQuantity of type length) – The distance from the equilibrium position to the transition state.
- atomTag()¶
- Returns:
The tag of the atoms that have a positional acceleration.
- Return type:
str
- maximumRadius()¶
- Returns:
The maximum radius of the position distortion.
- Return type:
PhysicalQuantity of type length
- numberOfVariables()¶
- Returns:
The number of variables that are being accelerated.
- Return type:
int
- uniqueString()¶
Return a unique string representing the state of the object.
Usage Examples¶
General¶
Notes¶
The HyperdynamicsPositionDistortion implements a distortion based on atomic position. This distortion can be used in either a StaticHyperdynamics or CollectiveVariableHyperdynamics simulation.
The atoms whose positions are used to define the distortions are given with a configuration tag using the atom_tag
argument. A maximum radius of the distance between the atomic position and the transition state is also given with the
max_radius
argument. When the distortion is reset the current atomic position is recorded. The distortion
\(\chi\) is then given as:
Here \(\mathbf{r}\) is the current atomic position, \(\mathbf{r}_0\) is the reference atomic position and \(r_{max}\) is the maximum distance between the atomic position and the transition state. The distortion ranges from 0 to 1 and is limited to 1 once the atom moves outside the maximum radius.
This type of distortion is most useful for simulations in crystalline materials. Here the crystal lattice gives the atomic position a well defined reference point. In amorphous materials it is likely more efficient to use distortions which do not rely on a well defined reference point, such as the HyperdynamicsBondDistortion.