9 #include "McStressAutoCorrelation.h" 18 : StressAutoCorrelation<
McSystem>(system)
19 { setClassName(
"McStressAutoCorrelation"); }
30 void McStressAutoCorrelation::sample(
long iStep)
42 if (isAtInterval(iStep)){
46 elements[0] = (total(0,0) - pressure / 3.0) / (10.0 * temperature);
47 elements[1] = (total(0,1) + total(1,0)) / 2.0 / (10.0 * temperature);
48 elements[2] = (total(0,2) + total(2,0)) / 2.0 / (10.0 * temperature);
49 elements[3] = elements[1];
50 elements[4] = (total(1,1) - pressure / 3.0) / (10.0 * temperature);
51 elements[5] = (total(1,2) + total(2,1)) / 2.0 / (10.0 * temperature);
52 elements[6] = elements[2];
53 elements[7] = elements[5];
54 elements[8] = (total(2,2) - pressure / 3.0) / (10.0 * temperature);
56 accumulator_.sample(elements);
A System for use in a Markov chain Monte Carlo simulation.
EnergyEnsemble & energyEnsemble() const
Get the EnergyEnsemble by reference.
A Tensor represents a Cartesian tensor.
void computeStress(T &stress) const
Compute total pressure (T=double), xyz pressures (T=Vector) or stress (T=Tensor). ...
void computeVirialStress(T &stress) const
Compute total virial stress (excludes kinetic contribution).
~McStressAutoCorrelation()
Destructor.
McStressAutoCorrelation(McSystem &system)
Constructor.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
void allocate(int capacity)
Allocate the underlying C array.
double temperature() const
Return the temperature.