CCL Home Page
Up Directory CCL methyl.f
C   Jan Labanowski, Aug 13, 1992 
C   This "program" calculates geometrical parameters of the methyl group rotor
C   suitable for constructing Z-matrix
C   The experimental data from microwave spectroscopy for CH3--something
C   are frequently given as a C--H bond lengths and H--C--H angle for
C   a equilateral methyl piramid (idealized), and the deviation of the
C   the C--something bond from the rotation axis of the CH3 (so called
C   methyl group tilt). These data have to be converted to other parameters
C   to be used in construction of the Z-matrix for the molecule.
C   
C   Input: 
C   d = C--H bond length and  theta = angle H--C--H
C
C   Output:
C   a = distance H....H (the side of the equilateral triangle formed by 3 H's)
C   h = the height of the equilateral triangle formed by 3 H atoms
C   v = height of the isosceles H--C--H
C   alpha = angle between the C--H bond and the height of the CH3 pyramid
C   Hp = the height of the pyramid formed by CH3
C   beta = angle between height of the H--C--H isosceles (v) and the
C          height of pyramid (Hp)
C   Sorry for FORTRAN ugliness, but it is a translation of the C original


       PROGRAM METHYL
       DOUBLE PRECISION d, theta, alpha, h, Hp, a, v, deg, beta

       WRITE(*,*)
     1 ' Enter C--H bond length and H--C--H angle (in deg):'
       READ(*,*)d,theta
       WRITE(*,*)

       deg = 3.1415926536D0/180.0D0
       a = 2.0D0*d*dsin(0.5D0*theta*deg)
       v = d*dcos(0.5D0*theta*deg)
       h = 0.5D0*a*dsqrt(3.0D0)
       Hp = dsqrt(d*d - a*a/3.0D0)
       alpha = dacos(Hp/d)/deg
       beta = dacos(Hp/v)/deg

100    FORMAT(1X,A,F10.5)
       WRITE(*,100) 'C--H bond length = ', d
       WRITE(*,100) 'H--C--H angle = ', theta
       WRITE(*,100) 'Height of the H--C--H isosceles =', v
       WRITE(*,100) 'H....H distance = ', a
       WRITE(*,100) 'Height of pyramid base (h)= ', h
       h = 2.0D0*h/3.0D0
       WRITE(*,100) '2/3*h = ',h
       WRITE(*,100) 'Angle between C--H bond and pyramid height = ',
     1              alpha
       WRITE(*,100) 'Pyramid height = ', Hp
       WRITE(*,100) 'Angle between wall height and pyramid height =',
     1              beta

       STOP
       END



 
 
Modified: Fri Aug 14 16:00:00 1992 GMT
Page accessed 6450 times since Sat Apr 17 21:34:31 1999 GMT