$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)
152 lines are written.
Edited by Shiro KOSEKI on Tue May 17 15:19:38 2022.