--- trunk/OOPSE/libmdtools/Thermo.hpp 2003/04/07 16:56:38 468 +++ trunk/OOPSE/libmdtools/Thermo.hpp 2003/10/03 22:11:53 799 @@ -3,7 +3,6 @@ #include "Atom.hpp" #include "SRI.hpp" -#include "Integrator.hpp" #include "SimInfo.hpp" #include "randomSPRNG.hpp" @@ -11,7 +10,7 @@ class Thermo{ (public) public: - Thermo( SimInfo* the_entry_plug ); + Thermo( SimInfo* the_info ); ~Thermo(); // note: all the following energies are in kcal/mol @@ -21,8 +20,17 @@ class Thermo{ (public) double getTotalE(); // gets the total energy double getTemperature(); // gives the instant temp. in K - double getPressure(); // gives the instant pressure in amu*fs^-2*Ang^-1 + double getPressure(); // gives the instant pressure in atm; + double getPressureX(); // gives the instant pressure in atm; + double getPressureY(); // gives the instant pressure in atm; + double getPressureZ(); // gives the instant pressure in atm; + + void getPressureTensor(double press[3][3]); // gives the pressure + // tensor in + // amu*fs^-2*Ang^-1 + double getVolume(); // gives the volume in Ang^3 + int getNDF(); // get the number of degrees of freedom in the system int getNDFraw(); // get the number of raw degrees of freedom in the system // i.e. don't subtract constraints or system COM. @@ -30,9 +38,10 @@ class Thermo{ (public) void velocitize(); // set the temperature to the target temp in SimInfo // NOTE: srand48 should be seeded before calling. void getCOMVel(double vdrift[3]); + void getCOM(double COM[3]); private: - SimInfo* entry_plug; + SimInfo* info; gaussianSPRNG *gaussStream; };