Lammps simulation for 2D ICE - MaterSim/CMS GitHub Wiki
1, Compile lammps
- download the most recent version of lammps (lammps-11Aug17) from http://lammps.sandia.gov/download.html
[qiangz@smic1]$ tar -xf lammps-stable.tar.gz
[qiangz@smic1]$ cd lammps-11Aug17/src
[qiangz@smic1]$ make
make clean-all delete all object files
make clean-machine delete object files for one machine
make mpi-stubs build dummy MPI library in STUBS
make install-python install LAMMPS wrapper in Python
make tar create lmp_src.tar.gz for src dir and packages
make package list available packages and their dependencies
make package-status (ps) status of all packages
make yes-package install a single pgk in src dir
make no-package remove a single pkg from src dir
make yes-all install all pgks in src dir
make no-all remove all pkgs from src dir
make yes-standard (yes-std) install all standard pkgs
make no-standard (no-std) remove all standard pkgs
make yes-user install all user pkgs
make no-user remove all user pkgs
make yes-lib install all pkgs with libs (included or ext)
make no-lib remove all pkgs with libs (included or ext)
make yes-ext install all pkgs with external libs
make no-ext remove all pkgs with external libs
make package-update (pu) replace src files with updated package files
make package-overwrite replace package files with src files
make package-diff (pd) diff src files against package files
make lib-package download/build/install a package library
make purge purge obsolete copies of source files
make machine build LAMMPS for machine
make mode=lib machine build LAMMPS as static lib for machine
make mode=shlib machine build LAMMPS as shared lib for machine
make mode=shexe machine build LAMMPS as shared exe for machine
make makelist create Makefile.list used by old makes
make -f Makefile.list machine build LAMMPS for machine (old)
machine is one of these from src/MAKE:
# mpi = MPI with its default compiler
# LC = for Livermore Computing: Intel Cluster Tools, mpiicc, MKL MPI, MKL FFT
# serial = GNU g++ compiler, no MPI
... or one of these from src/MAKE/OPTIONS:
# big = MPI with its default compiler, BIGBIG switch
# fftw = MPI with its default compiler, FFTW3 support
# g++_mpich = MPICH with compiler set to GNU g++
# g++_mpich_link = GNU g++ compiler, link to MPICH
# g++_openmpi = OpenMPI with compiler set to GNU g++
# g++_openmpi_link = GNU g++ compiler, link to OpenMPI
# gpu = GPU package, MPI with its default compiler
# g++_serial = GNU g++ compiler, no MPI
# icc_mpich = MPICH with compiler set to Intel icc
# icc_mpich_link = Intel icc compiler, link to MPICH
# icc_openmpi = OpenMPI with compiler set to Intel icc
# icc_openmpi_link = Intel icc compiler, link to OpenMPI
# icc_serial = Intel icc compiler, no MPI
# intel_phi = USER-INTEL package with Phi offload support, Intel MPI, MKL FFT
# intel_cpu_intelmpi = USER-INTEL package, Intel MPI, MKL FFT
# intel_cpu_intelmpi = USER-INTEL package, Intel MPI, MKL FFT
# intel_cpu_mpich = USER-INTEL package, MPICH with compiler set to Intel icc
# intel_cpu_openmpi = USER-INTEL package, OpenMPI with compiler set to Intel icc
# intel_phi = USER-INTEL with Phi x200 (KNL) offload support,Intel MPI,MKL FFT
# jpeg = default MPI compiler, default MPI, JPEG support
# knl = Flags for Knights Landing Xeon Phi Processor,Intel Compiler/MPI,MKL FFT
# kokkos_cuda = KOKKOS/CUDA package, MPICH with nvcc compiler, Kepler GPU
# kokkos_cuda = KOKKOS/CUDA package, OpenMPI with nvcc compiler, Kepler GPU
# kokkos_mpi_only = KOKKOS package, no threading, MPI with its default compiler
# kokkos_omp = KOKKOS/OMP package, MPI with its default compiler
# kokkos_phi = KOKKOS package with PHI support, Intel compiler, default MPI
# mgptfast = MPI with its default compiler, optimizations for USER-MGPT
# omp = USER-OMP package, MPI with its default compiler
# opt = OPT package, MPI with its default compiler
# pgi_mpich_link = Portland group compiler, link to MPICH
# png = default MPI compiler, default MPI, PNG support
... or one of these from src/MAKE/MACHINES:
# linux = RedHat Linux box, Intel icc, MPICH2, FFTW
# bgl = LLNL Blue Gene Light machine, xlC, native MPI, FFTW
# bgq = IBM Blue Gene/Q, multiple compiler options, native MPI, ALCF FFTW2
# multiple compiler options for BGQ
# chama - Intel SandyBridge, mpic++, openmpi, no FFTW
# cori2 = NERSC Cori II KNL, static build, FFTW (single precision)
# cygwin = Windows Cygwin, mpicxx, MPICH, FFTW
# glory = Linux cluster with 4-way quad cores, Intel mpicxx, native MPI, FFTW
# jaguar = ORNL Jaguar Cray XT5, CC, native MPICH, FFTW
# mac = Apple PowerBook G4 laptop, c++, no MPI, FFTW 2.1.5
# mac_mpi = Apple laptop, MacPorts Open MPI 1.4.3, gcc 4.8, fftw, jpeg
# mingw32-cross = Win 32-bit, gcc-4.7.1, MinGW, internal FFT, no MPI, OpenMP
# mingw32-cross-mpi = Win 32-bit, gcc-4.7.1, MinGW, internal FFT, MPICH2, OpenMP
# mingw64-cross = Win 64-bit, gcc-4.7.1, MinGW, internal FFT, no MPI, OpenMP
# mingw64-cross-mpi = Win 64-bit, gcc-4.7.1, MinGW, internal FFT, MPICH2, OpenMP
# myrinet = cluster, g++, myrinet MPI, no FFTs
# power = IBM Power5+, mpCC_r, native MPI, FFTW
# redsky - SUN X6275 nodes, Nehalem procs, mpic++, openmpi, OpenMP, no FFTW
# serial = RedHat Linux box, g++4, no MPI, no FFTs
# stampede = Intel Compiler, MKL FFT, Offload to Xeon Phi
# storm = Cray Red Storm XT3, Cray CC, native MPI, FFTW
# tacc = UT Lonestar TACC machine, mpiCC, MPI, FFTW
# ubuntu = Ubuntu Linux box, g++, openmpi, FFTW3
# ubuntu_simple = Ubuntu Linux box, g++, openmpi, KISS FFT
# kokkos_cuda = KOKKOS/CUDA package, OpenMPI with nvcc compiler, Kepler GPU
# xe6 = Cray XE6, Cray CC, native MPI, FFTW
# xt3 = PSC BigBen Cray XT3, CC, native MPI, FFTW
# xt5 = Cray XT5, Cray CC, native MPI, FFTW
... or one of these from src/MAKE/MINE:
2, Compile customized packages
- rigid package, needed for fix shake command
- kspace package, needed for lj/cut/tip4p/long
- molecule package, needed for atom_style full
[qiangz@smic1 src]$$ make no-all
[qiangz@smic1 src]$$ make yes-rigid
[qiangz@smic1 src]$$ make yes-molecule
[qiangz@smic1 src]$$ make yes-kspace
[qiangz@smic1 src]$ make serial
This will end up with a compiled executable called lmp_mpi in src directory