CCL: B Matrix in GAMESS-US - Bug?



 Sent to CCL by: Tom Sundius [Tom.Sundius^helsinki.fi]
 
Gustavo Mercier asked about a problem he thinks he has found with the torsion routine TORS in the GAMESS module zmatrx.src. As far as I can see it is identical to the routine with the same
 name in Schachtschneider's program GMAT (see Vibrational Analysis of
 Polyatomic Molecules V, Techn. Report No. 231-64, Shell Development
 Company, Emeryville, California 1964).
 In the GAMESS module it is mentioned that a (wellknown?) sign error in
 the second term of equation 22 on p. 61 of Wilson, Decius, Cross:
 Molecular Vibrations (1955) has been corrected. This sign error has
 been mentioned in several papers, for instance in W.F. Murphy,
 Can. J. Chem. 69 (1991) 1672, and was corrected in the Dover
 republication (1980). However, the sign error is still present in
 equation (4.4.29) of S. Califano: Vibrational States (Wiley, 1976).
 Concerning the scalar product, Gustavo Mercier correctly states
 that cos (angle_1) should be calculated as e21 (dot) e23, where
 the unit vectors are directed towards the bond end atoms.
 However, checking the code in the TORS routine (lines 1853-1858 in my
 
copy), it seems that the scalar product is computed as -e12 (dot) e23, which should give the correct result (the other scalar product that was mentioned is computed as -e23 (dot) e34, which is similar).
 If there is a problem, I suppose it is somewhere else in the code.
 By the way, in the above mentioned paper by W.F. Murphy there is a
 simple example which could be used to check the B-matrix calculation.
    Best regards,
       Tom Sundius
 On Wed, 7 Jun 2006, Gustavo A Mercier gamercier[a]yahoo.com wrote:
 
 Sent to CCL by: "Gustavo A Mercier" [gamercier(-)yahoo.com]
 Hi!
 
I might have found a bug in GAMESS-US... but before I make any claims I would like a second opinion. I am encoding the B matrix the converts infinitesimal cartesian displacements to internal coordinate displacements. This matrix is used in the theory of molecular vibrations and the generation of delocalized coordinates, etc.
 
To check my code I've compared the output from GAMESS-US subroutines in zmatrx.src. However, there are differences in the B matrices I compute and the one computed with the GAMESS-US code.These are associated with the torsion angle terms. After looking at the code in GAMESS-US and the formulae in Molecular Vibrations by Wilson, Decius, and Cross, pub. Dover 1980, I find the following discrepancy:
 
In computing the matrix elements for the torsion angles 1,2,3,4, ie. the angle between the planes 123 and 234 with the atoms 1 and 4 at the ends, and 2 and 3 along the line of sight with 2 closest to the viewer
      1                                       1
        \     bend                             |
          \   angle 1                          |
            \                                  |  torsion angle
             2 -------- 3                      23
                          \                      \
            bend  angle 2  \                      \
                              \                      4
                               4
 i = 1, j = 2, k = 3, l = 4
 
 From Wilson's book:
 
     Cos(angle_1) = Dot(2--1>,2-->3) where i-->j is a unit vector from i
 to j
     Cos(angle_2) = Dot(3-->2,3-->4) and Dot is the cartesian dot product
 However in GAMESS-US the code (subroutine BTORS in zmatrx.src) computes
     Cos(angle_1) = Dot(1-->2,2-->3)
     Cos(angle_2) = Dot(2-->3,3-->4)
 
There is a reversal in the orientation of the first unit vector associated with the first bond that makes the angle.
 
The end result is that there is a sign reversal in the Cos terms between the two programs. I don't see this "corrected" in the remainder of the code.
 Anyone who can shed any light on this discrepancy, beyond stating that
 
there is a bug in the GAMESS-US code or a typographical error in the 1980 edition of Wilson's book? (I am familiar with Wilson's definition, so I favor an error in GAMESS-US. However, before I make any claims I would appreciate
 a second opinion!)
 Neither one of the codes generates B matrices that reproduce the delocalized
 
coordinates for the fluoroethylene example in Baker's et al J. Chem. Phys. 105(1) 192-212 (1996).
 Thanks!
 Gustavo Mercier