20220823 By Junwu Chen at EPFL
编译lammps的具有恒电势计算功能的版本,采用LAMMPS-CONP2(或者说LAMMPS-USER-CONP2)软件包,开发者有视频介绍。
官网相关介绍:
The USER-CONP2 package allows users to perform LAMMPS MD simulations with constant potential electrodes. It updates the original LAMMPS-CONP (https://github.com/zhenxingwang/lammps-conp) with the following improvements and optimizations:
- Overall electroneutrality enforced via projection matrix precomputation
- New PPPM KSpace styles and CONP interfaces, including with the Intel package
- Smart neighborlisting and newton on compatibility
- Extensive vectorization speedups in the old Ewald KSpace code
1. 下载CONP2匹配的lammps 27May2021版本源代码(可自行下载:官方;github)
wget方式下载(网络等问题可自行下载后上传服务器):
wget https://lammps.sandia.gov/tars/lammps-27May2021.tar.gz --no-check-certificate
2. 安装编译lammps
编译环境加载:
- Intel开发套件(parallel_studio_xe_2018)加载,如我组服务器为:
source /opt/intel/parallel_studio_xe_2018/psxevars.sh
- 高版本GCC加载(如v_7.5.0,此处采用module方式加载),因为makefile是由GNU make编写
module load GCC/7.5.0 cmake-3.17.0-gcc-7.5.0
安装CONP2:
tar zxf lammps-27May2021.tar.gz
unzip lammps-USER-CONP2-main.zip
# export LAMMPS_PREFIX=/path/to/lammps
export LAMMPS_PREFIX=`pwd`/lammps-27May2021
cd lammps-USER-CONP2-main/
bash ./install_cmake.sh
选择需要安装的package:
如:
cd ../lammps-27May2021
mkdir build && cd build
cmake -C ../cmake/presets/most.cmake \
-C ../cmake/presets/nolib.cmake \
-C ../cmake/presets/intel.cmake \
-D PKG_USER-CONP2=yes \
-D PKG_USER-INTEL=yes \
-D INTEL_ARCH=cpu -D INTEL_LRT_MODE=threads \
-D FFT=MKL \
../cmake
# 执行上个命令时会自动安装USER-CONP2、USER-INTEL(intel加速包)和大部分包
相关命令,详情见官方手册
注意:有些软件包需要其它库依赖,无法安装,详情见官方手册
开始编译(build/
目录下):
make -j 12
其中的12
代表用12核cpu并行编译,若之前编译过或编译失败过,请在正式编译前运行make clean
测试可以用src/USER-INTEL/TEST
下的脚本,但要自己根据机器修改相应配置。