# | Line 35 | Line 35 | |
---|---|---|
35 | * | |
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). |
38 | > | * [3] Sun, Lin & Gezelter, J. Chem. Phys. 128, 234107 (2008). |
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 "restraints/ObjectRestraint.hpp" | |
# | Line 70 | Line 71 | namespace OpenMD { | |
71 | ||
72 | Quat4d quat = temp.toQuaternion(); | |
73 | ||
74 | < | RealType twistAngle, swingAngle; |
74 | > | RealType twistAngle; |
75 | Vector3d swingAxis; | |
76 | RealType swingX, swingY; | |
77 | ||
78 | quat.toSwingTwist(swingX, swingY, twistAngle); | |
79 | ||
79 | – | |
80 | – | RealType dVdtwist, dVdswingX, dVdswingY; |
81 | – | RealType dTwist, dSwingX, dSwingY; |
80 | RealType p; | |
81 | Vector3d tTwist, tSwing; | |
82 | ||
83 | if (restType_ & rtTwist){ | |
84 | < | dTwist = twistAngle - twist0_; |
85 | < | dVdtwist = kTwist_ * sin(dTwist); |
84 | > | RealType dTwist = twistAngle - twist0_; |
85 | > | RealType dVdtwist = kTwist_ * sin(dTwist); |
86 | p = kTwist_ * (1.0 - cos(dTwist) ); | |
87 | pot_ += p; | |
88 | tBody -= dVdtwist * V3Z; | |
# | Line 92 | Line 90 | namespace OpenMD { | |
90 | } | |
91 | ||
92 | if (restType_ & rtSwingX){ | |
93 | < | dSwingX = swingX - swingX0_; |
94 | < | dVdswingX = kSwingX_ * 0.5 * sin(2.0 * dSwingX); |
93 | > | RealType dSwingX = swingX - swingX0_; |
94 | > | RealType dVdswingX = kSwingX_ * 0.5 * sin(2.0 * dSwingX); |
95 | p = 0.25 * kSwingX_ * (1.0 - cos(2.0 * dSwingX)); | |
96 | pot_ += p; | |
97 | tBody -= dVdswingX * V3X; | |
# | Line 101 | Line 99 | namespace OpenMD { | |
99 | } | |
100 | ||
101 | if (restType_ & rtSwingY){ | |
102 | < | dSwingY = swingY - swingY0_; |
103 | < | dVdswingY = kSwingY_ * 0.5 * sin(2.0 * dSwingY); |
102 | > | RealType dSwingY = swingY - swingY0_; |
103 | > | RealType dVdswingY = kSwingY_ * 0.5 * sin(2.0 * dSwingY); |
104 | p = 0.25 * kSwingY_ * (1.0 - cos(2.0 * dSwingY)); | |
105 | pot_ += p; | |
106 | tBody -= dVdswingY * V3Y; |
– | Removed lines |
+ | Added lines |
< | Changed lines |
> | Changed lines |