| 29 |
|
{ |
| 30 |
|
chi = 0.0; |
| 31 |
|
eta = 0.0; |
| 32 |
+ |
integralOfChidt = 0.0; |
| 33 |
|
have_tau_thermostat = 0; |
| 34 |
|
have_tau_barostat = 0; |
| 35 |
|
have_target_temp = 0; |
| 282 |
|
|
| 283 |
|
return 1; |
| 284 |
|
} |
| 285 |
+ |
|
| 286 |
+ |
template<typename T> double NPTim<T>::getConservedQuantity(void){ |
| 287 |
+ |
|
| 288 |
+ |
double conservedQuantity; |
| 289 |
+ |
double tb2; |
| 290 |
+ |
double eta2; |
| 291 |
+ |
|
| 292 |
+ |
|
| 293 |
+ |
//HNVE |
| 294 |
+ |
conservedQuantity = tStats->getTotalE(); |
| 295 |
+ |
|
| 296 |
+ |
//HNVT |
| 297 |
+ |
conservedQuantity += (info->getNDF() * kB * targetTemp * |
| 298 |
+ |
(integralOfChidt + tauThermostat * tauThermostat * chi * chi /2))/ eConvert ; |
| 299 |
+ |
|
| 300 |
+ |
//HNPT |
| 301 |
+ |
tb2 = tauBarostat *tauBarostat; |
| 302 |
+ |
eta2 = eta * eta; |
| 303 |
+ |
|
| 304 |
+ |
conservedQuantity += (targetPressure * tStats->getVolume() / p_convert + |
| 305 |
+ |
3*NkBT/2 * tb2 * eta2) / eConvert; |
| 306 |
+ |
|
| 307 |
+ |
return conservedQuantity; |
| 308 |
+ |
} |