在lammps模拟中常用的模拟设置
文章目录
- 1.不同原子类型的data文件比较
- 2.region命令中如何选择合适的单位
- 3.如何给分子建立分组
- 4.如何将正交box转为斜交box
- 5.如何实现工件的旋转模拟
- 6.常用的刚体、固定及弹簧连接模拟
- 7.如何除去两原子间的受力
- 8.列举几种常用的速度设置方法
- 9.在蒸发模拟中如何动态地删除原子
- 10.防原子漂移、原子的平动振动模拟
- 11.如何模拟恒定电场及交变电场
1.不同原子类型的data文件比较
1.full类型
full类型对应的原子信息分别为:原子ID(atom-ID) 分子ID(molecule-ID) 原子类型(atom-type) 电荷(q) x坐标(x) y坐标(y) z坐标(z) nx ny nz。nx、ny、nz为可选项,主要用于周期性原子定位。
2.charge类型
原子信息主要包括:原子ID(atom-ID) 原子类型(atom-type) 电荷(q) x坐标(x) y坐标(y) z坐标(z)。
3.atomic类型
原子信息仅需要:原子ID(atom-ID) 原子类型(atom-type) x坐标(x) y坐标(y) z坐标(z)。
4.类型转换
full类型转换为charge类型,删除分子ID和nx、ny、nz即可。
full类型转换为atomic类型,删除分子ID、电荷q和nx、ny、nz即可。
2.region命令中如何选择合适的单位
(1)建模时优先选择units lattice(不写units,默认lattice)
使用晶格常数来设置box尺寸能够保证模型的周期性,防止原子重叠。
(2)模型建好后尽量用units box
在lammps中建好box或者已经填充完原子后,之后可能会用region命令来划分边界层、牛顿层等区域,用units box可以更加精准的设置尺寸。
(3)读取data文件后用units box
模型通过read_data直接读取后,in文件中基本不会再设置lattice命令,没有指定的晶格常数的情况下用units box。
3.如何给分子建立分组
group ID include molecule
# 将原子添加组中,添加的原子和组中的原子的分子ID相同。# 将水分子归为H20组
group H2O type 1 #将O原子(type 1)定义为H2O组
group H2O include molecule #将水分子中与O原子为同一分子的其他原子归入同一H2O组# 将氧化石墨烯归入GO组
group GO type 3 #将C原子(type 3)定义为GO组
group GO include molecule #将氧化石墨烯其他的原子归入GO组
4.如何将正交box转为斜交box
大多数的lammps模拟在正交box中进行的,xyz轴的夹角90°,并且模拟过程中坐标轴的夹角不会变化。但在相变、剪切的模拟过程中,需要坐标轴的夹角发生变化,这就要用到斜交(triclinic)box。
1.使用change_box命令
# 正交转斜交box
change_box all triclinic# 斜交转正交box
change_box all ortho
2.修改data文件
在data文件的box尺寸区域,在zlo zhi的后边添加一行斜交数据:0.0 0.0 0.0 xy xz yz
正交转斜交一般不会出错,但是斜交转正交容易导致原子跑到box的外边,在转换前可提前扩大box尺寸。
5.如何实现工件的旋转模拟
在扭转、抛光等lammps模拟中,需要设置工件的旋转动作。
fix move rotate:
fix ID group-ID move rotate Px Py Pz Rx Ry Rz period
# gruop-ID 原子组ID
# Px Py Pz旋转轴上某点坐标,为球心或者圆柱中心轴上的任意一点坐标
# Rx Ry Rz 旋转轴矢量,符合右,手法则,如Z轴正方向(0,0,1)
# period 旋转周期,单位为体系的时间单位,周期越小,旋转速度越快
同一组原子的fix move命令不能与系综同时设置,否则会造成模拟出错。
# 以z轴为正方向,逆时针旋转
fix 1 ball move rotate 0 0 0 0 0 1 10 units box
# 顺时针旋转
fix 1 ball move rotate 0 0 0 0 0 -1 10 units box
# 周期增大,旋转速度变慢
fix 1 ball move rotate 0 0 0 0 0 1 50 units box
6.常用的刚体、固定及弹簧连接模拟
“刚体”和“固定”的原子结构,原子之间的间距保持相对固定。但是**“刚体”可以移动**,“固定”的结构静止不动;“刚体”可以具有一定的温度,“固定”的原子温度为0K。对“刚体”可以设置系综,进行控温控压,但是“固定”的原子不能具有温度,否则原子会有移动速度,产生移动。
1.“刚体”设置fix rigid
fix 1 tool rigid single
# 将刀具tool原子组设为刚体,single整个原子组视为一个刚体fix 1 all rigid/small molecule
# 体系内分子设为刚体,rigid/small适用于大量小刚体系统,molecule将相同分子ID的原子设为一个刚体fix 1 all group N gruop1 gruop2 ...
# 将N个原子设为刚体
2.“固定”设置
velocity fixed set 0 0 0 #fixed原子组速度设为0
fix 1 fixed setforce 0 0 0 #fixed原子组受力为0
3.使用弹簧连接两个原子组,fix spring
fix ID group-ID spring couple group-ID2 K x y z R0
# group-ID group-ID2:被连接的两个原子组
# K:弹簧系数,单位force/distance
# x y z:两个原子组质心间的初始距离
# R0弹簧的平衡距离
7.如何除去两原子间的受力
在某些情况下,不需要计算原子对之间的受力:
1.在裂纹扩展模拟中,排除裂纹两侧原子之间的受力可有效地产生裂纹,防止裂纹在弛豫时消失。
2.含有固定边界的体系,排除固定边界原子之间的受力,可加快模拟运行速度。
3.含有刚体的体系,排除刚体原子之间的受力,起到加快运算的作用。
排除原子对之间受力最简单的方式把原子从其邻居列表删除。
neigh_modify exclude type i j
#去除类型i和类型j原子之间的受力
neigh_modify excule group group-ID1 group-ID2
#去除两组原子之间的受力
8.列举几种常用的速度设置方法
1.velocity
velocity set命令设置原子组的初始移动速度。
velocity top set 0 0 1 units box # 设置top组原子沿Z轴移动实现拉伸
velocity命令只是重置top原子组的初始速度,必须设置fix nve/npt/nvt等系综才能使原子真正移动。
2.fix move
fix move命令同样可以设置原子组一个速度,但是该命令可以使原子组按设定的速度匀速移动。
fix 1 top move linear 0 0 1 units box
# linear以恒定速度运动,top组原子沿Z轴移动
fix move命令是一个积分命令,top不用再设置nve/npt/nvt等系综,否则会造成积分混乱。
3.fix gravity
fix gravity命令设置一个加速度,在运动过程中不断变化运动速度。设Z方向的加速度为100:
fix 1 top gravity 100.0 vector 0 0 1
# 加速度100,给定方向(0 0 1)
# 该命令常用于自由落体
9.在蒸发模拟中如何动态地删除原子
fix evaporate 命令
fix ID group-ID evaporate N M region-ID seed
# group-ID:原子组id
# N:步数,每N步执行一次删除原子的操作
# M:每次删除的原子数
# region-ID:删除原子的区域,进入该区域的原子才能被删除
# seed:随机删除,随机数种子fix 2 all evaporate 100 10 top 49895
#每100步删除在top区域内的10个原子
10.防原子漂移、原子的平动振动模拟
1.fix recenter命令控制原子组的重心固定在某点。
fix ID group-ID recenter x y z
# 使原子组重心固定在坐标点(x,y,z)
# INIT表示原子初始位置,NULL表示该方向不固定原子组fix 2 left recenter INIT INIT INIT
# 左侧原子组保持重心不变
2.fix move命令控制原子的移动和转动,也可以设置一个随时间变化的variable变量来设置原子的运动方式。
fix ID group-ID move variable v_dx v_dy v_dz v_vx v_vy v_vz
# v_dx v_dy v_dz控制原子位移,v_vx v_vy v_vz控制原子速度,若不需单独控制,则为NULL# 设沿x方向平移,同时沿z轴上下振动(正弦或余弦函数)
variable x equal "2*step*dt" #step时间步数,dt时间步长
variable A equal 20.0
variable T equal 5.0
variable omega equal 3.0*PI/$T
variable z equal swiggle(0.0,$A,$T) #swiggle sin()函数,初值0.0,振幅A,周期T,A*sin(2PI/T *(timestep-startstep)*dt)
fix 1 ball move variable v_x NULL v_z NULL NULL NULL units box
11.如何模拟恒定电场及交变电场
fix efield命令
fix ID group-ID efield ex ey ez
# ex ey ez为x y z 三个方向的电场分量
# 添加电场后,体系内带电荷的原子会受到一个附加电场力F(F=q*E,电场强度,metal和real单位下,E单位 volts/Angstrom)
应用案例:
#设置某方向的恒定电场
fix 1 exeternal-field efield 1.0 0.0 0.0 #x方向#设置某个区域的电场
fix 1 exeternal-field efield 1.0 0.0 0.0 region top #top区域#设置可变电场
variable e equal E0*sin(2*Pi*f*t) #电场强度,对时间变化
fix 1 exeternal-field efield 0.0 0.0 v_e
在lammps模拟中常用的模拟设置相关推荐
- edius软件中常用工程的设置 千万别搞错视频场
http://blog.sina.com.cn/s/blog_51b13e780101j2gp.html 剪辑软件是剪辑师的工具,工具怎么用首先要看你用来做什么.在分享edius6的工程设置之前我.先 ...
- 第1节 yarn:15、关于yarn中常用的参数设置
第一个参数:container分配最小内存 yarn.scheduler.minimum-allocation-mb 1024 给应用程序container分配的最小内存 第二个参数:co ...
- 教师资格证考试备考资料大合集(历年真题+常用考点+模拟试题+面试),共460份,987M,附件中为网盘链接
教师资格证考试备考资料大合集(历年真题+常用考点+模拟试题+面试),共460份,987M,附件中为网盘链接. 下载地址:https://download.csdn.net/download/mengc ...
- aspen中再沸器模拟_【单元操作001】再沸器第一波·Aspen Plus中的再沸器设置
蒸馏操作是通过汽化.冷凝达到提浓的目的,加热汽化主要通过再沸器来完成,相对而言,精馏塔的再沸器种类较多,选择时要考虑的因素也比较多.这一系列的文章,小编试图通过流程模拟.再沸器排布.再沸器类型及在工程 ...
- lammps和atomsk中常用的建模方法
文章目录 1.Atomsk生成刃型位错 2.Atomsk生成任意角度晶界 3.Atomsk生成孪晶 4.Atomsk生成非晶 5.合金多晶结构建模 6.Atomsk建立管道类模型 7.Atomsk建立 ...
- 用c语言模拟实现常用字符串函数
目录 一.常用字符串函数介绍 1.strlen 2. strcpy 3.strcmp 4.strcat 5.strstr 二.模拟实现常用字符串函数 1.strlen 2.strcpy 3.strcm ...
- Lammps中常用的势函数和晶体库资源收集
关注 Mr.material,\color{Violet} \rm Mr.material\ ,Mr.material , 更\color{red}{更}更多\color{blue}{多}多精\col ...
- pythonrequests发送数据_在python中使用requests 模拟浏览器发送请求数据的方法
在python中使用requests 模拟浏览器发送请求数据的方法 如下所示: import requests url='http://####' proxy={'http':'http://#### ...
- lstm原文_LSTM模型与水文模型在径流模拟中的比较
学术简报 题目:Comparison of Long Short Term Memory Networks and the Hydrological Model in Runoff Simulatio ...
最新文章
- win10 php mysql_win10 下 apache php mysql 开发环境安装
- 从Web2.0到Enterprise 2.0(三)Enterprise 2.0的三个方向
- 李宏毅深度学习——第一天
- P2633-Count on a tree【主席树,LCA】
- Delphi 自带的 Base64 编解码函数
- 用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。...
- 中小企业信息管理 巧用E-Cell
- oppo手机解锁_手机解锁新风尚,OPPO的光域屏幕指纹技术又是哪根儿葱
- 论文笔记_S2D.75_2021-CoRL_TANDEM_基于深度多视图立体视觉的实时跟踪和稠密建图
- DBCP数据库连接失效的解决方法(Io 异常:Connection reset)
- 关于Git小乌龟的安装及简单使用
- 在火狐浏览器里怎么看请求头
- 课程设计每日总结0819
- 网页中MP4视频格式要求
- 主题目录检索是什么举例子_文献检索复习
- 【话题:工作生活】2021年工作总结--这些人,那些事。
- 台币 日元 没有小数位问题_SAP刘梦_新浪博客
- vue 封装饿了么文件上传组件实现图片上传
- 通用mapper 根据条件修改、查询
- 推荐算法_CIKM-2019-AnalytiCup 冠军源码解读_2