简介
LAMMPS由美国Sandia国家实验室开发,以GPL license发布,即且可以免费获取使用,这意味着使用者可以根据自己的需要自行修改源代码。LAMMPS可以支持包括气态,液态或者固态相形态下、各种系综下、百万级的原子分子体系,并提供支持多种势函数。且LAMMPS有良好的并行扩展性。
LAMMPS即Large-scale Atomic/Molecular Massively Parallel Simulator,可以翻译为大规模原子分子并行模拟器,主要用于分子动力学相关的一些计算和模拟工作,一般来讲,分子动力学所涉及到的领域,LAMMPS代码也都涉及到了。
功能
1、什么是LAMMPS?;LAMMPS是一个经典的分子动力学软件;LAMMPS是一可以修改和扩展的计算程序;
2、LAMMPS的功能;总体功能;可以串行和并行计算;分布式MPI策略;模拟空间的分解并行机制;
特点
支持并行计算
分布式内存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 xvzf lammps.tar.gz
2 cd lammps**
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
推荐学习课程:
关于举办“单晶结构解析与晶体可视化分析与应用”及“LAMMPS分子动力学技术与应用”线上培训的通知https://mp.weixin.qq.com/s/O156csK6qmxQQPDrpbw-Ig