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 423 by mmeineke, Thu Mar 27 20:12:15 2003 UTC vs.
Revision 468 by gezelter, Mon Apr 7 16:56:38 2003 UTC

# Line 7 | Line 7
7   #include "SimInfo.hpp"
8   #include "Thermo.hpp"
9   #include "ReadWrite.hpp"
10 + #include "ExtendedSystem.hpp"
11  
12   extern "C"{
13    
# Line 29 | Line 30 | Verlet::Verlet( SimInfo &info, ForceFields* the_ff ){
30   }
31  
32    
33 < Verlet::Verlet( SimInfo &info, ForceFields* the_ff ){
33 > Verlet::Verlet( SimInfo &info, ForceFields* the_ff, ExtendedSystem* the_es ){
34    
35    // get what information we need from the SimInfo object
36  
37    entry_plug = &info;
38    myFF = the_ff;
39 <
39 >  myES = the_es;
40    
41    c_natoms = info.n_atoms;
42    c_atoms = info.atoms;
# Line 74 | Line 75 | Verlet::Verlet( SimInfo &info, ForceFields* the_ff ){
75    SRI** theArray;
76    for(int i = 0; i < nMols; i++){
77      
78 <    theArray = molecules[i].getMyBonds();
79 <    for(int j=0; j<molecules[i].getNbonds(); j++){
78 >    theArray = (SRI**) molecules[i].getMyBonds();
79 >    for(int j=0; j<molecules[i].getNBonds(); j++){
80        
81        constrained = theArray[j]->is_constrained();
82        
# Line 91 | Line 92 | Verlet::Verlet( SimInfo &info, ForceFields* the_ff ){
92        }
93      }
94  
95 <    theArray = molecules[i].getMyBends();
96 <    for(int j=0; j<molecules[i].getNbends(); j++){
95 >    theArray = (SRI**) molecules[i].getMyBends();
96 >    for(int j=0; j<molecules[i].getNBends(); j++){
97        
98        constrained = theArray[j]->is_constrained();
99        
# Line 108 | Line 109 | Verlet::Verlet( SimInfo &info, ForceFields* the_ff ){
109        }
110      }
111  
112 <    theArray = molecules[i].getMyTorsions();
113 <    for(int j=0; j<molecules[i].getNtorsions(); j++){
112 >    theArray = (SRI**) molecules[i].getMyTorsions();
113 >    for(int j=0; j<molecules[i].getNTorsions(); j++){
114        
115        constrained = theArray[j]->is_constrained();
116        
# Line 166 | Line 167 | void Verlet::integrate( void ){
167   void Verlet::integrate( void ){
168    
169    int i, j; /* loop counters */
170 <  int calcPot;
170 >  int calcPot, calcStress;
171  
172    double kE;
173  
# Line 203 | Line 204 | void Verlet::integrate( void ){
204    // the first time integrate is called, the forces need to be initialized
205  
206    
207 <  myFF->doForces(1,0);
207 >  myFF->doForces(1,1);
208    
209    if( entry_plug->setTemp ){
210      tStats->velocitize();
# Line 214 | Line 215 | void Verlet::integrate( void ){
215    e_out->writeStat( 0.0 );
216  
217    calcPot = 0;
218 +  calcStress = 0;
219  
220    if( c_is_constrained ){
221      for(i = 0; i < n_loops; i++){
# Line 255 | Line 257 | void Verlet::integrate( void ){
257  
258        // calculate the forces
259        
260 <      myFF->doForces(calcPot,0);
260 >      myFF->doForces(calcPot,calcStress);
261        
262        // finish the constrain move ( same as above. )
263  
# Line 297 | Line 299 | void Verlet::integrate( void ){
299          if( !(time % vel_n) ) tStats->velocitize();
300        }
301        if( !(time % sample_n) ) dump_out->writeDump( time * dt );
302 <      if( !((time+1) % status_n) ) calcPot = 1;
303 <      if( !(time % status_n) ){ e_out->writeStat( time * dt ); calcPot = 0; }
302 >      if( !((time+1) % status_n) ) {
303 >        calcPot = 1;
304 >        calcStress = 1;
305 >      }
306 >      if( !(time % status_n) ){
307 >        e_out->writeStat( time * dt );
308 >        calcPot = 0;
309 >        calcStress = 0;
310 >      }
311      }
312    }
313    else{
# Line 308 | Line 317 | void Verlet::integrate( void ){
317        
318        // calculate the forces
319        
320 <      myFF->doForces(calcPot,0);
320 >      myFF->doForces(calcPot,calcStress);
321              
322        // complete the verlet move
323        
# Line 320 | Line 329 | void Verlet::integrate( void ){
329          if( !(time % vel_n) ) tStats->velocitize();
330        }
331        if( !(time % sample_n) )  dump_out->writeDump( time * dt );
332 <      if( !((time+1) % status_n) ) calcPot = 1;
333 <      if( !(time % status_n) ){ e_out->writeStat( time * dt ); calcPot = 0; }
332 >      if( !((time+1) % status_n) ) {
333 >        calcPot = 1;
334 >        calcStress = 1;
335 >      }
336 >      if( !(time % status_n) ){
337 >        e_out->writeStat( time * dt );
338 >        calcPot = 0;
339 >        calcStress = 0;
340 >      }
341      }
342    }
343    

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines