ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/ExtendedSystem.hpp
Revision: 483
Committed: Wed Apr 9 04:06:43 2003 UTC (21 years, 3 months ago) by gezelter
File size: 1384 byte(s)
Log Message:
fixes for NPT and NVT

File Contents

# User Rev Content
1 gezelter 455 #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 gezelter 466 ExtendedSystem(SimInfo* the_entry_plug);
14 gezelter 455 virtual ~ExtendedSystem() {}
15    
16 gezelter 481 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 gezelter 455
22 gezelter 457 void NoseHooverNVT(double dt, double ke);
23 gezelter 483 void NoseHooverAndersonNPT(double dt, double ke, double p_tensor[9]);
24 gezelter 457 void AffineTransform(double oldBox[3], double newBox[3]);
25 gezelter 455
26     protected:
27    
28 gezelter 458 SimInfo* entry_plug;
29    
30 gezelter 481 short int NVTready();
31     short int NPTready();
32    
33 gezelter 458 //
34     int nAtoms;
35     int nMols;
36     int nOriented;
37     int ndf;
38    
39     Molecule* molecules;
40     Atom** atoms;
41    
42 gezelter 457 // zeta and epsilonDot are propagated
43 gezelter 455 double zeta;
44 gezelter 457 double epsilonDot;
45    
46     // qmass, tauRelax, targetTemp, and targetPressure are parameters that
47     // must be set
48 gezelter 455 double qmass;
49     double targetTemp;
50     double targetPressure;
51 gezelter 481 double tauThermostat;
52     double tauBarostat;
53 gezelter 455
54 gezelter 481 short int have_tau_thermostat, have_tau_barostat, have_target_temp;
55     short int have_target_pressure, have_qmass;
56    
57 gezelter 455 };
58 gezelter 458 #endif