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

# 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 488 void ConstantStress(double dt, double ke, double p_tensor[9]);
25 gezelter 457 void AffineTransform(double oldBox[3], double newBox[3]);
26 gezelter 455
27     protected:
28    
29 gezelter 458 SimInfo* entry_plug;
30    
31 gezelter 481 short int NVTready();
32     short int NPTready();
33    
34 gezelter 458 //
35     int nAtoms;
36     int nMols;
37     int nOriented;
38     int ndf;
39    
40     Molecule* molecules;
41     Atom** atoms;
42    
43 gezelter 457 // zeta and epsilonDot are propagated
44 gezelter 455 double zeta;
45 gezelter 457 double epsilonDot;
46 gezelter 488 double epsilonDotX;
47     double epsilonDotY;
48     double epsilonDotZ;
49 gezelter 457
50     // qmass, tauRelax, targetTemp, and targetPressure are parameters that
51     // must be set
52 gezelter 455 double qmass;
53     double targetTemp;
54     double targetPressure;
55 gezelter 481 double tauThermostat;
56     double tauBarostat;
57 gezelter 455
58 gezelter 481 short int have_tau_thermostat, have_tau_barostat, have_target_temp;
59     short int have_target_pressure, have_qmass;
60    
61 gezelter 455 };
62 gezelter 458 #endif