SSAGES
0.9.3
Software Suite for Advanced General Ensemble Simulations
|
Finite Temperature Spring Method. More...
#include <FiniteTempString.h>
Public Member Functions | |
FiniteTempString (const MPI_Comm &world, const MPI_Comm &comm, const std::vector< double > ¢ers, unsigned int maxiterations, unsigned int blockiterations, double tau, const std::vector< double > cvspring, double kappa, unsigned int springiter, unsigned int frequency) | |
Constructor. More... | |
void | PostIntegration (Snapshot *snapshot, const class CVManager &cvmanager) override |
Method call post integration. More... | |
~FiniteTempString () | |
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 | |
bool | InCell (const CVList &cvs) const |
Checks if CV is in Voronoi cell. More... | |
void | StringUpdate () override |
Updates the string according to the FTS method. | |
Private Attributes | |
double | kappa_ |
String modification parameter. | |
unsigned int | blockiterations_ |
Number of steps to block average the CV's postions over. | |
double | tau_ |
Time step of string change. | |
unsigned int | min_num_umbrella_steps_ |
Minimum number of steps to apply umbrella sampling. | |
int | run_umbrella_ |
Flag to run umbrella or not during post-integration. | |
unsigned int | umbrella_iter_ |
Iterator that keeps track of umbrella iterations. | |
std::vector< double > | prev_CVs_ |
Stores the last positions of the CVs. | |
bool | reset_for_umbrella |
Flag for whether a system was to run umbrella sampling before checking against other systems. | |
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. | |
Finite Temperature Spring Method.
Implementation of a multi-walker finite string method with hard wall voronoi cells and running block averages.
Definition at line 35 of file FiniteTempString.h.
|
inline |
Constructor.
world | MPI global communicator. |
comm | MPI local communicator. |
centers | List of centers. |
maxiterations | Maximum number of iterations. |
blockiterations | Number of iterations per block averaging. |
tau | Value of tau (default: 0.1). |
cvspring | Spring constants for cvs. |
kappa | Value of kappa (default: 0.1). |
springiter | Minimum number of umbrella steps. |
frequency | Frequency with which this method is invoked. |
Constructs an instance of Finite String method.
Store positions for starting trajectories
Store velocities for starting trajectories
Definition at line 90 of file FiniteTempString.h.
References SSAGES::StringMethod::prev_IDs_, SSAGES::StringMethod::prev_positions_, and SSAGES::StringMethod::prev_velocities_.
|
private |
Checks if CV is in Voronoi cell.
cvs | List of CVs to check |
Definition at line 32 of file FiniteTempString.cpp.
References SSAGES::StringMethod::mpiid_, SSAGES::StringMethod::numnodes_, and SSAGES::StringMethod::worldstring_.
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 48 of file FiniteTempString.cpp.
References blockiterations_, SSAGES::StringMethod::centers_, SSAGES::StringMethod::CheckEnd(), SSAGES::Method::cvmask_, SSAGES::StringMethod::cvspring_, SSAGES::CVManager::GetCVs(), SSAGES::Snapshot::GetForces(), SSAGES::Snapshot::GetLocalIndex(), SSAGES::Snapshot::GetPositions(), InCell(), SSAGES::StringMethod::iteration_, SSAGES::StringMethod::iterator_, min_num_umbrella_steps_, SSAGES::StringMethod::newcenters_, prev_CVs_, SSAGES::StringMethod::prev_IDs_, SSAGES::StringMethod::prev_positions_, SSAGES::StringMethod::PrintString(), reset_for_umbrella, run_umbrella_, SSAGES::Snapshot::SerializeIDs(), SSAGES::Snapshot::SerializePositions(), StringUpdate(), umbrella_iter_, SSAGES::StringMethod::UpdateWorldString(), and SSAGES::Method::world_.