LAMMPS 7Aug19

Webpage

http://lammps.sandia.gov/

Version

7Aug19

Build Environment

  • Intel Parallel Studio XE 2018 update 4
  • cmake 3.8.2

Files Required

  • lammps-stable_7Aug2019.tar.gz
  • lammps-testing-master.zip (Downloaded on Oct. 23, 2019)
  • (Some of files are automatically downloaded in the procedure below.)

Build Procedure

#!/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

List of Packages

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, OPT

USER-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

Test Result

Basic tests (make test) are successfully passed.
Some errors were found for some detailed tests. (Some of tests seem to be misconfigured, though.)
  • balance/balance.var.dynamic: minor numerical error
  • balance/balance.kspace: numerical error
  • balance/balance.clock.dynamic: minor numerical error
  • lb/confined_colloid/confined_colloids: Cannot open file confinedcolloids.dat
  • dpd/dpdrx-shardlow/dpdrx-shardlow: Invalid logfile found (test exec completed)
  • neb/neb.hop1: Invalid logfile found (test exec completed)
  • neb/neb.hop2: Invalid logfile found (test exec completed)
  • neb.sivac: Invalid logfile found (test exec completed)
  • tad: Invalid logfile found (test exec completed)
  • 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: numerical error
  • 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
Following tests are skipped (not available package, too long, or stalled).
  • mscg kim USER/quip USER/misc/i-pi USER/eff/ECP/Si2H6 USER/eff/CH4 balance(partially) USER/misc/pimd USER/misc/grem USER/atc COUPLE ASPHERE/tri ASPHERE/line USER/misc/imd USER/lb

Notes

  • Build and tests are performed on ccfep.
  • Cmake is employed for this version. (Former builds use ordinally make.)
  • KIM can be successfully built but its shared library is not installed correctly (when make install). We thus avoid KIM package this time.