PressureFromTestVolume

class PressureFromTestVolume : public feasst::Modify

Compute pressure using test volume changes. See https://doi.org/10.1063/1.472721

Hard systems must consider only volume reductions (i.e., negative delta_volume).

\(p = \frac{1}{\beta \Delta V}\ln \left\langle \left(\frac{V'}{V}\right)^N e^{-\beta\Delta U}\right\rangle \)

The output block standard deviation used the error propagation formula:

\( f = \ln(g) \)

\( \sigma_f = \sigma_g/|g| \)

where \(\sigma_g\) is a block average from the term above in the ensemble average.

Public Functions

std::string header(const Criteria &criteria, const System &system, const TrialFactory &trials) const

Return the header for writing.

void initialize(Criteria *criteria, System *system, TrialFactory *trial_factory)

Initialize and precompute before trials.

void update(Criteria *criteria, System *system, Random *random, TrialFactory *trial_factory)

Perform update.

std::string write(Criteria *criteria, System *system, TrialFactory *trial_factory)

Perform write.

Arguments

  • delta_volume: test volume change (default: 1e-4).