--- trunk/src/brains/SimInfo.cpp 2005/10/04 19:34:03 645 +++ trunk/src/brains/SimInfo.cpp 2005/10/19 19:24:40 691 @@ -526,16 +526,22 @@ namespace oopse { int useDirectionalAtom = 0; int useElectrostatics = 0; //usePBC and useRF are from simParams - int usePBC = simParams_->getPBC(); + int usePBC = simParams_->getUsePeriodicBoundaryConditions(); int useRF; + std::string myMethod; // set the useRF logical - std::string myMethod = simParams_->getElectrostaticSummationMethod(); - if (myMethod == "REACTION_FIELD") - useRF = 1; - else - useRF = 0; + useRF = 0; + + if (simParams_->haveElectrostaticSummationMethod()) { + std::string myMethod = simParams_->getElectrostaticSummationMethod(); + toUpper(myMethod); + if (myMethod == "REACTION_FIELD") { + useRF=1; + } + } + //loop over all of the atom types for (i = atomTypes.begin(); i != atomTypes.end(); ++i) { useLennardJones |= (*i)->isLennardJones(); @@ -616,8 +622,8 @@ namespace oopse { fInfo_.SIM_uses_FLARB = useFLARB; fInfo_.SIM_uses_RF = useRF; - if( fInfo_.SIM_uses_Dipoles && myMethod == "REACTION_FIELD") { - + if( myMethod == "REACTION_FIELD") { + if (simParams_->haveDielectric()) { fInfo_.dielect = simParams_->getDielectric(); } else { @@ -627,12 +633,8 @@ namespace oopse { "\tsetting a dielectric constant!\n"); painCave.isFatal = 1; simError(); - } - - } else { - fInfo_.dielect = 0.0; + } } - } void SimInfo::setupFortranSim() { @@ -806,7 +808,7 @@ namespace oopse { if (fInfo_.SIM_uses_Charges | fInfo_.SIM_uses_Dipoles | fInfo_.SIM_uses_RF) { - if (!simParams_->haveRcut()){ + if (!simParams_->haveCutoffRadius()){ sprintf(painCave.errMsg, "SimCreator Warning: No value was set for the cutoffRadius.\n" "\tOOPSE will use a default value of 15.0 angstroms" @@ -815,10 +817,10 @@ namespace oopse { simError(); rcut = 15.0; } else{ - rcut = simParams_->getRcut(); + rcut = simParams_->getCutoffRadius(); } - if (!simParams_->haveRsw()){ + if (!simParams_->haveSwitchingRadius()){ sprintf(painCave.errMsg, "SimCreator Warning: No value was set for switchingRadius.\n" "\tOOPSE will use a default value of\n" @@ -827,22 +829,22 @@ namespace oopse { simError(); rsw = 0.95 * rcut; } else{ - rsw = simParams_->getRsw(); + rsw = simParams_->getSwitchingRadius(); } } else { // if charge, dipole or reaction field is not used and the cutofff radius is not specified in //meta-data file, the maximum cutoff radius calculated from forcefiled will be used - if (simParams_->haveRcut()) { - rcut = simParams_->getRcut(); + if (simParams_->haveCutoffRadius()) { + rcut = simParams_->getCutoffRadius(); } else { //set cutoff radius to the maximum cutoff radius based on atom types in the whole system rcut = calcMaxCutoffRadius(); } - if (simParams_->haveRsw()) { - rsw = simParams_->getRsw(); + if (simParams_->haveSwitchingRadius()) { + rsw = simParams_->getSwitchingRadius(); } else { rsw = rcut; } @@ -859,6 +861,7 @@ namespace oopse { int cp = TRADITIONAL_CUTOFF_POLICY; if (simParams_->haveCutoffPolicy()) { std::string myPolicy = simParams_->getCutoffPolicy(); + toUpper(myPolicy); if (myPolicy == "MIX") { cp = MIX_CUTOFF_POLICY; } else { @@ -885,7 +888,7 @@ namespace oopse { notifyFortranCutoffs(&rcut_, &rsw_, &rnblist, &cp); // also send cutoff notification to electrostatics - setElectrostaticCutoffRadius(&rcut_); + setElectrostaticCutoffRadius(&rcut_, &rsw_); } void SimInfo::setupElectrostaticSummationMethod( int isError ) { @@ -901,6 +904,7 @@ namespace oopse { if (simParams_->haveElectrostaticSummationMethod()) { std::string myMethod = simParams_->getElectrostaticSummationMethod(); + toUpper(myMethod); if (myMethod == "NONE") { esm = NONE; } else { @@ -917,7 +921,7 @@ namespace oopse { simError(); } } else { - if (myMethod == "REACTION_FIELD") { + if (myMethod == "REACTION_FIELD") { esm = REACTION_FIELD; } else { // throw error