24小时热门版块排行榜    

查看: 3311  |  回复: 5
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

shiling1813

新虫 (小有名气)

[求助] 在lammps的neb计算中,如何限制原子在某个平面上运动?

大家好

       如标题,在lammps的neb计算中,如何限制原子在某个平面上运动?

     兄弟我在限制原子在某个平面上运动的前提下,进行lammps的neb计算,不知可行吗?
     在lammps中有什么命令可以限制原子在某个平面上运动?

     我试验过fix planeforce和velocity命令联用,但那样好像改变了neb 计算中的原子上的力和速度,会影响动力学过程,并且和fix neb命令冲突,也没起到限制原子运动的作用。下面是我写的in文件,请批评指正。

units  metal
boundary f f p
atom_style atomic
neighbor 2.0 bin
neigh_modify delay 5
atom_modify map array sort 0 0.0
variable u uloop 20
lattice  fcc 1
read_data   intcrack100Gparelax3
region     box1 block 8 118 5 117 0 20.06075
region     noboundaryatoms block 9 161 5 237 0 20.06075
pair_style  eam/alloy
pair_coeff  * * nialre_djp.eam.alloy Ni Al Re
group       nobound region noboundaryatoms
group       fixedatoms1 id == 4421
group       boundaryatoms subtract all nobound
fix  1 boundaryatoms setforce 0.0 0.0 0.0
fix  2 fixedatoms setforce 0.0 0.0 0.0

region     planemove block 8 130.851 5 117 0 20.06075
group       planemoveg region planemove
velocity    planemoveg set 0 0 0
fix hold1    planemoveg planeforce 1.4142 1 0
minimize 1.0e-6 1.0e-7 1000 10000
reset_timestep 0
timestep 0.005
fix  5 nobound neb 1.0
unfix hold1
fix hold2    planemoveg planeforce 1.4142 1 0
velocity    planemoveg set 0 0 0
thermo  100
dump  1 all custom 22000 dump.neb.$u id type x y z
min_style quickmin
neb  0.0 0.005 2000 20000 100 relax100quench
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

杨and王

新虫 (初入文坛)

引用回帖:
2楼: Originally posted by liujm123 at 2015-07-02 21:27:00
你好,我正在进行用lammps计算迁移能垒,学习了你的程序,neb  0.0 0.005 2000 20000 100 relax100quench ,但是在我的程序里面总是显示:cann't use NEB with a single replica。我不明白的是,该neb指令应该是指定 ...

你好,请问ERROR: Cannot use NEB with a single replica (../neb.cpp:139)。问题解决了吗?可以分享一下解决方法吗?

发自小木虫Android客户端
5楼2017-05-09 21:24:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 6 个回答

liujm123

禁虫 (初入文坛)

本帖内容被屏蔽

2楼2015-07-02 21:27:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shiling1813

新虫 (小有名气)

引用回帖:
2楼: Originally posted by liujm123 at 2015-07-02 21:27:00
你好,我正在进行用lammps计算迁移能垒,学习了你的程序,neb  0.0 0.005 2000 20000 100 relax100quench ,但是在我的程序里面总是显示:cann't use NEB with a single replica。我不明白的是,该neb指令应该是指定 ...

我刚看到你的问题。不好意思,我不是经常上论坛。
在NEB计算中,只取一个中间镜像态肯定不行,你得自己指定一些中间过渡态的个数,具体命令见上面我帖子中的命令:variable u uloop 20。这个命令实际上指定了18个过渡态(包括初末态共20个态)。另外,在运行NEB计算时,需要你自己指定服务器或集群cpu的核数,我运行时,是指定20个核(恰好等于20个态的数目)。
初态原子坐标是用read_data指定的,末态原子坐标是用“neb  0.0 0.005 2000 20000 100 relax100quench”中的relax100quench指定的。relax100quench是我自己构造的末态构形的原子坐标文件。你需要自己构造你的初态和末态构形文件,然后读入lammps才能执行NEB计算。
3楼2015-07-15 20:03:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xxxxzzz

金虫 (正式写手)

引用回帖:
3楼: Originally posted by shiling1813 at 2015-07-15 20:03:41
我刚看到你的问题。不好意思,我不是经常上论坛。
在NEB计算中,只取一个中间镜像态肯定不行,你得自己指定一些中间过渡态的个数,具体命令见上面我帖子中的命令:variable u uloop 20。这个命令实际上指定了18个 ...

末态构形是如何构造的啊?随意构造都行吗?
哦哦哦哦哦哦哦哦哦哦哦哦哦哦
4楼2015-12-09 15:08:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见