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

2024-05-16 06:52
文章标签 学习 辅助工具 lammps

本文主要是介绍【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)提供。

这篇关于【LAMMPS学习】十、LAMMPS辅助工具(1)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/994184

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【学习笔记】 陈强-机器学习-Python-Ch15 人工神经网络(1)sklearn

系列文章目录 监督学习:参数方法 【学习笔记】 陈强-机器学习-Python-Ch4 线性回归 【学习笔记】 陈强-机器学习-Python-Ch5 逻辑回归 【课后题练习】 陈强-机器学习-Python-Ch5 逻辑回归(SAheart.csv) 【学习笔记】 陈强-机器学习-Python-Ch6 多项逻辑回归 【学习笔记 及 课后题练习】 陈强-机器学习-Python-Ch7 判别分析 【学

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

线性代数|机器学习-P36在图中找聚类

文章目录 1. 常见图结构2. 谱聚类 感觉后面几节课的内容跨越太大,需要补充太多的知识点,教授讲得内容跨越较大,一般一节课的内容是书本上的一章节内容,所以看视频比较吃力,需要先预习课本内容后才能够很好的理解教授讲解的知识点。 1. 常见图结构 假设我们有如下图结构: Adjacency Matrix:行和列表示的是节点的位置,A[i,j]表示的第 i 个节点和第 j 个

Node.js学习记录(二)

目录 一、express 1、初识express 2、安装express 3、创建并启动web服务器 4、监听 GET&POST 请求、响应内容给客户端 5、获取URL中携带的查询参数 6、获取URL中动态参数 7、静态资源托管 二、工具nodemon 三、express路由 1、express中路由 2、路由的匹配 3、路由模块化 4、路由模块添加前缀 四、中间件