Simpatico  v1.10
HybridNphMdMove.h
1 #ifndef MCMD_HYBRID_NPH_MD_MOVE_H
2 #define MCMD_HYBRID_NPH_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 #include <mcMd/mdIntegrators/NphIntegrator.h>
15 
16 namespace McMd
17 {
18 
19  using namespace Util;
20 
21  class McSystem;
22  class MdSystem;
23 
24 
32  class HybridNphMdMove : public SystemMove
33  {
34 
35  public:
36 
42  HybridNphMdMove(McSystem& system);
43 
47  ~HybridNphMdMove();
48 
54  virtual void readParameters(std::istream& in);
55 
61  virtual void loadParameters(Serializable::IArchive &ar);
62 
68  virtual void save(Serializable::OArchive &ar);
69 
73  bool move();
74 
75  private:
76 
78  MdSystem *mdSystemPtr_;
79 
81  DArray<Vector> oldPositions_;
82 
84  int nStep_;
85 
87  NphIntegrator* nphIntegratorPtr_;
88 
90  double barostatMass_;
91 
93  LatticeSystem mode_;
94 
95  };
96 
97 }
98 #endif
A System for use in a Markov chain Monte Carlo simulation.
Definition: McSystem.h:52
HybridNphMove is a hybrid Molecular Dynamics MC move for NPT ensemble.
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
An explictly reversible/measure-preserving Parrinello-Rahman type NPH integrator. ...
Dynamically allocatable contiguous array template.
Definition: DArray.h:31
Saving archive for binary istream.
LatticeSystem
Enumeration of the 7 possible Bravais lattice systems.
Definition: LatticeSystem.h:29
Single-processor Monte Carlo (MC) and molecular dynamics (MD).
A System for Molecular Dynamics simulation.
Definition: MdSystem.h:68