MolShake (Module)
Overview
The MolShake
module performs whole-molecule Monte Carlo “shakes” of every molecule in each of the supplied target configurations. The shakes comprise both rotational and translational moves, during which the internal geometry of the molecule is kept fixed.
Description
Basic Algorithm
For each molecule MolShake
is as follows:
- Calculate the reference energy
arising from all interactions involving - Generate a random displacement vector
and rotation matrix - Generate new coordinates for
by moving it along by a distance (or step size) and simultaneously rotating it using the rotation matrix by an angle step - Calculate the new energy
- Calculate the energy delta
. If is negative, accept the new coordinates of and move to the next molecule. Otherwise, only accept the new coordinates if , where is a random real number between 0 and 1, is the gas constant, and is the temperature of the configuration in Kelvin.
Acceptance Rates
The MolShake
module uses independent step sizes for the translational and rotational components of the trial move. In order to adjust these step sizes, 10% of trial moves are made as pure rotations, and a further 10% as pure translations, with the remaining 80% being a combination of the two move types. Once moves have been attempted for all
and
The individual step sizes
and
If it occurs that no moves are accepted for either of the move types, the corresponding step size is multiplied by a factor of 0.8 instead of using the above equations. Following adjustment of the step sizes they are clamped such that
Options
Targets
Keyword | Arguments | Default | Description |
---|---|---|---|
Configuration |
Configuration |
– | Required Target configuration on which to operate. |
Control
Keyword | Arguments | Default | Description |
---|---|---|---|
ShakesPerAtom |
int |
1 |
Number of shakes |
RestrictToSpecies |
Species ... |
– | Restrict Monte Carlo moves to only molecules of the specified species. Molecules of other species types remain at their current positions. |
Rotations
Keyword | Arguments | Default | Description |
---|---|---|---|
RotationStepSize |
double |
1.0 |
Step size |
RotationStepSizeMax |
double |
90.0 |
Maximum allowed value for rotational step size, |
RotationStepSizeMin |
double |
0.01 |
Minimum allowed value for rotational step size, |
Translations
Keyword | Arguments | Default | Description |
---|---|---|---|
TargetAcceptanceRate |
double |
0.33 |
Target acceptance rate |
TranslationStepSize |
double |
0.05 |
Step size |
TranslationStepSizeMax |
double |
1.0 |
Maximum allowed value for translational step size, |
TranslationStepSizeMin |
double |
0.001 |
Minimum allowed value for translational step size, |
Advanced
Keyword | Arguments | Default | Description |
---|---|---|---|
CutoffDistance |
double |
– | Interatomic cutoff distance |