forked from lijiext/lammps
112 lines
4.5 KiB
Plaintext
112 lines
4.5 KiB
Plaintext
|
"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
|
||
|
|
||
|
compute temp/cs command :h3
|
||
|
|
||
|
[Syntax:]
|
||
|
|
||
|
compute ID group-ID temp/cs group1 group2 pre
|
||
|
|
||
|
ID, group-ID are documented in "compute"_compute.html command
|
||
|
temp/cs = style name of this compute command
|
||
|
group1 = group-ID of either cores or shells
|
||
|
group2 = group-ID of either shells or cores :ul
|
||
|
|
||
|
[Examples:]
|
||
|
|
||
|
compute oxygen_c-s all temp/cs O_core O_shell
|
||
|
compute core_shells all temp/cs cores shells :pre
|
||
|
|
||
|
[Description:]
|
||
|
|
||
|
Define a computation that calculates the temperature of a system based
|
||
|
on the center-of-mass velocity of atom pairs that are bonded to each
|
||
|
other. This compute is designed to be used with the adiabatic
|
||
|
core/shell model of "(Mitchell and Finchham)"_#MitchellFinchham. See
|
||
|
"Section_howto 25"_Section_howto.html#howto_25 of the manual for an
|
||
|
overview of the model as implemented in LAMMPS. Specifically, this
|
||
|
compute enables correct temperature calculation and thermostatting of
|
||
|
core/shell pairs where it is desirable for the internal degrees of
|
||
|
freedom of the core/shell pairs to not be influenced by a thermostat.
|
||
|
A compute of this style can be used by any command that computes a
|
||
|
temperature via "fix_modify"_fix_modify.html e.g. "fix
|
||
|
temp/rescale"_fix_temp_rescale.html, "fix npt"_fix_nh.html, etc.
|
||
|
|
||
|
For this compute, core and shell particles are specified by two
|
||
|
respective group IDs, which can be defined using the
|
||
|
"group"_group.html command. The number of atoms in the two groups
|
||
|
must be the same and there should be one bond defined between a pair
|
||
|
of atoms in the two groups.
|
||
|
|
||
|
The temperature is calculated by the formula KE = dim/2 N k T, where
|
||
|
KE = total kinetic energy of the group of atoms (sum of 1/2 m v^2),
|
||
|
dim = 2 or 3 = dimensionality of the simulation, N = number of atoms
|
||
|
in the group, k = Boltzmann constant, and T = temperature. Note that
|
||
|
the velocity of each core or shell atom used in the KE calculation is
|
||
|
the velocity of the center-of-mass (COM) of the core/shell pair the
|
||
|
atom is part of.
|
||
|
|
||
|
A kinetic energy tensor, stored as a 6-element vector, is also
|
||
|
calculated by this compute for use in the computation of a pressure
|
||
|
tensor. The formula for the components of the tensor is the same as
|
||
|
the above formula, except that v^2 is replaced by vx*vy for the xy
|
||
|
component, etc. The 6 components of the vector are ordered xx, yy,
|
||
|
zz, xy, xz, yz. Again, the velocity of each core or shell atom is its
|
||
|
COM velocity.
|
||
|
|
||
|
The change this fix makes to core/shell atom velocities is essentially
|
||
|
computing the temperature after a "bias" has been removed from the
|
||
|
velocity of the atoms. This "bias" is the velocity of the atom
|
||
|
relative to the COM velocity of the core/shell pair. If this compute
|
||
|
is used with a fix command that performs thermostatting then this bias
|
||
|
will be subtracted from each atom, thermostatting of the remaining COM
|
||
|
velocity will be performed, and the bias will be added back in. This
|
||
|
means the thermostating will effectively be performed on the
|
||
|
core/shell pairs, instead of on the individual core and shell atoms.
|
||
|
Thermostatting fixes that work in this way include "fix
|
||
|
nvt"_fix_nh.html, "fix temp/rescale"_fix_temp_rescale.html, "fix
|
||
|
temp/berendsen"_fix_temp_berendsen.html, and "fix
|
||
|
langevin"_fix_langevin.html.
|
||
|
|
||
|
The internal energy of core/shell pairs can be calculated by the
|
||
|
"compute temp/chunk"_compute_temp_chunk.html command, if chunks are
|
||
|
defined as core/shell pairs. See "Section_howto
|
||
|
25"_Section_howto.html#howto_25 for more discussion on how to do this.
|
||
|
|
||
|
[Output info:]
|
||
|
|
||
|
This compute calculates a global scalar (the temperature) and a global
|
||
|
vector of length 6 (KE tensor), which can be accessed by indices 1-6.
|
||
|
These values can be used by any command that uses global scalar or
|
||
|
vector values from a compute as input.
|
||
|
|
||
|
The scalar value calculated by this compute is "intensive". The
|
||
|
vector values are "extensive".
|
||
|
|
||
|
The scalar value will be in temperature "units"_units.html. The
|
||
|
vector values will be in energy "units"_units.html.
|
||
|
|
||
|
[Restrictions:]
|
||
|
|
||
|
The number of core/shell pairs contributing to the temperature is
|
||
|
assumed to be constant for the duration of the run. No fixes should
|
||
|
be used which generate new molecules or atoms during a simulation.
|
||
|
|
||
|
[Related commands:]
|
||
|
|
||
|
"compute temp"_compute_temp.html, "compute
|
||
|
temp/chunk"_compute_temp_chunk.html
|
||
|
|
||
|
[Default:] none
|
||
|
|
||
|
:line
|
||
|
|
||
|
:link(MitchellFinchham)
|
||
|
[(Mitchell and Finchham)] Mitchell, Finchham, J Phys Condensed Matter,
|
||
|
5, 1031-1038 (1993).
|