1. 简单百科
  2. LAMMPS

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

参考资料