Constrained variable cell relaxation using ICONST
Posted: Thu Nov 30, 2023 9:23 pm
Hello, I have the following POSCAR:
Ni Al Cr
1.0000000000000000
2.8554233500000001 0.0000000000000000 0.0000000000000000
0.0000000000000000 2.8554233500000001 0.0000000000000000
0.0000000000000000 0.0000000000000000 28.5542335000000023
Ni Al Cr
5 5 10
Cartesian
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 2.8554233500000001
0.0000000000000000 0.0000000000000000 5.7108467000000003
...
which corresponds to a coherent interface between BCC Cr(100) and BCC NiAl(100). Now I am trying to perform a constrained relaxation such that the ions are let to relax in x, y and z directions, but the cell is let to relax only in the third lattice vector direction, (preferably even only along the z-direction of the third lattice vector, for future purposes). Is this possible to achieve with VASP directly, without having to modify the source code?
I read that there exist the ICONST file, and I tried with the following ICONST file:
LA 1 2 0
LA 1 3 0
LA 2 3 0
LR 1 0
LR 2 0
which, if I understood correctly, should fix all the cell angles (LA i j 0), and also fix the first and second cell vector lengths (LR 1 0 and LR 2 0), but when I run the relaxation using ibrion=2 and isif=3, all the cell vectors were still relaxed. Is there something wrong here?
I also read that there exist the INCAR tag LATTICE_CONSTRAINTS and I tried with the line LATTICE_CONSTRAINTS = .FALSE. .FALSE. .TRUE., in the INCAR file, which according to the documentation should fix a1 and a2 and only relax along a3, but still all lattice vectors were relaxed.
I am using VASP 6.4.2.
Best,
Lassi
Ni Al Cr
1.0000000000000000
2.8554233500000001 0.0000000000000000 0.0000000000000000
0.0000000000000000 2.8554233500000001 0.0000000000000000
0.0000000000000000 0.0000000000000000 28.5542335000000023
Ni Al Cr
5 5 10
Cartesian
0.0000000000000000 0.0000000000000000 0.0000000000000000
0.0000000000000000 0.0000000000000000 2.8554233500000001
0.0000000000000000 0.0000000000000000 5.7108467000000003
...
which corresponds to a coherent interface between BCC Cr(100) and BCC NiAl(100). Now I am trying to perform a constrained relaxation such that the ions are let to relax in x, y and z directions, but the cell is let to relax only in the third lattice vector direction, (preferably even only along the z-direction of the third lattice vector, for future purposes). Is this possible to achieve with VASP directly, without having to modify the source code?
I read that there exist the ICONST file, and I tried with the following ICONST file:
LA 1 2 0
LA 1 3 0
LA 2 3 0
LR 1 0
LR 2 0
which, if I understood correctly, should fix all the cell angles (LA i j 0), and also fix the first and second cell vector lengths (LR 1 0 and LR 2 0), but when I run the relaxation using ibrion=2 and isif=3, all the cell vectors were still relaxed. Is there something wrong here?
I also read that there exist the INCAR tag LATTICE_CONSTRAINTS and I tried with the line LATTICE_CONSTRAINTS = .FALSE. .FALSE. .TRUE., in the INCAR file, which according to the documentation should fix a1 and a2 and only relax along a3, but still all lattice vectors were relaxed.
I am using VASP 6.4.2.
Best,
Lassi