Materials Studio构建的模型如何导入lammps?

经常碰到这类问题,诸如“MS建的模型如何自动转换成lammps的数据文件?”,“MS建的模型如何导入lammps?”等等。以前也没有很好的办法,分子模拟论坛里说有一个叫做msi2lmp的小程序可以实现,但我自己没有搞成功。不过我自己摸索了下面的方法,如果你不觉得麻烦,不妨试试。

  • 总的思路是:模型 → cif格式 → vasp格式 → lammps格式
  • 需要用到的软件:Materials Studio,VESTA,poscar2lammps脚本

具体步骤如下所示。

1. 建模

使用MS(Materials Studio)完成模型的建立。需要特别注意,模型中必须包括晶胞信息,不然在下一步就会提示不能导出cif格式。可以使用build--crsytals--build crystals命令为没有晶胞的模型创建晶胞。

2. 导出cif格式

选择菜单【File】--【Export】,弹出的对话框中选择cif格式,导出。如下图所示。

MS导出cif格式

3. 转换为vasp格式

使用VESTA打开第二步导出的cif格式的文件,选择菜单【File】--【Export Data】,弹出的对话框中选择vasp格式,导出。如下图所示。

VESTA导出vasp格式

VESTA程序介绍:结构模型可视化软件VESTA

4. 转换为lammps格式

将第三步中vasp格式的文件转移到linux操作系统中,使用poscar2lammps脚本将其转换成lammps格式。

poscar2lammps脚本下载:vasp poscar结构转lammps结构文件

完成。

一点说明

仅限于没有力场作用的体系,对于有力场的情形,我猜测这种方案是行不通的。

标签: lammps, 建模, Materials Studio

相关文章推荐

添加新评论 (无需注册,可直接评论)

已有 18 条评论

  1. HzHou.Mr

    老师您好:要是打扰到您,真的很抱歉;想咨询您一下,我想把OPLS-AA的立场参数导入MS,使得OPLS-AA成为MS可以接受的力场,我们找到了关于OPLS-AA的立场参数 http://muchong.com/t-10836654-1 (木虫上的共享文件),我想知道,怎么把这些参数依次填写到对应的类型,MS 力场编辑方面有Type(里面对应的有Type,Description,Element Symbol, van der Waals From, (主要包括LJ-12_6,LJ-12-4,LJ-9_6等等)D0 /kcal/mol, R0 /? ),Interaction(包括Fi,Fj,Functional From(包括Quartic,Harmonic等等并且还有R0/ ?,K0 / kcal/mol/?^2,C /1/?,D /1/?^2)),Equivalences等,我应该从哪里下手开始导入这些信息呢?谢谢您,麻烦了

  2. liurong

    那请问楼主算UO2材料的热导率要不要考虑力场呢,因为我想通过MS建模,还有一些复杂的缺陷的建模等?

  3. 沙儿飞飞

    楼主好,我按你给的方法试了一下,把脚本和vasp文件都复制到了/usr/bin目录下,并将脚本权限改为可执行,在终端运行命令的时候,一直提示“没有那个文件或目录”,不知是什么原因?能否帮忙解答一下?不胜感激!

    1. vae

      你的问题解决了吗?我也出现了这样的问题,能否帮忙解决一下

  4. 王亮

    请问在用VESTA把.cif格式转换为.vasp格式时,有个选项为把原子坐标转换为Fractional coordinates or Cartesian coordinates,应该选哪个呢?谢谢!

    1. 我爱搜集网博主

      这个你可以试试看。其实都没有关系,只是两种不同的vasp格式。

      1. 岳晓明

        你好 想向您请教一下 我在lammps 用metal单位时候 水分子LJ参数也单位换算了 为啥还是计算不了 就是老报错bonds atoms missing

  5. xbb

    楼主好,我现在在用这个方法将MS下的晶体界面转换到data文件中,现在在linux下,做VSAP那个转换时,会出现bash:/ CuAl.lammps : permission denied.
    我有用过chmod 改/bin下面那个awk文件的权限,现在是可以被执行。
    然后也把原始文件CuAl.vsap放在了/bin下面。
    还有什么需要改的地方吗?

    1. 我爱搜集网博主

      awk是linux下的一个程序,一般是在系统的/bin目录下,所以并不需要修改什么,只需要把VASP-poscar2lammps.awk加上可执行权限就可以了。
      转换的时候,将待转换的vasp格式的文件放在脚本所在的目录下应该就可以了。

      1. xbb

        楼主好,现在已经可以成功的转换格式了。我的是一个Cu和Al的界面问题,然后用build layer制作界面后。结果在VESTA下,现在看起来有了三种atoms。还得再MS下好好看看问题出在了那里。

        1. xiaoxiaochou

          你好 请问你转化的时候出来的坐标数据只有单个晶胞而不是整个模型的吗?

          1. 这当然要看你的源数据是什么了,如果源数据是单胞,那转换出来就是单胞,如果该源数据是整个模型,那转换出来就是整个模型。

        2. xcd

          你的问题解决了吗?我也是转换后原子类型有问题,基本上都是1,只有几个是类型2

      2. xbb

        感谢楼主指点,原来自己读的不够仔细。压根linux上还没有awk这个程序。先去改正一下,另外想问一下,是因为vesta升级的问题吗,现在导出的只有vasp poscar这一种格式,在原作者那里还分别是frac和cart两种类型

  6. 刘柱

    请问前辈,看过你好多帖子,总会提到这个“仅限于没有力场作用的体系”,请问下这里所谓的力场作用是指什么呢。对于lammps需要的两个文件,即.in和.data文件,力场参数不是应该在.in文件中设置吗?对于我的体系而已,是两种液体的界面,小分子体系,但分子数目较多,而且需要考虑分子的键长键角二面角等,之前帖子中提到的cfg,xyz格式转化为lammps data文件形式,是否表示就不适用了呢?谢谢回复!

    1. 我爱搜集网博主

      in文件里设置的是力场参数。我这里提到的没有“力场相互作用”是指原子间没有键合作用。对于很多分子体系,这些是必须考虑的,需要会在data文件中指出。这样的体系相对更加复杂,也是我这里所排出在外的。

  7. fwforest

    帖子很棒,网站也很好,太牛了。不过请问一下如果要转化带力场的体系有什么好的方法吗?谢谢?

    1. 我爱搜集网博主

      因为我几乎没有用过带有力场的体系,所以也没有摸索过相关的方法。如果你知道,告诉我哈!