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_modify command
|
|
|
|
</H3>
|
|
|
|
<P><B>Syntax:</B>
|
|
|
|
</P>
|
|
|
|
<PRE>thermo_modify keyword value ...
|
|
|
|
</PRE>
|
|
|
|
<UL><LI>one or more keyword/value pairs may be listed
|
|
|
|
|
2010-08-10 23:27:57 +08:00
|
|
|
<LI>keyword = <I>lost</I> or <I>norm</I> or <I>flush</I> or <I>line</I> or <I>format</I> or <I>temp</I> or <I>press</I> or <I>every</I>
|
|
|
|
|
2010-08-11 22:30:24 +08:00
|
|
|
<PRE> <I>lost</I> value = <I>error</I> or <I>warn</I> or <I>ignore</I>
|
2006-09-22 00:22:34 +08:00
|
|
|
<I>norm</I> value = <I>yes</I> or <I>no</I>
|
|
|
|
<I>flush</I> value = <I>yes</I> or <I>no</I>
|
|
|
|
<I>line</I> value = <I>one</I> or <I>multi</I>
|
2007-04-07 02:03:05 +08:00
|
|
|
<I>format</I> values = <I>int</I> string or <I>float</I> string or M string
|
|
|
|
M = integer from 1 to N, where N = # of quantities being printed
|
2006-09-22 00:22:34 +08:00
|
|
|
string = C-style format string
|
2007-04-07 01:59:59 +08:00
|
|
|
<I>temp</I> value = compute ID that calculates a temperature
|
2010-08-10 23:27:57 +08:00
|
|
|
<I>press</I> value = compute ID that calculates a pressure
|
|
|
|
<I>every</I> value = v_name
|
2010-08-11 22:30:24 +08:00
|
|
|
v_name = an equal-style variable name
|
|
|
|
</PRE>
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
</UL>
|
|
|
|
<P><B>Examples:</B>
|
|
|
|
</P>
|
2007-06-20 20:56:17 +08:00
|
|
|
<PRE>thermo_modify lost ignore flush yes
|
2007-04-07 02:03:05 +08:00
|
|
|
thermo_modify temp myTemp format 3 %15.8g
|
|
|
|
thermo_modify line multi format float %g
|
2006-09-22 00:22:34 +08:00
|
|
|
</PRE>
|
|
|
|
<P><B>Description:</B>
|
|
|
|
</P>
|
2007-02-10 05:37:30 +08:00
|
|
|
<P>Set options for how thermodynamic information is computed and printed
|
|
|
|
by LAMMPS.
|
2006-09-22 00:22:34 +08:00
|
|
|
</P>
|
2007-06-20 20:56:17 +08:00
|
|
|
<P>IMPORTANT NOTE: These options apply to the currently defined thermo
|
2007-06-25 22:36:36 +08:00
|
|
|
style. When you specify a <A HREF = "thermo_style.html">thermo_style</A> command,
|
|
|
|
all thermodynamic settings are restored to their default values,
|
2009-03-19 02:15:38 +08:00
|
|
|
including those previously reset by a thermo_modify command. Thus if
|
2007-06-25 22:36:36 +08:00
|
|
|
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
|
|
|
<P>The <I>lost</I> keyword determines whether LAMMPS checks for lost atoms
|
|
|
|
each time it computes thermodynamics and what it does if atoms are
|
2010-06-03 04:38:41 +08:00
|
|
|
lost. An atom can be "lost" if it moves across a non-periodic
|
|
|
|
simulation box <A HREF = "boundary.html">boundary</A> or if it moves more than a box
|
|
|
|
length outside the simulation domain (or more than a processor
|
|
|
|
sub-domain length) before reneighboring occurs. The latter case is
|
|
|
|
typically due to bad dynamics, e.g. too large a timestep or huge
|
|
|
|
forces and velocities. If the value is <I>ignore</I>, LAMMPS does not
|
|
|
|
check for lost atoms. If the value is <I>error</I> or <I>warn</I>, LAMMPS
|
|
|
|
checks and either issues an error or warning. The code will exit with
|
|
|
|
an error and continue with a warning. A warning will only be issued
|
|
|
|
once, the first time an atom is lost. This can be a useful debugging
|
|
|
|
option.
|
2006-09-22 00:22:34 +08:00
|
|
|
</P>
|
2009-01-06 07:48:45 +08:00
|
|
|
<P>The <I>norm</I> keyword determines whether various thermodynamic output
|
|
|
|
values are normalized by the number of atoms or not, depending on
|
|
|
|
whether it is set to <I>yes</I> or <I>no</I>. Different unit styles have
|
|
|
|
different defaults for this setting (see below). Even if <I>norm</I> is
|
|
|
|
set to <I>yes</I>, a value is only normalized if it is an "extensive"
|
|
|
|
quantity, meaning that it scales with the number of atoms in the
|
|
|
|
system. For the thermo keywords described by the doc page for the
|
|
|
|
<A HREF = "thermo_style.html">thermo_style</A> command, all energy-related keywords
|
|
|
|
are extensive, such as <I>pe</I> or <I>ebond</I> or <I>enthalpy</I>. Other keywords
|
|
|
|
such as <I>temp</I> or <I>press</I> are "intensive" meaning their value is
|
|
|
|
independent (in a statistical sense) of the number of atoms in the
|
|
|
|
system and thus are never normalized. For thermodynamic output values
|
|
|
|
extracted from fixes and computes in a <A HREF = "thermo_style.html">thermo_style
|
|
|
|
custom</A> command, the doc page for the individual
|
|
|
|
<A HREF = "fix.html">fix</A> or <A HREF = "compute.html">compute</A> lists whether the value is
|
|
|
|
"extensive" or "intensive" and thus whether it is normalized.
|
|
|
|
Thermodynamic output values calculated by a variable formula are
|
|
|
|
assumed to be "intensive" and thus are never normalized. You can
|
|
|
|
always include a divide by the number of atoms in the variable formula
|
|
|
|
if this is not the case.
|
2006-09-22 00:22:34 +08:00
|
|
|
</P>
|
2007-02-10 05:37:30 +08:00
|
|
|
<P>The <I>flush</I> keyword invokes a flush operation after thermodynamic info
|
2006-09-22 00:22:34 +08:00
|
|
|
is written to the log file. This insures the output in that file is
|
|
|
|
current (no buffering by the OS), even if LAMMPS halts before the
|
|
|
|
simulation completes.
|
|
|
|
</P>
|
2007-02-10 05:37:30 +08:00
|
|
|
<P>The <I>line</I> keyword determines whether thermodynamics will be printed
|
|
|
|
as a series of numeric values on one line or in a multi-line format
|
|
|
|
with 3 quantities with text strings per line and a dashed-line header
|
2006-09-22 00:22:34 +08:00
|
|
|
containing the timestep and CPU time. This modify option overrides
|
|
|
|
the <I>one</I> and <I>multi</I> thermo_style settings.
|
|
|
|
</P>
|
2007-02-10 05:37:30 +08:00
|
|
|
<P>The <I>format</I> keyword sets the numeric format of individual printed
|
2007-04-07 02:03:05 +08:00
|
|
|
quantities. The <I>int</I> and <I>float</I> keywords set the format for all
|
2006-09-22 00:22:34 +08:00
|
|
|
integer or floating-point quantities printed. The setting with a
|
2011-01-05 03:00:12 +08:00
|
|
|
numeric value M (e.g. format 5 %10.4g) sets the format of the Mth
|
|
|
|
value printed in each output line, e.g. the 5th column of output in
|
|
|
|
this case. If the format for a specific column has been set, it will
|
|
|
|
take precedent over the <I>int</I> or <I>float</I> setting.
|
|
|
|
</P>
|
|
|
|
<P>IMPORTANT NOTE: The thermo output values <I>step</I> and <I>atoms</I> are stored
|
|
|
|
internally as 8-byte unsigned integers, rather than the usual 4-byte
|
|
|
|
signed integers. When specifying the "format int" keyword you can use
|
|
|
|
a "%d"-style format identifier in the format string and LAMMPS will
|
|
|
|
convert this to the corresponding "%lu" form when it is applied to
|
|
|
|
those keywords. However, when specifying the "format M string"
|
|
|
|
keyword for <I>step</I> and <I>natoms</I>, you should specify a string
|
|
|
|
appropriate for an 8-byte unsigned integer, e.g. one with "%lu".
|
2006-09-22 00:22:34 +08:00
|
|
|
</P>
|
2007-02-10 05:37:30 +08:00
|
|
|
<P>The <I>temp</I> keyword is used to determine how thermodynamic temperature
|
|
|
|
is calculated, which is used by all thermo quantities that require a
|
2008-02-13 22:59:22 +08:00
|
|
|
temperature ("temp", "press", "ke", "etotal", "enthalpy", "pxx", etc).
|
|
|
|
The specified compute ID must have been previously defined by the user
|
|
|
|
via the <A HREF = "compute.html">compute</A> command and it must be a style of
|
|
|
|
compute that calculates a temperature. As described in the
|
|
|
|
<A HREF = "thermo_style.html">thermo_style</A> command, thermo output uses a default
|
|
|
|
compute for temperature with ID = <I>thermo_temp</I>. This option allows
|
|
|
|
the user to override the default.
|
2007-02-10 05:37:30 +08:00
|
|
|
</P>
|
|
|
|
<P>The <I>press</I> keyword is used to determine how thermodynamic pressure is
|
|
|
|
calculated, which is used by all thermo quantities that require a
|
2008-02-13 22:59:22 +08:00
|
|
|
pressure ("press", "enthalpy", "pxx", etc). The specified compute ID
|
|
|
|
must have been previously defined by the user via the
|
2007-02-10 05:37:30 +08:00
|
|
|
<A HREF = "compute.html">compute</A> command and it must be a style of compute that
|
|
|
|
calculates a pressure. As described in the
|
2007-06-20 20:56:17 +08:00
|
|
|
<A HREF = "thermo_style.html">thermo_style</A> command, thermo output uses a default
|
2008-01-18 07:46:30 +08:00
|
|
|
compute for pressure with ID = <I>thermo_press</I>. This option allows the
|
|
|
|
user to override the default.
|
2007-02-10 05:37:30 +08:00
|
|
|
</P>
|
2008-03-11 01:48:22 +08:00
|
|
|
<P>IMPORTANT NOTE: If both the <I>temp</I> and <I>press</I> keywords are used in a
|
2008-03-12 00:37:01 +08:00
|
|
|
single thermo_modify command (or in two separate commands), then the
|
|
|
|
order in which the keywords are specified is important. Note that a
|
|
|
|
<A HREF = "compute_pressure.html">pressure compute</A> defines its own temperature
|
|
|
|
compute as an argument when it is specified. The <I>temp</I> keyword will
|
|
|
|
override this (for the pressure compute being used by thermodynamics),
|
|
|
|
but only if the <I>temp</I> keyword comes after the <I>press</I> keyword. If
|
|
|
|
the <I>temp</I> keyword comes before the <I>press</I> keyword, then the new
|
|
|
|
pressure compute specified by the <I>press</I> keyword will be unaffected
|
|
|
|
by the <I>temp</I> setting.
|
2008-03-11 01:48:22 +08:00
|
|
|
</P>
|
2010-08-10 23:27:57 +08:00
|
|
|
<P>The <I>every</I> keyword allows a variable to be specified which will
|
2010-08-13 07:10:38 +08:00
|
|
|
determine which timesteps thermodynamic output is generated. It must
|
|
|
|
be an <A HREF = "variable.html">equal-style variable</A>, and is specified as
|
|
|
|
v_name, where name is the variable name. The variable is evaluated at
|
|
|
|
the beginning of a run to determine the next timestep at which a dump
|
|
|
|
snapshot will be written out. On that timestep, the variable will be
|
|
|
|
evaluated again to determine the next timestep, etc. Thus the
|
|
|
|
variable should return timestep values. See the stagger() and
|
|
|
|
logfreq() math functions for <A HREF = "variable.html">equal-style variables</A>, as
|
|
|
|
examples of useful functions to use in this context. Other similar
|
|
|
|
math functions could easily be added as options for <A HREF = "variable.html">equal-style
|
|
|
|
variables</A>. In addition, thermodynamic output will
|
|
|
|
always occur on the first and last timestep of each run.
|
2010-08-10 23:27:57 +08:00
|
|
|
</P>
|
|
|
|
<P>For example, the following commands will output thermodynamic info at
|
|
|
|
timesteps 0,10,20,30,100,200,300,1000,2000,etc:
|
|
|
|
</P>
|
|
|
|
<PRE>variable s equal logfreq(10,3,10)
|
|
|
|
thermo_modify 1 every v_s
|
|
|
|
</PRE>
|
|
|
|
<P>Note that the <I>every</I> keyword overrides the output frequency setting
|
|
|
|
made by the <A HREF = "thermo.html">thermo</A> command, by setting it to 0. If the
|
|
|
|
<A HREF = "thermo.html">thermo</A> command is later used to set the output frequency
|
|
|
|
to a non-zero value, then the variable setting of the thermo_modify
|
|
|
|
every command will be overridden.
|
|
|
|
</P>
|
2006-09-22 00:22:34 +08:00
|
|
|
<P><B>Restrictions:</B> none
|
|
|
|
</P>
|
|
|
|
<P><B>Related commands:</B>
|
|
|
|
</P>
|
2007-03-22 04:37:22 +08:00
|
|
|
<P><A HREF = "thermo.html">thermo</A>, <A HREF = "thermo_style.html">thermo_style</A>
|
2006-09-22 00:22:34 +08:00
|
|
|
</P>
|
|
|
|
<P><B>Default:</B>
|
|
|
|
</P>
|
2007-02-10 05:37:30 +08:00
|
|
|
<P>The option defaults are lost = error, norm = yes for unit style of
|
|
|
|
<I>lj</I>, norm = no for unit style of <I>real</I> and <I>metal</I>, flush = no,
|
2010-08-10 23:27:57 +08:00
|
|
|
temp/press = compute IDs defined by thermo_style, every = non-variable
|
|
|
|
setting provided by the <A HREF = "thermo.html">thermo</A> command.
|
2007-02-10 05:37:30 +08:00
|
|
|
</P>
|
|
|
|
<P>The defaults for the line and format options depend on the thermo
|
2011-01-05 03:00:12 +08:00
|
|
|
style. For styles "one" and "custom", the line and format defaults
|
2008-03-18 07:43:56 +08:00
|
|
|
are "one", "%8d", and "%12.8g". For style "multi", the line and
|
|
|
|
format defaults are "multi", "%8d", and "%14.4f".
|
2006-09-22 00:22:34 +08:00
|
|
|
</P>
|
|
|
|
</HTML>
|