分享一个金球融化过程的lammps模拟案例。

lammps 案例:金球融化模拟代码练习_建模

代码已经注释,以供参考。本例主要包含的知识点:

(1)建模

设置晶格后建立一个15*15*15晶格的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
#热力学信息输出
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

END


陆续推出lammps基础教程,敬请扫码关注微信公众号:lammps加油站。

lammps 案例:金球融化模拟代码练习_建模_02