8 #include "ExternalEnergyAverage.h" 9 #include <ddMd/potentials/pair/PairPotential.h> 10 #include <ddMd/potentials/external/ExternalPotential.h> 11 #include <util/format/Int.h> 12 #include <util/format/Dbl.h> 13 #include <util/accumulators/Average.h> 14 #include <util/mpi/MpiLoader.h> 15 #include <util/misc/ioUtil.h> 40 if(accumulator_ != NULL) {
52 read<int>(in,
"nSamplePerBlock", nSamplePerBlock_);
59 isInitialized_ =
true;
69 loadParameter<int>(ar,
"nSamplePerBlock", nSamplePerBlock_);
74 UTIL_THROW(
"Inconsistent values of nSamplePerBlock");
77 isInitialized_ =
true;
88 ar << nSamplePerBlock_;
98 accumulator_->
clear();
108 double external = 0.0;
116 accumulator_->
sample(external);
132 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.
virtual void loadParameters(Serializable::IArchive &ar)
Load internal state from an archive.
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.
virtual void save(Serializable::OArchive &ar)
Save internal state to an archive.
virtual void sample(long iStep)
Dump configuration to file.
virtual void output()
Dump configuration to file.
void openOutputFile(const std::string &filename, std::ofstream &out, std::ios_base::openmode mode=std::ios_base::out) const
Open an output file.
virtual void clear()
Clear nSample counter.
void readInterval(std::istream &in)
Read parameter interval from file.
Parallel domain decomposition (DD) MD simulation.
Main object for a domain-decomposition MD simulation.
const ExternalPotential & externalPotential() const
Get the ExternalPotential by reference.
virtual void readParameters(std::istream &in)
Read dumpPrefix and interval.
Saving / output archive for binary ostream.
void loadOutputFileName(Serializable::IArchive &ar)
Load output file name to an archive.
virtual void loadParameters(Serializable::IArchive &ar)
Load internal state from 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 writeParam(std::ostream &out)
Write all parameters to an output stream.
void computePotentialEnergies()
Calculate and store total potential energy on all processors.
bool isAtInterval(long counter) const
Return true iff counter is a multiple of the interval.
Utility classes for scientific computation.
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.
double energy() const
Return the total potential, from all processors.
virtual ~ExternalEnergyAverage()
Destructor.
Saving archive for binary istream.
void sample(double value)
Add a sampled value to the ensemble.
int nSamplePerBlock() const
Get number of samples per block average.
void setClassName(const char *className)
Set class name string.
void loadInterval(Serializable::IArchive &ar)
Load parameter interval from input archive.
ExternalEnergyAverage(Simulation &simulation)
Constructor.
void saveOutputFileName(Serializable::OArchive &ar)
Save output file name to an archive.
Domain & domain()
Get the Domain by reference.