# | Line 45 | Line 45 | namespace OpenMD { | |
---|---|---|
45 | #include "utils/simError.h" | |
46 | namespace OpenMD { | |
47 | ||
48 | < | Rattle::Rattle(SimInfo* info) : info_(info), maxConsIteration_(10), consTolerance_(1.0e-6) { |
48 | > | Rattle::Rattle(SimInfo* info) : info_(info), maxConsIteration_(10), consTolerance_(1.0e-6), doRattle_(false) { |
49 | ||
50 | + | if (info_->getNConstraints() > 0) |
51 | + | doRattle_ = true; |
52 | + | |
53 | + | |
54 | if (info_->getSimParams()->haveDt()) { | |
55 | dt_ = info_->getSimParams()->getDt(); | |
56 | } else { | |
# | Line 60 | Line 64 | namespace OpenMD { | |
64 | } | |
65 | ||
66 | void Rattle::constraintA() { | |
67 | < | if (info_->getNConstraints() > 0) { |
68 | < | doConstraint(&Rattle::constraintPairA); |
65 | < | } |
67 | > | if (!doRattle_) return; |
68 | > | doConstraint(&Rattle::constraintPairA); |
69 | } | |
70 | void Rattle::constraintB() { | |
71 | < | if (info_->getNConstraints() > 0) { |
72 | < | doConstraint(&Rattle::constraintPairB); |
70 | < | } |
71 | > | if (!doRattle_) return; |
72 | > | doConstraint(&Rattle::constraintPairB); |
73 | } | |
74 | ||
75 | void Rattle::doConstraint(ConstraintPairFuncPtr func) { | |
76 | + | if (!doRattle_) return; |
77 | + | |
78 | Molecule* mol; | |
79 | SimInfo::MoleculeIterator mi; | |
80 | ConstraintElem* consElem; | |
# | Line 149 | Line 153 | namespace OpenMD { | |
153 | } | |
154 | ||
155 | int Rattle::constraintPairA(ConstraintPair* consPair){ | |
156 | + | |
157 | ConstraintElem* consElem1 = consPair->getConsElem1(); | |
158 | ConstraintElem* consElem2 = consPair->getConsElem2(); | |
159 |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |