ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Thermo.hpp
Revision: 1452
Committed: Mon Aug 23 15:11:36 2004 UTC (19 years, 10 months ago) by tim
File size: 1677 byte(s)
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 mmeineke 377 #ifndef __THERMO_H__
2     #define __THERMO_H__
3    
4     #include "Atom.hpp"
5     #include "SRI.hpp"
6     #include "SimInfo.hpp"
7     #include "randomSPRNG.hpp"
8 tim 1452 #include "ConstraintIterator.hpp"
9 mmeineke 377 class Thermo{
10    
11     public:
12    
13 mmeineke 614 Thermo( SimInfo* the_info );
14 mmeineke 377 ~Thermo();
15    
16     // note: all the following energies are in kcal/mol
17    
18     double getKinetic(); // the total kinetic energy
19     double getPotential(); // the total potential energy
20     double getTotalE(); // gets the total energy
21 tim 1452 double getConsEnergy(); //get contribution to energy from constraint
22 mmeineke 377
23     double getTemperature(); // gives the instant temp. in K
24 mmeineke 755
25 gezelter 483 double getPressure(); // gives the instant pressure in atm;
26 mmeineke 755 double getPressureX(); // gives the instant pressure in atm;
27     double getPressureY(); // gives the instant pressure in atm;
28     double getPressureZ(); // gives the instant pressure in atm;
29    
30 gezelter 588 void getPressureTensor(double press[3][3]); // gives the pressure
31     // tensor in
32     // amu*fs^-2*Ang^-1
33 gezelter 484 double getVolume(); // gives the volume in Ang^3
34 gezelter 454
35     int getNDF(); // get the number of degrees of freedom in the system
36     int getNDFraw(); // get the number of raw degrees of freedom in the system
37     // i.e. don't subtract constraints or system COM.
38 mmeineke 377
39     void velocitize(); // set the temperature to the target temp in SimInfo
40     // NOTE: srand48 should be seeded before calling.
41 chuckv 403 void getCOMVel(double vdrift[3]);
42 tim 763 void getCOM(double COM[3]);
43 tim 1127 void removeCOMdrift();
44 tim 1452 void removeAngularMomentum();
45 chuckv 401
46 mmeineke 377 private:
47 mmeineke 614 SimInfo* info;
48 mmeineke 377 gaussianSPRNG *gaussStream;
49 tim 1452 ConstraintPairIterator* cpIter;
50 mmeineke 377 };
51     #endif