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 479 by chuckv, Tue Apr 8 15:20:44 2003 UTC vs.
Revision 841 by mmeineke, Wed Oct 29 17:55:28 2003 UTC

# Line 1 | Line 1
1 < #include <cstdlib>
1 > #include <iostream>
2  
3 + using namespace std;
4 +
5 +
6 + #include <stdlib.h>
7 +
8   #ifdef IS_MPI
9   #include <mpi.h>
10   #endif // is_mpi
# Line 21 | Line 26 | void ForceFields::calcRcut( void ){
26  
27    //calc rCut and rList
28  
29 <  entry_plug->rCut = 2.5 * bigSigma;
30 <  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 <  
29 >  entry_plug->setDefaultRcut( 2.5 * bigSigma );  
30 >    
31   }
32  
33   void ForceFields::doForces( int calcPot, int calcStress ){
# Line 41 | Line 38 | void ForceFields::doForces( int calcPot, int calcStres
38    double* trq;
39    double* A;
40    double* u_l;;
41 <  DirectionalAtom* dAtom;
41 >  SimState* config;
42  
46  double ut[3];
47
48  //u_l = new double[entry_plug->n_atoms];
49
43    short int passedCalcPot = (short int)calcPot;
44    short int passedCalcStress = (short int)calcStress;
45  
46 <  // forces are zeroed here, before any are acumulated.
46 >  // forces are zeroed here, before any are accumulated.
47    // NOTE: do not rezero the forces in Fortran.
48  
56
49    for(i=0; i<entry_plug->n_atoms; i++){
50 <    entry_plug->atoms[i]->zeroForces();
59 <
60 < //     if( entry_plug->atoms[i]->isDirectional() ){
61 < //       dAtom = (DirectionalAtom *)entry_plug->atoms[i];
62 < //       dAtom->getU(ut);
63 <    
64 <
65 < //       if(dAtom->getIndex()== 1){
66 < //      std::cerr << "atom 2's u_l = " << ut[0] << ", " << ut[1]
67 < //                << ", " << ut[2] << "\n";
68 < //       }
69 < //     }
70 <    
50 >    entry_plug->atoms[i]->zeroForces();    
51    }
52  
53    for(i=0; i<entry_plug->n_mol; i++ ){
54      entry_plug->molecules[i].calcForces();
55    }
56  
57 <  frc = Atom::getFrcArray();
78 <  pos = Atom::getPosArray();
79 <  trq = Atom::getTrqArray();
80 <  A   = Atom::getAmatArray();
81 <  u_l = Atom::getUlArray();
82 <
57 >  config = entry_plug->getConfiguration();
58    
59 +  frc = config->getFrcArray();
60 +  pos = config->getPosArray();
61 +  trq = config->getTrqArray();
62 +  A   = config->getAmatArray();
63 +  u_l = config->getUlArray();
64 +
65    isError = 0;
66    entry_plug->lrPot = 0.0;
67  
# Line 88 | Line 69 | void ForceFields::doForces( int calcPot, int calcStres
69      entry_plug->tau[i] = 0.0;
70    }
71  
72 +  std::cerr << "before\n"
73 +            << "  force[0] = " << frc[0] << "\n"
74 +            << "  pos[0]   = " << pos[0] << "\n"
75 +            << "  trq[0]   = " << trq[0] << "\n"
76 +            << "  A[0]     = " << A[0] << "\n"
77 +            << "  tau      = " << entry_plug->tau[0] << ", " << entry_plug->tau[1] << ", " << entry_plug->tau[2] << "\n"
78 +            << "             " << entry_plug->tau[3] << ", " << entry_plug->tau[4] << ", " << entry_plug->tau[5] << "\n"
79 +            << "             " << entry_plug->tau[6] << ", " << entry_plug->tau[7] << ", " << entry_plug->tau[8] << "\n\n";
80 +
81    fortranForceLoop( pos,
82                      A,
83                      u_l,
# Line 99 | Line 89 | void ForceFields::doForces( int calcPot, int calcStres
89                      &passedCalcStress,
90                      &isError );
91  
102  //  delete[] u_l;
92  
93 +  std::cerr << "after\n"
94 +            << "  force[0] = " << frc[0] << "\n"
95 +            << "  pos[0]   = " << pos[0] << "\n"
96 +            << "  trq[0]   = " << trq[0] << "\n"
97 +            << "  A[0]     = " << A[0] << "\n"
98 +            << "  tau      = " << entry_plug->tau[0] << ", " << entry_plug->tau[1] << ", " << entry_plug->tau[2] << "\n"
99 +            << "             " << entry_plug->tau[3] << ", " << entry_plug->tau[4] << ", " << entry_plug->tau[5] << "\n"
100 +            << "             " << entry_plug->tau[6] << ", " << entry_plug->tau[7] << ", " << entry_plug->tau[8] << "\n\n";
101 +
102    if( isError ){
103      sprintf( painCave.errMsg,
104               "Error returned from the fortran force calculation.\n" );
# Line 113 | Line 111 | void ForceFields::doForces( int calcPot, int calcStres
111             "returned from the force calculation.\n" );
112    MPIcheckPoint();
113   #endif // is_mpi
114 +  
115  
116   }
117  

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines