LAMMPS即Large-scale Atomic/Molecular Massively Parallel Simulator,可以翻译为大规模原子分子并行模拟器,主要用于分子动力学相关的一些计算和模拟工作,一般来讲,分子动力学所涉及到的领域,LAMMPS代码也都涉及到了。
一、环境介绍:
系统:Centos7.6
所需软件包:lammps.tar.gz,parallel_studio_xe_2017_update5.tgz
二、上传、解压、软件包:
1.为了方便管理,新建一个目录,把intel和lammps软件包拷贝或直接上传到新建目录中。
[zh@zh ~]$ mkdir soft #新建目录
[zh@zh ~]# cd /soft/ #进入刚刚新建的目录中
[zh@zh soft]$ ls #查看目录中的文件
lammps.tar.gz
[zh@zh ~]$ tar xf lammps.tar.gz #解压lammps
三、编译lammps:
ps:由于我上次安装vasp时已经安装过intel2017u5,所以这次不再重新安装,如有需要intel安装教程的请转到【第一性原理】Centos7下安装vasp5.4.4
如果有特殊需求,那么在安装lammps可执行文件之前要先安装一些额外的包,如在正式编译之前输入这样的命令make yes-class2 yes-rigid yes-shock,即首先要安装class2、rigid、shock包。这些包的安装比较简单,但还有一些包的安装需要额外的库,如果在实际科研中用到,参考Manual安装即可。
1.加载MANYBODY模块
[zh@zh soft]$ cd lammps-7Aug19/src/ #进入src目录
[zh@zh src]$ make yes-MANYBODY #加载模块(根据自己需求来)
[zh@zh src]$ make mpi #开始编译
*************************************
*************************************
ump_image.o npair_half_respa_bin_newton.o compute_temp_ramp.o compute_pair.o ntopo_dihedral_template.o pair_coul_dsf.o compute_temp.o compute_pressure.o compute_cluster_atom.o nbin_standard.o npair_half_multi_newtoff.o npair_half_nsq_newtoff.o delete_atoms.o pair_sw.o compute_dihedral.o pair_vashishta.o -o ../lmp_mpi
size ../lmp_mpi
text data bss dec hex filename
4592657 8184 928 4601769 4637a9 ../lmp_mpi
make[1]: Leaving directory `/home/zh/soft/lammps-7Aug19/src/Obj_mpi'
出现如上字样说明编译成功,并生成了lmp_mpi
2.测试
[zh@zh ~]$ mpirun -np 6 ~/soft/lammps-7Aug19/src/lmp_mpi < pisrelax.in #lammps运行命令,出现如下字样说明lammps编译成功,测试作业已经开始计算。
LAMMPS (7 Aug 2019)
Reading restart file ...
restart file = 7 Aug 2019, LAMMPS = 7 Aug 2019
WARNING: Restart file used different # of processors (../read_restart.cpp:738)
restoring atom style atomic from restart
orthogonal box = (-163.77 -163.77 -36.3398) to (163.77 163.77 618.74)
1 by 2 by 3 MPI processor grid
pair style eam/fs stores no restart info
4096000 atoms
read_restart CPU = 0.691318 secs
WARNING: Shell command 'mkdir' failed with error 'File exists' (../input.cpp:1292)
Neighbor list info ...
update every 1 steps, delay 0 steps, check yes
max neighbors/atom: 2000, page size: 100000
master list distance cutoff = 9.6
ghost atom cutoff = 9.6
binsize = 4.8, bins = 69 69 137
1 neighbor lists, perpetual/occasional/extra = 1 0 0
(1) pair eam/fs, perpetual
attributes: half, newton on
pair build: half/bin/atomonly/newton
stencil: half/bin/3d/newton
bin: standard
Setting up Verlet run ...
Unit style : metal
Current step : 0
Time step : 0.001
Per MPI rank memory allocation (min/avg/max) = 523.4 | 552.3 | 578.3 Mbytes
Step Pxx Pyy Pzz Lx Ly Lz Temp TotEng Volume Press PotEng Enthalpy E_pair Density Atoms
0 16.668893 69.506217 -20.755848 327.53975 327.53975 655.0795 300.02891 -19204430 70278428 21.806421 -19363280 -19203474 -19363280 7.3219257 4096000