Requests for technical support from the VASP group should be posted in the VASP-forum.

# ICONST

Geometric parameters that are controlled in molecular dynamics (e.g. constrained or affected by the action of a bias potential) are defined in the file ICONST. Two kinds of geometric parameters can be defined: primitive (such as bond lengths or angles), and complex (e.g. linear combinations of primitive coordinates). Each coordinate is defined in a separate line, the complex coordinates must be defined after primitive ones. In order to define a primitive coordinate, the following syntax is used:

FLAG atom(1) ... atom(N) STATUS


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

• ${\displaystyle R}$ - interatomic distance between atom(1) and atom(2).
• ${\displaystyle A}$ - angle (with atom(2) being the apex).
• ${\displaystyle T}$ - torsion.
• ${\displaystyle M}$ - distance between atom(1) and the centre of bond between atom(2) and atom(3).
• ${\displaystyle X,Y,Z}$ - fractional (direct) coordinates for the lattice vectors ${\displaystyle a}$, ${\displaystyle b}$, and ${\displaystyle c}$.

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 1 and 5, and between the atoms 1 and 6:

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 ${\displaystyle M}$ primitive coordinates (${\displaystyle q_{i}}$) were specified on the first ${\displaystyle M}$ lines of the ICONST file, the following syntax is used to define a complex coordinate: \\

FLAG  c_1  c_2  ...  c_M  STATUS


where ${\displaystyle c_{i}}$ is a coefficient for the primitive coordinate defined at the line ${\displaystyle i}$. The number of coefficients must be the same as the number of primitive coordinates. The following types of complex coordinates are supported:

• ${\displaystyle S}$ - linear combination of primitive coordinates, i.e., ${\displaystyle \left(\xi =\sum _{{i=1}}^{{M}}c_{i}\,q_{i}\right)}$
• ${\displaystyle C}$ - norm of vector of primitive coordinates, ${\displaystyle \left(\xi ={\sqrt {\sum _{{i=1}}^{{M}}\,(c_{i}\,q_{i})^{2}}}\right)}$
• ${\displaystyle D}$ - coordination number ${\displaystyle \left(\xi =\sum _{{i=1}}^{{M}}{\frac {1-\left(q_{{i}}/c_{{i}}\right)^{9}}{1-\left(q_{{i}}/c_{{i}}\right)^{{14}}}}\right)}$

As in the case of primitive coordinates, STATUS allows to distinguish between the geometric constraint, the coordinate affected by a bias potential and the 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 ${\displaystyle 1}$ and ${\displaystyle 6}$, and between the atoms ${\displaystyle 1}$ and ${\displaystyle 5}$. 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 at 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