ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/OpenMD/branches/development/src/primitives/Inversion.cpp
(Generate patch)

Comparing trunk/src/primitives/Inversion.cpp (file contents):
Revision 1290 by cli2, Wed Sep 10 19:51:45 2008 UTC vs.
Revision 1303 by cli2, Mon Oct 13 21:35:22 2008 UTC

# Line 57 | Line 57 | namespace oopse {
57      // is treated as atom *3* in a standard torsion form:
58  
59      Vector3d pos1 = atom2_->getPos();
60 <    Vector3d pos2 = atom1_->getPos();
61 <    Vector3d pos3 = atom4_->getPos();
62 <    Vector3d pos4 = atom3_->getPos();
60 >    Vector3d pos2 = atom3_->getPos();
61 >    Vector3d pos3 = atom1_->getPos();
62 >    Vector3d pos4 = atom4_->getPos();
63  
64     /*std::ofstream myfile;
65     myfile.open("Inversion", std::ios::app);      
# Line 69 | Line 69 | namespace oopse {
69                << atom4_->getType() << " - atom4; "
70                << std::endl;
71   */
72 <    Vector3d r21 = pos1 - pos2;
73 <    Vector3d r32 = pos2 - pos3;
74 <    Vector3d r42 = pos2 - pos4;
72 >    Vector3d r31 = pos1 - pos3;
73 >    Vector3d r23 = pos3 - pos2;
74 >    Vector3d r43 = pos3 - pos4;
75  
76      //  Calculate the cross products and distances
77 <    Vector3d A = cross(r21, r32);
77 >    Vector3d A = cross(r31, r43);
78      RealType rA = A.length();
79 <    Vector3d B = cross(r32, r42);
79 >    Vector3d B = cross(r43, r23);
80      RealType rB = B.length();
81      //Vector3d C = cross(r23, A);
82      //RealType rC = C.length();
# Line 103 | Line 103 | namespace oopse {
103      Vector3d dcosdA = (cos_phi * A - B) /rA;
104      Vector3d dcosdB = (cos_phi * B - A) /rB;
105  
106 <    f1 = dVdcosPhi * cross(r32, dcosdA);
107 <    f2 = dVdcosPhi * ( cross(r42, dcosdB) - cross(r21, dcosdA));
108 <    f3 = dVdcosPhi * cross(dcosdB, r32);
106 >    f1 = dVdcosPhi * cross(r43, dcosdA);
107 >    f2 = dVdcosPhi * ( cross(r23, dcosdB) - cross(r31, dcosdA));
108 >    f3 = dVdcosPhi * cross(dcosdB, r43);
109  
110      // In OOPSE's version of an improper torsion, the central atom
111      // comes first.  However, to get the planarity in a typical cosine

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines