Merge branch 'develop' into plumed-plugin
@ -19,9 +19,9 @@ to the online LAMMPS documentation for known LAMMPS commands and styles.
|
||||
Pre-compiled, ready-to-use LAMMPS-GUI executables for Linux x86\_64
|
||||
(Ubuntu 20.04LTS or later and compatible), macOS (version 11 aka Big
|
||||
Sur or later), and Windows (version 10 or later) :ref:`are available
|
||||
<lammps_gui_install>` for download. None-MPI LAMMPS executables for
|
||||
running LAMMPS from the command line and :doc:`some LAMMPS tools <Tools>`
|
||||
are also included.
|
||||
<lammps_gui_install>` for download. Non-MPI LAMMPS executables (as
|
||||
``lmp``) for running LAMMPS from the command line and :doc:`some
|
||||
LAMMPS tools <Tools>` compiled executables are also included.
|
||||
|
||||
The source code for LAMMPS-GUI is included in the LAMMPS source code
|
||||
distribution and can be found in the ``tools/lammps-gui`` folder. It
|
||||
@ -29,40 +29,50 @@ to the online LAMMPS documentation for known LAMMPS commands and styles.
|
||||
<Build_cmake>`.
|
||||
|
||||
LAMMPS-GUI tries to provide an experience similar to what people
|
||||
traditionally would have running LAMMPS using a command line window
|
||||
and the console LAMMPS executable but just rolled into a single executable:
|
||||
traditionally would have running LAMMPS using a command line window and
|
||||
the console LAMMPS executable but just rolled into a single executable:
|
||||
|
||||
- writing & editing LAMMPS input files with a text editor
|
||||
- run LAMMPS on those input file with selected command line flags
|
||||
- use or extract data from the created files and visualize it with
|
||||
either a molecular visualization program or a plotting program
|
||||
- extract data from the created files and visualize it with and
|
||||
external software
|
||||
|
||||
That procedure is quite effective for people proficient in using the
|
||||
command line, as that allows them to use tools for the individual steps
|
||||
that they are most comfortable with. It is often *required* to adopt
|
||||
this workflow when running LAMMPS simulations on high-performance
|
||||
that they are most comfortable with. In fact, it is often *required* to
|
||||
adopt this workflow when running LAMMPS simulations on high-performance
|
||||
computing facilities.
|
||||
|
||||
The main benefit of using LAMMPS-GUI is that many basic tasks can be
|
||||
done directly from the GUI without switching to a text console window or
|
||||
using external programs, let alone writing scripts to extract data from
|
||||
the generated output. It also integrates well with graphical desktop
|
||||
environments where the `.lmp` filename extension can be registered with
|
||||
LAMMPS-GUI as the executable to launch when double clicking on such
|
||||
files. Also, LAMMPS-GUI has support for drag-n-drop, i.e. an input
|
||||
file can be selected and then moved and dropped on the LAMMPS-GUI
|
||||
executable, and LAMMPS-GUI will launch and read the file into its
|
||||
buffer.
|
||||
done directly from the GUI **without** switching to a text console
|
||||
window or using external programs, let alone writing scripts to extract
|
||||
data from the generated output. It also integrates well with graphical
|
||||
desktop environments where the `.lmp` filename extension can be
|
||||
registered with LAMMPS-GUI as the executable to launch when double
|
||||
clicking on such files. Also, LAMMPS-GUI has support for drag-n-drop,
|
||||
i.e. an input file can be selected and then moved and dropped on the
|
||||
LAMMPS-GUI executable, and LAMMPS-GUI will launch and read the file into
|
||||
its buffer. In many cases LAMMPS-GUI will be integrated into the
|
||||
graphical desktop environment and can be launched like other
|
||||
applications.
|
||||
|
||||
LAMMPS-GUI thus makes it easier for beginners to get started running
|
||||
simple LAMMPS simulations. It is very suitable for tutorials on LAMMPS
|
||||
since you only need to learn how to use a single program for most tasks
|
||||
and thus time can be saved and people can focus on learning LAMMPS.
|
||||
The tutorials at https://lammpstutorials.github.io/ were specifically
|
||||
The tutorials at https://lammpstutorials.github.io/ are specifically
|
||||
updated for use with LAMMPS-GUI.
|
||||
|
||||
Another design goal is to keep the barrier low when replacing part of
|
||||
the functionality of LAMMPS-GUI with external tools.
|
||||
the functionality of LAMMPS-GUI with external tools. That said, LAMMPS-GUI
|
||||
has some unique functionality that is not found elsewhere:
|
||||
|
||||
- auto-adapting to features available in the integrated LAMMPS library
|
||||
- interactive visualization using the :doc:`dump image <dump_image>`
|
||||
command with the option to copy-paste the resulting settings
|
||||
- automatic slide show generation from dump image out at runtime
|
||||
- automatic plotting of thermodynamics data at runtime
|
||||
- inspection of binary restart files
|
||||
|
||||
The following text provides a detailed tour of the features and
|
||||
functionality of LAMMPS-GUI. Suggestions for new features and
|
||||
@ -134,9 +144,13 @@ When LAMMPS-GUI starts, it shows the main window, labeled *Editor*, with
|
||||
either an empty buffer or the contents of the file used as argument. In
|
||||
the latter case it may look like the following:
|
||||
|
||||
.. image:: JPG/lammps-gui-main.png
|
||||
:align: center
|
||||
:scale: 50%
|
||||
.. |gui-main1| image:: JPG/lammps-gui-main.png
|
||||
:width: 48%
|
||||
|
||||
.. |gui-main2| image:: JPG/lammps-gui-dark.png
|
||||
:width: 48%
|
||||
|
||||
|gui-main1| |gui-main2|
|
||||
|
||||
There is the typical menu bar at the top, then the main editor buffer,
|
||||
and a status bar at the bottom. The input file contents are shown
|
||||
@ -276,8 +290,6 @@ right mouse button into the *Output* window text area.
|
||||
:align: center
|
||||
:scale: 50%
|
||||
|
||||
.. versionadded:: 1.6
|
||||
|
||||
Should the *Output* window contain embedded YAML format text (see above for a
|
||||
demonstration), for example from using :doc:`thermo_style yaml
|
||||
<thermo_style>` or :doc:`thermo_modify line yaml <thermo_modify>`, the
|
||||
@ -289,10 +301,6 @@ text area.
|
||||
Charts Window
|
||||
-------------
|
||||
|
||||
.. versionadded:: 1.6
|
||||
|
||||
Plot smoothing support
|
||||
|
||||
By default, when starting a run, a *Charts* window opens that displays a
|
||||
plot of thermodynamic output of the LAMMPS calculation as shown below.
|
||||
|
||||
@ -327,10 +335,6 @@ corresponds to. Same as for the *Output* window, the chart window is
|
||||
replaced on each new run, but the behavior can be changed in the
|
||||
*Preferences* dialog.
|
||||
|
||||
.. versionadded:: 1.6
|
||||
|
||||
Support for YAML export added
|
||||
|
||||
From the *File* menu on the top left, it is possible to save an image
|
||||
of the currently displayed plot or export the data in either plain text
|
||||
columns (for use by plotting tools like `gnuplot
|
||||
@ -371,8 +375,6 @@ zoom in or zoom out of the displayed images. The button on the very
|
||||
left triggers an export of the slide show animation to a movie file,
|
||||
provided the `FFmpeg program <https://ffmpeg.org/>`_ is installed.
|
||||
|
||||
.. versionadded:: 1.6
|
||||
|
||||
When clicking on the "garbage can" icon, all image files of the slide
|
||||
show will be deleted. Since their number can be large for long
|
||||
simulations, this option enables to safely and quickly clean up the
|
||||
@ -391,7 +393,7 @@ below.
|
||||
|
||||
.. image:: JPG/lammps-gui-variable-info.png
|
||||
:align: center
|
||||
:scale: 75%
|
||||
:scale: 50%
|
||||
|
||||
Like for the *Output* and *Charts* windows, its content is continuously
|
||||
updated during a run. It will show "(none)" if there are no variables
|
||||
@ -435,20 +437,21 @@ instance when using reduced (= 'lj') :doc:`units <units>`, then
|
||||
LAMMPS-GUI will check the current pair style and if it is a
|
||||
Lennard-Jones type potential, it will extract the *sigma* parameter
|
||||
for each atom type and assign atom diameters from those numbers.
|
||||
For cases where atom diameters are not auto-detected, the *Atom size* field
|
||||
can be edited and a suitable value set manually. The default value
|
||||
is inferred from the x-direction lattice spacing.
|
||||
|
||||
Otherwise the default sequence of colors of the :doc:`dump image
|
||||
<dump_image>` command is assigned to the different atom types and the
|
||||
diameters are all the same.
|
||||
If elements cannot be detected the default sequence of colors of the
|
||||
:doc:`dump image <dump_image>` command is assigned to the different atom
|
||||
types.
|
||||
|
||||
.. figure:: JPG/lammps-gui-image.png
|
||||
:align: center
|
||||
:scale: 50%
|
||||
.. |gui-image1| image:: JPG/lammps-gui-image.png
|
||||
:width: 48%
|
||||
|
||||
Visualization of LAMMPS "peptide" example
|
||||
.. |gui-image2| image:: JPG/lammps-gui-funnel.png
|
||||
:width: 48%
|
||||
|
||||
.. versionchanged:: 1.6
|
||||
|
||||
Buttons for toggling shininess and re-centering were added.
|
||||
|gui-image1| |gui-image2|
|
||||
|
||||
The default image size, some default image quality settings, the view
|
||||
style and some colors can be changed in the *Preferences* dialog
|
||||
@ -468,8 +471,6 @@ current image can be saved to a file (keyboard shortcut `Ctrl-S`) or
|
||||
copied to the clipboard (keyboard shortcut `Ctrl-C`) for pasting the
|
||||
image into another application.
|
||||
|
||||
.. versionadded:: 1.6
|
||||
|
||||
From the *File* menu it is also possible to copy the current
|
||||
:doc:`dump image <dump_image>` and :doc:`dump_modify <dump_image>`
|
||||
commands to the clipboard so they can be pasted into a LAMMPS input file
|
||||
@ -488,8 +489,6 @@ Paste (`Ctrl-V`), Undo (`Ctrl-Z`), Redo (`Ctrl-Shift-Z`), Select All
|
||||
dialog will pop up asking whether to cancel the exit operation, or to
|
||||
save or not save the buffer contents to a file.
|
||||
|
||||
.. versionadded:: 1.6
|
||||
|
||||
The editor has an auto-save mode that can be enabled or disabled in the
|
||||
*Preferences* dialog. In auto-save mode, the editor buffer is
|
||||
automatically saved before running LAMMPS or before exiting LAMMPS-GUI.
|
||||
@ -553,8 +552,6 @@ context menu that open the corresponding documentation page in the
|
||||
online LAMMPS documentation in a web browser window. When using the
|
||||
keyboard, the first of those entries is chosen.
|
||||
|
||||
.. versionadded:: 1.6
|
||||
|
||||
If the word under the cursor is a file, then additionally the context
|
||||
menu has an entry to open the file in a read-only text viewer window.
|
||||
If the file is a LAMMPS restart file, instead the menu entry offers to
|
||||
@ -572,8 +569,6 @@ will contain a corresponding message.
|
||||
Inspecting a Restart file
|
||||
^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||
|
||||
.. versionadded:: 1.6
|
||||
|
||||
When LAMMPS-GUI is asked to "Inspect a Restart", it will read the
|
||||
restart file into a LAMMPS instance and then open three different
|
||||
windows. The first window is a text viewer with the output of an
|
||||
@ -629,9 +624,10 @@ Edit
|
||||
^^^^
|
||||
|
||||
The *Edit* menu offers the usual editor functions like *Undo*, *Redo*,
|
||||
*Cut*, *Copy*, *Paste*. It can also open a *Preferences* dialog
|
||||
(keyboard shortcut `Ctrl-P`) and allows deleting all stored preferences
|
||||
and settings, so they are reset to their default values.
|
||||
*Cut*, *Copy*, *Paste*, and a *Find and Replace* dialog (keyboard
|
||||
shortcut `Ctrl-F`). It can also open a *Preferences* dialog (keyboard
|
||||
shortcut `Ctrl-P`) and allows deleting all stored preferences and
|
||||
settings, so they are reset to their default values.
|
||||
|
||||
Run
|
||||
^^^
|
||||
@ -667,7 +663,7 @@ set *before* a run is started.
|
||||
|
||||
.. image:: JPG/lammps-gui-variables.png
|
||||
:align: center
|
||||
:scale: 75%
|
||||
:scale: 50%
|
||||
|
||||
The *Set Variables* dialog will be pre-populated with entries that
|
||||
are set as index variables in the input and any variables that are
|
||||
@ -716,6 +712,43 @@ https://lammpstutorials.github.io/ in a web browser window.
|
||||
|
||||
-----
|
||||
|
||||
Find and Replace
|
||||
----------------
|
||||
|
||||
.. image:: JPG/lammps-gui-find.png
|
||||
:align: center
|
||||
:scale: 33%
|
||||
|
||||
The *Find and Replace* dialog allows searching for and replacing
|
||||
text in the *Editor* window.
|
||||
|
||||
The dialog can be opened either from the *Edit* menu or with the
|
||||
keyboard shortcut `Ctrl-F`. You can enter the text to search for.
|
||||
Through three check-boxes the search behavior can be adjusted:
|
||||
|
||||
- If checked, "Match case" does a case sensitive search; otherwise
|
||||
the search is case insensitive.
|
||||
|
||||
- If checked, "Wrap around" starts searching from the start of the
|
||||
document, if there is no match found from the current cursor position
|
||||
until the end of the document; otherwise the search will stop.
|
||||
|
||||
- If checked, the "Whole word" setting only finds full word matches
|
||||
(white space and special characters are word boundaries).
|
||||
|
||||
Clicking on the *Next* button will search for the next occurrence of the
|
||||
search text and select / highlight it. Clicking on the *Replace* button
|
||||
will replace an already highlighted search text and find the next one.
|
||||
If no text is selected, or the selected text does not match the
|
||||
selection string, then the first click on the *Replace* button will
|
||||
only search and highlight the next occurrence of the search string.
|
||||
Clicking on the *Replace All* button will replace all occurrences from
|
||||
the cursor position to the end of the file; if the *Wrap around* box is
|
||||
checked, then it will replace **all** occurrences in the **entire**
|
||||
document. Clicking on the *Done* button will dismiss the dialog.
|
||||
|
||||
------
|
||||
|
||||
Preferences
|
||||
-----------
|
||||
|
||||
@ -848,7 +881,7 @@ available (On macOS use the Command key instead of Ctrl/Control).
|
||||
|
||||
.. list-table::
|
||||
:header-rows: 1
|
||||
:widths: auto
|
||||
:widths: 16 19 13 16 13 22
|
||||
|
||||
* - Shortcut
|
||||
- Function
|
||||
@ -890,32 +923,32 @@ available (On macOS use the Command key instead of Ctrl/Control).
|
||||
- Quit Application
|
||||
- Ctrl+A
|
||||
- Select All
|
||||
- Ctrl+P
|
||||
- Preferences
|
||||
- Ctrl+F
|
||||
- Find and Replace
|
||||
* - Ctrl+W
|
||||
- Close Window
|
||||
- Ctrl+Shift+H
|
||||
- Quick Help
|
||||
- Ctrl+Shift+G
|
||||
- LAMMPS-GUI Howto
|
||||
* - Ctrl+Shift+A
|
||||
- About LAMMPS
|
||||
- Ctrl+?
|
||||
- Context Help
|
||||
- Ctrl+Shift+W
|
||||
- Show Variables
|
||||
* - Ctrl+Shift+M
|
||||
- LAMMPS Manual
|
||||
- TAB
|
||||
- Reformat line
|
||||
- Shift+TAB
|
||||
- Show Completions
|
||||
* - Ctrl+Shift+T
|
||||
- LAMMPS Tutorial
|
||||
- Ctrl+Shift+Enter
|
||||
* - Ctrl+Shift+Enter
|
||||
- Run File
|
||||
-
|
||||
-
|
||||
- Ctrl+Shift+W
|
||||
- Show Variables
|
||||
- Ctrl+P
|
||||
- Preferences
|
||||
* - Ctrl+Shift+A
|
||||
- About LAMMPS
|
||||
- Ctrl+Shift+H
|
||||
- Quick Help
|
||||
- Ctrl+Shift+G
|
||||
- LAMMPS-GUI Howto
|
||||
* - Ctrl+Shift+M
|
||||
- LAMMPS Manual
|
||||
- Ctrl+?
|
||||
- Context Help
|
||||
- Ctrl+Shift+T
|
||||
- LAMMPS Tutorial
|
||||
|
||||
Further editing keybindings `are documented with the Qt documentation
|
||||
<https://doc.qt.io/qt-5/qplaintextedit.html#editing-key-bindings>`_. In
|
||||
|
||||
BIN
doc/src/JPG/lammps-gui-dark.png
Normal file
|
After Width: | Height: | Size: 78 KiB |
BIN
doc/src/JPG/lammps-gui-find.png
Normal file
|
After Width: | Height: | Size: 113 KiB |
BIN
doc/src/JPG/lammps-gui-funnel.png
Normal file
|
After Width: | Height: | Size: 325 KiB |
|
Before Width: | Height: | Size: 115 KiB After Width: | Height: | Size: 86 KiB |
|
Before Width: | Height: | Size: 93 KiB After Width: | Height: | Size: 77 KiB |
@ -590,20 +590,31 @@ and the LAMMPS library, via ``-D LAMMPS_SOURCE_DIR=/path/to/lammps/src``.
|
||||
CMake will try to guess a build folder with the LAMMPS library from that
|
||||
path, but it can also be set with ``-D LAMMPS_LIB_DIR=/path/to/lammps/lib``.
|
||||
|
||||
Plugin version
|
||||
""""""""""""""
|
||||
|
||||
Rather than linking to the LAMMPS library during compilation, it is also
|
||||
possible to compile the GUI with a plugin loader that will load
|
||||
the LAMMPS library dynamically at runtime during the start of the GUI
|
||||
from a shared library; e.g. ``liblammps.so`` or ``liblammps.dylib`` or
|
||||
possible to compile the GUI with a plugin loader that will load the
|
||||
LAMMPS library dynamically at runtime during the start of the GUI from a
|
||||
shared library; e.g. ``liblammps.so`` or ``liblammps.dylib`` or
|
||||
``liblammps.dll`` (depending on the operating system). This has the
|
||||
advantage that the LAMMPS library can be built from updated or modified
|
||||
LAMMPS source without having to recompile the GUI. The ABI of the
|
||||
LAMMPS C-library interface is very stable and generally backward
|
||||
compatible. This feature is enabled by setting
|
||||
``-D LAMMPS_GUI_USE_PLUGIN=on`` and then ``-D
|
||||
compatible. This feature is enabled by setting ``-D
|
||||
LAMMPS_GUI_USE_PLUGIN=on`` and then ``-D
|
||||
LAMMPS_PLUGINLIB_DIR=/path/to/lammps/plugin/loader``. Typically, this
|
||||
would be the ``examples/COUPLE/plugin`` folder of the LAMMPS
|
||||
distribution.
|
||||
|
||||
When compiling LAMMPS-GUI with plugin support, there is an additional
|
||||
command line flag (``-p <path>`` or ``--pluginpath <path>``) which
|
||||
allows to override the path to LAMMPS shared library used by the GUI.
|
||||
This is usually auto-detected on the first run and can be changed in the
|
||||
LAMMPS-GUI *Preferences* dialog. The command line flag allows to reset
|
||||
this path to a valid value in case the original setting has become
|
||||
invalid. An empty path ("") as argument restores the default setting.
|
||||
|
||||
Platform notes
|
||||
^^^^^^^^^^^^^^
|
||||
|
||||
@ -671,6 +682,15 @@ folder> --target tgz`` or ``make tgz`` to build a
|
||||
``LAMMPS-Linux-amd64.tar.gz`` file with the executables and their
|
||||
support libraries.
|
||||
|
||||
It is also possible to build a `flatpak bundle
|
||||
<https://docs.flatpak.org/en/latest/single-file-bundles.html>`_ which is
|
||||
a way to distribute applications in a way that is compatible with most
|
||||
Linux distributions. Use the "flatpak" target to trigger a compile
|
||||
(``cmake --build <build folder> --target flatpak`` or ``make flatpak``).
|
||||
Please note that this will not build from the local sources but from the
|
||||
repository and branch listed in the ``org.lammps.lammps-gui.yml``
|
||||
LAMMPS-GUI source folder.
|
||||
|
||||
----------
|
||||
|
||||
.. _arc:
|
||||
|
||||
@ -59,11 +59,12 @@ may also contribute to the virial term.
|
||||
|
||||
A symmetric pressure tensor, stored as a 6-element vector, is also
|
||||
calculated by this compute. The six components of the vector are
|
||||
ordered :math:`xx,` :math:`yy,` :math:`zz,` :math:`xy,` :math:`xz,` :math:`yz.`
|
||||
The equation for the :math:`(I,J)` components (where :math:`I` and :math:`J`
|
||||
are :math:`x`, :math:`y`, or :math:`z`) is similar to the above formula,
|
||||
except that the first term uses components of the kinetic energy tensor and the
|
||||
second term uses components of the virial tensor:
|
||||
ordered :math:`xx,` :math:`yy,` :math:`zz,` :math:`xy,` :math:`xz,`
|
||||
:math:`yz.` The equation for the :math:`(I,J)` components (where
|
||||
:math:`I` and :math:`J` are :math:`x`, :math:`y`, or :math:`z`) is
|
||||
similar to the above formula, except that the first term uses
|
||||
components related to the kinetic energy tensor and the second term
|
||||
uses components of the virial tensor:
|
||||
|
||||
.. math::
|
||||
|
||||
@ -75,8 +76,8 @@ calculated. This includes a kinetic energy (temperature) term and the
|
||||
virial as the sum of pair, bond, angle, dihedral, improper, kspace
|
||||
(long-range), and fix contributions to the force on each atom. If any
|
||||
extra keywords are listed, then only those components are summed to
|
||||
compute temperature or ke and/or the virial. The *virial* keyword
|
||||
means include all terms except the kinetic energy *ke*\ .
|
||||
compute temperature or ke and/or the virial. The *virial* keyword means
|
||||
include all terms except the kinetic energy *ke*\ .
|
||||
|
||||
The *pair/hybrid* keyword means to only include contribution
|
||||
from a sub-style in a *hybrid* or *hybrid/overlay* pair style.
|
||||
@ -86,26 +87,31 @@ system, including for many-body potentials and accounting for the
|
||||
effects of periodic boundary conditions are discussed in
|
||||
:ref:`(Thompson) <Thompson1>`.
|
||||
|
||||
The temperature and kinetic energy tensor is not calculated by this
|
||||
The temperature and kinetic energy tensor are not calculated by this
|
||||
compute, but rather by the temperature compute specified with the
|
||||
command. If the kinetic energy is not included in the pressure, than
|
||||
the temperature compute is not used and can be specified as NULL.
|
||||
Normally the temperature compute used by compute pressure should
|
||||
calculate the temperature of all atoms for consistency with the virial
|
||||
term, but any compute style that calculates temperature can be used
|
||||
(e.g., one that excludes frozen atoms or other degrees of freedom).
|
||||
command. See the doc pages for individual compute temp variants for an
|
||||
explanation of how they calculate temperature and a symmetric tensor
|
||||
(6-element vector) whose components are twice that of the traditional KE
|
||||
tensor. That tensor is what appears in the pressure tensor formula
|
||||
above.
|
||||
|
||||
If the kinetic energy is not included in the pressure, than the
|
||||
temperature compute is not used and can be specified as NULL. Normally
|
||||
the temperature compute used by compute pressure should calculate the
|
||||
temperature of all atoms for consistency with the virial term, but any
|
||||
compute style that calculates temperature can be used (e.g., one that
|
||||
excludes frozen atoms or other degrees of freedom).
|
||||
|
||||
Note that if desired the specified temperature compute can be one that
|
||||
subtracts off a bias to calculate a temperature using only the thermal
|
||||
velocity of the atoms (e.g., by subtracting a background streaming
|
||||
velocity).
|
||||
See the doc pages for individual :doc:`compute commands <compute>` to determine
|
||||
which ones include a bias.
|
||||
velocity). See the doc pages for individual :doc:`compute commands
|
||||
<compute>` to determine which ones include a bias.
|
||||
|
||||
Also note that the :math:`N` in the first formula above is really
|
||||
degrees-of-freedom divided by :math:`d` = dimensionality, where the DOF value
|
||||
is calculated by the temperature compute.
|
||||
See the various :doc:`compute temperature <compute>` styles for details.
|
||||
degrees-of-freedom divided by :math:`d` = dimensionality, where the
|
||||
DOF value is calculated by the temperature compute. See the various
|
||||
:doc:`compute temperature <compute>` styles for details.
|
||||
|
||||
A compute of this style with the ID of thermo_press is created when
|
||||
LAMMPS starts up, as if this command were in the input script:
|
||||
@ -136,9 +142,8 @@ The ordering of values in the symmetric pressure tensor is as follows:
|
||||
:math:`p_{xx},` :math:`p_{yy},` :math:`p_{zz},` :math:`p_{xy},`
|
||||
:math:`p_{xz},` :math:`p_{yz}.`
|
||||
|
||||
The scalar and vector values calculated by this compute are
|
||||
"intensive". The scalar and vector values will be in pressure
|
||||
:doc:`units <units>`.
|
||||
The scalar and vector values calculated by this compute are "intensive".
|
||||
The scalar and vector values will be in pressure :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -48,13 +48,17 @@ the group, :math:`N_\mathrm{fix DOFs}` is the number of degrees of
|
||||
freedom removed by fix commands (see below), :math:`k_B` is the
|
||||
Boltzmann constant, and :math:`T` is the resulting computed temperature.
|
||||
|
||||
A kinetic energy tensor, stored as a six-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 expression for :math:`E_\mathrm{kin}`, except that :math:`v_i^2` is
|
||||
replaced by :math:`v_{i,x} v_{i,y}` for the :math:`xy` component, and so on.
|
||||
The six components of the vector are ordered :math:`xx`, :math:`yy`,
|
||||
:math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||
A symmetric tensor, stored as a six-element vector, is also calculated
|
||||
by this compute for use in the computation of a pressure tensor by the
|
||||
:doc:`compute pressue <compute_pressure>` command. The formula for
|
||||
the components of the tensor is the same as the above expression for
|
||||
:math:`E_\mathrm{kin}`, except that the 1/2 factor is NOT included and
|
||||
the :math:`v_i^2` is replaced by :math:`v_{i,x} v_{i,y}` for the
|
||||
:math:`xy` component, and so on. Note that because it lacks the 1/2
|
||||
factor, these tensor components are twice those of the traditional
|
||||
kinetic energy tensor. The six components of the vector are ordered
|
||||
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`,
|
||||
:math:`yz`.
|
||||
|
||||
The number of atoms contributing to the temperature is assumed to be
|
||||
constant for the duration of the run; use the *dynamic* option of the
|
||||
@ -94,16 +98,17 @@ Output info
|
||||
"""""""""""
|
||||
|
||||
This compute calculates a global scalar (the temperature) and a global
|
||||
vector of length six (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. See the :doc:`Howto output
|
||||
<Howto_output>` page for an overview of LAMMPS output options.
|
||||
vector of length six (symmetric 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
vector values will be in energy :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -41,8 +41,8 @@ translational and rotational kinetic energy. This differs from the
|
||||
usual :doc:`compute temp <compute_temp>` command, which assumes point
|
||||
particles with only translational kinetic energy.
|
||||
|
||||
Only finite-size particles (aspherical or spherical) can be included
|
||||
in the group. For 3d finite-size particles, each has six degrees of
|
||||
Only finite-size particles (aspherical or spherical) can be included in
|
||||
the group. For 3d finite-size particles, each has six degrees of
|
||||
freedom (three translational, three rotational). For 2d finite-size
|
||||
particles, each has three degrees of freedom (two translational, one
|
||||
rotational).
|
||||
@ -70,25 +70,39 @@ axis. It will also be the case for biaxial ellipsoids when exactly two
|
||||
of the semiaxes have the same length and the corresponding relative well
|
||||
depths are equal.
|
||||
|
||||
The translational kinetic energy is computed the same as is described
|
||||
by the :doc:`compute temp <compute_temp>` command. The rotational
|
||||
kinetic energy is computed as :math:`\frac12 I \omega^2`, where :math:`I` is
|
||||
the inertia tensor for the aspherical particle and :math:`\omega` is its
|
||||
The translational kinetic energy is computed the same as is described by
|
||||
the :doc:`compute temp <compute_temp>` command. The rotational kinetic
|
||||
energy is computed as :math:`\frac12 I \omega^2`, where :math:`I` is the
|
||||
inertia tensor for the aspherical particle and :math:`\omega` is its
|
||||
angular velocity, which is computed from its angular momentum.
|
||||
|
||||
.. note::
|
||||
|
||||
For :doc:`2d models <dimension>`, particles are treated as
|
||||
ellipsoids, not ellipses, meaning their moments of inertia will be the
|
||||
same as in 3d.
|
||||
ellipsoids, not ellipses, meaning their moments of inertia will be
|
||||
the same as in 3d.
|
||||
|
||||
A kinetic energy tensor, stored as a six-element vector, is also
|
||||
calculated by this compute. The formula for the components of the
|
||||
tensor is the same as the above formula, except that :math:`v^2` and
|
||||
:math:`\omega^2` are replaced by :math:`v_x v_y` and :math:`\omega_x \omega_y`
|
||||
for the :math:`xy` component, and the appropriate elements of the moment of
|
||||
inertia tensor are used. The six components of the vector are ordered
|
||||
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||
:math:`\omega^2` are replaced by :math:`v_x v_y` and :math:`\omega_x
|
||||
\omega_y` for the :math:`xy` component, and the appropriate elements of
|
||||
the moment of inertia tensor are used. The six components of the vector
|
||||
are ordered :math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`,
|
||||
:math:`yz`.
|
||||
|
||||
A symmetric tensor, stored as a six-element vector, is also calculated
|
||||
by this compute for use in the computation of a pressure tensor by the
|
||||
:doc:`compute pressue <compute_pressure>` command. The formula for the
|
||||
components of the tensor is the same as the above expression for
|
||||
:math:`E_\mathrm{kin}`, except that the 1/2 factor is NOT included and
|
||||
the :math:`v_i^2` and :math:`\omega^2` are replaced by :math:`v_x v_y`
|
||||
and :math:`\omega_x \omega_y` for the :math:`xy` component, and so on.
|
||||
And the appropriate elements of the moment of inertia tensor are used.
|
||||
Note that because it lacks the 1/2 factor, these tensor components are
|
||||
twice those of the traditional kinetic energy tensor. The six
|
||||
components of the vector are ordered :math:`xx`, :math:`yy`, :math:`zz`,
|
||||
:math:`xy`, :math:`xz`, :math:`yz`.
|
||||
|
||||
The number of atoms contributing to the temperature is assumed to be
|
||||
constant for the duration of the run; use the *dynamic/dof* option of
|
||||
@ -131,27 +145,26 @@ 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.
|
||||
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
output options.
|
||||
vector of length 6 (symmetric 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. See the :doc:`Howto output
|
||||
<Howto_output>` page for an overview of LAMMPS output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
The scalar value calculated by this compute is "intensive". The vector
|
||||
values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
vector values will be in energy :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This compute is part of the ASPHERE package. It is only enabled if
|
||||
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` page for more info.
|
||||
LAMMPS was built with that package. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
|
||||
This compute requires that atoms store angular momentum and a
|
||||
quaternion as defined by the :doc:`atom_style ellipsoid <atom_style>`
|
||||
command.
|
||||
This compute requires that atoms store angular momentum and a quaternion
|
||||
as defined by the :doc:`atom_style ellipsoid <atom_style>` command.
|
||||
|
||||
All particles in the group must be finite-size. They cannot be point
|
||||
particles, but they can be aspherical or spherical as defined by their
|
||||
|
||||
@ -62,12 +62,17 @@ kinetic energy is computed as :math:`\frac12 I \omega^2`, where :math:`I`
|
||||
is the moment of inertia tensor for the aspherical particle and :math:`\omega`
|
||||
is its angular velocity, which is computed from its angular momentum.
|
||||
|
||||
A kinetic energy tensor, stored as a 6-element vector, is also calculated by
|
||||
this compute. The formula for the components of the tensor is the same as the
|
||||
above formula, except that :math:`v^2` and :math:`\omega^2` are
|
||||
replaced by :math:`v_x v_y` and :math:`\omega_x \omega_y` for the
|
||||
math:`xy` component, and the appropriate elements of the inertia tensor are
|
||||
used. The six components of the vector are ordered :math:`xx`, :math:`yy`,
|
||||
A symmetric tensor, stored as a six-element vector, is also calculated
|
||||
by this compute for use in the computation of a pressure tensor by the
|
||||
:doc:`compute pressue <compute_pressure>` command. The formula for
|
||||
the components of the tensor is the same as the above expression for
|
||||
:math:`E_\mathrm{kin}`, except that the 1/2 factor is NOT included and
|
||||
the :math:`v_i^2` and :math:`\omega^2` are replaced by :math:`v_x v_y`
|
||||
and :math:`\omega_x \omega_y` for the :math:`xy` component, and so on.
|
||||
And the appropriate elements of the moment of inertia tensor are used.
|
||||
Note that because it lacks the 1/2 factor, these tensor components are
|
||||
twice those of the traditional kinetic energy tensor. The six
|
||||
components of the vector are ordered :math:`xx`, :math:`yy`,
|
||||
:math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||
|
||||
The number of atoms contributing to the temperature is assumed to be
|
||||
@ -111,17 +116,17 @@ 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.
|
||||
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
vector of length 6 (symmetric 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`.
|
||||
The vector values will be in energy :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -85,12 +85,14 @@ By default, *adof* = 2 or 3 = dimensionality of system, as set via the
|
||||
:doc:`dimension <dimension>` command, and *cdof* = 0.0.
|
||||
This gives the usual formula for temperature.
|
||||
|
||||
A kinetic energy tensor, stored as a six-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 :math:`v^2` is replaced by
|
||||
:math:`v_x v_y` for the :math:`xy` component, and so on.
|
||||
The six components of the vector are ordered :math:`xx`, :math:`yy`,
|
||||
A symmetric tensor, stored as a six-element vector, is also calculated
|
||||
by this compute. The formula for the components of the tensor is the
|
||||
same as the above expression for :math:`E_\mathrm{kin}`, except that
|
||||
the 1/2 factor is NOT included and the :math:`v_i^2` is replaced by
|
||||
:math:`v_{i,x} v_{i,y}` for the :math:`xy` component, and so on. Note
|
||||
that because it lacks the 1/2 factor, these tensor components are
|
||||
twice those of the traditional kinetic energy tensor. The six
|
||||
components of the vector are ordered :math:`xx`, :math:`yy`,
|
||||
:math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||
|
||||
Note that the number of atoms contributing to the temperature is
|
||||
@ -227,10 +229,10 @@ 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.
|
||||
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
vector of length 6 (symmetric 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
output options.
|
||||
|
||||
This compute also optionally calculates a global array, if one or more
|
||||
@ -245,9 +247,9 @@ page for an overview of LAMMPS output options.
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive". The array values are "intensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
vector values will be in energy :doc:`units <units>`. The array values
|
||||
will be in temperature :doc:`units <units>` for the *temp* value, and in
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`. The array values will be
|
||||
in temperature :doc:`units <units>` for the *temp* value, and in
|
||||
energy :doc:`units <units>` for the *kecom* and *internal* values.
|
||||
|
||||
Restrictions
|
||||
|
||||
@ -44,12 +44,17 @@ where KE is the total kinetic energy of the group of atoms (sum of
|
||||
simulation, :math:`N` is number of atoms in the group, :math:`k_B` is
|
||||
the Boltzmann constant, and :math:`T` is the absolute temperature.
|
||||
|
||||
A kinetic energy tensor, stored as a six-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 :math:`v^2` is replaced by :math:`v_x v_y`
|
||||
for the :math:`xy` component, and so on. The six components of the vector are
|
||||
ordered :math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||
A symmetric tensor, stored as a six-element vector, is also calculated
|
||||
by this compute for use in the computation of a pressure tensor by the
|
||||
:doc:`compute pressue <compute_pressure>` command. The formula for
|
||||
the components of the tensor is the same as the above expression for
|
||||
:math:`E_\mathrm{kin}`, except that the 1/2 factor is NOT included and
|
||||
the :math:`v_i^2` is replaced by :math:`v_{i,x} v_{i,y}` for the
|
||||
:math:`xy` component, and so on. Note that because it lacks the 1/2
|
||||
factor, these tensor components are twice those of the traditional
|
||||
kinetic energy tensor. The six components of the vector are ordered
|
||||
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`,
|
||||
:math:`yz`.
|
||||
|
||||
The number of atoms contributing to the temperature is assumed to be
|
||||
constant for the duration of the run; use the *dynamic* option of the
|
||||
@ -81,17 +86,17 @@ 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||
options.
|
||||
vector of length 6 (symmetric 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`.
|
||||
The vector values will be in energy :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values is in energy :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -31,27 +31,27 @@ 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 :ref:`(Mitchell and Fincham) <MitchellFincham1>`.
|
||||
See the :doc:`Howto coreshell <Howto_coreshell>` page 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 :doc:`fix_modify <fix_modify>`
|
||||
(e.g., :doc:`fix temp/rescale <fix_temp_rescale>`, :doc:`fix npt <fix_nh>`).
|
||||
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
|
||||
:doc:`fix_modify <fix_modify>` (e.g., :doc:`fix temp/rescale
|
||||
<fix_temp_rescale>`, :doc:`fix npt <fix_nh>`).
|
||||
|
||||
Note that this compute does not require all ions to be polarized,
|
||||
hence defined as core/shell pairs. One can mix core/shell pairs and
|
||||
ions without a satellite particle if desired. The compute will
|
||||
consider the non-polarized ions according to the physical system.
|
||||
Note that this compute does not require all ions to be polarized, hence
|
||||
defined as core/shell pairs. One can mix core/shell pairs and ions
|
||||
without a satellite particle if desired. The compute will consider the
|
||||
non-polarized ions according to the physical system.
|
||||
|
||||
For this compute, core and shell particles are specified by two
|
||||
respective group IDs, which can be defined using the
|
||||
:doc:`group <group>` 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. Non-polarized ions which might also be
|
||||
included in the treated system should not be included into either of
|
||||
these groups, they are taken into account by the *group-ID* (second
|
||||
argument) of the compute.
|
||||
respective group IDs, which can be defined using the :doc:`group
|
||||
<group>` 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. Non-polarized ions which might also be included in the
|
||||
treated system should not be included into either of these groups, they
|
||||
are taken into account by the *group-ID* (second argument) of the
|
||||
compute.
|
||||
|
||||
The temperature is calculated by the formula
|
||||
|
||||
@ -60,52 +60,56 @@ The temperature is calculated by the formula
|
||||
\text{KE} = \frac{\text{dim}}{2} N k_B T,
|
||||
|
||||
where KE is the total kinetic energy of the group of atoms (sum of
|
||||
:math:`\frac12 m v^2`), dim = 2 or 3 is the dimensionality of the simulation,
|
||||
:math:`N` is the number of atoms in the group, :math:`k_B` is the Boltzmann
|
||||
constant, and :math:`T` is the absolute 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.
|
||||
:math:`\frac12 m v^2`), dim = 2 or 3 is the dimensionality of the
|
||||
simulation, :math:`N` is the number of atoms in the group, :math:`k_B`
|
||||
is the Boltzmann constant, and :math:`T` is the absolute 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 six-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
|
||||
:math:`v^2` is replaced by :math:`v_x v_y` for the :math:`xy` component, and so
|
||||
on. The six components of the vector are ordered :math:`xx`, :math:`yy`,
|
||||
:math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`. In contrast to the temperature,
|
||||
the velocity of each core or shell atom is taken individually.
|
||||
A symmetric tensor, stored as a six-element vector, is also calculated
|
||||
by this compute for use in the computation of a pressure tensor by the
|
||||
:doc:`compute pressue <compute_pressure>` command. The formula for the
|
||||
components of the tensor is the same as the above expression for
|
||||
:math:`E_\mathrm{kin}`, except that the 1/2 factor is NOT included and
|
||||
the :math:`v_i^2` is replaced by :math:`v_{i,x} v_{i,y}` for the
|
||||
:math:`xy` component, and so on. Note that because it lacks the 1/2
|
||||
factor, these tensor components are twice those of the traditional
|
||||
kinetic energy tensor. The six components of the vector are ordered
|
||||
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||
|
||||
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
|
||||
center-of-mass 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 center-of-mass velocity will be
|
||||
performed, and the bias will be added back in. This means the thermostatting
|
||||
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 :doc:`fix nvt <fix_nh>`, :doc:`fix temp/rescale <fix_temp_rescale>`,
|
||||
:doc:`fix temp/berendsen <fix_temp_berendsen>`, and
|
||||
:doc:`fix langevin <fix_langevin>`.
|
||||
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 center-of-mass 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
|
||||
center-of-mass velocity will be performed, and the bias will be added
|
||||
back in. This means the thermostatting 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 :doc:`fix nvt
|
||||
<fix_nh>`, :doc:`fix temp/rescale <fix_temp_rescale>`, :doc:`fix
|
||||
temp/berendsen <fix_temp_berendsen>`, and :doc:`fix langevin
|
||||
<fix_langevin>`.
|
||||
|
||||
The internal energy of core/shell pairs can be calculated by the
|
||||
:doc:`compute temp/chunk <compute_temp_chunk>` command, if chunks are defined
|
||||
as core/shell pairs. See the :doc:`Howto coreshell <Howto_coreshell>` doc
|
||||
page for more discussion on how to do this.
|
||||
:doc:`compute temp/chunk <compute_temp_chunk>` command, if chunks are
|
||||
defined as core/shell pairs. See the :doc:`Howto coreshell
|
||||
<Howto_coreshell>` doc page 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.
|
||||
vector of length 6 (symmetric 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 calculated by this compute is "intensive". The vector
|
||||
values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
vector values will be in energy :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -73,12 +73,16 @@ simulation, :math:`N` is the number of atoms in the group, :math:`k_B`
|
||||
is the Boltzmann constant, and :math:`T` is the temperature. Note that
|
||||
:math:`v` in the kinetic energy formula is the atom's velocity.
|
||||
|
||||
A kinetic energy tensor, stored as a six-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 :math:`v^2` is replaced by :math:`v_x v_y` for
|
||||
the :math:`xy` component, and so on. The six components of the vector are
|
||||
ordered :math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`,
|
||||
A symmetric tensor, stored as a six-element vector, is also calculated
|
||||
by this compute for use in the computation of a pressure tensor by the
|
||||
:doc:`compute pressue <compute_pressure>` command. The formula for
|
||||
the components of the tensor is the same as the above expression for
|
||||
:math:`E_\mathrm{kin}`, except that the 1/2 factor is NOT included and
|
||||
the :math:`v_i^2` is replaced by :math:`v_{i,x} v_{i,y}` for the
|
||||
:math:`xy` component, and so on. Note that because it lacks the 1/2
|
||||
factor, these tensor components are twice those of the traditional
|
||||
kinetic energy tensor. The six components of the vector are ordered
|
||||
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`,
|
||||
:math:`yz`.
|
||||
|
||||
The number of atoms contributing to the temperature is assumed to be
|
||||
@ -128,17 +132,17 @@ 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||
options.
|
||||
vector of length 6 (symmetric 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`.
|
||||
The vector values will be in energy :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -29,17 +29,20 @@ model, after subtracting out a streaming velocity induced by the
|
||||
simulation box changing size and/or shape, for example in a
|
||||
non-equilibrium MD (NEMD) simulation. The size/shape change is
|
||||
induced by use of the :doc:`fix deform <fix_deform>` command. A
|
||||
compute of this style is created by the
|
||||
:doc:`fix nvt/sllod/eff <fix_nvt_sllod_eff>` command to compute the thermal
|
||||
temperature of atoms for thermostatting purposes. A compute of this
|
||||
style can also be used by any command that computes a temperature
|
||||
(e.g., :doc:`thermo_modify <thermo_modify>`, :doc:`fix npt/eff <fix_nh_eff>`).
|
||||
compute of this style is created by the :doc:`fix nvt/sllod/eff
|
||||
<fix_nvt_sllod_eff>` command to compute the thermal temperature of
|
||||
atoms for thermostatting purposes. A compute of this style can also
|
||||
be used by any command that computes a temperature (e.g.,
|
||||
:doc:`thermo_modify <thermo_modify>`, :doc:`fix npt/eff
|
||||
<fix_nh_eff>`).
|
||||
|
||||
The calculation performed by this compute is exactly like that
|
||||
described by the :doc:`compute temp/deform <compute_temp_deform>`
|
||||
command, except that the formula for the temperature includes the
|
||||
radial electron velocity contributions, as discussed by the :doc:`compute temp/eff <compute_temp_eff>` command. Note that only the
|
||||
translational degrees of freedom for each nuclei or electron are
|
||||
command, except that the formulas for the temperature (scalar) and
|
||||
diagonal components of the symmetric tensor (vector) include the
|
||||
radial electron velocity contributions, as discussed by the
|
||||
:doc:`compute temp/eff <compute_temp_eff>` command. Note that only
|
||||
the translational degrees of freedom for each nuclei or electron are
|
||||
affected by the streaming velocity adjustment. The radial velocity
|
||||
component of the electrons is not affected.
|
||||
|
||||
@ -47,17 +50,17 @@ 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||
options.
|
||||
vector of length 6 (symmetric 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
vector values will be in energy :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -44,12 +44,16 @@ constant, and :math:`T` = temperature. The calculation of KE excludes the
|
||||
is 0. The dim parameter is adjusted to give the correct number of
|
||||
degrees of freedom.
|
||||
|
||||
A kinetic energy tensor, stored as a six-element vector, is also
|
||||
calculated by this compute for use in the calculation of a pressure
|
||||
tensor. The formula for the components of the tensor is the same as
|
||||
the above formula, except that :math:`v^2` is replaced by :math:`v_x v_y` for
|
||||
the :math:`xy` component, and so on. The six components of the vector are
|
||||
ordered :math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`,
|
||||
A symmetric tensor, stored as a six-element vector, is also calculated
|
||||
by this compute for use in the computation of a pressure tensor by the
|
||||
:doc:`compute pressue <compute_pressure>` command. The formula for
|
||||
the components of the tensor is the same as the above expression for
|
||||
:math:`E_\mathrm{kin}`, except that the 1/2 factor is NOT included and
|
||||
the :math:`v_i^2` is replaced by :math:`v_{i,x} v_{i,y}` for the
|
||||
:math:`xy` component, and so on. Note that because it lacks the 1/2
|
||||
factor, these tensor components are twice those of the traditional
|
||||
kinetic energy tensor. The six components of the vector are ordered
|
||||
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`,
|
||||
:math:`yz`.
|
||||
|
||||
The number of atoms contributing to the temperature is assumed to be
|
||||
@ -88,17 +92,17 @@ 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.
|
||||
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
vector of length 6 (symmetric 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
vector values will be in energy :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -97,21 +97,27 @@ center-of-mass velocity across the group in directions where streaming velocity
|
||||
is *not* subtracted. This can be altered using the *extra* option of the
|
||||
:doc:`compute_modify <compute_modify>` command.
|
||||
|
||||
If the *out* keyword is used with a *tensor* value, which is the default,
|
||||
a kinetic energy tensor, stored as a six-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
|
||||
:math:`v^2` is replaced by :math:`v_x v_y` for the :math:`xy` component, and
|
||||
so on. The six components of the vector are ordered :math:`xx`, :math:`yy`,
|
||||
If the *out* keyword is used with a *tensor* value, which is the
|
||||
default, then a symmetric tensor, stored as a six-element vector, is
|
||||
also calculated by this compute for use in the computation of a
|
||||
pressure tensor by the :doc:`compute pressue <compute_pressure>`
|
||||
command. The formula for the components of the tensor is the same as
|
||||
the above expression for :math:`E_\mathrm{kin}`, except that the 1/2
|
||||
factor is NOT included and the :math:`v_i^2` is replaced by
|
||||
:math:`v_{i,x} v_{i,y}` for the :math:`xy` component, and so on. Note
|
||||
that because it lacks the 1/2 factor, these tensor components are
|
||||
twice those of the traditional kinetic energy tensor. The six
|
||||
components of the vector are ordered :math:`xx`, :math:`yy`,
|
||||
:math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||
|
||||
If the *out* keyword is used with a *bin* value, the count of atoms and
|
||||
computed temperature for each bin are stored for output, as an array of values,
|
||||
as described below. The temperature of each bin is calculated as described
|
||||
above, where the bias velocity is subtracted and only the remaining thermal
|
||||
velocity of atoms in the bin contributes to the temperature. See the note
|
||||
below for how the temperature is normalized by the degrees-of-freedom of atoms
|
||||
in the bin.
|
||||
If the *out* keyword is used with a *bin* value, the count of atoms
|
||||
and computed temperature for each bin are stored for output, as an
|
||||
array of values, as described below. The temperature of each bin is
|
||||
calculated as described above, where the bias velocity is subtracted
|
||||
and only the remaining thermal velocity of atoms in the bin
|
||||
contributes to the temperature. See the note below for how the
|
||||
temperature is normalized by the degrees-of-freedom of atoms in the
|
||||
bin.
|
||||
|
||||
The number of atoms contributing to the temperature is assumed to be
|
||||
constant for the duration of the run; use the *dynamic* option of the
|
||||
@ -166,16 +172,17 @@ Output info
|
||||
This compute calculates a global scalar (the temperature). Depending
|
||||
on the setting of the *out* keyword, it also calculates a global
|
||||
vector or array. For *out* = *tensor*, it calculates a vector of
|
||||
length 6 (KE tensor), which can be accessed by indices 1--6. For *out*
|
||||
= *bin* it calculates a global array which has 2 columns and :math:`N` rows,
|
||||
where :math:`N` is the number of bins. The first column contains the number
|
||||
of atoms in that bin. The second contains the temperature of that
|
||||
bin, calculated as described above. The ordering of rows in the array
|
||||
is as follows. Bins in :math:`x` vary fastest, then :math:`y`, then
|
||||
:math:`z`. Thus for a :math:`10\times 10\times 10` 3d array of bins, there
|
||||
will be 1000 rows. The bin with indices :math:`(i_x,i_y,i_z) = (2,3,4)` would
|
||||
map to row :math:`M = 10^2(i_z-1) + 10(i_y-1) + i_x = 322`, where the rows are
|
||||
numbered from 1 to 1000 and the bin indices are numbered from 1 to 10 in each
|
||||
length 6 (symmetric tensor), which can be accessed by indices 1--6.
|
||||
For *out* = *bin* it calculates a global array which has 2 columns and
|
||||
:math:`N` rows, where :math:`N` is the number of bins. The first
|
||||
column contains the number of atoms in that bin. The second contains
|
||||
the temperature of that bin, calculated as described above. The
|
||||
ordering of rows in the array is as follows. Bins in :math:`x` vary
|
||||
fastest, then :math:`y`, then :math:`z`. Thus for a :math:`10\times
|
||||
10\times 10` 3d array of bins, there will be 1000 rows. The bin with
|
||||
indices :math:`(i_x,i_y,i_z) = (2,3,4)` would map to row :math:`M =
|
||||
10^2(i_z-1) + 10(i_y-1) + i_x = 322`, where the rows are numbered from
|
||||
1 to 1000 and the bin indices are numbered from 1 to 10 in each
|
||||
dimension.
|
||||
|
||||
These values can be used by any command that uses global scalar or
|
||||
@ -186,9 +193,9 @@ options.
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive". The array values are "intensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
vector values will be in energy :doc:`units <units>`. The first column
|
||||
of array values are counts; the values in the second column will be in
|
||||
The scalar value us in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`. The first column of array
|
||||
values are counts; the values in the second column will be in
|
||||
temperature :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
@ -203,7 +210,10 @@ will be for most thermostats.
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`compute temp <compute_temp>`, :doc:`compute temp/ramp <compute_temp_ramp>`, :doc:`compute temp/deform <compute_temp_deform>`, :doc:`compute pressure <compute_pressure>`
|
||||
:doc:`compute temp <compute_temp>`,
|
||||
:doc:`compute temp/ramp <compute_temp_ramp>`,
|
||||
:doc:`compute temp/deform <compute_temp_deform>`,
|
||||
:doc:`compute pressure <compute_pressure>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
@ -63,12 +63,17 @@ command (e.g., :math:`\AA` for units = real or metal). A
|
||||
velocity in lattice spacings per unit time). The :doc:`lattice <lattice>`
|
||||
command must have been previously used to define the lattice spacing.
|
||||
|
||||
A kinetic energy tensor, stored as a six-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
|
||||
:math:`v^2` is replaced by :math:`v_x v_y` for the :math:`xy` component, and
|
||||
so on. The six components of the vector are ordered :math:`xx`, :math:`yy`,
|
||||
:math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||
A symmetric tensor, stored as a six-element vector, is also calculated
|
||||
by this compute for use in the computation of a pressure tensor by the
|
||||
:doc:`compute pressue <compute_pressure>` command. The formula for
|
||||
the components of the tensor is the same as the above expression for
|
||||
:math:`E_\mathrm{kin}`, except that the 1/2 factor is NOT included and
|
||||
the :math:`v_i^2` is replaced by :math:`v_{i,x} v_{i,y}` for the
|
||||
:math:`xy` component, and so on. Note that because it lacks the 1/2
|
||||
factor, these tensor components are twice those of the traditional
|
||||
kinetic energy tensor. The six components of the vector are ordered
|
||||
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`,
|
||||
:math:`yz`.
|
||||
|
||||
The number of atoms contributing to the temperature is assumed to be constant
|
||||
for the duration of the run; use the *dynamic* option of the
|
||||
@ -100,17 +105,17 @@ 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||
options.
|
||||
vector of length 6 (symmetric 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
vector values will be in energy :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
@ -119,7 +124,10 @@ Restrictions
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
:doc:`compute temp <compute_temp>`, :doc:`compute temp/profie <compute_temp_profile>`, :doc:`compute temp/deform <compute_temp_deform>`, :doc:`compute pressure <compute_pressure>`
|
||||
:doc:`compute temp <compute_temp>`,
|
||||
:doc:`compute temp/profile <compute_temp_profile>`,
|
||||
:doc:`compute temp/deform <compute_temp_deform>`,
|
||||
:doc:`compute pressure <compute_pressure>`
|
||||
|
||||
Default
|
||||
"""""""
|
||||
|
||||
@ -49,12 +49,17 @@ where KE = is the total kinetic energy of the group of atoms (sum of
|
||||
:math:`N` is the number of atoms in both the group and region, :math:`k_B` is
|
||||
the Boltzmann constant, and :math:`T` temperature.
|
||||
|
||||
A kinetic energy tensor, stored as a six-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 :math:`v^2` is replaced by :math:`v_x v_y`
|
||||
for the :math:`xy` component, and so on. The six components of the vector are
|
||||
ordered :math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||
A symmetric tensor, stored as a six-element vector, is also calculated
|
||||
by this compute for use in the computation of a pressure tensor by the
|
||||
:doc:`compute pressue <compute_pressure>` command. The formula for
|
||||
the components of the tensor is the same as the above expression for
|
||||
:math:`E_\mathrm{kin}`, except that the 1/2 factor is NOT included and
|
||||
the :math:`v_i^2` is replaced by :math:`v_{i,x} v_{i,y}` for the
|
||||
:math:`xy` component, and so on. Note that because it lacks the 1/2
|
||||
factor, these tensor components are twice those of the traditional
|
||||
kinetic energy tensor. The six components of the vector are ordered
|
||||
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`,
|
||||
:math:`yz`.
|
||||
|
||||
The number of atoms contributing to the temperature is calculated each
|
||||
time the temperature is evaluated since it is assumed atoms can
|
||||
@ -78,12 +83,13 @@ will operate only on atoms that are currently in the geometric region.
|
||||
|
||||
Unlike other compute styles that calculate temperature, this compute
|
||||
does not subtract out degrees-of-freedom due to fixes that constrain
|
||||
motion, such as :doc:`fix shake <fix_shake>` and :doc:`fix rigid <fix_rigid>`. This is because those degrees of freedom
|
||||
(e.g., a constrained bond) could apply to sets of atoms that straddle
|
||||
the region boundary, and hence the concept is somewhat ill-defined.
|
||||
If needed the number of subtracted degrees of freedom can be set
|
||||
explicitly using the *extra* option of the
|
||||
:doc:`compute_modify <compute_modify>` command.
|
||||
motion, such as :doc:`fix shake <fix_shake>` and :doc:`fix rigid
|
||||
<fix_rigid>`. This is because those degrees of freedom (e.g., a
|
||||
constrained bond) could apply to sets of atoms that straddle the
|
||||
region boundary, and hence the concept is somewhat ill-defined. If
|
||||
needed the number of subtracted degrees of freedom can be set
|
||||
explicitly using the *extra* option of the :doc:`compute_modify
|
||||
<compute_modify>` command.
|
||||
|
||||
See the :doc:`Howto thermostat <Howto_thermostat>` page for a
|
||||
discussion of different ways to compute temperature and perform
|
||||
@ -93,17 +99,17 @@ 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||
options.
|
||||
vector of length 6 (symmetric 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`.
|
||||
The vector values will be in energy :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -32,32 +32,33 @@ temperature (e.g., :doc:`thermo_modify <thermo_modify>`).
|
||||
|
||||
The operation of this compute is exactly like that described by the
|
||||
:doc:`compute temp/region <compute_temp_region>` command, except that
|
||||
the formula for the temperature itself includes the radial electron
|
||||
velocity contributions, as discussed by the
|
||||
:doc:`compute temp/eff <compute_temp_eff>` command.
|
||||
the formulas for the temperature (scalar) and diagonal components of
|
||||
the symmetric tensor (vector) include the radial electron velocity
|
||||
contributions, as discussed by the :doc:`compute temp/eff
|
||||
<compute_temp_eff>` command.
|
||||
|
||||
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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||
options.
|
||||
vector of length 6 (symmetric 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
vector values will be in energy :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
This compute is part of the EFF package. It is only enabled if
|
||||
LAMMPS was built with that package.
|
||||
See the :doc:`Build package <Build_package>` page for more info.
|
||||
This compute is part of the EFF package. It is only enabled if LAMMPS
|
||||
was built with that package. See the :doc:`Build package
|
||||
<Build_package>` page for more info.
|
||||
|
||||
Related commands
|
||||
""""""""""""""""
|
||||
|
||||
@ -43,12 +43,17 @@ where KE is the total kinetic energy of the group of atoms (sum of
|
||||
:math:`N` is the number of atoms in the group, :math:`k_B` is the Boltzmann
|
||||
constant, and :math:`T` is the absolute temperature.
|
||||
|
||||
A kinetic energy tensor, stored as a six-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
|
||||
:math:`v^2` is replaced by :math:`v_x v_y` for the :math:`xy` component, and
|
||||
so on. The six components of the vector are ordered :math:`xx`, :math:`yy`,
|
||||
:math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||
A symmetric tensor, stored as a six-element vector, is also calculated
|
||||
by this compute for use in the computation of a pressure tensor by the
|
||||
:doc:`compute pressue <compute_pressure>` command. The formula for
|
||||
the components of the tensor is the same as the above expression for
|
||||
:math:`E_\mathrm{kin}`, except that the 1/2 factor is NOT included and
|
||||
the :math:`v_i^2` is replaced by :math:`v_{i,x} v_{i,y}` for the
|
||||
:math:`xy` component, and so on. Note that because it lacks the 1/2
|
||||
factor, these tensor components are twice those of the traditional
|
||||
kinetic energy tensor. The six components of the vector are ordered
|
||||
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`,
|
||||
:math:`yz`.
|
||||
|
||||
The number of atoms contributing to the temperature is assumed to be
|
||||
constant for the duration of the run; use the *dynamic* option of the
|
||||
@ -80,17 +85,16 @@ 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS output
|
||||
options.
|
||||
vector of length 6 (symmetric 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. See the :doc:`Howto
|
||||
output <Howto_output>` page for an overview of LAMMPS output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
vector values will be in energy :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -77,6 +77,18 @@ tensor is the same as the above formulas, except that :math:`v^2` and
|
||||
vector are ordered :math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`,
|
||||
:math:`xz`, :math:`yz`.
|
||||
|
||||
A symmetric tensor, stored as a six-element vector, is also calculated
|
||||
by this compute for use in the computation of a pressure tensor by the
|
||||
:doc:`compute pressue <compute_pressure>` command. The formula for
|
||||
the components of the tensor is the same as the above expression for
|
||||
:math:`E_\mathrm{kin}`, except that the 1/2 factor is NOT included and
|
||||
the :math:`v_i^2` and :math:`\omega^2` are replaced by :math:`v_x v_y`
|
||||
and :math:`\omega_x \omega_y` for the :math:`xy` component, and so on.
|
||||
Note that because it lacks the 1/2 factor, these tensor components are
|
||||
twice those of the traditional kinetic energy tensor. The six
|
||||
components of the vector are ordered :math:`xx`, :math:`yy`,
|
||||
:math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||
|
||||
The number of atoms contributing to the temperature is assumed to be
|
||||
constant for the duration of the run; use the *dynamic* option of the
|
||||
:doc:`compute_modify <compute_modify>` command if this is not the case.
|
||||
@ -117,17 +129,17 @@ 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.
|
||||
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
vector of length 6 (symmetric 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. See the
|
||||
:doc:`Howto output <Howto_output>` page for an overview of LAMMPS
|
||||
output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
vector values are "extensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`. The
|
||||
vector values will be in energy :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The vector
|
||||
values are in energy :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -86,12 +86,17 @@ where KE is the total kinetic energy of the group of atoms (sum of
|
||||
:math:`N` is the number of atoms in the group, :math:`k_B` is the Boltzmann
|
||||
constant, and :math:`T` is the absolute temperature.
|
||||
|
||||
A kinetic energy tensor, stored as a six-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 :math:`v^2` is replaced by :math:`v_x v_y` for
|
||||
the :math:`xy` component, and so on. The six components of the vector are
|
||||
ordered :math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`, :math:`yz`.
|
||||
A symmetric tensor, stored as a six-element vector, is also calculated
|
||||
by this compute for use in the computation of a pressure tensor by the
|
||||
:doc:`compute pressue <compute_pressure>` command. The formula for
|
||||
the components of the tensor is the same as the above expression for
|
||||
:math:`E_\mathrm{kin}`, except that the 1/2 factor is NOT included and
|
||||
the :math:`v_i^2` is replaced by :math:`v_{i,x} v_{i,y}` for the
|
||||
:math:`xy` component, and so on. Note that because it lacks the 1/2
|
||||
factor, these tensor components are twice those of the traditional
|
||||
kinetic energy tensor. The six components of the vector are ordered
|
||||
:math:`xx`, :math:`yy`, :math:`zz`, :math:`xy`, :math:`xz`,
|
||||
:math:`yz`.
|
||||
|
||||
The number of atoms contributing to the temperature is assumed to be
|
||||
constant for the duration of the run; use the *dynamic* option of the
|
||||
@ -126,21 +131,21 @@ Output info
|
||||
"""""""""""
|
||||
|
||||
This compute calculates a global scalar (the temperature) and a global
|
||||
vector of length 7, which can be accessed by indices 1--7.
|
||||
The first six elements of the vector are the KE tensor,
|
||||
and the seventh is the cosine-shaped velocity amplitude :math:`V`,
|
||||
which can be used to calculate the reciprocal viscosity, as shown in the example.
|
||||
These values can be used by any command that uses global scalar or
|
||||
vector values from a compute as input.
|
||||
See the :doc:`Howto output <Howto_output>` page for an overview of LAMMPS output options.
|
||||
vector of length 7, which can be accessed by indices 1--7. The first
|
||||
six elements of the vector are those of the symmetric tensor discussed
|
||||
above. The seventh is the cosine-shaped velocity amplitude :math:`V`,
|
||||
which can be used to calculate the reciprocal viscosity, as shown in
|
||||
the example. These values can be used by any command that uses global
|
||||
scalar or vector values from a compute as input. See the :doc:`Howto
|
||||
output <Howto_output>` page for an overview of LAMMPS output options.
|
||||
|
||||
The scalar value calculated by this compute is "intensive". The
|
||||
first six elements of vector values are "extensive",
|
||||
and the seventh element of vector values is "intensive".
|
||||
|
||||
The scalar value will be in temperature :doc:`units <units>`.
|
||||
The first six elements of vector values will be in energy :doc:`units <units>`.
|
||||
The seventh element of vector value will be in velocity :doc:`units <units>`.
|
||||
The scalar value is in temperature :doc:`units <units>`. The first
|
||||
six elements of vector values are in energy :doc:`units <units>`. The
|
||||
seventh element of vector value us in velocity :doc:`units <units>`.
|
||||
|
||||
Restrictions
|
||||
""""""""""""
|
||||
|
||||
@ -785,3 +785,7 @@ reset_mol_ids = yes, custom_charges = no, molecule = off, modify_create = *fit a
|
||||
.. _Gissinger2020:
|
||||
|
||||
**(Gissinger2020)** Gissinger, Jensen and Wise, Macromolecules, 53, 22, 9953-9961 (2020).
|
||||
|
||||
.. _Gissinger2024:
|
||||
|
||||
**(Gissinger2024)** Gissinger, Jensen and Wise, Computer Physics Communications, 304, 109287 (2024).
|
||||
|
||||