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 578 by gezelter, Wed Jul 9 02:15:29 2003 UTC vs.
Revision 586 by mmeineke, Wed Jul 9 22:14:06 2003 UTC

# Line 47 | Line 47 | void NPTf::moveA() {
47    double tt2, tb2;
48    double angle;
49    double press[9];
50  const double p_convert = 1.63882576e8;
50  
51    tt2 = tauThermostat * tauThermostat;
52    tb2 = tauBarostat * tauBarostat;
53  
54    instaTemp = tStats->getTemperature();
55    tStats->getPressureTensor(press);
57
58  for (i=0; i < 9; i++) press[i] *= p_convert;
59
56    instaVol = tStats->getVolume();
57    
58    // first evolve chi a half step
59    
60    chi += dt2 * ( instaTemp / targetTemp - 1.0) / tt2;
61    
62 <  eta[0] += dt2 * instaVol * (press[0] - targetPressure) / (NkBT*tb2);
62 >  eta[0] += dt2 * instaVol * (press[0] - targetPressure/p_convert) /
63 >    (NkBT*tb2);
64    eta[1] += dt2 * instaVol * press[1] / (NkBT*tb2);
65    eta[2] += dt2 * instaVol * press[2] / (NkBT*tb2);
66    eta[3] += dt2 * instaVol * press[3] / (NkBT*tb2);
67 <  eta[4] += dt2 * instaVol * (press[4] - targetPressure) / (NkBT*tb2);
67 >  eta[4] += dt2 * instaVol * (press[4] - targetPressure/p_convert) /
68 >    (NkBT*tb2);
69    eta[5] += dt2 * instaVol * press[5] / (NkBT*tb2);
70    eta[6] += dt2 * instaVol * press[6] / (NkBT*tb2);
71    eta[7] += dt2 * instaVol * press[7] / (NkBT*tb2);
72 <  eta[8] += dt2 * instaVol * (press[8] - targetPressure) / (NkBT*tb2);
72 >  eta[8] += dt2 * instaVol * (press[8] - targetPressure/p_convert) /
73 >    (NkBT*tb2);
74    
75    for( i=0; i<nAtoms; i++ ){
76      atomIndex = i * 3;
# Line 199 | Line 198 | void NPTf::moveA() {
198    for (i = 0; i < 3; i++) {
199      for (j = 0; j < 3; j++) {
200        // remember that hmat has transpose ordering for Fortran compat:
201 <      hm[3*j + 1] = hmnew[i][j];
201 >      hm[3*j + i] = hmnew[i][j];
202      }
203    }
204  
# Line 225 | Line 224 | void NPTf::moveB( void ){
224  
225    instaTemp = tStats->getTemperature();
226    tStats->getPressureTensor(press);
228
229  for (i=0; i < 9; i++) press[i] *= p_convert;
230
227    instaVol = tStats->getVolume();
228    
229    // first evolve chi a half step
230    
231    chi += dt2 * ( instaTemp / targetTemp - 1.0) / tt2;
232    
233 <  eta[0] += dt2 * instaVol * (press[0] - targetPressure) / (NkBT*tb2);
233 >  eta[0] += dt2 * instaVol * (press[0] - targetPressure/p_convert) /
234 >    (NkBT*tb2);
235    eta[1] += dt2 * instaVol * press[1] / (NkBT*tb2);
236    eta[2] += dt2 * instaVol * press[2] / (NkBT*tb2);
237    eta[3] += dt2 * instaVol * press[3] / (NkBT*tb2);
238 <  eta[4] += dt2 * instaVol * (press[4] - targetPressure) / (NkBT*tb2);
238 >  eta[4] += dt2 * instaVol * (press[4] - targetPressure/p_convert) /
239 >    (NkBT*tb2);
240    eta[5] += dt2 * instaVol * press[5] / (NkBT*tb2);
241    eta[6] += dt2 * instaVol * press[6] / (NkBT*tb2);
242    eta[7] += dt2 * instaVol * press[7] / (NkBT*tb2);
243 <  eta[8] += dt2 * instaVol * (press[8] - targetPressure) / (NkBT*tb2);
243 >  eta[8] += dt2 * instaVol * (press[8] - targetPressure/p_convert) /
244 >    (NkBT*tb2);
245  
246    for( i=0; i<nAtoms; i++ ){
247      atomIndex = i * 3;
# Line 295 | Line 294 | int NPTi::readyCheck() {
294    }
295   }
296  
297 < int NPTi::readyCheck() {
297 > int NPTf::readyCheck() {
298  
299    // First check to see if we have a target temperature.
300    // Not having one is fatal.
301    
302    if (!have_target_temp) {
303      sprintf( painCave.errMsg,
304 <             "NPTi error: You can't use the NPTi integrator\n"
304 >             "NPTf error: You can't use the NPTf integrator\n"
305               "   without a targetTemp!\n"
306               );
307      painCave.isFatal = 1;
# Line 312 | Line 311 | int NPTi::readyCheck() {
311  
312    if (!have_target_pressure) {
313      sprintf( painCave.errMsg,
314 <             "NPTi error: You can't use the NPTi integrator\n"
314 >             "NPTf error: You can't use the NPTf integrator\n"
315               "   without a targetPressure!\n"
316               );
317      painCave.isFatal = 1;
# Line 324 | Line 323 | int NPTi::readyCheck() {
323    
324    if (!have_tau_thermostat) {
325      sprintf( painCave.errMsg,
326 <             "NPTi error: If you use the NPTi\n"
326 >             "NPTf error: If you use the NPTf\n"
327               "   integrator, you must set tauThermostat.\n");
328      painCave.isFatal = 1;
329      simError();
# Line 335 | Line 334 | int NPTi::readyCheck() {
334    
335    if (!have_tau_barostat) {
336      sprintf( painCave.errMsg,
337 <             "NPTi error: If you use the NPTi\n"
337 >             "NPTf error: If you use the NPTf\n"
338               "   integrator, you must set tauBarostat.\n");
339      painCave.isFatal = 1;
340      simError();

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines