分享一个2维液态平衡模拟案例代码。
随机生成400*0.8个原子并进行温度初始化,原子在LJ力场作用下运动到一定位置后达到平衡,并输出rdf数据。
代码已经注释,以供参考。
当原子数量超过400*0.9时,体系接近固态,可自行更改参数并结合rdf图像进行验证。
in文件代码如下:
#设置原子个数
variable afrac equal 0.80
variable npart equal ${afrac}*400
#温度设置
variable temp equal 1.0
#模型基本参数
units lj
dimension 2
atom_style atomic
boundary p p p
neighbor 0.5 bin
neigh_modify every 1 delay 0 check yes
#生成2维盒子
region box block -10 10 -10 10 -0.1 0.1
create_box 1 box
#转化为2维计算
fix 2d all enforce2d
#生成原子
create_atoms 1 random ${npart} 324523 box
#摩尔质量设置
mass 1 1
#LJ力场设置
pair_style lj/cut 5.0
pair_coeff * * 1.0 1.0
#能量最小化
minimize 1e-4 1e-4 1000 1000
#步数初始化为0
reset_timestep 0
#每1000步输出1次轨迹
dump 1 all atom 1000 lj.xyz
#nve系综
fix integrator all nve
#郎之万控温方式
fix dynamics all langevin ${temp} ${temp} 1.0 2352325
#输出rdf
compute rdf all rdf 200
fix saverdf all ave/time 100 100 10000 c_rdf[1] c_rdf[2] file lj.rdf mode vector
#每100步输入步数、温度、动能、势能
thermo_style custom step temp ke pe
thermo 100
#时间步长0.01
timestep 0.01
#总步数10000步
run 10000
更多lammps教程,关注微信公众号:lammps加油站