# | Line 36 | Line 36 | |
---|---|---|
36 | * [1] Meineke, et al., J. Comp. Chem. 26, 252-271 (2005). | |
37 | * [2] Fennell & Gezelter, J. Chem. Phys. 124, 234104 (2006). | |
38 | * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 24107 (2008). | |
39 | < | * [4] Vardeman & Gezelter, in progress (2009). |
39 | > | * [4] Kuang & Gezelter, J. Chem. Phys. 133, 164101 (2010). |
40 | > | * [5] Vardeman, Stocker & Gezelter, J. Chem. Theory Comput. 7, 834 (2011). |
41 | */ | |
42 | ||
43 | #include "constraints/Rattle.hpp" | |
# | Line 44 | 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 59 | Line 64 | namespace OpenMD { | |
64 | } | |
65 | ||
66 | void Rattle::constraintA() { | |
67 | < | if (info_->getNConstraints() > 0) { |
68 | < | doConstraint(&Rattle::constraintPairA); |
64 | < | } |
67 | > | if (!doRattle_) return; |
68 | > | doConstraint(&Rattle::constraintPairA); |
69 | } | |
70 | void Rattle::constraintB() { | |
71 | < | if (info_->getNConstraints() > 0) { |
72 | < | doConstraint(&Rattle::constraintPairB); |
69 | < | } |
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 148 | 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 |