【LAMMPS学习】八、基础知识(2.2)类型标签

news2024/10/7 12:23:14

8. 基础知识

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

8.1.通用基础知识

8.2. 设置入门

8.2.1.二维模拟

8.2.2.类型标签

2022 年 9 月 15 日版本中的新增功能。

LAMMPS 中的每个原子都有一个关联的数字原子类型。类似地,每个 bond, angle, dihedral, 和 improper都被指定为键类型、角类型等。

这些类型的主要用途是将势(力场)参数映射到原子、 bond, angle, dihedral, 和 improper的相互作用。

默认情况下,类型值以 1 到 Ntypes 之间的整数形式输入,无论它们出现在 LAMMPS 输入或输出文件中。每次交互的 Ntype 总数在创建模拟框时被“锁定”。

LAMMPS 最近添加的一项功能是使用字符串(称为类型标签)作为替代方案。使用类型标签代替数字类型在各种场景中都具有优势。例如,类型标签可以使输入更具可读性和通用性(即,可以通过为类型分配不同数值的不同系统使用 include 命令。这种通用性也适用于其他输入,例如由 read_data 读取的数据文件或由 read_data 读取的分子模板文件分子命令。请参阅下面的列表,了解可以以不同方式使用类型标签的其他命令。

LAMMPS 将在内部继续使用数字类型,这意味着许多以前的限制仍然适用。例如,在创建模拟框时,类型的总数被锁定,并且即使没有被任何交互使用,也必须提供每种类型的潜在参数。

所有类型种类(原子类型、键类型等)的类型标签集合存储为“标签映射”,它只是数字类型及其关联类型标签的列表。在类型种类中,每个类型标签必须是唯一的。它只能分配给一种数字类型。要在给定类型种类的数据文件中读取和写入类型标签,所有关联的数值类型都需要分配一个类型标签。可以使用 labelmap write 命令保存部分映射,并使用 include 命令读回。

有效的类型标签可以包含大多数 ASCII 字符,但不能以数字、“#”或“*”开头。此外,标签不得包含空格字符。在 LAMMPS 输入中使用 labelmap 命令时,如果类型标签中出现某些字符,例如单引号 (') 或双引号 (") 或 '#' 字符,则标签必须放入双引号、单引号、或三引号(“””)。三引号允许使用最通用的类​​型标签字符串,但它们需要有前导和尾随空格。定义类型标签时,空格将被忽略。例子:

labelmap angle 1 """ C1'-C2"-C3# """

此命令会将字符串 `C1'-C2"-C3#` 映射到角度类型 1。

有两种定义标签映射的方法。一种是通过 labelmap 命令。另一种是通过 read_data 命令。数据文件可以包含原子类型标签、键类型标签等部分,这些部分将类型标签分配给数字类型。可以通过  write_data 命令将标签映射写入数据文件。该映射还可以通过 write_restart 和 read_restart 命令写入重新启动文件或从重新启动文件中读取。

在 LAMMPS 输入或输出中使用类型标签 

许多采用数字类型作为参数的 LAMMPS 输入脚本命令可以改用关联的类型标签。如果没有为特定数字类型定义类型标签,则只能使用其数字类型。

此示例为原子类型分配标签,然后使用类型标签重新定义对系数。

pair_coeff 1 2 1.0 1.0              # numeric types
labelmap atom 1 C 2 H
pair_coeff C H 1.0 1.0              # type labels

向各种命令添加对类型标签的支持是一个正在进行的项目。如果输入脚本命令(或命令读取的文件中的部分)允许用类型标签替换数字类型参数,则该命令的文档页面中将明确提及。

作为临时措施,输入脚本命令可以利用变量以及如何在输入处理过程中扩展变量。变量可以使用将类型标签字符串转换为当前标签映射中定义的各自数字的函数。详细信息请参见变量命令。

例如,如果尚不支持类型标签,则pair_coeff命令可以与类型标签一起使用,无论是使用显式变量命令还是pair_coeff命令中使用的隐式变量。

labelmap atom 1 C 2 H
variable atom1 equal label2type(atom,C)
variable atom2 equal label2type(atom,H)
pair_coeff ${atom1} ${atom2} 1.0 1.0
labelmap atom 1 C 2 H
pair_coeff $(label2type(atom,C)) $(label2type(atom,H)) 80.0 1.2

可以使用标签类型的命令 

任何涉及读取多个数据文件、分子模板或两者组合的工作流程都可以通过使用类型标签而不是数字类型来简化,因为类型会在文件之间自动同步。使用类型标签时,为fix bond/react 创建模拟就绪反应模板要简单得多,并且生成的模板可以在多个模拟或不同系统中无需修改即可使用。

fb0790c10a094df09aad28dac816ac7a.png

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

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

相关文章

请核对您的姓名、证件号码、有效期和年限是否选择正确,请勿使用挂失过的身份证

问题 请核对您的姓名、证件号码、有效期和年限是否选择正确,请勿使用挂失过的身份证 详细问题 笔者在专利业务办理系统进行新用户注册,注册时间为晚上大概22:00以后。注册时已核对姓名、证件号码、有效期和年限,已确保正确&…

【C++】拆分详解 - 内存管理

文章目录 前言一、C/C内存分布二、C语言中动态内存管理方式:malloc/calloc/realloc/free三、C内存管理方式  3.1 new/delete操作内置类型  3.2 new和delete操作自定义类型  3.3 operator new与operator delete函数 四、new和delete的实现原理  4.1 内置类型…

【Java集合】面试题汇总

Java 集合Java 集合概览1. List, Set, Queue, Map 四者的区别?2. ArrayList 和 Array(数组)的区别?3. ArrayList 和 Vector 的区别?4. Vector 和 Stack 的区别?(了解即可)5. ArrayList 可以添加 null 值吗…

python+appium调@pytest.mark.parametrize返回missing 1 required positional argument:

出错描述: 1、在做pythonappium自动化测试时,使用装饰器pytest.mark.parametrize(“参数”,[值1,值2,值3]),测试脚本执行返回test_xx() missing 1 required positional argument:“…

Bitmap OOM

老机器Bitmap预读仍然OOM&#xff0c;无奈增加一段&#xff0c;终于不崩溃了。 if (Build.VERSION.SDK_INT < 21)size 2; 完整代码&#xff1a; Bitmap bitmap; try {//Log.e(Thread.currentThread().getStackTrace()[2] "", surl);URL url new URL(surl);…

通俗易懂HTTP和HTTPS区别

HTTP&#xff1a;超文本传输协议&#xff0c;它是使用一种明文的方式发送我们的内容&#xff0c;没有任何的加密&#xff0c;例如我们要在网页上输入账号密码&#xff0c;如果使用HTTP协议&#xff0c;账号密码就可能会被暴露&#xff0c;默认端口是80. HTTPS&#xff1a;是HT…

动态规划解决背包问题

目录 动态规划步骤&#xff1a; 1.01背包问题 2.完全背包问题 动态规划步骤&#xff1a; step1.分析问题&#xff0c;定义dp数组&#xff08;下标含义&#xff09; step2.初始化dp数组&#xff08;边界&#xff09; step3.写dp状态转换方程&#xff08;明确dp数组遍历顺序…

【Super数据结构】二叉搜索树与二叉树的非递归遍历(含前/中/后序)

&#x1f3e0;关于此专栏&#xff1a;Super数据结构专栏将使用C/C语言介绍顺序表、链表、栈、队列等数据结构&#xff0c;每篇博文会使用尽可能多的代码片段图片的方式。 &#x1f6aa;归属专栏&#xff1a;Super数据结构 &#x1f3af;每日努力一点点&#xff0c;技术累计看得…

【饿了么笔试题汇总】[全网首发]2024-04-12-饿了么春招笔试题-三语言题解(CPP/Python/Java)

&#x1f36d; 大家好这里是KK爱Coding &#xff0c;一枚热爱算法的程序员 ✨ 本系列打算持续跟新饿了么近期的春秋招笔试题汇总&#xff5e; &#x1f4bb; ACM银牌&#x1f948;| 多次AK大厂笔试 &#xff5c; 编程一对一辅导 &#x1f44f; 感谢大家的订阅➕ 和 喜欢&#x…

.cur 鼠标光标文件读取

备份icon掩码开发代码-CSDN博客 代码改写自 目前bug是高度不足&#xff0c;顶上的几十个像素图片打印需要加常数&#xff0c; i的改写是 i/3,参考上面链接的自简书的代码 #include <stdio.h> #include <windows.h> #pragma warning(disable : 4996) // visu…

[lesson20]初始化列表的使用

初始化列表的使用 类成员的初始化 C中提供了初始化列表对成员变量进行初始化 语法规则 注意事项 成员的初始化顺序与成员的声明顺序相同成员的初始化顺序与初始化列表中的位置无关初始化列表先于构造函数的函数体执行 类中的const成员 类中的const成员会被分配空间的类中…

【Linux】环境搭建

昙花一现&#xff0c;却等待了整个白昼 蝉鸣一夏&#xff0c;却蛰伏了几个四季 目录 购买云服务器 总结 使用 XShell 远程登陆到 Linux 利用Linux编写一个简单C程序 ⭐toush -- 创建文件 ⭐vi -- 文本编译器 ⭐ll -- 查看文件的显示结果分析 ⭐gcc -o ⭐cat -- 查看源代码 契子…

利用细粒度检索增强和自我检查提升对话式问题解答能力

&#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 论文标题&#xff1a;Boosting Conversational Question Answering with Fine-Grained Retrieval-Augmentation and Self-Check 论文地址&#xff1a;https://arxiv.org/abs/2403.18243 检索增强生成…

【报错】AttributeError: ‘NoneType‘ object has no attribute ‘pyplot_show‘(已解决)

【报错】AttributeError: ‘NoneType’ object has no attribute ‘pyplot_show’ 问题描述&#xff1a;python可视化出现下面报错 我的原始代码&#xff1a; import matplotlib.pyplot as pltplt.figure() plt.plot(x, y, bo-) plt.axis(equal) plt.xlabel(X) plt.ylabe…

最短路径问题——(弗洛伊德算法与迪杰斯特拉算法)

最短路径问题——&#xff08;弗洛伊德算法与迪杰斯特拉算法&#xff09;【板子】 题目&#xff1a; 对于下面的图片所给出的关系,回答下面两个问题&#xff1a; 利用迪杰斯特拉算法求点A到每一个点之间的最小距离。利用弗洛伊德算法求每两个点之间的最短路径。 &#xff0…

[RK3399 Linux] 使用ubuntu 20.04.5制作rootfs

一、ubuntu base ubuntu base是用于为特定需求创建自定义映像的最小rootfs,是ubuntu可以运行的最小环境。 1.1 下载源码 下载ubuntu-base的方式有很多,可以从官方的地址:ttp://cdimage.ubuntu.com/ubuntu-base/releases。 也可以其它镜像地址下载,如清华源:https://mi…

弹性云服务器性能对比(内附测试数据),快快网络服务器崭露头角

随着计算技术的不断革新&#xff0c;云服务器已成为企业和个人部署应用与服务的首选。尤其线上业务日益盛行的今天&#xff0c;云服务商的实力更是备受瞩目。对于企业而言&#xff0c;高稳定&#xff0c;存储速度都是不可或缺的基本要求&#xff0c;这些都对公有云的云端编解码…

算法 囚犯幸存者

题目 主类 public static List<Prisoner> prisoners new ArrayList<Prisoner>(); public static List<Prisoner> remainPrisoners new ArrayList<Prisoner>(); public static Prisoner lastPrisoner null;public static void main(String[] args) …

Fastgpt配合chatglm+m3e或ollama+m3e搭建个人知识库

概述&#xff1a; 人工智能大语言模型是近年来人工智能领域的一项重要技术&#xff0c;它的出现标志着自然语言处理领域的重大突破。这些模型利用深度学习和大规模数据训练&#xff0c;能够理解和生成人类语言&#xff0c;为各种应用场景提供了强大的文本处理能力。AI大语言模…

VulnHub靶机-easy_cloudantivirus 打靶

easy_cloudantivirus 靶机 目录 easy_cloudantivirus 靶机一、导入虚拟机配置二、攻击方式主机发现端口扫描web渗透-SQL注入命令注入反弹shellssh爆破提权 一、导入虚拟机配置 靶机地址&#xff1a; https://www.vulnhub.com/entry/boredhackerblog-cloud-av,453/下载完成&am…