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).
-
std::string header(const MonteCarlo &mc) const