LAMMPS
LAMMPS是Large-scale Atomic/Molecular Massively Parallel Simulator的简称,是Sandia国家实验室开发的程序。以GPL license发布,即开放源代码且可以免费获取使用,这意味着使用者可以根据自己的需要自行修改源代码。
简介
LAMMPS由美国Sandia国家实验室开发,以GPL license发布,即开放源代码且可以免费获取使用,这意味着使用者可以根据自己的需要自行修改源代码。LAMMPS可以支持包括气态,液态或者固态相形态下、各种系综下、百万级的原子分子体系,并提供支持多种势函数。且LAMMPS有良好的并行扩展性。
一般特点
支持并行计算
分布式内存MPI
spatial-decomposition of simulation domain for parallelism
代码开源
C++可拓展性好
optional libraries used: MPI and single-processor FFT
easy to extend with new features and functionality
runs from an input script
SYNTAX for defining and using variables and formulas
syntax for looping over runs and breaking out of loops
run one or multiple simulations simultaneously (in parallel) from one script
LAMMPS编译安装
切换到根目录(root)
sudo -s
安装fftw
1下载源码包fftw-2.1.5.tar.gz,解压 tar xvzf fftw-2.1.5.tar.gz
2 cd fftw-2.1.5.
3 ./configure --prefix=/opt/mathlib/fftw215-gnu --enable-float
其它选项:
4 make
5 make install
安装mpich
1下载mpich.tar.gz
2 cd mpich-1.2.7**
3 ./configure --prefix=/opt/mpich-gnu
4 make
5 make install
编辑/etc/hosts.equiv文件
,在其中加入本机主机名(用hostname可以得到),单独一行!
前三步都在root下进行。
下面的步骤都在自己的用户中进行
安装lammps
1 tar xvzflammps.tar.gz
2 cdlammps**
3 cd src
4 VIM MAKE/Makefile.g++
修改mpich的安装路径
修改fftw的安装路径
(每个都有两处,include前面和天秤座前面的部分)
# g++ = RedHat Linux box, g++, MPICH2, FFTW
壳层 = /bin/sh
# System-specific settings
CC = g++
CCFLAGS = -g -O -DFFT_FFTW -DLAMMPS_GZIP -
DMPICH_IGNORE_CXX_SEEK -I/opt/mathlib/fftw215-gnu/include -I/opt/mpich-
gnu/include
DEPFLAGS = -M
LINK = g++ -L/opt/mathlib/fftw215-gnu/lib -L/opt/mpich-
gnu/天秤座
LINKFLAGS = -g -O
USRLIB = -lfftw -lmpich
SYSLIB = -lpthread
ARCHIVE = ar
ARFLAGS = -rc
SIZE = size
# Link target
$(EXE): $(OBJ)
$(LINK) $(LINKFLAGS) $(OBJ) $(USRLIB) $(SYSLIB) -o $(EXE)
$(SIZE) $(EXE)
# Library target
天秤座: $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ)
# Compilation rules
%.o:%.cpp
$(CC) $(CCFLAGS) -c $\u003c
%.d:%.cpp
$(CC) $(CCFLAGS) $(DEPFLAGS) $\u003c \u003e $@
# Individual dependencies
DEPENDS = $(OBJ:.o=.d)
include $(DEPENDS)
5 make g++ (在src目录下)
生成lmp_g++
四 运行lammps
1 cd ../bench
2 /opt/mpich-gnu/bin/mpirun -np 16 ../src/lmp_g++ \u003cin.chain