GCA

class hoomd.hpmc.update.GCA(pivot_move_probability=0.5, flip_probability=0.5, trigger=1)

Bases: Updater

Apply geometric cluster algorithm (GCA) moves.

Parameters:
  • pivot_move_probability (float) – Set the probability for attempting a pivot move.

  • flip_probability (float) – Set the probability for transforming an individual cluster.

  • trigger (hoomd.trigger.trigger_like) – Select the timesteps on which to perform cluster moves.

The GCA as described in Liu and Lujten (2004), https://doi.org/10.1103/PhysRevLett.92.035504 is used for hard shape and patch interactions.

Supported moves include pivot moves (point reflection) and line reflections (pi rotation around an axis). With anisotropic particles, the pivot move cannot be used because it would create a chiral mirror image of the particle, and only line reflections are employed. In general, line reflections are not rejection free because of periodic boundary conditions, as discussed in Sinkovits et al. (2012), https://doi.org/10.1063/1.3694271 . However, we restrict the line reflections to axes parallel to the box axis, which makes those moves rejection-free for anisotropic particles, but the algorithm is then no longer ergodic for those and needs to be combined with local moves.

Mixed precision

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


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 GCA:

flip_probability

Set the probability for transforming an individual cluster.

Type:

float

pivot_move_probability

Set the probability for attempting a pivot move.

Type:

float

property avg_cluster_size

the typical size of clusters.

None when not attached.

(Loggable: category=”scalar”)

Type:

float