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

Comparing trunk/OOPSE/libmdtools/ForceFields.cpp (file contents):
Revision 572 by mmeineke, Wed Jul 2 21:26:55 2003 UTC vs.
Revision 892 by chuckv, Mon Dec 22 21:27:04 2003 UTC

# Line 3 | Line 3 | using namespace std;
3   using namespace std;
4  
5  
6 < #include <cstdlib>
6 > #include <stdlib.h>
7  
8   #ifdef IS_MPI
9   #include <mpi.h>
10   #endif // is_mpi
11  
12  
13 + #ifdef PROFILE
14 + #include "mdProfile.hpp"
15 + #endif
16 +
17   #include "simError.h"
18   #include "ForceFields.hpp"
19   #include "Atom.hpp"
# Line 26 | Line 30 | void ForceFields::calcRcut( void ){
30  
31    //calc rCut and rList
32  
33 <  entry_plug->rCut = 2.5 * bigSigma;
34 <  if(entry_plug->rCut > (entry_plug->boxLx / 2.0))
31 <    entry_plug->rCut = entry_plug->boxLx / 2.0;
32 <  if(entry_plug->rCut > (entry_plug->boxLy / 2.0))
33 <    entry_plug->rCut = entry_plug->boxLy / 2.0;
34 <  if(entry_plug->rCut > (entry_plug->boxLz / 2.0))
35 <    entry_plug->rCut = entry_plug->boxLz / 2.0;
36 <  
37 <  entry_plug->rList = entry_plug->rCut + 1.0;
38 <  
33 >  entry_plug->setDefaultRcut( 2.5 * bigSigma );  
34 >    
35   }
36  
37   void ForceFields::doForces( int calcPot, int calcStress ){
# Line 46 | Line 42 | void ForceFields::doForces( int calcPot, int calcStres
42    double* trq;
43    double* A;
44    double* u_l;;
45 <  DirectionalAtom* dAtom;
45 >  SimState* config;
46  
47    short int passedCalcPot = (short int)calcPot;
48    short int passedCalcStress = (short int)calcStress;
# Line 58 | Line 54 | void ForceFields::doForces( int calcPot, int calcStres
54      entry_plug->atoms[i]->zeroForces();    
55    }
56  
57 + #ifdef PROFILE
58 +  startProfile(pro7);
59 + #endif
60 +  
61    for(i=0; i<entry_plug->n_mol; i++ ){
62      entry_plug->molecules[i].calcForces();
63    }
64  
65 <  frc = Atom::getFrcArray();
66 <  pos = Atom::getPosArray();
67 <  trq = Atom::getTrqArray();
68 <  A   = Atom::getAmatArray();
69 <  u_l = Atom::getUlArray();
65 > #ifdef PROFILE
66 >  endProfile( pro7 );
67 > #endif
68  
69 +  config = entry_plug->getConfiguration();
70 +  
71 +  frc = config->getFrcArray();
72 +  pos = config->getPosArray();
73 +  trq = config->getTrqArray();
74 +  A   = config->getAmatArray();
75 +  u_l = config->getUlArray();
76 +
77    isError = 0;
78    entry_plug->lrPot = 0.0;
79  
# Line 75 | Line 81 | void ForceFields::doForces( int calcPot, int calcStres
81      entry_plug->tau[i] = 0.0;
82    }
83  
84 +
85 + #ifdef PROFILE
86 +  startProfile(pro8);
87 + #endif
88 +
89    fortranForceLoop( pos,
90                      A,
91                      u_l,
# Line 86 | Line 97 | void ForceFields::doForces( int calcPot, int calcStres
97                      &passedCalcStress,
98                      &isError );
99  
100 + #ifdef PROFILE
101 +  endProfile(pro8);
102 + #endif
103 +
104 +
105    if( isError ){
106      sprintf( painCave.errMsg,
107               "Error returned from the fortran force calculation.\n" );
# Line 98 | Line 114 | void ForceFields::doForces( int calcPot, int calcStres
114             "returned from the force calculation.\n" );
115    MPIcheckPoint();
116   #endif // is_mpi
117 +  
118  
119   }
120  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines