24小时热门版块排行榜    

查看: 8709  |  回复: 20

neweroica

木虫 (著名写手)

[交流] 【求助】如何固定某几个原子不动? 已有3人参与

刚接触LAMMPS,有一个问题想请教大家:

我想在整个MD模拟过程中,固定某几个原子始终不动,请问该如何实现? 具体用什么命令和关键词?  谢谢!!!
回复此楼

» 收录本帖的淘帖专辑推荐

分子模拟

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

Simpler, stronger, more tolerant
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

老虎大王

木虫 (著名写手)

★ ★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
lei0736(金币+5,VIP+0):谢谢 12-15 09:19
这个有多种方法可以实现。
首先你把这几个原子放在一个group里面(比如group1),把其它原子放在另外的group(比如group2)里面。然后,你至少可以选择如下几种方法:
1. 运动方程不对这几个原子积分, 只对group2积分(但我不能确定这个时候group1里面的原子对其它原子的力的作用是否还存在(你可以作一个测试,对于一个构型手工计算一下这几个原子旁边的某一原子的势能,和程序输出的该原子的势能比较一下——用computer pe/atom命令)
2. 运动方程对所有原子积分,但是对group1里面的原子,每一步都标定它的速度,让它们的速度(或温度)为零。
3. 运动方程对所有原子积分,令group1里面的原子的初速度为零,然后用 fix setforce命令,把它们的受力搞成零。

[ Last edited by 老虎大王 on 2009-12-15 at 09:03 ]
2楼2009-12-15 09:01:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

老虎大王

木虫 (著名写手)

★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
lei0736(金币+2,VIP+0):谢谢 12-15 09:19
当然,如果这些都不大好使或者太麻烦的话,我推荐你用XMD。XMD里专门有一个命令叫Fix,确保这些原子的位置不被更新,但它们与其它原子的相互作用是存在的。
3楼2009-12-15 09:12:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

neweroica

木虫 (著名写手)

引用回帖:
Originally posted by 老虎大王 at 2009-12-15 09:01:
这个有多种方法可以实现。
首先你把这几个原子放在一个group里面(比如group1),把其它原子放在另外的group(比如group2)里面。然后,你至少可以选择如下几种方法:
1. 运动方程不对这几个原子积分, 只对group ...

非常感谢老虎大王!!!

1. setforce好像不管用。在run之后,原子位置还是随着timestep发生变化。

2. run            100000 every 1 set group s vx 0 vy 0 vz 0管用。 但我还有个问题:

因为我将每个分子都是为一个刚体,但同时又想对系统施加NVT,所以我用了两个fix来实现:
fix 1 all nvt 300.0 300.0 100.0
fix 2 all rigid group 2 mol1 mol2

但是运行后却出现警告:
WARNING: One or more atoms are time integrated more than once

请问这个问题该怎么解决?
Simpler, stronger, more tolerant
4楼2009-12-15 19:31:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

neweroica

木虫 (著名写手)

★ ★
lei0736(金币+2,VIP+0):DLPOLY应该有 另外开源软件支持修改代码 BH势还是比较简单的 12-16 12:39
引用回帖:
Originally posted by 老虎大王 at 2009-12-15 09:12:
当然,如果这些都不大好使或者太麻烦的话,我推荐你用XMD。XMD里专门有一个命令叫Fix,确保这些原子的位置不被更新,但它们与其它原子的相互作用是存在的。

但我想用Buckingham + Coulomb势,貌似XMD没有吧?
Simpler, stronger, more tolerant
5楼2009-12-15 19:32:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老虎大王

木虫 (著名写手)

★ ★ ★ ★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
lei0736(金币+6,VIP+0):谢谢 12-16 14:48
我没有研究过分子系统,只研究熔盐一类的离子体系和金属一类的原子系统,呵呵。现在我看你的问题是两个:
A,所有的分子都是rigid body。我其实不大明白你为什么要把分子都搞成刚体,其实分子内可以有相互作用的啊。这在Lammps中也可以实现。
B,有一些分子始终不动。

呵呵。这两个结合起来,有一点点麻烦。但在Lammps中应该也可以实现。

1. 用setforce, 一定要把初始速度先搞成零。这个命令我也没有用过,我现在不能确定它是只管当前步,还是管整个Run, 你测试一下看。刚才我又看了一下手册,手册上说这个命令可以用来固定原子。

2, Fix rigid 这个命令隐含了对所涉及的刚体中原子进行运动方程的恒能积分,不能再对它用其它的积分命令了,你仔细看说明书就知道了。这个命令的下面有两个“Important note", 你一读就知道。

3, 你如果所有的原子都是rigid  body,如上所说,你设置fix rigid命令的时候已经同时积分了方程,但你又想用Nvt,那么这个时候你就只能舍弃HOOVER热浴,而改用Berendsen方法(加个 fix temp/berendsen命令,这个命令只标定速度,不积分方程),或者加 fix temp/rescale命令。 这两个命令不但可以控温,而且可以像我前面所说的一样,把你不想让它动的那些原子的温度(速度)设成零。


4,题外话: 你要用XMD,也有很多办法,比如你把你的双体势做成EAM势函数表,但只有双体势部分有数值,而把Dens和Embed部分都搞成零不就行了,主要是Embed搞成零。这样做,只是没有用Ewald求和,但你是列表形式,算起来也很快的,而且只要你把表中数据点搞得密一些,计算的精度也可以保证。你可以这样搞一下,作个常规计算,与Lammps比较一下。比如用同样的构型,只计算一步,看看能量和力是否相同(主要是能量要相同,力的计算可能由于MD算法不同而略有不同)。

[ Last edited by 老虎大王 on 2009-12-16 at 13:53 ]
6楼2009-12-16 13:50:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老虎大王

木虫 (著名写手)

★ ★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
lei0736(金币+3,VIP+0):谢谢 12-16 18:10
至于DLPOLY,那是无法选定一些原子让它不动。
但是DOPOLY对于分子和Rigid body可以有很好的定义。你用DLPOLY也是不错的选择,至于让一些原子不动,这个很容易通过修改源程序来搞定。DLPOLY是Fortran程序,改动起来也容易。
7楼2009-12-16 17:55:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

neweroica

木虫 (著名写手)

引用回帖:
Originally posted by 老虎大王 at 2009-12-16 17:55:
至于DLPOLY,那是无法选定一些原子让它不动。
但是DOPOLY对于分子和Rigid body可以有很好的定义。你用DLPOLY也是不错的选择,至于让一些原子不动,这个很容易通过修改源程序来搞定。DLPOLY是Fortran程序,改动起 ...

但我在手册上见到:
DL POLY 3 also allows atoms to be completely immobilized (i.e. “frozen” at a fixed point in the MD cell).

貌似DL_POLY能够选定一些原子让它不动
Simpler, stronger, more tolerant
8楼2009-12-18 03:29:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

老虎大王

木虫 (著名写手)

★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
lei0736(金币+1,VIP+0):谢谢 12-19 15:06
Oh, Yes. Dlploy可以固定原子。我老早做的笔记上就有。呵呵。我忘记了。不好意思。
9楼2009-12-18 15:48:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

neweroica

木虫 (著名写手)

引用回帖:
Originally posted by 老虎大王 at 2009-12-18 15:48:
Oh, Yes. Dlploy可以固定原子。我老早做的笔记上就有。呵呵。我忘记了。不好意思。

FYI,DL POLY 3反而不支持rigid body了:“Note that DL POLY 3 does not handle molecules containing rigid bodies.” DL POLY 2可以。  这个我就不理解了,为什么版本越高功能反而越少了?
Simpler, stronger, more tolerant
10楼2009-12-18 19:35:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 neweroica 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 化学调剂0703 +7 啊我我的 2026-03-11 7/350 2026-03-15 23:03 by 凌千颂111
[文学芳草园] 伙伴们,祝我生日快乐吧 +15 myrtle 2026-03-10 24/1200 2026-03-15 21:16 by 苏州_逗号
[考研] 304求调剂 +5 小熊joy 2026-03-14 5/250 2026-03-14 21:07 by peike
[基金申请] 现在如何回避去年的某一个专家,不知道名字 +3 zk200107 2026-03-12 6/300 2026-03-14 17:13 by zk200107
[考研] 330求调剂 +3 ?酱给调剂跪了 2026-03-13 3/150 2026-03-14 10:13 by JourneyLucky
[考研] 333求调剂 +3 球球古力 2026-03-09 3/150 2026-03-14 01:57 by JourneyLucky
[考研] 306求调剂 +4 唐薏薏 2026-03-09 4/200 2026-03-14 01:19 by JourneyLucky
[考研] 271求调剂 +10 生如夏花… 2026-03-11 10/500 2026-03-14 00:35 by 卖报员小雨
[考研] 0805,333求调剂 +3 112253525 2026-03-10 3/150 2026-03-13 23:42 by JourneyLucky
[考研] 0703,333分求调剂 一志愿郑州大学-物理化学 +3 李魔女斗篷 2026-03-11 3/150 2026-03-13 22:24 by JourneyLucky
[考研] 085600调剂 +5 漾漾123sun 2026-03-12 5/250 2026-03-13 22:06 by 星空星月
[考研] 求材料调剂 +5 隔壁陈先生 2026-03-12 5/250 2026-03-13 22:03 by 星空星月
[考研] 0856材料与化工301求调剂 +5 奕束光 2026-03-13 5/250 2026-03-13 22:00 by 星空星月
[考研] 四川大学085601材料工程专硕 初试294求调剂 +4 祝我们好在冬天 2026-03-11 4/200 2026-03-13 21:39 by peike
[考研] 求调剂 +5 一定有学上- 2026-03-12 5/250 2026-03-13 18:31 by ms629
[考研] 材料专硕350 求调剂 +4 王金科 2026-03-12 4/200 2026-03-13 16:02 by ruiyingmiao
[考研] 一志愿211化学学硕310分求调剂 +8 努力奋斗112 2026-03-12 9/450 2026-03-13 15:41 by JourneyLucky
[考研] 土木第一志愿276求调剂,科研和技能十分丰富,求新兴方向的导师收留 +3 土木小天才 2026-03-12 3/150 2026-03-13 15:01 by JourneyLucky
[考研] 26考研求调剂 +5 丶宏Sir 2026-03-13 5/250 2026-03-13 13:05 by JourneyLucky
[考研] 一志愿:武汉理工,材料工程,英二数二 总分314 +3 2202020125 2026-03-10 4/200 2026-03-10 13:54 by xiongyaxuan
信息提示
请填处理意见