42 |
|
|
43 |
|
double rj[3]; |
44 |
|
double instaTemp, instaPress, instaVol; |
45 |
< |
double tt2, tb2; |
45 |
> |
double tt2, tb2, scaleFactor; |
46 |
|
|
47 |
|
tt2 = tauThermostat * tauThermostat; |
48 |
|
tb2 = tauBarostat * tauBarostat; |
127 |
|
} |
128 |
|
|
129 |
|
} |
130 |
+ |
|
131 |
|
// Scale the box after all the positions have been moved: |
132 |
|
|
133 |
< |
cerr << "eta = " << eta |
134 |
< |
<< "; exp(dt*eta) = " << exp(eta*dt) << "\n"; |
135 |
< |
|
136 |
< |
info->scaleBox(exp(dt*eta)); |
133 |
> |
scaleFactor = exp(dt*eta); |
134 |
> |
|
135 |
> |
if ((scaleFactor > 1.1) || (scaleFactor < 0.9)) { |
136 |
> |
sprintf( painCave.errMsg, |
137 |
> |
"NPTi error: Attempting a Box scaling of more than 10 percent" |
138 |
> |
" check your tauBarostat, as it is probably too small!\n" |
139 |
> |
" eta = %lf, scaleFactor = %lf\n", eta, scaleFactor |
140 |
> |
); |
141 |
> |
painCave.isFatal = 1; |
142 |
> |
simError(); |
143 |
> |
} else { |
144 |
> |
info->scaleBox(exp(dt*eta)); |
145 |
> |
} |
146 |
> |
|
147 |
|
} |
148 |
|
|
149 |
|
void NPTi::moveB( void ){ |