PerturbAddRemove

class PerturbAddRemove : public feasst::Perturb

Add or remove a particle with equal probability.

Public Functions

void before_select()

Before perturbation, initialize some optimiation parameters.

void perturb(System *system, TrialSelect *select, Random *random, const bool is_position_held = false, Acceptance *acceptance = NULL)

Perturb the selection of the system.

param is_position_held:

If position is held, all but perform the actual perturbation, as typically required for calculations of old configurations and Rosenbluth

void revert(System *system)

Revert the system for an unaccepted perturbation.

void finalize(System *system)

Finalize the system for an accepted perturbation.

std::string status_header() const

Print status header.

std::string status() const

Print status.