| 92 |
|
eta[i][j] += dt2 * instaVol * press[i][j] / (NkBT*tb2); |
| 93 |
|
} |
| 94 |
|
} |
| 95 |
< |
|
| 95 |
> |
|
| 96 |
|
for(i = 0; i < 3; i++) |
| 97 |
|
for (j = 0; j < 3; j++) |
| 98 |
|
oldEta[i][j] = eta[i][j]; |
| 140 |
|
template<typename T> void NPTf<T>::getVelScaleB(double sc[3], int index ){ |
| 141 |
|
int j; |
| 142 |
|
double myVel[3]; |
| 143 |
– |
double vScale[3][3]; |
| 143 |
|
|
| 144 |
|
for (j = 0; j < 3; j++) |
| 145 |
|
myVel[j] = oldVel[3*index + j]; |
| 146 |
< |
|
| 146 |
> |
|
| 147 |
|
matVecMul3( vScale, myVel, sc ); |
| 148 |
|
} |
| 149 |
|
|
| 193 |
|
if (i == j) scaleMat[i][j] = 1.0; |
| 194 |
|
// Taylor expansion for the exponential truncated at second order: |
| 195 |
|
scaleMat[i][j] += dt*eta[i][j] + 0.5*dt*dt*eta2ij; |
| 196 |
+ |
|
| 197 |
|
|
| 198 |
|
if (i != j) |
| 199 |
|
if (fabs(scaleMat[i][j]) > offDiagMax) |
| 210 |
|
" Check your tauBarostat, as it is probably too small!\n\n" |
| 211 |
|
" scaleMat = [%lf\t%lf\t%lf]\n" |
| 212 |
|
" [%lf\t%lf\t%lf]\n" |
| 213 |
+ |
" [%lf\t%lf\t%lf]\n" |
| 214 |
+ |
" eta = [%lf\t%lf\t%lf]\n" |
| 215 |
+ |
" [%lf\t%lf\t%lf]\n" |
| 216 |
|
" [%lf\t%lf\t%lf]\n", |
| 217 |
|
scaleMat[0][0],scaleMat[0][1],scaleMat[0][2], |
| 218 |
|
scaleMat[1][0],scaleMat[1][1],scaleMat[1][2], |
| 219 |
< |
scaleMat[2][0],scaleMat[2][1],scaleMat[2][2]); |
| 219 |
> |
scaleMat[2][0],scaleMat[2][1],scaleMat[2][2], |
| 220 |
> |
eta[0][0],eta[0][1],eta[0][2], |
| 221 |
> |
eta[1][0],eta[1][1],eta[1][2], |
| 222 |
> |
eta[2][0],eta[2][1],eta[2][2]); |
| 223 |
|
painCave.isFatal = 1; |
| 224 |
|
simError(); |
| 225 |
|
} else if (offDiagMax > 0.01) { |
| 228 |
|
" Check your tauBarostat, as it is probably too small!\n\n" |
| 229 |
|
" scaleMat = [%lf\t%lf\t%lf]\n" |
| 230 |
|
" [%lf\t%lf\t%lf]\n" |
| 231 |
+ |
" [%lf\t%lf\t%lf]\n" |
| 232 |
+ |
" eta = [%lf\t%lf\t%lf]\n" |
| 233 |
+ |
" [%lf\t%lf\t%lf]\n" |
| 234 |
|
" [%lf\t%lf\t%lf]\n", |
| 235 |
|
scaleMat[0][0],scaleMat[0][1],scaleMat[0][2], |
| 236 |
|
scaleMat[1][0],scaleMat[1][1],scaleMat[1][2], |
| 237 |
< |
scaleMat[2][0],scaleMat[2][1],scaleMat[2][2]); |
| 237 |
> |
scaleMat[2][0],scaleMat[2][1],scaleMat[2][2], |
| 238 |
> |
eta[0][0],eta[0][1],eta[0][2], |
| 239 |
> |
eta[1][0],eta[1][1],eta[1][2], |
| 240 |
> |
eta[2][0],eta[2][1],eta[2][2]); |
| 241 |
|
painCave.isFatal = 1; |
| 242 |
|
simError(); |
| 243 |
|
} else { |