“atoms are time integrated more than once”积分重复警告,常见三种原因及解决办法

本文主要是介绍“atoms are time integrated more than once”积分重复警告,常见三种原因及解决办法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

大家好,我是小马老师。
本文介绍lammps in文件编写过程中一个常见的错误:重复积分。
分子动力学模拟的主要运算是原子的积分运算,通过求解积分方程得到原子的受力以及计算原子的速度,从而得出下一时刻原子的位置和状态。
原子的积分体现到代码中就是fix nve/nvt/npt等系综的设置,有些fix命令也自带积分运算,如fix move等命令。
原子不设置系综,就不会参与积分方程的求解,最明显的现象是在模拟过程中,原子是静止的。
但原子也不能设置多个系综,如果设置两个以上的系综,要参与两次积分运算,很明显是错误的。
此时,lammps会给出多重积分设置警告:
在这里插入图片描述

常见重复积分设置错误有以下几种:
(1)分层设置系综
有牛顿层、固定层、恒温层等不同层的模拟体系中,分层系综设置不当,容易造成积分设置重复。
如:

fix 1 all nve
fix 2 mobile nvt temp 300 300 0.1

以上代码中,all原子组包含mobile原子组,因此,mobile组被设置了nve和nvt两个系综。
(2)分阶段设置,忘记取消上一个系综。
用不同的系综进行分阶段弛豫,在一个弛豫阶段完成进入下一个阶段时,忘记取消上一个系综,同样会造成积分重复。

#1 npt弛豫
fix 1 all npt temp 300 300 0.1 iso 0 0 1
run 10000
#2 nvt弛豫
fix 2 all nvt temp 300 300 0.1
run 10000

在npt弛豫后,没有使用unfix 1命令,直接设置fix nvt,会造成npt和nvt同时起作用。
(3)使用带有积分功能的命令
上面两种错误相对比较明显,稍微细心一些完全可以避免,但是下面这种情况却不容易发现。
如:

fix 1 all nvt temp 300 300 0.1
fix 2 top move linear 0 0 -1

在nvt系综下设置top组沿z轴向下移动,看似正常,但是代码是有问题的。
因为fix move命令自身带有积分功能,top组不能再设置nvt系综,正确的做法是把top组之外的原子设置为mobile组,代码更改为:

fix 1 mobile nvt temp 300 300 0.1
fix 2 top move linear 0 0 -1

只要log文件给出了系综重复设置警告,一定要检查in文件代码,解决掉这个警告,否则计算结果肯定是错误的。

公众号:lammps加油站

这篇关于“atoms are time integrated more than once”积分重复警告,常见三种原因及解决办法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/342292

相关文章

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

poj2406(连续重复子串)

题意:判断串s是不是str^n,求str的最大长度。 解题思路:kmp可解,后缀数组的倍增算法超时。next[i]表示在第i位匹配失败后,自动跳转到next[i],所以1到next[n]这个串 等于 n-next[n]+1到n这个串。 代码如下; #include<iostream>#include<algorithm>#include<stdio.h>#include<math.

poj3261(可重复k次的最长子串)

题意:可重复k次的最长子串 解题思路:求所有区间[x,x+k-1]中的最小值的最大值。求sa时间复杂度Nlog(N),求最值时间复杂度N*N,但实际复杂度很低。题目数据也比较水,不然估计过不了。 代码入下: #include<iostream>#include<algorithm>#include<stdio.h>#include<math.h>#include<cstring

【测试】输入正确用户名和密码,点击登录没有响应的可能性原因

目录 一、前端问题 1. 界面交互问题 2. 输入数据校验问题 二、网络问题 1. 网络连接中断 2. 代理设置问题 三、后端问题 1. 服务器故障 2. 数据库问题 3. 权限问题: 四、其他问题 1. 缓存问题 2. 第三方服务问题 3. 配置问题 一、前端问题 1. 界面交互问题 登录按钮的点击事件未正确绑定,导致点击后无法触发登录操作。 页面可能存在

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

Solr 使用Facet分组过程中与分词的矛盾解决办法

对于一般查询而言  ,  分词和存储都是必要的  .  比如  CPU  类型  ”Intel  酷睿  2  双核  P7570”,  拆分成  ”Intel”,”  酷睿  ”,”P7570”  这样一些关键字并分别索引  ,  可能提供更好的搜索体验  .  但是如果将  CPU  作为 Facet  字段  ,  最好不进行分词  .  这样就造成了矛盾  ,  解决方法

ORACLE 11g 创建数据库时 Enterprise Manager配置失败的解决办法 无法打开OEM的解决办法

在win7 64位系统下安装oracle11g,在使用Database configuration Assistant创建数据库时,在创建到85%的时候报错,错误如下: 解决办法: 在listener.ora中增加对BlueAeri-PC或ip地址的侦听,具体步骤如下: 1.启动Net Manager,在“监听程序”--Listener下添加一个地址,主机名写计

Anaconda 中遇到CondaHTTPError: HTTP 404 NOT FOUND for url的问题及解决办法

最近在跑一个开源项目遇到了以下问题,查了很多资料都大(抄)同(来)小(抄)异(去)的,解决不了根本问题,费了很大的劲终于得以解决,记录如下: 1、问题及过程: (myenv) D:\Workspace\python\XXXXX>conda install python=3.6.13 Solving environment: done.....Proceed ([y]/n)? yDownloa

JVM 常见异常及内存诊断

栈内存溢出 栈内存大小设置:-Xss size 默认除了window以外的所有操作系统默认情况大小为 1MB,window 的默认大小依赖于虚拟机内存。 栈帧过多导致栈内存溢出 下述示例代码,由于递归深度没有限制且没有设置出口,每次方法的调用都会产生一个栈帧导致了创建的栈帧过多,而导致内存溢出(StackOverflowError)。 示例代码: 运行结果: 栈帧过大导致栈内存

学习记录:js算法(二十八):删除排序链表中的重复元素、删除排序链表中的重复元素II

文章目录 删除排序链表中的重复元素我的思路解法一:循环解法二:递归 网上思路 删除排序链表中的重复元素 II我的思路网上思路 总结 删除排序链表中的重复元素 给定一个已排序的链表的头 head , 删除所有重复的元素,使每个元素只出现一次 。返回 已排序的链表 。 图一 图二 示例 1:(图一)输入:head = [1,1,2]输出:[1,2]示例 2:(图