SSAGES  0.1
A MetaDynamics Package
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Groups Pages
DirectForwardFlux.h
1 
22 #pragma once
23 
24 #include "Method.h"
25 #include "ForwardFlux.h"
26 
27 namespace SSAGES
28 {
30 
36  {
37  protected:
38  //-----------------------------------------------------------------
39  // Private Variables
40  //-----------------------------------------------------------------
41 
44  //std::vector<unsigned int> _M;
45 
46  //-----------------------------------------------------------------
47  // Private Functions
48  //-----------------------------------------------------------------
49 
51  void CheckForInterfaceCrossings(Snapshot*, const class CVManager&) override;
52 
54  void InitializeQueue(Snapshot*, const CVList&) override;
55 
56  public:
58 
65  DirectForwardFlux(const MPI_Comm& world,
66  const MPI_Comm& comm,
67  double ninterfaces, std::vector<double> interfaces,
68  unsigned int N0Target, std::vector<unsigned int> M,
69  bool initialFluxFlag, bool saveTrajectories,
70  unsigned int currentInterface, std::string output_directory, unsigned int frequency)
71  : ForwardFlux(world, comm, ninterfaces, interfaces, N0Target, M,
72  initialFluxFlag, saveTrajectories, currentInterface, output_directory, frequency) {}
73 
75 
79  void PostIntegration(Snapshot* snapshot, const class CVManager& cvmanager) override;
80 
82  static DirectForwardFlux* Build(const Json::Value& json,
83  const MPI_Comm& world,
84  const MPI_Comm& comm,
85  const std::string& path);
86  };
87 }
88 
89 /*
90 File Formats:
91 _indexfile
92 interface(some integer) dump_file_name(a string that contains interface and trial number)
93 example: 1 dump_1_10.xyz
94 
95 dumpfile
96 atomid posx posy posz vx vy vz
97 
98 
99 */
Collective variable manager.
Definition: CVManager.h:40
std::vector< CollectiveVariable * > CVList
List of Collective Variables.
Definition: types.h:51
Class containing a snapshot of the current simulation in time.
Definition: Snapshot.h:43
DirectForwardFlux(const MPI_Comm &world, const MPI_Comm &comm, double ninterfaces, std::vector< double > interfaces, unsigned int N0Target, std::vector< unsigned int > M, bool initialFluxFlag, bool saveTrajectories, unsigned int currentInterface, std::string output_directory, unsigned int frequency)
Constructor.
ForwardFlux sampling method.
Definition: ForwardFlux.h:38
void CheckForInterfaceCrossings(Snapshot *, const class CVManager &) override
Function that checks if interfaces have been crossed (different for each FFS flavor) ...
static DirectForwardFlux * Build(const Json::Value &json, const MPI_Comm &world, const MPI_Comm &comm, const std::string &path)
void PostIntegration(Snapshot *snapshot, const class CVManager &cvmanager) override
Post-integration hook.
void InitializeQueue(Snapshot *, const CVList &) override
Initialize the Queue.
ForwardFlux sampling method.