Simpatico  v1.10
HybridMdMove.h
1 #ifndef MCMD_HYBRID_MD_MOVE_H
2 #define MCMD_HYBRID_MD_MOVE_H
3 
4 /*
5 * Simpatico - Simulation Package for Polymeric and Molecular Liquids
6 *
7 * Copyright 2010 - 2017, The Regents of the University of Minnesota
8 * Distributed under the terms of the GNU General Public License.
9 */
10 
11 #include <mcMd/mcMoves/SystemMove.h> // base class
12 #include <util/containers/DArray.h> // member template
13 #include <util/space/Vector.h> // member template parameter
14 
15 namespace McMd
16 {
17 
18  using namespace Util;
19 
20  class McSystem;
21  class MdSystem;
22 
23 
31  class HybridMdMove : public SystemMove
32  {
33 
34  public:
35 
41  HybridMdMove(McSystem& system);
42 
46  ~HybridMdMove();
47 
51  virtual void readParameters(std::istream& in);
52 
58  virtual void loadParameters(Serializable::IArchive& ar);
59 
65  virtual void save(Serializable::OArchive& ar);
66 
70  bool move();
71 
72  private:
73 
75  MdSystem *mdSystemPtr_;
76 
78  DArray<Vector> oldPositions_;
79 
81  int nStep_;
82  };
83 
84 }
85 #endif
A System for use in a Markov chain Monte Carlo simulation.
Definition: McSystem.h:52
HybridMdMove is a hybrid Molecular Dynamics MC move.
Definition: HybridMdMove.h:31
Saving / output archive for binary ostream.
Utility classes for scientific computation.
Definition: accumulators.mod:1
An McMove that acts on one McSystem.
Definition: SystemMove.h:28
Dynamically allocatable contiguous array template.
Definition: DArray.h:31
Saving archive for binary istream.
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
A System for Molecular Dynamics simulation.
Definition: MdSystem.h:68