Lammps Detail Command
Lammps Detail Command
Lammps Detail Command
1) UNIT :
real or lj
set units to one of two options for all subsequent input parameters
option real = conventional units:
distance = Angstroms
time = femtoseconds
mass = grams/mole
temperature = degrees K
pressure = atmosperes
energ! = Kcal/mole
"elocit! = Angstroms/femtosecond
force = grams/mole # Angstroms/femtosecond$%
%) &A'IA(L):
*or te equal and atom st!les+ a single string is specified ,ic represents a formula tat ,ill -e
e"aluated afres eac time te "aria-le is used. If !ou ,ant spaces in te string+ enclose it in dou-le
/uotes so te parser ,ill treat it as a single argument. *or equal st!le "aria-les te formula
computes a scalar /uantit!+ ,ic -ecomes te "alue of te "aria-le ,ene"er it is e"aluated. *or
atom st!le "aria-les te formula computes one /uantit! for eac atom ,ene"er it is e"aluated.
Note tat equal and atom "aria-les can produce different "alues at different stages of te input
script or at different times during a run. *or example+ if an equal "aria-le is used in a fix print
command+ different "alues could -e printed eac timestep it ,as in"o0ed. If !ou ,ant a "aria-le to
-e e"aluated immediatel!+ so tat te result is stored -! te "aria-le instead of te string+ see te
section -elo, on 1Immediate )"aluation of &aria-les1.
Te next command cannot -e used ,it equal or atom st!le "aria-les+ since tere is onl! one string.
Te formula for an equal or atom "aria-le can contain a "ariet! of /uantities. Te s!ntax for eac
0ind of /uantit! is simple+ -ut multiple /uantities can -e nested and com-ined in "arious ,a!s to
-uild up formulas of ar-itrar! complexit!. *or example+ tis is a "alid 2toug strange) "aria-le
formula:
variable x equal "pe + c_MyTemp / vol^(/!""
3) Termo45t!le 6ommand:
dt = timestep.
"ol = "olume.
7) 8imesnion 6ommand:
Syntax:
#imension $
N = % or 3
Examples:
#imension %
Description:
5et te dimensionalit! of te simulation. (! default LA99:5 runs 3d simulations. To run a %d
simulation+ tis command sould -e used prior to setting up a simulation -ox "ia te create;-ox or
read;data commands. 'estart files also store tis setting.
<) (oundar!:
Syntax:
boun#ary x y &
x+!+= = p or s or f or m+ one or t,o letters
p is perio#ic
f is non'perio#ic an# fixe#
s is non'perio#ic an# s(rin)'wrappe#
m is non'perio#ic an# s(rin)'wrappe# wit( a minimum value
Examples:
boun#ary p p f
boun#ary p fs p
boun#ary s f fm
5et te st!le of -oundaries for te glo-al simulation -ox in eac dimension. A single letter assigns
te same st!le to -ot te lo,er and upper face of te -ox. T,o letters assigns te first st!le to te
lo,er face and te second st!le to te upper face. Te initial si=e of te simulation -ox is set -! te
read;data+ read;restart+ or create;-ox commands.
Te st!le p means te -ox is periodic+ so tat particles interact across te -oundar!+ and te! can
exit one end of te -ox and re4enter te oter end. A periodic dimension can cange in si=e due to
constant pressure -oundar! conditions or -ox deformation 2see te fix npt and fix deform
commands). Te p st!le must -e applied to -ot faces of a dimension.
>) Lattice:
Syntax:
lattice style scale )eywor# values ***
st!le = none or sc or bcc or fcc or hcp or diamond or sq or sq2 or hex or custom
scale = scale factor -et,een lattice and simulation -ox
scale = re#uce# #ensity r(o+ (for ,- units"
scale = lattice constant in #istance units (for all ot(er units"
=ero or more 0e!,ord/"alue pairs ma! -e appended
0e!,ord = origin or orient or spacing or a1 or a2 or a3 or basis
origin values = x y &
x.y.& = fractions of a unit cell (/ 0= x.y.& 0 "
orient values = #im i 1 )
#im = x or y or z
i.1.) = inte2er lattice #irections
spacing values = #x #y #&
#x.#y.#& = lattice spacin2s in t(e x.y.& box #irections
a1.a2.a3 values = x y &
x.y.& = primitive vector components t(at #efine unit cell
basis values = x y &
x.y.& = fractional coor#s of a basis atom (/ 0= x.y.& 0 "
Examples:
lattice fcc !*3%
lattice (ex /*43
lattice sq /*4 ori2in /*/ /*3 /*/ orient x / orient y ' /
lattice custom !*3% a */ /*/ /*/ a% /*3 */ /*/ a! /*/ /*/ /*3 5
basis /*/ /*/ /*/ basis /*3 /*3 /*3
lattice none %*/
Description:
8efine a lattice for use -! oter commands. In LA99:5+ a lattice is simpl! a set of points in space+
determined -! a unit cell ,it -asis atoms+ tat is replicated infinitel! in all dimensions. Te
arguments of te lattice command can -e used to define a ,ide "ariet! of cr!stallograpic lattices.
A lattice is used -! LA99:5 in t,o ,a!s. *irst+ te create;atoms command creates atoms on te
lattice points inside te simulation -ox. Note tat te create;atoms command allo,s different atom
t!pes to -e assigned to different -asis atoms of te lattice. 5econd+ te lattice spacing in te x+!+=
dimensions implied -! te lattice+ can -e used -! oter commands as distance units 2e.g.
create;-ox+ region and "elocit!)+ ,ic are often con"enient to use ,en te underl!ing pro-lem
geometr! is atoms on a lattice.
Te lattice st!le must -e consistent ,it te dimension of te simulation 4 see te dimension
command. 5t!les sc or bcc or fcc or hcp or diamond are for 3d pro-lems. 5t!les sq or sq2 or hex are
for %d pro-lems. 5t!le custom can -e used for eiter %d or 3d pro-lems.
A lattice consists of a unit cell+ a set of -asis atoms ,itin tat cell+ and a set of transformation
parameters 2scale+ origin+ orient) tat map te unit cell into te simulation -ox. Te "ectors a1+a%+a3
are te edge "ectors of te unit cell. Tis is te nomenclature for 1primiti"e1 "ectors in solid4state
cr!stallograp!+ -ut in LA99:5 te unit cell te! determine does not a"e to -e a 1primiti"e cell1
of minimum "olume.
A lattice of st!le none does not define a unit cell and -asis set+ so it cannot -e used ,it te
create;atoms command. ?o,e"er it does define a lattice spacing "ia te specified scale parameter.
As explained a-o"e te lattice spacings in x+!+= can -e used -! oter commands as distance units.
No additional 0e!,ord/"alue pairs can -e specified for te none st!le. (! default+ a 1lattice none
1.@1 is defined+ ,ic means te lattice spacing is te same as one distance unit+ as defined -! te
units command.
Lattices of st!le sc+ fcc+ bcc+ and diamond are 3d lattices tat define a cu-ic unit cell ,it edge
lengt = 1.@. Tis means a1 = 1 @ @+ a% = @ 1 @+ and a3 = @ @ 1. 5t!le hcp as a1 = 1 @ @+ a% = @
s/rt23) @+ and a3 = @ @ s/rt2A/3). Te placement of te -asis atoms ,itin te unit cell are descri-ed
in an! solid4state p!sics text. A sc lattice as 1 -asis atom at te lo,er4left4-ottom corner of te
cu-e. A bcc lattice as % -asis atoms+ one at te corner and one at te center of te cu-e. A fcc
lattice as 7 -asis atoms+ one at te corner and 3 at te cu-e face centers. A hcp lattice as 7 -asis
atoms+ t,o in te = = @ plane and % in te = = @.< plane. A diamond lattice as A -asis atoms.
B) 'egion 6ommand:
Syntax:
re2ion 67 style ar2s )eywor# ar2 ***
I8 = user4assigned name for te region
st!le = delete or block or cone or cylinder or plane or prism or sphere or union or intersect
delete = no ar2s
block ar2s = xlo x(i ylo y(i &lo &(i
xlo.x(i.ylo.y(i.&lo.&(i = boun#s of bloc) in all #imensions (#istance
units"
cone ar2s = #im c c% ra#lo ra#(i lo (i
#im = x or y or z = axis of cone
c.c% = coor#s of cone axis in ot(er % #imensions (#istance units"
ra#lo.ra#(i = cone ra#ii at lo an# (i en# (#istance units"
lo.(i = boun#s of cone in #im (#istance units"
cylinder ar2s = #im c c% ra#ius lo (i
#im = x or y or z = axis of cylin#er
c.c% = coor#s of cylin#er axis in ot(er % #imensions (#istance units"
ra#ius = cylin#er ra#ius (#istance units"
ra#ius can be a variable (see below"
lo.(i = boun#s of cylin#er in #im (#istance units"
plane ar2s = px py p& nx ny n&
px.py.p& = point on t(e plane (#istance units"
nx.ny.n& = #irection normal to plane (#istance units"
prism ar2s = xlo x(i ylo y(i &lo &(i xy x& y&
xlo.x(i.ylo.y(i.&lo.&(i = boun#s of untilte# prism (#istance units"
xy = #istance to tilt y in x #irection (#istance units"
x& = #istance to tilt & in x #irection (#istance units"
y& = #istance to tilt & in y #irection (#istance units"
sphere ar2s = x y & ra#ius
x.y.& = center of sp(ere (#istance units"
ra#ius = ra#ius of sp(ere (#istance units"
ra#ius can be a variable (see below"
union ar2s = $ re2'67 re2'67% ***
$ = 8 of re2ions to follow. must be % or 2reater
re2'67.re2'67%. *** = 67s of re2ions to 1oin to2et(er
intersect ar2s = $ re2'67 re2'67% ***
$ = 8 of re2ions to follow. must be % or 2reater
re2'67.re2'67%. *** = 67s of re2ions to intersect
=ero or more 0e!,ord/arg pairs ma! -e appended
0e!,ord = side or units or move or rotate
side value = in or out
in = t(e re2ion is insi#e t(e specifie# 2eometry
out = t(e re2ion is outsi#e t(e specifie# 2eometry
units value = lattice or box
lattice = t(e 2eometry is #efine# in lattice units
box = t(e 2eometry is #efine# in simulation box units
move ar2s = v_x v_y v_&
v_x.v_y.v_& = equal'style variables for x.y.& #isplacement of re2ion
over time
rotate ar2s = v_t(eta 9x 9y 9& :x :y :&
v_t(eta = equal'style variable for rotaton of re2ion over time (in
ra#ians"
9x.9y.9& = ori2in for axis of rotation (#istance units"
:x.:y.:& = axis of rotation vector
Examples:
re2ion bloc) '!*/ 3*/ 6$; /*/ 6$; 6$;
re2ion % sp(ere /*/ /*/ /*/ 3 si#e out
re2ion voi# cylin#er y % ! 3 '3*/ <7=< units box
re2ion prism / / / / / / % / /
re2ion outsi#e union > si#e si#e% si#e! si#e>
re2ion % sp(ere /*/ /*/ /*/ 3 si#e out move v_left v_up $?,,
Description:
Tis command defines a geometric region of space. &arious oter commands use regions. *or
example+ te region can -e filled ,it atoms "ia te create;atoms command. Cr a -ounding -ox
around te region+ can -e used to define te simulation -ox "ia te create;-ox command. Cr te
atoms in te region can -e identified as a group "ia te group command+ or deleted "ia te
delete;atoms command. Cr te surface of te region can -e used as a -oundar! ,all "ia te fix
,all/region command.
6ommands ,ic use regions t!picall! test ,eter an atomDs position is contained in te region or
not. *or tis purpose+ coordinates exactl! on te region -oundar! are considered to -e interior to te
region. Tis means+ for example+ for a sperical region+ an atom on te spere surface ,ould -e part
of te region if te spere ,ere defined ,it te side in 0e!,ord+ -ut ,ould not -e part of te
region if it ,ere defined using te side out 0e!,ord. 5ee more details on te side 0e!,ord -elo,.
Normall!+ regions in LA99:5 are 1static1+ meaning teir geometric extent does not cange ,it
time. If te move or rotate 0e!,ord is used+ as descri-ed -elo,+ te region -ecomes 1d!namic1+
meaning itDs location or orientation canges ,it time. Tis ma! -e useful+ for example+ ,en
termostatting a region+ "ia te compute temp/region command+ or ,en te fix ,all/region
command uses a region surface as a -ounding ,all on particle motion+ i.e. a rotating container.
Te delete st!le remo"es te named region. 5ince tere is little o"eread to defining extra regions+
tere is normall! no need to do tis+ unless !ou are defining and discarding large num-ers of
regions in !our input script.
Te lo/i "alues for block or cone or cylinder or prism st!les can -e specified as )8E) or IN*.
)8E) means te! extend all te ,a! to te glo-al simulation -ox -oundar!. Note tat tis is te
current -ox -oundar!F if te -ox canges si=e during a simulation+ te region does not. IN* means a
large negati"e or positi"e num-er 21.@e%@)+ so it sould encompass te simulation -ox e"en if it
canges si=e. If a region is defined -efore te simulation -ox as -een created 2"ia create;-ox or
read;data or read;restart commands)+ ten an )8E) or IN* parameter cannot -e used. *or a prism
region+ a non4=ero tilt factor in an! pair of dimensions cannot -e used if -ot te lo/i "alues in
eiter of tose dimensions are IN*. ).g. if te x! tilt is non4=ero+ ten xlo and xi cannot -ot -e
IN*+ nor can !lo and !i.
A) 6reate;(ox:
Syntax:
create_box $ re2ion'67 )eywor# value ***
N = G of atom t!pes to use in tis simulation
region4I8 = I8 of region to use as simulation domain
=ero or more 0e!,ord/"alue pairs ma! -e appended
0e!,ord = bond/types or angle/types or dihedral/types or improper/types or
extra/bond/per/atom or extra/angle/per/atom or extra/dihedral/per/atom or
extra/improper/per/atom
bond/types value = 8 of bon# types
angle/types value = 8 of an2le types
dihedral/types value = 8 of #i(e#ral types
improper/types value = 8 of improper types
extra/bond/per/atom value = 8 of bon#s per atom
extra/angle/per/atom value = 8 of an2les per atom
extra/dihedral/per/atom value = 8 of #i(e#rals per atom
extra/improper/per/atom value = 8 of impropers per atom
extra/special/per/atom value = 8 of special nei2(bors per atom
Examples:
create_box % mybox
create_box % mybox bon#/types % extra/bon#/per/atom
Description:
Tis command creates a simulation -ox -ased on te specified region. Tus a region command
must first -e used to define a geometric domain. It also partitions te simulation -ox into a regular
3d grid of rectangular -ric0s+ one per processor+ -ased on te num-er of processors -eing used and
te settings of te processors command. Te partitioning can later -e canged -! te -alance or fix
-alance commands.
Te argument N is te num-er of atom t!pes tat ,ill -e used in te simulation.
If te region is not of st!le prism+ ten LA99:5 encloses te region 2-loc0+ spere+ etc) ,it an
axis4aligned ortogonal -ounding -ox ,ic -ecomes te simulation domain.
H) 6reate;atom:
Syntax:
create_atoms type style ar2s )eywor# values ***
t!pe = atom t!pe 214Nt!pes) of atoms to create 2offset for molecule creation)
st!le = box or region or single or random
box ar2s = none
region ar2s = re2ion'67
re2ion'67 = particles will only be create# if containe# in t(e re2ion
single ar2s = x y &
x.y.& = coor#inates of a sin2le particle (#istance units"
random ar2s = $ see# re2ion'67
$ = number of particles to create
see# = ran#om 8 see# (positive inte2er"
re2ion'67 = create atoms wit(in t(is re2ion. use $?,, for entire
simulation box
=ero or more 0e!,ord/"alue pairs ma! -e appended
0e!,ord = mol or basis or remap or units
mol value = template'67 see#
template'67 = 67 of molecule template specifie# in a separate molecule
comman#
see# = ran#om 8 see# (positive inte2er"
basis values = M itype
M = w(ic( basis atom
itype = atom type ('$" to assi2n to t(is basis atom
remap value = yes or no
units value = lattice or box
lattice = t(e 2eometry is #efine# in lattice units
box = t(e 2eometry is #efine# in simulation box units
Examples:
create_atoms box
create_atoms ! re2ion re2sp(ere basis % !
create_atoms ! sin2le / / 3
Description:
Tis command creates atoms 2or molecules) on a lattice+ or a single atom 2or molecule)+ or a
random collection of atoms 2or molecules)+ as an alternati"e to reading in teir coordinates
explicitl! "ia a read;data or read;restart command. A simulation -ox must alread! exist+ ,ic is
t!picall! created "ia te create;-ox command. (efore using tis command+ a lattice must also -e
defined using te lattice command+ unless !ou specif! te single st!le ,it units = -ox or te
random st!le. *or te remainder of tis doc page+ a created atom or molecule is referred to as a
1particle1.
If created particles are indi"idual atoms+ te! are assigned te specified atom type+ toug tis can
-e altered "ia te basis 0e!,ord as discussed -elo,. If molecules are -eing created+ te t!pe of eac
atom in te created molecule is specified in te file read -! te molecule command+ and tose
"alues are added to te specified atom type. ).g. if type = %+ and te file specifies atom t!pes 1+%+3+
ten eac created molecule ,ill a"e atom t!pes 3+7+<.
*or te box st!le+ te create;atoms command fills te entire simulation -ox ,it particles on te
lattice. If !our simulation -ox is periodic+ !ou sould insure its si=e is a multiple of te lattice
spacings+ to a"oid un,anted atom o"erlaps at te -ox -oundaries. If !our -ox is periodic and a
multiple of te lattice spacing in a particular dimension+ LA99:5 is careful to put exactl! one
particle at te -oundar! 2on eiter side of te -ox)+ not =ero or t,o.
1@) 9ass 6ommand:
Syntax:
mass 6 value
I = atom t!pe 2see asteris0 form -elo,)
"alue = mass
Examples:
mass */
mass + @%*3
mass %+ @%*3
Description:
5et te mass for all atoms of one or more atom t!pes. :er4t!pe mass "alues can also -e set in te
read;data data file using te 19asses1 0e!,ord. 5ee te units command for ,at mass units to use.
Te I index can -e specified in one of t,o ,a!s. An explicit numeric "alue can -e used+ as in te
1st example a-o"e. Cr a ,ild4card asteris0 can -e used to set te mass for multiple atom t!pes. Tis
ta0es te form 1#1 or 1#n1 or 1n#1 or 1m#n1. If N = te num-er of atom t!pes+ ten an asteris0 ,it
no numeric "alues means all t!pes from 1 to N. A leading asteris0 means all t!pes from 1 to n
2inclusi"e). A trailing asteris0 means all t!pes from n to N 2inclusi"e). A middle asteris0 means all
t!pes from m to n 2inclusi"e).
11) pair;st!le command:
Syntax:
pair_style style ar2s
st!le = lj/cut or lj/cut/coul/cut or lj/cut/coul/debye or lj/cut/coul/dsf or lj/cut/coul/long or
lj/cut/coul/msm or lj/cut/tip4p/long
args = list of arguments for a particular st!le
lj/cut ar2s = cutoff
cutoff = 2lobal cutoff for ,ennar# -ones interactions (#istance units"
Description:
Te lj/cut st!les compute te standard 1%/> Lennard4Iones potential+ gi"en -!
'c is te cutoff.
*or all of te lj/cut pair st!les+ te follo,ing coefficients must -e defined for eac pair of atoms
t!pes "ia te pair;coeff command as in te examples a-o"e+ or in te data file or restart files read
-! te read;data or read;restart commands+ or -! mixing as descri-ed -elo,:
epsilon 2energ! units)
sigma 2distance units)
cutoff1 2distance units)
cutoff% 2distance units)
Note tat sigma is defined in te LI formula as te =ero4crossing distance for te potential+ not as
te energ! minimum at %$21/>) sigma.
Te latter % coefficients are optional. If not specified+ te glo-al LI and 6oulom-ic cutoffs specified
in te pair;st!le command are used. If onl! one cutoff is specified+ it is used as te cutoff for -ot
LI and 6oulom-ic interactions for tis t!pe pair. If -ot coefficients are specified+ te! are used as
te LI and 6oulom-ic cutoffs for tis t!pe pair. Jou cannot specif! % cutoffs for st!le lj/cut+ since it
as no 6oulom-ic terms.
*or lj/cut/coul/long and lj/cut/coul/msm and lj/cut/tip4p/cut and lj/cut/tip4p/long onl! te LI cutoff
can -e specified since a 6oulom-ic cutoff cannot -e specified for an indi"idual I+I t!pe pair. All
t!pe pairs use te same glo-al 6oulom-ic cutoff specified in te pair;st!le command.
1%) pair;coeff:
Syntax:
pair_coeff 6 - ar2s
I+I = atom t!pes 2see asteris0 form -elo,)
args = coefficients for one or more pairs of atom t!pes
Examples:
pair_coeff % */ */ %*3
pair_coeff % + */ */
pair_coeff !+ +% */ */ %*3
pair_coeff + + */ */
pair_coeff + + nial(1ea %
pair_coeff + ! morse*table <$T:A
pair_coeff % l1/cut */ */ %*3 (for pair_style (ybri#"
Description:
5pecif! te pair,ise force field coefficients for one or more pairs of atom t!pes. Te num-er and
meaning of te coefficients depends on te pair st!le. :air coefficients can also -e set in te data file
read -! te read;data command or in a restart file.
I and I can -e specified in one of t,o ,a!s. )xplicit numeric "alues can -e used for eac+ as in te
1st example a-o"e. I K= I is re/uired. LA99:5 sets te coefficients for te s!mmetric I+I
interaction to te same "alues.
A ,ildcard asteris0 can -e used in place of or in conjunction ,it te I+I arguments to set te
coefficients for multiple pairs of atom t!pes. Tis ta0es te form 1#1 or 1#n1 or 1n#1 or 1m#n1. If N
= te num-er of atom t!pes+ ten an asteris0 ,it no numeric "alues means all t!pes from 1 to N. A
leading asteris0 means all t!pes from 1 to n 2inclusi"e). A trailing asteris0 means all t!pes from n to
N 2inclusi"e). A middle asteris0 means all t!pes from m to n 2inclusi"e). Note tat onl! t!pe pairs
,it I K= I are consideredF if asteris0s impl! t!pe pairs ,ere I K I+ te! are ignored.
13) termo command:
Syntax:
t(ermo $
N = output termod!namics e"er! N timesteps
N can -e a "aria-le 2see -elo,)
Examples:
t(ermo //
Description:
6ompute and print termod!namic info 2e.g. temperature+ energ!+ pressure) on timesteps tat are a
multiple of N and at te -eginning and end of a simulation. A "alue of @ ,ill onl! print
termod!namics at te -eginning and end.
Te content and format of ,at is printed is controlled -! te termo;st!le and termo;modif!
commands.
Instead of a numeric "alue+ N can -e specifed as an e/ual4st!le "aria-le+ ,ic sould -e specified
as ";name+ ,ere name is te "aria-le name. In tis case+ te "aria-le is e"aluated at te -eginning
of a run to determine te next timestep at ,ic termod!namic info ,ill -e ,ritten out. Cn tat
timestep+ te "aria-le ,ill -e e"aluated again to determine te next timestep+ etc. Tus te "aria-le
sould return timestep "alues. 5ee te stagger2) and logfre/2) and stride2) mat functions for e/ual4
st!le "aria-les+ as examples of useful functions to use in tis context. Cter similar mat functions
could easil! -e added as options for e/ual4st!le "aria-les.
*or example+ te follo,ing commands ,ill output termod!namic info at timesteps
@+1@+%@+3@+1@@+%@@+3@@+1@@@+%@@@+etc:
variable s equal lo2freq(/.!./"
t(ermo v_s
17) "elocit! command:
Syntax:
velocity 2roup'67 style ar2s )eywor# value ***
group4I8 = I8 of group of atoms ,ose "elocit! ,ill -e canged
st!le = create or set or scale or ramp or zero
create ar2s = temp see#
temp = temperature value (temperature units"
see# = ran#om 8 see# (positive inte2er"
set ar2s = vx vy v&
vx.vy.v& = velocity value or $?,, (velocity units"
any of vx.vy.v& van be a variable (see below"
scale ar2 = temp
temp = temperature value (temperature units"
ramp ar2s = v#im vlo v(i #im clo c(i
v#im = vx or vy or vz
vlo.v(i = lower an# upper velocity value (velocity units"
#im = x or y or z
clo.c(i = lower an# upper coor#inate boun# (#istance units"
zero ar2 = linear or angular
linear = &ero t(e linear momentum
angular = &ero t(e an2ular momentum
=ero or more 0e!,ord/"alue pairs ma! -e appended
0e!,ord = dist or sum or mom or rot or temp or loop or units
dist value = uniform or gaussian
sum value = no or yes
mom value = no or yes
rot value = no or yes
temp value = temperature 67
loop value = all or local or geom
rigid value = fix'67
fix'67 = 67 of ri2i# bo#y fix
units value = box or lattice
5et or cange te "elocities of a group of atoms in one of se"eral st!les. *or eac st!le+ tere are
re/uired arguments and optional 0e!,ord/"alue parameters. Not all options are used -! eac st!le.
)ac option as a default as listed -elo,.
Te create st!le generates an ensem-le of "elocities using a random num-er generator ,it te
specified seed as te specified temperature.
Te 0e!,ord/"alue option pairs are used in te follo,ing ,a!s -! te "arious st!les.
Te dist option is used -! create. Te ensem-le of generated "elocities can -e a uniform
distri-ution from some minimum to maximum "alue+ scaled to produce te re/uested temperature.
Cr it can -e a gaussian distri-ution ,it a mean of @.@ and a sigma scaled to produce te re/uested
temperature.
Te sum option is used -! all st!les+ except zero. Te ne, "elocities ,ill -e added to te existing
ones if sum = !es+ or ,ill replace tem if sum = no.
Te mom and rot options are used -! create. If mom = !es+ te linear momentum of te ne,l!
created ensem-le of "elocities is =eroedF if rot = !es+ te angular momentum is =eroed.
17) fix command:
Syntax:
fix 67 2roup'67 style_name )eywor# value ***
I8+ group4I8 are documented in fix command
st!le;name = nvt or npt or nph
one or more )eywor# value pairs may be appen#e#
)eywor# = temp or iso or aniso or tri or x or y or z or xy or yz or xz or
couple or tchain or pchain or mtk or tloop or ploop or nreset or drag or
dilate or scalexy or scaleyz or scalexz or flip or fixedpoint
temp values = Tstart Tstop T#amp
Tstart.Tstop = external temperature at start/en# of run
T#amp = temperature #ampin2 parameter (time units"
iso or aniso or tri values = 9start 9stop 9#amp
9start.9stop = scalar external pressure at start/en# of run (pressure
units"
9#amp = pressure #ampin2 parameter (time units"
x or y or z or xy or yz or xz values = 9start 9stop 9#amp
9start.9stop = external stress tensor component at start/en# of run
(pressure units"
9#amp = stress #ampin2 parameter (time units"
couple = none or xyz or xy or yz or xz
tchain value = $
$ = len2t( of t(ermostat c(ain ( = sin2le t(ermostat"
pchain values = $
$ len2t( of t(ermostat c(ain on barostat (/ = no t(ermostat"
mtk value = yes or no = a## in MTB a#1ustment term or not
tloop value = M
M = number of sub'cycles to perform on t(ermostat
ploop value = M
M = number of sub'cycles to perform on barostat t(ermostat
nreset value = reset reference cell every t(is many timesteps
drag value = 7f
7f = #ra2 factor a##e# to barostat/t(ermostat (/*/ = no #ra2"
dilate value = #ilate'2roup'67
#ilate'2roup'67 = only #ilate atoms in t(is 2roup #ue to barostat
volume c(an2es
scalexy value = yes or no = scale xy wit( ly
scaleyz value = yes or no = scale y& wit( l&
scalexz value = yes or no = scale x& wit( l&
flip value = yes or no = allow or #isallow box flips w(en it becomes
(i2(ly s)ewe#
fixedpoint values = x y &
x.y.& = perform barostat #ilation/contraction aroun# t(is point
(#istance units"
Tese commands perform time integration on Nose4?oo"er st!le non4?amiltonian e/uations of
motion ,ic are designed to generate positions and "elocities sampled from te canonical 2n"t)+
isotermal4iso-aric 2npt)+ and isentalpic 2np) ensem-les. Tis updates te position and "elocit!
for atoms in te group eac timestep.
Te termostatting and -arostatting is acie"ed -! adding some d!namic "aria-les ,ic are
coupled to te particle "elocities 2termostatting) and simulation domain dimensions 2-arostatting).
In addition to -asic termostatting and -arostatting+ tese fixes can also create a cain of
termostats coupled to te particle termostat+ and anoter cain of termostats coupled to te
-arostat "aria-les. Te -arostat can -e coupled to te o"erall -ox "olume+ or to indi"idual
dimensions+ including te xy+ xz and yz tilt dimensions. Te external pressure of te -arostat can -e
specified as eiter a scalar pressure 2iso-aric ensem-le) or as components of a s!mmetric stress
tensor 2constant stress ensem-le). Len used correctl!+ te time4a"eraged temperature and stress
tensor of te particles ,ill matc te target "alues specified -! Tstart/Tstop and :start/:stop.
Te e/uations of motion used are tose of 5inoda et al in 25inoda)+ ,ic com-ine te
!drostatic e/uations of 9art!na+ To-ias and Klein in 29art!na) ,it te strain energ! proposed -!
:arrinello and 'aman in 2:arrinello). Te time integration scemes closel! follo, te time4
re"ersi-le measure4preser"ing &erlet and r')5:A integrators deri"ed -! Tuc0erman et al. in
2Tuc0erman).
Te termostat parameters for fix st!les nvt and npt is specified using te temp 0e!,ord. Cter
termostat4related 0e!,ords are tchain+ tloop and drag+ ,ic are discussed -elo,.
Te termostat is applied to onl! te translational degrees of freedom for te particles. Te
translational degrees of freedom can also a"e a -ias "elocit! remo"ed -efore termostatting ta0es
placeF see te description -elo,. Te desired temperature at eac timestep is a ramped "alue during
te run from start to stop. Te damp parameter is specified in time units and determines o,
rapidl! te temperature is relaxed. *or example+ a "alue of 1@.@ means to relax te temperature in a
timespan of 2rougl!) 1@ time units 2e.g. tau or fmsec or psec 4 see te units command). Te atoms
in te fix group are te onl! ones ,ose "elocities and positions are updated -! te
"elocit!/position update portion of te integration.
I9:C'TANT NCT): A Nose4?oo"er termostat ,ill not ,or0 ,ell for ar-itrar! "alues of damp.
If damp is too small+ te temperature can fluctuate ,ildl!F if it is too large+ te temperature ,ill
ta0e a "er! long time to e/uili-rate. A good coice for man! models is a damp of around 1@@
timesteps. Note tat tis is NCT te same as 1@@ time units for most units settings.
In some cases 2e.g. for solids) te pressure 2"olume) and/or temperature of te s!stem can oscillate
undesira-l! ,en a Nose/?oo"er -arostat and termostat is applied. Te optional drag 0e!,ord
,ill damp tese oscillations+ altoug it alters te Nose/?oo"er e/uations. A "alue of @.@ 2no drag)
lea"es te Nose/?oo"er formalism uncanged. A non4=ero "alue adds a drag termF te larger te
"alue specified+ te greater te damping effect. :erforming a sort run and monitoring te pressure
and temperature is te -est ,a! to determine if te drag term is ,or0ing. T!picall! a "alue -et,een
@.% to %.@ is sufficient to damp oscillations after a fe, periods. Note tat use of te drag 0e!,ord
,ill interfere ,it energ! conser"ation and ,ill also cange te distri-ution of positions and
"elocities so tat te! do not correspond to te nominal N&T+ N:T+ or N:? ensem-les.
1<) reset;timestep command:
It sets te "alue of run time4step to =ero or an! oter "alue depending on te arg of te statement.
1>) 6ompute eat/flux command:
Syntax:
compute 67 2roup'67 (eat/flux )e'67 pe'67 stress'67
I8+ group4I8 are documented in compute command
eat/flux = st!le name of tis compute command
0e4I8 = I8 of a compute tat calculates per4atom 0inetic energ!
pe4I8 = I8 of a compute tat calculates per4atom potential energ!
stress4I8 = I8 of a compute tat calculates per4atom stress
Examples:
compute my;lux all (eat/flux myB< my9< myCtress
Description:
8efine a computation tat calculates te eat flux "ector -ased on contri-utions from atoms in te
specified group. Tis can -e used -! itself to measure te eat flux into or out of a reser"oir of
atoms+ or to calculate a termal conducti"it! using te Ereen4Ku-o formalism.
5ee te fix termal/conducti"it! command for details on o, to compute termal conducti"it! in an
alternate ,a!+ "ia te 9uller4:late metod. 5ee te fix eat command for a ,a! to control te eat
added or su-tracted to a group of atoms.
Te compute ta0es tree arguments ,ic are I8s of oter computes. Cne calculates per4atom
0inetic energ! 2ke!"#)+ one calculates per4atom potential energ! 2pe!"#$+ and te tird calcualtes
per4atom stress 2stress!"#). Tese sould -e defined for te same group used -! compute eat/flux+
toug LA99:5 does not cec0 for tis.
Te Ereen4Ku-o formulas relate te ensem-le a"erage of te auto4correlation of te eat flux I to
te termal conducti"it! 0appa:
)i in te first term of te e/uation for I is te per4atom energ! 2potential and 0inetic). Tis is
calculated -! te computes ke!"# and pe!"#. 5i in te second term of te e/uation for I is te per4
atom stress tensor calculated -! te compute stress!"#. Te tensor multiplies &i as a 3x3 matrix4
"ector multipl! to !ield a "ector. Note tat as discussed -elo,+ te 1/& scaling factor in te e/uation
for I is NCT included in te calculation performed -! tis computeF !ou need to add it for a "olume
appropriate to te atoms included in te calculation.
I9:C'TANT NCT): Te compute pe/atom and compute stress/atom commands a"e options for
,ic terms to include in teir calculation 2pair+ -ond+ etc). Te eat flux calculation ,ill tus
include exactl! te same terms. Normall! !ou sould use compute stress/atom "irial so as not to
include a 0inetic energ! term in te eat flux.
Te trap2) function in te "aria-le command can calculate te integral.
1>) fix a"e/correlate command:
Syntax:
fix 67 2roup'67 ave/correlate $every $repeat $freq value value% *** )eywor#
ar2s ***
I8+ group4I8 are documented in fix command
a"e/correlate = st!le name of tis fix command
Ne"er! = use input "alues e"er! tis man! timesteps
Nrepeat = G of correlation time ,indo,s to accumulate
Nfre/ = calculate tine ,indo, a"erages e"er! tis man! timesteps
one or more input "alues can -e listed
"alue = c;I8+ c;I8MNN+ f;I8+ f;I8MNN+ ";name
c_67 = 2lobal scalar calculate# by a compute wit( 67
c_67D6E = 6t( component of 2lobal vector calculate# by a compute wit( 67
f_67 = 2lobal scalar calculate# by a fix wit( 67
f_67D6E = 6t( component of 2lobal vector calculate# by a fix wit( 67
v_name = 2lobal value calculate# by an equal'style variable wit( name
=ero or more 0e!,ord/arg pairs ma! -e appended
0e!,ord = type or ave or start or prefactor or file or over%rite or title1 or title2 or title3
type ar2 = auto or upper or lower or auto/upper or auto/lower or full
auto = correlate eac( value wit( itself
upper = correlate eac( value wit( eac( succee#in2 value
lower = correlate eac( value wit( eac( prece#in2 value
auto/upper = auto + upper
auto/lower = auto + lower
full = correlate eac( value wit( every ot(er value. inclu#in2 itself =
auto + upper + lower
ave ar2s = one or running
one = &ero t(e correlation accumulation every $freq steps
runnin2 = accumulate correlations continuously
start ar2s = $start
$start = start accumulatin2 correlations on t(is timestep
prefactor ar2s = value
value = prefactor to scale all t(e correlation #ata by
file ar2 = filename
filename = name of file to output correlation #ata to
overwrite ar2 = none = overwrite output file wit( only latest output
title1 ar2 = strin2
strin2 = text to print as st line of output file
title2 ar2 = strin2
Examples:
fix all ave/correlate 3 // /// c_myTemp file temp*correlate
fix all ave/correlate 3/ //// 5
c_t(ermo_pressDE c_t(ermo_pressD%E c_t(ermo_pressD!E 5
type upper ave runnin2 title "My correlation #ata"
Description:
Use one or more glo-al scalar "alues as inputs e"er! fe, timesteps+ calculate time correlations
-e,teen tem at "ar!ing time inter"als+ and a"erage te correlation data o"er longer timescales. Te
resulting correlation "alues can -e time integrated -! "aria-les or used -! oter output commands
suc as termo;st!le custom+ and can also -e ,ritten to a file.
Te group specified ,it tis command is ignored. ?o,e"er+ note tat specified "alues ma!
represent calculations performed -! computes and fixes ,ic store teir o,n 1group1 definitions.
Te &every+ &repeat+ and &freq arguments specif! on ,at timesteps te input "alues ,ill -e used
to calculate correlation data. Te input "alues are sampled e"er! &every timesteps. Te correlation
data for te preceding samples is computed on timesteps tat are a multiple of &freq. 6onsider a set
of samples from some initial time up to an output timestep. Te initial time could -e te -eginning
of te simulation or te last output timeF see te ave 0e!,ord for options. *or te set of samples+ te
correlation "alue 6ij is calculated as:
Fi1(#elta" = ave(Gi(t"+G1(t+#elta""
,ic is te correlation "alue -et,een input "alues &i and &j+ separated -! time delta. Note tat te
second "alue &j in te pair is al,a!s te one sampled at te later time. Te a"e2) represents an
a"erage o"er e"er! pair of samples in te set tat are separated -! time delta. Te maximum delta
used is of si=e 2&repeat41)#&every. Tus te correlation -et,een a pair of input "alues !ields
&repeat correlation datums:
Fi1(/". Fi1($every". Fi1(%+$every". ***. Fi1(($repeat'"+$every"
*or example+ if Ne"er!=<+ Nrepeat=>+ and Nfre/=1@@+ ten "alues on timesteps @+<+1@+1<+...+1@@
,ill -e used to compute te final a"erages on timestep 1@@. 5ix a"erages ,ill -e computed: 6ij2@)+
6ij2<)+ 6ij21@)+ 6ij21<)+ 6ij2%@)+ and 6ij2%<). 6ij21@) on timestep 1@@ ,ill -e te a"erage of 1H
samples+ namel! &i2@)#&j21@)+ &i2<)#&j21<)+ &i21@)#& j%@)+ &i21<)#&j2%<)+ ...+ &i2A<)#&j2H<)+
&i2H@)#&j21@@).
&freq must -e a multiple of &everyF &every and &repeat must -e non4=ero. Also+ if te ave 0e!,ord
is set to one ,ic is te default+ ten &freq O= 2&repeat41)#&every is re/uired.
te group function count2) is te num-er of atoms in te group