lammps/doc/thermo_style.html

279 lines
13 KiB
HTML
Raw Normal View History

<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
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,
tave, pave, eave, peave,
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
tave, pave, eave, peave = time-averaged temp, press, etotal, pe
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
</PRE>
</UL>
<P><B>Examples:</B>
</P>
<PRE>thermo_style multi
thermo_style custom step temp pe etotal press vol
thermo_style custom step temp etotal c_myTemp v_abc
</PRE>
<P><B>Description:</B>
</P>
<P>Set the style and content for printing thermodynamic data to the
screen and log file.
</P>
<P>Style <I>one</I> prints a one-line summary of thermodynamic info that is
the equivalent of "thermo_style custom step temp epair emol etotal
press". The line contains only numeric values.
</P>
<P>Style <I>multi</I> prints a multiple-line listing of thermodynamic info
that is the equivalent of "thermo_style custom etotal ke temp pe ebond
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
"thermo_style custom step atoms ke grot".
</P>
<P>Style <I>custom</I> is the most general setting and allows you to specify
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.
</P>
<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>
<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.
</P>
<HR>
<P>Several of the thermodynamic quantities require a temperature to be
computed: "temp", "press", "ke", "etotal", "enthalpy", "pxx etc",
"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:
</P>
<PRE>compute thermo_temp all temp
</PRE>
<P>See the <A HREF = "compute_temp.html">compute temp</A> command for details. Note
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
degrees-of-freedom) via the <A HREF = "compute_modify.html">compute_modify</A>
command. Alternatively, you can directly assign a new compute (that
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.
</P>
<P>Several of the thermodynamic quantities require a pressure to be
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:
</P>
<PRE>compute thermo_pressure all pressure thermo_temp
</PRE>
<P>See the <A HREF = "compute_pressure.html">compute pressure</A> command for details.
Note that the ID of this compute is <I>thermo_pressure</I> and the group is
<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
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.
</P>
<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:
</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>
<P>The <I>grot</I> keyword requires a rotational energy to be computed for
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.
</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
is included in <I>evdwl</I>, <I>pe</I>, and <I>etotal</I>, and the corresponding tail
correction to the pressure is included in <I>press</I> and <I>pxx</I>, <I>pyy</I>,
etc.
</P>
<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
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>
<HR>
<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
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.
</P>
<P>If <I>c_ID</I> is used as a keyword, then the scalar quantity calculated by
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
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.
</P>
<P>If <I>f_ID</I> is used as a keyword, then the scalar quantity calculated by
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
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.
</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
calculate quantities that could then be output with these keywords as
part of thermodyanmic information.
</P>
<HR>
<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>