【LAMMPS学习】二、LAMMPS安装(3)通过Conda/tarball/git安装LAMMPS
2. LAMMPS安装
您可以将LAMMPS下载为可执行文件或源代码。
在下载LAMMPS源代码时,还必须构建LAMMPS。但是对于在构建中包含或排除哪些特性,您有更大的灵活性。当您下载并安装预编译的LAMMPS可执行文件时,您只能安装可用的LAMMPS版本以及这些构建中包含的特性。如果您计划修改或扩展LAMMPS,那么您必须从源代码构建LAMMPS。
[请注意]如果您对预编译的LAMMPS可执行文件有疑问,您需要联系准备这些可执行文件的人员。LAMMPS开发人员无法控制他们如何配置和构建他们的包以及何时更新它们。
2.1.下载适用于 Linux 的可执行文件
2.2.下载 macOS 的可执行文件
2.3.下载适用于 Windows 的可执行文件
2.4.通过 Conda 下载适用于 Linux 或 macOS 的可执行文件
预编译的 LAMMPS 二进制文件可通过 Conda 包管理系统用于 macOS 和 Linux。
首先,必须在系统上设置 Conda 包管理器。按照说明安装 Miniconda,然后为您的 LAMMPS 安装创建一个 conda 环境(命名为 my-lammps-env 或您喜欢的任何名称):
conda config --add channels conda-forge
conda create -n my-lammps-env
LAMMPS 二进制文件是使用 KIM 包构建的,这导致 Conda 在安装 LAMMPS 时也会安装 kim-api 二进制文件。为了使用 openkim.org 的潜力,您可以安装 openkim-models 包
conda install openkim-models
2.5.通过 tarball 形式下载源代码和文档
您可以从 LAMMPS 网站的下载页面或 GitHub(见下文)下载最新的 LAMMPS tarball。
您有两种 tarball 选择:最新的稳定版本或最新的功能版本。稳定版本每年发布几次,并在发布前经过更多测试。此外,在稳定版本之间,功能版本中的错误修复会向后移植,并且 tarball 偶尔也会更新。功能每 4 到 8 周发布一次。所有功能版本中的新内容都列在 LAMMPS 主页的 bug 和功能页面上。
旧版 LAMMPS 版本的 tarball 也可以从此页面下载。
从 LAMMPS 主页下载的 tarball 包括与该版本对应的预编译的 LAMMPS 文档(HTML 和 PDF 文件)。
获得 tarball 后,使用以下命令解压缩它:
tar -xzvf lammps*.tar.gz
这将创建一个 LAMMPS 目录,其名称中包含版本日期,例如lammps-28Mar23。
您还可以从 LAMMPS GitHub 发布站点的“资产”部分下载压缩的 tar 或 zip 存档。文件名为 lammps-<version>.zip,可以使用以下命令解压缩,以创建 lammps-<version> 目录:
unzip lammps*.zip
此版本对应于所选的 LAMMPS 功能或稳定版本(如匹配的 git 标签所示),并且仅包含源代码,没有预构建的文档。
2.6.通过 git 下载 LAMMPS 源代码
LAMMPS 开发是通过“LAMMPS GitHub 站点”协调的。如果将 LAMMPS 存储库克隆到本地计算机上,它具有以下几个优点:
- 您可以通过一个git命令了解LAMMPS的最新变化。
- 您可以创建自己的开发分支来向LAMMPS添加代码。
- 您可以将您的新功能提交回GitHub以包含在LAMMPS中。为此,您应该首先在GitHub上创建自己的分支。
您必须在系统上安装 git 才能使用下面解释的命令与 GitHub 上的 git 服务器进行通信。对于仍在使用 subversion (svn) 的人们,GitHub 还为 subversion 客户端提供有限的支持。
您可以在 4 个不同的 git 分支上关注 LAMMPS 开发:
- 开发版:这个分支遵循正在进行的开发,并随着拉取请求发布的每个合并提交而更新
- 发行版;更新总是从开发中快速合并而来
- 维护版:这个分支收集从开发分支到稳定分支的后移植错误修复。它用于为稳定更新版本更新稳定分支。
- 稳定版:这个分支在每个稳定版本中都会从发布分支更新,并且当维护分支合并到它中时,也会在每个更新版本中选择错误修复
要访问您机器上的 git 存储库,请使用克隆命令创建 LAMMPS 存储库的本地副本,命令如下:
git clone -b release https://github.com/lammps/lammps.git mylammps
其中“mylammps”是您希望在计算机上创建的目录的名称,“release”是上面列出的 3 个分支之一。 (请注意,您实际上下载了所有 3 个分支;您可以随时使用“git checkout <branch name>”在它们之间切换。)
命令完成后,您的目录将包含与解压当前 LAMMPS tarball 相同的文件,但不包括 HTML 文档文件。通过在 doc
目录中键入 make html
,可以根据 doc/src
中提供的内容生成它们。
初始克隆后,随着 LAMMPS 中添加错误修复和新功能,您可以通过在“mylammps”目录中键入以下 git 命令来保持最新状态:
git checkout release # not needed if you always stay in this branch
git checkout stable # use one of these 4 checkout commands
git checkout develop # to choose the branch to follow
git checkout maintenance
git pull
执行“拉取”不会更改您添加到 LAMMPS 目录结构中的任何文件。它也不会更改您编辑的任何现有 LAMMPS 文件,除非这些文件在存储库中已更改。在这种情况下,git 将尝试将存储库文件中的更改与您的文件版本合并,并告诉您是否存在任何冲突。有关详细信息,请参阅 git 文档。
如果您想访问 LAMMPS 的特定先前发布版本,您可以“签出”带有已发布标签的任何版本。有关标签列表,请参阅 git tag -l
的输出。执行此操作的 git 命令如下。
git checkout tagID
本页讨论了稳定版本以及特定稳定版本使用的 tagID。请注意,此命令将打印一些警告,因为为了返回到最新版本并能够再次使用 git pull
进行更新,您将需要执行 git checkout release
(或检查首先出任何其他所需的分支)。
使用 git pull
(或 git checkout
)更新本地文件后,如果任何源文件发生更改,您仍然需要重新构建 LAMMPS。如何执行此操作取决于您正在使用的构建系统。