ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Thermo.hpp
Revision: 561
Committed: Fri Jun 20 20:29:36 2003 UTC (21 years ago) by mmeineke
File size: 1355 byte(s)
Log Message:
Most of the integrator and NVT seem to be working now.

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    
9     class Thermo{
10    
11     public:
12    
13     Thermo( SimInfo* the_entry_plug );
14     ~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    
22     double getTemperature(); // gives the instant temp. in K
23 gezelter 483 double getPressure(); // gives the instant pressure in atm;
24 gezelter 484 void getPressureTensor(double pressure_tensor[9]); // gives the pressure
25     // tensor in
26     // amu*fs^-2*Ang^-1
27     double getVolume(); // gives the volume in Ang^3
28     double getEnthalpy(); // gives the enthalpy in kcal/mol
29 gezelter 454
30     int getNDF(); // get the number of degrees of freedom in the system
31     int getNDFraw(); // get the number of raw degrees of freedom in the system
32     // i.e. don't subtract constraints or system COM.
33 mmeineke 377
34     void velocitize(); // set the temperature to the target temp in SimInfo
35     // NOTE: srand48 should be seeded before calling.
36 chuckv 403 void getCOMVel(double vdrift[3]);
37 chuckv 401
38 mmeineke 377 private:
39     SimInfo* entry_plug;
40     gaussianSPRNG *gaussStream;
41    
42     };
43     #endif