Simpatico  v1.10
mcMd/mdIntegrators/NphIntegrator.h
1 #ifndef MCMD_NPH_INTEGRATOR_H
2 #define MCMD_NPH_INTEGRATOR_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/mdIntegrators/MdIntegrator.h>
12 
13 #include <iostream>
14 
15 namespace McMd
16 {
17 
18  using namespace Util;
19 
43  class NphIntegrator : public MdIntegrator
44  {
45 
46  public:
47 
53  NphIntegrator(MdSystem& system);
54 
58  virtual ~NphIntegrator();
59 
65  virtual void readParameters(std::istream &in);
66 
72  virtual void loadParameters(Serializable::IArchive& ar);
73 
79  virtual void save(Serializable::OArchive& ar);
80 
84  virtual void setup();
85 
89  virtual void step();
90 
94  virtual double barostatEnergy();
95 
99  virtual double barostatMass() const;
100 
104  virtual LatticeSystem mode() const;
105 
109  //virtual Vector& eta();
110 
117  virtual void setEta(unsigned int index, double eta);
118 
119  private:
120 
122  DArray<double> prefactors_;
123 
125  Vector eta_;
126 
128  double W_;
129 
131  Vector currP_;
132 
134  LatticeSystem mode_;
135 
136  };
137 
138 }
139 #endif
A Vector is a Cartesian vector.
Definition: Vector.h:75
Abstract base for molecular dynamics integrators.
Definition: MdIntegrator.h:30
Saving / output archive for binary ostream.
Utility classes for scientific computation.
Definition: accumulators.mod:1
An explictly reversible/measure-preserving Parrinello-Rahman type NPH integrator. ...
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