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 389 by mmeineke, Mon Mar 24 15:26:05 2003 UTC vs.
Revision 472 by mmeineke, Mon Apr 7 21:16:35 2003 UTC

# Line 11 | Line 11 | void ForceFields::doForces( int calcPot, int calcStres
11   #include "fortranWrappers.hpp"
12  
13  
14 + void ForceFields::calcRcut( void ){
15 +
16 + #ifdef IS_MPI
17 +  double tempBig = bigSigma;
18 +  MPI_Allreduce( &tempBig, &bigSigma, 1, MPI_DOUBLE, MPI_MAX,
19 +                 MPI_COMM_WORLD);
20 + #endif  //is_mpi
21 +
22 +  //calc rCut and rList
23 +
24 +  entry_plug->rCut = 2.5 * bigSigma;
25 +  if(entry_plug->rCut > (entry_plug->box_x / 2.0))
26 +    entry_plug->rCut = entry_plug->box_x / 2.0;
27 +  if(entry_plug->rCut > (entry_plug->box_y / 2.0))
28 +    entry_plug->rCut = entry_plug->box_y / 2.0;
29 +  if(entry_plug->rCut > (entry_plug->box_z / 2.0))
30 +    entry_plug->rCut = entry_plug->box_z / 2.0;
31 +  
32 +  entry_plug->rList = entry_plug->rCut + 1.0;
33 +  
34 + }
35 +
36   void ForceFields::doForces( int calcPot, int calcStress ){
37  
38    int i, isError;
# Line 19 | Line 41 | void ForceFields::doForces( int calcPot, int calcStres
41    double* trq;
42    double* tau;
43    double* A;
44 <  double* u_l;
44 >  double* u_l;;
45 >  DirectionalAtom* dAtom;
46  
47 +  double ut[3];
48 +
49 +  //u_l = new double[entry_plug->n_atoms];
50 +
51    short int passedCalcPot = (short int)calcPot;
52    short int passedCalcStress = (short int)calcStress;
53  
54    // forces are zeroed here, before any are acumulated.
55    // NOTE: do not rezero the forces in Fortran.
56  
57 +
58    for(i=0; i<entry_plug->n_atoms; i++){
59      entry_plug->atoms[i]->zeroForces();
60 +
61 + //     if( entry_plug->atoms[i]->isDirectional() ){
62 + //       dAtom = (DirectionalAtom *)entry_plug->atoms[i];
63 + //       dAtom->getU(ut);
64 +    
65 +
66 + //       if(dAtom->getIndex()== 1){
67 + //      std::cerr << "atom 2's u_l = " << ut[0] << ", " << ut[1]
68 + //                << ", " << ut[2] << "\n";
69 + //       }
70 + //     }
71 +    
72    }
73  
74 <  for(i=0; i<entry_plug->n_SRI; i++ ){
75 <    entry_plug->sr_interactions[i]->calc_forces();
74 >  for(i=0; i<entry_plug->n_mol; i++ ){
75 >    entry_plug->molecules[i].calcForces();
76    }
77  
78    frc = Atom::getFrcArray();
# Line 40 | Line 80 | void ForceFields::doForces( int calcPot, int calcStres
80    trq = Atom::getTrqArray();
81    A   = Atom::getAmatArray();
82    u_l = Atom::getUlArray();
43
83    tau = entry_plug->tau;
84 <    
84 >
85 >  
86    isError = 0;
87    entry_plug->lrPot = 0.0;
88 +  tau[0] = 0.0;
89 +  tau[1] = 0.0;
90 +  tau[2] = 0.0;
91 +  
92 +
93 +
94 +  
95    fortranForceLoop( pos,
96                      A,
97                      u_l,
# Line 57 | Line 104 | void ForceFields::doForces( int calcPot, int calcStres
104                      &isError );
105  
106  
107 +  //  delete[] u_l;
108 +
109    if( isError ){
110      sprintf( painCave.errMsg,
111               "Error returned from the fortran force calculation.\n" );

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines