MuVT

class hoomd.hpmc.update.MuVT(transfer_types, ngibbs=1, max_volume_rescale=0.1, volume_move_probability=0.5, trigger=1)

Bases: Updater

Insert and remove particles in the muVT ensemble.

Parameters:
  • trigger (int) – Number of timesteps between grand canonical insertions

  • transfer_types (list) – List of type names that are being transferred from/to the reservoir or between boxes

  • ngibbs (int) – The number of partitions to use in Gibbs ensemble simulations (if == 1, perform grand canonical muVT)

  • max_volume_rescale (float) – maximum step size in ln(V) (applies to Gibbs ensemble)

  • move_ratio (float) – (if set) Set the ratio between volume and exchange/transfer moves (applies to Gibbs ensemble)

The muVT (or grand-canonical) ensemble simulates a system at constant fugacity.

Gibbs ensemble simulations are also supported, where particles and volume are swapped between two or more boxes. Every box correspond to one MPI partition, and can therefore run on multiple ranks. Use the ranks_per_partition argument of hoomd.communicator.Communicator to enable partitioned simulations.

Mixed precision

MuVT uses reduced precision floating point arithmetic when checking for particle overlaps in the local particle reference frame.

Note

Multiple Gibbs ensembles are also supported in a single parallel job, with the ngibbs option to update.muvt(), where the number of partitions can be a multiple of ngibbs.


Members inherited from AutotunedObject:

property kernel_parameters

Kernel parameters. Read more...

property is_tuning_complete

Check if kernel parameter tuning is complete. Read more...

tune_kernel_parameters()

Start tuning kernel parameters. Read more...


Members inherited from Integrator:

trigger

The trigger to activate this operation. Read more...


Members defined in MuVT:

fugacity

Particle fugacity \([\mathrm{energy}] \cdot [\mathrm{volume}^{-1}]\) (default: 0).

Type:

TypeParameter [ particle type, float]

max_volume_rescale

Maximum step size in ln(V) (applies to Gibbs ensemble)

Type:

float

move_ratio

The ratio between volume and exchange/transfer moves (applies to Gibbs ensemble)

Type:

float

transfer_types

List of type names that are being transferred from/to the reservoir or between boxes

Type:

list

property N

Map of number of particles per type.

None when not attached.

(Loggable: category=”object”)

Type:

dict

property exchange_moves

Count of the accepted and rejected particle exchange moves.

None when not attached

(Loggable: category=”sequence”)

Type:

tuple[int, int]

property insert_moves

Count of the accepted and rejected particle insertion moves.

None when not attached

(Loggable: category=”sequence”)

Type:

tuple[int, int]

property remove_moves

Count of the accepted and rejected particle removal moves.

None when not attached

(Loggable: category=”sequence”)

Type:

tuple[int, int]

property volume_moves

Count of the accepted and rejected particle volume moves.

None when not attached

(Loggable: category=”sequence”)

Type:

tuple[int, int]