SSAGES  0.9.3
Software Suite for Advanced General Ensemble Simulations
ElasticBand.h
1 
20 #pragma once
21 
22 #include "StringMethod.h"
23 #include <fstream>
24 
25 namespace SSAGES
26 {
28 
34  class ElasticBand : public StringMethod
35  {
36  private:
39  unsigned int equilibrate_;
40 
43  unsigned int evolution_;
44 
46  unsigned int nsamples_;
47 
49  unsigned int nsampled_;
50 
52  double tau_;
53 
55  double stringspring_;
56 
58  void StringUpdate() override;
59 
60  public:
62 
77  ElasticBand(const MPI_Comm& world,
78  const MPI_Comm& comm,
79  const std::vector<double>& centers,
80  unsigned int maxiterations,
81  unsigned int nsamples,
82  double tau,
83  const std::vector<double> cvspring,
84  unsigned int equilibrate,
85  unsigned int evolution,
86  double stringspring,
87  unsigned int frequency) :
88  StringMethod(world, comm, centers, maxiterations,
89  cvspring, frequency), equilibrate_(equilibrate),
90  evolution_(evolution), nsamples_(nsamples),
91  nsampled_(0), tau_(tau), stringspring_(stringspring)
92  {
93  }
94 
96 
100  void PostIntegration(Snapshot* snapshot, const class CVManager& cvmanager) override;
101 
104  };
105 }
Collective variable manager.
Definition: CVManager.h:43
Multi-walker Elastic Band.
Definition: ElasticBand.h:35
void StringUpdate() override
Updates the nudged elastic band string.
Definition: ElasticBand.cpp:81
unsigned int equilibrate_
Definition: ElasticBand.h:39
unsigned int nsampled_
Number samples actually sampled.
Definition: ElasticBand.h:49
double stringspring_
String spring constant.
Definition: ElasticBand.h:55
~ElasticBand()
Destructor.
Definition: ElasticBand.h:103
double tau_
Time step of string change.
Definition: ElasticBand.h:52
void PostIntegration(Snapshot *snapshot, const class CVManager &cvmanager) override
Post-integration hook.
Definition: ElasticBand.cpp:30
unsigned int evolution_
Definition: ElasticBand.h:43
ElasticBand(const MPI_Comm &world, const MPI_Comm &comm, const std::vector< double > &centers, 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.
Definition: ElasticBand.h:77
unsigned int nsamples_
Block iterations.
Definition: ElasticBand.h:46
Class containing a snapshot of the current simulation in time.
Definition: Snapshot.h:48
String base class for FTS, Swarm, and elastic band.
Definition: StringMethod.h:39