【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

相关文章

51单片机学习记录———定时器

文章目录 前言一、定时器介绍二、STC89C52定时器资源三、定时器框图四、定时器模式五、定时器相关寄存器六、定时器练习 前言 一个学习嵌入式的小白~ 有问题评论区或私信指出~ 提示:以下是本篇文章正文内容,下面案例可供参考 一、定时器介绍 定时器介绍:51单片机的定时器属于单片机的内部资源,其电路的连接和运转均在单片机内部完成。 定时器作用: 1.用于计数系统,可

问题:第一次世界大战的起止时间是 #其他#学习方法#微信

问题:第一次世界大战的起止时间是 A.1913 ~1918 年 B.1913 ~1918 年 C.1914 ~1918 年 D.1914 ~1919 年 参考答案如图所示

[word] word设置上标快捷键 #学习方法#其他#媒体

word设置上标快捷键 办公中,少不了使用word,这个是大家必备的软件,今天给大家分享word设置上标快捷键,希望在办公中能帮到您! 1、添加上标 在录入一些公式,或者是化学产品时,需要添加上标内容,按下快捷键Ctrl+shift++就能将需要的内容设置为上标符号。 word设置上标快捷键的方法就是以上内容了,需要的小伙伴都可以试一试呢!

AssetBundle学习笔记

AssetBundle是unity自定义的资源格式,通过调用引擎的资源打包接口对资源进行打包成.assetbundle格式的资源包。本文介绍了AssetBundle的生成,使用,加载,卸载以及Unity资源更新的一个基本步骤。 目录 1.定义: 2.AssetBundle的生成: 1)设置AssetBundle包的属性——通过编辑器界面 补充:分组策略 2)调用引擎接口API

Javascript高级程序设计(第四版)--学习记录之变量、内存

原始值与引用值 原始值:简单的数据即基础数据类型,按值访问。 引用值:由多个值构成的对象即复杂数据类型,按引用访问。 动态属性 对于引用值而言,可以随时添加、修改和删除其属性和方法。 let person = new Object();person.name = 'Jason';person.age = 42;console.log(person.name,person.age);//'J

大学湖北中医药大学法医学试题及答案,分享几个实用搜题和学习工具 #微信#学习方法#职场发展

今天分享拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。 1.快练题 这是一个网站 找题的网站海量题库,在线搜题,快速刷题~为您提供百万优质题库,直接搜索题库名称,支持多种刷题模式:顺序练习、语音听题、本地搜题、顺序阅读、模拟考试、组卷考试、赶快下载吧! 2.彩虹搜题 这是个老公众号了 支持手写输入,截图搜题,详细步骤,解题必备

《offer来了》第二章学习笔记

1.集合 Java四种集合:List、Queue、Set和Map 1.1.List:可重复 有序的Collection ArrayList: 基于数组实现,增删慢,查询快,线程不安全 Vector: 基于数组实现,增删慢,查询快,线程安全 LinkedList: 基于双向链实现,增删快,查询慢,线程不安全 1.2.Queue:队列 ArrayBlockingQueue:

硬件基础知识——自学习梳理

计算机存储分为闪存和永久性存储。 硬盘(永久存储)主要分为机械磁盘和固态硬盘。 机械磁盘主要靠磁颗粒的正负极方向来存储0或1,且机械磁盘没有使用寿命。 固态硬盘就有使用寿命了,大概支持30w次的读写操作。 闪存使用的是电容进行存储,断电数据就没了。 器件之间传输bit数据在总线上是一个一个传输的,因为通过电压传输(电流不稳定),但是电压属于电势能,所以可以叠加互相干扰,这也就是硬盘,U盘

人工智能机器学习算法总结神经网络算法(前向及反向传播)

1.定义,意义和优缺点 定义: 神经网络算法是一种模仿人类大脑神经元之间连接方式的机器学习算法。通过多层神经元的组合和激活函数的非线性转换,神经网络能够学习数据的特征和模式,实现对复杂数据的建模和预测。(我们可以借助人类的神经元模型来更好的帮助我们理解该算法的本质,不过这里需要说明的是,虽然名字是神经网络,并且结构等等也是借鉴了神经网络,但其原型以及算法本质上还和生物层面的神经网络运行原理存在

Python应用开发——30天学习Streamlit Python包进行APP的构建(9)

st.area_chart 显示区域图。 这是围绕 st.altair_chart 的语法糖。主要区别在于该命令使用数据自身的列和指数来计算图表的 Altair 规格。因此,在许多 "只需绘制此图 "的情况下,该命令更易于使用,但可定制性较差。 如果 st.area_chart 无法正确猜测数据规格,请尝试使用 st.altair_chart 指定所需的图表。 Function signa