class SelectParticleAVB : public feasst::TrialSelect

Select a random particle as target, then selection another particle that has index of site either inside or outside the aggregation volume (AV) of target_site. Inside selections may optionally set the anchor to a second target particle, allowing for inside->inside moves.

Public Functions

void precompute(System *system)

Precompute quantities before simulation for optimization.

bool select(const Select &perturbed, System *system, Random *random)

Perform the selection as implemented in the derived class. Return false if the selection cannot be made. Otherwise, return true.

param perturbed:

Perturbed is included to allow chaining of selection based on previous.


SelectParticleAVB(argtype args = argtype())


  • target_particle_type: type of target particle (default: 0).

  • target_site: index of target site (default: 0).

  • site: index of site on particle_type to put in AV of target site (default: 0).

  • grand_canonical: true if used for grand canonical, false otherwise.

  • inside: true if selecting in the AV, otherwise out (default: true). Not implemented for grand_canonical.

  • second_target: if true, set anchor to a second target particle (default: false).

  • neighbor_index: NeighborCriteria index contained in System (default: 0).

  • TrialSelect arguments.