VASP.6.4.3中的固定轴优化
低维材料中由于其量子限域效应,存在众多新奇的物理性质,因此低维材料受到了众多计算物理,计算材料领域学者、学生的欢迎。
但是计算材料领域使用最广的商业软件VASP中竟然没有固定单个轴的设置方法。因此肖博士写了专门的补丁,用于固定任意方向的晶体结构优化需求。
在最新的VASP.6.4.3版本中,终于VASP开发团队把LATTICE_CONSTRAINTS这一标签加入但VASP中。可以实现固定轴优化了。
LATTICE_CONSTRAINTS标签
LATTICE_CONSTRAINTS = [logical][logical][logical]
Description: Sets three boolean to selectively allow changes in the lattice vectors.
The lattice in VASP is defined by 3 lattice vectors a1, a2, a3, which are defined in the POSCAR file. The lattice can be represented by the following matrix:

The tag LATTICE_CONSTRAINTS can be used to constrain certain entries of this matrix.
Orthorhombic case
For orthorhombic boxes the lattice will be a diagonal matrix of the form:

Therefore by setting one of the entries of LATTICE_CONSTRAINTS to FALSE the lattice parameter in this direction will not be 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 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 a1-a2 plane, add vacuum padding along a3 and set
LATTICE_CONSTRAINTS = .TRUE. .TRUE. .FALSE.Non-orthorhombic case
For non-orthorhombic boxes LATTICE_CONSTRAINTS is more complicated to use. The tag will set certain rows and columns of the stress tensor
to zero. By setting certain entries of the stress tensor to zero the corresponding entries of the lattice A will not be updated. For example when setting LATTICE_CONSTRAINTS = .FALSE. .TRUE. .TRUE. the used stress tensor will look like
and therefore the first row and the first column of the lattice A will not change. Another example would be to set LATTICE_CONSTRAINTS = .FALSE. .TRUE. .FALSE. resulting in the following stress tensor
So only the yy/a22 entry of the lattice A will change.
| Mind: Note that for non-orthorhombic boxes the angles between the lattice vectors a1, a2, a3 will not be conserved. |
| Mind: LATTICE_CONSTRAINTS in combination with IBRION=1,2 is available from VASP 6.4.3. |
评论
科研那些事儿

干货推荐

如何用ABAQUS输出局部坐标系上的投影力值?
小刀
89 9

这些真的是棕色脂肪吗?
Mr弘🔬
163 2

二氧化碳捕集及资源化利用:从"废气"到"碳资源"的产业革命
春风得意马蹄疾
76 2

分子轨道理论简介与计算示例
天玑智研
769 6

模态分析到底在算啥?搞懂这个,结构为什么会自己振动就明白了
莫名其妙
63 4

计算机材料设计Materials-Studio教程3
活着
32 1



