计算化学公社

标题: 求助,VASP如何在AIMD模拟中添加限制势? [打印本页]

作者
Author:
Hazelnut    时间: 2023-11-20 22:39
标题: 求助,VASP如何在AIMD模拟中添加限制势?
大家好,小白求教,如何在vasp的AIMD模拟中添加偏置势,从而将反应分子限定在表面以上的部分区域内而不是真空层乱飞。
目前看到文献中采用添加偏置势的AIMD都是通过CP2K实现的。
因为体系其他的DFT计算都是通过vasp的,所以还是希望找到通过VASP实现的方法。
科研小白在vasp手册上找到相关的偏置分子动力学的关键词,是不是可以通过ICONST文件
flag = X, Y, and Z 定义一个点
然后再通过status = 4 使得关于这个坐标费米型阶跃函数的影响。
进而达到把气体分子都限定在一定区域内。
请问大家,能够通过上述的方法实现吗?
另外,通过该方法添加势场的相关参数只有FBIAS_AFBIAS_DFBIAS_R0,势场在空间的分布应该会是球形,而不是只在z方向的势场,请问如何得到只在z方向分布的偏置势场呢?






作者
Author:
Aletyx    时间: 2023-11-21 09:41
这个例子使用了PENALTYPOT:https://www.vasp.at/wiki/index.p ... tution_CH3Cl_-_mMD2
作者
Author:
Hazelnut    时间: 2023-11-22 21:07
Aletyx 发表于 2023-11-21 09:41
这个例子使用了PENALTYPOT:https://www.vasp.at/wiki/index.php/Nuclephile_Substitution_CH3Cl_-_mMD2

感谢!已经解决了!
作者
Author:
Hazelnut    时间: 2023-11-22 21:20
小白先前的理解有误,flag = X, Y, and Z 是分开的,可以很方便的添加一个关于Z方向的偏置势。
折腾了两天发现踩了一个小坑,本人使用的vasp版本为5.4.4,按照vaspwiki上使用status = 4结果发现一直在第一个离子步后报参数缺失或有误的错,然后计算就直接终止了。又试着编译了vasp6.3.2版本,使用status = 4可以正常运行。
查阅了旧版本的vasp手册发现5.4.4版本应该是不支持status = 4的费米型阶跃函数(?),只能使用status = 5的高斯势函数。(vaspwiki没有写不支持,我还一直以为是输入文件格式有误,醉了)。
总之问题顺利解决了,感谢楼上大佬。
作者
Author:
huxu    时间: 2023-11-23 17:32
Hazelnut 发表于 2023-11-22 21:20
小白先前的理解有误,flag = X, Y, and Z 是分开的,可以很方便的添加一个关于Z方向的偏置势。
折腾了两天 ...

你好,请问该如何设置这个flag呢,比如是在Z方向相对于lattice vector 0.3添加高斯势函数,是直接写Z 0.3 5吗,我这么写会报错“Error reading ICONST (item           1 ): invalid definition of coordinate”,还请前辈指教!
作者
Author:
朱陈    时间: 2023-11-28 16:45
Hazelnut 发表于 2023-11-22 21:20
小白先前的理解有误,flag = X, Y, and Z 是分开的,可以很方便的添加一个关于Z方向的偏置势。
折腾了两天 ...

你好,status=4是不是不需要设置PENALTYPOT文件了。
作者
Author:
Hazelnut    时间: 2023-11-28 16:59
朱陈 发表于 2023-11-28 16:45
你好,status=4是不是不需要设置PENALTYPOT文件了。

是的,但是需要额外在INCAR中设置FBIAS_A, FBIAS_D, 与FBIAS_R0参数,具体参考https://www.vasp.at/wiki/index.p ... _molecular_dynamics
但首先你需要确认你的vasp版本是否支持status=4,不然会在第一个离子步结束时报错。
作者
Author:
朱陈    时间: 2023-11-28 17:09
Hazelnut 发表于 2023-11-28 16:59
是的,但是需要额外在INCAR中设置FBIAS_A, FBIAS_D, 与FBIAS_R0参数,具体参考https://www.vasp.at/wiki/ ...

谢谢你了,我的是5.4版本应该只能用高斯势函数了。
作者
Author:
Hazelnut    时间: 2023-11-28 17:11
huxu 发表于 2023-11-23 17:32
你好,请问该如何设置这个flag呢,比如是在Z方向相对于lattice vector 0.3添加高斯势函数,是直接写Z 0.3 ...

不好意思,最近没看论坛回复。
ICONST中设置限制Z方向的方法是,Z (所需限制的原子序号)  status
例如我要使用高斯形式的偏置势限制1号原子的话就是 Z 1 5  。
文件写起来感觉还是有点抽象的,如果要限制多个原子的话就得一个一个写。
然后再参照https://www.vasp.at/wiki/index.p ... _molecular_dynamics在INCAR或者PENALTYPOT文件里设置每个限制势的参数(比如势的位置、宽度、斜率等),所设置的参数的数量和顺序要和先前ICONST中相同。

作者
Author:
朱陈    时间: 2023-11-28 17:12
Hazelnut 发表于 2023-11-28 16:59
是的,但是需要额外在INCAR中设置FBIAS_A, FBIAS_D, 与FBIAS_R0参数,具体参考https://www.vasp.at/wiki/ ...

还有个问题请教你一下,在写ICONST的时候,是把全部的原子都写上才能在设定的区域内跑吧。
作者
Author:
Hazelnut    时间: 2023-11-28 17:16
朱陈 发表于 2023-11-28 17:12
还有个问题请教你一下,在写ICONST的时候,是把全部的原子都写上才能在设定的区域内跑吧。

是的,需要把希望受到势场作用的原子全部写上。
作者
Author:
朱陈    时间: 2023-11-28 17:18
Hazelnut 发表于 2023-11-28 17:11
不好意思,最近没看论坛回复。
ICONST中设置限制Z方向的方法是,Z (所需限制的原子序号)  status
例如 ...

这个位置好判断,但是这个宽度和斜率请问楼主是如何选择的呀?
作者
Author:
Hazelnut    时间: 2023-11-28 17:27
朱陈 发表于 2023-11-28 17:18
这个位置好判断,但是这个宽度和斜率请问楼主是如何选择的呀?

高斯势只能设置宽度和高度,宽度的话不能太窄不然容易被随机波动克服,高度的话就根据自己的体系参考相关文献吧。
还可以看看vaspwiki的示例: https://www.vasp.at/wiki/index.php/PENALTYPOT
作者
Author:
朱陈    时间: 2023-11-28 17:28
Hazelnut 发表于 2023-11-28 17:27
高斯势只能设置宽度和高度,宽度的话不能太窄不然容易被随机波动克服,高度的话就根据自己的体系参考相关 ...

好的,感谢。




欢迎光临 计算化学公社 (http://bbs.keinsci.com/) Powered by Discuz! X3.3