1,上传需要的软件包lammps-stable.tar.gz。
2,解压缩并进入安装目录
tar xvf lammps-stable.tar.gz
cd lammps-30Oct14
3,如果需要reax、poems等模块,可以进入lib额外添加(标准安装可跳过此步骤)。
cd lib/reax
修改Makefile.ifort文件第31行为: F90FLAGS = -O3 -xHost -ip -no-prec-div -fPIC
make -f Makefile.ifort
cd ../meam
修改Makefile.ifort文件第30行为: F90FLAGS = -O3 -xHost -ip -no-prec-div –fPIC
修改Makefile.lammps.ifort文件第4行: meam_SYSLIB = -lifcore -lsvml -liompstubs5 -limf
修改Makefile.lammps.ifort文件第5行: meam_SYSPATH = -L/opt/intel/mkl/lib/intel64/
make -f Makefile.ifort
cd ../poems
修改Makefile.ifort文件第71行为: CCFLAGS = -O3 -xHost -ip -no-prec-div -fPIC
make -f Makefile.icc
cd ../../src
make yes-reax
make yes-meam
make yes-poems也可添加kspace、misc等模块
make yes-kspace
make yes-misc
4,编译fftw2xc
cd /opt/intel/mkl/interfaces/fftw2xc
make libintel64
5,修改src/MAKE/Makefile.mpi
# mpi = default MPI compiler, default MPISHELL = /bin/sh# ---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your compilerCC = mpicxx
CCFLAGS = -O3 -xHost -fno-alias -ip -no-prec-div -unroll0
SHFLAGS = -fPIC
DEPFLAGS = -MLINK = mpicxx
LINKFLAGS = -O -L/opt/intel/mkl/lib/intel64/
LIB = -lstdc++ -lmkl_core -lmkl_sequential -lmkl_intel_lp64
SIZE = sizeARCHIVE = ar
ARFLAGS = -rc
SHLIBFLAGS = -shared# ---------------------------------------------------------------------
# LAMMPS-specific settings, all OPTIONAL
# specify settings for LAMMPS features you will use
# if you change any -D setting, do full re-compile after "make clean"# LAMMPS ifdef settings
# see possible settings in Section 2.2 (step 4) of manualLMP_INC = -DLAMMPS_GZIP # MPI library
# see discussion in Section 2.2 (step 5) of manual
# MPI wrapper compiler/linker can provide this info
# can point to dummy MPI library in src/STUBS as in Makefile.serial
# use -D MPICH and OMPI settings in INC to avoid C++ lib conflicts
# INC = path for mpi.h, MPI compiler settings
# PATH = path for MPI library
# LIB = name of MPI libraryMPI_INC =
MPI_PATH =
MPI_LIB =# FFT library
# see discussion in Section 2.2 (step 6) of manual
# can be left blank to use provided KISS FFT library
# INC = -DFFT setting, e.g. -DFFT_FFTW, FFT compiler settings
# PATH = path for FFT library
# LIB = name of FFT libraryFFT_INC = -DFFT_MKL -I/opt/intel/mkl/include/fftw
FFT_PATH =
FFT_LIB = /opt/intel/mkl/lib/intel64/libfftw2xc_double_intel.a# JPEG and/or PNG library
# see discussion in Section 2.2 (step 7) of manual
# only needed if -DLAMMPS_JPEG or -DLAMMPS_PNG listed with LMP_INC
# INC = path(s) for jpeglib.h and/or png.h
# PATH = path(s) for JPEG library and/or PNG library
# LIB = name(s) of JPEG library and/or PNG libraryJPG_INC =
JPG_PATH =
JPG_LIB =# ---------------------------------------------------------------------
# build rules and dependencies
# do not edit this sectioninclude Makefile.package.settings
include Makefile.packageEXTRA_INC = $(LMP_INC) $(PKG_INC) $(MPI_INC) $(FFT_INC) $(JPG_INC) $(PKG_SYSINC)
EXTRA_PATH = $(PKG_PATH) $(MPI_PATH) $(FFT_PATH) $(JPG_PATH) $(PKG_SYSPATH)
EXTRA_LIB = $(PKG_LIB) $(MPI_LIB) $(FFT_LIB) $(JPG_LIB) $(PKG_SYSLIB)# Path to src filesvpath %.cpp ..
vpath %.h ..# Link target$(EXE): $(OBJ)
$(LINK) $(LINKFLAGS) $(EXTRA_PATH) $(OBJ) $(EXTRA_LIB) $(LIB) -o $(EXE)
$(SIZE) $(EXE)# Library targetslib: $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ)shlib: $(OBJ)
$(CC) $(CCFLAGS) $(SHFLAGS) $(SHLIBFLAGS) $(EXTRA_PATH) -o $(EXE) \
$(OBJ) $(EXTRA_LIB) $(LIB)# Compilation rules%.o:%.cpp
$(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $<%.d:%.cpp
$(CC) $(CCFLAGS) $(EXTRA_INC) $(DEPFLAGS) $< > $@%.o:%.cu
$(CC) $(CCFLAGS) $(SHFLAGS) $(EXTRA_INC) -c $<# Individual dependenciesDEPENDS = $(OBJ:.o=.d)
sinclude $(DEPENDS)
6,编译
make mpi -j4
7,设置环境变量,需要重新登陆后生效。
在/etc/profile文件末尾添加如下行:
export PATH=/opt/lammps-30Oct14/src:$PATH
8,测试
cd /opt/lammps-20Oct14/bench
mpirun -np lmp_mpi <in.eam
正常运行结束,说明安装成功。
lammps下载地址: