2006-09-22 00:22:34 +08:00
|
|
|
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
|
|
:link(ld,Manual.html)
|
|
|
|
:link(lc,Section_commands.html#comm)
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
thermo_modify command :h3
|
|
|
|
|
|
|
|
[Syntax:]
|
|
|
|
|
|
|
|
thermo_modify keyword value ... :pre
|
|
|
|
|
|
|
|
one or more keyword/value pairs may be listed :ulb,l
|
2010-08-10 23:27:57 +08:00
|
|
|
keyword = {lost} or {norm} or {flush} or {line} or {format} or {temp} or {press} or {every} :l
|
2006-09-22 00:22:34 +08:00
|
|
|
{lost} value = {error} or {warn} or {ignore}
|
|
|
|
{norm} value = {yes} or {no}
|
|
|
|
{flush} value = {yes} or {no}
|
|
|
|
{line} value = {one} or {multi}
|
2007-04-07 02:03:05 +08:00
|
|
|
{format} values = {int} string or {float} 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-02-10 05:37:30 +08:00
|
|
|
{temp} value = compute ID that calculates a temperature
|
2010-08-10 23:27:57 +08:00
|
|
|
{press} value = compute ID that calculates a pressure
|
|
|
|
{every} 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
|
|
|
:ule
|
|
|
|
|
|
|
|
[Examples:]
|
|
|
|
|
2007-06-20 20:56:17 +08:00
|
|
|
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 :pre
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
[Description:]
|
|
|
|
|
2007-02-10 05:37:30 +08:00
|
|
|
Set options for how thermodynamic information is computed and printed
|
|
|
|
by LAMMPS.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2007-06-20 20:56:17 +08:00
|
|
|
IMPORTANT NOTE: These options apply to the currently defined thermo
|
2007-06-26 08:03:39 +08:00
|
|
|
style. When you specify a "thermo_style"_thermo_style.html 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-26 08:03:39 +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
|
|
|
|
2007-02-10 05:37:30 +08:00
|
|
|
The {lost} 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 "boundary"_boundary.html 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 {ignore}, LAMMPS does not
|
|
|
|
check for lost atoms. If the value is {error} or {warn}, 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
|
|
|
|
2009-01-06 07:48:45 +08:00
|
|
|
The {norm} keyword determines whether various thermodynamic output
|
|
|
|
values are normalized by the number of atoms or not, depending on
|
|
|
|
whether it is set to {yes} or {no}. Different unit styles have
|
|
|
|
different defaults for this setting (see below). Even if {norm} is
|
|
|
|
set to {yes}, 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
|
|
|
|
"thermo_style"_thermo_style.html command, all energy-related keywords
|
|
|
|
are extensive, such as {pe} or {ebond} or {enthalpy}. Other keywords
|
|
|
|
such as {temp} or {press} 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 "thermo_style
|
|
|
|
custom"_thermo_style.html command, the doc page for the individual
|
|
|
|
"fix"_fix.html or "compute"_compute.html 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
|
|
|
|
2007-02-10 05:37:30 +08:00
|
|
|
The {flush} 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.
|
|
|
|
|
2007-02-10 05:37:30 +08:00
|
|
|
The {line} 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 {one} and {multi} thermo_style settings.
|
|
|
|
|
2007-02-10 05:37:30 +08:00
|
|
|
The {format} keyword sets the numeric format of individual printed
|
2007-04-07 02:03:05 +08:00
|
|
|
quantities. The {int} and {float} keywords set the format for all
|
2006-09-22 00:22:34 +08:00
|
|
|
integer or floating-point quantities printed. The setting with a
|
2007-04-07 02:03:05 +08:00
|
|
|
numeric value (e.g. format 5 %10.4g) sets the format of the Mth value
|
|
|
|
printed in each output line, the 5th column of output in this case.
|
|
|
|
If the format for a specific column has been set, it will take
|
|
|
|
precedent over the {int} or {float} setting.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2007-02-10 05:37:30 +08:00
|
|
|
The {temp} 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 "compute"_compute.html command and it must be a style of
|
|
|
|
compute that calculates a temperature. As described in the
|
|
|
|
"thermo_style"_thermo_style.html command, thermo output uses a default
|
|
|
|
compute for temperature with ID = {thermo_temp}. This option allows
|
|
|
|
the user to override the default.
|
2007-02-10 05:37:30 +08:00
|
|
|
|
|
|
|
The {press} 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
|
|
|
"compute"_compute.html 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
|
|
|
"thermo_style"_thermo_style.html command, thermo output uses a default
|
2008-01-18 07:46:30 +08:00
|
|
|
compute for pressure with ID = {thermo_press}. This option allows the
|
|
|
|
user to override the default.
|
2007-02-10 05:37:30 +08:00
|
|
|
|
2008-03-11 01:48:22 +08:00
|
|
|
IMPORTANT NOTE: If both the {temp} and {press} 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
|
|
|
|
"pressure compute"_compute_pressure.html defines its own temperature
|
|
|
|
compute as an argument when it is specified. The {temp} keyword will
|
|
|
|
override this (for the pressure compute being used by thermodynamics),
|
|
|
|
but only if the {temp} keyword comes after the {press} keyword. If
|
|
|
|
the {temp} keyword comes before the {press} keyword, then the new
|
|
|
|
pressure compute specified by the {press} keyword will be unaffected
|
|
|
|
by the {temp} setting.
|
2008-03-11 01:48:22 +08:00
|
|
|
|
2010-08-10 23:27:57 +08:00
|
|
|
The {every} 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 "equal-style variable"_variable.html, 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 "equal-style variables"_variable.html, as
|
|
|
|
examples of useful functions to use in this context. Other similar
|
|
|
|
math functions could easily be added as options for "equal-style
|
|
|
|
variables"_variable.html. In addition, thermodynamic output will
|
|
|
|
always occur on the first and last timestep of each run.
|
2010-08-10 23:27:57 +08:00
|
|
|
|
|
|
|
For example, the following commands will output thermodynamic info at
|
|
|
|
timesteps 0,10,20,30,100,200,300,1000,2000,etc:
|
|
|
|
|
|
|
|
variable s equal logfreq(10,3,10)
|
|
|
|
thermo_modify 1 every v_s :pre
|
|
|
|
|
|
|
|
Note that the {every} keyword overrides the output frequency setting
|
|
|
|
made by the "thermo"_thermo.html command, by setting it to 0. If the
|
|
|
|
"thermo"_thermo.html 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.
|
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
[Restrictions:] none
|
|
|
|
|
|
|
|
[Related commands:]
|
|
|
|
|
2007-03-22 04:37:22 +08:00
|
|
|
"thermo"_thermo.html, "thermo_style"_thermo_style.html
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
[Default:]
|
|
|
|
|
2007-02-10 05:37:30 +08:00
|
|
|
The option defaults are lost = error, norm = yes for unit style of
|
|
|
|
{lj}, norm = no for unit style of {real} and {metal}, 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 "thermo"_thermo.html command.
|
2007-02-10 05:37:30 +08:00
|
|
|
|
|
|
|
The defaults for the line and format options depend on the thermo
|
2008-03-18 07:43:56 +08:00
|
|
|
style. For styles "one" and and "custom" the line and format defaults
|
|
|
|
are "one", "%8d", and "%12.8g". For style "multi", the line and
|
|
|
|
format defaults are "multi", "%8d", and "%14.4f".
|