--- branches/new_design/OOPSE-3.0/src/brains/Thermo.cpp 2004/12/02 00:26:23 1821 +++ branches/new_design/OOPSE-3.0/src/brains/Thermo.cpp 2004/12/02 02:08:29 1822 @@ -122,18 +122,18 @@ double Thermo::getPressure() { Mat3x3d tensor; double pressure; - this->getPressureTensor(tensor); + tensor = getPressureTensor(); pressure = OOPSEConstant::pressureConvert * (tensor(0, 0) + tensor(1, 1) + tensor(2, 2)) / 3.0; return pressure; } -void Thermo::getPressureTensor(Mat3x3d pressureTensor) { +Mat3x3d Thermo::getPressureTensor() { // returns pressure tensor in units amu*fs^-2*Ang^-1 // routine derived via viral theorem description in: // Paci, E. and Marchi, M. J.Phys.Chem. 1996, 100, 4314-4322 - + Mat3x3d pressureTensor; Mat3x3d p_local(0.0); Mat3x3d p_global(0.0); @@ -162,6 +162,8 @@ void Thermo::getPressureTensor(Mat3x3d pressureTensor) Mat3x3d tau = curSnapshot->statData.getTau(); pressureTensor = p_global + OOPSEConstant::energyConvert/volume * tau; + + return pressureTensor; } void Thermo::saveStat(){ @@ -173,7 +175,7 @@ void Thermo::saveStat(){ stat[Stats::TOTAL_ENERGY] = stat[Stats::KINETIC_ENERGY] + stat[Stats::POTENTIAL_ENERGY] ; stat[Stats::TEMPERATURE] = getTemperature(); stat[Stats::PRESSURE] = getPressure(); - stat[Stats::VOLUME] = currSnapshot->getVolume(); + stat[Stats::VOLUME] = getVolume(); /**@todo need refactorying*/ //Conserved Quantity is set by integrator and time is set by setTime