2014hpcss_25

Upload: jimusos

Post on 25-Feb-2018

220 views

Category:

Documents


0 download

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