24小时热门版块排行榜    

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

xueyiran2007

铜虫 (小有名气)

[求助] MS生成Lammps的data文件,文件中原子的类型和顺序并不是自己想要的,请问如何修改?已有2人参与

我利用MS建立了水在铁表面的模型,并导出data文件,但发现文件里H, O的原子类型分别有两种,而且H.O的atom ID也不符合Lammps的要求,
Lammps要求1个O后面跟2个H,但我的data文件中H,O的atom ID并不是按照这个规律来的,请问大神,这种情况怎么处理啊?万分感激!
请各位大神帮小弟一把啊

Lammps中的H,O规定如下:
the atom IDs for the O and 2 H atoms must be consecutive, with the O atom first. This is to enable LAMMPS to "find" the 2 H atoms associated with
each O atom. For example, if the atom ID of an O atom in a TIP4P water molecule is 500, then its 2 H atoms must have IDs 501 and 502.

我的data文件如下,
5437 atoms
   3136 bonds
   1571 angles
      6 dihedrals
      0 impropers

   5 atom types
   3 bond types
   2 angle types
   1 dihedral types

     6.514843568    92.404843568 xlo xhi
    -0.483828184     5.242171816 ylo yhi
     1.713492553    58.973492553 zlo zhi

Masses
   1  55.847000
   2  15.999400
   3  15.999400
   4   1.007970
   5   1.007970
################################
问题1:通过Masses可以看到,这里H,O的atom type分别有2种,这是怎么回事?如何修改?

Atoms # full
2290      1   2 -0.820000    68.712000000     2.863000000    54.397000000   0   0   0 # o*
   2291      1   2 -0.820000    70.143500000     4.294500000    55.828500000   0   0   0 # o*
   2292      1   2 -0.820000    71.575000000     2.863000000    54.397000000   0   0   0 # o*
   2293      1   2 -0.820000    73.006500000     4.294500000    55.828500000   0   0   0 # o*
   2294      1   2 -0.820000    74.438000000     2.863000000    54.397000000   0   0   0 # o*
   2295      1   2 -0.820000    75.869500000     4.294500000    55.828500000   0   0   0 # o*
   2296      1   2 -0.820000    77.301000000     2.863000000    54.397000000   0   0   0 # o*
   2297      1   2 -0.820000    78.732500000     4.294500000    55.828500000   0   0   0 # o*
   2298      1   2 -0.820000    80.164000000     2.863000000    54.397000000   0   0   0 # o*
   2299      1   2 -0.820000    81.595500000     4.294500000    55.828500000   0   0   0 # o*
   2300      1   2 -0.820000    83.027000000     2.863000000    54.397000000   0   0   0 # o*
   2301      1   2 -0.820000    84.458500000     4.294500000    55.828500000   0   0   0 # o*
   2302      1   4  0.410000    52.595500374     2.171500101    19.349500101   0   0   0 # h*
   2303      1   4  0.410000    54.075500010     1.431500000    18.609500000   0   0   0 # h*
   2304      1   4  0.410000    55.458500374     2.171500101    19.349500101   0   0   0 # h*
   2305      1   4  0.410000    56.938500010     1.431500000    18.609500000   0   0   0 # h*
   2306      1   4  0.410000    58.321500374     2.171500101    19.349500101   0   0   0 # h*
   2307      1   4  0.410000    59.801500010     1.431500000    18.609500000   0   0   0 # h*
   2308      1   4  0.410000    61.184500374     2.171500101    19.349500101   0   0   0 # h*
   2309      1   4  0.410000    62.664500010     1.431500000    18.609500000   0   0   0 # h*
   2310      1   4  0.410000    64.047500374     2.171500101    19.349500101   0   0   0 # h*
   2311      1   4  0.410000    65.527500010     1.431500000    18.609500000   0   0   0 # h*
###################################################
问题2:这里H,O的排列并不符合lammps的要求,请问各位大神,如何修改H,O的排列顺序?
回复此楼
LiveandLearn
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

茹此无声

木虫 (小有名气)

【答案】应助回帖

★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
月只蓝: 金币+1, 鼓励交流 2014-01-11 07:40:50
xueyiran2007: 金币+5, ★★★很有帮助 2014-01-12 03:43:29
1.ms文件导入到ME里,bdl转成data.
2.fortran编程实现。

[ 发自小木虫客户端 ]
人类一思考,上帝就发笑。
3楼2014-01-11 00:23:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 9 个回答

ysshj

金虫 (小有名气)


月只蓝: 金币+1, 鼓励交流 2014-01-10 19:35:54
看见回/看低的帖子就忍不住留个名。
我也是新手,见闻有限,求指点。

H,O的atom type分别有2种,这个跟具体模型有关。有的时候为了分group或是设势函数方便,不同位置同种原子可以设不一样的atom type。

改排列或许可以试个土办法,用matlab读取文本,再编程调整,例如对每个O搜索距离最近的两个H,再把信息挨着放。
一个人要像一支队伍。
2楼2014-01-10 17:00:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xueyiran2007

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by ysshj at 2014-01-10 17:00:14
看见回/看低的帖子就忍不住留个名。
我也是新手,见闻有限,求指点。

H,O的atom type分别有2种,这个跟具体模型有关。有的时候为了分group或是设势函数方便,不同位置同种原子可以设不一样的atom type。

改排 ...

多谢!我试试
LiveandLearn
4楼2014-01-11 03:40:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xueyiran2007

铜虫 (小有名气)

引用回帖:
3楼: Originally posted by 茹此无声 at 2014-01-11 00:23:25
1.ms文件导入到ME里,bdl转成data.
2.fortran编程实现。

多谢!大神,您可以说的详细点吗?bdl是什么?我已经用msi2lmp转换成data文件了,您的意思是用bdl重新转换吗?另外如何利用fortran编程实现?是通过编程对data文件进行排序吗?可以给个例子吗?
LiveandLearn
5楼2014-01-12 08:36:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见