在LAMMPS中使用NequIP的方法

之前我们介绍过在LAMMPS中使用CHGNet的方法,最近,具有E(3)等变的NequIP也得到了很多的关注,笔者测试也觉得在很多场景下其相比CHGNet会更加好用,在这里介绍一下安装加入了NequIP pair style的Lammps安装方法。

1.安装Conda

2.新建Conda环境

由于NequIP对于Python和PyTorch版本有以下要求:

  • Python >= 3.7
  • PyTorch >= 1.8, !=1.9, <=1.11.*.

NequIP也要求PyTorch or LibTorch >= 1.10.0。

综合考虑我们选择Python 3.8+PyTorch 1.11.0环境,而且注意如果只是用NequIP不需要装torchvision和torchaudio,可以节省空间。这里Wandb是用来可视化训练日志的工具Weights & Biases,如果没有需求可以不装。

conda create -n nequip python=3.8
conda activate nequip

pip install wandb
conda install pytorch=1.11.0 cpuonly -c pytorch
pip install nequip

3.下载LAMMPS

从LAMMPS官方Github仓库下载LAMMPS stable_29Sep2021_update2版本,以及下载NequIP pair style。

git clone -b stable_29Sep2021_update2 --depth 1 [email protected]:lammps/lammps
git clone [email protected]:mir-group/pair_nequip

进入pair_nequip目录,执行

./patch_lammps.sh /path/to/lammps/

其中/path/to/lammps/是刚才下载的LAMMPS源码位置。,该脚本会自动完成pair style复制以及CMakeLists的修改。

4.编译

接下来使用Intel Oneapi进行编译,自行加载相应环境。

cd lammps
mkdir build
cd build
cmake ../cmake -DCMAKE_PREFIX_PATH=`python -c 'import torch;print(torch.utils.cmake_prefix_path)'`

make -j$(nproc)

完成后/path/to/lammps/build/lmp即为我们所需的支持NequIP的LAMMPS二进制文件。不过需要注意的是,由于消息传递神经网络的特点,NequIP不支持MPI,该课题组还有支持MPI和并行加速的程序Allegro(https://github.com/mir-group/allegro)。

NequIP官方仓库:

https://github.com/mir-group/nequip

https://github.com/mir-group/pair_nequip

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据