Lammps版本升级较快,各种版本安装过程大致相同,可根据不同版本微调。
一、lammps非并行安装(单机版)
1、解压lammps数据包:
gunzip lamps.tar.gz
tar xvf lamps.tar
为方便可以将解压得到的lammps重命名
mv lammps-1May10 lmp
2、cd ~/lmp/src/STUBS
make clean
make
3、cd ~/lmp/src/MAKE
vi Makefile.serial
出现的当前部分,需修改部分已用红色标出(如果机器安装了g++4则无需修改):
# g++ = RedHat Linux box, g++4, gfortran, no MPI,no FFT
SHELL = /bin/sh
# ---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your compiler
CC = g++4 g++4该为g++
CCFLAGS = -g -O
DEPFLAGS = -M
LINK = g++4 g++4该为g++
LINKFLAGS = -g -O
LIB =
ARCHIVE = ar
ARFLAGS = -rc
SIZE = size
# --------------------------------------------------------------------
存档,退出。
4、cd ~/lmp/src
make clean-all
make serial
linux开始编译,完成后在当前/src下生成lmp_serial的可执行文件(绿色)
可运行。(运行方法:./lmp_serial<in.lmp)
二、lammps并行安装
1、解压lammps数据包:
gunzip lamps.tar.gz
tar xvf lamps.tar
为方便可以将解压得到的lammps重命名
mv lammps-1May10 lmp
2、并行安装需要fftw、mpich库,较新的版本又添加了可选择库jpeg 库。
通常的并行计算linux机器都会安装fftw和mpich库(jpeg库可不用选择),若没有安装,可按附录中的方法自行安装。
假如以上库都已经安装,下面进入lammps的并行安装过程(以Makefile.g++为例):
cd ~/lmp/src/MAKE
vi Makefile.g++
需要修改的部分如下(红色标出):
第一部分:
# g++ = RedHat Linux box, g++4, MPICH2, FFTW
SHELL = /bin/sh
# ---------------------------------------------------------------------
# compiler/linker settings
# specify flags and libraries needed for your compiler
CC = g++4 g++4改为mpic++
CCFLAGS = -g -O # -Wunused
DEPFLAGS = -M
LINK = g++4 g++4改为mpic++
LINKFLAGS = -g -O
LIB =
ARCHIVE = ar
ARFLAGS = -rc
SIZE = size
# ---------------------------------------------------------------------
第二部分:
# MPI library, REQUIRED
# see discussion in doc/Section_start.html#2_2 (step 5)
# can point to dummy MPI library in src/STUBS as in Makefile.serial
# INC = path for mpi.h, MPI compiler settings
# PATH = path for MPI library
# LIB = name of MPI library
MPI_INC = -I/opt/mpich/include -DMPICH_SKIP_MPICXX #安装的mpich的mpi.h头文件的路径,需核对改成自己的路径。
MPI_PATH = -L/opt/mpich/lib #安装的mpich的mpich.a库的路径,需核对改成自己的路径。
MPI_LIB = -lmpich -lpthread
第三部分:
# FFT library, can be -DFFT_NONE if not using PPPM from KSPACE package
# INC = -DFFT_FFTW, -DFFT_INTEL, -DFFT_NONE, etc, FFT compiler settings
# PATH = path for FFT library
# LIB = name of FFT library
FFT_INC = -I/opt/fftw/include -DFFT_FFTW
FFT_PATH = -L/opt/fftw/lib
FFT_LIB = -lfftw
(第四部分可选:新版本中有jpeg库的调用,建议不调用,即把下处注释掉;如果调用,方法同上述两个库的调用类同
# LAMMPS ifdef options, see doc/Section_start.html
LMP_INC = -DLAMMPS_GZIP # -DLAMMPS_JPEG )
3、关于各种package的选择与安装(可选,非必须):
(1)添加或者删除某个/些package采用这些命令(含义见manual):
make yes-***, make no-***, make yes-standard, make no-standard, make yes-user, make no-user, make yes-all, make no-all"
如果有添加或删除package的动作,则自动修改src/Makefile.package文件,并在编译时候调用。
(2)几个特殊的package的安装如下:poems, meam, reax
cd ~/lmp/lib/poems
make –f Makefile.g++
cd ~/lmp/lib/meam
make –f Makefile.gfortran (安装meam)
cd /mnt/lmp/lib/reax
make –f Makefile.gfortran
注意,meam和reax这两个package的源文件是用Fortran写的。为避免两种代码之间的调用不出现麻烦,需要修改Makefile中的
meam_SYSLIB,reax_SYSLIB,meam_SYSPATH,reax_SYSPATH等几行,如下:
# additional system libraries needed by LAMMPS package libraries
# these settings are IGNORED if the corresponding LAMMPS package
# (e.g. gpu, meam) is NOT included in the LAMMPS build
# SYSLIB = names of libraries
# SYSPATH = paths of libraries
gpu_SYSLIB = -lcudart
meam_SYSLIB = -lifcore -lsvml -lompstub -limf -lmeam –lgfortran
reax_SYSLIB = -lifcore -lsvml -lompstub -limf -lreax –lgfortran
user-atc_SYSLIB = -lblas -llapack
gpu_SYSPATH = -L/usr/local/cuda/lib64
meam_SYSPATH = -L/opt/lmp/lib/meam #核对修改为自己的路径
reax_SYSPATH = -L/opt/lmp/lib/reax
user-atc_SYSPATH =
(4)如要添加USER-ATC,则编译LAMMPS之前到/lib/atc/目录中编译该package,并修改相应的Makefile文件中的user-atc_SYSLIB和
user-atc_SYSPATH两行。
(5)如果要添加GPU,则需要系统安装NVIDIA Cuda相关工具,并在/lib/gpu/目录中编译,同时需要修改Makefile文件中的gpu_SYSLIB
和gpu_SYSPATH两行(manual 2.8)。
4、 cd ~/lmp/src
make clean-all
make g++
lammps开始安装,最后在当前目录下可生成lmp_g++的可执行文件(绿色)。
可运行。
附录:1、fftw的安装(记得下载fftw-2.1.5版本)
gunzip fftw-2.1.5.tar.gz
tar xvf fftw-2.1.5.tar
cd ~/fftw-2.1.5
./configure -prefix=/opt/fftw -enable -float
make
make install (fftw-2.1.5即安装在/opt/fftw下)
2、mpich的安装
gunzip mpich2-1.3.1.tar.gz
tar xvf mpich2-1.3.1.tar
cd ~/mpich2-1.3.1
./configure -prefix=/opt/mpich
make
make install (mpich即安装在/opt/mpich下)
然后配置环境变量
cd
vi .bashrc
开始编译为
expot PATH=/opt/mpich/bin:$PATH
export LD_LIBRARY_PATH=/opt/mpich/lib:/opt/fftw/lib:$LD_LIBRARY_PATH