8 #include "PairEnergyAverage.h" 9 #include <ddMd/potentials/pair/PairPotential.h> 10 #include <util/format/Int.h> 11 #include <util/format/Dbl.h> 12 #include <util/accumulators/Average.h> 13 #include <util/mpi/MpiLoader.h> 14 #include <util/misc/ioUtil.h> 53 readDArray<int>(in,
"pairs", pairs_, 2);
54 read<int>(in,
"nSamplePerBlock", nSamplePerBlock_);
60 isInitialized_ =
true;
71 loadDArray<int>(ar,
"pairs", pairs_, 2);
72 loadParameter<int>(ar,
"nSamplePerBlock", nSamplePerBlock_);
76 if (nSamplePerBlock_ != accumulator_->nSamplePerBlock()) {
77 UTIL_THROW(
"Inconsistent values of nSamplePerBlock");
80 isInitialized_ =
true;
91 ar << nSamplePerBlock_;
101 accumulator_->
clear();
116 pair(i,j) = 0.5*( pair(i,j)+pair(j,i) );
117 pair(j,i) = pair(i,j);
120 accumulator_->
sample(pair(pairs_[0],pairs_[1]));
135 accumulator_->
output(outputFile_);
Abstract base for periodic output and/or analysis actions.
void clear()
Clear all accumulators, set to empty initial state.
Simulation & simulation()
Get the parent Simulation by reference.
PairEnergyAverage(Simulation &simulation)
Constructor.
void readOutputFileName(std::istream &in)
Read outputFileName from file.
void saveInterval(Serializable::OArchive &ar)
Save interval parameter to an archive.
Calculates the average and variance of a sampled property.
DMatrix< double > pairEnergies() const
Return precomputed pair energies.
void openOutputFile(const std::string &filename, std::ofstream &out, std::ios_base::openmode mode=std::ios_base::out) const
Open an output file.
void readInterval(std::istream &in)
Read parameter interval from file.
virtual void save(Serializable::OArchive &ar)
Save internal state to an archive.
Parallel domain decomposition (DD) MD simulation.
Main object for a domain-decomposition MD simulation.
virtual void loadParameters(Serializable::IArchive &ar)
Load internal state from an archive.
Saving / output archive for binary ostream.
void loadOutputFileName(Serializable::IArchive &ar)
Load output file name to an archive.
FileMaster & fileMaster()
Get the associated FileMaster by reference.
#define UTIL_THROW(msg)
Macro for throwing an Exception, reporting function, file and line number.
virtual void output()
Dump configuration to file.
virtual void writeParam(std::ostream &out)
Write all parameters to an output stream.
bool isAtInterval(long counter) const
Return true iff counter is a multiple of the interval.
Utility classes for scientific computation.
void computePairEnergies()
Compute pair energies for each pair of atom types.
const std::string & outputFileName() const
Return outputFileName string.
void output(std::ostream &out) const
Output final statistical properties to file.
bool isMaster() const
Is this the master processor (gridRank == 0) ?
void setNSamplePerBlock(int nSamplePerBlock)
Set nSamplePerBlock.
Saving archive for binary istream.
void sample(double value)
Add a sampled value to the ensemble.
virtual ~PairEnergyAverage()
Destructor.
virtual void sample(long iStep)
Dump configuration to file.
void setClassName(const char *className)
Set class name string.
void loadInterval(Serializable::IArchive &ar)
Load parameter interval from input archive.
int nAtomType()
Get maximum number of atom types.
void allocate(int capacity)
Allocate the underlying C array.
virtual void clear()
Clear nSample counter.
void saveOutputFileName(Serializable::OArchive &ar)
Save output file name to an archive.
Domain & domain()
Get the Domain by reference.
virtual void readParameters(std::istream &in)
Read dumpPrefix and interval.