LAMMPS 22Jul2025 Update 5

ウェブページ

https://www.lammps.org

バージョン

22Jul2025 Update 5

ビルド環境

  • GCC 10.3.1 (gcc-toolset-10)
  • Intel MPI 2021.16
  • GSL 2.8
  • OpenBLAS 0.3.29

ビルドに必要なファイル

  • lammps-src-22Jul2025_update5.tar.gz
  • (22Jul2025 用の N2P2)
  • (一部ファイルは以下スクリプト中で取得)

ビルド手順

#!/bin/sh

VERSION=2025-Jul22-u5
NAME=lammps-22Jul2025
INSTALL_PREFIX=/apl/lammps/${VERSION}

BASEDIR=/home/users/${USER}/Software/LAMMPS/${VERSION}
LAMMPS_TARBALL=${BASEDIR}/lammps-src-22Jul2025_update5.tar.gz

WORKDIR=/gwork/users/${USER}
LAMMPS_WORKDIR=${WORKDIR}/${NAME}

FFMPEG_BIN=/apl/ffmpeg/6.1/bin/ffmpeg
VMD_MOLFILE_INC=/home/users/${USER}/Software/VMD/1.9.4/vmd-1.9.4a57/plugins/include
GSL_ROOT=/apl/gsl/2.8
N2P2_ROOT=${INSTALL_PREFIX}/n2p2-2.2.0

PARALLEL=12

#------------------------------------------------------------------
umask 0022
export LANG=C
ulimit -s unlimited

module -s purge
module -s load gcc-toolset/10
module -s load intelmpi/2021.16
module -s load gsl/2.8
#module -s load mkl/2023.2.0
module -s load openblas/0.3.29-lp64

PYTHONEXE=/usr/bin/python3.6m
PYTHONINC=/usr/include/python3.6m

cd ${WORKDIR}
if [ -d ${NAME} ]; then
 mv ${NAME} lammps_erase
 rm -rf lammps_erase &
fi

tar zxf ${LAMMPS_TARBALL}

cd ${NAME}
# for FFT_SINGLE=on
sed -i -e '26i#include "force.h"' unittest/force-styles/test_fix_timestep.cpp
sed -i -e '29i#include "kspace.h"' unittest/force-styles/test_pair_style.cpp
# pass python exe path to MDI cmake
sed -i -e "59i\    -DPython_EXECUTABLE=${PYTHONEXE}" cmake/Modules/Packages/MDI.cmake
mkdir build && cd build

# Disabled PKGs:
# ADIOS, VTK: noavail
# KIM: to avoid unfavorable dependence to libkim-api.so.2
# ML-IAP: not enabled for CPU
# INTEL: not necessary for gcc build

cmake ../cmake \
 -DLAMMPS_MACHINE=rccs \
 -DENABLE_TESTING=on \
 -DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
 -DCMAKE_C_COMPILER=mpicc \
 -DCMAKE_CXX_COMPILER=mpicxx \
 -DCMAKE_Fortran_COMPILER=mpif90 \
 -DCMAKE_C_FLAGS_RELEASE="-O3 -DNDEBUG" \
 -DCMAKE_CXX_FLAGS_RELEASE="-O3 -DNDEBUG" \
 -DCMAKE_Fortran_FLAGS_RELEASE="-O3 -DNDEBUG" \
 -DPython_EXECUTABLE=${PYTHONEXE} \
 -DPython_INCLUDE_DIR=${PYTHONINC} \
 -DGSL_ROOT_DIR=${GSL_ROOT} \
 -DBUILD_SHARED_LIBS=on \
 -DBUILD_TOOLS=on \
 -DBUILD_MPI=on \
 -DBUILD_OMP=on \
 -DBUILD_LAMMPS_GUI=on \
 -DBUILD_WHAM=on \
 -DFFT=FFTW3 \
 -DFFT_SINGLE=on \
 -DFFT_FFTW_THREADS=on \
 -DWITH_JPEG=on \
 -DWITH_PNG=on \
 -DWITH_GZIP=on \
 -DWITH_FFMPEG=on \
 -DFFMPEG_EXECUTABLE=${FFMPEG_BIN} \
 -DPKG_ADIOS=off \
 -DPKG_AMOEBA=on \
 -DPKG_APIP=on \
 -DPKG_ASPHERE=on \
 -DPKG_ATC=on \
 -DPKG_AWPMD=on \
 -DPKG_BOCS=on \
 -DPKG_BODY=on \
 -DPKG_BPM=on \
 -DPKG_BROWNIAN=on \
 -DPKG_CG-DNA=on \
 -DPKG_CG-SPICA=on \
 -DPKG_CLASS2=on \
 -DPKG_COLLOID=on \
 -DPKG_COLVARS=on \
 -DPKG_COMPRESS=on \
 -DPKG_CORESHELL=on \
 -DPKG_DIELECTRIC=on \
 -DPKG_DIFFRACTION=on \
 -DPKG_DIPOLE=on \
 -DPKG_DPD-BASIC=on \
 -DPKG_DPD-MESO=on \
 -DPKG_DPD-REACT=on \
 -DPKG_DPD-SMOOTH=on \
 -DPKG_DRUDE=on \
 -DPKG_EFF=on \
 -DPKG_ELECTRODE=on \
 -DPKG_EXTRA-COMMAND=on \
 -DPKG_EXTRA-COMPUTE=on \
 -DPKG_EXTRA-DUMP=on \
 -DPKG_EXTRA-FIX=on \
 -DPKG_EXTRA-MOLECULE=on \
 -DPKG_EXTRA-PAIR=on \
 -DPKG_FEP=on \
 -DPKG_GPU=off \
 -DPKG_GRANULAR=on \
 -DPKG_H5MD=on \
 -DPKG_INTEL=off \
 -DPKG_INTERLAYER=on \
 -DPKG_KIM=off \
 -DDOWNLOAD_KIM=off \
 -DPKG_KOKKOS=on \
 -DKokkos_ARCH_ZEN3=on \
 -DKokkos_ENABLE_OPENMP=on \
 -DFFT_KOKKOS=FFTW3 \
 -DPKG_KSPACE=on \
 -DPKG_LATBOLTZ=on \
 -DPKG_LEPTON=on \
 -DPKG_MACHDYN=on \
 -DDOWNLOAD_EIGEN3=on \
 -DPKG_MANIFOLD=on \
 -DPKG_MANYBODY=on \
 -DPKG_MC=on \
 -DPKG_MDI=on \
 -DDOWNLOAD_MDI=on \
 -DPKG_MEAM=on \
 -DPKG_MESONT=on \
 -DPKG_MGPT=on \
 -DPKG_MISC=on \
 -DPKG_ML-HDNNP=on \
 -DDOWNLOAD_N2P2=off \
 -DN2P2_DIR=${N2P2_ROOT} \
 -DPKG_ML-IAP=off \
 -DMLIAP_ENABLE_PYTHON=off \
 -DPKG_ML-PACE=on \
 -DPKG_ML-POD=on \
 -DPKG_ML-QUIP=on \
 -DDOWNLOAD_QUIP=on \
 -DPKG_ML-RANN=on \
 -DPKG_ML-SNAP=on \
 -DPKG_ML-UF3=on \
 -DPKG_MOFFF=on \
 -DPKG_MOLECULE=on \
 -DPKG_MOLFILE=on \
 -DMOLFILE_INCLUDE_DIR=${VMD_MOLFILE_INC} \
 -DPKG_NETCDF=on \
 -DPKG_OPENMP=on \
 -DPKG_OPT=on \
 -DPKG_ORIENT=on \
 -DPKG_PERI=on \
 -DPKG_PHONON=on \
 -DPKG_PLUGIN=on \
 -DPKG_PLUMED=on \
 -DDOWNLOAD_PLUMED=on \
 -DPKG_POEMS=on \
 -DPKG_PTM=on \
 -DPKG_PYTHON=on \
 -DPKG_QEQ=on \
 -DPKG_QMMM=on \
 -DPKG_QTB=on \
 -DPKG_REACTION=on \
 -DPKG_REAXFF=on \
 -DPKG_REPLICA=on \
 -DPKG_RHEO=on \
 -DPKG_RIGID=on \
 -DPKG_SCAFACOS=on \
 -DDOWNLOAD_SCAFACOS=on \
 -DPKG_SHOCK=on \
 -DPKG_SMTBQ=on \
 -DPKG_SPH=on \
 -DPKG_SPIN=on \
 -DPKG_SRD=on \
 -DPKG_TALLY=on \
 -DPKG_UEF=on \
 -DPKG_VORONOI=on \
 -DDOWNLOAD_VORO=on \
 -DPKG_VTK=off \
 -DPKG_YAFF=on \
 -DBLA_VENDOR=OpenBLAS \
 -DBLA_PREFER_PKGCONFIG=on \
 -DCMAKE_BUILD_TYPE=Release

#make -j ${PARALLEL}
make VERBOSE=1 -j ${PARALLEL}

export OMP_NUM_THREADS=2

make test
make install
cp -a ../examples ${INSTALL_PREFIX}
mkdir -p ${INSTALL_PREFIX}/lib64/python
cp -r ../python/lammps ${INSTALL_PREFIX}/lib64/python
ln -s ${INSTALL_PREFIX}/lib64/liblammps_rccs.so \
     ${INSTALL_PREFIX}/lib64/python/lammps/liblammps.so

cd ${INSTALL_PREFIX}
for f in etc/profile.d/*; do
 if [ -f $f ]; then
   ln -s $f .
 fi
done

cd lib64
if [ -f liblammps_rccs.so ]; then
 ln -s liblammps_rccs.so liblammps.so
fi
if [ -f liblammps_rccs.so.0 ]; then
 ln -s liblammps_rccs.so.0 liblammps.so.0
fi

有効なパッケージ

AMOEBA APIP ASPHERE ATC AWPMD BOCS BODY BPM BROWNIAN CG-DNA CG-SPICA CLASS2 
COLLOID COLVARS COMPRESS CORESHELL DIELECTRIC DIFFRACTION DIPOLE DPD-BASIC 
DPD-MESO DPD-REACT DPD-SMOOTH DRUDE EFF ELECTRODE EXTRA-COMMAND EXTRA-COMPUTE 
EXTRA-DUMP EXTRA-FIX EXTRA-MOLECULE EXTRA-PAIR FEP GRANULAR H5MD INTERLAYER 
KOKKOS KSPACE LATBOLTZ LEPTON MACHDYN MANIFOLD MANYBODY MC MDI MEAM MESONT 
MGPT MISC ML-HDNNP ML-PACE ML-POD ML-QUIP ML-RANN ML-SNAP ML-UF3 MOFFF 
MOLECULE MOLFILE NETCDF OPENMP OPT ORIENT PERI PHONON PLUGIN PLUMED POEMS PTM 
PYTHON QEQ QMMM QTB REACTION REAXFF REPLICA RHEO RIGID SCAFACOS SHOCK SMTBQ 
SPH SPIN SRD TALLY UEF VORONOI YAFF

テスト結果

ログのコピーは /apl/lammps/2025-Jul22-u5/Testing 以下にあります。

メモ

  • 22Jul2025 と同じ手順でビルドしています
  • python パッケージは無理やり導入しています。
    • システムの python (usr/bin/python3) を実行し、import lammps とすれば読み込み可能です。
    • (PYTHONPATH は module 内で定義されています)