当前位置:网站首页>lammps学习(一)单晶硅纳米磨削
lammps学习(一)单晶硅纳米磨削
2022-08-02 14:19:00 【薛定谔的青蛙】
学习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中所有原子的力求的和输出的受力—时间曲线。
边栏推荐
猜你喜欢
随机推荐
炎炎夏日打造一个属于自己的“便携小空调”吧
Principles of permutation entropy, fuzzy entropy, approximate entropy, sample entropy and approximate entropy implemented by MATLAB
Homebrew的简单介绍
OpenPose command line
UINIX 高级环境编程杂项之限制
Mysql-Explain与索引详解
FIR滤波器设计之窗函数法
GC垃圾回收ZGC
[Time series model] AR model (principle analysis + MATLAB code)
排列熵、模糊熵、近似熵、样本熵的原理及MATLAB实现之近似熵
unittest框架
数据源,分层开发以及jsp标签总结及相关代码
Based on the SVM regression forecast 】 【 LibSVM realize the prediction of a characteristic data
【web渗透】文件包含漏洞入门级超详细讲解
DOM —— 事件绑定与解绑
Mysql理解MVCC与BufferPool缓存机制
【时间序列模型】AR模型(原理剖析+MATLAB代码)
VMware 安装openwrt
Jenkins 参数化构建(Extended Choice Parameter)
关于机组的部分知识点随笔