lammps建模_lammps修改盒子大小-程序员宅基地

技术标签: 分子模拟  材料计算  lammps  

大家都清楚,在用lammps进行模拟计算前,建模这个步骤是必不少的。

总的来讲,我们可以通过两种方法来完成建模操作。一是通过lammps的命令建模;二是通过外部的程序建模,然后用lammps的read_data 命令将模型读入。

lammps命令建模的主要步骤可以描述为:

用units 命令定义单位

lattice 命令定义单胞

region以及create_box命令定义区域和创建盒子

create_atoms 命令创建原子

今天我主要详细讲解lattice命令的语法:

lattice style scale keyword values …

style可以是 none, sc, bcc, fcc, hcp, diamond, sq,sq2, hex 或者 custom

scale是style选项下的参数,比如(当units ≠ lj 时)style填bcc, 那么scale就填体心立方的晶格常数a0的值(当 units 为lj 时,这里的scale就是电子密度值,使用其他units时,scale都是晶格常数)。

需要注意的是,当指定了 lattice的scale之后,位于lammps输入脚本中关于长度的值,其单位就是scale(表示几倍scale长)。

零个或更多个 keyword/value 键值对可以被添加

keyword可指定为 origin, orient, spacing, a1, a2, a3或者 basis

对于所建立的晶胞,我们都可以进行平移origin和旋转orient操作

origin 配对的值是三个数字 (x y z) 意思是对单位晶胞里的所有原子的整体平移量,单位晶胞的楞长默认为1,x,y,z的值为偏移量和棱长的比值(0 <= x,y,z <1),缺省值为(0 0 0)。为了便于后续分析,以及避免建模边界原子重合,我们一般会给一个比较小的偏移量(0.1 0.1 0.1).

orient 作用是旋转晶胞方向。盒子默认方向为(x 0 0 1) (y 0 1 0) (z 0 0 1),可以认为orient命令将晶胞的指定晶向旋转至模拟盒子的三条坐标轴,然后将晶胞在盒子里重新排布。orient配对的值格式为 dim i j k,其中dim的值是字母 ‘x’ , ‘y’ 或者’z’,表示空间的三条轴。i j k 为该轴指向向的晶向,其值为整数,例如“orient x 2 1 0” 意思是旋转过后模拟盒子的x轴将会指向 [210] 晶向。三个方向要求满足正交以及右手定则。做旋转处理时,盒子原本的周期性不能被保证,如果仍然要保持其周期性,则先建模运行,然后看lammps的屏幕输出lattice spacing in x,y,z后的值,记为sx,sy,sz。然后将建立的模型放到ovito中切片观察,计算出xyz各个方向上的最小排布周期长度,记为slx,sly,slz。他们必须满足如下关系:

sxm1=slxn1

sym2=slyn2

szm3=slzn3

其中m1,2,3以及n1,2,3均为整数,于是取盒子大小为(sxm1 sym2 sz*m3)

旋转操作一般被用来建立不同方向的界面。

spacing配对的值是 dx dy dz,为两个单胞之间的间距

如果我们的style取的是custom,那么我们可以通过a1,a2,a3 和 basis 这两个关键词来指定基矢和单胞里的原子在基矢中的定位

a1,a2,a3 各自配对的值为(x y z)意思是a1 a2 a3这三个基矢的值,用来定义单胞的基矢。缺省值对于三维的sc、fcc、bcc和diamond类型的原子,他们的棱长默认为1个单位,默认的基矢为a1 (1 0 0);a2 (0 1 0);a3 (0 0 1)。hpc类型a1 = 1 0 0;a2 =0 sqrt(3) 0;a3 = 0 0 sqrt(8/3)。

basis 配对的值是(x y z),表示在基矢定义的空间的一个位置,如有多个位置,则定义多个basis

对于三维的sc、fcc、bcc和diamond类型的原子,这些已有的类型不需要指定基矢和basis,但是我们可以用custom的style加上基矢和basis的参数来建立同样的模型。bcc, fcc, sc的基矢为a1 = 1 0 0;a2 = 0 1 0;a3 = 0 0 1,bcc默认basis原子(0 0 0)(0.5 0.5 0.5),fcc的basis (0 0 0)(0 0.5 0.5)(0.5 0.5 0)(0.5 0 0.5), sc 的basis(0 0 0)。hpc类型的基矢a1 = 1 0 0;a2= 0 sqrt(3) 0;a3 = 0 0 sqrt(8/3)。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/aa74159/article/details/106068781

智能推荐

[激光原理与应用-74]:数据采集卡 - 数模转换芯片AD7606_高速数据采集adc-程序员宅基地

文章浏览阅读1.6k次,点赞20次,收藏24次。AD7606是一款由Analog Devices(ADI)公司生产的16通道高速模拟数字转换器(ADC)芯片。该芯片采用了SAR(逐次逼近寄存器)架构,可以将模拟信号转换为数字信号。AD7606具有16个单端/8个差分输入通道,并支持可编程增益放大器和内部参考电压。它的转换速率可高达200 kSPS,并通过串行接口(SPI)与微控制器MCU或数字信号处理器(DSP)进行通信。该芯片具有广泛的应用领域,包括数据采集系统、仪器仪表、工业自动化、医疗设备等。_高速数据采集adc

yolov2训练_[人工智能]Mxyolov3 0.1版本发布,轻松训练K210模型-程序员宅基地

文章浏览阅读6.6k次,点赞13次,收藏73次。Mx-yolov3在过去的一段时间里,收到了许多反馈和BUG,但由于各种原因,很久没有去更新Mx-yolov3;经过几天的修改和改进,新的版本诞生了,我们将它定为1.0版本(你可以在软件界面右下角看到版本号,为了今后能更好的识别软件版本,新版本的软件您可以在“Import 创客”公众号中发送"Mx3"以此来获得下载链接);下面我们就来看看1.0版本做了哪些改进和修复。01改进和修复#增加..._yolov2.tflite 转kmodel

El表达式详解-程序员宅基地

文章浏览阅读105次。EL表达式 1、EL简介1)语法结构 ${expression}2)[]与.运算符 EL 提供.和[]两种运算符来存取数据。 当要存取的属性名称中包含一些特殊字符,如.或?等并非字母或数字的符号,就一定要使用 []。例如: ${user.My-Name}应当改为${user["My-Name"] } ..._el解析

pytorch学习记录_[exception|indice_conv|subm]feat=torch.size([47693-程序员宅基地

文章浏览阅读401次。1、shape与size()print('*' * 100)print('查看数据形状')data1 = torch.randn((7,3,32,32))print("shape:",data1.shape)print("size:",data1.size())查看数据形状shape: torch.Size([7, 3, 32, 32])size: torch.Size([7, 3, 32, 32])2、squeeze与unsqueeze#压缩print('*' * 100)p_[exception|indice_conv|subm]feat=torch.size([47693, 16]),w=torch.size([7, 7,

一个python实现的kline-chart图表程序(一)_python使用kimi chart-程序员宅基地

文章浏览阅读230次。至于MA,MACD,VOL这些应该属于指标,可以从基础数据计算得来或是直接加载,当然可加载的还有其它一些指标,比如买卖点或是直线,射线,线段或是矩形什么的。最好能把这个框架高度模块化,然后想计算什么指标直接加进去,或是做个什么插件,嗯,插件这一块明显还不熟,先做到高度封装的Kline再说。起因是想研究量化交易,然后核查算法的落角点,比如哪些指标的组合可以入场做单,没有一个形象化的工具算法写起来总是感觉差强人意。初步想法是需要一个数据串,里面记录一组开高低收量,然后打开程序后可以将这个基础数据显示成K线。_python使用kimi chart

报错cv2.error: OpenCV(4.1.2) error: (-215:Assertion failed) !_img.empty() in function 'cv::imwrite'-程序员宅基地

文章浏览阅读1.3w次。Traceback (most recent call last):File "D:/FER/FacePP/decode_json.py", line 174, in <module>demonstrate(r'C:\Users\user-pc\Documents\Dataset\FER\JsonFiles\FacePP\BBQNR\S3\angry\13342.jso..._error: (-215:assertion failed) !_img.empty() in function 'cv::imwrite

随便推点

为什么未来的趋势是全栈运营-程序员宅基地

文章浏览阅读453次。感谢关注天善智能,走好数据之路↑↑↑欢迎关注天善智能,我们是专注于商业智能BI,大数据,数据分析领域的垂直社区,学习,问答、求职一站式搞定!全栈的概念起源于全栈工程师,英文Full Stack Developer。指代掌握多种技能,并且能够用这些技能独立完成产品。当我们说就差一个程序员的时候,需要的其实是一位全栈工程师。可能你已经理解我说的全栈运营的概念,全栈运营即运营多...

Kafka源码调试(二):编写简单测试客户端程序,以及发送事务消息的日志留档_kafka日志输出发送的消息-程序员宅基地

文章浏览阅读358次。1. 写一个测试客户端,采用流式应用的典型 “consume-transform-produce” 模式2. 记录 Kafka broker 节点日志,客户端日志等用于后续文章参照对比_kafka日志输出发送的消息

Android12 MTK平台 禁用SCTP协议_android sntp 禁用-程序员宅基地

文章浏览阅读831次,点赞22次,收藏23次。【代码】Android12 MTK平台 禁用SCTP协议。_android sntp 禁用

2022 年 MathorCup 高校数学建模挑战赛——大数据竞赛赛道 赛道 B:北京移动用户体验影响因素研究_影响客户语音业务和上网业务满意度的主要因素-程序员宅基地

文章浏览阅读543次,点赞4次,收藏5次。详细介绍采用信息增益率、XGBoost、随机森林综合筛选特征。_影响客户语音业务和上网业务满意度的主要因素

哈夫曼码编/译码系统-程序员宅基地

文章浏览阅读991次,点赞22次,收藏24次。编写一个哈夫曼码的编/译码系统,实现对输入的文本信息自动统计并依此为依据建立一个哈夫曼码的编/译码系统。

Revisiting Salient Object Detection: Simultaneous Detection, Ranking, and Subitizing of Multiple Sal_salient object ranking-程序员宅基地

文章浏览阅读1.2k次,点赞2次,收藏3次。问题:作者认为,显著性目标检测领域迄今为止的工作解决的是一个相当病态的问题。即不同的人对于什么是显著性目标没有一个普遍的一致意见。这意味着一些目标会比另一些目标更加显著,并且不同的显著性目标中存在着一个相对排名。本文方法:本文方法解决了考虑了相对排名这个更普遍的问题,并且提出了适合于衡量该问题的数据与度量方法,本文解决方案是基于相对显著性和分段式细化的分层表示的深度网络。该网络也可以解..._salient object ranking