ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/ExtendedSystem.hpp
Revision: 488
Committed: Thu Apr 10 16:35:31 2003 UTC (21 years, 3 months ago) by gezelter
File size: 1515 byte(s)
Log Message:
Working on ConstantStress

File Contents

# Content
1 #ifndef _EXTENDEDSYSTEM_H_
2 #define _EXTENDEDSYSTEM_H_
3
4 #include <math.h>
5
6 #include "Atom.hpp"
7 #include "Molecule.hpp"
8 #include "SimInfo.hpp"
9
10 class ExtendedSystem{
11 public:
12
13 ExtendedSystem(SimInfo* the_entry_plug);
14 virtual ~ExtendedSystem() {}
15
16 void setQmass(double q) {qmass = q; have_qmass = 1;}
17 void setTauThermostat(double tt) {tauThermostat = tt; have_tau_thermostat=1;}
18 void setTauBarostat(double tt) {tauBarostat = tt; have_tau_barostat = 1;}
19 void setTargetTemp(double tt) {targetTemp = tt; have_target_temp = 1;}
20 void setTargetPressure(double tp) {targetPressure=tp;have_target_pressure=1;}
21
22 void NoseHooverNVT(double dt, double ke);
23 void NoseHooverAndersonNPT(double dt, double ke, double p_tensor[9]);
24 void ConstantStress(double dt, double ke, double p_tensor[9]);
25 void AffineTransform(double oldBox[3], double newBox[3]);
26
27 protected:
28
29 SimInfo* entry_plug;
30
31 short int NVTready();
32 short int NPTready();
33
34 //
35 int nAtoms;
36 int nMols;
37 int nOriented;
38 int ndf;
39
40 Molecule* molecules;
41 Atom** atoms;
42
43 // zeta and epsilonDot are propagated
44 double zeta;
45 double epsilonDot;
46 double epsilonDotX;
47 double epsilonDotY;
48 double epsilonDotZ;
49
50 // qmass, tauRelax, targetTemp, and targetPressure are parameters that
51 // must be set
52 double qmass;
53 double targetTemp;
54 double targetPressure;
55 double tauThermostat;
56 double tauBarostat;
57
58 short int have_tau_thermostat, have_tau_barostat, have_target_temp;
59 short int have_target_pressure, have_qmass;
60
61 };
62 #endif