lammps从NVT或者NPT切换到NVE时温度持续上升

LAMMPS-用fix nve一定表示NVE系综的模拟么 最近QQ群里有部分小伙伴,问我关于命令和系综的事情,对命令和系综的理解没有到应有的地步,我记得之前在口说LAMMPS命令系列教程(优酷有视频可免费观看)中强调过此事。下面再说一遍。 首先要声明的是,或者要强调的是:命令和系综没有直接联系,除非你的in文件里只有一个和系综相关的fix. 我们知道,按统计物理的概念来讲,我们常用的模拟系综分NVE(表示系统粒子数、体积、总能量保持不变,是为微正则系综)... 阅读详情
AI摘要

本文探讨了在计算twin-graphene热导率时遇到的温度发散问题,通过分析发现可能源于势能模型的局限。解决方案包括使用更小步长、引入LJ势能替换部分Tersoff势能以及利用fixNVE/limit进行系统控制。

最近,尝试计算twin-graphene的热导率,为了简化,直接先使用石墨烯的tersoff势能进行EMD下热导率的计算,测试发现NVT和NPT下势能表现正常,但是从系统NVT或NPT切换到NVE开始热导率计算时,观测到温度发散,最终材料解体。

针对这个问题,修改了很多计算参数。最终发现原因如下:

猜测可能来源于势能本身的特征,应用于twin graphene这种内部有局域双层的结构时,可能存在部分原子距离急剧变小的情况,势能没有更好的描述,导致原子在分动模拟中,如果步长太大,会有反常的持续加速的结果(类似于原子靠的很近的势能表现),表现就是温度持续上升,除非有温度控制的系综,解决方法有以下:

1.就是使用很小的步长来准确描述势能急剧变化情况下原子的运动,经测试0.1fs步长,温度能够稳定。但是EMD用这个步长计算太耗时间。

2.当然可以选择专门针对相应体系的其他更好的势能模型,不过没有合适势能的情况下,经测试发现可以加入LJ势能,来避免原子太近或势能不合理的地方。但是tersoff和lj无法直接hybrid,一对原子要么采用tersoff,要么采用LJ描述,只能使用一种,因此,需要对晶胞内的原子类型做区分,并修改原来的tersoff势能,将局域双层结构中的上下层原子区分,关掉相应的tersoff部分,用LJ替代,经过测试发现修正后的tersoff势能能够很好的描述twin-graphene这种结构。

3.使用fix NVE/limit也能够回复正常,这个是系综直接控制原子每步偏离不能超过某个临界值,只是对热输运计算的影响需要进一步思考。

lammps 报错总结 ERROR on proc 0: Neighbor list overflow, boost neigh_modify one or page 出现这个错误的直接原因是体系中某些原子的近邻数超过了2000个(除非你使用neigh_modify命令增加了允许的近邻数),而导致这个错误的可能因素有: 初始结构有问题,比如原子分布过于密集。这种情况在一开始就会出错。 截断半径设置的太大了,比如大于10A。可以通过命令neighbor,减小截断半径来解决。 势参数设置有问题,这种情况一般是在运行一些步后才会出错。 阅读详情

相关推荐

lammps教程:nve/nvt/npt系综设置方法

系综是指大量性质和结构完全相同的、处于各种运动状态的、各自独立的系统的集合。 在lammps模拟中,常用的系综有nve、nvt、npt三种系综,下面说说这三种系综的使用方法。 1. nve(微正则系综) nve系综保证系统中原子数量n、体系总体积v和体系总能量e保持不变。 nve系综没有控温的功能,初始条件确定后,在力场的作用下,原子速度发生变化,相应的体系温度发生变化。我们知道,体系总能量e=势能+动能,温度发生变化,动能就会变化,势能和动能相互转换,总能量保持不变。 nve使用方法:

lammps_jiayou的博客 2万+

【lammps】:nve/nvt/npt系综设置方法

nve系综没有控温的功能,初始条件确定后,在力场的作用下,原子速度发生变化,相应的体系温度发生变化。和nvt一样,npt系综通过调节原子速度调控温度,不同的是,npt系综下box的尺寸可以发生变化。nvt和npt系综也可以配合使用,比如,对于比较复杂的模型,可以先进行nvt系综下弛豫,然后再进行npt系综下的弛豫。在lammps模拟中,常用的系综有nve、nvt、npt三种系综,下面说说这三种系综的使用方法。系综的选择没有统一的规则,最好的方法是多读文献,相同的模拟环境下,看看文献中用的是哪种系综。

haoweixl的博客 7066

避免lammps弛豫出错的一个小技巧

fix nve/limit和fix nve命令类似,都是使用nve系综的算法,不同的是fix nve/limit命令可以限制原子在一个timestep内移动的最大距离。基本原理是使用nve算法计算原子的移动距离,当计算出来的原子移动距离超过xmax时,强制把原子移动距离设为xmax。在lammps模拟中,原子的移动速度不能太大,如果在一个timestep内移动距离过大,容易造成模拟出错。取值越大,计算效率越高,重叠度下降的越快,取值越小,计算时间越长,在模拟不出错的前提下,取值越大越好。

lammps_jiayou的博客 5076

Lammps基础命令(2020.3.26.01已更新)

声明 命令以及分析仅限于我在学习过程中涉及到的,细节还是得根据manual来。 小建议:在PDF中添加自己的常用命令标签,方便反复查阅。 常用命令 write_restart:可以保留之前的模拟的group,运算后的原子坐标,速度,温度等信息,但是fix和variable在下次模拟中仍然需要重新声明。配合命令:read_restart. Although the purpose of res...

快乐学术猿 1万+

lammps案例:npt系综练手,H2压缩模拟

上一篇文章中介绍了npt系综的设置方法,本文给出一个lammps模拟氢气压缩的案例,熟悉npt系综的设置方法。 模拟温度300k,压强100GPa,在该条件下,氢气应该为固态。 在MS中建立H2模型,共包含1000个H原子,导出H.car,使用msi2lmp软件转化为H.data文件。 H原子之间作用力使用LJ势描述,H-H键作用力使用harmonic势,具体参数在H.data文件中。 模拟源代码为: #模拟参数设置 variable t equal 300 variable p equal 100000

lammps_jiayou的博客 8169

lammps拉伸初始应力不为零原因及解决办法

npt iso方式下,三个方向同比例调整压力,如果三个方向尺寸不一致,也可能无法消除拉伸方向的应力。这个问题比较常见,在平时一对一指导过程中遇见多次,使用以上方法基本上都能解决初始应力不为零的问题。通常情况下,初始应力为零,以获得准确的应力-应变曲线。有的同学可能会说,明明已经进行了长时间的弛豫,可还是不能解决问题。然而,在某些情况下,模拟得到的初始应力大于零或者小于零。虽然进行了弛豫,但弛豫代码不合理的话,也会出现这种情况。如沿x方向进行拉伸,可单独对x方向进行弛豫。学lammps有问题找小马老师。

lammps_jiayou的博客 2101

LAMMPS降(升)温的几个思路

模拟降温,有大致两种办法,一个是连续(升)降温,也就是dt间隔下不停的温度下降(升);第二种方法是准静态模拟降温,每降低一个温度,跑很长时间;这两种方法大家可以根据自己情况进行模拟。 对于第一种方法,只需要进行fix nvt temp 1000 100 …的设置就行了,降温的快慢,由你run N 的N来决定。 对于第二种方法提供如下思路,也就是使用循环的方法(升温,降温改小参数,+改成-就行啦):...

爱思慕理(iSimuLy) 6651

分子动力学仿真软件:LAMMPS_(6).模拟类型:NVE,NVT,NPT

在实际应用中,有时候需要使用自定义的恒温器和恒压器来更精确地控制系统的温度和压力。LAMMPS 提供了丰富的自定义选项,以下是一个使用自定义 Nose-Hoover 恒温器和恒压器的例子。分子动力学模拟是一种强大的工具,用于研究材料的微观性质和动力学行为。LAMMPS 提供了多种集成器和命令,使用户能够灵活地控制模拟条件。通过合理的设置和优化,可以有效地进行大规模的模拟,获取有价值的数据和结果。

kkchenjj的博客 996

LAMMPS—fix命令超详细解析

文章来源:“分子动力学”公众号 链接:https://mp.weixin.qq.com/s/cCqQxB6HzXdGhe0P1h3ihg fix命令为一组原子施加fix约束。 使用语法 fix ID group-ID style args ID = fix命令的ID group-ID = 该fix命令所作用的原子组的ID style = fix类型名(最下有列表) args = 特定类型fix命令所需要的参数 使用举例 fix 1 all nve fix 3 all nvt temp 300.0 300.0

hdpai2018的博客 1万+

lammps模拟中,控温失败的一个原因及解决方案

大家好,我是小马老师。 最近几天,在咨询中遇到几例控温失败的案例,觉得这类案例具有一定的代表性,和大家分享一下。 在一些lammps模拟中,会设置固定层、恒温层,在控温时,不同的区域设置不同的控温策略。 如固定层速度和受力会设为0(温度肯定也为0),恒温层会设置一个恒温器进行控温。 但是在实际运行过程中,会发现log文件输出的温度要低于设定温度,或者恒温层温度高于设定温度。 出现这种现象的主要原因是忽略了一个细节,在分区域控温时,输出或者设定温度必须指定特定原子组,否则默认的是全部原子温度。 下面以一个案例

lammps_jiayou的博客 1万+

lammps实现逐级升温过程

要实现这种效果,可以把一个升温和恒温过程看成一个小周期,用两个npt和run命令实现,然后再设定循环重复这个周期。在lammps中,nvt或npt控温,只需要设置一个初始温度和终止温度,在运行过程中,温度的变化近似线性。逐级升温如下图所示,先有一个升温过程,达到一定温度后进行一段时间的恒温弛豫,然后重复升温和弛豫过程。温度变化曲线的斜率就是升温或者降温速率。

lammps_jiayou的博客 511

lammps 教程:npt 控温估计 FCC Cu 熔点

LAMMPS 全称为 Large-scale Atomic/Molecular Massively Parallel Simulator,是一种经典的分子动力学仿真代码,专注于材料建模。它旨在在并行计算机上高效运行,并且易于扩展和修改。LAMMPS 最初由美国能源部机构桑迪亚国家实验室开发,现在包括来自许多机构的许多研究小组和个人的贡献。LAMMPS 的大部分资金来自美国能源部 (DOE)。LAMMPS 是根据 GNU 公共许可证版本 2 (GPLv2) 的条款分发的开源软件。

XLionXxxx的博客 824

lammps npt系综iso和aniso控压对比

大家好,我是小马老师。 本文讲解lammps基础命令fix npt设置。 关于系综的设置,前面已经介绍过多次,但在咨询中发现,对于大部分初学者来说,对于系综选择和设置还是有些困惑。 fix npt命令名称就可以看出,它的主要作用是对体系进行控温和控压操作。 npt的控温原理与nvt类似,通过调整原子的速度来调整整个体系的温度。 体系压力的控制则通过调整box的尺寸进行调节,如果体系压力超过设定压力值,会扩大box尺寸,同理,体系压力小于设定压力值,则会缩小box的尺寸。 至于调节哪个方向的尺寸,可以根据需要

lammps_jiayou的博客 8059

lammps代码实例分享

分享在分子动力学模拟中常用的网站,以及简单的lammps代码实例。

qq_44963682的博客 5994

材料仿真软件:Materials Studio_(17).材料性能预测

在Materials Studio中,材料性能预测是通过多种计算模块和方法实现的,包括分子动力学(MD)、密度泛函理论(DFT)、紧束缚方法(TB)、经典势场方法( Classical Force Field)等。多尺度模拟的基本原理是通过将不同尺度的模拟方法结合起来,从微观尺度的原子模拟到宏观尺度的连续介质模拟,逐步提高研究的尺度和精度。多尺度模拟的基本原理是通过将不同尺度的模拟方法结合起来,从微观尺度的原子模拟到宏观尺度的连续介质模拟,逐步提高研究的尺度和精度。

kkchenjj的博客 1517

LAMMPS非平衡分子动力学 (NEMD) 纳米线热导率教程—一个代码循环计算不同温度和尺寸

前言 热力学性质的不均匀性导致的过程为运输过程,温度的不均匀性下的能量运输为热传导现象。显然,热传导是和材料的尺寸和系统处于的环境温度有关。 那么如何根据Lammps循环获得不同温度、不同尺寸下的热导率呢? 一、平衡态!?什么是非平衡态? 将一个系统置于两个温度不同的热源之间,最终会在系统内建立一个稳定的 (不随时间变化的) 温度分布。我们说这样的系统处于一个稳态,但不处于一个平衡态。稳态和平衡态都是不依赖与时间的,但前者属于非平衡态。 二、物理模型 以 ArgonArgonArgon 为例,我们选择

Rockyoung 1万+
上一篇: cmake安装LAMMPS增加MOLECULE等package
下一篇: 用make安装LAMMPS-29Aug24版本使用gcc-13会报错
odin_linux
博客等级 码龄8年 93粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值