--- trunk/OOPSE/libmdtools/ZConstraint.cpp 2003/09/02 14:30:12 738 +++ trunk/OOPSE/libmdtools/ZConstraint.cpp 2003/09/25 19:27:15 787 @@ -2,8 +2,8 @@ template ZConstraint::ZConstraint(SimIn #include "simError.h" #include template ZConstraint::ZConstraint(SimInfo* theInfo, ForceFields* the_ff) - : T(theInfo, the_ff), fz(NULL), curZPos(NULL), fzOut(NULL), - indexOfZConsMols(NULL), forcePolicy(NULL), curZconsTime(0) + : T(theInfo, the_ff), indexOfZConsMols(NULL), fz(NULL), curZPos(NULL), + fzOut(NULL), curZconsTime(0), forcePolicy(NULL) { //get properties from SimInfo @@ -213,7 +213,7 @@ template ZConstraint::ZConstraint(SimIn //if user does not specify the zpos for the zconstraint molecule //its initial z coordinate will be used as default - for(int i = 0; i < parameters->size(); i++){ + for(int i = 0; i < (int)(parameters->size()); i++){ if(!(*parameters)[i].havingZPos){ #ifndef IS_MPI @@ -227,7 +227,7 @@ template ZConstraint::ZConstraint(SimIn //query which processor current zconstraint molecule belongs to int *MolToProcMap; int whichNode; - double initZPos; + MolToProcMap = mpiSim->getMolToProcMap(); whichNode = MolToProcMap[(*parameters)[i].zconsIndex]; @@ -279,8 +279,8 @@ template ZConstraint::ZConstraint(SimIn zPos.push_back((*parameters)[searchResult].zPos); // cout << "index: "<< (*parameters)[searchResult].zconsIndex // <<"\tzPos = " << (*parameters)[searchResult].zPos << endl; - kz.push_back((*parameters)[searchResult]. kRatio * zForceConst); + kz.push_back((*parameters)[searchResult]. kRatio * zForceConst); molecules[i].getCOM(COM); } else @@ -304,7 +304,7 @@ template ZConstraint::ZConstraint(SimIn } //determine the states of z-constraint molecules - for(int i = 0; i < zconsMols.size(); i++){ + for(int i = 0; i < (int)(zconsMols.size()); i++){ indexOfZConsMols[i] = zconsMols[i]->getGlobalIndex(); zconsMols[i]->getCOM(COM); @@ -320,7 +320,7 @@ template ZConstraint::ZConstraint(SimIn double totalMassOfUncons_local; totalMassOfUncons_local = 0; - for(int i = 0; i < unconsMols.size(); i++) + for(int i = 0; i < (int)(unconsMols.size()); i++) totalMassOfUncons_local += unconsMols[i]->getTotalMass(); #ifndef IS_MPI @@ -333,7 +333,7 @@ template ZConstraint::ZConstraint(SimIn //get total number of unconstrained atoms int nUnconsAtoms_local; nUnconsAtoms_local = 0; - for(int i = 0; i < unconsMols.size(); i++) + for(int i = 0; i < (int)(unconsMols.size()); i++) nUnconsAtoms_local += unconsMols[i]->getNAtoms(); #ifndef IS_MPI @@ -394,7 +394,6 @@ template void ZConstraint::update() zconsMols.push_back(&molecules[i]); zPos.push_back((*parameters)[index].zPos); kz.push_back((*parameters)[index].kRatio * zForceConst); - massOfZConsMols.push_back(molecules[i].getTotalMass()); molecules[i].getCOM(COM); @@ -409,7 +408,7 @@ template void ZConstraint::update() } //determine the states of z-constraint molecules - for(int i = 0; i < zconsMols.size(); i++){ + for(int i = 0; i < (int)(zconsMols.size()); i++){ zconsMols[i]->getCOM(COM); if (fabs(zPos[i] - COM[whichDirection]) < zconsTol) states.push_back(zcsFixed); @@ -441,7 +440,7 @@ template void ZConstraint::update() simError(); } - for(int i = 0; i < zconsMols.size(); i++){ + for(int i = 0; i < (int)(zconsMols.size()); i++){ indexOfZConsMols[i] = zconsMols[i]->getGlobalIndex(); } @@ -560,7 +559,7 @@ template void ZConstraint::calcForce(in //write out forces and current positions of z-constraint molecules if(info->getTime() >= curZconsTime){ - for(int i = 0; i < zconsMols.size(); i++){ + for(int i = 0; i < (int)(zconsMols.size()); i++){ zconsMols[i]->getCOM(COM); curZPos[i] = COM[whichDirection]; @@ -655,7 +654,7 @@ template void ZConstraint::zeroOutVel() //zero out the velocities of center of mass of fixed z-constrained molecules - for(int i = 0; i < zconsMols.size(); i++){ + for(int i = 0; i < (int)(zconsMols.size()); i++){ if (states[i] == zcsFixed){ @@ -696,12 +695,12 @@ template void ZConstraint::zeroOutVel() MVzOfMovingMols_local = 0; totalMassOfMovingZMols_local = 0; - for(int i =0; i < unconsMols.size(); i++){ + for(int i =0; i < (int)(unconsMols.size()); i++){ unconsMols[i]->getCOMvel(COMvel); MVzOfMovingMols_local += massOfUnconsMols[i] * COMvel[whichDirection]; } - for(int i = 0; i < zconsMols.size(); i++){ + for(int i = 0; i < (int)(zconsMols.size()); i++){ if (states[i] == zcsMoving){ zconsMols[i]->getCOMvel(COMvel); MVzOfMovingMols_local += massOfZConsMols[i] * COMvel[whichDirection]; @@ -723,7 +722,7 @@ template void ZConstraint::zeroOutVel() //modify the velocites of unconstrained molecules Atom** unconsAtoms; - for(int i = 0; i < unconsMols.size(); i++){ + for(int i = 0; i < (int)(unconsMols.size()); i++){ unconsAtoms = unconsMols[i]->getMyAtoms(); for(int j = 0; j < unconsMols[i]->getNAtoms();j++){ @@ -736,7 +735,7 @@ template void ZConstraint::zeroOutVel() //modify the velocities of moving z-constrained molecuels Atom** movingZAtoms; - for(int i = 0; i < zconsMols.size(); i++){ + for(int i = 0; i < (int)(zconsMols.size()); i++){ if (states[i] ==zcsMoving){ @@ -772,7 +771,6 @@ template void ZConstraint::doZconstrain Atom** zconsAtoms; double totalFZ; double totalFZ_local; - double COMvel[3]; double COM[3]; double force[3]; @@ -786,7 +784,7 @@ template void ZConstraint::doZconstrain //cout << "before zero out z-constraint force on fixed z-constraint molecuels " // << "total force is " << calcTotalForce() << endl; - for(int i = 0; i < zconsMols.size(); i++){ + for(int i = 0; i < (int)(zconsMols.size()); i++){ if (states[i] == zcsFixed){ @@ -822,7 +820,7 @@ template void ZConstraint::doZconstrain force[1]= 0; force[2]= 0; - for(int i = 0; i < zconsMols.size(); i++){ + for(int i = 0; i < (int)(zconsMols.size()); i++){ if (states[i] == zcsFixed){ @@ -848,7 +846,7 @@ template void ZConstraint::doZconstrain force[2]= 0; //modify the forces of unconstrained molecules - for(int i = 0; i < unconsMols.size(); i++){ + for(int i = 0; i < (int)(unconsMols.size()); i++){ Atom** unconsAtoms = unconsMols[i]->getMyAtoms(); @@ -861,7 +859,7 @@ template void ZConstraint::doZconstrain } //modify the forces of moving z-constrained molecules - for(int i = 0; i < zconsMols.size(); i++) { + for(int i = 0; i < (int)(zconsMols.size()); i++) { if (states[i] == zcsMoving){ Atom** movingZAtoms = zconsMols[i]->getMyAtoms(); @@ -898,7 +896,7 @@ template void ZConstraint::doHarmonic() totalFZ_local = 0; - for(int i = 0; i < zconsMols.size(); i++) { + for(int i = 0; i < (int)(zconsMols.size()); i++) { if (states[i] == zcsMoving){ zconsMols[i]->getCOM(COM); @@ -932,15 +930,15 @@ template void ZConstraint::doHarmonic() MPI_Allreduce(&totalFZ_local, &totalFZ, 1, MPI_DOUBLE,MPI_SUM, MPI_COMM_WORLD); #endif - cout << "before substracting harmonic force from moving molecuels " - << "total force is " << calcTotalForce() << endl; + //cout << "before substracting harmonic force from moving molecuels " + // << "total force is " << calcTotalForce() << endl; force[0]= 0; force[1]= 0; force[2]= 0; //modify the forces of unconstrained molecules - for(int i = 0; i < unconsMols.size(); i++){ + for(int i = 0; i < (int)(unconsMols.size()); i++){ Atom** unconsAtoms = unconsMols[i]->getMyAtoms(); @@ -951,8 +949,8 @@ template void ZConstraint::doHarmonic() } } - cout << "after substracting harmonic force from moving molecuels " - << "total force is " << calcTotalForce() << endl; + //cout << "after substracting harmonic force from moving molecuels " + // << "total force is " << calcTotalForce() << endl; } @@ -969,7 +967,7 @@ template bool ZConstraint::checkZConsSt changed_local = 0; - for(int i =0; i < zconsMols.size(); i++){ + for(int i =0; i < (int)(zconsMols.size()); i++){ zconsMols[i]->getCOM(COM); diff = fabs(COM[whichDirection] - zPos[i]); @@ -1001,7 +999,7 @@ template bool ZConstraint::haveFixedZMo havingFixed_local = 0; - for(int i = 0; i < zconsMols.size(); i++) + for(int i = 0; i < (int)(zconsMols.size()); i++) if (states[i] == zcsFixed){ havingFixed_local = 1; break; @@ -1027,7 +1025,7 @@ template bool ZConstraint::haveMovingZM havingMoving_local = 0; - for(int i = 0; i < zconsMols.size(); i++) + for(int i = 0; i < (int)(zconsMols.size()); i++) if (states[i] == zcsMoving){ havingMoving_local = 1; break; @@ -1109,7 +1107,7 @@ template double ZConstraint::calcSysCOM massOfZCons_local = 0; - for(int i = 0; i < massOfZConsMols.size(); i++){ + for(int i = 0; i < (int)(massOfZConsMols.size()); i++){ massOfZCons_local += massOfZConsMols[i]; } #ifndef IS_MPI @@ -1160,7 +1158,7 @@ template void ZConstraint::PolicyByNumb int nMovingZAtoms; nMovingZAtoms_local = 0; - for(int i = 0; i < (zconsIntegrator->zconsMols).size(); i++) + for(int i = 0; i < (int)((zconsIntegrator->zconsMols).size()); i++) if((zconsIntegrator->states)[i] == (zconsIntegrator->zcsMoving)) nMovingZAtoms_local += (zconsIntegrator->zconsMols)[i]->getNAtoms(); @@ -1198,7 +1196,7 @@ template void ZConstraint::PolicyByMass double massOfMovingZAtoms; massOfMovingZAtoms_local = 0; - for(int i = 0; i < (zconsIntegrator->zconsMols).size(); i++) + for(int i = 0; i < (int)((zconsIntegrator->zconsMols).size()); i++) if((zconsIntegrator->states)[i] == (zconsIntegrator->zcsMoving)) massOfMovingZAtoms_local += (zconsIntegrator->zconsMols)[i]->getTotalMass();