2014hpcss_25
TRANSCRIPT
-
7/25/2019 2014hpcss_25
1/63
LAMMPS for Molecular Dynamics Simulation
Taekhee Ryu
Gwangju Institute of Science and Technology (GIST)Super Computing & Collaboration Environment Technology Center (SCENT)
Molecular Modeling Laboratory (MML)School of Materials Science and Engineering (MSE)
Gwangju Institute of Science and Technology (GIST)
-
7/25/2019 2014hpcss_25
2/63
Overview: What is LAMMPS
Lesson 1: Preparing input file
Lesson 2: Running LAMMPS
Lesson 3: Viewing output file
-
7/25/2019 2014hpcss_25
3/63
What is LAMMPS
Large-scale Atomic/Molecular Massively Parallel Simulation
- By Dr. S. Plimpton (http://lammps.dandia.gov)
Free open-source code (C++)
Capable for Atomic, polyatomic, biological, metallic, granular system
Designed for Parallel applications
Model System with only a few particles up to millions or billions
(depends on computational power)
3
-
7/25/2019 2014hpcss_25
4/63
LAMMPS doesnt
4
Build Molecular systems
Use a builder code or write out your own config file
Can build lattices, grain boundaries, etc
Assign force-field coefficients auto-magically
Only hard for molecules, use another MD code
Compute lots of diagnostics on-the-fly
Often better left to post-processing
Visualize your output
Many packages do this
VMD, Rasmol, AtomEye, Ensight,!..
-
7/25/2019 2014hpcss_25
5/63
5
Our research using LAMMPSMultiscale molecular modeling of Nano-device containing fullerene derivatives
!
Self-assembled monolayer
" Single organic molecule between metals can function as rectifiers, one-way conductors of electrical current
!
Unimolecular rectifier
!
Absorption model on Au(111)
-
7/25/2019 2014hpcss_25
6/63
6
Our research using LAMMPS
!P3HT/PCBM BHJ
! Amorphous phase of PVDF Molecular dynamic simulation
-
7/25/2019 2014hpcss_25
7/63
-
7/25/2019 2014hpcss_25
8/63
LAMMPS Input
8
Reads an input script (ASC!text)
One command per line
Command name + arguments (in.***)atom_style molecular
read_data water.datafix 1 all nverun 10000
Data files(typical components) (data.***) Summary of molecular connectivity Cell dimensions
Force field parameters(pair, bond, angle, dihedral, improper)
Atom info (molecule #, atom type #, charge, xyz coordinates)
Bond info (bonds, angles, etc)
Examples sub-dir has many input scripts
-
7/25/2019 2014hpcss_25
9/63
Example Problems in LAMMPS
9
Crack: crack growth in a LJ crystal (2d)
Flow: couette/poisseuille flow between walls (2d)
Friction: rubbing of 2 irregular surfaces (2d)
Indent: crystal response to spherical indenter (2d)
Melt: rapid melt of 3d LJ system
Micelle: self-assembly of tiny lipid molecules (2d)
Min: energy minimization of LJ melt (2d)
Obstacle: flow around obstacles (2d)
Peptide: granular particle pour and flow (2d/3d)
Shear: shear of a metal slab with void (quasi-3d)
Peptide: dynamics of a small solvated peptide chain (5-mer)
-
7/25/2019 2014hpcss_25
10/63
Input script
10
Full-atom model of 5-mer peptide
CHARMM force-field
SHAKE bond/angle constraints
2 fs timestep
-
7/25/2019 2014hpcss_25
11/63
Input script
11
1. initialization
2. Atom definition
3. Settings
4. Run a simulation
-
7/25/2019 2014hpcss_25
12/63
Input script - initialization
12
1. initialization
Set parameters that need to be defined before atomsare created or read-in from a file
Unit, dimension, newton, processors, boundary, atomstyle, atom modify
-
7/25/2019 2014hpcss_25
13/63
Input script - initialization
13
1. initialization
Units sets the style of units used for a simulation Beginning of an input script
lj, real, metal, si, cgs, electron
-
7/25/2019 2014hpcss_25
14/63
Input script - initialization
14
1. initialization
atom_style
Define what style of atoms to use in a simulation Beginning of an input script
-
7/25/2019 2014hpcss_25
15/63
Input script - initialization
15
1. initialization
2. Atom definition
3. Settings
Boundary - set the style of boundaries for the global simulation box in each dimension
Processors - Specify how processors are mapped as a 3d logical grid to the global simulation box
Dimension - Set the dimensionality of the simulation. By default LAMMPS runs 3d simulations.
-
7/25/2019 2014hpcss_25
16/63
Input script - initialization
16
1. initialization
2. Atom definition
3. Settings
pair_style set the formula uses to compute pairwise interactions
-
7/25/2019 2014hpcss_25
17/63
Input script - initialization
17
1. initialization
2. Atom definition
3. Settings
bond_style
uses to compute bond interactions between pairs of atoms
r
-
7/25/2019 2014hpcss_25
18/63
Input script - initialization
18
1. initialization
2. Atom definition
3. Settings
angle_style
uses to compute angle interactions between triplets of atoms
rr
-
7/25/2019 2014hpcss_25
19/63
Input script - initialization
19
1. initialization
2. Atom definition
3. Settings
dihedral_style
uses to compute dihedral interactions between quadruplets ofatoms
-
7/25/2019 2014hpcss_25
20/63
Input script - initialization
20
1. initialization
2. Atom definition
improper_style
uses to compute dihedral interactions between quadruplets ofatoms
-
7/25/2019 2014hpcss_25
21/63
Input script - initialization
21
1. initialization
2. Atom definition
kspace_style
Define a K-space solver for LAMMPS to use each timestep tocompute long-range Coulombic interactions or long-range 1/r^N interactions
Style none or ewald or pppm or pppm/cg or!! Thepppmstyle invokes a particle-particle particle-mesh solver
(Hockney)which maps atom charge to a 3d mesh, uses 3d FFTs to solve Poisson's equation on the mesh, then interpolates electric fields on the mesh points back to the atoms
-
7/25/2019 2014hpcss_25
22/63
Input script - atom definition
22
1. initialization
2. Atom definition
3. Settings
Read them in from a data or restart file via the read data or read restart command Contain molecular topology information
Create atoms on a lattice
with no molecular topology
Lattice, region, create box, create atoms
-
7/25/2019 2014hpcss_25
23/63
Input script
23
1. initialization
Read_data - Read in a data file containing information LA
MMPS needs to run a simulation (data.***)
# of componentsin system
Simulation boxboundaries
Mass
-
7/25/2019 2014hpcss_25
24/63
Input script
24
1. initialization
Read_data - Read in a data file containing information LA
MMPS needs to run a simulation (data.***)
-
7/25/2019 2014hpcss_25
25/63
Input script
25
1. initialization
Read_data - Read in a data file containing information LA
MMPS needs to run a simulation (data.***)
-
7/25/2019 2014hpcss_25
26/63
Input script
26
1. initialization
Read_data - Read in a data file containing information LA
MMPS needs to run a simulation (data.***)
-
7/25/2019 2014hpcss_25
27/63
Input script
27
1. initialization
Read_data - Read in a data file containing information LA
MMPS needs to run a simulation (data.***)
-
7/25/2019 2014hpcss_25
28/63
Input script
28
1. initialization
Read_data - Read in a data file containing information LA
MMPS needs to run a simulation (data.***)
-
7/25/2019 2014hpcss_25
29/63
Input script - atom definition
29
1. initialization
2. Atom definition
read_data - Read in a data file containing information
LAMMPS needs to run a simulation (data.***)
read_restart - Read in a previously saved simulation froma restart file
-
7/25/2019 2014hpcss_25
30/63
Input script - atom definition
30
Create atoms on a lattice
with no molecular topology Lattice, region, create box, create atoms
Lattice
simply a set of points in space determined by a unit cell with basis atoms
used to define a wide variety of crystallographic lattices
syntax
example
-
7/25/2019 2014hpcss_25
31/63
Input script - atom definition
31
Create atoms on a lattice
with no molecular topology Lattice, region, create box, create atoms
region
This command defines a geometric region of space
create box This command creates a simulation box based on t
he specified region
create atoms
This command creates atoms on a lattice, or a single atom, or a random collection of atoms
-
7/25/2019 2014hpcss_25
32/63
Input script - settings
32
1. initialization
2. Atom definition
3. Settings
3. Run a simulation
-
7/25/2019 2014hpcss_25
33/63
Input script - settings
33
neighbor
This command sets parameters that affect thebuilding of pairwise neighbor lists
The stylevalue selects what algorithm is used tobuild the list
The binstyle creates the list by binning which is anoperation that scales linearly with N/P, the numberof atoms per processor where N = total number ofatoms and P = number of processors
-
7/25/2019 2014hpcss_25
34/63
Input script - settings
34
Neigh_modify This command sets parameters that affect the
building and use of pairwise neighbor lists
The delaysetting means never build a new list
until at least N steps after the previous build
-
7/25/2019 2014hpcss_25
35/63
Input script - settings
35
timestep
Set the timestep size for subsequent moleculardynamics simulations
-
7/25/2019 2014hpcss_25
36/63
Input script - settings
36
thermo_style Set the style and content for printing thermodynamic
data to the screen and log file.
Style multiprints a multiple-line listing of thermodynamic info
thermo_style custom etotal ke temp pe ebond eangleedihed eimp evdwl ecoul elong press
-
7/25/2019 2014hpcss_25
37/63
Input script - settings
37
thermo
Compute and print thermodynamic info on timestepsthat are a multiple of N and at the beginning and endof a simulation
-
7/25/2019 2014hpcss_25
38/63
Input script - settings
38
fix
Set a fix that will be applied to a group of atoms
-
7/25/2019 2014hpcss_25
39/63
Input script - settings
39
fix
Set a fix that will be applied to a group of atoms
-
7/25/2019 2014hpcss_25
40/63
Input script - settings
40
group
Identify a collection of atoms as belonging to a group
The example above adds all atoms with IDs from 1 t
o 12 to the group namedpeptide type
-
7/25/2019 2014hpcss_25
41/63
Input script - settings
41
dump snapshot of atom quantities to one or more files every
N timesteps in one of several styles
-
7/25/2019 2014hpcss_25
42/63
Input script
42
1. initialization
2. Atom definition
3. Settings
3. Run a simulation
run
Run or continue dynamics for a specified number oftimesteps
-
7/25/2019 2014hpcss_25
43/63
Tutorial
43
VMDData.*** .
INPUT
(**.cmd, in.**, data.**) RUNNING
OUTPUT
(log.***, dump.***)
-
7/25/2019 2014hpcss_25
44/63
Tutorial
44
VMDData.*** .
-
7/25/2019 2014hpcss_25
45/63
Tutorial
45
VMDData.*** .
-
7/25/2019 2014hpcss_25
46/63
Tutorial
46
VMDData.*** .
-
7/25/2019 2014hpcss_25
47/63
Tutorial
47
VMDData.*** .
-
7/25/2019 2014hpcss_25
48/63
Tutorial
48
VMDData.*** .
-
7/25/2019 2014hpcss_25
49/63
49
Hand-on exercise Download the files
Xming (http://sourceforge.net/projects/xming/)
VMD (http://www.ks.uiuc.edu/Research/vmd/)
Putty (SSH Access Client Program)
Input file (in.peptide)
Topology file (data.peptide)
Executable file (lammps_kigi.cmd)
Analysis file (thermo_extract.c)
Install the programs
Xming, Putty
-
7/25/2019 2014hpcss_25
50/63
50
Hand-on exercise
PuTTY SSH Remote Access Client Program
putty
-
7/25/2019 2014hpcss_25
51/63
Hand-on exercise
51
Connect to the GIST supercomputer (kigi)
localhost:0.0
-
7/25/2019 2014hpcss_25
52/63
Hand-on exercise
52
Connect to the GIST supercomputer (kigi)
Login01.plsi.or.kr, Port-22
-
7/25/2019 2014hpcss_25
53/63
Hand-on exercise
53
Connect to the GIST supercomputer (kigi)
$ ssh kigi-lg01 #connect to the kigi
$ cp lammps.tar /pwork01/edun/pedunXX
$ cd /pwokr01/edun/pedunXX
$ tar xvf lammps.tar
$ cd lammps
-
7/25/2019 2014hpcss_25
54/63
Hand-on exercise
54
Lammps_kigi.cmd -> executable file
Input file
Job-time
Job name
-
7/25/2019 2014hpcss_25
55/63
Hand-on exercise
55
Example-1
Full-atom model of 5-mer peptide
CHARMM force-field
SHAKE bond/angle constraints
2 fs timestep
-
7/25/2019 2014hpcss_25
56/63
Hand-on exercise
56
Running LAMMPS on PLSI supercomputer
$ llsubmitlammps_kigi.cmd # submit the job
$ llcanceljob_id # cancel the job
$ llq # job status
$ llstatus # system status
-
7/25/2019 2014hpcss_25
57/63
Output
57
There are two basic types of LAMMPS output.
1. Thermodynamic output (log.***)1.
A list of quantities printed every few time steps to the screenand log file
2.
Dump files (dump.***)1.
Snapshots of atoms and various per-atom values and are written at a specified frequency.
2. Default format is simple : id, type, x, y, z3.
VMD, Rasmol, AtomEye, XMOVIE
-
7/25/2019 2014hpcss_25
58/63
Output
58
Example-1 (log.lammps)
-
7/25/2019 2014hpcss_25
59/63
Output
59
thermo_extract.c
To run this program please compile it as-> gcc -O3 thermo_extract.c -lm -o thermo_extract
Analysis of thermodynamic output (log.lammps)
-p for thermo parameter to extract-s if the output format is single line, or-m is the output format is multi line
-> thermo_extract p PotEng -m log.lammps >&PotEng.tot
-
7/25/2019 2014hpcss_25
60/63
Output
60
Analysis of thermodynamic output (log.***)
-> gnuplot-> plot PotEng u 1:2 w l
-
7/25/2019 2014hpcss_25
61/63
Visualizer
AtomEye - http://li.mit.edu/Archive/Graphics/A
Rasmol - http://www.umass.edu/microbio/rasmol/
XMOVIE$ Auxiliary tool distributed with LAMMPS$ Very fast, simple viz
$
2d projection of 3d systems$ /home01/applic/lammps/lammps-18Apr10/intel/ssh/tools/x
movie/xmovie scale dump.***
VMD - http://www.ks.uiuc.edu/Research/vmd/$ Windows, Linux, MacOS X
$
3d hi-quality viz
61
-
7/25/2019 2014hpcss_25
62/63
Additional tools
Amber2lmp AMBER LAMMPS
Binary2txt binary dump file -> ASC!test files
Ch2lmp CHARMM LAMMPS
Chain create the chains and solvent
Lmp2arc LAMMPS -> Accelryss insight MD
Lamp2cfg LAMMPS -> AtomEYE(*.cfg)
Lmp2vmd LAMMPS -> VMD
Msi2lmp LAMMPS -> Accelryss insight MD
Python, micelle2d, matlab, ipp, emacs, eff, eam database, data2xmovie, creatatoms
62
-
7/25/2019 2014hpcss_25
63/63
Thank you