2 #ifndef MCMD_REPLICA_MOVE_H 3 #define MCMD_REPLICA_MOVE_H 15 #include <util/param/ParamComposite.h> 16 #include <util/space/Vector.h> 17 #include <util/misc/Notifier.h> 18 #include <util/containers/DArray.h> 19 #include <util/containers/Pair.h> 92 virtual void readParameters(std::istream& in);
116 long interval()
const;
123 bool isAtInterval(
long counter)
const;
131 void notifyObservers(sendRecvPair partners);
156 MPI::Intracomm* communicatorPtr_;
165 std::ofstream outputFile_;
195 {
return interval_; }
201 {
return (counter%interval_ == 0); }
207 {
return swapAttempt_; }
213 {
return swapAccept_; }
226 #endif // ifdef UTIL_MPI A Vector is a Cartesian vector.
Replica exchange Monte Carlo move using Gibbs sampling.
long nAccept()
Number of accepted swaps.
A set of interacting Molecules enclosed by a Boundary.
File containing preprocessor macros for error handling.
long nAttempt()
Number of swap attempts.
Saving / output archive for binary ostream.
long interval() const
Get interval (number of steps between successives attempts).
Pair< int > sendRecvPair
A pair of receiving and sending partner ranks.
Utility classes for scientific computation.
Abstract template for a notifier (or subject) in the Observer design pattern.
Saving archive for binary istream.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
bool isAtInterval(long counter) const
Return true iff counter is a multiple of the interval.
An object that can read multiple parameters from file.
System & system()
Return the associated system by reference.