--- branches/development/src/flucq/FluctuatingChargePropagator.cpp 2012/06/18 18:23:20 1756 +++ branches/development/src/flucq/FluctuatingChargePropagator.cpp 2012/06/21 19:26:46 1760 @@ -57,24 +57,27 @@ namespace OpenMD { using namespace QuantLib; namespace OpenMD { - FluctuatingChargePropagator::FluctuatingChargePropagator(SimInfo* info, - ForceManager* fm) : - info_(info), forceMan_(fm), hasFlucQ_(false) { + FluctuatingChargePropagator::FluctuatingChargePropagator(SimInfo* info) : + info_(info), hasFlucQ_(false), forceMan_(NULL) { + Globals* simParams = info_->getSimParams(); + fqParams_ = simParams->getFluctuatingChargeParameters(); + + } + + void FluctuatingChargePropagator::setForceManager(ForceManager* forceMan) { + forceMan_ = forceMan; + } + + void FluctuatingChargePropagator::initialize() { + if (info_->usesFluctuatingCharges()) { if (info_->getNFluctuatingCharges() > 0) { - hasFlucQ_ = true; - Globals* simParams = info_->getSimParams(); - fqParams_ = simParams->getFluctuatingChargeParameters(); - fqConstraints_ = new FluctuatingChargeConstraints(info_); - + fqConstraints_ = new FluctuatingChargeConstraints(info_); } } - } - void FluctuatingChargePropagator::initialize() { - if (!hasFlucQ_) return; SimInfo::MoleculeIterator i; @@ -100,7 +103,7 @@ namespace OpenMD { EndCriteria endCriteria(1000, 100, 1e-5, 1e-5, 1e-5); OptimizationMethod* minim = OptimizationFactory::getInstance()->createOptimization("SD", info_); - DumpStatusFunction dsf(info_); // we want a dump file written every iteration + DumpStatusFunction dsf(info_); // we want a dump file written every iteration minim->minimize(problem, endCriteria); cerr << "Finished minimization\n"; @@ -111,16 +114,6 @@ namespace OpenMD { cerr << atom->getType() << "\tQ Pos: " << atom->getFlucQPos() << "\n"; } } - // std::cerr << "after minim\n"; - // for (mol = info_->beginMolecule(i); mol != NULL; - // mol = info_->nextMolecule(i)) { - // for (atom = mol->beginFluctuatingCharge(j); atom != NULL; - // atom = mol->nextFluctuatingCharge(j)) { - // cerr << "q = " << atom->getFlucQPos(0.0) << "\n"; - // } - // } - - }