Constraints and internal coordinates (see below) can be linear combinations of bonds, angles etc. The latter, called here primitive internal coordinates, can be specified before the constraints definition, or directly inside. The general definition of a primitive coordinate is:
PRIMITIVE,[NAME=]symbolic name, explicit definition;
or
PRIM,[NAME=]symbolic name, explicit definition;
Here symbolic name is the name given to the primitive coordinate (if omitted, it will be generated automatically). This name is needed for further reference of this primitive coordinate.
explicit definition has the form:
type,atoms
type can be one of the following:
For all types except DISSOC and CARTESIAN, atoms are given as:
ATOMS=[a1,a2,a3,...]
where the number of atoms required varies with type as specified above, and the atomic names a1,a2,a3,... can be either atomic tag names from the Z-matrix input, or integers corresponding to Z-matrix rows. Note that the square brackets are required here and do not indicate optional input.
For DISSOC the specification is as follows:
DISSOC,GROUP1=[a1,a2,...],GROUP2=[b1,b2,...];
The corresponding internal coordinate is the distance between the centres of mass of the two groups.
For CARTESIAN the definition is
CARTESIAN, I, atom;
where I can be one of X,Y,Z or 1,2,3 and atom can be a z-matrix atom name or an integer referring to the z-matrix row.
With this definition, the constraints are defined as
CONSTRAINT,[VALUE=]value,[unit],[[FACTOR=]fac,prim,[[FACTOR=]fac],prim,...;
where value is the value imposed to the constraint, and prim is either the name of the primitive defined before this constraint, or an explicit definition; and fac is a factor of the corresponding primitive in the constraint. If fac is omitted it is taken to be 1.
If value is specified in Angstrom or Radian, unit must be given.
Examples for HO in symmetry:
Constraining the bond angle to 100 degrees:
constraint,100,deg,angle,atoms=[h1,o,h2];
which is equivalent to
primitive,a1,angle,atoms=[h1,o,h2];
constraint,100,a1;
Keeping the two OH distances equal:
constraint,0,bond,atoms=[h1,o],-1.,bond,atoms=[h2,o];
which is equivalent to
primitive,b1,bond,atoms=[h1,o];
primitive,b2,bond,atoms=[h2,o];
constraint,0,b1,-1.,b2;
molpro@molpro.net