--- trunk/src/integrators/LangevinDynamics.cpp 2006/03/13 22:42:40 895 +++ trunk/src/integrators/LangevinDynamics.cpp 2008/04/18 16:55:15 1237 @@ -53,11 +53,15 @@ namespace oopse { #include "integrators/LDForceManager.hpp" namespace oopse { - + LangevinDynamics::LangevinDynamics(SimInfo* info) : VelocityVerletIntegrator(info){ setForceManager(new LDForceManager(info)); - } + // Langevin Dynamics Force Manager needs to know about the half-time step + // size to get convergence on the friction forces: + dynamic_cast(forceMan_)->setDt2(dt2); + } + void LangevinDynamics::moveA(){ SimInfo::MoleculeIterator i; Molecule::IntegrableObjectIterator j; @@ -68,7 +72,7 @@ namespace oopse { Vector3d frc; Vector3d Tb; Vector3d ji; - double mass; + RealType mass; for (mol = info_->beginMolecule(i); mol != NULL; mol = info_->nextMolecule(i)) { for (integrableObject = mol->beginIntegrableObject(j); integrableObject != NULL; @@ -122,7 +126,7 @@ namespace oopse { Vector3d frc; Vector3d Tb; Vector3d ji; - double mass; + RealType mass; for (mol = info_->beginMolecule(i); mol != NULL; mol = info_->nextMolecule(i)) { for (integrableObject = mol->beginIntegrableObject(j); integrableObject != NULL; @@ -162,7 +166,7 @@ namespace oopse { } - double LangevinDynamics::calcConservedQuantity() { + RealType LangevinDynamics::calcConservedQuantity() { return 0.0; }