ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/group/branches/new_design/OOPSE-3.0/src/primitives/Torsion.cpp
(Generate patch)

Comparing branches/new_design/OOPSE-3.0/src/primitives/Torsion.cpp (file contents):
Revision 1857 by tim, Mon Dec 6 20:15:02 2004 UTC vs.
Revision 1858 by tim, Mon Dec 6 22:56:25 2004 UTC

# Line 43 | Line 43 | void Torsion::calcForce() {
43      //  to do that, we first need to figure out whether the
44      //  sin or cos form will be more stable.  For this,
45      //  just look at the value of phi
46 <    if (fabs(sin_phi) > 0.1) {
46 >    //if (fabs(sin_phi) > 0.1) {
47          //  use the sin version to avoid 1/cos terms
48  
49          Vector3d dcosdA = (cos_phi * A - B) /rA;
# Line 53 | Line 53 | void Torsion::calcForce() {
53  
54          f1 = dVdcosPhi * cross(r32, dcosdA);
55          f2 = dVdcosPhi * ( cross(r43, dcosdB) - cross(r21, dcosdA));
56 <        f3 = dVdcosPhi * cross(r32, dcosdB);
56 >        f3 = dVdcosPhi * cross(dcosdB, r32);
57  
58 <    } else {
58 >    //} else {
59          //  This angle is closer to 0 or 180 than it is to
60          //  90, so use the cos version to avoid 1/sin terms
61  
62 <        double dVdsinPhi = dVdPhi /cos_phi;
63 <        Vector3d dsindB = (sin_phi * B - C) /rB;
64 <        Vector3d dsindC = (sin_phi * C - B) /rC;
62 >        //double dVdsinPhi = dVdPhi /cos_phi;
63 >        //Vector3d dsindB = (sin_phi * B - C) /rB;
64 >        //Vector3d dsindC = (sin_phi * C - B) /rC;
65  
66 <        f1.x() = dVdsinPhi*((r32.y()*r32.y() + r32.z()*r32.z())*dsindC.x() - r32.x()*r32.y()*dsindC.y() - r32.x()*r32.z()*dsindC.z());
66 >        //f1.x() = dVdsinPhi*((r32.y()*r32.y() + r32.z()*r32.z())*dsindC.x() - r32.x()*r32.y()*dsindC.y() - r32.x()*r32.z()*dsindC.z());
67  
68 <        f1.y() = dVdsinPhi*((r32.z()*r32.z() + r32.x()*r32.x())*dsindC.y() - r32.y()*r32.z()*dsindC.z() - r32.y()*r32.x()*dsindC.x());
68 >        //f1.y() = dVdsinPhi*((r32.z()*r32.z() + r32.x()*r32.x())*dsindC.y() - r32.y()*r32.z()*dsindC.z() - r32.y()*r32.x()*dsindC.x());
69  
70 <        f1.z() = dVdsinPhi*((r32.x()*r32.x() + r32.y()*r32.y())*dsindC.z() - r32.z()*r32.x()*dsindC.x() - r32.z()*r32.y()*dsindC.y());
70 >        //f1.z() = dVdsinPhi*((r32.x()*r32.x() + r32.y()*r32.y())*dsindC.z() - r32.z()*r32.x()*dsindC.x() - r32.z()*r32.y()*dsindC.y());
71  
72 <        f2.x() = dVdsinPhi*(-(r32.y()*r21.y() + r32.z()*r21.z())*dsindC.x() + (2.0*r32.x()*r21.y() - r21.x()*r32.y())*dsindC.y()
73 <        + (2.0*r32.x()*r21.z() - r21.x()*r32.z())*dsindC.z() + dsindB.z()*r43.y() - dsindB.y()*r43.z());
72 >        //f2.x() = dVdsinPhi*(-(r32.y()*r21.y() + r32.z()*r21.z())*dsindC.x() + (2.0*r32.x()*r21.y() - r21.x()*r32.y())*dsindC.y()
73 >        //+ (2.0*r32.x()*r21.z() - r21.x()*r32.z())*dsindC.z() + dsindB.z()*r43.y() - dsindB.y()*r43.z());
74  
75 <        f2.y() = dVdsinPhi*(-(r32.z()*r21.z() + r32.x()*r21.x())*dsindC.y() + (2.0*r32.y()*r21.z() - r21.y()*r32.z())*dsindC.z()
76 <        + (2.0*r32.y()*r21.x() - r21.y()*r32.x())*dsindC.x() + dsindB.x()*r43.z() - dsindB.z()*r43.x());
75 >        //f2.y() = dVdsinPhi*(-(r32.z()*r21.z() + r32.x()*r21.x())*dsindC.y() + (2.0*r32.y()*r21.z() - r21.y()*r32.z())*dsindC.z()
76 >        //+ (2.0*r32.y()*r21.x() - r21.y()*r32.x())*dsindC.x() + dsindB.x()*r43.z() - dsindB.z()*r43.x());
77  
78 <        f2.z() = dVdsinPhi*(-(r32.x()*r21.x() + r32.y()*r21.y())*dsindC.z() + (2.0*r32.z()*r21.x() - r21.z()*r32.x())*dsindC.x()
79 <        +(2.0*r32.z()*r21.y() - r21.z()*r32.y())*dsindC.y() + dsindB.y()*r43.x() - dsindB.x()*r43.y());
78 >        //f2.z() = dVdsinPhi*(-(r32.x()*r21.x() + r32.y()*r21.y())*dsindC.z() + (2.0*r32.z()*r21.x() - r21.z()*r32.x())*dsindC.x()
79 >        //+(2.0*r32.z()*r21.y() - r21.z()*r32.y())*dsindC.y() + dsindB.y()*r43.x() - dsindB.x()*r43.y());
80  
81 <        f3 = dVdsinPhi * cross(dsindB, r32);
81 >        //f3 = dVdsinPhi * cross(r32, dsindB);
82  
83 <    }
83 >    //}
84  
85      atom1_->addFrc(f1);
86      atom2_->addFrc(f2 - f1);

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines