PerturbVolume

class PerturbVolume : public feasst::Perturb

Change the volume of the system uniformly randomly in \(\ln V\).

Arguments

PerturbVolume(argtype args = argtype())

args:

  • uniform_volume: if true, change volume uniformly in V instead of \(\ln V\) (default: false).

  • constrain_volume_change: if true, use the previous volume change to do the opposite for use as the second stage in Gibbs ensemble (default: false).

  • Tunable arguments.

Public Functions

const bool uniform_volume() const

Return true if the volume is changed uniformly.

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

Perturb the selection of the system.

void change_volume(const double delta_volume, System *system, const Select &select)

Change volume.

void revert(System *system)

Revert the system for an unaccepted perturbation.

void finalize(System *system)

Finalize the system for an accepted perturbation.