ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Thermo.cpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/Thermo.cpp (file contents):
Revision 1113 by tim, Thu Apr 15 16:18:26 2004 UTC vs.
Revision 1118 by tim, Mon Apr 19 03:52:27 2004 UTC

# Line 33 | Line 33 | double Thermo::getKinetic(){
33    double kinetic;
34    double amass;
35    double aVel[3], aJ[3], I[3][3];
36 <  int j, kl;
36 >  int i, j, k, kl;
37  
38    double kinetic_global;
39    vector<StuntDouble *> integrableObjects = info->integrableObjects;
# Line 53 | Line 53 | double Thermo::getKinetic(){
53        integrableObjects[kl]->getJ( aJ );
54        integrableObjects[kl]->getI( I );
55  
56 <      for (j=0; j<3; j++)
57 <        kinetic += aJ[j]*aJ[j] / I[j][j];
58 <      
56 >      if (integrableObjects[kl]->isLinear()) {
57 >        i = integrableObjects[kl]->linearAxis();
58 >        j = (i+1)%3;
59 >        k = (i+2)%3;
60 >        kinetic += aJ[j]*aJ[j]/I[j][j] + aJ[k]*aJ[k]/I[k][k];
61 >      } else {
62 >          for (j=0; j<3; j++)
63 >              kinetic += aJ[j]*aJ[j] / I[j][j];
64 >      }
65      }
66    }
67   #ifdef IS_MPI

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines