“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

相关文章

解决1093 - You can‘t specify target table报错问题及原因分析

《解决1093-Youcan‘tspecifytargettable报错问题及原因分析》MySQL1093错误因UPDATE/DELETE语句的FROM子句直接引用目标表或嵌套子查询导致,... 目录报js错原因分析具体原因解决办法方法一:使用临时表方法二:使用JOIN方法三:使用EXISTS示例总结报错原

MySQL深分页进行性能优化的常见方法

《MySQL深分页进行性能优化的常见方法》在Web应用中,分页查询是数据库操作中的常见需求,然而,在面对大型数据集时,深分页(deeppagination)却成为了性能优化的一个挑战,在本文中,我们将... 目录引言:深分页,真的只是“翻页慢”那么简单吗?一、背景介绍二、深分页的性能问题三、业务场景分析四、

nginx 负载均衡配置及如何解决重复登录问题

《nginx负载均衡配置及如何解决重复登录问题》文章详解Nginx源码安装与Docker部署,介绍四层/七层代理区别及负载均衡策略,通过ip_hash解决重复登录问题,对nginx负载均衡配置及如何... 目录一:源码安装:1.配置编译参数2.编译3.编译安装 二,四层代理和七层代理区别1.二者混合使用举例

Java 方法重载Overload常见误区及注意事项

《Java方法重载Overload常见误区及注意事项》Java方法重载允许同一类中同名方法通过参数类型、数量、顺序差异实现功能扩展,提升代码灵活性,核心条件为参数列表不同,不涉及返回类型、访问修饰符... 目录Java 方法重载(Overload)详解一、方法重载的核心条件二、构成方法重载的具体情况三、不构

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Python中反转字符串的常见方法小结

《Python中反转字符串的常见方法小结》在Python中,字符串对象没有内置的反转方法,然而,在实际开发中,我们经常会遇到需要反转字符串的场景,比如处理回文字符串、文本加密等,因此,掌握如何在Pyt... 目录python中反转字符串的方法技术背景实现步骤1. 使用切片2. 使用 reversed() 函

MySQL 中的 CAST 函数详解及常见用法

《MySQL中的CAST函数详解及常见用法》CAST函数是MySQL中用于数据类型转换的重要函数,它允许你将一个值从一种数据类型转换为另一种数据类型,本文给大家介绍MySQL中的CAST... 目录mysql 中的 CAST 函数详解一、基本语法二、支持的数据类型三、常见用法示例1. 字符串转数字2. 数字

MySQL中查找重复值的实现

《MySQL中查找重复值的实现》查找重复值是一项常见需求,比如在数据清理、数据分析、数据质量检查等场景下,我们常常需要找出表中某列或多列的重复值,具有一定的参考价值,感兴趣的可以了解一下... 目录技术背景实现步骤方法一:使用GROUP BY和HAVING子句方法二:仅返回重复值方法三:返回完整记录方法四:

Python中win32包的安装及常见用途介绍

《Python中win32包的安装及常见用途介绍》在Windows环境下,PythonWin32模块通常随Python安装包一起安装,:本文主要介绍Python中win32包的安装及常见用途的相关... 目录前言主要组件安装方法常见用途1. 操作Windows注册表2. 操作Windows服务3. 窗口操作

ModelMapper基本使用和常见场景示例详解

《ModelMapper基本使用和常见场景示例详解》ModelMapper是Java对象映射库,支持自动映射、自定义规则、集合转换及高级配置(如匹配策略、转换器),可集成SpringBoot,减少样板... 目录1. 添加依赖2. 基本用法示例:简单对象映射3. 自定义映射规则4. 集合映射5. 高级配置匹