MayerSampling

class MayerSampling : public feasst::Criteria

Mayer-sampling Monte Carlo acceptance criteria (see https://doi.org/10.1103/PhysRevLett.92.220601).

Public Functions

MayerSampling(argtype args = argtype())

args:

  • num_trials_per_iteration: define an iteration as a number of trials (as measured by number of calls to is_accepted) default: 1e9.

  • intra_potential: index of intramolecular potential that will be used to select the move. Ignore if -1 (default: -1).

void precompute(System *system)

Disable optimization when overlap is detected.

bool is_accepted(const System &system, Acceptance *acceptance, Random *random)

Return whether or not the trial attempt should be accepted.

const Accumulator &mayer() const

Return the mayer ensemble of the full potential.

const Accumulator &mayer_ref() const

Return the mayer ensemble of the reference potential.

double second_virial_ratio() const

Return the ratio of the second virial coefficient of the full potential to the second virial coefficient of the reference potential.

double second_virial_ratio_block_stdev() const

Return the block standard deviation of the second_virial_ratio. This is computed using the error propogation formula variance formula:

\(f = mayer/mayer_ref\)

\(\sigma_f = \sqrt{(\sigma_{mayer}/mayer_ref)^2 + (f\sigma_{mayer_ref}/mayer_ref)^2}\)

std::string write() const

Return a human-readable output of all data (not as brief as status).