| 40 |  | */ | 
| 41 |  |  | 
| 42 |  | #include <cmath> | 
| 43 | < | #include "integrators/RNEMD.hpp" | 
| 43 | > | #include "rnemd/RNEMD.hpp" | 
| 44 |  | #include "math/Vector3.hpp" | 
| 45 |  | #include "math/Vector.hpp" | 
| 46 |  | #include "math/SquareMatrix3.hpp" | 
| 70 |  |  | 
| 71 |  | int seedValue; | 
| 72 |  | Globals * simParams = info->getSimParams(); | 
| 73 | + | RNEMDParameters* rnemdParams = simParams->getRNEMDParameters(); | 
| 74 |  |  | 
| 75 |  | stringToEnumMap_["KineticSwap"] = rnemdKineticSwap; | 
| 76 |  | stringToEnumMap_["KineticScale"] = rnemdKineticScale; | 
| 89 |  | runTime_ = simParams->getRunTime(); | 
| 90 |  | statusTime_ = simParams->getStatusTime(); | 
| 91 |  |  | 
| 92 | < | rnemdObjectSelection_ = simParams->getRNEMD_objectSelection(); | 
| 92 | > | rnemdObjectSelection_ = rnemdParams->getObjectSelection(); | 
| 93 |  | evaluator_.loadScriptString(rnemdObjectSelection_); | 
| 94 |  | seleMan_.setSelectionSet(evaluator_.evaluate()); | 
| 95 |  |  | 
| 114 |  | simError(); | 
| 115 |  | } | 
| 116 |  |  | 
| 117 | < | const string st = simParams->getRNEMD_exchangeType(); | 
| 117 | > | const string st = rnemdParams->getExchangeType(); | 
| 118 |  |  | 
| 119 |  | map<string, RNEMDTypeEnum>::iterator i; | 
| 120 |  | i = stringToEnumMap_.find(st); | 
| 131 |  | } | 
| 132 |  |  | 
| 133 |  | outputTemp_ = false; | 
| 134 | < | if (simParams->haveRNEMD_outputTemperature()) { | 
| 135 | < | outputTemp_ = simParams->getRNEMD_outputTemperature(); | 
| 134 | > | if (rnemdParams->haveOutputTemperature()) { | 
| 135 | > | outputTemp_ = rnemdParams->getOutputTemperature(); | 
| 136 |  | } else if ((rnemdType_ == rnemdKineticSwap) || | 
| 137 |  | (rnemdType_ == rnemdKineticScale) || | 
| 138 |  | (rnemdType_ == rnemdKineticScaleVAM) || | 
| 140 |  | outputTemp_ = true; | 
| 141 |  | } | 
| 142 |  | outputVx_ = false; | 
| 143 | < | if (simParams->haveRNEMD_outputVx()) { | 
| 144 | < | outputVx_ = simParams->getRNEMD_outputVx(); | 
| 143 | > | if (rnemdParams->haveOutputVx()) { | 
| 144 | > | outputVx_ = rnemdParams->getOutputVx(); | 
| 145 |  | } else if ((rnemdType_ == rnemdPx) || (rnemdType_ == rnemdPxScale)) { | 
| 146 |  | outputVx_ = true; | 
| 147 |  | } | 
| 148 |  | outputVy_ = false; | 
| 149 | < | if (simParams->haveRNEMD_outputVy()) { | 
| 150 | < | outputVy_ = simParams->getRNEMD_outputVy(); | 
| 149 | > | if (rnemdParams->haveOutputVy()) { | 
| 150 | > | outputVy_ = rnemdParams->getOutputVy(); | 
| 151 |  | } else if ((rnemdType_ == rnemdPy) || (rnemdType_ == rnemdPyScale)) { | 
| 152 |  | outputVy_ = true; | 
| 153 |  | } | 
| 154 |  | output3DTemp_ = false; | 
| 155 | < | if (simParams->haveRNEMD_outputXyzTemperature()) { | 
| 156 | < | output3DTemp_ = simParams->getRNEMD_outputXyzTemperature(); | 
| 155 | > | if (rnemdParams->haveOutputXyzTemperature()) { | 
| 156 | > | output3DTemp_ = rnemdParams->getOutputXyzTemperature(); | 
| 157 |  | } | 
| 158 |  | outputRotTemp_ = false; | 
| 159 | < | if (simParams->haveRNEMD_outputRotTemperature()) { | 
| 160 | < | outputRotTemp_ = simParams->getRNEMD_outputRotTemperature(); | 
| 159 | > | if (rnemdParams->haveOutputRotTemperature()) { | 
| 160 | > | outputRotTemp_ = rnemdParams->getOutputRotTemperature(); | 
| 161 |  | } | 
| 162 |  | // James put this in. | 
| 163 |  | outputDen_ = false; | 
| 164 | < | if (simParams->haveRNEMD_outputDen()) { | 
| 165 | < | outputDen_ = simParams->getRNEMD_outputDen(); | 
| 164 | > | if (rnemdParams->haveOutputDen()) { | 
| 165 | > | outputDen_ = rnemdParams->getOutputDen(); | 
| 166 |  | } | 
| 167 |  | outputAh_ = false; | 
| 168 | < | if (simParams->haveRNEMD_outputAh()) { | 
| 169 | < | outputAh_ = simParams->getRNEMD_outputAh(); | 
| 168 | > | if (rnemdParams->haveOutputAh()) { | 
| 169 | > | outputAh_ = rnemdParams->getOutputAh(); | 
| 170 |  | } | 
| 171 |  | outputVz_ = false; | 
| 172 | < | if (simParams->haveRNEMD_outputVz()) { | 
| 173 | < | outputVz_ = simParams->getRNEMD_outputVz(); | 
| 172 | > | if (rnemdParams->haveOutputVz()) { | 
| 173 | > | outputVz_ = rnemdParams->getOutputVz(); | 
| 174 |  | } else if ((rnemdType_ == rnemdPz) || (rnemdType_ == rnemdPzScale)) { | 
| 175 |  | outputVz_ = true; | 
| 176 |  | } | 
| 227 |  | } | 
| 228 |  | #endif | 
| 229 |  |  | 
| 230 | < | set_RNEMD_exchange_time(simParams->getRNEMD_exchangeTime()); | 
| 231 | < | set_RNEMD_nBins(simParams->getRNEMD_nBins()); | 
| 230 | > | set_RNEMD_exchange_time(rnemdParams->getExchangeTime()); | 
| 231 | > | set_RNEMD_nBins(rnemdParams->getNbins()); | 
| 232 |  | midBin_ = nBins_ / 2; | 
| 233 | < | if (simParams->haveRNEMD_binShift()) { | 
| 234 | < | if (simParams->getRNEMD_binShift()) { | 
| 233 | > | if (rnemdParams->haveBinShift()) { | 
| 234 | > | if (rnemdParams->getBinShift()) { | 
| 235 |  | zShift_ = 0.5 / (RealType)(nBins_); | 
| 236 |  | } else { | 
| 237 |  | zShift_ = 0.0; | 
| 242 |  | //cerr << "I shift slabs by " << zShift_ << " Lz\n"; | 
| 243 |  | //shift slabs by half slab width, maybe useful in heterogeneous systems | 
| 244 |  | //set to 0.0 if not using it; N/A in status output yet | 
| 245 | < | if (simParams->haveRNEMD_logWidth()) { | 
| 246 | < | set_RNEMD_logWidth(simParams->getRNEMD_logWidth()); | 
| 245 | > | if (rnemdParams->haveLogWidth()) { | 
| 246 | > | set_RNEMD_logWidth(rnemdParams->getLogWidth()); | 
| 247 |  | /*arbitary rnemdLogWidth_, no checking; | 
| 248 |  | if (rnemdLogWidth_ != nBins_ && rnemdLogWidth_ != midBin_ + 1) { | 
| 249 |  | cerr << "WARNING! RNEMD_logWidth has abnormal value!\n"; | 
| 272 |  | pzzHist_.resize(rnemdLogWidth_, 0.0); | 
| 273 |  |  | 
| 274 |  | set_RNEMD_exchange_total(0.0); | 
| 275 | < | if (simParams->haveRNEMD_targetFlux()) { | 
| 276 | < | set_RNEMD_target_flux(simParams->getRNEMD_targetFlux()); | 
| 275 | > | if (rnemdParams->haveTargetFlux()) { | 
| 276 | > | set_RNEMD_target_flux(rnemdParams->getTargetFlux()); | 
| 277 |  | } else { | 
| 278 |  | set_RNEMD_target_flux(0.0); | 
| 279 |  | } | 
| 280 | < | if (simParams->haveRNEMD_targetJzKE()) { | 
| 281 | < | set_RNEMD_target_JzKE(simParams->getRNEMD_targetJzKE()); | 
| 280 | > | if (rnemdParams->haveTargetJzKE()) { | 
| 281 | > | set_RNEMD_target_JzKE(rnemdParams->getTargetJzKE()); | 
| 282 |  | } else { | 
| 283 |  | set_RNEMD_target_JzKE(0.0); | 
| 284 |  | } | 
| 285 | < | if (simParams->haveRNEMD_targetJzpx()) { | 
| 286 | < | set_RNEMD_target_jzpx(simParams->getRNEMD_targetJzpx()); | 
| 285 | > | if (rnemdParams->haveTargetJzpx()) { | 
| 286 | > | set_RNEMD_target_jzpx(rnemdParams->getTargetJzpx()); | 
| 287 |  | } else { | 
| 288 |  | set_RNEMD_target_jzpx(0.0); | 
| 289 |  | } | 
| 290 |  | jzp_.x() = targetJzpx_; | 
| 291 |  | njzp_.x() = -targetJzpx_; | 
| 292 | < | if (simParams->haveRNEMD_targetJzpy()) { | 
| 293 | < | set_RNEMD_target_jzpy(simParams->getRNEMD_targetJzpy()); | 
| 292 | > | if (rnemdParams->haveTargetJzpy()) { | 
| 293 | > | set_RNEMD_target_jzpy(rnemdParams->getTargetJzpy()); | 
| 294 |  | } else { | 
| 295 |  | set_RNEMD_target_jzpy(0.0); | 
| 296 |  | } | 
| 297 |  | jzp_.y() = targetJzpy_; | 
| 298 |  | njzp_.y() = -targetJzpy_; | 
| 299 | < | if (simParams->haveRNEMD_targetJzpz()) { | 
| 300 | < | set_RNEMD_target_jzpz(simParams->getRNEMD_targetJzpz()); | 
| 299 | > | if (rnemdParams->haveTargetJzpz()) { | 
| 300 | > | set_RNEMD_target_jzpz(rnemdParams->getTargetJzpz()); | 
| 301 |  | } else { | 
| 302 |  | set_RNEMD_target_jzpz(0.0); | 
| 303 |  | } |