SSAGES  0.1
A MetaDynamics Package
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Groups Pages
Public Member Functions | Private Member Functions | Private Attributes | List of all members
SSAGES::FiniteTempString Class Reference

Finite Temperature Spring Method. More...

#include <FiniteTempString.h>

Inheritance diagram for SSAGES::FiniteTempString:
Inheritance graph
[legend]

Public Member Functions

 FiniteTempString (const MPI_Comm &world, const MPI_Comm &comm, const std::vector< double > &centers, 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
 Post-integration hook.
 
 ~FiniteTempString ()
 Destructor.
 
- Public Member Functions inherited from SSAGES::StringMethod
 StringMethod (const MPI_Comm &world, const MPI_Comm &comm, const std::vector< double > &centers, unsigned int maxiterations, const std::vector< double > cvspring, unsigned int frequency)
 Constructor. More...
 
void PreSimulation (Snapshot *snapshot, const class CVManager &cvmanager) override
 Pre-simulation hook.
 
void PostSimulation (Snapshot *, const class 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 (uint frequency, const MPI_Comm &world, const MPI_Comm &comm)
 Constructor. More...
 
void SetCVMask (const std::vector< uint > &mask)
 Sets the collective variable mask.
 
virtual ~Method ()
 Destructor.
 
- Public Member Functions inherited from SSAGES::EventListener
 EventListener (uint frequency)
 Constructor. More...
 
uint 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.
 
void StringUpdate ()
 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 StringMethodBuild (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 MethodBuildMethod (const Json::Value &json, const MPI_Comm &world, const MPI_Comm &comm, const std::string &path)
 Build a derived method from JSON node. 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.
 
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 has been met.
 
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.
 
uint 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< uint > cvmask_
 Mask which identifies which CVs to act on.
 

Detailed Description

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.

Constructor & Destructor Documentation

SSAGES::FiniteTempString::FiniteTempString ( const MPI_Comm &  world,
const MPI_Comm &  comm,
const std::vector< double > &  centers,
unsigned int  maxiterations,
unsigned int  blockiterations,
double  tau,
const std::vector< double >  cvspring,
double  kappa,
unsigned int  springiter,
unsigned int  frequency 
)
inline

Constructor.

Parameters
worldMPI global communicator.
commMPI local communicator.
centersList of centers.
maxiterationsMaximum number of iterations.
blockiterationsNumber of iterations per block averaging.
tauValue of tau (default: 0.1).
cvspringSpring constants for cvs.
kappaValue of kappa (default: 0.1).
springiterMinimum number of umbrella steps.
frequencyFrequency 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 85 of file FiniteTempString.h.

References SSAGES::StringMethod::prev_IDs_, SSAGES::StringMethod::prev_positions_, and SSAGES::StringMethod::prev_velocities_.

94  :
95  StringMethod(world, comm, centers, maxiterations, cvspring, frequency),
96  kappa_(kappa), blockiterations_(blockiterations), tau_(tau),
97  min_num_umbrella_steps_(springiter), run_umbrella_(true),
99  {
101  prev_positions_.resize(1);
102 
104  prev_velocities_.resize(1);
105 
106  prev_IDs_.resize(1);
107 
108  }
StringMethod(const MPI_Comm &world, const MPI_Comm &comm, const std::vector< double > &centers, unsigned int maxiterations, const std::vector< double > cvspring, unsigned int frequency)
Constructor.
Definition: StringMethod.h:170
int run_umbrella_
Flag to run umbrella or not during post-integration.
std::vector< std::vector< double > > prev_velocities_
Store velocities for starting trajectories.
Definition: StringMethod.h:88
unsigned int min_num_umbrella_steps_
Minimum number of steps to apply umbrella sampling.
unsigned int blockiterations_
Number of steps to block average the CV's postions over.
std::vector< std::vector< int > > prev_IDs_
Store atom IDs for starting trajectories.
Definition: StringMethod.h:91
double tau_
Time step of string change.
bool reset_for_umbrella
Flag for whether a system was to run umbrella sampling before checking against other systems...
unsigned int umbrella_iter_
Iterator that keeps track of umbrella iterations.
std::vector< std::vector< double > > prev_positions_
Store positions for starting trajectories.
Definition: StringMethod.h:85
double kappa_
String modification parameter.

The documentation for this class was generated from the following files: