SSAGES
0.9.3
Software Suite for Advanced General Ensemble Simulations
|
Multi-walker Elastic Band. More...
#include <ElasticBand.h>
Public Member Functions | |
ElasticBand (const MPI_Comm &world, const MPI_Comm &comm, const std::vector< double > ¢ers, unsigned int maxiterations, unsigned int nsamples, double tau, const std::vector< double > cvspring, unsigned int equilibrate, unsigned int evolution, double stringspring, unsigned int frequency) | |
Constructor. More... | |
void | PostIntegration (Snapshot *snapshot, const class CVManager &cvmanager) override |
Post-integration hook. More... | |
~ElasticBand () | |
Destructor. | |
Public Member Functions inherited from SSAGES::StringMethod | |
StringMethod (const MPI_Comm &world, const MPI_Comm &comm, const std::vector< double > ¢ers, unsigned int maxiterations, const std::vector< double > cvspring, unsigned int frequency) | |
Constructor. More... | |
void | PreSimulation (Snapshot *snapshot, const class CVManager &cvmanager) override |
Method call prior to simulation initiation. More... | |
void | PostSimulation (Snapshot *snapshot, const class CVManager &cvmanager) override |
Method call post simulation. More... | |
void | SetTolerance (std::vector< double > tol) |
Set the tolerance for quitting method. More... | |
void | SetSendRecvNeighbors () |
Communicate neighbor lists over MPI. | |
virtual | ~StringMethod () |
Destructor. | |
Public Member Functions inherited from SSAGES::Method | |
Method (unsigned int frequency, const MPI_Comm &world, const MPI_Comm &comm) | |
Constructor. More... | |
void | SetCVMask (const std::vector< unsigned int > &mask) |
Sets the collective variable mask. More... | |
virtual | ~Method () |
Destructor. | |
Public Member Functions inherited from SSAGES::EventListener | |
EventListener (unsigned int frequency) | |
Constructor. More... | |
unsigned int | GetFrequency () const |
Get frequency of event listener. More... | |
virtual | ~EventListener () |
Destructor. | |
Private Member Functions | |
void | StringUpdate () override |
Updates the nudged elastic band string. | |
Private Attributes | |
unsigned int | equilibrate_ |
unsigned int | evolution_ |
unsigned int | nsamples_ |
Block iterations. | |
unsigned int | nsampled_ |
Number samples actually sampled. | |
double | tau_ |
Time step of string change. | |
double | stringspring_ |
String spring constant. | |
Additional Inherited Members | |
Static Public Member Functions inherited from SSAGES::StringMethod | |
static StringMethod * | Build (const Json::Value &json, const MPI_Comm &world, const MPI_Comm &comm, const std::string &path) |
Build a derived method from JSON node. More... | |
Static Public Member Functions inherited from SSAGES::Method | |
static Method * | BuildMethod (const Json::Value &json, const MPI_Comm &world, const MPI_Comm &comm, const std::string &path) |
Build a derived method from JSON node. More... | |
Static Public Member Functions inherited from SSAGES::EventListener | |
static unsigned int | GetWalkerID (const MPI_Comm &world, const MPI_Comm &comm) |
Get walker ID number of specified communicator. More... | |
static unsigned int | GetNumWalkers (const MPI_Comm &world, const MPI_Comm &comm) |
Get total number of walkers in the simulation. More... | |
static bool | IsMasterRank (const MPI_Comm &comm) |
Check if current processor is master. More... | |
Protected Member Functions inherited from SSAGES::StringMethod | |
double | distance (const std::vector< double > &x, const std::vector< double > &y) const |
Helper function for calculating distances. More... | |
void | PrintString (const CVList &CV) |
Prints the CV positions to file. More... | |
void | GatherNeighbors (std::vector< double > *lcv0, std::vector< double > *ucv0) |
Gather neighbors over MPI. More... | |
void | StringReparam (double alpha_star) |
Reparameterize the string. More... | |
void | UpdateWorldString (const CVList &cvs) |
Update the world string over MPI. More... | |
bool | TolCheck () const |
Check whether tolerance criteria have been met. More... | |
bool | CheckEnd (const CVList &CV) |
Check if method reached one of the exit criteria. More... | |
Protected Attributes inherited from SSAGES::StringMethod | |
std::vector< double > | centers_ |
CV starting location values. | |
std::vector< double > | newcenters_ |
CV starting location values. | |
std::vector< std::vector< double > > | worldstring_ |
The world's strings centers for each CV. More... | |
int | mpiid_ |
The node this belongs to. | |
std::vector< double > | tol_ |
Tolerance criteria for determining when to stop string (default 0 if no tolerance criteria) | |
int | numnodes_ |
Number of nodes on a string. | |
unsigned int | maxiterator_ |
Maximum cap on number of string method iterations performed. | |
std::vector< double > | cvspring_ |
Vector of spring constants. | |
unsigned int | iterator_ |
The local method iterator. | |
unsigned int | iteration_ |
The global method iteration. | |
std::ofstream | stringout_ |
Output stream for string data. | |
int | sendneigh_ |
Neighbor to send info to. | |
int | recneigh_ |
Neighbor to gain info from. | |
std::vector< std::vector< double > > | prev_positions_ |
Store positions for starting trajectories. | |
std::vector< std::vector< double > > | prev_velocities_ |
Store velocities for starting trajectories. | |
std::vector< std::vector< int > > | prev_IDs_ |
Store atom IDs for starting trajectories. | |
Protected Attributes inherited from SSAGES::Method | |
mxx::comm | world_ |
Global MPI communicator. | |
mxx::comm | comm_ |
Local MPI communicator. | |
std::vector< unsigned int > | cvmask_ |
Mask which identifies which CVs to act on. | |
Multi-walker Elastic Band.
Implementation of a multi-walker Elastic Band method with no bells and whistles.
Definition at line 34 of file ElasticBand.h.
|
inline |
Constructor.
world | MPI global communicator. |
comm | MPI local communicator. |
centers | List of centers. |
maxiterations | Maximum number of iterations. |
nsamples | Number of samples to collect before updating string. |
tau | Value of tau (default: 0.1). |
cvspring | Spring constants for cvs. |
equilibrate | Number of MD steps to allow the system to reequilibrate after updating string. |
evolution | Number of MD steps to allow the system to evolve before gathering statistics. |
stringspring | Spring constant used between nodes. |
frequency | Frequency with which this method is invoked. |
Constructs an instance of Elastic Band method.
Definition at line 77 of file ElasticBand.h.
|
overridevirtual |
Post-integration hook.
snapshot | Current simulation snapshot. |
cvmanager | Collective variable manager. |
Implements SSAGES::StringMethod.
Definition at line 30 of file ElasticBand.cpp.
References SSAGES::StringMethod::centers_, SSAGES::StringMethod::CheckEnd(), SSAGES::Method::cvmask_, SSAGES::StringMethod::cvspring_, equilibrate_, evolution_, SSAGES::CVManager::GetCVs(), SSAGES::Snapshot::GetForces(), SSAGES::StringMethod::iteration_, SSAGES::StringMethod::iterator_, SSAGES::StringMethod::newcenters_, nsampled_, nsamples_, SSAGES::StringMethod::PrintString(), StringUpdate(), and SSAGES::StringMethod::UpdateWorldString().
|
private |
Number Equilibration steps, number of MD steps to allow the system to reequilibrate before evolving.
Definition at line 39 of file ElasticBand.h.
Referenced by PostIntegration().
|
private |
Number evolution steps, number of MD steps before collecting statistics for gradients.
Definition at line 43 of file ElasticBand.h.
Referenced by PostIntegration().