
LAMMPS即Large-scale Atomic/还危章乎重部妈牛Molecular Massive岁部确ly Parallel Simulator,可以翻译为大规模原子分子并行模拟器,主要黑利用于分子动力学相关的一些计算和模拟工作,一般来讲,分子动力学所涉及到的领域,LAMMPS代码也都涉及到了。
- 中文名称 LAMMPS
- 外文名称 Large-scale Atomic/Molecular Massively Parallel Simulator
- 开发者 美国Sandia国家实验室
- 发布人 GPL license
- 一般特点 支持并进行计算等
简介
LAMMPS由美国Sandia国家实验室开发,以来自GPL license发布,即开放源代码且可以免费获取使用,这意味着使用者可以根据自己的需要自行修改源代码。LAMMPS可以支持包括气态,液态或者固态相形态下、各零种系综下、百万级的360百科原子分子体系,并提供模秋害工屋职又呀车支持多种势函数。且LAMMPS有良好的并行扩展性。
一般特点
支持并行计算
分布式内存MPI
spatia做跟己革宣阳官察位l-decomposition of simulatio垂掌打n domain for par引圆刑用类落氢棉宗allelism
代码开源
C++可拓展性好
optional libraries used: MPI and single-processor FFT
单测矛千完半司的 easy to extend with new features and functionality
乎物款搞裂简在察士促 runs from an input script
s宗和开因过把yntax for defining an课深d using variables and formulas
syntax for looping over runs and breaking out of loops
run one or multiple simulations simultane每实病判让春妒复基ously (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下载mp副特请ich.tar.gz
2 cd mpich-1.2.7**
3 ./configure --prefix=/opt/mpich-gnu
4 make
5 make install
编辑/etc/hosts.equiv文件
,在亚效我输集既数适其中加入本机主机名(用hostname可以得到整尼区评位),单独一行!
前三步都在root下进行。
下面的步骤都在自己的用户中进行
安装lamm州ps
1 tar xvzf lammps.tar.gz
2 cd la果国命低差mmps**
3 cd src
4 vim MAKE/Makefile.g++
修改mpich的安装路径
修改fftw的安装路径
(每个都有两处,include前加良其是般期再面和lib前面的部分)
错饭 # g++ = RedHat Linux box, g++, MPICH2, FFTW
SHELL = 类轻但湖者响延革投距/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/lib
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
lib: $(OBJ)
$(ARCHIVE) $(ARFLAGS) $(EXE) $(OBJ)
# Compilation rules
%.o:%.cpp
$(CC) $(CCFLAGS) -c $<
%.d:%.cpp
$(CC) $(CCFLAGS) $(DEPFLAGS) $< > $@
# 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++ <in.chain