2. Outline
Some
notes
on
the
installa;on
Input:
general
structure
Example
one:
LJ
solid…………………………………..
A
first
look
to
the
input
file,
the
fix
command
Example
two:
Surface
diffusion
……………….
Thermostats,
the
group
command
Example
three:
External
driving……………...
Pushing
the
system
out
of
equilibrium
Example
four:
rigid
molecules…………………
Constrained
dynamics,
the
molecule
style
Advanced
input:
defining
and
using
variables
Output
:
general
structure
Computa;ons
and
Output
3. Reference
Web
Page
LAMMPS:
Large-‐Scale
Atomic/Molecular
Massively
Parallel
Simulator
h>p://lammps.sandia.gov/
Atomis;c
simula;ons
with
pairwise
and
many-‐body
poten;als
Force
fields
for
polymers
and
bio-‐molecules
Finite
elements
calcula;ons
with
atomis;c/con;nuum
coupling
Poten;als
for
granular
media
4. Installa;on
AWer
downloading
the
tarball
file:
1) typing
the
command
make
in
the
src
directory
will
list
the
different
preconfigured
architectures
(the
corresponding
makefiles
are
in
the
src/MAKE
folder)
and
the
instruc;ons
on
how
to
compile
for
the
desired
architecture.
To
compile
on
CSCS
Cray
edit
e.g.
Makefile.xt5
and
comment
lines
FFT_INC,
FFT_PATH
and
FFT_LIB,
load
the
needed
modules,
go
back
to
src
and
execute
make xt5.
2) LAMMPS
works
with
different
external
packages,
type
make package
to
list
all
the
available
packages.
To
include
some
of
them
execute
make yes-package
name_of_package
before
the
compila;on
command. make package-status will
list
the
status
of
all
packages.
4) To
modify
the
path
of
a
library
with
respect
to
the
preconfigured
on,
simply
edit
the
corresponding
makefile.
To
install
on
Ipazia,
for
instance,
edit
the
Makefile.mkl.
#CC
=
mpiicc
CC
=
/opt/parasta;on/mpi2-‐intel/bin/mpicc
CCFLAGS
=
-‐O3
-‐fno-‐alias
-‐ip
-‐unroll0
DEPFLAGS
=
-‐M
LINK
=
/opt/parasta;on/mpi2-‐intel/bin/mpicc
#LINKFLAGS
=
-‐O
-‐L/opt/intel/mkl/10.0.011/lib/em64t
LINKFLAGS
=
-‐O
-‐L/opt/intel/ict_2011/mkl/lib/intel64
LIB
=
-‐lstdc++
-‐lpthread
-‐lmkl_intel_lp64
-‐lmkl_intel_thread
-‐lmkl_core
-‐liomp5
#LIB
=
-‐lstdc++
-‐lpthread
-‐lmkl_intel_lp64
-‐lmkl_intel_thread
-‐lmkl_core
-‐lguide
ARCHIVE
=
ar
ARFLAGS
=
-‐rc
SIZE
=
size
6. Input
file:
overall
structure
Ini*aliza*on
Simula-on
kind
Dimensionality
Unit
system
7. Input
file:
overall
structure
Ini*aliza*on
Simula-on
kind
Dimensionality
Unit
system
Structural
Informa*on
Boundary
condi-ons
Number
and
kind
of
atoms
and
molecules
Atomic
Coordinates
Defini-on
of
atom
subgroups
Masses
and
ini-al
condi-ons
8. Input
file:
overall
structure
Ini*aliza*on
Simula-on
kind
Dimensionality
Unit
system
Structural
Informa*on
Boundary
condi-ons
Number
and
kind
of
atoms
and
molecules
Atomic
Coordinates
Defini-on
of
atom
subgroups
Masses
and
ini-al
condi-ons
Interac*on
/
Evolu*on
info
Interac-on
poten-al
(kinds,parameters,cutoffs)
Dynamics
algorithm
(NVE,
NVT,
PVT
…)
Constraints
and
external
forces
9. Input
file:
overall
structure
Ini*aliza*on
Simula-on
kind
Dimensionality
Unit
system
Structural
Informa*on
Boundary
condi-ons
Number
and
kind
of
atoms
and
molecules
Atomic
Coordinates
Defini-on
of
atom
subgroups
Masses
and
ini-al
condi-ons
Interac*on
/
Evolu*on
info
Interac-on
poten-al
(kinds,parameters,cutoffs)
Dynamics
algorithm
(NVE,
NVT,
PVT
…)
Constraints
and
external
forces
Execu*on
Info
/
calcula*ons
Time
step,
total
simula-on
-me
…
Trajectories
and
averaged
quan--es
Restart
file
10. Input
file:
overall
structure
Ini*aliza*on
Simula-on
kind
Dimensionality
Unit
system
Structural
Informa*on
Boundary
condi-ons
Number
and
kind
of
atoms
and
molecules
Atomic
Coordinates
Defini-on
of
atom
subgroups
Masses
and
ini-al
condi-ons
Interac*on
/
Evolu*on
info
Interac-on
poten-al
(kinds,parameters,cutoffs)
Dynamics
algorithm
(NVE,
NVT,
PVT
…)
Constraints
and
external
forces
Execu*on
Info
/
calcula*ons
Time
step,
total
simula-on
-me
…
Trajectories
and
averaged
quan--es
Restart
file
The
input
is
posi*onal:
succeeding
commands
can
override
each
other
or
being
applied
subsequently
to
the
dynamics
!!!
11. Example
one:
LJ
solid
+
adsorbate
1001 atoms
2 atom types
0.0 15.874 xlo xhi
0.0 7.9370 ylo yhi
0.0 50.000 zlo zhi
Atoms
1 1 0.0000000E+00 0.0000000E+00 0.0000000E+00
2 1 0.7935000 0.7935000 0.0000000E+00
3 1 0.0000000E+00 0.7935000 0.7935000
4 1 0.7935000 0.0000000E+00 0.7935000
5 1 1.587000 0.0000000E+00 0.0000000E+00
6 1 2.380500 0.7935000 0.0000000E+00
7 1 1.587000 0.7935000 0.7935000
8 1 2.380500 0.0000000E+00 0.7935000
9 1 3.174000 0.0000000E+00 0.0000000E+00
…
For
the
details
of
any
command
refer
to:
h>p://lammps.sandia.gov/doc/Manual.html
dimension 3
units lj
atom_style atomic
read_data initpos.dat
velocity all create 0.1 87287
boundary p p p
mass 1 1.0
mass 2 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 2 2 0.0 1.0 2.5
pair_coeff 1 2 0.2 1.0 3.5
fix pippo all nve
thermo 50
dump pluto all xyz 50 dump.xyz
restart 10000 my_restart
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
timestep 0.005
run 50000
xlo
xhi
zlo
zhi
12. Example
one:
LJ
solid
+
adsorbate
1001 atoms
2 atom types
0.0 15.874 xlo xhi
0.0 7.9370 ylo yhi
0.0 50.000 zlo zhi
Atoms
1 1 0.0000000E+00 0.0000000E+00 0.0000000E+00
2 1 0.7935000 0.7935000 0.0000000E+00
3 1 0.0000000E+00 0.7935000 0.7935000
4 1 0.7935000 0.0000000E+00 0.7935000
5 1 1.587000 0.0000000E+00 0.0000000E+00
6 1 2.380500 0.7935000 0.0000000E+00
7 1 1.587000 0.7935000 0.7935000
8 1 2.380500 0.0000000E+00 0.7935000
9 1 3.174000 0.0000000E+00 0.0000000E+00
…
For
the
details
of
any
command
refer
to:
h>p://lammps.sandia.gov/doc/Manual.html
atoms
number
types
number
cell
dimensions
veloci;es
can
also
be
specified
atom
by
atom
in
the
data
file
using
the
keyword
Velocities
aWer
the
Atoms
one.
atom
coordinates
atom
number
atom
kind
dimension 3
units lj
atom_style atomic
read_data initpos.dat
velocity all create 0.1 87287
boundary p p p
mass 1 1.0
mass 2 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 2 2 0.0 1.0 2.5
pair_coeff 1 2 0.2 1.0 3.5
fix pippo all nve
thermo 50
dump pluto all xyz 50 dump.xyz
restart 10000 my_restart
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
timestep 0.005
run 50000
13. Example
one:
LJ
solid
+
adsorbate
dimension 3
units lj
atom_style atomic
read_data initpos.dat
velocity all create 0.1 87287
boundary p p p
mass 1 1.0
mass 2 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 2 2 0.0 1.0 2.5
pair_coeff 1 2 0.2 1.0 3.5
fix pippo all nve
thermo 50
dump pluto all xyz 50 dump.xyz
restart 10000 my_restart
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
timestep 0.005
run 50000
fix pippo all nve
dump pluto all xyz 50 dump.xyz
command
command
ID
target
atoms
ID
command
op;ons
1001 atoms
2 atom types
0.0 15.874 xlo xhi
0.0 7.9370 ylo yhi
0.0 50.000 zlo zhi
Atoms
1 1 0.0000000E+00 0.0000000E+00 0.0000000E+00
2 1 0.7935000 0.7935000 0.0000000E+00
3 1 0.0000000E+00 0.7935000 0.7935000
4 1 0.7935000 0.0000000E+00 0.7935000
5 1 1.587000 0.0000000E+00 0.0000000E+00
6 1 2.380500 0.7935000 0.0000000E+00
7 1 1.587000 0.7935000 0.7935000
8 1 2.380500 0.0000000E+00 0.7935000
9 1 3.174000 0.0000000E+00 0.0000000E+00
…
For
the
details
of
any
command
refer
to:
h>p://lammps.sandia.gov/doc/Manual.html
14. Restart
a
previous
calcula;on
dimension 3
units lj
atom_style atomic
read_data initpos.dat
velocity all create 0.1 87287
read_restart my_restart
boundary p p p
mass 1 1.0
mass 2 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 2 2 0.0 1.0 2.5
pair_coeff 1 2 0.2 1.0 3.5
fix pippo all nve
thermo 50
dump pluto all xyz 50 dump.xyz
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
timestep 0.005
run 50000
dimension 3
units lj
atom_style atomic
read_data initpos.dat
velocity all create 0.1 87287
read_restart my_restart
velocity all create 0.1 87287
boundary p p p
mass 1 1.0
mass 2 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 2 2 0.0 1.0 2.5
pair_coeff 1 2 0.2 1.0 3.5
fix pippo all nve
thermo 50
dump pluto all xyz 50 dump.xyz
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
timestep 0.005
run 50000
both
posi;ons
and
veloci;es
are
restored
by
the
binary
file
my_restart
the
posi;ons
are
restored
by
the
binary
file
while
the
veloci;es
are
renewed
the
binary2txt
tool
allows
to
convert
the
binary
restart
file
into
a
textual
file
to
extract
informa;on
on
posi;on,
veloci;es
and
simula;on
cell
15. Example
two:
surface
diffusion
dimension 3
units lj
atom_style atomic
read_data initpos.dat
velocity all create 0.0 87287
boundary p p p
mass 1 1.0
mass 2 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 2 2 0.0 1.0 2.5
pair_coeff 1 2 0.2 1.0 2.5
fix pippo all nve
fix billy all langevin 0.1 0.1 10.0 17786
thermo 50
dump pluto all xyz 50 dump.xyz
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
timestep 0.005
run 50000
global
thermostat
local
thermostat
dimension 3
units lj
atom_style atomic
read_data initpos.dat
velocity all create 0.0 87287
boundary p p p
mass 1 1.0
mass 2 1.0
group bottom id <= 50
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 2 2 0.0 1.0 2.5
pair_coeff 1 2 0.2 1.0 2.5
fix pippo all nve
fix penny bottom langevin 0.1 0.1 10.0 177
thermo 50
dump pluto all xyz 50 dump.xyz
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
timestep 0.005
run 50000
To
promote
diffusion
the
temperature
must
come
into
play,
we
introduce
the
Langevin
thermostat
on
top
of
the
NVE
dynamics.
A
local
thermostat
can
be
introduced
defining
a
sub-‐group
of
atoms
16. Example
two:
surface
diffusion
The
;me
necessary
to
reach
the
steady
state
depends
on
the
thermostat
parameter
Once
we
reach
a
steady
state
all
averages
and
the
sta;s;cal
sampling
should
be
independent
from
the
thermostat
parameter
17. Example
two:
surface
diffusion
To
sample
an
equilibrium
ensemble
there
is
no
need
for
a
stochas;c
thermostat
fulfilling
the
fluctua;on-‐
dissipa;on
theorem,
a
Nose`-‐Hoover
chain
is
enough
to
sa;sfy
the
equipar;;on
theorem.
dimension 3
units lj
atom_style atomic
read_data initpos.dat
velocity all create 0.1 87287
boundary p p p
mass 1 1.0
mass 2 1.0
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 2 2 0.0 1.0 2.5
pair_coeff 1 2 0.2 1.0 2.5
fix pippo all nve
fix billy all langevin 0.1 0.1 10.0 17786
fix pippo all nvt 0.1 0.1 10.0
thermo 50
dump pluto all xyz 50 dump.xyz
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
timestep 0.005
run 50000
the
Langevin
fix
is
not
an
integra;on
fix,
it
just
modifies
the
NVE
;me
integrator.
The
NVT
fix
is
an
integrator
by
itself
Some
fix
commands
integrate
the
equa;on
of
mo;on,
some
others
just
modify
the
integra;on
algorithm.
Some
fix
commands
are
used
to
calculate
physical
quan;;es,
some
others
are
needed
to
write
them
out.
18. Example
two:
surface
diffusion
Sub-‐groups
can
be
also
used
to
impose
addi;onal
constraints,
here
we
fix
the
center
of
mass
of
the
whole
substrate,
this
will
be
useful
when
an
external
driving
force
will
be
applied.
dimension 3
units lj
atom_style atomic
read_data initpos.dat
velocity all create 0.1 87287
boundary p p p
mass 1 1.0
mass 2 1.0
group substrate id <= 1000
pair_style lj/cut 2.5
pair_coeff 1 1 1.0 1.0 2.5
pair_coeff 2 2 0.0 1.0 2.5
pair_coeff 1 2 0.2 1.0 2.5
fix pippo all nve
fix billy all langevin 0.1 0.1 10.0 17786
fix buddy substrate recenter INIT INIT INIT units box
thermo 50
dump pluto all xyz 50 dump.xyz
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
timestep 0.005
run 50000
The
recenter
fix
rescales
the
CM
posi;on
to
a
given
value
or
to
the
ini;al
value.
Remember
the
input
file
is
posi;onal:
it
is
be>er
to
rescale
the
coordinates
only
aWer
the
complete
evolu;on
of
the
whole
system
took
place,
i.e.
the
recenter
fix
must
always
be
the
last
one!
19. Example
three:
external
driving
Different
kinds
of
external
forces
can
be
applied:
to
mimic
an
AFM
;p
we
can
use
both
a
constant
force
or
constant
velocity
driving.
...
mass 1 1.0
mass 2 1.0E+10
mass 3 1.0
group substrate type 1
group support type 2
group tip type 3
velocity substrate create 0.01 87287
velocity support set 0.0 0.005 0.0 sum no units box
velocity tip create 0.0 0.0 0.0 sum no units box
pair_style lj/cut 1.5
pair_coeff 1 1 1.0 1.0 1.5
pair_coeff 1 2 0.0 1.0 1.5
pair_coeff 1 3 0.2 1.0 1.5
pair_coeff 2 2 0.0 1.0 1.5
pair_coeff 2 3 0.0 1.0 1.5
pair_coeff 3 3 0.0 1.0 1.5
fix 0 support spring couple tip 1.0 AUTO AUTO AUTO 0.0
fix 1 tip addforce 0.0 0.0 -1.0
fix 2 all nve
fix 3 substrate langevin 0.01 0.01 1.0 67869
fix last substrate recenter INIT INIT INIT units box
...
LAMMPS
do
not
allow
us
to
do
this
so
easily:
we
have
to
define
three
types
of
par;cles
for
the
;p,
the
can;lever
support
and
the
substrate
atoms.
If
M
>>
m
the
support
par;cle
will
move
at
constant
velocity
regardless
of
the
spring,
and
m
will
only
be
a
negligible
perturba;on.
k
m v0
k
m vint
M
M>>m
the
Tomlinson
model
would
require
us
to
drive
the
free
end
of
the
spring
at
constant
velocity
A
workaround
is
needed
to
allow
the
fix
spring
to
work
properly
when
the
rigid
body
tip
cross
the
periodic
boundary
condi;ons.
See
h>p://lammps.sandia.gov/threads/msg26559.html
z
x
y
21. Example
four:
rigid
molecules
The
atom_style
molecular
must
be
used,
the
MOLECULE
package
must
be
installed!!!
dimension 3
units real
atom_style molecular
read_data initial_confing.dat
velocity all create 200.0 8807
boundary p p p
mass 1 12.011
mass 2 0.0001
mass 3 0.0001
pair_style buck 10.0
pair_coeff 1 1 89302.93 0.27778 606.87
pair_coeff 1 2 16372.20 0.27778 0.0
pair_coeff 1 3 7441.911 0.29412 0.0
pair_coeff 2 2 16372.20 0.27778 0.0
pair_coeff 2 3 0.000000 1.00000 0.0
pair_coeff 3 3 5358.176 0.31250 0.0
fix 1 all rigid molecule
thermo 50
thermo_style custom step temp etotal pe ke
dump 1 all xyz 1000 bulk_200.xyz
restart 100000 bella.restart
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
neigh_modify exclude molecule all
run 1000000
120960 atoms
3 atom types
0.0 83.58056 xlo xhi
0.0 72.38289 ylo yhi
0.0 76.77364 zlo zhi
Atoms
1 1 1 0.4666309 -0.4264708 3.487395
2 1 1 -0.7416468 0.2906179 3.455781
3 1 1 1.693772 0.2155275 3.102340
4 1 1 -0.7456188 1.707600 3.022896
5 1 1 1.692779 1.566589 2.689721
6 1 1 0.4408169 2.321510 2.648378
7 1 1 0.5103149 -1.786131 3.017221
8 1 1 -1.954889 -0.3433542 2.941832
9 1 1 -0.6602345 -2.400042 2.518675
a
new
column:
the
molecule
index
this
line
excludes
the
intra-‐molecular
interac;ons
from
the
total
energy
calcula;on,
it
is
useful
in
our
case
because
the
type
2
and
type
3
atoms
are
ghost
atoms
This
is
the
rigid
body
dynamics
fix!
It
treats
every
molecule
as
a
rigid
bodies.
Alterna;vely
one
can
ask
for
a
subgroup
of
atoms
or
for
all
subgroups
of
atoms
to
be
treated
as
rigid
bodies.
22. Example
four:
rigid
molecules
The
atom_style
molecular
must
be
used,
the
MOLECULE
package
must
be
installed!!!
fix 1 all rigid/nvt molecule temp 200.0 200.0 10.0
dimension 3
units real
atom_style molecular
read_data initial_confing.dat
velocity all create 200.0 8807
boundary p p p
mass 1 12.011
mass 2 0.0001
mass 3 0.0001
pair_style buck 10.0
pair_coeff 1 1 89302.93 0.27778 606.87
pair_coeff 1 2 16372.20 0.27778 0.0
pair_coeff 1 3 7441.911 0.29412 0.0
pair_coeff 2 2 16372.20 0.27778 0.0
pair_coeff 2 3 0.000000 1.00000 0.0
pair_coeff 3 3 5358.176 0.31250 0.0
fix 1 all rigid molecule
thermo 50
thermo_style custom step temp etotal pe ke
dump 1 all xyz 1000 bulk_200.xyz
restart 100000 bella.restart
neighbor 0.3 bin
neigh_modify every 20 delay 0 check no
neigh_modify exclude molecule all
run 1000000
fix 1 all rigid molecule
rigid
body
NVE
rigid
body
NVT
for
equilibrium
simula;ons
fix 1 all rigid molecule langevin 200.0 200.0 10.0 19867
rigid
body
NVT
for
non-‐equilibrium
simula;ons
further
constraints
can
be
introduced
freezing
the
rota;onal
or
transla;onal
degrees
of
freedom
of
each
rigid
body.
8x8x9
fullerene
x
210
atoms
=120960
atoms
128
procs
for
12
hours
@
ipazia
23. Example
four:
rigid
molecules
Combining
external
driving
with
rigid
bodies…
0
0.2
0.4
0.6
0.8
1
1.2
1.4
0 200000 400000 600000 800000 1e+06 1.2e+06 1.4e+06 1.6e+06
force[nN]
time [fsec]
’sega2’ u ($1):($5*0.06889)
24. Advanced
input:
defining
and
using
variables
Variables
can
be
introduced
in
the
input
script
via
the
command
variable,
the
defini;on
is
unique
however
a
variable
can
have
two
different
behaviors
depending
on
the
way
it
is
referenced
variable t world 50.00 100.00 150.00
variable s world 6627 5328 4541
fix thermostat all langevin $t $t 10.0 $s
variable force equal "ramp(0.0,0.1)"
fix pulling tip addforce 0.0 0.0 v_force
fixed
value
variables
evaluated
value
variables
An
increasing
pulling
force
is
applied
to
a
group
of
atoms
called
tip.
A
variable
force
is
defined,
in
the
fix
addforce
the
variable
is
referenced
by
v_
,
this
cause
the
value
of
the
variable
to
be
evaluated
at
each
;me
step
according
to
the
instruc;on
contained
in
the
variable
defini;on.
ramp
is
a
mathema;cal
func;on
which
increases
the
variable
value
from
0.0
to
0.1
through
the
simula;on.
The
equal
statement
assign
to
the
variable
a
specific
value
whose
scope
is
the
single
run
being
performed.
Three
different
simula;ons
are
simultaneously
performed
within
a
replica
exchange
at
the
the
temperatures
50,
100
and
150
K.
In
each
simultaneous
simula;on
the
thermostat
is
fixed
at
temperature
$t
with
a
random
seed
$s.
Referencing
the
variables
with
$
fixes
their
value
for
the
whole
simula;on.
• Many
math
func;on
can
be
used
to
define
variables
• loops
and
condi;onal
instruc;ons
can
be
applied
as
well
25. Output
(.log
file):
overall
structure
Informa*on
about
the
parsing
of
the
input
Error/warning
messages
Output
of
the
thermo
command
Sta*s*cs
and
*ming
of
the
simula*on
26. fix
command
compute
command
Computa;ons
and
Output
both
fix
and
compute
commands
can
calculate
and
store
quan;;es
27. Computa;ons
and
Output
LAMMPS
supports
three
kinds
of
variable
local
variable
global
variable
per
atoms
variable
calculated
at
every
;me
for
each
atom,
e.g.
posi;ons,
veloci;es
and
forces,
angles
and
bonds
calculated
at
every
;me
for
each
atom
by
each
processor
calculated
at
every
;me
for
the
whole
system
or
a
piece
of
it,
e.g.
total
energy,
center
of
mass
posi;on
for
a
subgroup
of
atoms
fix
command
compute
command
28. Computa;ons
and
Output
Two
commands
allow
to
write
per
atoms
and
global
variables,
dump
and
thermo
respec;vely
local
variable
global
variable
Trajectories
(xyz,
pdb,
…)
User
defined
data/variables
f(x)
thermo
thermo_style
log
file
per
atoms
variable
dump
fix
command
compute
command
29. Computa;ons
and
Output
…
fix 1 tip addforce 0.0 0.0 -0.05
fix 2 bottom rigid molecule
fix 3 substrate rigid molecule
fix 4 tip rigid molecule torque * off off off
fix 5 support spring couple tip 1.0 AUTO AUTO AUTO 0.0
fix 6 support nve
compute 1 substrate temp/com
compute 2 support com/molecule
dump 1 all xyz 1000 friction_50.xyz
thermo_style custom step c_1 f_5[4] c_2[1][1] c_2[1][2]
thermo 50
global
variables
are
calculated
by
these
two
computes:
(1) is
the
temperature
of
a
por;on
of
the
system
the
subgroup
substrate,
is
a
scalar
(2) is
a
set
of
two
vectors
(a
matrix)
containing
veloci;es
and
posi;on
of
the
center
of
mass
of
a
group
of
atoms
called
support
all
the
fixes
which
cause
the
;me
evolu;on
of
the
system
can
be
considered
as
generators
of
per
atom
variables,
i.e.
the
posi;ons,
veloci;es
and
forces
of
each
atom
this
fix
add
a
pulling
spring
to
a
group
of
atoms
and
store,
for
each
;me
step,
a
four
component
vector
containing
the
three
elas;c
force
components
and
the
force
modulus
global
output:
each
scalar/vector/matrix
has
a
composite
name
made
by
C_
of
F_
depending
whether
if
it
comes
from
a
compute
or
a
fix
command
+
the
name/number
of
the
compute/fix
+
a
set
of
indexes
to
iden;fy
the
desired
components
per
atom
output:
the
posi;ons
of
all
the
atoms
are
stored
in
a
.xyz
file
every
1000
;me
steps