SSAGES
0.9.3
Software Suite for Advanced General Ensemble Simulations
|
Swarm of Trajectories String Method. More...
#include <Swarm.h>
Public Member Functions | |
Swarm (const MPI_Comm &world, const MPI_Comm &comm, const std::vector< double > ¢ers, unsigned int maxiterations, const std::vector< double > cvspring, unsigned int frequency, unsigned int InitialSteps, unsigned int HarvestLength, unsigned int NumberTrajectories, unsigned int SwarmLength) | |
Constructor. More... | |
void | PostIntegration (Snapshot *snapshot, const class CVManager &cvmanager) override |
Method call post integration. More... | |
~Swarm () | |
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 positions of the string. | |
bool | CVInitialized (const CVList &cvs) |
Helper function check if CVs are initialized correctly. More... | |
Private Attributes | |
std::vector< double > | cv_drift_ |
Drift of CVs for one iteration. | |
unsigned int | initialize_steps_ |
Total number of MD steps for initialization for one iteration. | |
unsigned int | harvest_length_ |
Length to run before harvesting a trajectory for unrestrained sampling. | |
unsigned int | restrained_steps_ |
Total number of restrained MD steps for one iteration. | |
unsigned int | number_trajectories_ |
Number of trajectories per swarm. | |
unsigned int | swarm_length_ |
Length of unrestrained trajectories. | |
unsigned int | unrestrained_steps_ |
Total number of unrestrained MD steps for one iteration. | |
unsigned int | index_ |
For indexing trajectory vectors. | |
std::vector< Label > | traj_atomids_ |
Store atom IDs for starting trajecotires. | |
bool | sampling_started |
Flag for determing whether to perform initialization or not. | |
bool | snapshot_stored |
Flag for whether a snapshot was stored in the umbrella sampling. | |
int | initialized |
Flag for whether a system is initialized at a given iteration. | |
bool | original_initialized |
Flag for whether a system was initialized before it checked whether other systems were. | |
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. | |
|
inline |
Constructor.
world | MPI global communicator. |
comm | MPI local communicator. |
centers | List of centers. |
maxiterations | Maximum number of iterations. |
cvspring | Spring constants for CVs. |
frequency | Aplly method with this frequency. |
InitialSteps | Number of initial steps. |
HarvestLength | Length of trajectory before weighing. |
NumberTrajectories | Number of trajectories. |
SwarmLength | Lengt of the swarms. |
Constructs an instance of the swarm of trajectories method.
Definition at line 103 of file Swarm.h.
References SSAGES::StringMethod::centers_, cv_drift_, harvest_length_, index_, SSAGES::StringMethod::iterator_, number_trajectories_, SSAGES::StringMethod::prev_IDs_, SSAGES::StringMethod::prev_positions_, SSAGES::StringMethod::prev_velocities_, restrained_steps_, sampling_started, snapshot_stored, swarm_length_, and unrestrained_steps_.
|
private |
Helper function check if CVs are initialized correctly.
cvs | List of CVs to check |
Definition at line 35 of file Swarm.cpp.
References SSAGES::StringMethod::centers_.
Referenced by PostIntegration().
|
overridevirtual |
Method call post integration.
Post-integration hook
snapshot | Pointer to the simulation snapshot. |
cvmanager | Collective variable manager. |
This function will be called after each integration step.
Implements SSAGES::StringMethod.
Definition at line 70 of file Swarm.cpp.
References SSAGES::StringMethod::centers_, SSAGES::StringMethod::CheckEnd(), cv_drift_, CVInitialized(), SSAGES::Method::cvmask_, SSAGES::StringMethod::cvspring_, SSAGES::CVManager::GetCVs(), SSAGES::Snapshot::GetForces(), SSAGES::Snapshot::GetLocalIndex(), SSAGES::Snapshot::GetPositions(), SSAGES::Snapshot::GetVelocities(), harvest_length_, index_, initialize_steps_, initialized, SSAGES::StringMethod::iteration_, SSAGES::StringMethod::iterator_, number_trajectories_, original_initialized, SSAGES::StringMethod::prev_IDs_, SSAGES::StringMethod::prev_positions_, SSAGES::StringMethod::prev_velocities_, SSAGES::StringMethod::PrintString(), restrained_steps_, sampling_started, SSAGES::Snapshot::SerializeIDs(), SSAGES::Snapshot::SerializePositions(), SSAGES::Snapshot::SerializeVelocities(), snapshot_stored, StringUpdate(), swarm_length_, unrestrained_steps_, SSAGES::StringMethod::UpdateWorldString(), and SSAGES::Method::world_.