--- trunk/OOPSE/libmdtools/ForceFields.cpp 2003/03/24 15:26:05 389 +++ trunk/OOPSE/libmdtools/ForceFields.cpp 2003/03/27 20:36:16 424 @@ -11,6 +11,27 @@ void ForceFields::doForces( int calcPot, int calcStres #include "fortranWrappers.hpp" +void ForceFields::calcRcut( void ){ + +#ifdef IS_MPI + double tempBig = bigSigma; + MPI::COMM_WORLD.Allreduce( &tempBig, &bigSigma, 1, MPI_DOUBLE, MPI_MAX ); +#endif //is_mpi + + //calc rCut and rList + + entry_plug->rCut = 2.5 bigSigma; + if(entry_plug->rCut > (entry_plug->box_x / 2.0)) + entry_plug->rCut = entry_plug->box_x / 2.0; + if(entry_plug->rCut > (entry_plug->box_y / 2.0)) + entry_plug->rCut = entry_plug->box_y / 2.0; + if(entry_plug->rCut > (entry_plug->box_z / 2.0)) + entry_plug->rCut = entry_plug->box_z / 2.0; + + entry_plug->rList = entry_plug->rCut + 1.0; + +} + void ForceFields::doForces( int calcPot, int calcStress ){ int i, isError; @@ -21,6 +42,7 @@ void ForceFields::doForces( int calcPot, int calcStres double* A; double* u_l; + short int passedCalcPot = (short int)calcPot; short int passedCalcStress = (short int)calcStress; @@ -31,8 +53,8 @@ void ForceFields::doForces( int calcPot, int calcStres entry_plug->atoms[i]->zeroForces(); } - for(i=0; in_SRI; i++ ){ - entry_plug->sr_interactions[i]->calc_forces(); + for(i=0; in_mol; i++ ){ + entry_plug->molecules[i]->calc_forces(); } frc = Atom::getFrcArray(); @@ -40,11 +62,13 @@ void ForceFields::doForces( int calcPot, int calcStres trq = Atom::getTrqArray(); A = Atom::getAmatArray(); u_l = Atom::getUlArray(); - tau = entry_plug->tau; - + + isError = 0; entry_plug->lrPot = 0.0; + + fortranForceLoop( pos, A, u_l,