1 #ifndef MCMD_MC_NVT_CHEMICAL_POTENTIAL_H 2 #define MCMD_MC_NVT_CHEMICAL_POTENTIAL_H 11 #include <mcMd/analyzers/SystemAnalyzer.h> 12 #include <mcMd/mcSimulation/McSystem.h> 13 #include <simp/ensembles/EnergyEnsemble.h> 14 #include <util/accumulators/Average.h> 15 #include <util/accumulators/Distribution.h> 16 #include <util/random/Random.h> 17 #include <util/archives/Serializable.h> 51 virtual void readParameters(std::istream& in);
61 virtual void sample(
long iStep);
66 virtual void output();
88 template <
class Archive>
89 void serialize(Archive& ar,
const unsigned int version);
114 double boltzmann(
double energy);
138 void addEndAtom(
Molecule* molPtr,
int atomId,
double &rosenbluth,
150 void uniformCone(
const double length,
const double angle,
154 static const int MaxTrial_ = 200;
172 std::ofstream outputFile_;
178 std::ofstream EoutputFile_;
193 std::ofstream EcoutputFile_;
208 std::ofstream EmoutputFile_;
223 std::ofstream BRoutputFile_;
247 int nSamplePerBlock_;
262 inline McSystem& McNVTChemicalPotential::system()
263 {
return *systemPtr_; }
268 inline Simulation& McNVTChemicalPotential::simulation()
269 {
return *simulationPtr_; }
274 inline Boundary& McNVTChemicalPotential::boundary()
275 {
return *boundaryPtr_; }
281 {
return *energyEnsemblePtr_; }
286 inline Random& McNVTChemicalPotential::random()
287 {
return *randomPtr_; }
292 inline double McNVTChemicalPotential::boltzmann(
double energy)
293 {
return exp(-energyEnsemblePtr_->beta()*energy); }
298 template <
class Archive>
300 const unsigned int version)
302 if (!isInitialized_) {
307 ar & nSamplePerBlock_;
A System for use in a Markov chain Monte Carlo simulation.
A Vector is a Cartesian vector.
Calculates the average and variance of a sampled property.
An orthorhombic periodic unit cell.
Classes used by all simpatico molecular simulations.
void serialize(Archive &ar, PairSelector &selector, const unsigned int version)
Serialize a PairSelector.
The main object in a simulation, which coordinates others.
McNVTChemicalPotential uses configuration bias algorithm to calculate the chemical potential of a lin...
Saving / output archive for binary ostream.
A statistical ensemble for energy.
#define UTIL_THROW(msg)
Macro for throwing an Exception, reporting function, file and line number.
Utility classes for scientific computation.
void serialize(Archive &ar, const unsigned int version)
Serialize to/from an archive.
Template for Analyzer associated with one System.
Saving archive for binary istream.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
A distribution (or histogram) of values for a real variable.
A physical molecule (a set of covalently bonded Atoms).