--- trunk/OOPSE/libmdtools/SimInfo.cpp 2004/04/15 16:18:26 1113 +++ trunk/OOPSE/libmdtools/SimInfo.cpp 2004/04/28 22:06:29 1139 @@ -63,6 +63,7 @@ SimInfo::SimInfo(){ useReactionField = 0; useGB = 0; useEAM = 0; + useMolecularCutoffs = 0; excludes = Exclude::Instance(); @@ -326,8 +327,12 @@ int SimInfo::getNDF(){ for(int i = 0; i < integrableObjects.size(); i++){ ndf_local += 3; - if (integrableObjects[i]->isDirectional()) - ndf_local += 3; + if (integrableObjects[i]->isDirectional()) { + if (integrableObjects[i]->isLinear()) + ndf_local += 2; + else + ndf_local += 3; + } } // n_constraints is local, so subtract them on each processor: @@ -356,8 +361,12 @@ int SimInfo::getNDFraw() { for(int i = 0; i < integrableObjects.size(); i++){ ndfRaw_local += 3; - if (integrableObjects[i]->isDirectional()) - ndfRaw_local += 3; + if (integrableObjects[i]->isDirectional()) { + if (integrableObjects[i]->isLinear()) + ndfRaw_local += 2; + else + ndfRaw_local += 3; + } } #ifdef IS_MPI @@ -428,6 +437,7 @@ void SimInfo::refreshSim(){ //fInfo.SIM_uses_RF = 0; fInfo.SIM_uses_GB = useGB; fInfo.SIM_uses_EAM = useEAM; + fInfo.SIM_uses_molecular_cutoffs = useMolecularCutoffs; n_exclude = excludes->getSize(); excl = excludes->getFortranArray(); @@ -502,11 +512,11 @@ void SimInfo::checkCutOffs( void ){ "\tCurrent Value of LJrcut = %G at time %G\n " "\tThis is larger than half of at least one of the\n" "\tperiodic box vectors. Right now, the Box matrix is:\n" - "\n, %G" + "\n" "\t[ %G %G %G ]\n" "\t[ %G %G %G ]\n" "\t[ %G %G %G ]\n", - rCut, currentTime, maxCutoff, + rCut, currentTime, Hmat[0][0], Hmat[0][1], Hmat[0][2], Hmat[1][0], Hmat[1][1], Hmat[1][2], Hmat[2][0], Hmat[2][1], Hmat[2][2]); @@ -581,13 +591,3 @@ GenericData* SimInfo::getProperty(const string& propNa return NULL; } -vector SimInfo::getProperties(){ - - vector result; - map::iterator i; - - for(i = properties.begin(); i != properties.end(); i++) - result.push_back((*i).second); - - return result; -}