【LAMMPS学习】八、基础知识(3.2)使用chunks计算系统属性

 8. 基础知识

此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各种模拟。

8.1.通用基础知识

8.2. 设置入门

8.3. 分析入门

8.3.1. LAMMPS 的输出(thermo, dumps, computes, fixes, variables

8.3.2.使用chunks计算系统属性 

在 LAMMS 中,“chunks”是原子的集合,由compute chunk/atom 命令定义,该命令将每个原子分配给一个块 ID(或根本不分配给任何块)。块的数量以及块 ID 到原子的分配可以是静态的或随时间变化。 “块”的例子是具有相似值(例如配位数或势能)的分子或空间仓或原子。

每个原子块 ID 可以用作其他两种命令的输入,以计算系统的各种属性:

  • fix ave/chunk

  • any of the compute */chunk commands

这里提供了 4 种与块相关的命令中每一种的简要概述。然后给出了一些示例,说明如何使用块命令计算不同的属性。

Compute chunk/atom command计算块/原子命令:

该计算可以将原子分配给各种样式的块。仅将指定组和可选指定区域中的原子分配给块。以下是一些可能的块定义:

atoms in same molecule 同一分子中的原子

chunk ID = molecule ID
块 ID = 分子 ID

atoms of same atom type
相同原子类型的原子

chunk ID = atom type
块 ID = 原子类型

all atoms with same atom property (charge, radius, etc)
所有具有相同原子属性(电荷、半径等)的原子

chunk ID = output of compute property/atom
chunk ID = 计算属性/atom 的输出

atoms in same cluster 同一簇中的原子

chunk ID = output of compute cluster/atom command
chunk ID = 计算集群/atom命令的输出

atoms in same spatial bin
同一空间仓中的原子

chunk ID = bin ID
块 ID = bin ID

atoms in same rigid body
同一刚体中的原子

chunk ID = molecule ID used to define rigid bodies
chunk ID = 用于定义刚体的分子 ID

atoms with similar potential energy
具有相似势能的原子

chunk ID = output of compute pe/atom
chunk ID = 计算pe/atom的输出

atoms with same local defect structure
具有相同局部缺陷结构的原子

chunk ID = output of compute centro/atom or compute coord/atom command
块 ID = 计算 centro/atom 或 计算 coord/atom 命令的输出

请注意,块 ID 是整数值,因此对于生成浮点值的原子属性或计算,它们将被截断为整数。您还可以在变量中使用计算来缩放浮点值以将其分布在多个整数上。

空间仓可以有多种类型,例如1d 容器 = 平板,2d 容器 = 铅笔,3d 容器 = 盒子,球形容器,圆柱形容器。

此计算还计算块的数量 Nchunk,其他命令使用它来计算每个块的数据。 Nchunk 可以是静态值或随时间变化(例如簇的数量)。单个原子的块 ID 也可以是静态的(例如分子 ID),也可以是动态的(例如原子移动时位于哪个空间仓中)。

请注意,此计算允许使用其他计算、修复和变量的每个原子输出来定义每个原子的块 ID。这意味着您可以编写自己的计算或修复来输出每个原子的数量以用作块 ID。有关如何执行此操作的信息,请参阅修改文档页面。您还可以在输入脚本中定义每个原子变量,该变量使用公式为每个原子生成块 ID。

Fix ave/chunk command固定ave/chunk 命令:

此fix将计 compute chunk/atom 命令的 ID 作为输入。然后,对于每个块,它会对每个块中的原子上的一个或多个指定的每原子值求和。每个原子的值可以是任何原子属性,例如速度、力、电荷、势能、动能、应力等。为每个块的属性(例如密度和温度)定义了其他关键字。更一般地,由其他 computes, fixes, and per-atom variables生成的任何每原子值都可以对每个块中的原子求和。

与其他平均fixes类似,此fixes允许以各种方式对每个块的总和值进行时间平均,并输出到文件。该修复会生成一个全局数组作为输出,每个块包含一行值。

Compute */chunk commands计算 */chunk 命令:

以下计算对原子块进行操作以生成每个块的值。任何样式名称以“/chunk”结尾的计算都属于此类别:

  • compute com/chunk

  • compute gyration/chunk

  • compute inertia/chunk

  • compute msd/chunk

  • compute property/chunk

  • compute temp/chunk

  • compute torque/chunk

  • compute vcm/chunk

它们各自将 compute chunk/atom 命令的 ID 作为输入。正如其名称所示,它们计算每个原子块的质心、回转半径、惯性矩、均方位移、温度、扭矩和质心速度。compute property/chunk 命令可以计算每个块中的原子数量并提取其他每个块的属性。

这些不同的计算不是 fix ave/chunk 命令的一部分的原因是,每个计算都需要比简单地对每个块中的每个原子值求和和平均更复杂的操作。例如,其中许多需要计算质心,这需要对原子上的质量*位置求和,然后除以总质量。

所有这些计算都会生成一个全局向量或全局数组作为输出,每个块具有一个或多个值。输出可以通过多种方式使用:

  • 作为 fix ave/time 命令的输入,该命令可以将值写入文件并可选择对它们进行时间平均。

  • 作为fix ave/histo 命令的输入,以显示跨块的直方图值。例如,团簇大小或分子扩散速率的直方图。

  • 作为equal-style variables的特殊函数的输入,例如 sum() 、 max() 和 ave() 。例如。找到最大的团簇或最快扩散的分子或一组分子(块)的平均回转半径。

Other chunk commands其他块命令:

  • compute chunk/spread/atom

  • compute reduce/chunk

compute chunk/spread/atom 命令将每个块的值传播到块中的每个原子,产生每个原子的值作为其输出。这对于将每个块的值输出到每个原子转储文件非常有用。或者在原子样式变量中使用原子的关联块值。或者作为 fix ave/chunk 命令的输入,以在空间上平均由每块计算计算出的每块值。

compute reduce/chunk 命令减少每个块中原子的peratom值以产生每个块的值。当与compute chunk/spread/atom命令一起使用时,它可以创建peratom值,通过第二个compute chunk/atom命令诱导一组新的块。

Example calculations with chunks块计算示例:

以下是使用块命令来计算各种属性的示例:

  1. 1000 个 2d 空间仓中每个的平均速度:

compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.01 units reduced
fix 1 all ave/chunk 100 10 1000 cc1 vx vy file tmp.out

2. 每个空间仓内的温度,减去流速后:

compute cc1 all chunk/atom bin/2d x 0.0 0.1 y lower 0.1 units reduced
compute vbias all temp/profile 1 0 0 y 10
fix 1 all ave/chunk 100 10 1000 cc1 temp bias vbias file tmp.out

3.每个分子的质心:

compute cc1 all chunk/atom molecule
compute myChunk all com/chunk cc1
fix 1 all ave/time 100 1 100 c_myChunk[*] file tmp.out mode vector

4.每个分子上的总力以及所有分子的平均/最大力:

compute cc1 all chunk/atom molecule
fix 1 all ave/chunk 1000 1 1000 cc1 fx fy fz file tmp.out
variable xave equal ave(f_1[2])
variable xmax equal max(f_1[2])
thermo 1000
thermo_style custom step temp v_xave v_xmax

5.团簇大小的直方图:

compute cluster all cluster/atom 1.0
compute cc1 all chunk/atom c_cluster compress yes
compute size all property/chunk cc1 count
fix 1 all ave/histo 100 1 100 0 20 20 c_size mode vector ave running beyond ignore file tmp.histo

6.   compute chunk/spread/atom命令文档页面上解释了使用每块值来施加每原子力来压缩混合物中的单个聚合物链(分子)的示例。

7. compute reduce/chunk 命令文档页面上解释了使用一组分子块的每块值来创建第二组胶束规模块(由于疏水性而聚集的分子)的示例。

8. 对分子块使用一组每块值(偶极矩向量),将值传播到每个块中的每个原子,然后将第二组块定义为空间仓,并使用 fix ave/chunk命令计算每个 bin 的平均偶极矩向量。该示例在 compute chunk/spread/atom 命令文档页面上进行了解释。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/818908.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

蓝桥杯 — —灵能传输

灵能传输 友情链接:灵能传输 题目: 输入样例: 3 3 5 -2 3 4 0 0 0 0 3 1 2 3输出样例: 3 0 3思路: 题目大意:给出一个数组,每次选择数组中的一个数(要求不能是第一个数与最后一个…

若依下整合多个Redis

提前总结,因此项目已多处使用Redis1 故此我创建的Redis工厂只添加了Redis2并不影响Redis1。但如若还有Redis3、4、5可按照下述方法继续往Redis工厂里添加 下述代码添加到 RedisConfig import org.springframework.beans.factory.annotation.Autowired; import org…

大数据几种任务调度工具

文章目录 一、DolphinScheduler概述和部署1、DolphinScheduler简介1.1 概述1.2 核心架构 2、DolphinScheduler部署模式2.1 概述2.2 单机模式2.3 伪集群模式2.4 集群模式 3、DolphinScheduler集群模式部署3.1 集群规划与准备3.2 下载与配置部署脚本3.3 初始化数据库3.4 一键部署…

Fast DDS环境搭建

目录 Docker环境Fast DDS构建运行运行原有demo编译运行 本文主要记录Fast DDS docker环境搭建和examples代码运行 Docker环境 Fast DDS的docker环境可以直接在官网下载,如果自己要重新做一个,首先需要从Docker Hub上下载系统的docker镜像,由…

【LAMMPS学习】八、基础知识(3.1)LAMMPS 的输出

8. 基础知识 此部分描述了如何使用 LAMMPS 为用户和开发人员执行各种任务。术语表页面还列出了 MD 术语,以及相应 LAMMPS 手册页的链接。 LAMMPS 源代码分发的 examples 目录中包含的示例输入脚本以及示例脚本页面上突出显示的示例输入脚本还展示了如何设置和运行各…

maven引入外部jar包

将jar包放入文件夹lib包中 pom文件 <dependency><groupId>com.jyx</groupId><artifactId>Spring-xxl</artifactId><version>1.0-SNAPSHOT</version><scope>system</scope><systemPath>${project.basedir}/lib/Spr…

Android gdb调试

Android gdb调试 前置条件&#xff1a; 1.Linux环境&#xff0c;比如Ubutun 2.python工具&#xff1a;建议2,7&#xff0c; 安装命令 sudo apt-get install libpython2.7 3.Android完整codebase 4.开发板 操作步骤&#xff1a; adb root adb remount adb shell #4027为进程id g…

电商技术揭秘二十四:无人仓储与自动化技术

相关系列文章 电商技术揭秘一&#xff1a;电商架构设计与核心技术 电商技术揭秘二&#xff1a;电商平台推荐系统的实现与优化 电商技术揭秘三&#xff1a;电商平台的支付与结算系统 电商技术揭秘四&#xff1a;电商平台的物流管理系统 电商技术揭秘五&#xff1a;电商平台…

华媒舍:7种方式,打造出旅游媒体套餐

现如今&#xff0c;伴随着旅游业发展与繁荣&#xff0c;更多旅游业发展从业人员越来越重视产品营销品牌基本建设&#xff0c;希望可以将自己的度假旅游产品和服务营销推广给更多的潜在用户。而建立一个优秀的旅游业发展媒体套餐内容品牌是吸引目标客户的重要步骤。下面我们就详…

Golang | Leetcode Golang题解之第30题串联所有单词的子串

题目&#xff1a; 题解&#xff1a; func findSubstring(s string, words []string) (ans []int) {ls, m, n : len(s), len(words), len(words[0])for i : 0; i < n && im*n < ls; i {differ : map[string]int{}for j : 0; j < m; j {differ[s[ij*n:i(j1)*n]…

把握零碎时间,开启长期副业兼职之旅!在家也能轻松赚钱!

转眼间&#xff0c;2024年已悄然走过三分之一。这一年&#xff0c;外界环境似乎并不那么友好&#xff0c;但对我而言&#xff0c;我的月收入仍然相对稳定。我找到的副业让我每月能赚到3000元以上&#xff0c;这让我深感庆幸。 现实中&#xff0c;只依赖主业工资的日子确实艰辛…

【LeetCode热题100】【回溯】分割回文串

题目链接&#xff1a;131. 分割回文串 - 力扣&#xff08;LeetCode&#xff09; 要找出所有分割这个字符串的方案使得每个子串都是回文串&#xff0c;写一个判断回文串的函数&#xff0c;深度遍历回溯去找出所有分割方案&#xff0c;判断分割的子串是否是回文串 class Soluti…

c++编译成汇编以及对汇编学习笔记

1. 引言 为了深入理解c&#xff0c;决定学习一些简单的汇编语言。使用ubuntu系统下g很容易将一个c的文件编译成汇编语言。本文使用此方法&#xff0c;对一个简单的c文件编译成汇编语言进行理解。 2.示例 文件名&#xff1a;reorder_demo.cpp #include<stdio.h>typede…

Linux Ubuntu 网络异常

1.开发背景 ubuntu 虚拟机下开发程序时&#xff0c;出现网络 IP 地址找不到问题 2.开发需求 在 ubuntu 网络找不到的情况下重启网络 3.开发环境 ubuntu20.04 4.实现步骤 4.1 挂起虚拟机恢复后异常 解决方法&#xff1a;重启网络管理器 sudo /etc/init.d/network-manager …

更改ip地址的几种方式有哪些

在数字化时代&#xff0c;IP地址作为网络设备的标识&#xff0c;对于我们在网络世界中的活动至关重要。然而&#xff0c;出于多种原因&#xff0c;如保护隐私、访问特定网站或进行网络测试&#xff0c;我们可能需要更改IP地址。虎观代理将详细介绍IP地址的更改方法与步骤&#…

在Ubuntu 14.04上配置Redis集群的方法

简介 Redis 是一个开源的键值对数据存储&#xff0c;采用内存存储模型&#xff0c;并可选择磁盘写入以实现持久化。它具有事务、发布/订阅和自动故障转移等功能。推荐在生产环境中使用 Linux 来部署 Redis&#xff0c;但开发人员也提到 OS X 作为他们开发和测试的平台。Redis …

如何配置和使用网关(Gateway)

简介 在现代的微服务架构中,网关(Gateway)扮演着非常重要的角色。本文将介绍网关的基本概念以及如何配置和使用它。我们将以一个实际的示例来说明如何设置和使用网关。 什么是网关? 简要介绍网关在微服务架构中的作用,以及为什么我们需要它。选择网关 介绍当前流行的网关…

Spring Boot 学习(5)——组件注册

也是学得头晕眼花&#xff0c;终于知道学有多么难了&#xff0c;更知道教有多么难了…… 各位大神们出的教程终归和正规出版社还是差距的&#xff0c;我觉得是没有“审定”&#xff0c;这对于大多数做教程的人来说这应该通病&#xff1a;自己做&#xff08;讲&#xff09;的东西…

Java基础(一)--语法入门

文章目录 第一章、语法入门一、Java简介1、JVM2、Java程序执行过程3、JDK4、JRE5、JDK、JRE和JVM三者关系 二、Java常量与变量1、标识符2、关键字3、保留字4、变量5、数据类型6、常量 三、运算符1、算术运算符2、赋值运算符3、关系运算符4、逻辑运算符5、条件运算符6、运算符的…

DataX自动化生成配置json,创建ODS表,多线程调度脚本[mysql-->hive]

DataX自动生成json配置文件及多线程执行脚本(仅支持mysql-->hive),其他版本自行实现,修改json模版即可 执行Datax任务 datax_run.py # 指定项目下的所有的ods任务,如果不指定参数,默认执行dw下的prefix过滤后的所有抽取任务 # 使用方式:python3 datax_run.py -p 项目名 -…