LAMMPS 7Aug19
ウェブページ
バージョン
7Aug19
ビルド環境
- Intel Parallel Studio XE 2018 update 4
- cmake 3.8.2
ビルドに必要なファイル
- lammps-stable_7Aug2019.tar.gz
- lammps-testing-master.zip (2019/10/23 にダウンロード)
- (一部ファイルは以下スクリプト中で取得)
ビルド手順
#!/bin/sh
NAME=lammps-stable_7Aug2019
VERSION=7Aug19
INSTALL_PREFIX=/local/apl/lx/lammps7Aug19
BASEDIR=/home/users/${USER}/Software/LAMMPS/${VERSION}
LAMMPS_TARBALL=${BASEDIR}/${NAME}.tar.gz
TESTS_ARCHIVE=${BASEDIR}/lammps-testing-master.20191023.zip
WORKDIR=/work/users/${USER}
LAMMPS_WORKDIR=${WORKDIR}/${NAME}
TESTS_WORKDIR=${WORKDIR}/lammps-testing-master
VMD_MOLFILE_INC=/local/apl/lx/vmd193/lib/plugins/include
PARALLEL=12
#------------------------------------------------------------------
umask 0022
export LANG=C
module purge
module load intel_parallelstudio/2018update4
module load cmake/3.8.2
export CC=mpiicc
export CXX=mpiicpc
export FC=mpiifort
export MPICC=mpiicc
export MPICXX=mpiicpc
export MPIFC=mpiifort
cd ${WORKDIR}
if [ -d ${NAME} ]; then
mv ${NAME} lammps_erase
rm -rf lammps_erase &
fi
if [ -d lammps-testing-master ]; then
mv lammps-testing-master lammps-testing-master_erase
rm -rf lammps-testing-master_erase &
fi
tar zxf ${LAMMPS_TARBALL}
unzip ${TESTS_ARCHIVE}
cd ${NAME}
mkdir build && cd build
# Disabled PKGs:
# ADIOS, QUIP, QMMM, VTK: noavail
# MSCG: gsl too old
# KOKKOS: not sure what this is
# KIM: incompatible with "make install"? Build itself works fine.
cmake ../cmake \
-DLAMMPS_MACHINE=rccs \
-DLAMMPS_LIB_SUFFIX=rccs \
-DENABLE_TESTING=on \
-DLAMMPS_TESTING_SOURCE_DIR=${TESTS_WORKDIR} \
-DCMAKE_INSTALL_PREFIX=${INSTALL_PREFIX} \
-DCMAKE_C_COMPILER=mpiicc \
-DCMAKE_CXX_COMPILER=mpiicpc \
-DCMAKE_Fortran_COMPILER=mpiifort \
-DCMAKE_MPI_C_COMPILER=mpiicc \
-DCMAKE_MPI_CXX_COMPILER=mpiicpc \
-DCMAKE_MPI_Fortran_COMPILER=mpiifort \
-DBUILD_LIB=on \
-DBUILD_TOOLS=on \
-DBUILD_MPI=on \
-DBUILD_OMP=on \
-DFFT=MKL \
-DFFT_SINGLE=off \
-DDOWNLOAD_LATTE=on \
-DDOWNLOAD_SCAFACOS=on \
-DDOWNLOAD_VORO=on \
-DDOWNLOAD_PLUMED=on \
-DDOWNLOAD_EIGEN3=on \
-DMOLFILE_INCLUDE_DIRS=${VMD_MOLFILE_INC} \
-DWITH_JPEG=yes \
-DWITH_PNG=yes \
-DWITH_GZIP=yes \
-DPKG_OPT=on \
-DPKG_USER-OMP=on \
-DPKG_USER-INTEL=on \
-DPKG_GPU=off \
-DPKG_KOKKOS=off \
-DPKG_ASPHERE=on \
-DPKG_BODY=on \
-DPKG_CLASS2=on \
-DPKG_COLLOID=on \
-DPKG_COMPRESS=on \
-DPKG_CORESHELL=on \
-DPKG_DIPOLE=on \
-DPKG_GRANULAR=on \
-DPKG_KSPACE=on \
-DPKG_LATTE=on \
-DPKG_MANYBODY=on \
-DPKG_MC=on \
-DPKG_MESSAGE=on \
-DPKG_MISC=on \
-DPKG_MOLECULE=on \
-DPKG_MPIIO=on \
-DPKG_PERI=on \
-DPKG_POEMS=on \
-DPKG_PYTHON=on \
-DPKG_QEQ=on \
-DPKG_REPLICA=on \
-DPKG_RIGID=on \
-DPKG_SHOCK=on \
-DPKG_SNAP=on \
-DPKG_SPIN=on \
-DPKG_SRD=on \
-DPKG_USER-ATC=on \
-DPKG_USER-AWPMD=on \
-DPKG_USER-BOCS=on \
-DPKG_USER-CGDNA=on \
-DPKG_USER-CGSDK=on \
-DPKG_USER-COLVARS=on \
-DPKG_USER-DIFFRACTION=on \
-DPKG_USER-DPD=on \
-DPKG_USER-DRUDE=on \
-DPKG_USER-EFF=on \
-DPKG_USER-FEP=on \
-DPKG_USER-H5MD=on \
-DPKG_USER-LB=on \
-DPKG_USER-MANIFOLD=on \
-DPKG_USER-MEAMC=on \
-DPKG_USER-MESO=on \
-DPKG_USER-MGPT=on \
-DPKG_USER-MISC=on \
-DPKG_USER-MOFFF=on \
-DPKG_USER-MOLFILE=on \
-DPKG_USER-NETCDF=on \
-DPKG_USER-PHONON=on \
-DPKG_USER-PLUMED=on \
-DPKG_USER-PTM=on \
-DPKG_USER-QTB=on \
-DPKG_USER-REAXC=on \
-DPKG_USER-SCAFACOS=on \
-DPKG_USER-SDPD=on \
-DPKG_USER-SMD=on \
-DPKG_USER-SMTBQ=on \
-DPKG_USER-SPH=on \
-DPKG_USER-TALLY=on \
-DPKG_USER-UEF=on \
-DPKG_USER-YAFF=on \
-DPKG_VORONOI=on \
-DCMAKE_BUILD_TYPE=Release
make -j ${PARALLEL}
make test && make install
# detailed tests
cd ${TESTS_WORKDIR}
LAMMPS_WORKDIR_ESC=$(echo $LAMMPS_WORKDIR | sed -e 's/\//\\\\\//g')
sed -i -e "s/^read_data.*/read_data ${LAMMPS_WORKDIR_ESC}\/bench\/data.rhodo/" tests/examples/accelerate/in.rhodo
sed -i -e "s/^ pair_coeff.*/ pair_coeff * * ${LAMMPS_WORKDIR_ESC}\/potentials\/Cu_mishin1.eam.alloy Cu/" tests/examples/USER/misc/ti/in.ti_spring
cp ${LAMMPS_WORKDIR_ESC}/potentials/{CC.KC,CH.airebo} tests/examples/USER/misc/kolmogorov-crespi
# test classes
NOAVAIL="mscg kim USER/quip USER/misc/i-pi"
PROC1="gcmc"
PROCS3="tad neb USER/dpd/dpdrx-shardlow"
STALL="USER/eff/ECP/Si2H6 USER/eff/CH4"
STALL_INTEL="balance"
UNKNOWN="USER/misc/pimd USER/misc/grem USER/atc COUPLE ASPHERE/tri ASPHERE/line"
TOOLONG="USER/misc/imd USER/lb"
EXCLUDES="${NOAVAIL} ${PROC1} ${PROCS3} ${STALL} ${STALL_INTEL} ${UNKNOWN} ${TOOLONG}"
LAMMPSBIN=${INSTALL_PREFIX}/bin/lmp_rccs
# basic
NPROCS=4
JOBNAME=basic4
python \
lammps_testing/regression.py \
${JOBNAME} \
"mpirun -np ${NPROCS} ${LAMMPSBIN}" \
${TESTS_WORKDIR}/tests/examples/ \
-exclude ${EXCLUDES}
# gcmc test
NPROCS=1
JOBNAME=gcmc
python \
lammps_testing/regression.py \
${JOBNAME} \
"mpirun -np ${NPROCS} ${LAMMPSBIN}" \
${TESTS_WORKDIR}/tests/examples/ \
-only ${PROC1}
# tad
NPROCS=3
JOBNAME=tad
python \
lammps_testing/regression.py \
${JOBNAME} \
"mpirun -np ${NPROCS} ${LAMMPSBIN} -partition 3x1" \
${TESTS_WORKDIR}/tests/examples/ \
-only tad
# neb(sivac)
NPROCS=3
JOBNAME=sivac
TESTDIR=tests/examples/neb
## evacuate
mv ${TESTDIR}/in.neb.hop1 ${TESTDIR}/In.neb.hop1
mv ${TESTDIR}/in.neb.hop2 ${TESTDIR}/In.neb.hop2
python \
lammps_testing/regression.py \
${JOBNAME} \
"mpirun -np ${NPROCS} ${LAMMPSBIN} -partition 3x1" \
${TESTS_WORKDIR}/tests/examples/ \
-only neb
mv ${TESTDIR}/In.neb.hop1 ${TESTDIR}/in.neb.hop1
mv ${TESTDIR}/In.neb.hop2 ${TESTDIR}/in.neb.hop2
# neb(hop1,hop2)
NPROCS=4
JOBNAME=hop
TESTDIR=tests/examples/neb
mv ${TESTDIR}/in.neb.sivac ${TESTDIR}/In.neb.sivac
## evacuate
python \
lammps_testing/regression.py \
${JOBNAME} \
"mpirun -np ${NPROCS} ${LAMMPSBIN} -partition 4x1" \
${TESTS_WORKDIR}/tests/examples/ \
-only neb
mv ${TESTDIR}/In.neb.sivac ${TESTDIR}/in.neb.sivac
# dpdrx-shardlow
NPROCS=3
JOBNAME=shardlow
python \
lammps_testing/regression.py \
${JOBNAME} \
"mpirun -np ${NPROCS} ${LAMMPSBIN} -partition 3x1" \
${TESTS_WORKDIR}/tests/examples/ \
-only USER/dpd/dpdrx-shardlow
# ECP(Si2H6)
NPROCS=4
JOBNAME=Si2H6
TESTDIR=tests/examples/USER/eff/ECP/Si2H6
mv ${TESTDIR}/in.Si2H6.ang ${TESTDIR}/In.Si2H6.ang
python \
lammps_testing/regression.py \
${JOBNAME} \
"mpirun -np ${NPROCS} ${LAMMPSBIN}" \
${TESTS_WORKDIR}/tests/examples/ \
-only USER/eff/ECP/Si2H6
mv ${TESTDIR}/In.Si2H6.ang ${TESTDIR}/in.Si2H6.ang
# ECP(CH4)
NPROCS=4
JOBNAME=CH4
TESTDIR=tests/examples/USER/eff/CH4
mv ${TESTDIR}/in.ch4_ionized.dynamics ${TESTDIR}/In.ch4_ionized.dynamics
python \
lammps_testing/regression.py \
${JOBNAME} \
"mpirun -np ${NPROCS} ${LAMMPSBIN}" \
${TESTS_WORKDIR}/tests/examples/ \
-only USER/eff/ECP/CH4
mv ${TESTDIR}/In.ch4_ionized.dynamics ${TESTDIR}/in.ch4_ionized.dynamics
# USER/lb
NPROCS=4
JOBNAME=lb
TESTDIR1=tests/examples/USER/lb/polymer
mv ${TESTDIR1}/in.polymer_setgamma ${TESTDIR1}/In.polymer_setgamma
mv ${TESTDIR1}/in.polymer_default_gamma ${TESTDIR1}/In.polymer_default_gamma
TESTDIR2=tests/examples/USER/lb/fourspheres
mv ${TESTDIR2}/in.fourspheres_set_gamma ${TESTDIR2}/In.fourspheres_set_gamma
mv ${TESTDIR2}/in.fourspheres_default_gamma ${TESTDIR2}/In.fourspheres_default_gamma
python \
lammps_testing/regression.py \
${JOBNAME} \
"mpirun -np ${NPROCS} ${LAMMPSBIN}" \
${TESTS_WORKDIR}/tests/examples/ \
-only USER/lb
mv ${TESTDIR1}/In.polymer_setgamma ${TESTDIR1}/in.polymer_setgamma
mv ${TESTDIR1}/In.polymer_default_gamma ${TESTDIR1}/in.polymer_default_gamma
mv ${TESTDIR2}/In.fourspheres_set_gamma ${TESTDIR2}/in.fourspheres_set_gamma
mv ${TESTDIR2}/In.fourspheres_default_gamma ${TESTDIR2}/in.fourspheres_default_gamma
# balance
NPROCS=4
JOBNAME=balance
TESTDIR=tests/examples/balance
mv ${TESTDIR}/in.balance.bond.fast ${TESTDIR}/In.balance.bond.fast
mv ${TESTDIR}/in.balance.bond.slow ${TESTDIR}/In.balance.bond.slow
mv ${TESTDIR}/in.balance.neigh.rcb ${TESTDIR}/In.balance.neigh.rcb
mv ${TESTDIR}/in.balance ${TESTDIR}/In.balance
python \
lammps_testing/regression.py \
${JOBNAME} \
"mpirun -np ${NPROCS} ${LAMMPSBIN}" \
${TESTS_WORKDIR}/tests/examples/ \
-only balance
mv ${TESTDIR}/In.balance.bond.fast ${TESTDIR}/in.balance.bond.fast
mv ${TESTDIR}/In.balance.bond.slow ${TESTDIR}/in.balance.bond.slow
mv ${TESTDIR}/In.balance.neigh.rcb ${TESTDIR}/in.balance.neigh.rcb
mv ${TESTDIR}/In.balance ${TESTDIR}/in.balance
パッケージリスト
ASPHERE, BODY, CLASS2, COLLOID, COMPRESS, CORESHELL, DIPOLE, GRANULAR, KSPACE, LATTE, MANYBODY, MC, MESSAGE, MISC, MOLECULE, PERI, POEMS, QEQ, REPLICA, RIGID, SHOCK, SPIN, SNAP, SRD, PYTHON, MPIIO, VORONOI, OPTUSER-ATC, USER-AWPMD, USER-BOCS, USER-CGDNA, USER-MESO, USER-CGSDK, USER-COLVARS, USER-DIFFRACTION, USER-DPD, USER-DRUDE, USER-EFF, USER-FEP, USER-H5MD, USER-LB, USER-MANIFOLD, USER-MEAMC, USER-MGPT, USER-MISC, USER-MOFFF, USER-MOLFILE, USER-NETCDF, USER-PHONON, USER-PLUMED, USER-PTM, USER-QTB, USER-REAXC, USER-SCAFACOS, USER-SDPD, USER-SMD, USER-SMTBQ, USER-SPH, USER-TALLY, USER-UEF, USER-YAFF, USER-OMP, USER-INTEL
テスト結果
基本的なテスト(make test)についてはエラー無し。詳細なテストについては一部にエラー。(テスト側に問題があるケースも存在すると思われる)
- balance/balance.var.dynamic: 軽微な数値エラー
- balance/balance.kspace: 数値エラー
- balance/balance.clock.dynamic: 軽微な数値エラー
- lb/confined_colloid/confined_colloids: Cannot open file confinedcolloids.dat
- dpd/dpdrx-shardlow/dpdrx-shardlow: Invalid logfile found (実行自体には成功)
- neb/neb.hop1: Invalid logfile found (実行自体は成功)
- neb/neb.hop2: Invalid logfile found (実行自体は成功)
- neb.sivac: Invalid logfile found (実行自体は成功)
- tad: Invalid logfile found (実行自体は成功)
- python/python: RROR on proc 0: Python function evaluation failed
- python/fix_python: ERROR: Could not process Python string
- accelerate/rhodo: ERROR on proc 0: Cannot open file ../../bench/data.rhodo
- VISCOSITY/nemd.2d: 数値エラー
- USER/misc/ti/ti_spring: ERROR on proc 0: Cannot open EAM potential file
- USER/misc/kolmogorov-crespi/bilayer-graphene: ERROR on proc 0: Cannot open REBO2 potential file CH.rebo
- USER/misc/kolmogorov-crespi/atom-diffusion: ERROR on proc 0: Cannot open KC potential file CC.KC
- USER/eff/Li-dendritic/Li-dendritic.min: ERROR on proc 0: Cannot open restart file Li-dendritic.min.restart2
- USER/eff/Be-solid/Be-solid.spe: ERROR on proc 0: Expected integer parameter instead of '-1.000000' in input script or data file
- mscg kim USER/quip USER/misc/i-pi USER/eff/ECP/Si2H6 USER/eff/CH4 balance(一部) USER/misc/pimd USER/misc/grem USER/atc COUPLE ASPHERE/tri ASPHERE/line USER/misc/imd USER/lb
注意
- ccfep にてビルド及びテスト実行を行っています。
- 今回のバージョンからは cmake を利用しています。
- KIM は download とビルドは成功するものの、インストール時にライブラリがきちんと処理されていないように見えたのでスキップしています。