HyperdynamicsBondDistortion¶
- class HyperdynamicsBondDistortion(first_atom_tag, second_atom_tag, bond_minimum=None, bond_maximum=None, fuzz_factor=None)¶
Class for calculating bond distortions used in a hyperdynamics simulation.
- Parameters:
first_atom_tag (str) – Tag giving the first set of atoms that can possibly form a bond.
second_atom_tag (str) – Tag giving the second set of atoms that can possibly form a bond.
bond_minimum (PhysicalQuantity of type length) – The minimum length of the bond.
bond_maximum (PhysicalQuantity of type length) – The maximum length of the bond.
fuzz_factor (float) – The fuzz factor used in detecting bonds in the configuration. Default: 1.1
- bondMaximum()¶
- Returns:
The maximum bond length.
- Return type:
PhysicalQuantity of type length
- bondMinimum()¶
- Returns:
The minimum bond length.
- Return type:
PhysicalQuantity of type length
- firstAtomTag()¶
- Returns:
The first atom tag.
- Return type:
str
- fuzzFactor()¶
- Returns:
The fuzz factor.
- Return type:
float
- numberOfVariables()¶
- Returns:
The number of indexed geometric coordinates being accelerated
- Return type:
int
- secondAtomTag()¶
- Returns:
The second atom tag.
- Return type:
str
- uniqueString()¶
Return a unique string representing the state of the object.
Usage Examples¶
General¶
Notes¶
The HyperdynamicsBondDistortion implements a distortion based on bonds between atoms. This distortion can be used in either a StaticHyperdynamics or CollectiveVariableHyperdynamics simulation.
The atoms whose bonds make up the distortion is given using the first_atom_tag
and second_atom_tag
arguments.
These take the tags of two sets of atoms between which the relevant bonds are formed. These can be the same set of
atoms or different sets. These sets should include all atoms of each type that can possibly have the types of bonds
to be boosted. Whether or not a bias potential is applied between two atoms depends on whether or not a bond exists in
the reference configuration. If the atoms are far enough apart that no bond exists between them,
then they will not be included in the distortion bonds. By giving sets of atoms where bonds can possibly be formed it
allows the bias to be reset after each reaction and for newly formed bonds to be included in the distortion.
The detection of the bonds is controlled with the fuzz_factor
keyword argument. Atoms must be
closer than the sum of the covalent radii times the fuzz factor to be considered bonded. The
default value is 1.1, which is the general bond finding default.
The bond length at the equilibrium structure and transition state are also given with the bond_minimum
and
bond_maximum
keyword arguments respectively. A bond minimum is always required. The bond maximum is optional, and
can be given as None
in cases where the reaction does not have a well defined transition state.
In the case where a transition state bond length is given, the distortion \(\chi\) can be given as:
In cases where no maximum is given the distortion is given as:
In the first case the distortion is limited to between 0 and 1. In the second case the distortion has no upper limit. In this case a distortion cutoff should be used in the hyperdynamics simulation to ensure that the resulting global distortion is between 0 and 1.