文章目录

  • 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模拟中常用的模拟设置相关推荐

  1. edius软件中常用工程的设置 千万别搞错视频场

    http://blog.sina.com.cn/s/blog_51b13e780101j2gp.html 剪辑软件是剪辑师的工具,工具怎么用首先要看你用来做什么.在分享edius6的工程设置之前我.先 ...

  2. 第1节 yarn:15、关于yarn中常用的参数设置

    第一个参数:container分配最小内存 yarn.scheduler.minimum-allocation-mb     1024   给应用程序container分配的最小内存 第二个参数:co ...

  3. 教师资格证考试备考资料大合集(历年真题+常用考点+模拟试题+面试),共460份,987M,附件中为网盘链接

    教师资格证考试备考资料大合集(历年真题+常用考点+模拟试题+面试),共460份,987M,附件中为网盘链接. 下载地址:https://download.csdn.net/download/mengc ...

  4. aspen中再沸器模拟_【单元操作001】再沸器第一波·Aspen Plus中的再沸器设置

    蒸馏操作是通过汽化.冷凝达到提浓的目的,加热汽化主要通过再沸器来完成,相对而言,精馏塔的再沸器种类较多,选择时要考虑的因素也比较多.这一系列的文章,小编试图通过流程模拟.再沸器排布.再沸器类型及在工程 ...

  5. lammps和atomsk中常用的建模方法

    文章目录 1.Atomsk生成刃型位错 2.Atomsk生成任意角度晶界 3.Atomsk生成孪晶 4.Atomsk生成非晶 5.合金多晶结构建模 6.Atomsk建立管道类模型 7.Atomsk建立 ...

  6. 用c语言模拟实现常用字符串函数

    目录 一.常用字符串函数介绍 1.strlen 2. strcpy 3.strcmp 4.strcat 5.strstr 二.模拟实现常用字符串函数 1.strlen 2.strcpy 3.strcm ...

  7. Lammps中常用的势函数和晶体库资源收集

    关注 Mr.material,\color{Violet} \rm Mr.material\ ,Mr.material , 更\color{red}{更}更多\color{blue}{多}多精\col ...

  8. pythonrequests发送数据_在python中使用requests 模拟浏览器发送请求数据的方法

    在python中使用requests 模拟浏览器发送请求数据的方法 如下所示: import requests url='http://####' proxy={'http':'http://#### ...

  9. lstm原文_LSTM模型与水文模型在径流模拟中的比较

    学术简报 题目:Comparison of Long Short Term Memory Networks and the Hydrological Model in Runoff Simulatio ...

最新文章

  1. win10 php mysql_win10 下 apache php mysql 开发环境安装
  2. 从Web2.0到Enterprise 2.0(三)Enterprise 2.0的三个方向
  3. 李宏毅深度学习——第一天
  4. P2633-Count on a tree【主席树,LCA】
  5. Delphi 自带的 Base64 编解码函数
  6. 用SQL语句实现:当A列大于B列时选择A列否则选择B列,当B列大于C列时选择B列否则选择C列。...
  7. 中小企业信息管理 巧用E-Cell
  8. oppo手机解锁_手机解锁新风尚,OPPO的光域屏幕指纹技术又是哪根儿葱
  9. 论文笔记_S2D.75_2021-CoRL_TANDEM_基于深度多视图立体视觉的实时跟踪和稠密建图
  10. DBCP数据库连接失效的解决方法(Io 异常:Connection reset)
  11. 关于Git小乌龟的安装及简单使用
  12. 在火狐浏览器里怎么看请求头
  13. 课程设计每日总结0819
  14. 网页中MP4视频格式要求
  15. 主题目录检索是什么举例子_文献检索复习
  16. 【话题:工作生活】2021年工作总结--这些人,那些事。
  17. 台币 日元 没有小数位问题_SAP刘梦_新浪博客
  18. vue 封装饿了么文件上传组件实现图片上传
  19. 通用mapper 根据条件修改、查询
  20. 推荐算法_CIKM-2019-AnalytiCup 冠军源码解读_2

热门文章

  1. js:fetch在浏览器中发送 HTTP 请求
  2. (原创)VC++ 采集与防采集的较量
  3. php入门级基础语法知识
  4. distinct和group by,效率比较
  5. 联发科P90仍然用落后的A75核心有多少胜算?
  6. FastCGI 介绍
  7. 简要分析最近很热门的魍魉职业
  8. 小企业搭建网站,选择虚拟主机还是云服务器好呢?
  9. ffmpeg基本使用方法
  10. 如何使用Movavi Picverse修复​​模糊图片?