【LAMMPS学习】十、LAMMPS辅助工具(1)

10. 辅助工具

 
LAMMPS 被设计为用于执行分子动力学计算的计算内核。设置和分析模拟通常需要额外的预处理和后处理步骤。此类工具的列表可以在 LAMMPS 网页上的以下链接中找到:

  • 前/后处理

  • 外部 LAMMPS 软件包和工具

  • Pizza.py 工具包

Pizza.py 的最后一个链接是桑迪亚开发的基于 Python 的工具,它提供了用于 LAMMPS 模拟的设置、分析、绘图和可视化的工具。

本页描述了 LAMMPS 发行版中包含的其他工具。

请注意,许多用户编写自己的设置或分析工具或使用其他现有代码并将其输出转换为 LAMMPS 输入格式,反之亦然。此处列出的工具包含在 LAMMPS 发行版中作为辅助工具的示例。其中一些并没有得到 LAMMPS 开发人员的积极支持,因为它们是由 LAMMPS 用户贡献的。如果您在使用它们时遇到问题,我们可以引导您联系作者。

这些代码的源代码位于 LAMMPS 发行版的工具子目录中。有一个 Makefile(您可能需要针对您的平台进行编辑),它将构建驻留在该目录中的几个工具。它们中的大多数都是较大的包,位于自己的子目录中,带有自己的 Makefile 和/或 README 文件。


10.1.预处理工具

amber2lmp

ch2lmp

chain

createatoms

drude

eam database

eam generate 

eff

ipp

micelle2d

moltemplate

msi2lmp

polybond

stl_bin2txt

tabulate


10.2.后处理工具

amber2lmp

binary2txt

ch2lmp

colvars

eff

fep

lmp2arc

lmp2cfg

matlab

phonon

pymol_asphere

python

replica

smd

spin

xmgrace


10.3.各种工具

LAMMPS coding standards

emacs

i-pi

kate

LAMMPS shell

LAMMPS GUI

LAMMPS magic patterns for file(1)

Offline build tool

singularity/apptainer

SWIG interface

vim


10.4.工具说明

10.4.1. amber2lmp 工具

amber2lmp 子目录包含两个 Python 脚本,用于在 AMBER MD 代码和 LAMMPS 之间来回转换文件。有关更多信息,请参阅 amber2lmp 中的自述文件。

这些工具是由 Keir Novik 在伦敦玛丽女王大学期间编写的。 Keir 已不存在,无法支持这些工具,这些工具相对于当前的 LAMMPS 版本(也许对于 AMBER 来说也已经过时)。由于我们在桑迪亚不使用这些工具,因此您需要自己进行试验并进行必要的修改。

 ​​​​​​10.4.2. binary2txt 工具

文件 binary2txt.cpp 将一个或多个二进制 LAMMPS 转储文件转换为 ASCII 文本文件。运行该工具的语法是

binary2txt file1 file2 ...

它创建 file1.txt、file2.txt 等。此工具必须在可以读取 LAMMPS 运行创建的二进制文件的平台上编译,因为二进制文件并非在所有平台上兼容。


10.4.3.ch2lmp 工具 

ch2lmp 子目录包含用于在 CHARMM MD 代码和 LAMMPS 之间来回转换文件的工具。

它们的目的是使 CHARMM 能够轻松地用作 LAMMPS 的构建器和后处理器。使用 charmm2lammps.pl,您可以将具有关联 CHARMM 信息(包括 CHARMM 力场数据)的 PDB 文件转换为其 LAMMPS 等效项。支持 CHARMM22 及更高版本的 CMAP 校正作为一个选项提供。该工具还可以向系统中添加溶剂水分子和 Na+ 或 Cl- 离子。使用lammps2pdb.pl,您可以将LAMMPS原子转储转换为PDB文件。

有关详细信息,请参阅 ch2lmp 子目录中的 README 文件。

这些工具是由桑迪亚的 Pieter in’t Veld(pjintve at sandia.gov)和 Paul Crozier(pscrozi at sandia.gov)创建的。

CMAP 支持由Xiaohu Hu和Robert A. Latour、David Hyde-Volpe 和Tigran Abramyan(克莱姆森大学)以及伦敦国王学院的Chris Lorenz添加和测试的。


10.4.4. Chain工具 

文件 chain.f90 创建包含珠弹簧聚合物链和/或单体溶剂原子的 LAMMPS 数据文件。它使用包含链定义参数的文本文件作为输入。创建的链和溶剂原子可以强烈重叠,因此 LAMMPS 最初需要以“软”电势对来运行系统,以消除重叠。运行该工具的语法是

chain < def.chain > data.file

有关定义文件的示例,请参阅工具目录中的 def.chain 或 def.chain.ab 文件。该工具用于创建链基准测试系统。


10.4.5. LAMMPS 编码标准 

coding_standard 文件夹包含多个 python 脚本,用于检查和应用一些 LAMMPS 编码约定。以下脚本可用:

permissions.py   # detects if sources have executable permissions and scripts have not
whitespace.py    # detects TAB characters and trailing whitespace
homepage.py      # detects outdated LAMMPS homepage URLs (pointing to sandia.gov instead of lammps.org)
errordocs.py     # detects deprecated error docs in header files
versiontags.py   # detects .. versionadded:: or .. versionchanged:: with pending version date

这些工具需要提供 LAMMPS 发行版的主文件夹或单个文件名作为参数,并且默认情况下将检查它们并报告任何不合规情况。使用可选的 -f 参数,相应的脚本将尝试更改不兼容的文件以匹配约定。

为了方便起见,此脚本也可以由 src 文件夹中的 make 文件调用,使用 make check-whitespace 或 make fix-whitespace 来检测或编辑文件。其他Python脚本也同样如此。 make check 将运行所有检查。


10.4.6.科尔瓦尔工具 

colvars 目录包含用于对 colvars 集体变量库生成的数据进行后处理的工具集合。要编译工具,请编辑系统的 makefile 并运行“make”。

请报告 colvars 库及其工具的问题和问题:https://github.com/colvars/colvars/issues

abf_integrate: abf_积分:

基于MC的多维自由能梯度积分 版本20110511

./abf_integrate < filename > [-n < nsteps >] [-t < temp >] [-m [0|1] (metadynamics)] [-h < hill_height >] [-f < variable_hill_factor >]

LAMMPS 与 colvars 集体变量库的接口以及这些工具是由 Axel Kohlmeyer(akohlmey at gmail.com)在意大利 ICTP 期间创建的。


10.4.7.创建原子工具 

tools/createatoms 目录包含一个名为 createAtoms.f 的 Fortran 程序,它可以生成各种有趣的晶体结构和几何形状,并以 LAMMPS 或其他格式输出原子坐标结果列表。

有关详细信息,请参阅随附的 Manual.pdf。

该工具由 sandia.gov 的 周晓旺 (Sandia) 编写。


10.4.8. Drude工具

tools/drude 目录包含一个名为 Polarizer.py 的 Python 脚本,它可以将 Drude 振荡器以所需格式添加到 LAMMPS 数据文件中。

有关详细信息,请参阅 Polarizer.py 文件的标头。

该工具由 Agilio Padua 和 Alain Dequidt 创作。


10.4.9. EAM 数据库工具 

tools/eam_database 目录包含一个 Fortran 和一个 Python 程序,该程序将为 17 种元素的任意组合生成 EAM 合金 setfl 电势文件:Cu、Ag、Au、Ni、Pd、Pt、Al、Pb、Fe、Mo、Ta、钨、镁、钴、钛、锆、铬。然后可以将这些文件与pair_style eam/alloy 命令一起使用。

该工具的 Fortran 版本由 sandia.gov 上的 x Zhou Zhou (Sandia) 编写,并由 nist.gov 上的 Lucas Hale (NIST) lucas.hale 进行更新,并基于他的论文:

X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, 144113 (2004).
Cr 的参数取自:

Lin Z B, Johnson R A and Zhigilei L V, Phys. Rev. B 77 214108 (2008).
该工具的 Python 版本由 Germain Clavier (TU Eindhoven) 创作


10.4.9. EAM 数据库工具 

tools/eam_database 目录包含一个 Fortran 和一个 Python 程序,该程序将为 17 种元素的任意组合生成 EAM 合金 setfl 电势文件:Cu、Ag、Au、Ni、Pd、Pt、Al、Pb、Fe、Mo、Ta、钨、镁、钴、钛、锆、铬。然后可以将这些文件与pair_style eam/alloy 命令一起使用。

该工具的 Fortran 版本由 sandia.gov 上的 x Zhou Zhou (Sandia) 编写,并由 nist.gov 上的 Lucas Hale (NIST) lucas.hale 进行更新,并基于他的论文:

X. W. Zhou, R. A. Johnson, and H. N. G. Wadley, Phys. Rev. B, 69, 144113 (2004).

Cr 的参数取自:

Lin Z B, Johnson R A and Zhigilei L V, Phys. Rev. B 77 214108 (2008).

该工具的 Python 版本由 Germain Clavier (TU Eindhoven) 创作

注:


10.4.10.Eam 生成工具 

tools/eam_generate 目录包含多个单文件 C 程序,这些程序将解析公式转换为表格嵌入式原子方法 (EAM) setfl 势文件。它们产生的势位于势目录中,并且可以与pair_style eam/alloy 命令一起使用。

源文件和电位由 Gerolf Ziegenhain提供。


10.4.11. eff 工具

tools/eff 目录包含用于生成结构和后处理输出以使用电子力场 (eFF) 进行模拟的各种脚本。

这些工具由加州理工学院的 Andres Jaramillo-Botero 提供。


10.4.12. emacs 工具 

tools/emacs 目录包含 GNU Emacs 的 Emacs Lisp 附加文件,该文件启用 lammps 模式,以便在使用 GNU Emacs 时编辑输入脚本,并设置各种突出显示选项。

这些工具由桑迪亚的 Aidan Thompson 提供。


10.4.13.FEP 工具 

tools/fep 目录包含 Python 脚本,可用于对使用 FEP 包执行自由能扰动模拟的结果进行后处理。

这些脚本由 Agilio Padua (ENS de Lyon) 贡献,agilio.padua at ens-lyon.fr。

请参阅 tools/fep 目录中的 README 文件。


10.4.14. i-pi 工具 

tools/i-pi 目录包含 i-PI 软件包的一个版本,其中删除了所有与 LAMMPS 无关的文件。提供它是为了可以与 fix ipi 命令一起使用来执行路径积分分子动力学 (PIMD)。

i-PI 包由 gmail.com 的 Michele Ceriotti (michele.ceriotti) 创建和维护,用于连接各种分子动力学代码。

有关 i-PI 的概述,请参阅 tools/i-pi/manual.pdf 文件;有关使用 LAMMPS 运行 PIMD 计算的更多详细信息,请参阅修复 ipi 页面。


10.4.15. ipp 工具 

tools/ipp 目录包含一个 Perl 脚本 ipp,可用于方便使用模板文件创建复杂文件(例如 LAMMPS 输入脚本或 tools/createatoms 输入文件)。

ipp 由 Sandia.gov 的 rjones 创建并维护。

请参阅tools/ipp 目录中的两个示例。其中之一是用于tools/createatoms 工具的输入文件。


10.4.16. kate 工具

tools/kate 目录中的文件是 KDE 套件中 Kate 编辑器的附加组件,允许 LAMMPS 输入脚本的语法突出显示。有关详细信息,请参阅 README.txt 文件。

该文件由 Alessandro Luigi Sellerio(alessandro.sellerio at ieni.cnr.it)提供。

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

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

相关文章

CTFshow misc

第一题1 打开图片直接就是flag 第二题0 放入010发现文件头有png 更换后缀 获得flag 第三题1 下载之后发现是bpg后缀 用在线工具转换为png获得flag 第四题 0 把六个文件后缀都改为png即可获得flag

Visual Studio Code 扩展程序Text Edits

需求 比如把Scarzombie_Monster全部转换为大写或者小写 安装 Text Edits 直接搜索安装即可 使用 假如要把Scarzombie_Monster全部转为大写&#xff0c;选中右键选中 To Upper Case或者直接快捷键shiftAltU即可

使用yolov8 训练coco 和自己的关键点识别数据集的参考

使用yolov8 训练关键点配置理解 1. coco-pose.yaml 修改关键参数kpt_shape: [17, 3]flip_idx: [0, 2, 1, 4, 3, 6, 5, 8, 7, 10, 9, 12, 11, 14, 13, 16, 15]2. yolov8n-pose.yaml 修改kpt_shape3. 编写 train文件4.一个封装的推理代码1. coco-pose.yaml 修改关键参数 kpt_sha…

DHCP动态主机配置协议

DHCP概述 DHCP是什么 DHCP&#xff1a;Dynamic Host Configuration Protocol&#xff1a;动态主机配置协议DHCP是一种集中对用户IP地址进行动态管理和配置的技术 DHCP作用&#xff1a; 作用&#xff1a;实现IP地址的动态分配和集中管理优势&#xff1a;避免手工配置IP地址&…

linux编译gdb

下载 我下载了8.3 Index of /gnu/gdb 编译 make cleanmake diskclean./configure \--without-x \--disable-werrormake make install

微信小程序的自定义组件

一、创建自定义组件 &#xff08;1&#xff09;定义&#xff1a; 把页面重复的代码部分封装成为一个自定义组件&#xff0c;以便在不同的页面中重复使用&#xff0c;有助于代码的维护。 &#xff08;2&#xff09;组成&#xff1a; 自定义组件的组成&#xff1a;json文件&a…

.gitignore文件使用指南

.gitignore文件使用指南 .gitignore 文件的作用 忽略不需要的文件&#xff1a;避免将不必要的文件&#xff08;如编译生成的文件、临时文件、日志文件等&#xff09;提交到代码仓库。保护敏感信息&#xff1a;防止本地配置文件&#xff08;如数据库配置文件、API 密钥等&…

阅读笔记——《代码整洁之道》ch2

引言 clean-code ch2阅读笔记 有意义的命名 名副其实 选择体现本意的名称能让人更容易理解和修改代码。 避免误导 怎么能知道该调用哪个函数呢? getActiveAccount(); getActiveAccounts(); getActiveAccountInfo();moneyAmount与money没区别,customerInfo与customer没区别。…

代码随想录-算法训练营day39【动态规划02:不同路径】

代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第九章 动态规划part02● 62.不同路径 ● 63. 不同路径 II 今天开始逐渐有 dp的感觉了&#xff0c;题目不多&#xff0c;就两个 不同路径&#xff0c;可以好好研究一下详细布置 62.不同路径 本题大家掌握动态规划的方…

Elasticsearch 搜索引擎实现对文档内容进行快速检索(保姆级教程)

本文主要讲解ES如何从提取文档中提取内容&#xff08;word、pdf、txt、excel等文件类型&#xff09;&#xff0c;实现快速检索文档内容实现。 特别说明一下&#xff0c;为什么用7.10.0版本&#xff0c;因为在项目中除了精确匹配的要求&#xff0c;也会有模糊查询&#xff08;关…

Android 异常开机半屏重启代码分析

Android 的稳定性是 Android 性能的一个重要指标&#xff0c;它也是 App 质量构建体系中最基本和最关键的一环&#xff1b;如果应用经常崩溃&#xff0c;或者关键功能不可用&#xff0c;那显然会对我们的留存产生重大影响所以为了保障应用的稳定性&#xff0c;我们首先应该树立…

在vue3+typescript中使用d3 version 7注意的地方

前几天在做一个前端项目&#xff0c;需要在一个vue3typescript的项目中使用d3 上次做vue2d3v5的项目已经很多年了&#xff0c;这次不仅是vue3&#xff0c;用的typescript&#xff0c;而且d3也升级到v7了&#xff0c;有很多东西不一样了。 这里记录一下&#xff0c;避免日后忘…

go-Expect-实验

实验脚本程序 test.sh read -p "Would you like to rejoin it to the cluster? [y/N]:" v echo if [ "$v" "y" ];thenecho "$(date %s)shark A" >> ./test.log fi read -p "Would you like to rejoin it to the cluste…

JDK14和JDK1.14相同吗?

关于Java开发工具包&#xff08;JDK&#xff09;的命名&#xff0c;我们可以从Java版本的发展历史来详细解析其命名规则。 在Java的早期版本中&#xff0c;JDK的版本号使用了“1.x”的格式&#xff0c;其中“x”是版本号&#xff0c;如JDK 1.0、JDK 1.1、JDK 1.2等。然而&…

Zynq UltraScale+ RFSoC 配置存储器器件

Zynq UltraScale RFSoC 配置存储器器件 下表所示闪存器件支持通过 Vivado 软件对 Zynq UltraScale RFSoC 器件执行擦除、空白检查、编程和验证等配置操 作。 本附录中的表格所列赛灵思系列非易失性存储器将不断保持更新 &#xff0c; 并支持通过 Vivado 软件对其中所列…

【C语言】6.C语言VS实用调试技巧(2)

文章目录 6.调试举例17.调试举例28.调试举例3&#xff1a;数组9.编程常⻅错误归类9.1 编译型错误9.2 链接型错误9.3 运⾏时错误 – 6.调试举例1 求 1!2!3!4!…10! 的和。 int main() {int n 0;int i 0;int ret 1;int sum 0;for (n 1; n < 3; n) {for (i 1; i < …

knife4j案例

1.导入 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId> </dependency>2.在配置类中加入 knife4j 相关配置并设置静态资源映射&#xff08;否则接口文档页面无法访问&#xff…

就这?轻轻松松在RK356X Android11适配ML307R Cat.1模组

开源鸿蒙硬件方案领跑者 触觉智能 Industio 本文基于IDO-SXB3568主板&#xff0c;介绍Android11平台上适配中移物联ML307R Cat.1 4G模组的方法。该方法适用于触觉所有RK356X的主板。 IDO-SXB3568是触觉智能推出的RK3568行业主板&#xff0c;预计6月上旬正式上架售卖。该行业主…

CCF PTA 2022年11月C++大富翁游戏

【问题描述】 小明很喜欢玩大富翁游戏&#xff0c;这个游戏的规则如下&#xff1a; 1、游戏地图是有 N 个格子&#xff0c;分别编号从 1 到 N。玩家一开始位于 1 号格子。 2、地图的每个格子上都有事件&#xff0c;事件有以下两种类型&#xff1a; A&#xff09;罚款 x 枚金币…

使用Locust进行性能测试:快速指南与Python代码示例

性能测试是确保应用能够在预期负载下正常运行的关键步骤。在各种性能测试工具中&#xff0c;Locust以其轻量级、易用性以及可扩展性脱颖而出。它是一个用Python编写的开源性能测试工具&#xff0c;不仅能够模拟数以万计的用户对网站或应用程序进行压力测试&#xff0c;还允许测…