“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

相关文章

SpringBoot项目整合Netty启动失败的常见错误总结

《SpringBoot项目整合Netty启动失败的常见错误总结》本文总结了SpringBoot集成Netty时常见的8类问题及解决方案,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参... 目录一、端口冲突问题1. Tomcat与Netty端口冲突二、主线程被阻塞问题1. Netty启动阻

SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)

《SpringBoot整合Kafka启动失败的常见错误问题总结(推荐)》本文总结了SpringBoot项目整合Kafka启动失败的常见错误,包括Kafka服务器连接问题、序列化配置错误、依赖配置问题、... 目录一、Kafka服务器连接问题1. Kafka服务器无法连接2. 开发环境与生产环境网络不通二、序

在C#中调用Windows防火墙界面的常见方式

《在C#中调用Windows防火墙界面的常见方式》在C#中调用Windows防火墙界面(基础设置或高级安全设置),可以使用进程启动(Process.Start)或Win32API来实现,所以本文给大家... 目录引言1. 直接启动防火墙界面(1) 打开基本防火墙设置(firewall.cpl)(2) 打开高

Python实现繁体转简体功能的三种方案

《Python实现繁体转简体功能的三种方案》在中文信息处理中,繁体字与简体字的转换是一个常见需求,无论是处理港澳台地区的文本数据,还是开发面向不同中文用户群体的应用,繁简转换都是不可或缺的功能,本文将... 目录前言为什么需要繁简转换?python实现方案方案一:使用opencc库方案二:使用zhconv库

Redis中群集三种模式的实现

《Redis中群集三种模式的实现》Redis群集有三种模式,分别是主从同步/复制、哨兵模式、Cluster,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1. Redis三种模式概述2、Redis 主从复制2.1 主从复制的作用2.2 主从复制流程2

MySQL中如何求平均值常见实例(AVG函数详解)

《MySQL中如何求平均值常见实例(AVG函数详解)》MySQLavg()是一个聚合函数,用于返回各种记录中表达式的平均值,:本文主要介绍MySQL中用AVG函数如何求平均值的相关资料,文中通过代... 目录前言一、基本语法二、示例讲解1. 计算全表平均分2. 计算某门课程的平均分(例如:Math)三、结合

Python包管理工具uv下载python版本慢问题解决办法

《Python包管理工具uv下载python版本慢问题解决办法》uv是一个非常快的Python包和项目管理器,用Rust编写,使用热缓存安装Trio的依赖项的速度对比,:本文主要介绍Python包... 目录发现问题对于 MACOS / linux 用户 (zsh/bash):对于 Windows 用户:总

Python包管理工具pip警告WARNING: Ignoring invalid distribution问题解决

《Python包管理工具pip警告WARNING:Ignoringinvaliddistribution问题解决》pip警告通常是由于包安装不完整、损坏或拼写错误引起的,:本文主要介绍Pyt... 目录前言原因分析解决方法方法 1:手动删除无效元数据(推荐)方法 2:自动清理所有无效包验证修复总结 前言w

MyBatis Plus中执行原生SQL语句方法常见方案

《MyBatisPlus中执行原生SQL语句方法常见方案》MyBatisPlus提供了多种执行原生SQL语句的方法,包括使用SqlRunner工具类、@Select注解和XML映射文件,每种方法都有... 目录 如何使用这些方法1. 使用 SqlRunner 工具类2. 使用 @Select 注解3. 使用

JavaScript对象转数组的三种方法实现

《JavaScript对象转数组的三种方法实现》本文介绍了在JavaScript中将对象转换为数组的三种实用方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友... 目录方法1:使用Object.keys()和Array.map()方法2:使用Object.entr