Sunteți pe pagina 1din 62

Gwangju Institute of Science and Technology (GIST)

Super Computing & Collaboration Environment Technology Center (SCENT)

LAMMPS for Molecular Dynamics Simulation

Taekhee Ryu

Molecular Modeling Laboratory (MML)


School of Materials Science and Engineering (MSE)
Gwangju Institute of Science and Technology (GIST)
Overview: What is LAMMPS

Lesson 1: Preparing input file

Lesson 2: Running LAMMPS

Lesson 3: Viewing output file


What is LAMMPS

Large-scale Atomic/Molecular Massively Parallel Simulation


- By Dr. S. Plimpton (http://lammps.dandia.gov)

Free open-source code (C++)

Model System with only a few particles up to millions or billions


(depends on computational power)

Designed for Parallel applications

Capable for Atomic, polyatomic, biological, metallic, granular system

3
LAMMPS doesn’t

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,…..

4
Overview of LAMMPS simulation

INPUT OUTPUT
(**.cmd, in.**, data.**) RUNNING (log.***, dump.***)
INPUT

RUNNING

OUTPUT
- Initial positions - Trajectories
and velocities - Forces
- Boundary Molecular - Energy of the
conditions Dynamics system
- Potential energy Simulation - Temperature
function - Pressure
- Etc. - etc.

5
LAMMPS Input
•  Reads an input script (ASCⅡtext)

•  One command per line

•  Command name + arguments (in.***)


atom_style molecular
read_data water.data
fix 1 all nve
run 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

6
Example Problems in LAMMPS

•  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
Hand-on exercise
•  Download the files

•  Xming (http://m.vaslor.net/tech/xming)

•  VMD (http://www.ks.uiuc.edu/Research/vmd/)

•  Topology file (data.peptide)

•  Executable file (lammps_kigi.cmd)

•  Install the programs

•  Xming

•  VMD

8
Hands-on excises (Linux basic)
•  Connect to the GIST supercomputer (KIGI) using PLSI portal
software

•  Visit PLSI Portal (http://portal.plsi.or.kr)

9
http://portal.plsi.or.kr

Downloads the PORTAL software for your platform

10
1. Extract the files from archive (*.zip)

2. Execute the file


- plsi.exe (Windows)
- plsi (Mac)

11
Sign in
- Enter your account information

12
Select “원격 시스템”

Click the right mouse button

and click the “터미널 실행(A)”

13
Connected to PLSI login node with SSH terminal

14
Hand-on exercise
•  Connect to the GIST supercomputer (kigi)

$ ssh kigi-lg01 à connect to the kigi

$ mkdir test1 à making the directory

$ cd test1 à change the directory

15
Hand-on exercise
•  Lammps_kigi.cmd -> executable file

Job name

Error message
Job-time

Input file

16
Input script

•  Full-atom model of 5-mer Met-


enkaphalin
CHARMM force-field
PPPM Coulombics
SHAKE bond/angle constraints

•  2 fmsec timestep

•  Options to play with:


Timestep size

17
Input script
1. initialization

2. Atom definition

3. Settings

4. Run a simulation

18
Input script - initialization
1. initialization

•  Set parameters that need to be defined before atom


s are created or read-in from a file

•  Unit, dimension, newton, processors, boundary, ato


m style, atom modify

19
Input script - initialization
•  Units
1. initialization
•  sets the style of units used for a simulation
•  Beginning of an input script
•  lj, real, metal, si, cgs, electron

20
Input script - initialization
•  atom_style 1. initialization
•  Define what style of atoms to use in a simulation
•  Beginning of an input script

21
Input script - initialization
1. initialization

2. Atom definition
•  Boundary - set the style of boundaries for the global simula
tion box in each dimension
3. Settings
•  Processors - Specify how processors are mapped as a 3d log
ical grid to the global simulation box

•  Dimension - Set the dimensionality of the simulation. By def


ault LAMMPS runs 3d simulations.

22
Input script - initialization
1. initialization

2. Atom definition
•  pair_style
•  set the formula uses to compute pairwise interactions

3. Settings

23
Input script - initialization
r
1. initialization

2. Atom definition
•  bond_style
•  uses to compute bond interactions between pairs of atoms

3. Settings

24
Input script - initialization
1. initialization
r
r

2. Atom definition
•  angle_style
•  uses to compute angle interactions between triplets of atoms

3. Settings

25
Input script - initialization
1. initialization

•  dihedral_style 2. Atom definition


•  uses to compute dihedral interactions between quadruplets of
atoms
3. Settings

26
Input script - initialization
1. initialization

•  improper_style 2. Atom definition


•  uses to compute dihedral interactions between quadruplets of
atoms

27
Input script - initialization
1. initialization

2. Atom definition
•  kspace_style
•  Define a K-space solver for LAMMPS to use each timestep t
o compute long-range Coulombic interactions or long-rang
e 1/r^N interactions
•  Style – none or ewald or pppm or pppm/cg or ……
•  The pppm style invokes a particle-particle particle-mesh sol
ver (Hockney) which maps atom charge to a 3d mesh, uses
3d FFTs to solve Poisson's equation on the mesh, then inter
polates electric fields on the mesh points back to the atoms

28
Input script - atom definition
1. initialization

2. Atom definition
•  Read them in from a data or restart file
•  via the read data or read restart command
3. Settings
•  Contain molecular topology information

•  Create atoms on a lattice


•  with no molecular topology
•  Lattice, region, create box, create atoms

29
Input script
•  Read_data - Read in a data file containing information L
AMMPS needs to run a simulation (data.***)
1. initialization

# of components
in system

Simulation box
boundaries

Mass

30
Input script
•  Read_data - Read in a data file containing information L
AMMPS needs to run a simulation (data.***)
1. initialization

31
Input script
•  Read_data - Read in a data file containing information L
AMMPS needs to run a simulation (data.***)
1. initialization

32
Input script
•  Read_data - Read in a data file containing information L
AMMPS needs to run a simulation (data.***)
1. initialization

33
Input script
•  Read_data - Read in a data file containing information L
AMMPS needs to run a simulation (data.***)
1. initialization

34
Input script
•  Read_data - Read in a data file containing information L
AMMPS needs to run a simulation (data.***)
1. initialization

35
Input script

Charge, X, Y, Z type, i, j, k, l

X, Y, Z
type, i, j, k, l

type, i, j

type, i, j, k

36
Input script - atom definition
•  read_data - Read in a data file containing information
LAMMPS needs to run a simulation (data.***)
1. initialization
2. Atom definition

•  read_restart - Read in a previously saved simulation


from a restart file

37
Input script - atom definition
•  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

38
Input script - atom definition
•  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
the specified region
•  create atoms
•  This command creates atoms on a lattice, or a
single atom, or a random collection of atoms

39
Input script - settings
1. initialization

2. Atom definition

3. Settings

3. Run a simulation

40
Input script - settings

•  neighbor
•  This command sets parameters that affect the bui
lding of pairwise neighbor lists

•  The style value selects what algorithm is used to


build the list

•  The bin style creates the list by binning which is


an operation that scales linearly with N/P, the nu
mber of atoms per processor where N = total nu
mber of atoms and P = number of processors

41
Input script - settings

•  Neigh_modify
•  This command sets parameters that affect the
building and use of pairwise neighbor lists

•  The delay setting means never build a new list


until at least N steps after the previous build

42
Input script - settings

•  timestep
•  Set the timestep size for subsequent molecular
dynamics simulations

43
Input script - settings

•  thermo_style
•  Set the style and content for printing thermodyna
mic data to the screen and log file.

•  Style multi prints a multiple-line listing of thermo


dynamic info

•  thermo_style custom etotal ke temp pe ebond ea


ngle edihed eimp evdwl ecoul elong press

44
Input script - settings

•  thermo
•  Compute and print thermodynamic info on timeste
ps that are a multiple of N and at the beginning an
d end of a simulation

45
Input script - settings

•  fix
•  Set a fix that will be applied to a group of atoms

46
Input script - settings

•  fix
•  Set a fix that will be applied to a group of atoms

47
Input script - settings

•  group
•  Identify a collection of atoms as belonging to a gr
oup
•  The example above adds all atoms with IDs from 1
to 12 to the group named peptide type

48
Input script - settings

•  dump
•  snapshot of atom quantities to one or more files ev
ery N timesteps in one of several styles

49
Input script
1. initialization

2. Atom definition

3. Settings
•  run
•  Run or continue dynamics for a specified number o
f timesteps

3. Run a simulation

50
Hand-on exercise
•  Example-1

•  Full-atom model of 5-mer Met-


enkaphalin
CHARMM force-field
PPPM Coulombics
SHAKE bond/angle constraints

•  2 fmsec timestep

•  Options to play with:


Timestep size

51
Hand-on exercise
•  Example-2

•  3d LJ solid
Periodic in x, y, z

•  Melt an fcc lattice

•  Options to play with: tempe


rature,
fix nvt or npt

52
Hand-on exercise
•  Running LAMMPS on PLSI supercomputer

$ llsubmit lammps_kigi.cmd # submit the job

$ llcancel job_id # cancel the job

$ llq # job status

$ llstatus # system status

53
Output

There are two basic types of LAMMPS output.

1.  Thermodynamic output (log.***)


1.  A list of quantities printed every few time steps to the scr
een and 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, z
3.  VMD, Rasmol, AtomEye, XMOVIE

54
•  Example-1 (log.lammps) Output

55
•  Example-2 (log.lammps) Output

56
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
/xmovie/xmovie –scale dump.***

•  VMD - http://www.ks.uiuc.edu/Research/vmd/
§  Windows, Linux, MacOS X
§  3d hi-quality viz

57
Additional tools
•  Amber2lmp AMBER <-> LAMMPS
•  Binary2txt binary dump file -> ASCⅡ test files
•  Ch2lmp CHARMM <-> LAMMPS
•  Chain create the chains and solvent
•  Lmp2arc LAMMPS -> Accelrys’s insight MD
•  Lamp2cfg LAMMPS -> AtomEYE(*.cfg)
•  Lmp2vmd LAMMPS -> VMD
•  Msi2lmp LAMMPS -> Accelrys’s insight MD
•  Python, micelle2d, matlab, ipp, emacs, eff, eam database, data
2xmovie, creatatoms

58
Thank you

59
Hand-on exercise
•  Connect to the GIST supercomputer (kigi)

localhost:0.0

60
Hand-on exercise
•  Connect to the GIST supercomputer (kigi)

Check_use system colours

61
Hand-on exercise
•  Connect to the GIST supercomputer (kigi)

Login01.plsi.or.kr, Port-22

62

S-ar putea să vă placă și