【Lammps】lammps 势函数的获取
力场参数常用网站
1.lammps官网:
https://www.lammps.org/
lammps官网的GitHub是时常更新的,比我们安装目录下的势文件要多,在这里可能会找到我们需要的势文件
2.Interatomic Potentials Repository:
https://www.ctcms.nist.gov/potentials/
3.Postech cmse Lab:
https://cmse.postech.ac.kr/home_2nnmeam
网站首页
这个网站里面有很多例子,说不定就能找到自己需要的势文件。
4.我爱搜集网:
https://www,52souji.net
高熵合金势函数的设置方法
1.下载专用势函数
下面的网站包含了大多数原子的势函数:
https://www.ctcms.nist.gov/potentials/
如需下载包含Fe原子的势函数,直接点Fe:
出现势函数列表:
比如Al-Co-Cr-Fe-Ni就是高熵合金AlCoCrFeNi的势函数,后面的数字表示该合金的势函数数量,点击打开改势函数文件,点击另存保存到自己电脑即可。
in文件设置方法:
pair_style eam/alloy
pair_coeff * * AlCoCrFeNi.eam.alloy Al Co Cr Fe Ni
2.使用混合势
如果在上面的网站中找不到专用的势函数,可以下载多个势函数,使用混合命令组合到一起。
假设在FeCMnSi中加入Ti,组成一种新的合金FeCMnSiTi合金,但是并不能找到这种合金的势函数。
但是能找到FeCMnSi(FeCMnSi.eam.alloy)的势和Ti(Ti.eam.fs)的势,可以使用hybrid
命令合并到一起。
Ti原子与FeCMnSi原子之间使用LJ势,需要在下面网站中查出这5中原子的LJ势参数,具体方法见:
https://mp.weixin.qq.com/s/Sfov6TAdTMh1fyOoKhMi6Q
下面给出混合势命令,lj参数是随便写的,仅供参考:
pair_style hybrid eam/alloy eam/fs lj/cut 10
pair_coeff * * eam/alloy FeCMnSi.eam.alloy Fe C Mn Si NULL
pair_coeff * * eam/fs Ti.eam.fs NULL NULL NULL NULL Ti
pair_coeff * * lj/cut 1 5 0.01 3.2 #Fe-Ti
pair_coeff * * lj/cut 2 5 0.01 3.2 #C-Ti
pair_coeff * * lj/cut 3 5 0.01 3.2 #Mn-Ti
pair_coeff * * lj/cut 4 5 0.01 3.2 #Si-Ti
3.自己拟合势函数
lammps官方安装文件自带Xiaowang Zhou编写的一个拟合程序,该程序可自动生成所需要的合金势。
该程序是一个开源软件,代码收录在官方Ubuntu版lammps源代码tools/eam_database目录内
可以拟合的合金原子包括:
Cu, Ag, Au, Ni, Pd, Pt, Al, Pb, Fe, Mo, Ta, W, Mg, Co, Ti, Zr
具体方法可参考:
计算结果是否准确需要自行验证。
lammps模拟中,势函数的设置非常重要,直接影响计算结果,同时也是一大难点,特别是对于原子类型比较多的情况,设置起来有一定的困难。
使用lammps模拟金属体系,最常用的势函数为eam、meam势。
对于大多数金属或者合金来说,可以从网上下载相对应的eam或meam势力场文件。
而对于一些新的合金材料,可能就找不到相对应的力场文件。
解决的方法有两种,一是采用混合势(pair_style hybrid),第二种方法是自己拟合势函数文件。
混合势的写法在前面文章中已经介绍过(混合势函数设置详解),本文介绍一种拟合EAM势的方法。
该方法是运行Xiaowang Zhou编写的一个拟合程序,该程序可自动生成所需要的合金势。
这个程序能够拟合的合金元素有:
Cu, Ag, Au, Ni, Pd, Pt, Al, Pb, Fe, Mo, Ta, W, Mg, Co, Ti, Zr。
不在这个列表之内的元素不能使用这个程序。
该程序是一个开源软件,代码收录在官方Ubuntu版lammps源代码tools/eam_database
目录内。
具体拟合方法
(1)编译creat.f文件
在Ubuntu中进入tools/eam_database目录,运行以下代码进行编译:
gfortran create.f
如果提示没有权限,则运行:
sudo gfortran create.f
运行结束后,会生成a.out
程序。
(2)编辑EAM.input文件
EAM.input文件包含了合金信息,按照例子中的格式添加或删除合金元素即可。
&funccard
atomtype='Al'
&end
&funccard
atomtype='Cu'
&end
&funccard
&end
(3)运行a.out
在命令行输入以下命令即可生成相应的合金势力场文件:
a.out < EAM.input
文件名为合金元素.set,本例中生成的合金是为AlCu.set。
(4)势函数使用方法
pair_style eam/alloy
pair_coeff * * AlCu.set Al Cu
文章评论