☰
LAMMPS Windows 安装指南:下载、安装、配置与串并行运行全攻略
2026/10/15 2:32:54 网站建设 项目流程
  • 科研
  • 科学计算
  • 高性能计算

【免费下载链接】lammps

Public development project of the LAMMPS MD software package

项目地址:https://gitcode.com/gh_mirrors/la/lammps
点击查看免费下载

导读

LAMMPS(Large-scale Atomic/Molecular Massively Parallel Simulator)是经典分子动力学(MD)模拟领域的开源软件包,其官方源码发行版中提供了面向 Windows 系统的预编译可执行安装包,让不熟悉 Linux 编译流程的用户也能在 Windows 上直接运行 LAMMPS 的完整功能。本文围绕 doc/src/Install_windows.rst 展开,系统讲解如何获取官方 Windows 安装程序、安装后系统环境的变化、二进制包内置的可选软件包范围、串行与 MPI 并行运行方式,并结合 cmake/packaging 目录下的 NSIS 安装脚本源码,从安装包内部视角解释每个安装步骤背后的真实行为。读完本文,你将掌握在 Windows 上部署、更新、卸载 LAMMPS 以及利用LAMMPS_POTENTIALS、PATH等环境变量正确驱动模拟的完整技能。

适用前提:本文面向在 Windows 系统上以"用户安装"方式部署 LAMMPS 的场景;安装包发布与安装脚本行为均以当前仓库(LAMMPS 开发版源码树)为准。

一、Windows 安装包的获取

LAMMPS 官方为 Windows 用户提供了预编译的安装程序,这些安装程序把 LAMMPS 的可执行文件、势函数文件、文档 PDF、示例文件等打包成.exe,下载地址为官方安装包发布站点(对应 Install_windows.rst 中给出的链接,即packages.lammps.org/windows.html)。

1.1 安装包命名与版本对应关系

安装包的文件名中带有日期,该日期即对应的 LAMMPS 版本号(LAMMPS 采用 YYYYMMDD 形式的版本命名)。这一点可以从仓库中的 NSIS 安装脚本得到印证:例如 cmake/packaging/lammps-gui.nsis 中:

!define LAMMPS "LAMMPS ${VERSION} with GUI" OutFile "../LAMMPS-Win10-x64-GUI-${VERSION}.exe"

其中${VERSION}即YYYYMMDD格式的版本日期,最终生成的安装程序名为LAMMPS-Win10-x64-GUI-20240101.exe这类格式。同理,cmake/packaging/lammps-noadmin.nsis 与 cmake/packaging/lammps-python.nsis 分别生成LAMMPS-Win10-x64-${VERSION}.exe与LAMMPS-Win10-x64-Python-${VERSION}.exe。

下载站点同时提供当前版本和历史版本的安装程序,可按需选择。

1.2 32 位与 64 位版本

官方同时提供32 位与64 位两种安装包,并且每个安装包都同时包含一个串行(serial)可执行文件和一个并行(parallel)可执行文件,安装时不会冲突。

说明:虽然旧版安装脚本中仍存在 32 位构建的痕迹(如lammps-gui.nsis中通过注册表标记安装位数),但当前仓库打包脚本生成的安装包名为LAMMPS-Win10-x64-*,即面向 64 位 Windows 10 及以上系统。装机时应优先选择与操作系统位数匹配的版本。

二、Windows 并行运行的 MPI 前置条件

安装包中的并行可执行文件依赖 MPI(Message Passing Interface)实现才能进行分布式并行计算。安装包发布站点同时给出了 Windows 下 MPI 的安装说明:

  • 官方推荐的 MPI 实现为MPICH2(源自阿贡国家实验室),用于运行并行 LAMMPS 任务。
  • 从仓库的 NSIS 脚本来看,目前 Windows 安装包面向MS-MPI与MPICH2两类实现。例如 cmake/packaging/lammps-noadmin.nsis 定义了 MPICH2 的二进制目录:
!define MPICHDIR "$ProgramFiles64\MPICH2\bin"
  • 安装脚本会在安装时把MPICHDIR加入用户PATH(见 lammps-noadmin.nsis),这样mpiexec等命令即可在命令行直接调用。

根据 Run_windows.rst 的说明,使用 MS-MPI 并行可执行文件时,需要先下载并安装 MS-MPI 运行时包msmpisetup.exe;只有需要在 Windows 上从源码用 Visual Studio 编译 LAMMPS 时,才需要额外的msmpisdk.msi(SDK 开发包)。安装 MS-MPI 后建议重启一次系统,使环境变量与 MPI 服务生效。

三、安装包内置的可选软件包范围

3.1 完整软件包清单

Windows 二进制安装包包含了源码发行版中的全部可选软件包(optional packages),但以下 9 个包除外:

未包含的软件包说明
ADIOS基于 ADIOS 的 I/O 适配器
H5MD基于 HDF5 的轨迹格式
KIMOpenKIM 势函数互操作接口
ML-PACE机器学习原子间势 PACE 模型
ML-QUIP机器学习势 QUIP/GAP 接口
MSCG多尺度粗粒化力匹配工具
NETCDFNetCDF 轨迹输出格式
QMMM量子-经典耦合 QM/MM 计算
SCAFACOSScaFaCoS 长程库接口

上述软件包列表来自 Install_windows.rst,当前仓库 doc/src/Packages.rst 提供了完整的包目录可对照查看。这些包大多依赖第三方外部库或运行时环境,在交叉编译环境下不易一并打包。

此外还有几个特殊限制:

  • 串行(serial)版本不含 LATBOLTZ 软件包(格子玻尔兹曼流体动力学)。
  • PYTHON 软件包仅出现在捆绑了 Python 运行时的 Python 安装包中,普通安装包不包含。
  • GPU 软件包以 OpenCL 为后端编译,采用混合精度内核(mixed precision kernels),意味着在 Windows 上使用 GPU 加速时通过 OpenCL 驱动工作,而非 CUDA。

3.2 如何确认当前可执行文件的软件包组成

安装完成后,可在命令行运行:

lmp -h

根据 Packages.rst 的说明,-h选项会列出当前可执行文件内置的所有软件包,方便核对自己拿到的二进制版本是否满足需求。

四、安装过程详解:安装包做了什么

当你双击下载到的安装包后,NSIS 安装程序会弹出向导对话框,逐步完成以下工作。仓库中的 cmake/packaging/lammps-noadmin.nsis 等脚本精确描述了每一步行为。

4.1 交互式安装步骤

安装向导依次进行:

  1. 许可证确认(MUI_PAGE_LICENSE):展示并接受 LAMMPS 的 GPL 许可。
  2. 选择安装目录(MUI_PAGE_DIRECTORY):默认安装到$LOCALAPPDATA\LAMMPS ${VERSION},即用户目录下的 AppData 位置;用户可修改。
  3. 安装文件复制(MUI_PAGE_INSTFILES):解压并复制所有组件。
  4. 安装结束时写入卸载注册信息,并提供卸载程序入口。

安装脚本定义的关键组件目录(以 lammps-noadmin.nsis 为例):

安装目录内容
binLAMMPS 可执行文件(lmp等)及运行所需的 DLL(如libfftw3-3.dll、libgomp-1.dll、libgfortran-5.dll、libstdc++-6.dll等)
DocLAMMPS 手册 PDF 等文档
Benchmarks基准测试用例(来自仓库 bench 目录,排除log.*.4日志)
Examples示例输入文件(来自仓库 examples 目录,排除日志文件)
Potentials势函数文件(来自仓库 potentials 目录的全部文件)
PythonLAMMPS Python 模块(来自 python/lammps)
frc_filesmsi2lmp 力场参数文件(来自 tools/msi2lmp/frc_files)
pluginsLAMMPS 插件目录
qt6plugins(GUI 版)Qt6 运行所需的插件(平台、图像格式、样式、TLS)

4.2 环境变量与系统设置的修改

安装脚本会通过EnVar插件修改当前用户的系统环境变量(lammps-noadmin.nsis):

环境变量值作用
PATH追加$INSTDIR\bin(并行包还会追加$ProgramFiles64\MPICH2\bin)使lmp、mpiexec命令在命令行中直接可用
LAMMPS_POTENTIALS$INSTDIR\Potentials让pair_coeff等命令能自动找到势函数文件
MSI2LMP_LIBRARY$INSTDIR\frc_files供 msi2lmp 转换工具查找力场库
PYTHONPATH$INSTDIR\Python让 Python 解释器能找到 LAMMPS 模块
LAMMPS_PLUGIN_PATH$INSTDIR\plugins让 LAMMPS 插件可被动态加载
LAMMPSHOME$INSTDIR记录安装目录位置

同时安装程序会:

  • 在开始菜单创建程序组($SMPROGRAMS\LAMMPS ${VERSION}),包含 LAMMPS 手册、示例、基准测试、README、LICENSE、卸载程序的快捷方式,以及指向 LAMMPS 官网和命令文档的互联网快捷方式。
  • (GUI 版)注册.lmp文件关联到 LAMMPS-GUI(见 lammps-gui.nsis 与 FileAssociation.nsh),双击.lmp输入文件可直接用 GUI 打开。
  • 写入 Windows 注册表HKCU\Software\Microsoft\Windows\CurrentVersion\Uninstall\LAMMPS,登记显示名称、发布者、版本、安装位置、卸载命令等(lammps-gui.nsis),使其出现在"设置→应用"列表。

4.3LAMMPS_POTENTIALS的底层作用原理

这个环境变量对日常使用极为关键。根据 pair_coeff.rst 的说明,当pair_coeff命令引用势函数文件时,LAMMPS 按如下顺序查找文件:

  1. 首先在当前工作目录查找;
  2. 若指定了相对路径(如../potentials/niu3.eam),则按该路径查找;
  3. 若仍未找到,则在LAMMPS_POTENTIALS指定的一个或多个目录中查找。

因此安装包把LAMMPS_POTENTIALS设置为$INSTDIR\Potentials后,你可以从任意目录运行模拟,无需把势文件复制到工作目录。该变量支持多个路径,Windows 下用分号;分隔多个目录,其他系统用冒号:(pair_coeff.rst)。

提示:若在命令行手动设置,Windows 语法为set LAMMPS_POTENTIALS="C:\Path to LAMMPS\Potentials"(参见 pair_coeff.rst)。

4.4 安装包的构建来源(补充背景)

从仓库的打包工具可以看出,Windows 安装包是在 Linux 上通过 MinGW 交叉编译生成的,相关脚本有:

  • cmake/packaging/cmake-win-on-linux.py:自动下载并校验 MinGW 运行时与 Qt 库、执行交叉编译、调用 NSIS 生成安装包的完整流程。
  • cmake/packaging/build_windows_cross_zip.sh:演示如何从交叉编译产物中收集 DLL 依赖、Qt 插件并打包为 zip 发布版。

这些脚本可让你理解安装包中各个 DLL 和组件的来龙去脉,但普通用户只需使用下载站点提供的成品安装包即可。

五、安装完成后如何运行 LAMMPS

5.1 串行运行

根据 Run_windows.rst 的步骤:

  1. 先安装 LAMMPS 安装包;
  2. 打开"命令提示符(Command Prompt)"或"终端(Terminal)";
  3. 切换到输入脚本所在目录(例如cd "Documents");
  4. 输入命令运行:
lmp -in in.file.lmp

其中in.file.lmp是你的 LAMMPS 输入脚本文件名。

5.2 多线程加速(串行可执行文件)

串行可执行文件虽然不使用 MPI,但内置了 OPENMP 与 KOKKOS 软件包的多线程支持。例如使用 4 线程运行(Run_windows.rst):

lmp -in in.lj.lmp -pk omp 4 -sf omp lmp -in in.lj.lmp -k on t 4 -sf kk
  • -pk omp 4 -sf omp:以 OpenMP 风格运行 4 线程;
  • -k on t 4 -sf kk:启用 KOKKOS 风格,4 线程。

5.3 MPI 并行运行

如果你安装的是 MS-MPI 版本的并行可执行文件(Run_windows.rst):

mpiexec -localonly 4 lmp -in in.file.lmp mpiexec -np 4 lmp -in in.file.lmp
  • -localonly:仅在当前机器上启动进程,适合单机多核并行;
  • -np 4:启动 4 个 MPI 进程(使用 MS-MPI 时可能提示输入安装 MPI 时设置的密码)。

使用 MPI 模式时,屏幕输出可能不会立即刷新,如果脚本执行时间长需要耐心等待。

5.4 MPI 与多线程混合

并行可执行文件同样包含 OPENMP/KOKKOS 的多线程支持,可与 MPI 组合,例如(Run_windows.rst):

mpiexec -localonly 2 lmp -in in.lj.lmp -pk omp 2 -sf omp mpiexec -localonly 2 lmp -in in.lj.lmp -kokkos on t 2 -sf kk

5.5 串并行方式的适用性对比

Run_windows.rst 给出了重要的选型建议:

  • MPI 并行适用于 LAMMPS 的全部功能,且 LAMMPS 从设计之初就以 MPI + 域分解(domain decomposition)为核心,多数场景下 MPI 并行比多线程更高效;
  • 多线程仅对部分风格(styles)可用,且实现于 MPI 并行之上;
  • 多线程最适合域分解负载不均衡、线程数不超过 8 的场景。

5.6 使用 LAMMPS-GUI

安装包发布站点也提供包含LAMMPS-GUI的安装包(文件名含GUI)。安装后可从开始菜单启动 LAMMPS-GUI,直接在图形界面中打开输入文件并运行;该安装包同时包含命令行版本lmp。GUI 版安装包还会把.lmp文件关联到 LAMMPS-GUI(lammps-gui.nsis)。

5.7 Python 集成

由于 LAMMPS 库以共享库形式编译,且安装包会一并安装 LAMMPS Python 模块(Install_windows.rst),因此安装后可以在 Python 解释器中直接import lammps使用。普通安装包把模块放在$INSTDIR\Python并写入PYTHONPATH;若使用捆绑 Python 运行时的Python安装包,则无需额外安装 Python 即可加载模块(lammps-python.nsis)。

六、版本更新与多版本共存

6.1 更新到新版本

更新 LAMMPS 的推荐流程(Install_windows.rst)与绝大多数 Windows 程序一致:

  1. 先卸载当前已安装的版本;
  2. 下载新版本的安装包;
  3. 按前述安装流程重新安装。

不建议在未卸载旧版的情况下直接安装新版。

6.2 多版本共存与限制

你可以在不同目录中安装多个 LAMMPS 版本(例如用于调试对比),但需要注意:

  • 只有最后安装的那个版本的可执行文件会被自动找到(因为PATH环境变量指向的是最后写入的bin目录);
  • 因此多版本共存仅建议用于调试目的。

从安装脚本也能看到该限制的根源:每次安装都会通过EnVar::AddValue "PATH" "$INSTDIR\bin"修改用户PATH(lammps-noadmin.nsis),路径按安装先后顺序排列,命令行解析lmp时通常命中最早写入的路径。

建议:为每个版本使用不同的安装目录,并在需要切换时手动调整PATH环境变量的顺序,或直接在命令行使用完整路径调用指定版本。

七、卸载与清理

开始菜单的程序组中包含"Uninstall"快捷方式,指向安装目录下的Uninstall.exe(lammps-gui.nsis)。卸载程序会:

  1. 删除安装目录及其全部子目录(bin、Doc、Examples、Potentials、Python、frc_files、plugins、qt6plugins等,见 lammps-noadmin.nsis);
  2. 从PATH中移除$INSTDIR\bin(以及 MPICH2 路径,若由安装包写入);
  3. 删除LAMMPS_POTENTIALS、MSI2LMP_LIBRARY、PYTHONPATH(安装包写入项)、LAMMPS_PLUGIN_PATH、LAMMPSHOME等环境变量(lammps-noadmin.nsis);
  4. 删除注册表卸载信息项与开始菜单快捷方式;
  5. (GUI 版)取消.lmp文件关联注册。

注意:卸载程序只会清理安装包自己写入的环境变量与注册表项,不会影响你后来手动添加的路径。

八、常见问题与排查建议

现象可能原因处理建议
命令行输入lmp提示找不到命令PATH未包含安装目录bin,或安装后未重开终端重新打开终端;或手动设置PATH指向$INSTDIR\bin
运行mpiexec报错未安装 MS-MPI / MPICH2 运行时安装msmpisetup.exe(MS-MPI)后重启
输入脚本提示找不到势函数文件LAMMPS_POTENTIALS未设置或指向错误确认该变量指向安装目录的Potentials文件夹
需要确认软件包构成—运行lmp -h查看内置软件包列表
需要指定版本的二进制—用完整路径调用其他版本的lmp.exe(多版本调试场景)

参考资源(仓库内)

  • 安装文档:doc/src/Install_windows.rst
  • 运行文档:doc/src/Run_windows.rst
  • 软件包总览:doc/src/Packages.rst
  • 势函数查找机制:doc/src/pair_coeff.rst
  • NSIS 安装脚本:cmake/packaging/lammps-noadmin.nsis、cmake/packaging/lammps-msmpi.nsis、cmake/packaging/lammps-gui.nsis、cmake/packaging/lammps-python.nsis
  • 文件关联插件:cmake/packaging/FileAssociation.nsh
  • Windows 交叉打包工具:cmake/packaging/cmake-win-on-linux.py、cmake/packaging/build_windows_cross_zip.sh
  • 科研
  • 科学计算
  • 高性能计算

【免费下载链接】lammps

Public development project of the LAMMPS MD software package

项目地址:https://gitcode.com/gh_mirrors/la/lammps
点击查看免费下载

相关推荐

上一篇:OpenCore Legacy Patcher完全指南:让老旧Mac焕发新生,轻松升级最新macOS系统
下一篇:Rufus U盘启动盘制作指南:ISO 写入可启动 U 盘的五步完整流程

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询