ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/trunk/OOPSE/libmdtools/Verlet.cpp
(Generate patch)

Comparing trunk/OOPSE/libmdtools/Verlet.cpp (file contents):
Revision 471 by gezelter, Mon Apr 7 20:51:59 2003 UTC vs.
Revision 477 by gezelter, Tue Apr 8 14:34:30 2003 UTC

# Line 215 | Line 215 | void Verlet::integrate( void ){
215    e_out->writeStat( 0.0 );
216  
217    calcPot = 0;
218  calcStress = 0;
218  
219 +  if (!strcasecmp( entry_plug->ensemble, "NPT")) {
220 +    calcStress = 1;
221 +  } else {
222 +    calcStress = 0;
223 +  }
224 +
225    if( c_is_constrained ){
226      for(i = 0; i < n_loops; i++){
227        
228        if (!strcasecmp( entry_plug->ensemble, "NVT"))
229 <        myES->NoseHooverNVT( dt , tStats->getKinetic() );
230 <
229 >        myES->NoseHooverNVT( dt / 2.0 , tStats->getKinetic() );
230 >      
231        // fill R, V, and F arrays and RATTLE in fortran
232 <
232 >      
233        for( j=0; j<c_natoms; j++ ){
234 <
234 >        
235          Rx[j] = c_atoms[j]->getX();
236          Ry[j] = c_atoms[j]->getY();
237          Rz[j] = c_atoms[j]->getZ();
# Line 298 | Line 303 | void Verlet::integrate( void ){
303        }
304        
305        if (!strcasecmp( entry_plug->ensemble, "NVT"))
306 <        myES->NoseHooverNVT( dt , tStats->getKinetic() );
307 <
306 >        myES->NoseHooverNVT( dt / 2.0, tStats->getKinetic() );
307 >      
308        if (!strcasecmp( entry_plug->ensemble, "NPT") )
309          myES->NoseHooverAndersonNPT( dt,
310                                       tStats->getKinetic(),
# Line 313 | Line 318 | void Verlet::integrate( void ){
318        if( !(time % sample_n) ) dump_out->writeDump( time * dt );
319        if( !((time+1) % status_n) ) {
320          calcPot = 1;
321 <        calcStress = 1;
321 >        // bitwise masking in case we need it for NPT
322 >        calcStress = (!strcasecmp(entry_plug->ensemble,"NPT")) && 1;
323        }
324        if( !(time % status_n) ){
325          e_out->writeStat( time * dt );
326          calcPot = 0;
327 <        calcStress = 0;
327 >        // bitwise masking in case we need it for NPT
328 >        calcStress = (!strcasecmp(entry_plug->ensemble,"NPT")) && 0;
329        }
330      }
331    }
# Line 326 | Line 333 | void Verlet::integrate( void ){
333      for(i = 0; i < n_loops; i++){
334  
335        if (!strcasecmp( entry_plug->ensemble, "NVT"))
336 <        myES->NoseHooverNVT( dt , tStats->getKinetic() );
336 >        myES->NoseHooverNVT( dt / 2.0, tStats->getKinetic() );
337      
338        move_a( dt );
339        
# Line 339 | Line 346 | void Verlet::integrate( void ){
346        move_b( dt );
347  
348        if (!strcasecmp( entry_plug->ensemble, "NVT"))
349 <        myES->NoseHooverNVT( dt , tStats->getKinetic() );
349 >        myES->NoseHooverNVT( dt / 2.0 , tStats->getKinetic() );
350  
351        if (!strcasecmp( entry_plug->ensemble, "NPT") )
352          myES->NoseHooverAndersonNPT( dt,
# Line 354 | Line 361 | void Verlet::integrate( void ){
361        if( !(time % sample_n) )  dump_out->writeDump( time * dt );
362        if( !((time+1) % status_n) ) {
363          calcPot = 1;
364 <        calcStress = 1;
364 >        // bitwise masking in case we need it for NPT
365 >        calcStress = (!strcasecmp(entry_plug->ensemble,"NPT")) && 1;
366        }
367        if( !(time % status_n) ){
368          e_out->writeStat( time * dt );
369          calcPot = 0;
370 <        calcStress = 0;
370 >        // bitwise masking in case we need it for NPT
371 >        calcStress = (!strcasecmp(entry_plug->ensemble,"NPT")) && 0;
372        }
373      }
374    }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines