  We introduce a `virtual-move' Monte Carlo (VMMC) algorithm for systems of
pairwise-interacting particles. This algorithm facilitates the simulation of
particles possessing attractions of short range and arbitrary strength and
geometry, an important realization being self-assembling particles endowed with
strong, short-ranged and angularly specific (`patchy') attractions. Standard
Monte Carlo techniques employ sequential updates of particles and suffer from
low acceptance rates when attractions are strong. Our algorithm avoids this
slowing-down by proposing simultaneous moves of collections (clusters) of
particles according to gradients of interaction energies. One particle first
executes a `virtual' trial move. We determine which of its neighbours move in a
similar fashion by calculating individual bond energies before and after the
proposed move. We iterate this procedure and update simultaneously the
positions of all affected particles. Particles move according to an
approximation of realistic dynamics without requiring the explicit computation
of forces, and without the step size restrictions required when integrating
equations of motion. We also employ a size- and shape-dependent hydrodynamic
damping of cluster movements. We discuss the virtual-move algorithm in the
context of other Monte Carlo cluster-move schemes, and demonstrate its utility
by applying it to a model of biological self-assembly.
