lammps学习(一)单晶硅纳米磨削

学习lammps写的第一个简单的例子。参考文献《单晶硅纳米级磨削过程的理论研究》。

一、in文件部分

# 金刚石半径4.5nm,晶格常数3.57
# 单晶硅 x:15nm,y:15nm ,z:15nm

#echo screen #输出调试、仿真到屏幕

###设定基本参数

units metal #金属类型
dimension 3 #三维
atom_style atomic #无键
boundary f f f #非边界条件

###生成原子/区域
region box block -200 200 -200 200 -200 200 units box #box区域,长宽高1000的盒子。
create_box 2 box #创建包含两种原子的盒子

lattice diamond 3.57 #金刚石模型,晶格常数3.57
region s1 sphere 60 -35 63 30 units box #区域名称s1 球形区域 球心坐标xyz 球半径4.5 单位与box相同
region s2 block 0 100 -100 0 0 63 units box #区域名s2 长方体区域 xyz的最高最低坐标 单位同box
region se intersect 2 s1 s2 #区域名 联合区域 联合数 联合s1 联合s2

#create_box 2 se #原子类型数目 区域

create_atoms 1 region se units box #原子类型 区域 单位

###创建多层Si
lattice diamond 5.4 
region b1 block  0 120 0 88.23 39.2 58.82 units box
region b2 block  0 120 0 88.23 19.60 39.2 units box
region b3 block  0 120 0 88.23 0 19.60 units box
region b4 union 3 b1 b2 b3

create_atoms 2 region b4 units box

###设置质量
mass 1 12.0 #C质量12.0g/mol
mass 2 28.0 #Si质量28g/mol

###分组
group JGS type 1 #将第一类原子归为JGS类
neighbor 2.0 bin #skin距离
neigh_modify every 2 delay 10 check yes exclude group JGS JGS
#在上一次构建list1后20个步长内不进行构建,延时后两个步长才开始构建,并且要满足当某个原子超过skin距离的一般。排除JGS group的相互作用。

group Si type 2 #将2类原子归为JGS类
group layer1 region b1 #将b1归为layer1类(牛顿层)
group layer2 region b2 #恒温层
group layer3 region b3 #固定边界层

###设置作用势
pair_style tersoff #按tersoff计算相互作用势
pair_coeff * * SiC.tersoff C Si  #两种原子类型,1C,2Si
###设置计算方法
compute mytemp layer2 temp/com #按temp/com计算恒温层温度

#nve下驰豫
velocity JGS set NULL 0.1667 NULL #JGS组vx设置为1,其余不设置
velocity layer2 create 293 12345 dist gaussian #在293K温度下以12345随机种子赋予layer2,且原子速度按高斯分布
fix 10 JGS nve/noforce #nve:保证系统中原子数量n、体系总体积v和体系总能量e保持不变。noforce:忽略原子力,不更新速度,更新位置。

fix 20 layer1 nve
fix 30 layer2 nve
fix 31 layer2 temp/rescale 1 293 293 1.0 1.0 #基本原理是当温度超出设定温度时,通过缩放的方式调节温度使其达到设定值。
fix_modify 31 temp mytemp 
fix 40 layer3 nve/noforce  

###输出体系参数
thermo 200 #每200步输出结果
thermo_style custom step temp c_mytemp ke pe etotal enthalpy #自定义输出格式
thermo_modify lost ignore

###输出原子参数
dump 3 JGS custom 500 velocity.txt vx vy vz
dump 2 Si custom 1000 Force.txt id x y z fx fy fz
dump 1 all custom 500 C.lammpsstrj id type x y z #dumpID 所有组 自定义输出形式 每一步输出一次 输出坐标xyz

timestep 0.001
run 60000 #run一个步长

write_data C-Si.data #输出data文件
write_restart C-Si.restart

二、ovito磨削过程可视化

 三、数据处理

脚本自动化处理还没怎么学,自己手动拉excel将所有Si中所有原子的力求的和输出的受力—时间曲线。

lammps学习(一)单晶硅纳米磨削_第1张图片

lammps学习(一)单晶硅纳米磨削_第2张图片

你可能感兴趣的:(lammps,分子动力学,其他,经验分享)