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

10. 辅助工具

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

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

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

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

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


10.1.预处理工具


10.2.后处理工具


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)提供。

  • 12
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值