计算化学公社

标题: 求助LAMMPS REAXFF模拟如何固定金属氧化物的少数几层原子? [打印本页]

作者
Author:
白头昭华    时间: 2025-1-4 11:07
标题: 求助LAMMPS REAXFF模拟如何固定金属氧化物的少数几层原子?
求助各位大佬,我在进行reaxff模拟计算有机物在金属氧化物层间的吸附时,刚开始不固定金属氧化物层,上下的金属氧化物层会一直移动。这是什么原因呢?系综是nvt。
但是全部固定的话,吸附效果好像又会变差。
请问这种情况需要只固定远离吸附端的金属氧化物层原子吗?group已经包含了所有的金属氧化物层,怎么再创建新的group固定呢?

(, 下载次数 Times of downloads: 10)
此图是不固定金属氧化物层。

(, 下载次数 Times of downloads: 8)
此图是固定金属氧化物层。



作者
Author:
zzvion    时间: 2025-3-7 20:37
请问一下reaxff力场是怎么添加的呀,如果是吸附别的立场可以吗

作者
Author:
baoluyao    时间: 2025-3-8 00:20
在LAMMPS中固定某部分原子只需要不对这部分原子施加任何积分命令,如fix nvt等,就行了。LAMMPS中允许多种方式定义group,根据你的情况可以根据区域进行group的定义。只需要用region命令定义你想固定部分原子的区域,然后用group命令调用该区域命令定义group即可。举例
region downfix block INF INF INF INF INF 3.0 units box
group downfix region downfix
#假设你的固体的group id是solid,那么剩下部分的固体这样定义
group solid_move subtract solid downfix
然后直接
fix 1 solid_move nvt temp 300 300 10
这样就只有solid_move的原子会动了
作者
Author:
baoluyao    时间: 2025-3-8 00:21
zzvion 发表于 2025-3-7 20:37
请问一下reaxff力场是怎么添加的呀,如果是吸附别的立场可以吗

ReaxFF添加力场是通过pair_coeff命令读取力场文件进行的,至于力场是否符合你的体系,需要验证
作者
Author:
zzvion    时间: 2025-3-8 22:41
baoluyao 发表于 2025-3-8 00:21
ReaxFF添加力场是通过pair_coeff命令读取力场文件进行的,至于力场是否符合你的体系,需要验证

感谢感谢,上边固定原子也学到了,我也遇到了这个问题,但是还有说NVT不能和setforce一起用是真的是吗,贴吧上看到的:fix npt /nvt包含的group不能用fix setforce来保持速度不变,因为虽然setforce可以把力置为0,但是这两个命令速度的更新还有个标度因子,速度仍然在变化。






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