计算化学公社

 找回密码 Forget password
 注册 Register
Views: 504|回复 Reply: 4
打印 Print 上一主题 Last thread 下一主题 Next thread

[Lammps] 求助LAMMPS REAXFF模拟如何固定金属氧化物的少数几层原子?

[复制链接 Copy URL]

1

帖子

0

威望

47

eV
积分
48

Level 2 能力者

求助各位大佬,我在进行reaxff模拟计算有机物在金属氧化物层间的吸附时,刚开始不固定金属氧化物层,上下的金属氧化物层会一直移动。这是什么原因呢?系综是nvt。
但是全部固定的话,吸附效果好像又会变差。
请问这种情况需要只固定远离吸附端的金属氧化物层原子吗?group已经包含了所有的金属氧化物层,怎么再创建新的group固定呢?


此图是不固定金属氧化物层。


此图是固定金属氧化物层。


12

帖子

0

威望

53

eV
积分
65

Level 2 能力者

2#
发表于 Post on 2025-3-7 20:37:39 | 只看该作者 Only view this author
请问一下reaxff力场是怎么添加的呀,如果是吸附别的立场可以吗

3

帖子

0

威望

9

eV
积分
12

Level 1 能力者

3#
发表于 Post on 2025-3-8 00:20:09 | 只看该作者 Only view this author
在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的原子会动了

3

帖子

0

威望

9

eV
积分
12

Level 1 能力者

4#
发表于 Post on 2025-3-8 00:21:10 | 只看该作者 Only view this author
zzvion 发表于 2025-3-7 20:37
请问一下reaxff力场是怎么添加的呀,如果是吸附别的立场可以吗

ReaxFF添加力场是通过pair_coeff命令读取力场文件进行的,至于力场是否符合你的体系,需要验证

12

帖子

0

威望

53

eV
积分
65

Level 2 能力者

5#
发表于 Post on 2025-3-8 22:41:04 | 只看该作者 Only view this author
baoluyao 发表于 2025-3-8 00:21
ReaxFF添加力场是通过pair_coeff命令读取力场文件进行的,至于力场是否符合你的体系,需要验证

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

本版积分规则 Credits rule

手机版 Mobile version|北京科音自然科学研究中心 Beijing Kein Research Center for Natural Sciences|京公网安备 11010502035419号|计算化学公社 — 北京科音旗下高水平计算化学交流论坛 ( 京ICP备14038949号-1 )|网站地图

GMT+8, 2025-8-17 21:55 , Processed in 0.227597 second(s), 29 queries , Gzip On.

快速回复 返回顶部 返回列表 Return to list