--- trunk/mdtools/md_code/Thermo.cpp 2003/01/02 20:14:08 221 +++ trunk/mdtools/md_code/Thermo.cpp 2003/01/03 22:04:50 223 @@ -6,7 +6,18 @@ #include "LRI.hpp" #include "Integrator.hpp" +#define BASE_SEED 123456789 +Thermo::Thermo( SimInfo* the_entry_plug ) { + entry_plug = the_entry_plug; + baseSeed = BASE_SEED; + gaussStream = new gaussianSPRNG( baseSeed ); +} + +Thermo::~Thermo(){ + delete gaussStream; +} + double Thermo::getKinetic(){ const double e_convert = 4.184E-4; // convert kcal/mol -> (amu A^2)/fs^2 @@ -186,9 +197,9 @@ void Thermo::velocitize() { #endif #ifdef USE_SPRNG - vx = vbar * entry_plug->gaussStream->getGaussian(); - vy = vbar * entry_plug->gaussStream->getGaussian(); - vz = vbar * entry_plug->gaussStream->getGaussian(); + vx = vbar * gaussStream->getGaussian(); + vy = vbar * gaussStream->getGaussian(); + vz = vbar * gaussStream->getGaussian(); #endif atoms[vr]->set_vx( vx ); @@ -261,13 +272,13 @@ void Thermo::velocitize() { #endif #ifdef USE_SPRNG vbar = sqrt( 2.0 * kebar * dAtom->getIxx() ); - jx = vbar * entry_plug->gaussStream->getGaussian(); + jx = vbar * gaussStream->getGaussian(); vbar = sqrt( 2.0 * kebar * dAtom->getIyy() ); - jy = vbar * entry_plug->gaussStream->getGaussian(); + jy = vbar * gaussStream->getGaussian(); vbar = sqrt( 2.0 * kebar * dAtom->getIzz() ); - jz = vbar * entry_plug->gaussStream->getGaussian(); + jz = vbar * gaussStream->getGaussian(); #endif dAtom->setJx( jx );