LATTICE_CONSTRAINTS

From VASP Wiki
Revision as of 07:56, 20 November 2023 by Jona (talk | contribs)

LATTICE_CONSTRAINTS = [logical][logical][logical] 

Description: Sets three boolean to selectively allow changes in the lattice vectors.


LATTICE_CONSTRAINTS requires three boolean values for the lattice constants corresponding to the lattice vectors and defined in the POSCAR file, respectively. By setting .TRUE. the lattice constant in the respective direction is allowed to change.

For MD simulations (IBRION=0), we recommend using LATTICE_CONSTRAINTS for (orthorhombic) liquids in the isobaric-isothermal (NpT) ensemble in the following way:

LATTICE_CONSTRAINTS = .FALSE. .FALSE. .TRUE.

This way, the first two lattice constants are not allowed to change. The third lattice constant needs to be free to change to allow volume changes for the barostat. The system is then like a piston. The constraints are necessary for liquids in NpT simulations, because if all lattice degrees of freedom are allowed to relax, irreversible deformations of the cell are very likely to happen. This can lead to undesirable results like a very flat supercell, which cannot be used to obtain valid MD trajectories.

For structure relaxation (IBRION=1,2), LATTICE_CONSTRAINTS is useful to relax the lattice constants of 2D materials. In case of a slab in the - plane, add vacuum padding along and set

LATTICE_CONSTRAINTS = .TRUE. .TRUE. .FALSE.
Mind: LATTICE_CONSTRAINTS in combination with IBRION=1,2 is available from VASP 6.4.0.

Related tags and articles

IBRION, MDALGO, Interface pinning

Examples that use this tag