1 LAMMPS Short Manual

User Manual:

Open the PDF directly: View PDF PDF.
Page Count: 66

Download1 LAMMPS Short Manual
Open PDF In BrowserView PDF
MODMOL 25‐27 Feb 2008, Jouy‐en‐Josas
olivier.vitrac@agroparistech.fr

This document gathers several freely available sources.
The result is freely distributable without guarantee or warrantee of any kind.

LAMMPS

LARGE
SCALE
ATOMIC
MOLECULAR
MASSIVELY
PARALLEL
SIMULATOR

LAMMPS is a molecular dynamics program from Sandia National
Laboratories. LAMMPS makes use of MPI for parallel communication and is a
free open‐source code, distributed under the terms of the GNU General
Public License.
LAMMPS was originally developed under a Cooperative Research and Development Agreement
(CRADA) between two laboratories from United States Department of Energy and three other
laboratories from private sector firms. It is currently maintained and distributed by researchers at the
Sandia National Laboratories.

Features
INIT
ATOM DEFINITION
FORCE FIELDS
SETTINGS

For computational efficiency LAMMPS uses neighbor lists to keep track of nearby particles. The lists
are optimized for systems with particles that are repulsive at short distances, so that the local
density of particles never becomes too large.
On parallel computers, LAMMPS uses spatial‐decomposition techniques to partition the simulation
domain into small 3d sub‐domains, one of which is assigned to each processor. Processors
communicate and store "ghost" atom information for atoms that border their sub‐domain.
LAMMPS is most efficient (in a parallel computing sense) for systems whose particles fill a 3D
rectangular box with approximately uniform density.

FIX
COMPUTE

http://lammps.sandia.gov/

ACTIONS
OUTPUTS

http://lammps.sandia.gov/doc/Manual.html

2

PRINCIPLES
1) Initialization

units, dimension, boundary, atom_style, atom_modify.

2) Atom definition

read_data,read_restart, lattice, region, create_box, create_atoms

3) Settings

pair_coeff, bond_coeff, angle_coeff, dihedral_coeff, improper_coeff,
kspace_style, dielectric, special_bonds
neighbor, neigh_modify, group, timestep, reset_timestep, run_style,
min_style, min_modify.
compute, compute_modify, variable

4) Run

run, minimize

3

SCRIPT

# 3d Lennard‐Jones melt

1) Initialization
2) Atom definition

units
atom_style

lj
atomic

lattice
region
create_box
create_atoms
mass

fcc 0.8442
box block 0 20 0 20 0 20
1 box
1
1 1.0

velocity all create 3.0 87287
3) Settings

4) Run

pair_style
pair_coeff

lj/cut 2.5
1 1 1.0 1.0 2.5

neighbor 0.3 bin
neigh_modify

every 20 delay 0 check no

fix

1 all nve

dump

id all atom 10 dump.melt

thermo

50

run

250

4

INIT
atom_modify
ATOM_STYLE

atom_style style args

boundary
dimension
newton
processors
units

angle = bonds and angles ‐ e.g. bead‐spring polymers with stiffness
atomic = only the default values
bond = bonds ‐ e.g. bead‐spring polymers
charge = charge
dipole = charge and dipole moment
dpd = default values, also communicates velocities
ellipsoid = quaternion for particle orientation, angular velocity/momentum
full = molecular + charge ‐ e.g. biomolecules, charged polymers
granular = granular atoms with rotational properties
molecular = bonds, angles, dihedrals, impropers ‐ e.g. all‐atom polymers

5

INIT
atom_modify
atom_style
BOUNDARY
dimension
newton
processors

boundary x y z
x,y,z = p or s or f or m, one or two letters
p is periodic
f is non‐periodic and fixed
s is non‐periodic and shrink‐wrapped
m is non‐periodic and shrink‐wrapped
with a minimum value

units

6

INIT
atom_modify
atom_style
boundary
dimension
newton
processors
UNITS

units lj

style real

distance = sigma
time = tau
mass = one
energy = epsilon
velocity = sigma/tau
force = epsilon/sigma

distance = Angstroms
time = femtoseconds
mass = grams/mole
energy = Kcal/mole
velocity = Angstroms/femtosecond
force = Kcal/mole‐Angstrom

temperature = reduced LJ
temperature

temperature = degrees K
pressure = atmospheres

pressure = reduced LJ pressure
charge = reduced LJ charge
dipole = reduced LJ dipole
moment
electric field = force/charge

charge = multiple of electron
charge (+1.0 is a proton)
dipole = charge*Angstroms
electric field = volts/Angstrom
7

ATOM DEFINITION
create_atoms
create_box
lattice
READ_DATA

read_data file

read_restart
region
replicate

atoms = # of atoms in system
bonds = # of bonds in system
angles = # of angles in system
dihedrals = # of dihedrals in system
impropers = # of impropers in system
atom types = # of atom types in system
bond types = # of bond types in system
angle types = # of angle types in system
dihedral types = # of dihedral types in system
improper types = # of improper types in system
xlo xhi = simulation box boundaries in x dimension
ylo yhi = simulation box boundaries in y dimension
zlo zhi = simulation box boundaries in z dimension
xy xz yz = simulation box tilt factors for triclinic domain

8

LAMMPS Description

ATOM DEFINITION
create_atoms
create_box
lattice
READ_DATA
read_restart
region
replicate

(1st line of file)

100 atoms
95 bonds
50 angles
30 dihedrals
20 impropers

(this must be the 3rd line, 1st 2 lines are ignored)
(# of bonds to be simulated)
(include these lines even if number = 0)

5 atom types
10 bond types
18 angle types
20 dihedral types
2 improper types

(# of nonbond atom types)
(# of bond types = sets of bond coefficients)

-0.5 0.5 xlo xhi
-0.5 0.5 ylo yhi
-0.5 0.5 zlo zhi

(for periodic systems this is box size,
for non-periodic it is min/max extent of atoms)
(do not include this line for 2-d simulations)

(do not include a bond, angle,dihedral,improper type
line if number of bonds,angles,etc is 0)

Masses
1 mass
...
N mass
Pair Coeffs
1 coeff1 coeff2 ...
...
N coeff1 coeff2 ...

(N = # of atom types)
Nonbond Coeffs (in old versions)

(N = # of atom types)

Bond Coeffs
1 coeff1 coeff2 ...
...
N coeff1 coeff2 ...

(N = # of bond types)

Angle Coeffs
1 coeff1 coeff2 ...
...
N coeff1 coeff2 ...

(N = # of angle types)

9

Dihedral Coeffs

ATOM DEFINITION
create_atoms
create_box
lattice
READ_DATA

1 coeff1 coeff2 ...
...
N coeff1 coeff2 ...

(N = # of dihedral types)

Improper Coeffs
1 coeff1 coeff2 ...
...
N coeff1 coeff2 ...

(N = # of improper types)

BondBond Coeffs

read_restart
region
replicate

1 coeff1 coeff2 ...
...
N coeff1 coeff2 ...

(N = # of angle types)

BondAngle Coeffs
1 coeff1 coeff2 ...
...
N coeff1 coeff2 ...

(N = # of angle types)

MiddleBondTorsion Coeffs
1 coeff1 coeff2 ...
...
N coeff1 coeff2 ...

(N = # of dihedral types)

EndBondTorsion Coeffs
1 coeff1 coeff2 ...
...
N coeff1 coeff2 ...

(N = # of dihedral types)

AngleTorsion Coeffs
1 coeff1 coeff2 ...
...
N coeff1 coeff2 ...

(N = # of dihedral types)

10

AngleAngleTorsion Coeffs

ATOM DEFINITION
create_atoms
create_box
lattice
READ_DATA

1 coeff1 coeff2 ...
...
N coeff1 coeff2 ...

(N = # of dihedral types)

BondBond13 Coeffs
1 coeff1 coeff2 ...
...
N coeff1 coeff2 ...

(N = # of dihedral types)

AngleAngle Coeffs

read_restart
region
replicate

1 coeff1 coeff2 ...
...
N coeff1 coeff2 ...

(N = # of improper types)

Atoms
1 molecule-tag atom-type q x y z nx ny nz (nx,ny,nz are optional ...
see "true flag" input command)
...
N molecule-tag atom-type q x y z nx ny nz (N = # of atoms)
Velocities
1 vx vy vz
...
N vx vy vz

(N = # of atoms)

Bonds
1 bond-type atom-1 atom-2
...
N bond-type atom-1 atom-2

(N = # of bonds)

Angles
1 angle-type atom-1 atom-2 atom-3
...
N angle-type atom-1 atom-2 atom-3

(atom-2 is the center atom in angle)

11
(N = # of angles)

ATOM DEFINITION
create_atoms

Dihedrals
1 dihedral-type atom-1 atom-2 atom-3 atom-4
...
N dihedral-type atom-1 atom-2 atom-3 atom-4

(atoms 2-3 form central bond)
(N = # of dihedrals)

create_box
Impropers

lattice
READ_DATA

1 improper-type atom-1 atom-2 atom-3 atom-4
...
N improper-type atom-1 atom-2 atom-3 atom-4

(atom-2 is central atom)
(N = # of impropers)

read_restart
region
replicate

comments
blank lines are ignored
lines starting with a # are echoed into the log file
for commands, everything on a line after the last
parameter is ignored
12

FORCEFIELD
angle_coeff
angle_style
bond_coeff
bond_style
dielectric
dihedral_coeff
dihedral_style
improper_coeff
improper_style
kspace_modify
kspace_style
pair_coeff
pair_modify
pair_style
pair_write
special_bonds

13

FORCEFIELD
angle_coeff

Cross terms: class 1, 2 and 3 force fields

angle_style
bond_coeff
bond_style
dielectric
dihedral_coeff
dihedral_style
improper_coeff
improper_style
kspace_modify
kspace_style
pair_coeff
pair_modify
pair_style
pair_write
special_bonds

The presence of cross terms in a force field reflects coupling between
the internal coordinates. For example, as a bond angle is decreased it
is found that the adjacent bonds stretch to reduce the interaction
between the 1,3 atoms, as illustrated in Figure. Cross terms were
found to be important in force fields designed to predict vibrational
spectra that were the forerunners of molecular mechanics force
fields, and so it is not surprising that cross terms must often be
included in a molecular mechanics force field to achieve optimal
performance.
One should in principle include cross terms between all contributions
to a force field. However, only a few cross terms are generally found
to be necessary in order to reproduce structural properties accurately;
more may be needed to reproduce other properties such as
vibrational frequencies, which are more sensitive to the presence of
such terms,.
14

FORCEFIELD
angle_coeff

TYPE I: CVFF (Covalent FF)

angle_style
bond_coeff
bond_style
dielectric
dihedral_coeff
dihedral_style
improper_coeff
improper_style
kspace_modify

TYPE II: CFF
(Consistent FF)

kspace_style
pair_coeff
pair_modify
pair_style
pair_write
special_bonds

15

FORCEFIELD
angle_coeff
ANGLE_STYLE
bond_coeff
bond_style
dielectric

angle_style none ‐ turn off angle interactions
angle_style hybrid ‐ define multiple styles of angle interactions
angle_style charmm ‐ CHARMM angle
angle_style class2 ‐ COMPASS (class 2) angle
angle_style cosine ‐ cosine angle potential
angle_style cosine/delta ‐ difference of cosines angle potential
angle_style cosine/squared ‐ cosine squared angle potential
angle_style harmonic ‐ harmonic angle

style

dihedral_coeff
dihedral_style
improper_coeff

Expression
E = K (θ − θ 0 )

harmonic

Examples

2

angle_style harmonic
angle_coeff 1 300.0 107.0

K (energy/radian^2)
theta0 (degrees)

improper_style
E = K (θ − θ 0 ) + KUB ( r − rUB )
2

kspace_modify
kspace_style

Charmm

pair_coeff

2

angle_style charmm

K (energy/radian^2)
theta0 (degrees)
K_ub (energy/distance^2)
r_ub (distance)

angle_coeff 1 300.0 107.0 50.0 3.0

pair_modify
E = Ea + Ebb + Eba

pair_style
pair_write
special_bonds

class2

Ea = K 2 (θ − θ 0 ) + K 3 (θ − θ 0 ) + K 4 (θ − θ 0 )
2

3

4

Ebb = M ( rij − r1 )( rjk − r2 )

Eba = N1 ( rij − r1 ) (θ − θ 0 ) + N 2 ( rjk − r2 ) (θ − θ 0 )

angle_style class2
angle_coeff * 75.0
16

FORCEFIELD
angle_coeff
angle_style
bond_coeff
BOND_STYLE

bond_style none ‐ turn off bonded interactions
bond_style hybrid ‐ define multiple styles of bond interactions
bond_style class2 ‐ COMPASS (class 2) bond
bond_style fene ‐ FENE (finite‐extensible non‐linear elastic) bond
bond_style fene/expand ‐ FENE bonds with variable size particles
bond_style harmonic ‐ harmonic bond
bond_style morse ‐ Morse bond
bond_style nonlinear ‐ nonlinear bond
bond_style quartic ‐ breakable quartic bond

dielectric
dihedral_coeff
dihedral_style
improper_coeff

style

Expression

Examples

improper_style
E = K ( r − r0 )

kspace_modify
kspace_style

harmonic

2

bond_style harmonic
bond_coeff 5 80.0 1.2

K (energy/distance^2)
r0 (distance)

pair_coeff
pair_modify
pair_style
pair_write
special_bonds

K = K 2 ( r − r0 ) + K 3 ( r − r0 ) + K 4 ( r − r0 )
2

class2

r0 (distance)
K2 (energy/distance^2)
K3 (energy/distance^2)
K4 (energy/distance^2)

3

4

bond_style class2
bond_coeff 1 1.0 100.0 80.0 80.0

17

FORCEFIELD
angle_coeff
angle_style
bond_coeff
bond_style
dielectric

dihedral_style none ‐ turn off dihedral interactions
dihedral_style hybrid ‐ define multiple styles of dihedral interactions
dihedral_style charmm ‐ CHARMM dihedral
dihedral_style class2 ‐ COMPASS (class 2) dihedral
dihedral_style harmonic ‐ harmonic dihedral
dihedral_style helix ‐ helix dihedral
dihedral_style multi/harmonic ‐ multi‐harmonic dihedral
dihedral_style opls ‐ OPLS dihedral

style

dihedral_coeff
DIHEDRAL_STYLE
improper_coeff

Expression

Examples

E = K ⋅ ⎡⎣1 + d ⋅ cos ( n ⋅ φ ) ⎤⎦

harmonic

K (energy)
d (+1 or ‐1)
n (integer >= 0)

dihedral_style harmonic
dihedral_coeff 1 80.0 1 2

improper_style
E = K ⋅ ⎡⎣1 + cos ( n ⋅ φ − d ) ⎤⎦

kspace_modify
kspace_style

Charmm

pair_coeff

K (energy)
n (integer >= 0)
d (integer value of degrees)
weighting factor (0.0 to 1.0)

dihedral_style charmm
dihedral_coeff 1 120.0 1 60 0.5

pair_modify
pair_style
pair_write
special_bonds

class2

dihedral_style class2
dihedral_coeff 1 100 75 100 70 80 60
18

FORCEFIELD
angle_coeff
angle_style

improper_style none ‐ turn off improper interactions
improper_style hybrid ‐ define multiple styles of improper interactions
improper_style class2 ‐ COMPASS (class 2) improper
improper_style cvff ‐ CVFF improper
improper_style harmonic ‐ harmonic improper

bond_coeff
bond_style
dielectric
dihedral_coeff

style

Expression

Examples

dihedral_style
E = K ( χ − χ0 )

improper_coeff
IMPROPER_STYLE

harmonic

kspace_modify

K (energy/radian^2)
X0 (degrees)

E = K ⋅ ⎡⎣1 + d ⋅ cos ( n ⋅ φ ) ⎤⎦

kspace_style
pair_coeff

2

CVFF

pair_modify

K (energy)
d (+1 or ‐1)
n (0,1,2,3,4,6)

improper_style harmonic
improper_coeff 1 100.0 0

improper_style cvff
improper_coeff 1 80.0 ‐1 4

pair_style
pair_write
special_bonds

class2

improper_style class2
improper_coeff 1 100.0 0
19

FORCEFIELD
angle_coeff
angle_style
bond_coeff
bond_style
dielectric
dihedral_coeff

pair_style lj/charmm/coul/charmm ‐ CHARMM potential with cutoff Coulomb
pair_style lj/charmm/coul/charmm/implicit ‐ CHARMM for implicit solvent
pair_style lj/charmm/coul/long ‐ CHARMM with long‐range Coulomb
pair_style lj/charmm/coul/long/opt ‐ optimized version of CHARMM with long‐range Coulomb
pair_style lj/class2 ‐ COMPASS (class 2) force field with no Coulomb
pair_style lj/class2/coul/cut ‐ COMPASS with cutoff Coulomb
pair_style lj/class2/coul/long ‐ COMPASS with long‐range Coulomb
pair_style lj/cut ‐ cutoff Lennard‐Jones potential with no Coulomb
pair_style lj/cut/opt ‐ optimized version of cutoff LJ
pair_style lj/cut/coul/cut ‐ LJ with cutoff Coulomb
pair_style lj/cut/coul/debye ‐ LJ with Debye screening added to Coulomb
pair_style lj/cut/coul/long ‐ LJ with long‐range Coulomb
pair_style lj/cut/coul/long/tip4p ‐ LJ with long‐range Coulomb for TIP4P water
pair_style lj/expand ‐ Lennard‐Jones for variable size particles
pair_style lj/smooth ‐ smoothed Lennard‐Jones potential

dihedral_style
improper_coeff
improper_style

Van‐der‐Waals with
Lorentz—Berthelot mixing rule

kspace_modify
kspace_style
pair_coeff
pair_modify
PAIR_STYLE
pair_write
special_bonds

Coulomb

⎡⎛ σ
E = 4ε ij ⎢⎜ ij
⎢⎝⎜ rij
⎣

12
6
⎞
⎛ σ ij ⎞ ⎤
⎟⎟ − ⎜⎜ ⎟⎟ ⎥
⎠
⎝ rij ⎠ ⎥⎦
σ + σ ij
av.diameter = σ ij = ii
2
av.well depth = ε ij = ε ii + ε ij

E=

qi q j
4πε 0ε R rij

ε 0 = 8.8542·10−12 C2 N −1m −2
ε R = 1 for a vacuum by definition
20

FORCEFIELD
angle_coeff
angle_style
bond_coeff
bond_style
dielectric
dihedral_coeff
dihedral_style
improper_coeff
improper_style
kspace_modify
kspace_style
pair_coeff
pair_modify
PAIR_STYLE
pair_write
special_bonds

pair_style hybrid ‐ multiple styles of pairwise interactions
pair_style hybrid/overlay ‐ multiple styles of superposed pairwise interactions
pair_style airebo ‐ AI‐REBO potential
pair_style buck ‐ Buckingham potential
pair_style buck/coul/cut ‐ Buckingham with cutoff Coulomb
pair_style buck/coul/long ‐ Buckingham with long‐range Coulomb
pair_style colloid ‐ integrated colloidal potential
pair_style coul/cut ‐ cutoff Coulombic potential
pair_style coul/debye ‐ cutoff Coulombic potential with Debye screening
pair_style coul/long ‐ long‐range Coulombic potential
pair_style dipole/cut ‐ point dipoles with cutoff
pair_style dpd ‐ dissipative particle dynamics (DPD)
pair_style eam ‐ embedded atom method (EAM)
pair_style eam/opt ‐ optimized version of EAM
pair_style eam/alloy ‐ alloy EAM
pair_style eam/alloy/opt ‐ optimized version of alloy EAM
pair_style eam/fs ‐ Finnis‐Sinclair EAM
pair_style eam/fs/opt ‐ optimized version of Finnis‐Sinclair EAM
pair_style gayberne ‐ Gay‐Berne ellipsoidal potential
pair_style gran/hertzian ‐ granular potential with Hertizain interactions
pair_style gran/history ‐ granular potential with history effects
pair_style gran/no_history ‐ granular potential without history effects
pair_style lubricate ‐ hydrodynamic lubrication forces
pair_style meam ‐ modified embedded atom method (MEAM)
pair_style morse ‐ Morse potential
pair_style morse/opt ‐ optimized version of Morse potential
pair_style resquared ‐ Everaers RE‐Squared ellipsoidal potential
pair_style soft ‐ Soft (cosine) potential
pair_style sw ‐ Stillinger‐Weber 3‐body potential
pair_style table ‐ tabulated pair potential
pair_style tersoff ‐ Tersoff 3‐body potential
pair_style yukawa ‐ Yukawa potential

21

FORCEFIELD
angle_coeff

style

Expression

angle_style
bond_coeff

lj/cut

E = Evdw

⎡⎛ σ ⎞12 ⎛ σ ⎞6 ⎤
= 4ε ⎢⎜ ⎟ − ⎜ ⎟ ⎥ r < rC
⎢⎣⎝ r ⎠ ⎝ r ⎠ ⎥⎦

Examples
pair_style lj/cut 2.5
pair_coeff 1 1 1 1.1 2.8

bond_style
dielectric
dihedral_coeff

lj/cut/coul
/cut

dihedral_style
improper_coeff

E = Evdw + C

qi q j

εr

r < rC

epsilon (energy units)
sigma (distance units)
cutoff (distance units)
cutoff2 (distance units)

pair_style lj/cut/coul/cut 10.0 8.0

pair_coeff 1 1 100.0 3.5 9.0

improper_style
kspace_modify

lj/class2

kspace_style

E = Evdw

6
⎡ ⎛ σ ⎞9
⎛σ ⎞ ⎤
= ε ⎢2 ⎜ ⎟ − 3 ⎜ ⎟ ⎥
⎝ r ⎠ ⎥⎦
⎣⎢ ⎝ r ⎠

pair_style lj/class2 10.0
pair_coeff 1 1 100.0 3.5 9.0

for r < rC

pair_coeff
pair_modify
PAIR_STYLE
pair_write
special_bonds

lj/class2/c
oul/cut

E = Evdw + C
for r < rC

qi q j

εr

pair_style lj/class2/coul/cut
10.0 8.0
pair_coeff 1 1 100.0 3.5 9.0
22

FORCEFIELD
angle_coeff
angle_style
bond_coeff
bond_style
dielectric
dihedral_coeff
dihedral_style
improper_coeff
improper_style
kspace_modify
kspace_style
pair_coeff

EXAMPLES
(when used, must appear after "read data" or "read restart" command)
angle coeff

1 30.0 108.0

(angle style harmonic)

angle coeff

1 30.0 108.0 30.0 2.5

(angle style charmm)

angle coeff

1 30.0 108.0

(angle style cosharmonic)

bond coeff

1 100.0 3.45

(bond style harmonic)

bond coeff

1 30.0 1.5 1.0 1.0

(bond style fene/standard )

bond coeff

1 30.0 1.5 1.0 1.0 0.2

(bond style fene/shift)

bond coeff

1 28.0 0.748308 0.166667

(bond style nonlinear)
(dihedral style harmonic)

dihedral coeff

1 10.0 1 3

dihedral coeff

1 2.0 2.0 2.0 2.0 2.0

(dihedral style multiharmonic)

dihedral coeff

1 2.0 5 180.0 0.5

(dihedral style charmm)

dihedral coeff

1 2.0 1 3.0

(dihedral style dreiding)

improper coeff

1 20.0 0.0

(improper style harmonic)

improper coeff

1 20.0 10.0

(improper style cvff)

dielectric

1

pair coeff

1 2 1.0 3.45 10.0

(pair style lj/cutoff)

pair coeff

1 2 1.0 3.45 8.0 10.0

(pair style lj/smooth)

pair coeff

1 2 1.0 3.45 2.0 10.0

(pair style lj/shift)

pair coeff

1 2 1.0 30.0 2.5

(pair style soft)

pair coeff

1 2 1.0 3.45 10.0

(pair style class2/cutoff)

pair coeff

1 2 1.0 3.45 1.0 3.45

(pair style lj/charmm)

pair coeff

1 2 1.0 3.45 12.0 10.0

(pair style expo_6/cutoff)

pair coeff

1 2 1.0 3.45 12.0 10.0 12.

0

pair coeff

1 2 1.0 3.45 12.0 10.0

(pair style expo_6/smooth)

pppm mesh

32 32 64

pppm order

5

special bonds

amber

special bonds

0.0 0.0 0.5

(pair style expo_6/spline)

pair_modify
pair_style
pair_write
special_bonds

23

SETTINGS
communicate
dipole
group
mass
min_modify
min_style
neigh_modify
NEIGHBOR
reset_timestep
run_style

neighbor skin style
neighbor 0.3 bin
neighbor 2.0 nsq

set
shape
timestep
velocity

This command sets parameters that affect the building of the
pairwise neighbor list. All atom pairs within a cutoff distance equal
to the their force cutoff plus the skin distance are stored in the list.
Typically, the larger the skin distance, the less often neighbor lists
need to be built, but more pairs must be checked for possible force
interactions every timestep.
24

FIX
fix
fix_modify
unfix

1
Xˆ =
M obs

M obs

∑X
i =1

i

25

FIX
FIX
fix_modify
unfix

fix id all nve
nve ‐ constant NVE time integration
nve/asphere ‐ NVT for aspherical particles
nve/dipole ‐ NVE for point dipolar particles
nve/gran ‐ NVE for granular particles
nve/limit ‐ NVE with limited step length
nve/noforce ‐ NVE without forces (v only)

fix ID group‐ID nve
ID, group‐ID are documented in fix command
nve = style name of this fix command

fix id all nvt
nvt ‐ constant NVT time integration via Nose/Hoover
nvt/asphere ‐ NVT for aspherical particles
nvt/sllod ‐ NVT for NEMD with SLLOD equations

fix ID group‐ID nvt Tstart Tstop Tdamp keyword value ...
ID, group‐ID are documented in fix command
nvt = style name of this fix command
Tstart,Tstop = desired temperature at start/end of run
Tdamp = temperature damping parameter (time units)
zero or more keyword/value pairs may be appended
keyword = drag

fix id all npt
npt ‐ constant NPT time integration via Nose/Hoover
npt/asphere ‐ NPT for aspherical particles
fix ID group‐ID npt Tstart Tstop Tdamp p‐style args keyword value ...
xyz args = Pstart Pstop Pdamp
Pstart,Pstop = desired pressure at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)
xy or yz or xz or aniso args = Px_start Px_stop Py_start Py_stop Pz_start Pz_stop Pdamp
Px_start,Px_stop,... = desired pressure in x,y,z at start/end of run (pressure units)
Pdamp = pressure damping parameter (time units)

26

FIX
FIX
fix_modify
unfix

fix ID group‐ID style args
addforce ‐ add a force to each atom
aveforce ‐ add an averaged force to each atom
ave/atom ‐ compute per‐atom time‐averaged quantities
ave/spatial ‐ output per‐atom quantities by layer
ave/time ‐ output time‐averaged compute quantities
com ‐ compute a center‐of‐mass
coord/original ‐ store original coords of each atom
deform ‐ change the simulation box size/shape
deposit ‐ add new atoms above a surface
drag ‐ drag atoms towards a defined coordinate
dt/reset ‐ reset the timestep based on velocity, forces
efield ‐ impose electric field on system
enforce2d ‐ zero out z‐dimension velocity and force
freeze ‐ freeze atoms in a granular simulation
gravity ‐ add gravity to atoms in a granular simulation
gyration ‐ compute radius of gyration
heat ‐ add/subtract momentum‐conserving heat
indent ‐ impose force due to an indenter
langevin ‐ Langevin temperature control
lineforce ‐ constrain atoms to move in a line
msd ‐ compute mean‐squared displacement (i.e. diffusion
coefficient)
momentum ‐ zero the linear and/or angular momentum of
a group of atoms
nph ‐ constant NPH time integration via Nose/Hoover
npt ‐ constant NPT time integration via Nose/Hoover
npt/asphere ‐ NPT for aspherical particles
nve ‐ constant NVE time integration
nve/asphere ‐ NVT for aspherical particles
nve/dipole ‐ NVE for point dipolar particles
nve/gran ‐ NVE for granular particles
nve/limit ‐ NVE with limited step length
nve/noforce ‐ NVE without forces (v only)
nvt ‐ constant NVT time integration via Nose/Hoover
nvt/asphere ‐ NVT for aspherical particles

nvt/sllod ‐ NVT for NEMD with SLLOD equations
orient/fcc ‐ add grain boundary migration force
planeforce ‐ constrain atoms to move in a plane
poems ‐ constrain clusters of atoms to move as
coupled rigid bodies
pour ‐ pour new atoms into a granular simulation
domain
print ‐ print text and variables during a simulation
rdf ‐ compute radial distribution functions
recenter ‐ constrain the center‐of‐mass position of a
group of atoms
rigid ‐ constrain one or more clusters of atoms to
move as a rigid body
setforce ‐ set the force on each atom
shake ‐ SHAKE constraints on bonds and/or angles
spring ‐ apply harmonic spring force to group of atoms
spring/rg ‐ spring on radius of gyration of group of
atoms
spring/self ‐ spring from each atom to its origin
temp/rescale ‐ temperature control by velocity
rescaling
tmd ‐ guide a group of atoms to a new configuration
viscosity ‐ Muller‐Plathe momentum exchange for
viscosity calculation
viscous ‐ viscous damping for granular simulations
wall/gran ‐ frictional wall(s) for granular simulations
wall/lj126 ‐ Lennard‐Jones 12‐6 wall
wall/lj93 ‐ Lennard‐Jones 9‐3 wall
wall/reflect ‐ reflecting wall(s)
wiggle ‐ oscillate walls and frozen atoms

27

FIX
fix

EXAMPLES OF CONSTRAINTS
(when used, must appear after "read data" or "read restart" command)

fix_modify
unfix

assign fix

1 atom 200

assign fix

1 molecule 50

assign fix

1 type 2

assign fix

1 region 0.0 1.0 INF INF 0.0 1.0

assign fix

1 bondtype 4

assign fix

1 remainder

fix style

none

fix style

1 setforce 0.0 NULL 0.0

fix style

1 addforce 1.0 0.0 0.0

fix style

1 aveforce 1.0 0.0 0.0

fix style

1 rescale 300.0 300.0 100 20.0 0.5

fix style

1 hoover/drag 50.0 50.0 0.001

fix style

1 langevin 50.0 50.0 0.01 12345 1 1 1

fix style

1 springforce 10.0 NULL NULL 1.0

fix style

1 dragforce 10.0 ‐5.0 NULL 2.0 1.0

fix style

1 shake 3 0.001 100
28

COMPUTES
COMPUTE
compute_modify
uncompute

compute ID group‐ID style args
compute 1 all temp
compute newtemp flow temp/partial 1 1 0
compute 3 all ke/atom

centro/atom ‐ centro‐symmetry parameter for each atom
coord/atom ‐ coordination number for each atom
displace/atom ‐ displacement of each atom
group/group ‐ energy/force between two groups of atoms
ke/atom ‐ kinetic energy for each atom
pe ‐ potential energy
pe/atom ‐ potential energy for each atom
pressure ‐ total pressure and pressure tensor
reduce ‐ combine per‐atom quantities into a single global value
rotate/dipole ‐ rotational energy of dipolar atoms
rotate/gran ‐ rotational energy of granular atoms
stress/atom ‐ stress tensor for each atom
temp ‐ temperature of group of atoms
temp/asphere ‐ temperature of aspherical particles
temp/deform ‐ temperature excluding box deformation velocity
temp/dipole ‐ temperature of point dipolar particles
temp/partial ‐ temperature excluding one or more dimensions of velocity
temp/ramp ‐ temperature excluding ramped velocity component
temp/region ‐ temperature of a region of atoms

29

minimize tolerance maxiter maxeval

ACTIONS
delete_atoms
delete_bonds
displace_atoms
displace_box
minimize
RUN
temper

run N keyword values
N = # of timesteps
zero or more keyword/value pairs may be appended
keyword = upto or start or stop or pre or post or every

run 10000 run 1000000 upto
run 100 start 0 stop 1000
run 1000 pre no post yes
run 100000 start 0 stop 1000000 every 1000 print "Protein Rg = $r“
30
run 100000 every 1000 NULL

OUTPUT
DUMP
dump_modify
restart
thermo
thermo_modify
thermo_style

dump ID group‐ID style N file args
ID = user‐assigned name for the dump
group‐ID = ID of the group of atoms to be dumped
style = atom or bond or dcd or xtc or xyz or custom
N = dump every this many timesteps
file = name of file to write dump info to
args = list of arguments for a particular style

undump
write_restart
dump myDump all atom 100
dump.atom dump 2 subgroup atom 50
dump.run.bin dump 4a all custom 100
dump 1 all xtc 1000 file.xtc

31

OUTPUT
dump
dump_modify
restart
THERMO
thermo_modify
thermo_style
undump
write_restart

thermo_style style args
style = one or multi or granular or custom
args = list of arguments for a particular style
one args = none
multi args = none
granular args = none
custom args = list of attributes
possible attributes = step, atoms, cpu, temp, press,
pe, ke, etotal, enthalpy,
evdwl, ecoul, epair, ebond, eangle, edihed, eimp,
emol, elong, etail,
vol, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi,
pxx, pyy, pzz, pxy, pxz, pyz
drot, grot,
c_ID, c_ID[n], f_ID, f_ID[n], v_name
step = timestep
atoms = # of atoms
cpu = elapsed CPU time
temp = temperature
press = pressure
pe = total potential energy
ke = kinetic energy
etotal = total energy (pe + ke)
enthalpy = enthalpy (pe + press*vol)
evdwl = VanderWaal pairwise energy
ecoul = Coulombic pairwise energy
epair = pairwise energy (evdwl + ecoul + elong + etail)
ebond = bond energy
eangle = angle energy
edihed = dihedral energy
eimp = improper energy
emol = molecular energy (ebond + eangle + edihed + eimp)
elong = long-range kspace energy
etail = VanderWaal energy long-range tail correction
vol = volume
lx,ly,lz = box lengths in x,y,z
xlo,xhi,ylo,yhi,zlo,zhi = box boundaries
pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor
drot = rotational energy of dipolar atoms
grot = rotational energy of granular atoms
c_ID = global scalar value calculated by a compute with ID
c_ID[N] = Nth component of global vector calculated by a compute with ID
f_ID = global scalar value calculated by a fix with ID
f_ID[N] = Nth component of global vector calculated by a fix with ID
v_name = global value calculated by an equal‐style variable with name

32

TOOLS
amber2lammps
binary2txt
ch2lmp

DESCRIPTION
Python scripts for converting files back‐and‐forth between the AMBER MD code and LAMMPS
converts one or more binary LAMMPS dump file into ASCII text files
contains tools for converting files back‐and‐forth between the CHARMM MD code and LAMMPS

chain

LAMMPS data file containing bead‐spring polymer chains and/or monomer solvent atoms

data2xmovie

converts a LAMMPS data file into a snapshot suitable for visualizing with the xmovie tool

eam generate

converts an analytic formula into a tabulated embedded atom method (EAM) setfl potential file

lmp2arc

converting LAMMPS output files to the format for Accelrys's Insight MD code

lmp2cfg

tool for converting LAMMPS output files into a series of *.cfg files which can be read into the AtomEye
visualizer

lmp2traj

tool for converting LAMMPS output files into 3 analysis files

matlab / MSLAB

several MATLAB scripts for post‐processing LAMMPS output

micelle2d
msi2lmp
pymol_asphere
restart2data
thermo_extract
vim , xmovie

creates a LAMMPS data file containing short lipid chains in a monomer solution
tool for creating LAMMPS input data files from Accelrys's Insight MD code (formerly MSI/Biosysm and its
Discover MD code)
tool for converting a LAMMPS dump file that contains orientation info for ellipsoidal particles into an input
file for the PyMol visualization package
converts a binary LAMMPS restart file into an ASCII data file
reads one of more LAMMPS log files and extracts a thermodynamic value (e.g. Temp, Press)
X‐based visualization package that can read LAMMPS dump files and animate them

33

MODMOL 25‐27 Feb 2008, Jouy‐en‐Josas
olivier.vitrac@agroparistech.fr
# MSLAB starts within $PROJECT
# example of line to be added/updated in ~/.bashrc
export PROJECT="~/project"

This document is based on our own contribution.
The result is freely distributable without guarantee or warrantee of any kind.

Custom LAMMPS installation
Important definitions for LAMMPS in this ./.bashrc (use LAMRC to see the related HELP)

FILE: ~/.bashrc

Installation parameters
=======================
topaze: open a ssh connection on topaze
see also: GENKEY, EXPORTKEY (to make it possible a SSH connection without password on cluster
nodes)
$PROJECT: main directory of LAMMPS projects (TO BE CHECKED with "echo $PROJECT")
LAMMPS scripts must be located in $PROJECT (default) or in its subdirectories (e.g. examples)
LAMMPS jobs are automatically stored in $PROJECT/XXXXX (where X=[A-Z0-9])
see also: LSLAM, CDLAM, TREELAM
Included directories
bin/
LAMMPS executables (several versions are available)
executions with MPICH should be avoided, LAM/MPI must be preferred as it is
integrated with SUN GRID ENGINE
bin/tools/
other executables
doc/
documentation
make/
make directory (for advanced users)
examples/
examples
pizza/
PYTHON interface to LAMMPS (see PIZZA)
installation file has been modified to match $PROJECT
NB: PIZZA works on LINUX and WINDOWS XP/Vista
MSLAB (Matlab with the toolbox MS) requires:
> a directory $PROJECT/../codes/MS where all MS functions are located
> a script $PROJECT/startms.m where the GLOBAL variables LAMMPS and PATHPROJECT are defined
> The variable LAMMPS must be updated to your needs (e.g. define your e-mail).
NB: MSLAB works on LINUX and WINDOWS XP/Vista

35

CUSTOM LAMMPS JOB
FILE: ~/.bashrc

Typical job $PROJECT/XXXXX
===========================
Each job directory contains initially:
a LAMMPS executable: e.g. lmp_g++_lam_all_100208 (last version 10/02/08 for LAM/MPI, including all
modules)
a LAMMPS input file: e.g. long.in.lj
additional data files: e.g. data.micelle (see LAMJOB to add user files)
3 shell scripts:
run.sh: submit the job on the cluster via SUN GRID ENGINE
manual queueue and execution on the cluster via: $PROJECT/XXXXX/run.sh (or ./run.sh)
lammpsscript.sh: (e.g. long.in.sh) main launcher via MPIRUN (can be used direclty on TOPAZE)
manual execution on TOPAZE via: $PROJECT/XXXXX/lammpsscript.sh (or ./lammpsscript.sh)
prior a manual execution on TOPAZE, an active lamboot is required and subsequently a
lamhalt (lamboot and lamhalt lines in the scrip are inactivated by default in the script
since they are managed automatically by the SUN GRID ENGINE)
mpi.sh: MPI argument (to used only by lammpsscript.sh)
After/during execution, several files are created:
jobid: jod id to be used with qstat -j jobid
project.log: log file
project.out: standard output (STDOUT)
project.err: standard error (STDERR)
lammps.log: additional log (default)
see also: MSLAB, PIZZA, RMLAMJOB, CLLAMJOB, LAMAN, TREELAM, PSSEARCH

36

FILE: ~/.bashrc
BASH WRAPPERS

DESCRIPTION

cdlam

cd into a LAMMPS dir/path

cllamjob or cllammpsjob

clean LAMMPS jobs via MSLAB

ccllamjob jobname1 [jobname2][jobname3] [jobname4] ...

exportkey

export RSA key on the cluster

exportkey firstnode [lastnode]

genkey

RSA genkey (require for SSH)

genkey

killsearch

kill a process on all nodes

msi2lmp
laman
lamjob, lammpsjob

USAGE
cdlam localpath

killsearch processname [username] [firs

convert a MSI project into a Lammps
msi2lmp msiproject [class] [ff] [print] [ffpath]
data file
help on LAMMPS script command

laman [lammps_command]

lamjob mylammpsscript cmd [numproc] [jobname] [jobpath]
Prepare/queue/run a LAMMPS job via
[jobpath] [datafile1][datafile2]…
MSLAB on the cluster
cmd = run, script or runone

lamrc or lammpsrc

display a general help via .bashrc

lslam

ls into a LAMMPS dir/path

mslab

matlab with MS (text mode)

pizza

PYTHON extension for LAMMPS
(custom installation)

pssearch

search a process on all nodes

rmlamjob or rmlammpsjob

remove LAMMPS jobs via MSLAB

treelam

tree all LAMMPS projects

u

list all jobs for the current user

lamrc
lslam localpath
mslab, see "help MS" for detailed funct
pizza
pssearch processname [username] [firstn
rmlamjob jobname1 [jobname2][jobname3] [jobname4] ...
treelam, treelam long, treelam short
u
37

PATH: $PROJECT/../codes/MS
MSLAB FUNCTIONS

cllammpsjob
lamdumpread
readlog

DESCRIPTION
clean a or several LAMMPS jobs (remove the LAMMPS executable)
read LAMMPS dump file (all fields are identified after the keyword 'ITEM:' and the following
values are assumed to be numerical)
LAMMPS log files
create and launch a LAMMPS job on the cluster (as defined in global variables: PROJECTPATH and
LAMMPS)

lammpsjob
lmp2cfg

LAMMPS dump file to Extended CFG Format (No velocity) to be used

msi2lmp

converts a MSIproject (MSIproject.car, MSIproject.mdf) into a LAMMPS data file

readdump_all
readdump_one

all timesteps from a LAMMPS dump file
LAMMPS dump file one timestep at a time

readlog

LAMMPS log files

readrdf

to read Radial Distribution Funtion output from LAMMPS

rmlammpsjob
scandump

remove a or several LAMMPS job(s) (delete the entire directories created by LAMMPSJOB)
to scan LAMMPS dump file

MS (Molecular Studio) Toolbox for Matlab include 254 functions
Main contributor: O. Vitrac
LINUX CAPAPLE, WIN32/64 COMPATIBLE

38

MSLAB custom installation
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%
%

STARTMS (PATH: $PROJECT/startms.m) – MATLAB SCRIPT
MINIMUM setup configuration for MS on UNIX machines
It works also on WINBOXES (Note: MS was designed on WIN32 machines)

FILE: $PROJECT/startms.m

This script defines two global variables PROJECTPATH (string) and LAMMPS (structure)
A new user must update PROJECTPATH and possibly some fields in LAMMPS
PROJECTPATH: defines the main directory for all LAMMPS projects
When the environment variable $PROJECT exist, its value is assigned to PROJECTPATH (default behavior)
If not the script definition is used.

LAMMPS: object used to generate all required BASH scripts to submit a job instance
(with MPIRUN or not, with SUN GRID ENGINE or not)
In future versions, this variable will be replaced by a single XML file.
Customizable fields in LAMMPS include:
LAMMPS.bin: bin/ directory in PROJECTPATH (all required binaries are assumed to be located there)
NB: Tools are expected to be located in bin/tools (see MSI2LMP)
Makefiles are located in PROJECTPATH/make
LAMMPS.lammps: filename of LAMMPS executable (several versions of LAMMPS can be used according to
MPI, compilation options...)
%
LAMMPS.maxnumproc: max number of processors, which can be invoked (theoretically 1000, 16 could be an
acceptable value on MIGALE)
%
LAMMPS.email: contact e-mail (use to send e-mails during main job events)
%
% The local variable localMS define the relative path from the location of startms, where MS is installed.
% By default, MS is outside PROJECT (safe behavior). Update its content to your need.

39

MODMOL 25‐27 Feb 2008, Jouy‐en‐Josas
olivier.vitrac@agroparistech.fr
# PIZZA and MSLAB starts within $PROJECT
# example of line to be added/updated in ~/.bashrc
export PROJECT="~/project"

This document is based on our own contribution.
The result is freely distributable without guarantee or warrantee of any kind.

PIZZA.py custom installation
FILE: $PROJECT/pizza/src/pizza.py

#!/usr/local/bin/python –I
# Pizza.py toolkit, www.cs.sandia.gov/~sjplimp/pizza.html
...
...
# modules needed by pizza.py
import sys, commands, os, string, exceptions, glob, refrom time import clock
# Customization by O. Vitrac
boxname = os.name
if boxname.find("nt") >=0:
PIZZAROOT = os.path.normpath("C:\Data\Olivier\INRA\Codes\mslab\pizza")
print "NT system"
else:
PIZZAROOT = os.path.normpath(os.path.join(os.environ.get('PROJECT'),'pizza'))
print "assume a LINUX machine"
os.chdir(PIZZAROOT)
print "current path: %s (default directory for data)" % os.getcwd()
print "available functions in src:\n\n %s\n" % os.listdir(os.path.normpath(os.path.join(PIZZAROOT,'src')))
...
...
# ALL SCRIPTS ARE NOW LAUNCHED FROM PIZZAROOT: $PROJECT/pizza

FILE: $PROJECT/pizza/src/DEFAULTS.py

# Pizza.py toolkit, www.cs.sandia.gov/~sjplimp/pizza.html
# Steve Plimpton, sjplimp@sandia.gov, Sandia National Laboratories...
...
import osPIZZA_TOOLS = [os.path.normpath(os.path.join(os.getcwd(),'src'))]
PIZZA_SCRIPTS = [os.path.join(os.getcwd(),'scripts'),os.path.join(os.getcwd(),'examples')]
PIZZA_EXCLUDE = ["pizza", "DEFAULTS", "vizinfo"]

41

CUSTOM PIZZA TEST
# simple test of chain tool
# creates tmp.data.chain file (see test_chain.py)
c = chain(500,0.7,1,1,2)
c.seed = 54321
c.build(25,10)
c.mtype = 2
c.btype = 2
c.blen = 1.5
c.dmin = 1.2
c.id = "end1"
c.build(10,25)
c.write("tmp.data.chain")
print "all done ... type CTRL-D to exit Pizza.py"

42

http://www.cs.sandia.gov/~sjplimp/pizza.html

PIZZA Functions
animate.py

Animate a series of image files

cdata.py

Read, write, manipulate ChemCell data files

chain.py

Create bead‐spring chains for LAMMPS input

cfg.py

Convert LAMMPS snapshots to CFG format

clog.py

Read ChemCell log files and extract species data

data.py

Read, write, manipulate LAMMPS data files

dump.py

Read, write, manipulate dump files and particle attributes

ensight.py

Convert LAMMPS snapshots to Ensight format

gl.py

3d interactive visualization via OpenGL

gnu.py

Create plots via GnuPlot plotting program

histo.py

Particle density histogram from a dump

image.py

View and manipulate images

log.py

Read LAMMPS log files and extract thermodynamic data

matlab.py

Create plots via MatLab numerical analysis program

mdump.py

Read, write, manipulate mesh dump files

pair.py

Compute LAMMPS pairwise energies

patch.py

Create patchy Lennard‐Jones particles for LAMMPS input

pdbfile.py

Read, write PDB files in combo with LAMMPS snapshots

plotview.py

Plot multiple vectors from a data set

rasmol.py

3d visualization via RasMol program

raster.py

3d visualization via Raster3d program

svg.py

3d visualization via SVG files

vcr.py

VCR‐style GUI for 3d interactive OpenGL visualization

vec.py

Create numeric vectors from columns in file or list of vecs

vtk.py

Convert LAMMPS snapshots to VTK format

xyz.py

Convert LAMMPS snapshots to XYZ format

43

PIZZA with GUI
#ADD the export line to your bash or type it:
$ export PYTHONPATH="/usr/local/src/public/PyOpenGL‐
3.0.0a6/:/usr/local/src/public/modules‐python/Imaging‐
1.1.6/PIL/:/usr/local/public/python‐2.4.3/lib/python2.4/site‐
packages/Numeric/:/usr/local/genome/mgcat1.24‐linux32‐
py23/:/usr/local/src/public/ctypes‐1.0.2/build/lib.linux‐x86_64‐
2.3/:/usr/local/public/python‐2.4.3/lib/python2.4/site‐packages/setuptools‐0.6c7‐
py2.4.egg/:/usr/local/src/public/Togl‐1.7/"
$ \pizza

# \ is used to override the current alias

ssh –Y username@topaze.jouy.inra.fr
Check: echo $DISPLAY

44

MODMOL 25‐27 Feb 2008, Jouy‐en‐Josas
olivier.vitrac@agroparistech.fr

This document gathers several freely available sources.
The result is freely distributable without guarantee or warrantee of any kind.

BEAD‐SPRING POLYMER MELT
FENE: Finite Extendible Nonlinear Elastic Model (here: 2880 beads, 2715 bonds)
$PROJECT/bin/tools/chain <$PROJECT/examples/example.def.chain
>$PROJECT/chain/data.chain

Polymer chain definition
0.8442
592984
2
0

rhostar
random # seed (8 digits or less)
# of sets of chains (blank line + 6 values for each set)
molecule tag rule: 0 = by mol, 1 = from 1 end, 2 = from 2
ends

160
16
1
1
0.97
1.02

number of chains
monomers/chain
type of monomers (for output into LAMMPS file)
type of bonds (for output into LAMMPS file)
distance between monomers (in reduced units)
no distance less than this from site i-1 to i+1 (reduced
unit)

5
64
2
2
1.05
1.12

number of chains
monomers/chain
type of monomers (for output into LAMMPS file)
type of bonds (for output into LAMMPS file)
distance between monomers (in reduced units)
no distance less than this from site i-1 to i+1 (reduced
unit)

46
FILE: $PROJECT/examples/example.def.chain

BEAD‐SPRING POLYMER MELT
FENE: Finite Extendible Nonlinear Elastic Model (here: 2880 beads, 2715 bonds)
# PIZZA-PYTHON SCRIPT using the method CHAIN
# Such script is equivalent to
# $PROJECT/bin/tools/chain <$PROJECT/examples/example.def.chain
# >$PROJECT/chain/data.chain
N = 2880
# total number of monomers
rhostar = 0.8442
# density
#c = chain(N,rhostar)
#setup box with N monomers at reduced density rho
c = chain(N,rhostar,1,1,1) #x,y,z = aspect ratio of box (def = 1,1,1)
c.seed = 592984
#set random # seed (def = 12345)
c.mtype = 1
c.btype = 1
c.blen = 0.97
c.dmin = 1.02
c.build(160,16)

#set type of monomers (def = 1)
#set type of bonds (def = 1)
#set length of bonds (def = 0.97)
#set min dist from i-1 to i+1 site (def = 1.02)
#create 160 chains, each of length 16

c.mtype = 2
c.btype = 2
c.blen = 1.05
c.dmin = 1.12
c.build(5,64)

#set type of monomers (def = 1)
#set type of bonds (def = 1)
#set length of bonds (def = 0.97)
#set min dist from i-1 to i+1 site (def = 1.02)
#create 5 chains, each of length 64

c.write("data.chain")

#write out all built chains to LAMMPS data file

pizza

FILE: $PROJECT/pizza/examples/example_chain_data.py
47

# SCRIPT derived from FENE beadspring benchmark

BEAD‐SPRING
POLYMER MELT
FENE stands for the finitely
extensible nonlinear elastic
model of a long‐chained
polymer. It simplifies the chain
of monomers by connecting a
sequence of beads with
nonlinear springs. The spring
force law is governed by
inverse Langevin function or
approximated by the Warner's
relationship:

160+5‐mer chains and FENE bonds:
2,880 monomers for 104 timesteps
reduced density 0.8442 (liquid)
force cutoff of 2^(1/6) sigma
neighbor skin = 0.4 sigma
neighbors/atom = 5 (within force
cutoff)
NVE time integration

units
lj
atom_style
bond
special_bonds 0.0 1.0 1.0
read_data

data.chain

neighbor
neigh_modify

0.4 bin
every 1 delay 1

bond_style
bond_coeff
bond_coeff

fene
1 30.0 1.5 1.0 1.0
2 30.0 1.5 1.0 1.0

pair_style
pair_modify
pair_coeff
pair_coeff

lj/cut 1.20
shift yes
1 1 1.0 1.0 1.12
2 2 1.5 1.1 1.20

fix
fix

1 all nve
2 all langevin 1.0 1.0 10.0 904297

thermo
timestep

100
0.012

run

10000
48

# DEMO: bidisperse (advanced ex.)
# 26/02/08
echo $PROJECT
lslam examples

FILE: $PROJECT/examples/bidisperse.demo

# current queue

# ls available templates

# PROJECT 1) BOX CREATION AND MINIMIZATION
#==========================================

lamjob examples/in.bidisperse.relax script 1 test.birelax []
def.chain.bidisperse in.bidisperse.nvt # copy templates, generate scripts
cdlam

test.birelax

# cd into the new project

$PROJECT/bin/tools/chain data.chain.bidisperse
# generate chains on a lattice

nano in.bidisperse.relax

# edit the relaxation script (no change required)

./run.sh
u

# launch/submit the job on a single proc

# STEP 2) NVT DYNAMICS
#=====================
echo $QUEUE
export QUEUE="stage.q“

# check your job

# current queue
# change queue (empty assign the default “long.q”)

lamjob test.birelax/in.bidisperse.nvt run 4 test.binvt []
bidisperse.relax.restart.10000 # generate/submit the dynamics on 4 procs
u

# check your job

49

ALL ATOM SIMULATION
EXAMPLE 1: CVFF (no warnings), shrink boundary conditions
msi2lmp $PROJECT/examples/decane I CVFF
lamjob examples/in.decane script 1 decane [] decane.lammps05
units
atom_style
boundary

real
full
s s s

fix
1 all nvt
298.0 298.0 100.0
dump
1 all atom
100 dump.decane

pair_style lj/cut 10.0
bond_style
harmonic
angle_style
harmonic
dihedral_style harmonic
improper_style none

decane

minimize
1000
run

read_data

decane.lammps05

neighbor
neigh_modify

2.0 bin
delay 5

timestep

2.0

thermo_style
thermo

multi
50

1.0e-4 100
10000

FILE: $PROJECT/examples/in.decane

50

ALL ATOM SIMULATION
EXAMPLE 2: CVFF (warnings), shrink boundary conditions
msi2lmp $PROJECT/examples/Epicatechin I cvff
lamjob examples/in.Epicatechin script 1 Epicatechin []
Epicatechin.lammps05
units
atom_style
boundary

real
full
s s s

pair_style lj/cut 10.0
bond_style
harmonic
angle_style
harmonic
dihedral_style harmonic
improper_style cvff
read_data
Epicatechin.lammps05

Epicatechin

neighbor
neigh_modify

2.0 bin
delay 5

timestep

2.0

thermo_style
thermo

multi
50

fix
1 all nvt
298.0 298.0 100.0
dump
1 all atom
100 dump.decane
minimize
1000
run

1.0e-4 100
10000

51
FILE: $PROJECT/examples/in.Epicatechin

ALL ATOM SIMULATION
EXAMPLE 3: CFF (warnings), periodic boundary conditions, NPT
msi2lmp $PROJECT/examples/BHT/ethanol_BHTx1 II cff91
lamjob examples/BHT/in.ethanol_BHTx1 script 1 BHT []
ethanol_BHTx1.lammps05
units
atom_style
boundary

BHT in 200
molecules
of ethanol

real
full
p p p

thermo_style
thermo

pair_style lj/cut/coul/cut 10.0
8.0
bond_style
class2
angle_style
class2
dihedral_style class2
improper_style class2

multi
50

fix
1 all npt
298.0 298.0 100.0 xyz 1.0
1.0 1.0
dump
1 all atom
1000 dump.ethanol_BHTx1
run

10000

read_data
ethanol_BHTx1.lammps05
neighbor
neigh_modify

2.0 bin
delay 5

timestep

1.0
52
FILE: $PROJECT/examples/BHT/in.ethanol_BHTx1

MODMOL 25‐27 Feb 2008, Jouy‐en‐Josas
olivier.vitrac@agroparistech.fr

This document gathers several freely available sources.
The result is freely distributable without guarantee or warrantee of any kind.

LEARNING PYTHON

54

LEARNING PYTHON

55

LEARNING PYTHON

56

LEARNING MATLAB

http://www.mathworks.com/access/
helpdesk/help/techdoc/index.html?/
access/helpdesk/help/techdoc/learn_
57
matlab/bqr_2pl.html

58

59

VISUALIZATION OF DUMP FILES

http://www.ks.uiuc.edu/Development/Download/do
wnload.cgi?PackageName=VMD

Version 1.8.6 (2007‐04‐07)

60

WIN2LINUX Solutions

http://cygwin.com/
(free)

# Cygwin with SSHD: requires zlib, tcpwrappers, openssh
# Install
mkpasswd ‐l > /etc/passwd
mkgroup ‐l > /etc/group
exit
# Relogin
which sshd
ssh‐host‐config ‐y
cygrunsrv ‐S sshd
sc description sshd
# create public key
ssh‐keygen ‐t dsa
# send key
cat .ssh/*.pub | ssh ovitrac@topaze.jouy.inra.fr tee ‐a .ssh/authorized_keys
# autologin
ssh ovitrac@topaze.jouy.inra.fr

http://www.chiark.greenend.org.uk/~sgtat
ham/putty/download.html
(free)
61

WIN2LINUX Solutions

http://sourceforge.net/projects/xming
(free)

http://winscp.net/eng/docs/lang:fr
(free)
62

WIN2LINUX Solutions

http://www.sftpdrive.com/
SHAREWARE
http://www.vmware.com/products/server/
63
(VMWARE SERVER: currently Free)

MODMOL 25‐27 Feb 2008, Jouy‐en‐Josas
olivier.vitrac@agroparistech.fr

This document gathers several freely available sources.
The result is freely distributable without guarantee or warrantee of any kind.

$PROJECT\make\lammps‐
31Jan08\src\MAKE\Makefile.g++_lam_all_100208
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•

# g++ = RedHat Linux box, g++, LAM, FFTW
# INRA\Olivier Vitrac 13/02/08 (for LAMMPS 10/02/08)
#
# Compilation is ok
# >> TEST EXAMPLE:
# >> cd $PROJECT/../testlam; ./lmp_g++_lam > BUG REPORT
# The MPIRUN hangs.
# cd $PROJECT/../testlam;lamboot; mpirun ‐np 1
lmp_g++_lam  $@
# Individual dependencies
DEPENDS = $(OBJ:.o=.d)
include $(DEPENDS)

65

66



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.4
Linearized                      : Yes
Tagged PDF                      : Yes
XMP Toolkit                     : Adobe XMP Core 4.0-c316 44.253921, Sun Oct 01 2006 17:14:39
Create Date                     : 2008:02:27 01:20:18+01:00
Creator Tool                    : Acrobat PDFMaker 8.1 for PowerPoint
Modify Date                     : 2008:02:27 01:21:50+01:00
Metadata Date                   : 2008:02:27 01:21:50+01:00
Producer                        : Acrobat Distiller 8.1.0 (Windows)
Format                          : application/pdf
Creator                         : Olivier
Title                           : Slide 1
Document ID                     : uuid:d983043d-7145-47ca-ae7c-a33b15eb6251
Instance ID                     : uuid:46dd7cdc-d730-4702-a781-b040dd9a6d6b
Page Count                      : 66
Page Layout                     : SinglePage
Author                          : Olivier
EXIF Metadata provided by EXIF.tools

Navigation menu