MoveSet¶
The MoveSet
contains all the information related to the
Monte Carlo moves that will be attempted during the simulation.
This includes the types of moves, the probability of selecting
each move type, and the other related choices, such as the
maximum translation distance, maximum volume move size,
configurational biasing options, etc. The desired ensemble and
the species in the system are used to assign default values to
all of the attributes of the MoveSet
. Nonetheless, most
attributes can be edited once the object has been created.
The MoveSet
is one of two objects that must be created prior to
running a MC simulation in MoSDeF Cassandra. Creating the MoveSet
requires specification of the following:
The desired ensemble
A list of the unique chemical species in the system (species_list)
Instantiating the MoveSet
normally appears as follows:
import mosdef_cassandra as mc
moveset = mc.MoveSet("nvt", species_list)
Attributes¶
The MoveSet
contains attributes that can be grouped into
the following four categories.
Overall attributes, specified as a single number for the entire system:
ensemble
- ensemble of the MC simulation (nvt
,npt
,gcmc
,gemc
,gemc_npt
)prob_translate
- probability of attempting a translation moveprob_rotate
- probability of attempting a rotation moveprob_angle
- probability of attempting an angle change moveprob_dihedral
- probability of attempting a dihedral change moveprob_regrow
- probability of attempting a regrowth moveprob_volume
- probability of attempting a volume change moveprob_insert
- probability of attempting a molecule insertion moveprob_swap
- probability of attempting a molecule swap movemax_volume
- maximum volume move size (except forgemc_npt
, where it is optionally per-box)cbmc_n_insert
- number of locations to attempt a CBMC insertioncbmc_n_dihed
- number of dihedral angles to attempt when regrowing a molecule with CBMCcbmc_rcut
- cutoff to use when calculating energies during CBMC trials (optionally specified per-box)
Attributes specified per-species:
insertable
- boolean, is species insertableprob_regrow_species
- probability of attempting a regrowth move with each speciesprob_swap_species
- probability of attempting a swap move with each speciesmax_dihedral
- maximum dihedral angle change for dihedral change move
Attributes specified per-box:
prob_swap_from_box
- probability of selecting each box as donor for a swap move
Attributes specified per-box-per-species:
max_translate
- maximum translation distancemax_rotate
- maximum rotation angle
Printing the contents of the MoveSet¶
Imagine we have created a MoveSet
as follows:
moveset = mc.MoveSet('nvt', species_list)
We can then print the current contents with:
moveset.print()
Example output for a single species (OPLS-AA methane):
Ensemble: nvt
Probability of selecting each move type:
Translate: 0.33
Rotate: 0.33
Regrow: 0.34
Volume: 0.0
Insert: 0.0
Delete: 0.0
Swap: 0.0
Angle: 0.0
Dihedral: 0.0
CBMC selections:
Number of trial positions: 10
Number of trial dihedral angles: 10
CBMC cutoff(s):
Box 1: 6.0
Per species quantities:
species1
========
Max translate (Ang): 2.00 (Box 1)
Max rotate (deg): 30.00 (Box 1)
Insertable: False
Max dihedral: 0.00
Prob swap: 0.00
Prob regrow: 1.00
Max volume (Ang^3):
Box 1: 0.0
Default values for attempting each move type¶
prob_translate
, prob_rotate
, prob_angle
, prob_dihedral
,
prob_regrow
, prob_volume
, prob_insert
, and prob_swap
are the
probabilities of selecting each of those respective move types. The default
move probabilities are as follows for each ensemble. Move probabilities that are
not explicitly defined have a default probability of 0.0 for that ensemble.
NVT:¶
prob_translate = 0.33
prob_rotate = 0.33
prob_regrow = 0.34
NPT:¶
prob_translate = 0.33
prob_rotate = 0.33
prob_regrow = 0.335
prob_volume = 0.005
GCMC:¶
prob_translate = 0.25
prob_rotate = 0.25
prob_regrow = 0.30
prob_insert = 0.1
Note
In GCMC the deletion probability is set equal to the insertion probability, making the sum of the move probabilities 1.0
GEMC:¶
prob_translate = 0.30
prob_rotate = 0.30
prob_regrow = 0.295
prob_swap = 0.1
prob_volume = 0.005
GEMC-NPT:¶
prob_translate = 0.30
prob_rotate = 0.30
prob_regrow = 0.295
prob_swap = 0.1
prob_volume = 0.005
Default values for other quantities¶
max_translate
: 2.0 Angstromsmax_rotate
: 30.0 degreesmax_volume
: 500 Angstroms3 for Box 1, 5000 Angstroms3 for Box 2max_dihedral
: 0.0 degreescbmc_n_insert
: 10cbmc_n_dihed
: 10cbmc_rcut
: 6.0 Angstroms
max_translate
and max_rotate
are specified per-box-per-species.
For example, if the system contained two species and the ensemble
was GEMC (a two-box ensemble), then the default max translate would be
[[2.0,2.0],[2.0,2.0]]
. To set the max translation distance of species 1 in
box 2 to 30.0 Angstroms, set max_translate = [[2.0,2.0],[30.0,2.0]]
.
Note
Exceptions to the above values are implemented based upon the topologies
provided in species_list
. The maximum rotation of single particle
species is set to 0.0
degrees. Species that are multi-particle but
contain zero bonds are considered fixed and not insertable; the maximum translation
and rotation are set to 0.0
Angstroms and 0.0
degrees, respectively.