Lammps 初学者——in 文件中文解析
zhezhongyun 2024-12-03 06:33 53 浏览
1.初始化
Units:
Units 命令是用来设定模拟的原子类型。
Units style(lammps 现在提供的有 style=LJ、real、metal、si、cgs、electron)
LJ 是硬球模型
Real 是真实的原子模型
Metal 是金属原子模型Si 是硅(半导体)原子模型Cgs
Electron 是电子模型
Dimension:
Dimension 命令是用来定义模拟的维度,默认情况为三维。
Dimension N (N=2,3)
Boundary:
Boundary 命令是用来设定模拟的边界条件。
Boundary x y z (x,y,z=p,s,f,m 四种类型中的一种或者两种)
P 是周期性边界条件
S 是自由边界条件(但是具有收缩性)
F 是固定边界条件
M 是具有最小值的自由边界条件(但是具有收缩性)
Atom-style:
Atom-style 定义了模拟体系中的原子属性。
Delete-atoms: Pair-style:
Pair-style 定义了相互作用力场类型,即势函数。
- 原子定义
1、
Read-data/read-restart:
Read-data 或 read-restart 为从 data 或 restart 文件中读取内容来定义原子。
2、
Lattice:
lattice 是用来原子类型构建模型晶格结构。
Lattice style scale keyword values...
Style 表示点阵类型,点阵类型有 none、sc、bcc、fcc、hcp、diamond、sq、
sq2、hex、custom。
Scale 表示构建的点阵类型的单位长度
Keyword 表示后面可以追加 0 个或者多个关键字,关键字有 origin、orient、
spacing、a1、a2、a3、basis。各关键字意思为:
Region:
Create-box:
Create-box 命令用于在 region box 命令指定的区域内创建一个模拟的盒子。
Create_box N region-ID
N 为使用该原子类型进行模拟
Region-ID 为使用区域的 ID 使用模拟域
Create-atoms:
Create-atoms 用于在所创建的模拟的盒子中填充某种原子。
Create_atoms type style args keyword values ...
- 设定: 力场系数
Pair-coeff: 模拟参数
Neighbor
Neighbor 是定义
Neighbor skin style
Skin 为
Style 可取 bin、nsq、multi
Neighbor-modify: Group: Timestep:
Timestep 是定义模拟的时间步长。
Timestep dt
Dt 为时间步长(时间单位),默认为 1ps
Reset-timestep:
Fix
Fix 为定义对部分原子或者对系综的操作。
http://lammps.sandia.gov/doc/fix.html Fix ID group-ID style args
ID=指定的操作名称编号(如 1、2、3…….) Group-ID=制定操作范围的原子(如 all……)
Style=操作内容,如何操作
Args=相关操作内容的相关操作参数
Fix-nvt:恒定 N(原子数量)、V(体积)、T(温度)对时间积分Fix-npt:恒定 N、P、T 对时间积分
Unfix:
Compute/compute-modify: 输出选项
Thermo:
Thermo 命令用于定义每隔一定时间步长输出一次采样内容。
Thermo N
每隔 N 个时间步长输出一次采样内容至屏幕或者 log 文件
Thermo_style:
Thermo_style 命令主要是用来说明采样的内容,即输出到屏幕或者 LOG
文件中的内容。(http://lammps.sandia.gov/doc/thermo_style.html)
Thermo_style style args
Style=one、multi、custom
Args=特定的参数列表One args=none Multi args=none
Custom args=list of attributes
Possible attributes=step、elaosed、elaplong、dt、cpu、tpcpu、spcpu、
Atoms、temp、press、pe、ke、otatal、enthalpy、
Evdwl、ecoul、epair、ebond、eangle、edihed、eimp、
Emol、elong、etail、
Vol、lx、ly、lz、xlo、xhi、ylo、yhi、zlo、zhi、
Xy、xz、yz、xlat、ylat、zlat、
Pxx、pyy、pzz、pxy、pyz、pxz、
Fmax、fnorm、
Cella、cellb、cellc、cellalpha、cellbeta、cellgamma、
c_ID、c_ID[I]、c_ID[I][J]、
f_ID、f_ID[I]、f_ID[I][J]、V_name
Dump:
Dump 命令主要是用来输出计算后单个原子的相关信息的。
Dump ID group-ID style N file args
ID:自己给这个 dump 命令定义的一个代号(自定义)
group-ID:那些信息需要被输出的原子群(预先定义好 group) Style:类型
N:每经过多少时间步输出信息
File: 输 出 名 称Args:相关参数(每个类型不同)
Restart:
- 运行
Run: Minimize:
例一
units metal # 单位为 lammps 中的 metel 类型
boundary p p p # 周期性边界条件
atom_style atomic # 原子模式
lattice fcc 3.61 # Cu 的晶格常数 3.61
region box block 0 4 0 4 0 4 # x,y,z 各方向上的晶胞重复单元数,也即区域大小
create_box 1 box # 将上述区域指定为模拟的盒子create_atoms 1 box # 将原子按晶格填满盒子pair_style eam # 选取 Cu 的 EAM 势作为模型pair_coeff * * Cu_u3.eam # EAM 势文件名称
run 0 # 运行 0 步,仅为启动 lammps 的热力学数据计算
variable E equal pe # 定义变量 E 为系统总势能
variable N equal atoms # 定义变量 N 为系统总原子数
print "the number of atoms & system energy now are $N $E" # 打印信息
create_atoms 1 single 2.45 2.05 2.05 # 在该位置插入一个原子
min_style sd # 能量最小化模式,sd
minimize 1.0e-12 1.0e-12 1000 1000 # 能量最小化参数,指数越大最小化程度越深
print "interstitial introduced, minimized: $N atoms, energy is $E"
fix 1 all nvt 100 100 100 drag 0.2 # nvt 系综,原子数、体积和温度保持不变;T=100K
timestep 0.005 # 步长 0.005fs run 1000 # 运行 1000 步
print "nvt performed, temperature up: $N atoms, total energy is $E"
fix 1 all nvt 100 0.0001 100 drag 0.2 # nvt 系综,温度由 100K 到 0.0001K
run 1000 # 运行 1000 步
print "nvt performed, temperature down: $N atoms, total energy is $E" compute 3 all pe/atom # 计算每个原子的势能
compute 4 all ke/atom # 计算每个原子的动能
compute 5 all coord/atom 3.0 # 计算每个原子的近邻原子数
dump 1 all custom 1 dump.atom id xs ys zs c_3 c_4 c_5 # 将信息写入 dump.atom min_style sd
minimize 1.0e-12 1.0e-12 10000 10000 # 再次能量最小化
print "the final state: $N atoms, total energy is $E" # 打印信息
~
例二
boundary p s s # 边界条件,拉伸方向
是周期性,其余是自由边界;如果是薄膜拉伸则是两个周期性,块体则是三个周期性
units metal #单位制定义为
metal
atom_style atomic #原子类型
neighbor 2.0 bin #截断半径相关的东西
neigh_modifydelay 1 check yes # 邻近原子列表更新速度
#create geometry
lattice fcc 3.61 # 定义晶胞为 fcc,晶格常数 3.61A
region box block 0 30 0 3 0 3 #定义一个长方体区域叫 box,长
30,宽和高是 3
create_box 1 box #创建了这样一个 box
create_atoms 1 box #在 box 里创建了一种原子
mass 1 63.546 #定义这种原子的质量
是 63.546
# potentials
pair_style eam # 定义势函数是 EAM
pair_coef * * Cu_u3.eam #势所需要的参数在此文件里
#define groups
region 1 block INF 1 INF INF INF INF # 定义了一个叫
1 的区域
group left region 1
#定义此区域里的原子叫 left
region 2 block 29 INF INF INF INF INF #定义了一个叫 2 的区域
group right region 2 #
定义此区域里的原子叫 right
group boundary union left right #定义 left+ right = boundary
group mobile subtract all left # 定义
mobile= all - left
# initialvelocities
velocity left set 0.0 0.0 0.0 # 设置
原子初速度为 0
computep all pressure thermo_temp # 计算应力,计算结果记为 p
variable pressx equal c_p[1] #定义变量 pressx=c_p[1],c_p[1]
的意思是 p 里第一个值
variable pressy equal c_p[2] #定义变量 pressy=c_p[2],c_p[2]
的意思是 p 里第二个值
variable pressz equal c_p[3] #定义变量 pressz=c_p[3],c_p[3]
的意思是 p 里第三个值
thermo_style custom step temp etotal press v_pressx v_pressy v_pressz vol
dump 1 all atom 1000 dump.tensile # 输出结果到
dump.tensile
minimize 1.0e-6 1.0e-6 1000 1000 # 驰豫
fix 1 left setforce 0.0 NULL NULL #固定左边的原子
fix 2 all npt 1.0 1.0 1.0 aniso 0.0 0.0 NULL NULL NULL NULL 10.0 drag 1.0
thermo 1000 #
每 1000 步输出一次结果
timestep 0.002 #
时间步长 0.002ps
run 10000
#运行 10000 步
unfix2
fix 3 all nve
fix 4 all temp/rescale 100 1.0 1.0 5 1.0
fix 5 all deform 1000 x erate 0.002 units box #设置沿 x 方向拉伸,应变率为 0.002(1/ps)
compute s all stress/atom #计算每个原子上的应力,计算结果记为 s
compute strea all reduce sum c_s[1] #将 s 里第一个值求和,计算结果记为 strea
variable stressa equal c_strea/vol # 定义变量 stressa= strea/vol, vol 是体积
compute streb all reduce sum c_s[2] variable stressb equalc_streb/vol compute strec all reduce sum c_s[3] variable stressc equal c_strec/vol
thermo_style custom step tempetotal press v_stressa v_stressb v_stressc vol run 300000
最后,有相关需求欢迎通过微信公众号联系我们。
- 上一篇:http学习笔记1
- 下一篇:如何成为一个web前端,怎样系统的去学习![B篇]
相关推荐
- 激光手术矫正视力对眼睛到底有没有伤害?
-
因为大家询问到很多关于“基质不能完全愈合”的问题,有必要在这里再详细解释一下。谢谢@珍惜年少时光提出的疑问:因为手头刚好在看组织学,其中提到:”角膜基质约占角膜的全厚度的90%,主要成分是胶原板层,...
- OneCode核心概念解析——View(视图)
-
什么是视图?在前面的章节中介绍过,Page相关的概念,Page是用户交互的入口,具有Url唯一性。但Page还只是一个抽象的容器,而View则是一个具备了具体业务能力的特殊的Page,它可以是一个...
- 精品博文图文详解Xilinx ISE14.7 安装教程
-
在软件安装之前,得准备好软件安装包,可从Xilinx官网上下载:http://china.xilinx.com/support/download/index.html/content/xilinx/z...
- 卡片项目管理(Web)(卡片设计的流程)
-
简洁的HTML文档卡片管理,简单框架个人本地离线使用。将个人工具类的文档整理使用。优化方向:添加图片、瀑布式布局、颜色修改、毛玻璃效果等。<!DOCTYPEhtml><html...
- GolangWeb框架Iris项目实战-JWT和中间件(Middleware)的使用EP07
-
前文再续,上一回我们完成了用户的登录逻辑,将之前用户管理模块中添加的用户账号进行账号和密码的校验,过程中使用图形验证码强制进行人机交互,防止账号的密码被暴力破解。本回我们需要为登录成功的用户生成Tok...
- sitemap 网站地图是什么格式?有什么好处?
-
sitemap网站地图方便搜索引擎发现和爬取网页站点地图是一种xml文件,或者是txt,是将网站的所有网址列在这个文件中,为了方便搜索引擎发现并收录的。sitemap网站地图分两种:用于用户导...
- 如何在HarmonyOS NEXT中处理页面间的数据传递?
-
大家好,前两天的Mate70的发布,让人热血沸腾啊,不想错过,自学的小伙伴一起啊,今天分享的学习笔记是关于页面间数据伟递的问题,在HarmonyOSNEXT5.0中,页面间的数据传递可以有很多种...
- 从 Element UI 源码的构建流程来看前端 UI 库设计
-
作者:前端森林转发链接:https://mp.weixin.qq.com/s/ziDMLDJcvx07aM6xoEyWHQ引言由于业务需要,近期团队要搞一套自己的UI组件库,框架方面还是Vue。而业界...
- jq+ajax+bootstrap改了一个动态分页的表格
-
最近在维护一个很古老的项目,里面是用jq的dataTable方法实现一个分页的表格,不过这些表格的分页是本地分页。现在想要的是点击分页去请求数据。经过多次的修改,以失败告终。分页的不准确,还会有这个错...
- 学习ES6- 入门Vue(大量源代码及笔记,带你起飞)
-
ES6学习网站:https://es6.ruanyifeng.com/箭头函数普通函数//普通函数this指向调用时所在的对象(可变)letfn=functionfn(a,b){...
- 青锋微服务架构之-Ant Design Pro 基本配置
-
青锋(msxy)-Gitee.com1、更换AntDesignPro的logo和名称需要修改文件所在位置:/config/defaultSetting.jsconstproSett...
- 大数据调度服务监控平台(大数据调度服务监控平台官网)
-
简介SmartKettle是针对上述企业的痛点,对kettle的使用做了一些包装、优化,使其在web端也能具备基础的kettle作业、转换的配置、调度、监控,能在很大一定程度上协助企业完成不同...
- Flask博客实战 - 实现博客首页视图及样式
-
本套教程是一个Flask实战类教程,html/css/javascript等相关技术栈不会过多的去详细解释,那么就需要各位初学者尽可能的先去掌握这些基础知识,当然本套教程不需要你对其非常精通,但最起码...
- Web自动化测试:模拟鼠标操作(ActionChains)
-
在日常的测试中,经常会遇到需要鼠标去操作的一些事情,比如说悬浮菜单、拖动验证码等,这一节我们来学习如何使用webdriver模拟鼠标的操作首页模拟鼠标的操作要首先引入ActionChains的包fro...
- DCS F-16C 中文指南 16.9ILS仪表降落系统教程
-
10–ILS教程我们的ILS(仪表着陆进近)将到达Batumi巴统机场。ILS频率:110.30跑道航向:120磁航向/126真航向无线电塔频率:131.0001.设置雷达高度表开关打开(前)并...
- 一周热门
- 最近发表
- 标签列表
-
- HTML 教程 (33)
- HTML 简介 (35)
- HTML 实例/测验 (32)
- HTML 测验 (32)
- JavaScript 和 HTML DOM 参考手册 (32)
- HTML 拓展阅读 (30)
- HTML常用标签 (29)
- HTML文本框样式 (31)
- HTML滚动条样式 (34)
- HTML5 浏览器支持 (33)
- HTML5 新元素 (33)
- HTML5 WebSocket (30)
- HTML5 代码规范 (32)
- HTML5 标签 (717)
- HTML5 标签 (已废弃) (75)
- HTML5电子书 (32)
- HTML5开发工具 (34)
- HTML5小游戏源码 (34)
- HTML5模板下载 (30)
- HTTP 状态消息 (33)
- HTTP 方法:GET 对比 POST (33)
- 键盘快捷键 (35)
- 标签 (226)
- HTML button formtarget 属性 (30)
- CSS 水平对齐 (Horizontal Align) (30)