SSAGES  0.8.3
Software Suite for Advanced General Ensemble Simulations
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  DirectForwardFlux(const MPI_Comm& world,
59  const MPI_Comm& comm,
60  double ninterfaces, std::vector<double> interfaces,
61  unsigned int N0Target, std::vector<unsigned int> M,
62  bool initialFluxFlag, bool saveTrajectories,
63  unsigned int currentInterface, std::string output_directory, unsigned int frequency)
64  : ForwardFlux(world, comm, ninterfaces, interfaces, N0Target, M,
65  initialFluxFlag, saveTrajectories, currentInterface, output_directory, frequency) {}
66 
68 
72  void PostIntegration(Snapshot* snapshot, const class CVManager& cvmanager) override;
73 
75  static DirectForwardFlux* Build(const Json::Value& json,
76  const MPI_Comm& world,
77  const MPI_Comm& comm,
78  const std::string& path);
79  };
80 }
81 
82 /*
83 File Formats:
84 _indexfile
85 interface(some integer) dump_file_name(a string that contains interface and trial number)
86 example: 1 dump_1_10.xyz
87 
88 dumpfile
89 atomid posx posy posz vx vy vz
90 
91 
92 */
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)
Build a derived method from JSON node.
void PostIntegration(Snapshot *snapshot, const class CVManager &cvmanager) override
Post-integration hook.
void InitializeQueue(Snapshot *, const CVList &) override
Initialize the Queue.
ForwardFlux sampling method.