PerturbTranslate
-
class PerturbTranslate : public feasst::PerturbMove
Translate the positions of the selection uniformly random within postivie and negative tunable parameter values. The tunable parameter must be within the bounds of 2*NEAR_ZERO and half of Domain::max_side_length.
Arguments
dimension: if == -1, uniform translation in all dimensions (default: -1). Otherwise, translate only specifically +/- value (without tuning) in specific dimension.
Public Functions
-
void precompute(TrialSelect *select, System *system)
Initialize minimum and maximum tunable parameter based on domain.
-
void mid_stage(const TrialSelect &select, const System &system)
Set the anchor to the current position of selection.
-
void update_selection(const Position &trajectory, TrialSelect *select)
Change the position in the selection given a trajectory.
-
void move(const Position &trajectory, System *system, TrialSelect *select)
Move the selected particles given a trajectory.
-
void move(const bool is_position_held, System *system, TrialSelect *select, Random *random, Acceptance *acceptance)
Move the selected particles. The particles are translated by +/- a maximum of the Tunable parameter.