分子模拟||常见计算任务流程梳理:平衡态计算、非平衡态计算及复杂流程模拟
无论是做第一性原理还是分子模拟计算,我们都是为了实现一定的目的。分子模拟可以计算的内容很多,为了实现不同的目的,需要选择合适的流程、系综等,今天为大家介绍一些分子模拟的常见任务流程。
01
平衡态计算
有时候我们需要研究不同温压条件下模拟体系内的局域结构(RDF、CN等)、简单热力学性质(密度、比热等)。
对于平衡态的计算,通常任务流程为:构建合理的初始结构—设定合适的力场参数—Minimization—NVT—NPT—NVT(采样)—数据后处理—绘图。
# Simulation details
units real
dimension 3
boundary p p p
atom_style full
pair_style lj/cut/tip4p/cut 1 2 1 1 0.1546 10 8.5
bond_style harmonic
angle_style harmonic
# 构建合适的初始结构
read_data model.data
# 设定合适的力场参数
pair_coeff 1 1 0.1852 3.1589
pair_coeff 1 2 0 0
pair_coeff 2 2 0 0
bond_coeff 1 527 0.9572
angle_coeff 1 37.95 104.52
group water type 1 2
velocity all create 298 123456 mom yes rot yes dist gaussian units box
thermo 100
thermo_style custom step temp press vol etotal ke pe
# 能量最小化
minimize 1.0e-4 1.0e-6 1000 10000
# NVT
fix 1 water shake 1.0e-4 200 0 b 1 a 1
fix 2 nvt temp 298 298 100
run 50000
unfix 2
# NPT
fix 3 npt temp 298 298 100 iso 10 10 1000
run 50000
unfix 3
# NVT, sampling
fix 4 nvt temp 298 298 100
run 50000
write_data H2O.data
02
非平衡态计算
在一些特殊的情况,需要对体系施加外力(电场、磁场等),使得体系随时间不断变化,我们称之为非平衡态计算。
这里以RNEMD方法计算粘度为例介绍其基本流程:构建合理的初始结构—设定合适的力场参数—Minimization—NVT—NPT—NVE(fix viscosity,采样)—数据后处理—绘图。
图2中1-41行与平衡态计算一致,特别注意44-47行。其中44-45行对模拟体系进行分层,共等分为1/0.05=20层,并记录了每一层x方向速度;46行fix viscosity执行RNEMD算法,详情见链接:
https://docs.lammps.org/fix_viscosity.html;
47行对动力学进行积分,更新原子坐标与速度。计算完成后,从lammps的log文件内获取动量交换量,从velocity_profile.dat文件获取体系速度分布;
根据公式进行计算得出:
# Simulation details
units real
dimension 3
boundary p p p
atom_style full
pair_style lj/cut/tip4p/cut 1 2 1 1 0.1546 10 8.5
bond_style harmonic
angle_style harmonic
# 构建合适的初始结构
read_data model.data
# 设定合适的力场参数
pair_coeff 1 1 0.1852 3.1589
pair_coeff 1 2 0 0
pair_coeff 2 2 0 0
bond_coeff 1 527 0.9572
angle_coeff 1 37.95 104.52
group water type 1 2
velocity all create 298 123456 mom yes rot yes dist gaussian units box
thermo 100
thermo_style custom step temp press vol etotal ke pe
# 能量最小化
minimize 1.0e-4 1.0e-6 1000 10000
# NVT
fix 1 water shake 1.0e-4 200 0 b 1 a 1
fix 2 nvt temp 298 298 100
run 50000
unfix 2
# NPT
fix 3 npt temp 298 298 100 iso 10 10 1000
run 50000
unfix 3
# NVE, RNEMD方法计算粘度
compute layers all chunk/atom bin/1d z center 0.05 units reduced
fix 4 all ave/chunk 20 50 1000 layers vx file velocity_profile.dat
fix 5 all viscosity 100 x z 20
fix 6 nve
variable dVx equal f_4[11][3]-f_4[1][3]
thermo 1000
thermo_style custom step temp press etotal v_dVx f_5
run 500000
03
更复杂的情况
复杂的模拟可以被拆解为几个部分,无非也是选择合适的系综,对体系部分原子进行一定的限制。以圆锥形SiC磨粒磨削单晶Si为例,模拟流程为:
(1)建模:单晶硅分为三个区域:边界区、恒温区、牛顿区。磨粒为圆锥形,材料为SiC。
(2)模拟初始化,固定边界原子,设置磨粒原子为刚性原子。
(3)能量最小化,对系统进行弛豫,使体系能量达到最低。
(4)设置恒温区温度为300K。
(5)设置系综,设置磨粒移动方向和速度。
(6)输出轨迹文件、输出三个方向受力。
以上是常见的分子模拟计算任务流程,具体案例说明见下期分享~
分子模拟||常见计算任务流程梳理:平衡态计算、非平衡态计算及复杂流程模拟相关推荐
- K2 BPM_从流程梳理到落地,为企业打造流程管理闭环_全业务流程管理专家
很多企业在进行流程管理体系建设的过程中,往往急于求成,还没有理清楚要"做什么"和"怎么做",就开始大刀阔斧地进行改革优化.管理目标.建设标准的不统一,使得体系建 ...
- 流程梳理有什么价值?如何建立高效的流程管理体系?
一般来说,一个流程优化或者流程再造的项目都是动不动几百万的费用,如果再加上流程管理的软件的费用的话,那就更多了,最低也不大会低于100万。很多企业的领导也很疑惑,一个流程咨询项目怎么会要那么多钱呢? ...
- python科学计算基础教程pdf下载-Python科学计算基础教程_PDF电子书
因资源下载地址容易失效,请加微信号359049049直接领取,直接发最新下载地址. 前言 ======================================================= ...
- 单目ORB-SLAM流程梳理
单目ORB-SLAM 刚刚完成高博<视觉SLAM十四讲>的第一遍学习,读了单目SLAM比较有代表性的ORB-SLAM的文章,结合B站泡泡机器人冯兵老师的分享,对单目ORB-SLAM的流程做 ...
- 广告营销场景下的隐私计算实践:阿里妈妈营销隐私计算平台SDH
一.概览 随着全球主要市场陆续出台个人信息保护政策,互联网生态中的数据安全和用户隐私保护问题变得越发重要且日趋严格. 如何在营销场景下安全合规的使用数据,维护在线广告商业模型的核心运作,成为当下广告生 ...
- HEVC帧间预测流程梳理
HEVC帧间预测流程 前言:最近在琢磨hevc理论知识,看着那本书绕过去绕过来咋也没把流程想通,去找了师兄说耽误他一分钟,结果叭叭叭了六小时哈哈哈哈. 最后还是感谢师兄给我解答问题,我写这篇文章主要是 ...
- 模型流程梳理和总结v0
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.特征工程 1 构建特征库 - 踩坑大户 1.1 探数据源 1.2 衍生字段 1.3 输出 2 变量筛选 - 踩坑中 ...
- rtklib源码 rtk差分解算,rtkpos和replos函数流程梳理
rtklib源码 rtk差分解算,rtkpos和replos函数流程梳理 rtkpos函数梳理 总体流程 replos函数梳理 replos总体流程 1. 通过satposs函数计算卫星的位置.速度等 ...
- Procella@Youtube 把计算加速玩到极致的实时计算引擎
Procella的应用场景 在youtue内部,在数据分析领域有4个方面的应用场景: 报表和大盘:1000亿数据/天,要求在10ms的延时内完成近实时的计算,主要的计算类型过滤/聚合/set/join ...
最新文章
- 如果要将对象用作Map中的key,需要注意什么
- vue 上传图片 input=file
- linux收发十六进制工具,linux下的十六进制编辑器---wxHexEdit
- 白名单 权限认证方法
- HTML/CSS——子元素相对于父元素固定定位解决方案
- ionic 实现仿苹果手机通讯录搜索功能
- Python 金融数据可视化(两列数据的提取//分别画//双坐标轴//双图//两种不同的图)...
- Java中udp/tcp的发送和接收
- oracle常见sql积累
- StringUtil.isEmpty()和StringUtil.isBlank()的区别
- 组态王与DLT645-2007电能表通讯调试总结
- 从小米智能家居入手,揭秘物联网关键技术
- 社区角色(Kubernetes社区Maintainer是什么角色?)
- 影视寒冬下的影视作品“质检报告”——电视剧篇
- 计算机图形学 -- 光栅图形学扫描线填充多边形[转]
- SwiftUI Mapkit 导航基础教程大全之 MKMapView地图显示并实现导航线路(教程含源码)
- python爬取音乐源码_python3爬取咪咕音乐榜信息(附源代码)
- expected START_TAG or END_TAG not TEXT (position: TEXT seen
- Nova Suspend 和 Pause
- 全志uboot修改_全志固件修改工具全系列
热门文章
- 时间序列及异常检测综述(资料)
- Chrome将已有的插件,打包成crx供其他电脑使用
- Excel自动转曲线图的时PHP,Excel折线图随着数据的插入动态变化,掌握此技能的人不足1﹪!...
- clover UEFI+GUID最简单显核安装黑苹果教程(易懂)
- Oracle数据库,创建表并给表、字段添加注释
- 海淘、跨境电商国际物流对接那些坑
- 第一个安卓应用小程序--浅浅仿照微信发现界面
- 物联16:4 ISO/IEC 14443-3 防冲突、防碰撞算法、Type A、Type B
- 使用一键hidpi脚本二级logo变大,手动定制,支持Monterey
- 基于ros_arduino_bridge的智能小车----下位机篇