ICONST

atom(1) ... atom(N)

where is a character used to define a type of primitive coordinate:

- interatomic distance between atom(1) and atom(2)

- angle (with atom(2) being the apex)

- torsion

- distance between and the center of bond between the
atom(2) and atom(3)

- fractional (direct) coordinates for the lattice vectors , , and

atom(i) is an integer specifying
the position of the atom in the POSCAR file (obviously, two atoms are needed to define a bond length, three
atoms are required for a bonding angle, etc...), `STATUS` is an
integer distinguishing between the constraint (`STATUS`=0),
the coordinate affected by bias potential (`STATUS`=5), and the monitored (otherwise uneffected)
coordinate (`STATUS`=7). The following example shows the ICONST file specifying two constraints
- bond lengths between the atoms and , and between the atoms and :

R 1 5 0 R 1 6 0

The complex coordinates are functions defined in the space
of primitive coordinates.
All complex coordinates must be defined after
the last primitive coordinate. Assuming that primitive coordinates () were specified on first M lines of ICONST,
the following syntax is used to define a complex coordinate:

...

where is a coefficient for the primitive coordinate defined
in the line . The number of coefficients must be the same as the number of primitive
coordinates. The following types of complex coordinates are supported:

- linear combination of primitive coordinates, i.e.,

- norm of vector of primitive coordinates,

- coordination number

As in the case of primitive coordinates,
`STATUS` allows to distinguish between the geometric constraint, coordinate affected
by a bias potential, and monitored coordinate.
Whenever complex coordinates are defined, the primitives are used
only as a basis for their definition. Consider, for instance, the ICONST file
with the following lines:

R 1 6 0 R 1 5 0 S 1 -1 0

The first two lines define two primitive coordinates - bonds between the atoms and ,
and between the atoms and .
The complex coordinate - difference between the two bond lengths - is defined on the third line.
Consequently, the two primitive coordinates are not constrained in the simulation (despite `STATUS`=0),
the only controlled parameter is the complex coordinate. Clearly, in order to fix the first bond length
and the complex coordinate in the same time, the ICONST file should be modified as follows:

R 1 6 0 R 1 5 0 S 1 -1 0 S 1 0 0