2006-09-22 00:22:34 +08:00
|
|
|
<HTML>
|
|
|
|
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
|
|
|
|
</CENTER>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<HR>
|
|
|
|
|
|
|
|
<H3>thermo_style command
|
|
|
|
</H3>
|
|
|
|
<P><B>Syntax:</B>
|
|
|
|
</P>
|
|
|
|
<PRE>thermo_style style args
|
|
|
|
</PRE>
|
|
|
|
<UL><LI>style = <I>one</I> or <I>multi</I> or <I>granular</I> or <I>custom</I>
|
|
|
|
|
|
|
|
<LI>args = list of arguments for a particular style
|
|
|
|
|
|
|
|
<PRE> <I>one</I> args = none
|
|
|
|
<I>multi</I> args = none
|
|
|
|
<I>granular</I> args = none
|
|
|
|
<I>custom</I> args = list of attributes
|
2006-12-20 00:33:33 +08:00
|
|
|
possible attributes = step, atoms, cpu, temp, press,
|
|
|
|
pe, ke, etotal, enthalpy,
|
|
|
|
evdwl, ecoul, epair, ebond, eangle, edihed, eimp,
|
|
|
|
emol, elong, etail,
|
2007-02-10 05:37:30 +08:00
|
|
|
vol, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi,
|
|
|
|
pxx, pyy, pzz, pxy, pxz, pyz
|
|
|
|
drot, grot,
|
|
|
|
tave, pave, eave, peave,
|
|
|
|
c_ID, c_ID[n], f_ID, f_ID[n], v_name
|
2006-09-22 00:22:34 +08:00
|
|
|
step = timestep
|
|
|
|
atoms = # of atoms
|
|
|
|
cpu = elapsed CPU time
|
|
|
|
temp = temperature
|
|
|
|
press = pressure
|
|
|
|
pe = total potential energy
|
|
|
|
ke = kinetic energy
|
2006-11-11 05:27:54 +08:00
|
|
|
etotal = total energy (pe + ke)
|
2006-12-20 00:33:33 +08:00
|
|
|
enthalpy = enthalpy (pe + press*vol)
|
2006-09-22 00:22:34 +08:00
|
|
|
evdwl = VanderWaal pairwise energy
|
|
|
|
ecoul = Coulombic pairwise energy
|
2007-03-08 09:01:08 +08:00
|
|
|
epair = pairwise energy (evdwl + ecoul + elong + etail)
|
2006-09-22 00:22:34 +08:00
|
|
|
ebond = bond energy
|
|
|
|
eangle = angle energy
|
|
|
|
edihed = dihedral energy
|
|
|
|
eimp = improper energy
|
|
|
|
emol = molecular energy (ebond + eangle + edihed + eimp)
|
|
|
|
elong = long-range kspace energy
|
2006-12-20 00:33:33 +08:00
|
|
|
etail = VanderWaal energy long-range tail correction
|
2006-09-22 00:22:34 +08:00
|
|
|
vol = volume
|
|
|
|
lx,ly,lz = box lengths in x,y,z
|
2007-02-10 05:37:30 +08:00
|
|
|
xlo,xhi,ylo,yhi,zlo,zhi = box boundaries
|
2006-09-22 00:22:34 +08:00
|
|
|
pxx,pyy,pzz,pxy,pxz,pyz = 6 components of pressure tensor
|
2007-02-10 05:37:30 +08:00
|
|
|
drot = rotational energy of dipolar atoms
|
|
|
|
grot = rotational energy of granular atoms
|
2006-11-11 07:01:36 +08:00
|
|
|
tave, pave, eave, peave = time-averaged temp, press, etotal, pe
|
2007-02-10 05:37:30 +08:00
|
|
|
c_ID = scalar quantity calculated by a compute identified by its ID
|
|
|
|
c_ID[N] = Nth vector quantity calculated by a compute identified by its ID
|
|
|
|
f_ID = scalar quantity calculated by a fix identified by its ID
|
|
|
|
f_ID[N] = Nth vector quantity calculated by a fix identified by its ID
|
|
|
|
v_name = current value of a variable identified by the variable name
|
2006-09-22 00:22:34 +08:00
|
|
|
</PRE>
|
|
|
|
|
|
|
|
</UL>
|
|
|
|
<P><B>Examples:</B>
|
|
|
|
</P>
|
|
|
|
<PRE>thermo_style multi
|
2006-11-11 05:27:54 +08:00
|
|
|
thermo_style custom step temp pe etotal press vol
|
2007-02-10 05:37:30 +08:00
|
|
|
thermo_style custom step temp etotal c_myTemp v_abc
|
2006-09-22 00:22:34 +08:00
|
|
|
</PRE>
|
|
|
|
<P><B>Description:</B>
|
|
|
|
</P>
|
2007-02-10 05:37:30 +08:00
|
|
|
<P>Set the style and content for printing thermodynamic data to the
|
|
|
|
screen and log file.
|
2006-09-22 00:22:34 +08:00
|
|
|
</P>
|
|
|
|
<P>Style <I>one</I> prints a one-line summary of thermodynamic info that is
|
2006-11-11 05:27:54 +08:00
|
|
|
the equivalent of "thermo_style custom step temp epair emol etotal
|
2006-09-22 00:22:34 +08:00
|
|
|
press". The line contains only numeric values.
|
|
|
|
</P>
|
|
|
|
<P>Style <I>multi</I> prints a multiple-line listing of thermodynamic info
|
2006-11-11 05:27:54 +08:00
|
|
|
that is the equivalent of "thermo_style custom etotal ke temp pe ebond
|
2006-09-22 00:22:34 +08:00
|
|
|
eangle edihed eimp evdwl ecoul elong press". The listing contains
|
|
|
|
numeric values and a string ID for each quantity.
|
|
|
|
</P>
|
|
|
|
<P>Style <I>granular</I> is used with <A HREF = "atom_style.html">atom style</A> granular
|
|
|
|
and prints a one-line numeric summary that is the equivalent of
|
2007-02-10 05:37:30 +08:00
|
|
|
"thermo_style custom step atoms ke grot".
|
2006-09-22 00:22:34 +08:00
|
|
|
</P>
|
|
|
|
<P>Style <I>custom</I> is the most general setting and allows you to specify
|
2007-02-10 05:37:30 +08:00
|
|
|
which of the keywords listed above you want printed on each
|
|
|
|
thermodynamic timestep. Note that the keywords c_ID, f_ID, v_name are
|
|
|
|
references to <A HREF = "compute.html">computes</A>, <A HREF = "fix.html">fixes</A>, and
|
|
|
|
<A HREF = "variable.html"">variables</A> that have been defined elsewhere in the
|
|
|
|
input script or can even be new styles which users have added to
|
|
|
|
LAMMPS (see the <A HREF = "Section_modify.html">Section_modify</A> section of the
|
|
|
|
documentation). Thus the <I>custom</I> style provides a flexible means of
|
|
|
|
outputting essentially any desired quantity as a simulation proceeds.
|
|
|
|
</P>
|
|
|
|
<P>All styles except <I>custom</I> have <I>vol</I> appended to their list of
|
|
|
|
outputs if the simulation box volume changes during the simulation.
|
2006-09-22 00:22:34 +08:00
|
|
|
</P>
|
2007-02-10 05:37:30 +08:00
|
|
|
<P>Options invoked by the <A HREF = "thermo_modify.html">thermo_modify</A> command can
|
|
|
|
be used to set the one- or multi-line format of the print-out, the
|
|
|
|
normalization of energy quantities (total or per-atom), and the
|
|
|
|
numeric precision of each printed value.
|
|
|
|
</P>
|
2007-06-25 22:36:36 +08:00
|
|
|
<P>IMPORTANT NOTE: When you specify a "thermo_style<A HREF = "thermo_modify.html"> command, all
|
|
|
|
thermodynamic settings are restored to their default values, including
|
|
|
|
those previously set by a :thermo_modify</A> command.
|
|
|
|
Thus if your input script specifies a thermo_style command, you should
|
|
|
|
use the thermo_modify command after it.
|
2007-06-20 20:56:17 +08:00
|
|
|
</P>
|
2007-02-10 05:37:30 +08:00
|
|
|
<HR>
|
|
|
|
|
|
|
|
<P>Several of the thermodynamic quantities require a temperature to be
|
|
|
|
computed: "temp", "press", "ke", "etotal", "enthalpy", "pxx etc",
|
2007-06-20 20:56:17 +08:00
|
|
|
"tave", "pave". By default this is done by using the "thermo_temp"
|
|
|
|
compute which is created by LAMMPS as if this command had been issued:
|
2006-09-22 00:22:34 +08:00
|
|
|
</P>
|
2007-02-10 05:37:30 +08:00
|
|
|
<PRE>compute thermo_temp all temp
|
|
|
|
</PRE>
|
|
|
|
<P>See the <A HREF = "compute_temp.html">compute temp</A> command for details. Note
|
2007-06-20 20:56:17 +08:00
|
|
|
that the ID of this compute is <I>thermo_temp</I> and the group is <I>all</I>.
|
|
|
|
You can change the attributes of this temperature (e.g. its
|
2007-02-10 05:37:30 +08:00
|
|
|
degrees-of-freedom) via the <A HREF = "compute_modify.html">compute_modify</A>
|
|
|
|
command. Alternatively, you can directly assign a new compute (that
|
2007-06-20 20:56:17 +08:00
|
|
|
calculates temperature) which you have defined, to be used for
|
|
|
|
calculating any thermodynamic quantity that requires a temperature.
|
|
|
|
This is done via the <A HREF = "thermo_modify.html">thermo_modify</A> command.
|
2007-02-10 05:37:30 +08:00
|
|
|
</P>
|
|
|
|
<P>Several of the thermodynamic quantities require a pressure to be
|
2007-06-20 20:56:17 +08:00
|
|
|
computed: "press", "enthalpy", "pxx etc", "pave". By default this is
|
|
|
|
done by using the "thermo_pressure" compute which is created by LAMMPS
|
|
|
|
as if this command had been issued:
|
2007-02-10 05:37:30 +08:00
|
|
|
</P>
|
2007-06-20 20:56:17 +08:00
|
|
|
<PRE>compute thermo_pressure all pressure thermo_temp
|
2007-02-10 05:37:30 +08:00
|
|
|
</PRE>
|
|
|
|
<P>See the <A HREF = "compute_pressure.html">compute pressure</A> command for details.
|
2007-06-20 20:56:17 +08:00
|
|
|
Note that the ID of this compute is <I>thermo_pressure</I> and the group is
|
2007-02-10 05:37:30 +08:00
|
|
|
<I>all</I>. You can change the attributes of this pressure via the
|
|
|
|
<A HREF = "compute_modify.html">compute_modify</A> command. Alternatively, you can
|
|
|
|
directly assign a new compute (that calculates pressure) which you
|
2007-06-20 20:56:17 +08:00
|
|
|
have defined, to be used for calculating any thermodynamic quantity
|
|
|
|
that requires a pressure. This is done via the
|
|
|
|
<A HREF = "thermo_modify.html">thermo_modify</A> command.
|
2007-02-10 05:37:30 +08:00
|
|
|
</P>
|
2007-06-20 20:56:17 +08:00
|
|
|
<P>The <I>drot</I> keyword requires a rotational energy to be computed for
|
|
|
|
point dipole particles. To do this, a compute of style
|
|
|
|
"rotate/dipole" is created, as if this command had been issued:
|
2007-02-10 05:37:30 +08:00
|
|
|
</P>
|
|
|
|
<PRE>compute thermo_rotate_dipole all rotate/dipole
|
|
|
|
</PRE>
|
|
|
|
<P>See the <A HREF = "compute_rotate_dipole.html">compute rotate/dipole</A> command for
|
|
|
|
details. Note that the ID of the new compute is
|
|
|
|
<I>thermo_rotate_dipole</I> and the group is <I>all</I>. You can change the
|
|
|
|
attributes of this computation via the
|
|
|
|
<A HREF = "compute_modify.html">compute_modify</A> command. Alternatively, you can
|
|
|
|
directly assign a new compute which you have defined, to be used for
|
|
|
|
<I>drot</I>. This is done via the <A HREF = "thermo_modify.html">thermo_modify</A>
|
|
|
|
command. For example, this could be useful if you wish to exclude
|
|
|
|
certain particles from the compuation.
|
|
|
|
</P>
|
2007-06-20 20:56:17 +08:00
|
|
|
<P>The <I>grot</I> keyword requires a rotational energy to be computed for
|
2007-02-10 05:37:30 +08:00
|
|
|
granular particles. To do this, a compute of style "rotate/gran" is
|
|
|
|
created, as if this command had been issued:
|
|
|
|
</P>
|
|
|
|
<PRE>compute thermo_rotate_gran all rotate/gran
|
|
|
|
</PRE>
|
|
|
|
<P>See the <A HREF = "compute_rotate_gran.html">compute rotate/gran</A> command for
|
|
|
|
details. Note that the ID of the new compute is <I>thermo_rotate_gran</I>
|
|
|
|
and the group is <I>all</I>. You can change the attributes of this
|
|
|
|
computation via the <A HREF = "compute_modify.html">compute_modify</A> command.
|
|
|
|
Alternatively, you can directly assign a new compute which you have
|
|
|
|
defined, to be used for <I>grot</I>. This is done via the
|
|
|
|
<A HREF = "thermo_modify.html">thermo_modify</A> command. For example, this could
|
|
|
|
be useful if you wish to exclude frozen particles from the compuation.
|
|
|
|
</P>
|
|
|
|
<HR>
|
|
|
|
|
|
|
|
<P>The potential energy of the system <I>pe</I> will include contributions
|
|
|
|
from fixes if the <A HREF = "fix_modify.html">fix_modify thermo</A> option was set
|
|
|
|
for each fix. For example, the <A HREF = "fix_wall_lj93">fix wall/lj93</A> fix will
|
|
|
|
contribute the energy of atoms interacting with the wall.
|
2006-09-22 00:22:34 +08:00
|
|
|
</P>
|
|
|
|
<P>A long-range tail correction <I>etail</I> for the VanderWaal pairwise
|
|
|
|
energy will be non-zero only if the <A HREF = "pair_modify.html">pair_modify
|
|
|
|
tail</A> option is turned on. The <I>etail</I> contribution
|
2006-11-11 05:27:54 +08:00
|
|
|
is included in <I>evdwl</I>, <I>pe</I>, and <I>etotal</I>, and the corresponding tail
|
2006-09-22 00:22:34 +08:00
|
|
|
correction to the pressure is included in <I>press</I> and <I>pxx</I>, <I>pyy</I>,
|
|
|
|
etc.
|
|
|
|
</P>
|
2007-02-10 05:37:30 +08:00
|
|
|
<P>The time-averaged keywords <I>tave, pave, eave, peave</I> are averaged over
|
|
|
|
the last N thermodynamic outputs to the screen (not the last N
|
2006-09-22 00:22:34 +08:00
|
|
|
timesteps), where N is the value set by the <I>window</I> option of the
|
|
|
|
<A HREF = "thermo_modify.html">thermo_modify</A> command (N = 10 by default).
|
|
|
|
</P>
|
2007-02-10 05:37:30 +08:00
|
|
|
<HR>
|
|
|
|
|
2007-10-10 02:24:42 +08:00
|
|
|
<P>The <I>c_ID</I> and <I>c_ID[N]</I> keywords allow global scalar or vector
|
|
|
|
quantities calculated by a compute to be output. The ID in the
|
|
|
|
keyword should be replaced by the actual ID of the compute that has
|
|
|
|
been defined elsewhere in the input script. See the
|
|
|
|
<A HREF = "compute.html">compute</A> command for details. Note that only global
|
|
|
|
scalar or vector quantites calculated by a compute can be output as
|
|
|
|
thermodynamic data; per-atom quantities calcalated by a compute are
|
2007-10-11 06:28:11 +08:00
|
|
|
output by the <A HREF = "dump.html">dump custom</A> command. Note that some
|
|
|
|
computes calculate "intensive" global quantities like temperature;
|
|
|
|
others calculate "extensive" global quantities like kinetic energy
|
|
|
|
that are summed over all atoms in the compute group. Intensive
|
|
|
|
quantities are printed directly by thermo_style custom. Extensive
|
|
|
|
quantites may be normalized by the total number of atoms in the
|
|
|
|
simulation (NOT the number of atoms in the compute group) depending on
|
|
|
|
the <A HREF = "thermo_modify.html">thermo_modify norm</A> option being used.
|
2007-02-10 05:37:30 +08:00
|
|
|
</P>
|
|
|
|
<P>If <I>c_ID</I> is used as a keyword, then the scalar quantity calculated by
|
2007-10-10 02:24:42 +08:00
|
|
|
the compute is printed. If <I>c_ID[N]</I> is used, then the compute must
|
|
|
|
calculate a vector quantity and N must be an index from 1 to M where M
|
|
|
|
is the length of the vector calculated by the compute. See the doc
|
|
|
|
pages for individual compute styles for info on what these quantities
|
|
|
|
are.
|
|
|
|
</P>
|
|
|
|
<P>The <I>f_ID</I> and <I>f_ID[N]</I> keywords allow global scalar or vector
|
|
|
|
quantities calculated by a fix to be output. The ID in the keyword
|
|
|
|
should be replaced by the actual ID of the fix that has been defined
|
2007-10-11 06:28:11 +08:00
|
|
|
elsewhere in the input script. Note that some fixes calculate
|
|
|
|
"intensive" global quantities like timestep size; others calculate
|
|
|
|
"extensive" global quantities like energy that are summed over all
|
|
|
|
atoms in the fix group. Intensive quantities are printed directly by
|
|
|
|
thermo_style custom. Extensive quantites may be normalized by the
|
|
|
|
total number of atoms in the simulation (NOT the number of atoms in
|
|
|
|
the compute group) depending on the <A HREF = "thermo_modify.html">thermo_modify
|
|
|
|
norm</A> option being used.
|
2007-02-10 05:37:30 +08:00
|
|
|
</P>
|
|
|
|
<P>If <I>f_ID</I> is used as a keyword, then the scalar quantity calculated by
|
2007-10-10 02:24:42 +08:00
|
|
|
the fix is printed. If <I>f_ID[N]</I> is used, then the fix must
|
|
|
|
calculate a vector quantity and N must be an index from 1 to M where M
|
|
|
|
is the length of the vector calculated by the fix. See the doc pages
|
|
|
|
for individual fix styles for info on which fixes calculate these
|
2007-10-11 06:28:11 +08:00
|
|
|
global quantities and what they are. For fixes that compute a
|
|
|
|
contribution to the potential energy of the system, the scalar
|
|
|
|
quantity f_ID is typically that quantity.
|
2007-02-10 05:37:30 +08:00
|
|
|
</P>
|
|
|
|
<P>The <I>v_name</I> keyword allow the current value of a variable to be
|
|
|
|
output. The name in the keyword should be replaced by the actual namd
|
|
|
|
of the variable that has been defined elsewhere in the input script.
|
|
|
|
See the <A HREF = "variable.html">variable</A> command for details. Equal-style
|
|
|
|
variables can calculate complex formulas involving atom and group
|
|
|
|
properties, mathematical operations, other variables, etc. This
|
|
|
|
keyword enables them to be evaluated and their value printed
|
|
|
|
periodically during a simulation.
|
|
|
|
</P>
|
|
|
|
<P>See <A HREF = "Section_modify.html">this section</A> for information on how to add
|
|
|
|
new compute and fix styles as well as variable options to LAMMPS that
|
2007-06-25 22:36:36 +08:00
|
|
|
calculate quantities that could then be output with these keywords as
|
|
|
|
part of thermodyanmic information.
|
2006-09-22 00:22:34 +08:00
|
|
|
</P>
|
2007-02-10 05:37:30 +08:00
|
|
|
<HR>
|
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
<P><B>Restrictions:</B>
|
|
|
|
</P>
|
|
|
|
<P>This command must come after the simulation box is defined by a
|
|
|
|
<A HREF = "read_data.html">read_data</A>, <A HREF = "read_restart.html">read_restart</A>, or
|
|
|
|
<A HREF = "create_box.html">create_box</A> command.
|
|
|
|
</P>
|
|
|
|
<P><B>Related commands:</B>
|
|
|
|
</P>
|
|
|
|
<P><A HREF = "thermo.html">thermo</A>, <A HREF = "thermo_modify.html">thermo_modify</A>,
|
|
|
|
<A HREF = "fix_modify.html">fix_modify</A>, <A HREF = "temperature.html">temperature</A>
|
|
|
|
</P>
|
|
|
|
<P><B>Default:</B>
|
|
|
|
</P>
|
|
|
|
<PRE>thermo_style one
|
|
|
|
</PRE>
|
|
|
|
</HTML>
|