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 479 by chuckv, Tue Apr 8 15:20:44 2003 UTC

# Line 202 | Line 202 | void Verlet::integrate( void ){
202    DumpWriter*  dump_out = new DumpWriter( entry_plug );
203  
204    // the first time integrate is called, the forces need to be initialized
205
205    
206    myFF->doForces(1,1);
207    
# Line 215 | Line 214 | void Verlet::integrate( void ){
214    e_out->writeStat( 0.0 );
215  
216    calcPot = 0;
218  calcStress = 0;
217  
218 +  if (!strcasecmp( entry_plug->ensemble, "NPT")) {
219 +    calcStress = 1;
220 +  } else {
221 +    calcStress = 0;
222 +  }
223 +
224    if( c_is_constrained ){
225      for(i = 0; i < n_loops; i++){
226        
227        if (!strcasecmp( entry_plug->ensemble, "NVT"))
228 <        myES->NoseHooverNVT( dt , tStats->getKinetic() );
229 <
228 >        myES->NoseHooverNVT( dt / 2.0 , tStats->getKinetic() );
229 >      
230        // fill R, V, and F arrays and RATTLE in fortran
231 <
231 >      
232        for( j=0; j<c_natoms; j++ ){
233 <
233 >        
234          Rx[j] = c_atoms[j]->getX();
235          Ry[j] = c_atoms[j]->getY();
236          Rz[j] = c_atoms[j]->getZ();
# Line 298 | Line 302 | void Verlet::integrate( void ){
302        }
303        
304        if (!strcasecmp( entry_plug->ensemble, "NVT"))
305 <        myES->NoseHooverNVT( dt , tStats->getKinetic() );
306 <
305 >        myES->NoseHooverNVT( dt / 2.0, tStats->getKinetic() );
306 >      
307        if (!strcasecmp( entry_plug->ensemble, "NPT") )
308          myES->NoseHooverAndersonNPT( dt,
309                                       tStats->getKinetic(),
# Line 311 | Line 315 | void Verlet::integrate( void ){
315          if( !(time % vel_n) ) tStats->velocitize();
316        }
317        if( !(time % sample_n) ) dump_out->writeDump( time * dt );
318 +
319        if( !((time+1) % status_n) ) {
320          calcPot = 1;
321 <        calcStress = 1;
321 >        calcStress = 1;
322        }
323        if( !(time % status_n) ){
324          e_out->writeStat( time * dt );
325          calcPot = 0;
326 <        calcStress = 0;
326 >        if (!strcasecmp(entry_plug->ensemble, "NPT")) calcStress = 1;
327 >        else calcStress = 0;
328        }
329      }
330    }
# Line 326 | Line 332 | void Verlet::integrate( void ){
332      for(i = 0; i < n_loops; i++){
333  
334        if (!strcasecmp( entry_plug->ensemble, "NVT"))
335 <        myES->NoseHooverNVT( dt , tStats->getKinetic() );
335 >        myES->NoseHooverNVT( dt / 2.0, tStats->getKinetic() );
336      
337        move_a( dt );
338        
# Line 339 | Line 345 | void Verlet::integrate( void ){
345        move_b( dt );
346  
347        if (!strcasecmp( entry_plug->ensemble, "NVT"))
348 <        myES->NoseHooverNVT( dt , tStats->getKinetic() );
348 >        myES->NoseHooverNVT( dt / 2.0 , tStats->getKinetic() );
349  
350        if (!strcasecmp( entry_plug->ensemble, "NPT") )
351          myES->NoseHooverAndersonNPT( dt,
# Line 354 | Line 360 | void Verlet::integrate( void ){
360        if( !(time % sample_n) )  dump_out->writeDump( time * dt );
361        if( !((time+1) % status_n) ) {
362          calcPot = 1;
363 <        calcStress = 1;
363 >        calcStress = 1;
364        }
365        if( !(time % status_n) ){
366          e_out->writeStat( time * dt );
367          calcPot = 0;
368 <        calcStress = 0;
368 >        if (!strcasecmp(entry_plug->ensemble, "NPT")) calcStress = 1;
369 >        else calcStress = 0;
370        }
371      }
372    }

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines