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 853 by mmeineke, Thu Nov 6 19:11:38 2003 UTC vs.
Revision 1097 by gezelter, Mon Apr 12 20:32:20 2004 UTC

# Line 1 | Line 1
1   #include <math.h>
2 +
3 + #include "MatVec3.h"
4   #include "Atom.hpp"
5   #include "SRI.hpp"
6   #include "AbstractClasses.hpp"
# Line 39 | Line 41 | template<typename T> NPTf<T>::NPTf ( SimInfo *theInfo,
41      }
42    }
43  
44 +
45 +  if( theInfo->useInitXSstate ){
46      // retrieve eta array from simInfo if it exists
47      data = info->getProperty(ETAVALUE_ID);
48      if(data){
49        etaValue = dynamic_cast<DoubleArrayData*>(data);
50 <
50 >      
51        if(etaValue){
52 <        etaArray = etaValue->getData();
53 <
54 <        for(i = 0; i < 3; i++){
55 <          for (j = 0; j < 3; j++){
56 <            eta[i][j] = etaArray[3*i+j];
57 <            oldEta[i][j] = eta[i][j];
58 <          }
59 <        }
56 <
52 >        etaArray = etaValue->getData();
53 >        
54 >        for(i = 0; i < 3; i++){
55 >          for (j = 0; j < 3; j++){
56 >            eta[i][j] = etaArray[3*i+j];
57 >            oldEta[i][j] = eta[i][j];
58 >          }
59 >        }
60        }
61      }
62 +  }
63  
64   }
65  
# Line 114 | Line 118 | template<typename T> void NPTf<T>::evolveEtaB() {
118    }
119   }
120  
121 < template<typename T> void NPTf<T>::getVelScaleA(double sc[3], double vel[3]) {
121 > template<typename T> void NPTf<T>::calcVelScale(void){
122    int i,j;
119  double vScale[3][3];
123  
124    for (i = 0; i < 3; i++ ) {
125      for (j = 0; j < 3; j++ ) {
# Line 127 | Line 130 | template<typename T> void NPTf<T>::getVelScaleA(double
130        }
131      }
132    }
133 + }
134  
135 <  info->matVecMul3( vScale, vel, sc );
135 > template<typename T> void NPTf<T>::getVelScaleA(double sc[3], double vel[3]) {
136 >
137 >  matVecMul3( vScale, vel, sc );
138   }
139  
140   template<typename T> void NPTf<T>::getVelScaleB(double sc[3], int index ){
141 <  int i,j;
141 >  int j;
142    double myVel[3];
143    double vScale[3][3];
144  
139  for (i = 0; i < 3; i++ ) {
140    for (j = 0; j < 3; j++ ) {
141      vScale[i][j] = eta[i][j];
142
143      if (i == j) {
144        vScale[i][j] += chi;
145      }
146    }
147  }
148
145    for (j = 0; j < 3; j++)
146      myVel[j] = oldVel[3*index + j];
147  
148 <  info->matVecMul3( vScale, myVel, sc );
148 >  matVecMul3( vScale, myVel, sc );
149   }
150  
151   template<typename T> void NPTf<T>::getPosScale(double pos[3], double COM[3],
# Line 160 | Line 156 | template<typename T> void NPTf<T>::getPosScale(double
156    for(j=0; j<3; j++)
157      rj[j] = ( oldPos[index*3+j] + pos[j]) / 2.0 - COM[j];
158  
159 <  info->matVecMul3( eta, rj, sc );
159 >  matVecMul3( eta, rj, sc );
160   }
161  
162   template<typename T> void NPTf<T>::scaleSimBox( void ){
# Line 234 | Line 230 | template<typename T> void NPTf<T>::scaleSimBox( void )
230      simError();
231    } else {
232      info->getBoxM(hm);
233 <    info->matMul3(hm, scaleMat, hmnew);
233 >    matMul3(hm, scaleMat, hmnew);
234      info->setBoxM(hmnew);
235    }
236   }
# Line 270 | Line 266 | template<typename T> double NPTf<T>::getConservedQuant
266  
267    thermostat_potential = fkBT* integralOfChidt / eConvert;
268  
269 <  info->transposeMat3(eta, a);
270 <  info->matMul3(a, eta, b);
271 <  trEta = info->matTrace3(b);
269 >  transposeMat3(eta, a);
270 >  matMul3(a, eta, b);
271 >  trEta = matTrace3(b);
272  
273    barostat_kinetic = NkBT * tb2 * trEta /
274      (2.0 * eConvert);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines