52#include "integrators/LangevinHullDynamics.hpp"
55#include "utils/Constants.hpp"
59 LangevinHullDynamics::LangevinHullDynamics(
SimInfo* info) :
62 void LangevinHullDynamics::moveA() {
63 SimInfo::MoleculeIterator i;
64 Molecule::IntegrableObjectIterator j;
76 for (sd = mol->beginIntegrableObject(j); sd != NULL;
77 sd = mol->nextIntegrableObject(j)) {
84 vel += (dt2 / mass * Constants::energyConvert) * frc;
101 ji += (dt2 * Constants::energyConvert) * Tb;
103 rotAlgo_->rotate(sd, ji, dt);
111 rattle_->constraintA();
114 void LangevinHullDynamics::moveB() {
115 SimInfo::MoleculeIterator i;
116 Molecule::IntegrableObjectIterator j;
127 for (sd = mol->beginIntegrableObject(j); sd != NULL;
128 sd = mol->nextIntegrableObject(j)) {
134 vel += (dt2 / mass * Constants::energyConvert) * frc;
147 ji += (dt2 * Constants::energyConvert) * Tb;
155 rattle_->constraintB();
158 RealType LangevinHullDynamics::calcConservedQuantity() {
return 0.0; }
One of the heavy-weight classes of OpenMD, SimInfo maintains objects and variables relating to the cu...
Molecule * beginMolecule(MoleculeIterator &i)
Returns the first molecule in this SimInfo and intialize the iterator.
Molecule * nextMolecule(MoleculeIterator &i)
Returns the next avaliable Molecule based on the iterator.
"Don't move, or you're dead! Stand up! Captain, we've got them!"
Vector3d getTrq()
Returns the current torque of this stuntDouble.
Vector3d lab2Body(const Vector3d &v)
Converts a lab fixed vector to a body fixed vector.
Vector3d getVel()
Returns the current velocity of this stuntDouble.
RealType getMass()
Returns the mass of this stuntDouble.
Vector3d getPos()
Returns the current position of this stuntDouble.
void setPos(const Vector3d &pos)
Sets the current position of this stuntDouble.
void setVel(const Vector3d &vel)
Sets the current velocity of this stuntDouble.
Vector3d getJ()
Returns the current angular momentum of this stuntDouble (body -fixed).
bool isDirectional()
Tests if this stuntDouble is a directional one.
Vector3d getFrc()
Returns the current force of this stuntDouble.
void setJ(const Vector3d &angMom)
Sets the current angular momentum of this stuntDouble (body-fixed).
This basic Periodic Table class was originally taken from the data.cpp file in OpenBabel.