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

Comparing trunk/OOPSE/libmdtools/NPTf.cpp (file contents):
Revision 746 by mmeineke, Thu Sep 4 21:48:35 2003 UTC vs.
Revision 763 by tim, Mon Sep 15 16:52:02 2003 UTC

# Line 25 | Line 25 | template<typename T> NPTf<T>::NPTf ( SimInfo *theInfo,
25   {
26    int i, j;
27    chi = 0.0;
28 +  integralOfChidt = 0.0;
29  
30    for(i = 0; i < 3; i++)
31      for (j = 0; j < 3; j++)
# Line 72 | Line 73 | template<typename T> void NPTf<T>::moveA() {
73            (press[i][j] - targetPressure/p_convert) / (NkBT*tb2);
74          
75          vScale[i][j] = eta[i][j] + chi;
76 <        
76 >          
77        } else {
78          
79          eta[i][j] += dt2 * instaVol * press[i][j] / (NkBT*tb2);
# Line 189 | Line 190 | template<typename T> void NPTf<T>::moveA() {
190        if (i != j)
191          if (fabs(scaleMat[i][j]) > offDiagMax)
192            offDiagMax = fabs(scaleMat[i][j]);
192      
193      }
194  
195      if (scaleMat[i][i] > bigScale) bigScale = scaleMat[i][i];
# Line 378 | Line 378 | template<typename T> int NPTf<T>::readyCheck() {
378  
379    return 1;
380   }
381 +
382 + template<typename T> double NPTf<T>::getConservedQuantity(void){
383 +
384 +  double conservedQuantity;
385 +  double tb2;
386 +  double eta2[3][3];  
387 +  double trEta;
388 +
389 +  //HNVE
390 +  conservedQuantity = tStats->getTotalE();
391 +
392 +  //HNVT
393 +  conservedQuantity += (info->getNDF() * kB * targetTemp *
394 +    (integralOfChidt + tauThermostat * tauThermostat * chi * chi /2)) / eConvert;
395 +
396 +  //HNPT
397 +  tb2 = tauBarostat *tauBarostat;
398 +
399 +  trEta = info->matTrace3(eta);
400 +  
401 +  conservedQuantity += (targetPressure * tStats->getVolume() / p_convert +
402 +                        3*NkBT/2 * tb2 * trEta * trEta) / eConvert;
403 +  
404 +  return conservedQuantity;
405 + }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines