ICONST
Geometric parameters that are monitored or 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 item(1) ... item(N) status
where flag is a character used to define a type of primitive coordinate:
- - interatomic distance between atoms item(1) and item(2).
- - angle defined by atoms item(1), item(2) and item(3) (with the atom item(2) being the apex).
- - torsional angle defined by atoms item(1), item(2), item(3) and item(4).
- - distance between atom item(1) and the center of bond between atoms item(2) and item(3).
- - distance between the center of bond between atoms item(1) and item(2) and the center of bond between atoms item(3) and item(4)
- - ratio of length of the bond between atoms item(1) and item(2) and the length of the bond between atoms item(3) and item(4)
- - function with being the bond length between the atoms item(1) and item(2), is the reference bond length specified as item(3), and the exponents and are defined as item(4) and item(5), respectively.
- - fractional (direct) coordinates linked with the lattice vectors , , and .
- - Cartesian coordinates , , and .
- - length of lattice vector item(1)
- - angle between lattice vectors item(1) and item(2)
- - cell volume (no item(i) is defined in this case)
In most cases, item(i) is an integer specifying either the position of the atom or the lattice vector in the POSCAR file (obviously, two atoms are needed to define a bond length, three atoms are required for a bonding angle, etc...). In the special case of the coordinate , also some additional parameters - the reference bond length (generally a floating point number) and exponents used in the definition (integers) - are defined via item(i), see the corresponding description above. Status is an integer distinguishing between the constraint (status=0), the coordinate defining the collective variable in metadynamics (status=5), the coordinate affected by Fermi-type step (status=4) or harmonic potential (status=8) or the monitored (but otherwise unaffected) 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 primitive coordinates () were specified on the first lines of the ICONST file, the following syntax is used to define a complex coordinate: \\
flag c_1 c_2 ... c_M status
where is a coefficient for the primitive coordinate defined at 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, the coordinate affected by bias potentials 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 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 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
In the context of a molecular dynamics simulation in NpT ensemble, the file ICONST can be used to impose restrictions on the volume and/or shape of the simulation cell. The following examples cover some of the most important scenarios:
1.) Simulation with a constant cell volume and variable shape.
LV 0
2.) Variable lengths of lattice vectors but fixed lattice angles.
LA 1 2 0 LA 1 3 0 LA 2 3 0
3.) A cubic cell with variable volume but fixed shape. Note that the S type constraints involving the lengths of the lattice vectors () are chosen so as to preserve ratios , as required by the cubic shape.
LA 1 2 0 LA 1 3 0 LA 2 3 0 LR 1 0 LR 2 0 LR 3 0 S 1 0 0 0 0 0 0 S 0 1 0 0 0 0 0 S 0 0 1 0 0 0 0 S 0 0 0 1 -1 0 0 S 0 0 0 1 0 -1 0 S 0 0 0 0 1 -1 0
4.) An orthorhombic cell variable volume but fixed shape. Here, in order to fix ratios between the lengths of the lattice vectors (), we define the constraints of the form . For instance, if the cell vectors are such that the relative proportions of their lengths are , the following ICONST can be used:
LA 1 2 0 LA 1 3 0 LA 2 3 0 LR 1 0 LR 2 0 LR 3 0 S 1 0 0 0 0 0 0 S 0 1 0 0 0 0 0 S 0 0 1 0 0 0 0 S 0 0 0 1.5 -1.0 0.0 0 S 0 0 0 2.0 0.0 -1.0 0 S 0 0 0 0.0 3.0 -2.0 0