分享一个金球融化过程的lammps模拟案例。
主要包含的知识点:
(1)建模
设置晶格后建立一个151515晶格的box,box内全部填充Au原子。
在box内设置一个球形的区域(region),使用delete_atoms命令删除球形区域外的Au原子,实现金球的建模。
(2)势函数设置
pair_style eam
pair_coeff * * Au_u3.eam
本例只含有1种原子,使用eam势,设置方式比较简单,Au_u3.eam后不需要加原子列表。
(3)nvt系综下的升温
fix 2 all nvt temp 298 2400 0.1
温度有298K升温至2400K,升温时间=模拟步数*timestep=150ps,因此可得升温速率=(2400-298)K/150ps。
设置不同的模拟步数可实现不同升温速率下的模拟。
in文件代码如下:
#模拟基本参数
dimension 3
units metal
atom_style atomic
boundary p p p
#设置晶格参数
lattice fcc 4.0782
region box block 0 15 0 15 0 15
create_box 1 box
#在box内填充Au原子
create_atoms 1 box
mass 1 196.97
#设置一个球形区域,取球形的外侧
region sph sphere 7.0 7.0 7.0 4.0 side out
#删除球形外侧区域原子,只保留球内原子
delete_atoms region sph
#设置ema势
pair_style eam
pair_coeff * * Au_u3.eam
#近邻列表参数定义
neighbor 3.0 bin
#每20步更新一次近邻列表
neigh_modify every 20 delay 0 check no
#能量最小化
minimize 1.0e-8 1.0e-8 10000 100000
min_style cg
#模拟步长
timestep 0.001
reset_timestep 0.0
#热力学信息输出
thermo 5000
#自定义输出:步数、势能、动能、 温度、体积、压力
thermo_style custom step pe ke temp vol press
#初始化温度298K
velocity all create 298 39849 mom yes rot yes dist gaussian
#1000步保存一次模拟结果
dump 1d all custom 1000 dump.melt id type x y z
#nvt系综下由298K->2400K,实现融化
fix 2 all nvt temp 298 2400 0.1
#运行150000步
run 150000
更多lammps案例代码,请关注微信公众号:lammps加油站