GhostTrialVolume

class GhostTrialVolume : public feasst::Modify

Compute pressure using ghost volume changes that are always rejected. 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 outputed standard deviation of the mean uses the largest possible block averages.

To improve numerical stability, a slight modification is made to the ensemble average. For small volume changes, the ensemble average is very close to unity. Thus, the implemented ensemble average is subtracted from unity, but then later added back when computing the pressure.

Public Functions

std::string header(const MonteCarlo &mc) const

Return the header for writing.

void initialize(MonteCarlo *mc)

Initialize and precompute before trials.

void update(MonteCarlo *mc)

Perform update.

std::string write(MonteCarlo *mc)

Perform write.

Arguments

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