class PerturbAdd : public feasst::Perturb

Add a particle to the system.

Public Functions

PerturbAdd(argtype args = argtype())


  • delay_add: If true, don’t add particle until finalize (default: true).

bool delay_add() const

Return if the particle isn’t added until finalized.

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 add(System *system, TrialSelect *select, Random *random, const Position &center, const bool is_position_held = false)

Add select to the system.

param center:

place particle anywhere if center is of zero dimension.

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.