$ZMAT group    (required if NZVAR is nonzero in $CONTRL)                        
    This group lets you define the internal coordinates in                      
which the gradient geometry search is carried out.  These                       
need not be the same as the internal coordinates used in                        
$DATA.  The coordinates may be simple Z-matrix types,                           
delocalized coordinates, or natural internal coordinates.                       
    You must input a total of M=3N-6 internal coordinates                       
(M=3N-5 for linear molecules).  NZVAR in $CONTRL can be                         
less than M IF AND ONLY IF you are using linear bends.  It                      
is also possible to input more than M coordinates if they                       
are used to form exactly M linear combinations for new                          
internals.  These may be symmetry coordinates or natural                        
internal coordinates.  If NZVAR > M, you must input IJS and                     
SIJ below to form M new coordinates.  See DECOMP in $FORCE                      
for the only circumstance in which you may enter a larger                       
NZVAR without giving SIJ and IJS.                                               
   **** IZMAT defines simple internal coordinates ****                          
IZMAT is an array of integers defining each coordinate.                         
The general form for each internal coordinate is                                
      code number,I,J,K,L,M,N                                                   
IZMAT =1 followed by two atom numbers. (I-J bond length)                        
      =2 followed by three numbers. (I-J-K bond angle)                          
      =3 followed by four numbers. (dihedral angle)                             
         Torsion angle between planes I-J-K and J-K-L.                          
      =4 followed by four atom numbers. (atom-plane)                            
         Out-of-plane angle from bond I-J to plane J-K-L.                       
      =5 followed by three numbers. (I-J-K linear bend)                         
         Counts as 2 coordinates for the degenerate bend,                       
         normally J is the center atom.  See $LIBE.                             
      =6 followed by five atom numbers. (dihedral angle)                        
         Dihedral angle between planes I-J-K and K-L-M.                         
      =7 followed by six atom numbers. (ghost torsion)                          
         Let A be the midpoint between atoms I and J, and                       
         B be the midpoint between atoms M and N.  This                         
         coordinate is the dihedral angle A-K-L-B.  The                         
         atoms I,J and/or M,N may be the same atom number.                      
         (If I=J AND M=N, this is a conventional torsion).                      
         Examples: N2H4, or, with one common pair, H2POH.                       
Example - a nonlinear triatomic, atom 2 in the middle:                          
      $ZMAT IZMAT(1)=1,1,2,  2,1,2,3,  1,2,3  $END                              
This sets up two bonds and the angle between them.                              
The blanks between each coordinate definition are                               
not necessary, but improve readability mightily.                                
     **** the next define delocalized coordinates ****                          
DLC    is a flag to request delocalized coordinates.                            
       (default is .FALSE.)                                                     
AUTO   is a flag to generate all redundant coordinates,                         
       automatically.  The DLC space will consist of all                        
       non-redundant combinations of these which can be                         
       found.  The list of redundant coordinates will                           
       consist of bonds, angles, and torsions only.                             
       (default is .FALSE.)                                                     
NONVDW is an array of atom pairs which are to be joined                         
       by a bond, but might be skipped by the routine                           
       that automatically includes all distances shorter                        
       than the sum of van der Waals radii.  Any angles                         
       and torsions associated with the new bond(s) are                         
       also automatically included.                                             
Cases where the AUTO generation of DLC coordinates fails to                     
find the full set of 3N-6 coordinates typically fall 6                          
short of 3N-6.  These cases are invariably due to the                           
system being divided into pieces too far apart to have                          
bonds detected (for example, system A might be H-bonded to                      
system B, finding 3N-12 coordinates only).  Adding NONVDW                       
input for that H-bond will tie A and B together, and result                     
in a correct AUTO generation of all 3N-6 coordinates.                           
Falling short by an integer multiple of 6 indicates more                        
than two pieces, requiring several NONVDW pairs.  Falling                       
short by 3 coordinates indicates one of the separate                            
systems A or B is likely a single atom, which has no                            
rotational degrees of freedom, again it should be attached                      
by NONVDW.                                                                      
DLC coordinate generation can be fine tuned by IXZMAT,                          
IRZMAT, IFZMAT whose format is the same as IZMAT:                               
IXZMAT is an extra array of simple internal coordinates                         
       which you want to have added to the list generated                       
       by AUTO.  Unlike NONVDW, IXZMAT will add only the                        
       coordinate(s) you specify.                                               
IRZMAT is an array of simple internal coordinates which                         
       you would like to remove from the AUTO list of                           
       redundant coordinates.  It is sometimes necessary                        
       to remove a torsion if other torsions around a bond                      
       are being frozen, to obtain a nonsingular G matrix.                      
IFZMAT is an array of simple internal coordinates which                         
       you would like to freeze.  See also FVALUE below,                        
       which is --required-- input when IFZMAT is given.                        
       IFZMAT/FVALUE work with ordinary coordinate input                        
       using IZMAT, as well as with DLC, but in the former                      
       case be careful that IFZMAT specifies coordinates                        
       that were already given in IZMAT.  In addition,                          
       IFZMAT works only for IZMAT=1,2,3 type coordinates.                      
       See IFREEZ in $STATPT you wish to freeze regular or                      
       natural internal coordinates.                                            
FVALUE is an array of values to which the internal                              
       coordinates should be constrained.  It is not                            
       necessary to input $DATA such that the initial                           
       values match these desired final values, but it is                       
       helpful if the initial values are not too far away.                      
   **** SIJ,IJS define natural internal coordinates ****                        
SIJ is a transformation matrix of dimension NZVAR x M,                          
    used to transform the NZVAR internal coordinates in                         
    IZMAT into M new internal coordinates.  SIJ is a                            
    sparse matrix, so only the non-zero elements are                            
    given, by using the IJS array described below.                              
    The columns of SIJ will be normalized by GAMESS.                            
    (Default: SIJ = I, unit matrix)                                             
IJS is an array of pairs of indices, giving the row and                         
    column index of the entries in SIJ.                                         
example - if the above triatomic is water, using                                
     IJS(1) = 1,1, 3,1,   1,2, 3,2,   2,3                                       
     SIJ(1) = 1.0, 1.0,   1.0,-1.0,   1.0                                       
    gives the matrix S=  1.0   1.0   0.0                                        
                         0.0   0.0   1.0                                        
                         1.0  -1.0   0.0                                        
which defines the symmetric stretch, asymmetric stretch,                        
and bend of water.                                                              
references for natural internal coordinates:                                    
  P.Pulay, G.Fogarasi, F.Pang, J.E.Boggs                                        
     J.Am.Chem.Soc. 101, 2550-2560(1979)                                        
  G.Fogarasi, X.Zhou, P.W.Taylor, P.Pulay                                       
     J.Am.Chem.Soc. 114, 8191-8201(1992)                                        
reference for delocalized coordinates:                                          
  J.Baker, A. Kessi, B.Delley                                                   
     J.Chem.Phys. 105, 192-212(1996)                                            

generated on 7/7/2017