Merge branch 'master' into charge_regulation2

This commit is contained in:
Axel Kohlmeyer
2021-02-11 07:53:29 -05:00
323 changed files with 7902 additions and 5865 deletions

View File

@ -652,7 +652,7 @@ install(
if(BUILD_SHARED_LIBS)
if(CMAKE_VERSION VERSION_LESS 3.12)
# adjust so we find Python 3 versions before Python 2 on old systems with old CMake
set(Python_ADDITIONAL_VERSIONS 3.8 3.7 3.6 3.5)
set(Python_ADDITIONAL_VERSIONS 3.9 3.8 3.7 3.6 3.5)
find_package(PythonInterp) # Deprecated since version 3.12
if(PYTHONINTERP_FOUND)
set(Python_EXECUTABLE ${PYTHON_EXECUTABLE})
@ -662,10 +662,10 @@ if(BUILD_SHARED_LIBS)
endif()
if (Python_EXECUTABLE)
add_custom_target(
install-python
${Python_EXECUTABLE} install.py -v ${LAMMPS_SOURCE_DIR}/version.h
install-python ${CMAKE_COMMAND} -E remove_directory build
COMMAND ${Python_EXECUTABLE} install.py -v ${LAMMPS_SOURCE_DIR}/version.h
-p ${LAMMPS_PYTHON_DIR}/lammps
-l ${CMAKE_BINARY_DIR}/liblammps${CMAKE_SHARED_LIBRARY_SUFFIX}
-l ${CMAKE_BINARY_DIR}/liblammps${LAMMPS_MACHINE}${CMAKE_SHARED_LIBRARY_SUFFIX}
WORKING_DIRECTORY ${LAMMPS_PYTHON_DIR}
COMMENT "Installing LAMMPS Python module")
else()

View File

@ -36,6 +36,9 @@ if(GPU_API STREQUAL "CUDA")
option(CUDPP_OPT "Enable CUDPP_OPT" ON)
option(CUDA_MPS_SUPPORT "Enable tweaks to support CUDA Multi-process service (MPS)" OFF)
if(CUDA_MPS_SUPPORT)
if(CUDPP_OPT)
message(FATAL_ERROR "Must use -DCUDPP_OPT=OFF with -DGPU_CUDA_MPS_SUPPORT=ON")
endif()
set(GPU_CUDA_MPS_FLAGS "-DCUDA_PROXY")
endif()
@ -94,9 +97,9 @@ if(GPU_API STREQUAL "CUDA")
if(CUDA_VERSION VERSION_GREATER_EQUAL "10.0")
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_75,code=[sm_75,compute_75]")
endif()
# Ampere (GPU Arch 8.0) is supported by CUDA 11 and later
# Ampere (GPU Arch 8.0 and 8.6) is supported by CUDA 11 and later
if(CUDA_VERSION VERSION_GREATER_EQUAL "11.0")
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_80,code=[sm_80,compute_80]")
string(APPEND GPU_CUDA_GENCODE " -gencode arch=compute_80,code=[sm_80,compute_80] -gencode arch=compute_86,code=[sm_86,compute_86]")
endif()
if(CUDA_VERSION VERSION_GREATER_EQUAL "12.0")
message(WARNING "Unsupported CUDA version. Use at your own risk.")

View File

@ -1,7 +1,7 @@
# if PYTHON package is included we may also include Python support in MLIAP
set(MLIAP_ENABLE_PYTHON_DEFAULT OFF)
if(PKG_PYTHON)
find_package(Cythonize)
find_package(Cythonize QUIET)
if(Cythonize_FOUND)
set(MLIAP_ENABLE_PYTHON_DEFAULT ON)
endif()
@ -14,6 +14,15 @@ if(MLIAP_ENABLE_PYTHON)
if(NOT PKG_PYTHON)
message(FATAL_ERROR "Must enable PYTHON package for including Python support in MLIAP")
endif()
if(CMAKE_VERSION VERSION_LESS 3.12)
if(PYTHONLIBS_VERSION_STRING VERSION_LESS 3.6)
message(FATAL_ERROR "Python support in MLIAP requires Python 3.6 or later")
endif()
else()
if(Python_VERSION VERSION_LESS 3.6)
message(FATAL_ERROR "Python support in MLIAP requires Python 3.6 or later")
endif()
endif()
set(MLIAP_BINARY_DIR ${CMAKE_BINARY_DIR}/cython)
set(MLIAP_CYTHON_SRC ${LAMMPS_SOURCE_DIR}/MLIAP/mliap_model_python_couple.pyx)

View File

@ -1,4 +1,4 @@
.TH LAMMPS "24 December 2020" "2020-12-24"
.TH LAMMPS "10 February 2021" "2021-02-10"
.SH NAME
.B LAMMPS
\- Molecular Dynamics Simulator.

View File

@ -131,7 +131,7 @@ CMake build
-D HIP_USE_DEVICE_SORT=value # enables GPU sorting
# value = yes (default) or no
-D CUDPP_OPT=value # optimization setting for GPU_API=cuda
# enables CUDA Performance Primitives Optimizations
# enables CUDA Performance Primitives Optimizations, must be "no" for CUDA_MPS_SUPPORT=yes
# value = yes (default) or no
-D CUDA_MPS_SUPPORT=value # enables some tweaks required to run with active nvidia-cuda-mps daemon
# value = yes or no (default)
@ -219,11 +219,19 @@ Makefile if desired:
* ``CUDA_PRECISION`` = precision (double, mixed, single)
* ``EXTRAMAKE`` = which Makefile.lammps.\* file to copy to Makefile.lammps
The file Makefile.linux_multi is set up to include support for multiple
The file Makefile.cuda is set up to include support for multiple
GPU architectures as supported by the CUDA toolkit in use. This is done
through using the "--gencode " flag, which can be used multiple times and
thus support all GPU architectures supported by your CUDA compiler.
To include CUDA performance primitives set the Makefile variable
``CUDPP_OPT = -DUSE_CUDPP -Icudpp_mini``.
To support the CUDA multiprocessor server you can set the define
``-DCUDA_PROXY``. Please note that in this case you should **not** use
the CUDA performance primitives and thus set the variable ``CUDPP_OPT``
to empty.
If the library build is successful, 3 files should be created:
``lib/gpu/libgpu.a``\ , ``lib/gpu/nvc_get_devices``\ , and
``lib/gpu/Makefile.lammps``\ . The latter has settings that enable LAMMPS

View File

@ -1,11 +1,133 @@
Notes for Developers and Code Maintainers
Notes for developers and code maintainers
-----------------------------------------
This section documents how a few large sections of code with LAMMPS
work at a conceptual level. Comments on code in source files
This section documents how some of the code functionality within
LAMMPS works at a conceptual level. Comments on code in source files
typically document what a variable stores, what a small section of
code does, or what a function does or its input/outputs. The topics
on this page are intended to document code at a higher level.
code does, or what a function does and its input/outputs. The topics
on this page are intended to document code functionality at a higher level.
Fix contributions to instantaneous energy, virial, and cumulative energy
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Fixes can calculate contributions to the instantaneous energy and/or
virial of the system, both in a global and peratom sense. Fixes that
perform thermostatting or barostatting can calculate the cumulative
energy they add to or subtract from the system, which is accessed by
the *ecouple* and *econserve* thermodynamic keywords. This subsection
explains how both work and what flags to set in a new fix to enable
this functionality.
Let's start with thermostatting and barostatting fixes. Examples are
the :doc:`fix langevin <fix_langevin>` and :doc:`fix npt <fix_nh>`
commands. Here is what the fix needs to do:
* Set the variable *ecouple_flag* = 1 in the constructor. Also set
*scalar_flag* = 1, *extscalar* = 1, and *global_freq* to a timestep
increment which matches how often the fix is invoked.
* Implement a compute_scalar() method that returns the cumulative
energy added or subtracted by the fix, e.g. by rescaling the
velocity of atoms. The sign convention is that subtracted energy is
positive, added energy is negative. This must be the total energy
added to the entire system, i.e. an "extensive" quantity, not a
per-atom energy. Cumulative means the summed energy since the fix
was instantiated, even across multiple runs. This is because the
energy is used by the *econserve* thermodynamic keyword to check
that the fix is conserving the total energy of the system,
i.e. potential energy + kinetic energy + coupling energy = a
constant.
And here is how the code operates:
* The Modify class makes a list of all fixes that set *ecouple_flag* = 1.
* The :doc:`thermo_style custom <thermo_style>` command defines
*ecouple* and *econserve* keywords.
* These keywords sum the energy contributions from all the
*ecouple_flag* = 1 fixes by invoking the energy_couple() method in
the Modify class, which calls the compute_scalar() method of each
fix in the list.
------------------
Next, here is how a fix contributes to the instantaneous energy and
virial of the system. First, it sets any or all of these flags to a
value of 1 in their constructor:
* *energy_global_flag* to contribute to global energy, example: :doc:`fix indent <fix_indent>`
* *energy_peratom_flag* to contribute to peratom energy, :doc:`fix cmap <fix_cmap>`
* *virial_global_flag* to contribute to global virial, example: :doc:`fix wall <fix_wall>`
* *virial_peratom_flag* to contribute to peratom virial, example: :doc:`fix wall <fix_wall>`
The fix must also do the following:
* For global energy, implement a compute_scalar() method that returns
the energy added or subtracted on this timestep. Here the sign
convention is that added energy is positive, subtracted energy is
negative.
* For peratom energy, invoke the ev_init(eflag,vflag) function each
time the fix is invoked, which initializes per-atom energy storage.
The value of eflag may need to be stored from an earlier call to the
fix during the same timestep. See how the :doc:`fix cmap
<fix_cmap>` command does this in src/MOLECULE/fix_cmap.cpp. When an
energy for one or more atoms is calculated, invoke the ev_tally()
function to tally the contribution to each atom. Both the ev_init()
and ev_tally() methods are in the parent Fix class.
* For global and/or peratom virial, invoke the v_init(vflag) function
each time the fix is invoked, which initializes virial storage.
When forces on one or more atoms are calculated, invoke the
v_tally() function to tally the contribution. Both the v_init() and
v_tally() methods are in the parent Fix class. Note that there are
several variants of v_tally(); choose the one appropriate to your
fix.
.. note::
The ev_init() and ev_tally() methods also account for global and
peratom virial contributions. Thus you do not need to invoke the
v_init() and v_tally() methods, if the fix also calculates peratom
energies.
The fix must also specify whether (by default) to include or exclude
these contributions to the global/peratom energy/virial of the system.
For the fix to include the contributions, set either of both of these
variables in the constructor:
* *thermo_energy* = 1, for global and peratom energy
* *thermo_virial* = 1, for global and peratom virial
Note that these variables are zeroed in fix.cpp. Thus if you don't
set the variables, the contributions will be excluded (by default)
However, the user has ultimate control over whether to include or
exclude the contributions of the fix via the :doc:`fix modify
<fix_modify>` command:
* fix modify *energy yes* to include global and peratom energy contributions
* fix modify *virial yes* to include global and peratom virial contributions
If the fix contributes to any of the global/peratom energy/virial
values for the system, it should be explained on the fix doc page,
along with the default values for the *energy yes/no* and *virial
yes/no* settings of the :doc:`fix modify <fix_modify>` command.
Finally, these 4 contributions are included in the output of 4
computes:
* global energy in :doc:`compute pe <compute_pe>`
* peratom energy in :doc:`compute pe/atom <compute_pe_atom>`
* global virial in :doc:`compute pressure <compute_pressure>`
* peratom virial in :doc:`compute stress/atom <compute_stress_atom>`
These computes invoke a method of the Modify class to include
contributions from fixes that have the corresponding flags set,
e.g. *energy_peratom_flag* and *thermo_energy* for :doc:`compute
pe/atom <compute_pe_atom>`.
Note that each compute has an optional keyword to either include or
exclude all contributions from fixes. Also note that :doc:`compute pe
<compute_pe>` and :doc:`compute pressure <compute_pressure>` are what
is used (by default) by :doc:`thermodynamic output <thermo_style>` to
calculate values for its *pe* and *press* keywords.
KSpace PPPM FFT grids
^^^^^^^^^^^^^^^^^^^^^

View File

@ -38,17 +38,18 @@ In addition there are DOIs for individual stable releases. Currently there are:
Home page
^^^^^^^^^
The LAMMPS website at `https://lammps.sandia.gov/ <https://lammps.sandia.gov>`_ is the canonical
location for information about LAMMPS and more detailed lists of publications
using LAMMPS and contributing features.
The LAMMPS website at `https://lammps.sandia.gov/
<https://lammps.sandia.gov>`_ is the canonical location for information
about LAMMPS and its features.
Citing contributions
^^^^^^^^^^^^^^^^^^^^
LAMMPS has many features and uses previously published methods and
algorithms or novel features. It also includes potential parameter
filed for specific models. You can look up relevant publications either
in the LAMMPS output to the screen, the ``log.cite`` file (which is
populated with references to relevant papers through embedding them into
the source code) and in the documentation of the :doc:`corresponding commands
LAMMPS has many features and that use either previously published
methods and algorithms or novel features. It also includes potential
parameter filed for specific models. Where available, a reminder about
references for optional features used in a specific run is printed to
the screen and log file. Style and output location can be selected with
the :ref:`-cite command-line switch <cite>`. Additional references are
given in the documentation of the :doc:`corresponding commands
<Commands_all>` or in the :doc:`Howto tutorials <Howto>`.

View File

@ -206,16 +206,22 @@ packages in the src directory for examples. If you are uncertain, please ask.
algorithm/science behind the feature itself, or its initial usage, or
its implementation in LAMMPS), you can add the citation to the \*.cpp
source file. See src/USER-EFF/atom_vec_electron.cpp for an example.
A LaTeX citation is stored in a variable at the top of the file and a
single line of code that references the variable is added to the
constructor of the class. Whenever a user invokes your feature from
their input script, this will cause LAMMPS to output the citation to a
log.cite file and prompt the user to examine the file. Note that you
should only use this for a paper you or your group authored.
E.g. adding a cite in the code for a paper by Nose and Hoover if you
write a fix that implements their integrator is not the intended
usage. That kind of citation should just be in the doc page you
provide.
A LaTeX citation is stored in a variable at the top of the file and
a single line of code registering this variable is added to the
constructor of the class. If there is additional functionality (which
may have been added later) described in a different publication,
additional citation descriptions may be added for as long as they
are only registered when the corresponding keyword activating this
functionality is used. With these options it is possible to have
LAMMPS output a specific citation reminder whenever a user invokes
your feature from their input script. Note that you should only use
this for the most relevant paper for a feature and a publication that
you or your group authored. E.g. adding a citation in the code for
a paper by Nose and Hoover if you write a fix that implements their
integrator is not the intended usage. That kind of citation should
just be included in the documentation page you provide describing
your contribution. If you are not sure what the best option would
be, please contact the LAMMPS developers for advice.
Finally, as a general rule-of-thumb, the more clear and
self-explanatory you make your documentation and README files, and the

View File

@ -668,8 +668,8 @@ A general interface for machine-learning interatomic potentials, including PyTor
To use this package, also the :ref:`SNAP package <PKG-SNAP>` package needs
to be installed. To make the *mliappy* model available, also the
:ref:`PYTHON package <PKG-PYTHON>` package needs to be installed, the version of
Python must be 3.6 or later, and the `cython <https://cython.org/>`_ software
:ref:`PYTHON package <PKG-PYTHON>` package needs to be installed, the version
of Python must be 3.6 or later, and the `cython <https://cython.org/>`_ software
must be installed.
**Author:** Aidan Thompson (Sandia), Nicholas Lubbers (LANL).

View File

@ -26,6 +26,23 @@ There are multiple Python interface classes in the :py:mod:`lammps` module:
.. _mpi4py_url: https://mpi4py.readthedocs.io
.. admonition:: Version check
:class: note
The :py:mod:`lammps` module stores the version number of the LAMMPS
version it is installed from. When initializing the
:py:class:`lammps <lammps.lammps>` class, this version is checked to
be the same as the result from :py:func:`lammps.version`, the version
of the LAMMPS shared library that the module interfaces to. If the
they are not the same an AttributeError exception is raised since a
mismatch of versions (e.g. due to incorrect use of the
``LD_LIBRARY_PATH`` or ``PYTHONPATH`` environment variables can lead
to crashes or data corruption and otherwise incorrect behavior.
.. automodule:: lammps
:members:
:noindex:
----------
The ``lammps`` class API

View File

@ -11,6 +11,7 @@ letter abbreviation can be used:
* :ref:`-k or -kokkos <run-kokkos>`
* :ref:`-l or -log <log>`
* :ref:`-m or -mpicolor <mpicolor>`
* :ref:`-c or -cite <cite>`
* :ref:`-nc or -nocite <nocite>`
* :ref:`-pk or -package <package>`
* :ref:`-p or -partition <partition>`
@ -220,14 +221,31 @@ links with from the lib/message directory. See the
----------
.. _cite:
**-cite style or file name**
Select how and where to output a reminder about citing contributions
to the LAMMPS code that were used during the run. Available styles are
"both", "none", "screen", or "log". Any flag will be considered a file
name to write the detailed citation info to. Default is the "log" style
where there is a short summary in the screen output and detailed citations
in BibTeX format in the logfile. The option "both" selects the detailed
output for both, "none", the short output for both, and "screen" will
write the detailed info to the screen and the short version to the log
file. If a dedicated citation info file is requested, the screen and
log file output will be in the short format (same as with "none").
See the :doc:`citation page <Intro_citing>` for more details on
how to correctly reference and cite LAMMPS.
----------
.. _nocite:
**-nocite**
Disable writing the log.cite file which is normally written to list
references for specific cite-able features used during a LAMMPS run.
See the `citation page <https://lammps.sandia.gov/cite.html>`_ for more
details.
Disable generating a citation reminder (see above) at all.
----------

View File

@ -46,11 +46,12 @@ the compute command was issued. The value of the displacement will be
.. note::
Initial coordinates are stored in "unwrapped" form, by using the
image flags associated with each atom. See the :doc:`dump custom <dump>` command for a discussion of "unwrapped" coordinates.
See the Atoms section of the :doc:`read_data <read_data>` command for a
discussion of image flags and how they are set for each atom. You can
reset the image flags (e.g. to 0) before invoking this compute by
using the :doc:`set image <set>` command.
image flags associated with each atom. See the :doc:`dump custom
<dump>` command for a discussion of "unwrapped" coordinates. See
the Atoms section of the :doc:`read_data <read_data>` command for a
discussion of image flags and how they are set for each atom. You
can reset the image flags (e.g. to 0) before invoking this compute
by using the :doc:`set image <set>` command.
.. note::

View File

@ -122,8 +122,11 @@ Output info
This compute calculates a global scalar (the pressure) and a global
vector of length 6 (pressure 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>` doc page for an overview of LAMMPS output
options.
or vector values from a compute as input. See the :doc:`Howto output
<Howto_output>` doc page for an overview of LAMMPS output options.
The ordering of values in the symmetric pressure tensor is as follows:
pxx, pyy, pzz, pxy, pxz, pyz.
The scalar and vector values calculated by this compute are
"intensive". The scalar and vector values will be in pressure

View File

@ -30,7 +30,7 @@ Examples
.. code-block:: LAMMPS
compute 1 all reduce/chunk/atom mychunk min c_cluster
compute 1 all reduce/chunk mychunk min c_cluster
Description
"""""""""""

View File

@ -216,6 +216,11 @@ an identical manner to compute *stress/atom*. See the :doc:`Howto
output <Howto_output>` doc page for an overview of LAMMPS output
options.
The ordering of the 6 columns for *stress/atom* is as follows: xx, yy,
zz, xy, xz, yz. The ordering of the 9 columns for
*centroid/stress/atom* is as follows: xx, yy, zz, xy, xz, yz, yx, zx,
zy.
The per-atom array values will be in pressure\*volume :doc:`units
<units>` as discussed above.

View File

@ -125,6 +125,16 @@ cannot appear in the neighbor list, to avoid creation of duplicate
bonds. The neighbor list for all atom type pairs must also extend to
a distance that encompasses the *rmax* for new bonds to create.
.. note::
If you want to create bonds between pairs of 1-3 or 1-4 atoms in
the current bond topology, then you need to use :doc:`special_bonds
lj 0 1 1 <special_bonds>` to insure those pairs appear in the
neighbor list. They will not appear with the default special_bonds
settings which are zero for 1-2, 1-3, and 1-4 atoms. 1-3 or 1-4
atoms are those which are 2 hops or 3 hops apart in the bond
topology.
An additional requirement for this style is that your system must be
ready to perform a simulation. This means, for example, that all
:doc:`pair_style <pair_style>` coefficients be set via the

View File

@ -118,32 +118,38 @@ converge properly.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the potential "energy" inferred by the added force to the
system's potential energy as part of :doc:`thermodynamic output <thermo_style>`. This is a fictitious quantity but is
needed so that the :doc:`minimize <minimize>` command can include the
forces added by this fix in a consistent manner. I.e. there is a
decrease in potential energy when atoms move in the direction of the
added force.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the potential energy inferred by the added force to
the global potential energy of the system as part of
:doc:`thermodynamic output <thermo_style>`. The default setting for
this fix is :doc:`fix_modify energy no <fix_modify>`. Note that this
energy is a fictitious quantity but is needed so that the
:doc:`minimize <minimize>` command can include the forces added by
this fix in a consistent manner. I.e. there is a decrease in
potential energy when atoms move in the direction of the added force.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by this
fix to add the contribution due to the added forces on atoms to the
system's virial as part of :doc:`thermodynamic output <thermo_style>`.
The default is *virial no*
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
this fix to add the contribution due to the added forces on atoms to
both the global pressure and per-atom stress of the system via the
:doc:`compute pressure <compute_pressure>` and :doc:`compute
stress/atom <compute_stress_atom>` commands. The former can be
accessed by :doc:`thermodynamic output <thermo_style>`. The default
setting for this fix is :doc:`fix_modify virial no <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by this
fix. This allows to set at which level of the :doc:`r-RESPA <run_style>`
integrator the fix is adding its forces. Default is the outermost
level.
fix. This allows to set at which level of the :doc:`r-RESPA
<run_style>` integrator the fix is adding its forces. Default is the
outermost level.
This fix computes a global scalar and a global 3-vector of forces,
which can be accessed by various :doc:`output commands <Howto_output>`.
The scalar is the potential energy discussed above. The vector is the
total force on the group of atoms before the forces on individual
atoms are changed by the fix. The scalar and vector values calculated
by this fix are "extensive".
which can be accessed by various :doc:`output commands
<Howto_output>`. The scalar is the potential energy discussed above.
The vector is the total force on the group of atoms before the forces
on individual atoms are changed by the fix. The scalar and vector
values calculated by this fix are "extensive".
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command.

View File

@ -55,13 +55,15 @@ Restart, fix_modify, output, run start/stop, minimize info
No information about this fix is written to :doc:`binary restart files <restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the potential "energy" inferred by the added forces to the
system's potential energy as part of :doc:`thermodynamic output <thermo_style>`. This is a fictitious quantity but is
needed so that the :doc:`minimize <minimize>` command can include the
forces added by this fix in a consistent manner. I.e. there is a
decrease in potential energy when atoms move in the direction of the
added forces.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the potential "energy" inferred by the added torques
to the global potential energy of the system as part of
:doc:`thermodynamic output <thermo_style>`. The default setting for
this fix is :doc:`fix_modify energy no <fix_modify>`. Note that this
is a fictitious quantity but is needed so that the :doc:`minimize
<minimize>` command can include the forces added by this fix in a
consistent manner. I.e. there is a decrease in potential energy when
atoms move in the direction of the added forces.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by
this fix. This allows to set at which level of the :doc:`r-RESPA <run_style>`
@ -78,16 +80,28 @@ No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command.
The forces due to this fix are imposed during an energy minimization,
invoked by the :doc:`minimize <minimize>` command. You should not
specify force components with a variable that has time-dependence for
use with a minimizer, since the minimizer increments the timestep as
the iteration count during the minimization.
invoked by the :doc:`minimize <minimize>` command.
.. note::
If you want the fictitious potential energy associated with the
added forces to be included in the total potential energy of the
system (the quantity being minimized), you MUST enable the
:doc:`fix_modify <fix_modify>` *energy* option for this fix.
.. note::
You should not specify force components with a variable that has
time-dependence for use with a minimizer, since the minimizer
increments the timestep as the iteration count during the
minimization.
Restrictions
""""""""""""
This fix is part of the USER-MISC package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
Related commands
""""""""""""""""

View File

@ -122,10 +122,22 @@ Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files
<restart>`. The :doc:`fix_modify <fix_modify>` options relevant to this
fix are listed below. No global scalar or vector or per-atom quantities
are stored by this fix for access by various :doc:`output commands
<Howto_output>`. No parameter of this fix can be used with the
<restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is not supported by
this fix, but this fix does add the kinetic energy imparted to atoms
by the momentum coupling mode of the AtC package to the global
potential energy of the system as part of :doc:`thermodynamic output
<thermo_style>`.
Additional :doc:`fix_modify <fix_modify>` options relevant to this
fix are listed below.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the energy
discussed in the previous paragraph. The scalar value is "extensive".
No parameter of this fix can be used with the
*start/stop* keywords of the :doc:`run <run>` command. This fix is not
invoked during :doc:`energy minimization <minimize>`.
@ -145,10 +157,10 @@ one, e.g. nve, nvt, etc. In addition, currently:
Related commands
""""""""""""""""
After specifying this fix in your input script, several other
:doc:`fix_modify <fix_modify>` commands are used to setup the problem,
e.g. define the finite element mesh and prescribe initial and boundary
conditions.
After specifying this fix in your input script, several
:doc:`fix_modify AtC <fix_modify>` commands are used to setup the
problem, e.g. define the finite element mesh and prescribe initial and
boundary conditions. Each of these options has its own doc page.
*fix_modify* commands for setup:
@ -240,7 +252,8 @@ miscellaneous *fix_modify* commands:
* :doc:`fix_modify AtC remove_species <atc_remove_species>`
* :doc:`fix_modify AtC remove_molecule <atc_remove_molecule>`
Note: a set of example input files with the attendant material files are included in the ``examples/USER/atc`` folders.
Note: a set of example input files with the attendant material files
are included in the ``examples/USER/atc`` folders.
Default
"""""""
@ -252,30 +265,52 @@ For detailed exposition of the theory and algorithms please see:
.. _Wagner:
**(Wagner)** Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, "An atomistic-to-continuum coupling method for heat transfer in solids." Special Issue of Computer Methods and Applied Mechanics (2008) 197:3351.
**(Wagner)** Wagner, GJ; Jones, RE; Templeton, JA; Parks, MA, "An
atomistic-to-continuum coupling method for heat transfer in solids."
Special Issue of Computer Methods and Applied Mechanics (2008)
197:3351.
.. _Zimmeman2004:
**(Zimmerman2004)** Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE; Klein, PA; Bammann, DJ, "Calculation of stress in atomistic simulation." Special Issue of Modelling and Simulation in Materials Science and Engineering (2004), 12:S319.
**(Zimmerman2004)** Zimmerman, JA; Webb, EB; Hoyt, JJ;. Jones, RE;
Klein, PA; Bammann, DJ, "Calculation of stress in atomistic
simulation." Special Issue of Modelling and Simulation in Materials
Science and Engineering (2004), 12:S319.
.. _Zimmerman2010:
**(Zimmerman2010)** Zimmerman, JA; Jones, RE; Templeton, JA, "A material frame approach for evaluating continuum variables in atomistic simulations." Journal of Computational Physics (2010), 229:2364.
**(Zimmerman2010)** Zimmerman, JA; Jones, RE; Templeton, JA, "A
material frame approach for evaluating continuum variables in
atomistic simulations." Journal of Computational Physics (2010),
229:2364.
.. _Templeton2010:
**(Templeton2010)** Templeton, JA; Jones, RE; Wagner, GJ, "Application of a field-based method to spatially varying thermal transport problems in molecular dynamics." Modelling and Simulation in Materials Science and Engineering (2010), 18:085007.
**(Templeton2010)** Templeton, JA; Jones, RE; Wagner, GJ, "Application
of a field-based method to spatially varying thermal transport
problems in molecular dynamics." Modelling and Simulation in
Materials Science and Engineering (2010), 18:085007.
.. _Jones:
**(Jones)** Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine, JA, "Electron transport enhanced molecular dynamics for metals and semi-metals." International Journal for Numerical Methods in Engineering (2010), 83:940.
**(Jones)** Jones, RE; Templeton, JA; Wagner, GJ; Olmsted, D; Modine,
JA, "Electron transport enhanced molecular dynamics for metals and
semi-metals." International Journal for Numerical Methods in
Engineering (2010), 83:940.
.. _Templeton2011:
**(Templeton2011)** Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA; Wong, BM, "A long-range electric field solver for molecular dynamics based on atomistic-to-continuum modeling." Journal of Chemical Theory and Computation (2011), 7:1736.
**(Templeton2011)** Templeton, JA; Jones, RE; Lee, JW; Zimmerman, JA;
Wong, BM, "A long-range electric field solver for molecular dynamics
based on atomistic-to-continuum modeling." Journal of Chemical Theory
and Computation (2011), 7:1736.
.. _Mandadapu:
**(Mandadapu)** Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization as a field variable from molecular dynamics simulations." Journal of Chemical Physics (2013), 139:054115.
**(Mandadapu)** Mandadapu, KK; Templeton, JA; Lee, JW, "Polarization
as a field variable from molecular dynamics simulations." Journal of
Chemical Physics (2013), 139:054115.
Please refer to the standard finite element (FE) texts, e.g. T.J.R Hughes " The finite element method ", Dover 2003, for the basics of FE simulation.
Please refer to the standard finite element (FE) texts, e.g. T.J.R
Hughes " The finite element method ", Dover 2003, for the basics of FE
simulation.

View File

@ -75,6 +75,39 @@ Note that *V_avg* and *Coeff_i* should all be in the proper units, e.g. if you
are using *units real*\ , *V_avg* should be in cubic angstroms, and the
coefficients should all be in atmospheres \* cubic angstroms.
----------
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix writes the cumulative global energy change to :doc:`binary
restart files <restart>`. See the :doc:`read_restart <read_restart>`
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the fix continues in an uninterrupted
fashion.
The :doc:`fix_modify <fix_modify>` *temp* option is supported by this
fix. You can use it to assign a temperature :doc:`compute <compute>`
you have defined to this fix which will be used in its thermostatting
procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
This fix can ramp its target temperature over multiple runs, using the
*start* and *stop* keywords of the :doc:`run <run>` command. See the
:doc:`run <run>` command for details of how to do this.
This fix is not invoked during :doc:`energy minimization <minimize>`.
Restrictions
""""""""""""

View File

@ -41,7 +41,7 @@ Syntax
* template-ID(post-reacted) = ID of a molecule template containing post-reaction topology
* map_file = name of file specifying corresponding atom-IDs in the pre- and post-reacted templates
* zero or more individual keyword/value pairs may be appended to each react argument
* individual_keyword = *prob* or *max_rxn* or *stabilize_steps* or *custom_charges*
* individual_keyword = *prob* or *max_rxn* or *stabilize_steps* or *custom_charges* or *molecule* or *modify_create*
.. parsed-literal::
@ -59,6 +59,12 @@ Syntax
off = allow both inter- and intramolecular reactions (default)
inter = search for reactions between molecules with different IDs
intra = search for reactions within the same molecule
*modify_create* keyword values
*fit* value = *all* or *fragmentID*
all = use all eligible atoms for create-atoms fit (default)
fragmentID = ID of molecule fragment used for create-atoms fit
*overlap* value = R
R = only insert atom/molecule if further than R from existing particles (distance units)
Examples
""""""""
@ -89,7 +95,9 @@ documentation. Topology changes are defined in pre- and post-reaction
molecule templates and can include creation and deletion of bonds,
angles, dihedrals, impropers, bond types, angle types, dihedral types,
atom types, or atomic charges. In addition, reaction by-products or
other molecules can be identified and deleted.
other molecules can be identified and deleted. Finally, atoms can be
created and inserted at specific positions relative to the reaction
site.
Fix bond/react does not use quantum mechanical (eg. fix qmmm) or
pairwise bond-order potential (eg. Tersoff or AIREBO) methods to
@ -262,14 +270,14 @@ command page.
The post-reacted molecule template contains a sample of the reaction
site and its surrounding topology after the reaction has occurred. It
must contain the same number of atoms as the pre-reacted template. A
one-to-one correspondence between the atom IDs in the pre- and
post-reacted templates is specified in the map file as described
below. Note that during a reaction, an atom, bond, etc. type may
change to one that was previously not present in the simulation. These
new types must also be defined during the setup of a given simulation.
A discussion of correctly handling this is also provided on the
:doc:`molecule <molecule>` command page.
must contain the same number of atoms as the pre-reacted template
(unless there are created atoms). A one-to-one correspondence between
the atom IDs in the pre- and post-reacted templates is specified in
the map file as described below. Note that during a reaction, an atom,
bond, etc. type may change to one that was previously not present in
the simulation. These new types must also be defined during the setup
of a given simulation. A discussion of correctly handling this is also
provided on the :doc:`molecule <molecule>` command page.
.. note::
@ -283,7 +291,7 @@ A discussion of correctly handling this is also provided on the
The map file is a text document with the following format:
A map file has a header and a body. The header of map file the
contains one mandatory keyword and four optional keywords. The
contains one mandatory keyword and five optional keywords. The
mandatory keyword is 'equivalences':
.. parsed-literal::
@ -296,11 +304,12 @@ The optional keywords are 'edgeIDs', 'deleteIDs', 'chiralIDs' and
.. parsed-literal::
N *edgeIDs* = # of edge atoms N in the pre-reacted molecule template
N *deleteIDs* = # of atoms N that are specified for deletion
N *chiralIDs* = # of specified chiral centers N
N *constraints* = # of specified reaction constraints N
N *deleteIDs* = # of atoms N that are deleted
N *createIDs* = # of atoms N that are created
N *chiralIDs* = # of chiral centers N
N *constraints* = # of reaction constraints N
The body of the map file contains two mandatory sections and four
The body of the map file contains two mandatory sections and five
optional sections. The first mandatory section begins with the keyword
'InitiatorIDs' and lists the two atom IDs of the initiator atom pair
in the pre-reacted molecule template. The second mandatory section
@ -313,8 +322,10 @@ the keyword 'EdgeIDs' and lists the atom IDs of edge atoms in the
pre-reacted molecule template. The second optional section begins with
the keyword 'DeleteIDs' and lists the atom IDs of pre-reaction
template atoms to delete. The third optional section begins with the
keyword 'CreateIDs' and lists the atom IDs of the post-reaction
template atoms to create. The fourth optional section begins with the
keyword 'ChiralIDs' lists the atom IDs of chiral atoms whose
handedness should be enforced. The fourth optional section begins with
handedness should be enforced. The fifth optional section begins with
the keyword 'Constraints' and lists additional criteria that must be
satisfied in order for the reaction to occur. Currently, there are
five types of constraints available, as discussed below: 'distance',
@ -353,6 +364,38 @@ A sample map file is given below:
----------
A user-specified set of atoms can be deleted by listing their
pre-reaction template IDs in the DeleteIDs section. A deleted atom
must still be included in the post-reaction molecule template, in
which it cannot be bonded to an atom that is not deleted. In addition
to deleting unwanted reaction by-products, this feature can be used to
remove specific topologies, such as small rings, that may be otherwise
indistinguishable.
Atoms can be created by listing their post-reaction template IDs in
the CreateIDs section. A created atom should not be included in the
pre-reaction template. The inserted positions of created atoms are
determined by the coordinates of the post-reaction template, after
optimal translation and rotation of the post-reaction template to the
reaction site (using a fit with atoms that are neither created nor
deleted). The *modify_create* keyword can be used to modify the
default behavior when creating atoms. The *modify_create* keyword has
two sub-keywords, *fit* and *overlap*. One or more of the sub-keywords
may be used after the *modify_create* keyword. The *fit* sub-keyword
can be used to specify which post-reaction atoms are used for the
optimal translation and rotation of the post-reaction template. The
*fragmentID* value of the *fit* sub-keyword must be the name of a
molecule fragment defined in the post-reaction :doc:`molecule
<molecule>` template, and only atoms in this fragment are used for the
fit. Atoms are created only if no current atom in the simulation is
within a distance R of any created atom, including the effect of
periodic boundary conditions if applicable. R is defined by the
*overlap* sub-keyword. Note that the default value for R is 0.0, which
will allow atoms to strongly overlap if you are inserting where other
atoms are present. The velocity of each created atom is initialized in
a random direction with a magnitude calculated from the instantaneous
temperature of the reaction site.
The handedness of atoms that are chiral centers can be enforced by
listing their IDs in the ChiralIDs section. A chiral atom must be
bonded to four atoms with mutually different atom types. This feature
@ -528,15 +571,6 @@ the same molecule ID are considered for the reaction.
A few other considerations:
Many reactions result in one or more atoms that are considered
unwanted by-products. Therefore, bond/react provides the option to
delete a user-specified set of atoms. These pre-reaction atoms are
identified in the map file. A deleted atom must still be included in
the post-reaction molecule template, in which it cannot be bonded to
an atom that is not deleted. In addition to deleting unwanted reaction
by-products, this feature can be used to remove specific topologies,
such as small rings, that may be otherwise indistinguishable.
Optionally, you can enforce additional behaviors on reacting atoms.
For example, it may be beneficial to force reacting atoms to remain at
a certain temperature. For this, you can use the internally-created
@ -610,14 +644,14 @@ Default
"""""""
The option defaults are stabilization = no, prob = 1.0, stabilize_steps = 60,
reset_mol_ids = yes, custom_charges = no, molecule = off
reset_mol_ids = yes, custom_charges = no, molecule = off, modify_create = no
----------
.. _Gissinger:
**(Gissinger)** Gissinger, Jensen and Wise, Polymer, 128, 211-217 (2017).
**(Gissinger2017)** Gissinger, Jensen and Wise, Polymer, 128, 211-217 (2017).
.. _Gissinger2020:
**(Gissinger)** Gissinger, Jensen and Wise, Macromolecules, 53, 22, 9953-9961 (2020).
**(Gissinger2020)** Gissinger, Jensen and Wise, Macromolecules, 53, 22, 9953-9961 (2020).

View File

@ -47,14 +47,15 @@ for running *ab initio* MD with quantum forces.
The group associated with this fix is ignored.
The protocol and :doc:`units <units>` for message format and content
that LAMMPS exchanges with the server code is defined on the :doc:`server md <server_md>` doc page.
that LAMMPS exchanges with the server code is defined on the
:doc:`server md <server_md>` doc page.
Note that when using LAMMPS as an MD client, your LAMMPS input script
should not normally contain force field commands, like a
:doc:`pair_style <pair_style>`, :doc:`bond_style <bond_style>`, or
:doc:`kspace_style <kspace_style>` command. However it is possible for
a server code to only compute a portion of the full force-field, while
LAMMPS computes the remaining part. Your LAMMPS script can also
:doc:`kspace_style <kspace_style>` command. However it is possible
for a server code to only compute a portion of the full force-field,
while LAMMPS computes the remaining part. Your LAMMPS script can also
specify boundary conditions or force constraints in the usual way,
which will be added to the per-atom forces returned by the server
code.
@ -69,16 +70,21 @@ LAMMPS and another code in tandem to perform a coupled simulation.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the potential energy computed by the server application to
the system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the potential energy set by the server application to
the global potential energy of the system as part of
:doc:`thermodynamic output <thermo_style>`. The default setting for
this fix is :doc:`fix_modify energy yes <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by this
fix to add the server application's contribution to the system's
virial as part of :doc:`thermodynamic output <thermo_style>`. The
default is *virial yes*
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
this fix to add the contribution computed by the server application to
the global pressure of the system via the :doc:`compute pressure
<compute_pressure>` command. This can be accessed by
:doc:`thermodynamic output <thermo_style>`. The default setting for
this fix is :doc:`fix_modify virial yes <fix_modify>`.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the potential
@ -86,13 +92,16 @@ energy discussed above. The scalar value calculated by this fix is
"extensive".
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`.
the :doc:`run <run>` command.
This fix is not invoked during :doc:`energy minimization <minimize>`.
Restrictions
""""""""""""
This fix is part of the MESSAGE package. It is only enabled if LAMMPS
was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
A script that uses this command must also use the
:doc:`message <message>` command to setup and shut down the messaging

View File

@ -29,11 +29,12 @@ Description
This command enables CMAP cross-terms to be added to simulations which
use the CHARMM force field. These are relevant for any CHARMM model
of a peptide or protein sequences that is 3 or more amino-acid
residues long; see :ref:`(Buck) <Buck>` and :ref:`(Brooks) <Brooks2>` for details,
including the analytic energy expressions for CMAP interactions. The
CMAP cross-terms add additional potential energy contributions to pairs
of overlapping phi-psi dihedrals of amino-acids, which are important
to properly represent their conformational behavior.
residues long; see :ref:`(Buck) <Buck>` and :ref:`(Brooks) <Brooks2>`
for details, including the analytic energy expressions for CMAP
interactions. The CMAP cross-terms add additional potential energy
contributions to pairs of overlapping phi-psi dihedrals of
amino-acids, which are important to properly represent their
conformational behavior.
The examples/cmap directory has a sample input script and data file
for a small peptide, that illustrates use of the fix cmap command.
@ -93,19 +94,27 @@ the note below about how to include the CMAP energy when performing an
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix writes the list of CMAP cross-terms to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>` command
This fix writes the list of CMAP cross-terms to :doc:`binary restart
files <restart>`. See the :doc:`read_restart <read_restart>` command
for info on how to re-specify a fix in an input script that reads a
restart file, so that the operation of the fix continues in an
uninterrupted fashion.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the potential "energy" of the CMAP interactions system's
potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the potential energy of the CMAP interactions to both
the global potential energy and peratom potential energies of the
system as part of :doc:`thermodynamic output <thermo_style>` or
output by the :doc:`compute pe/atom <compute_pe_atom>` command. The
default setting for this fix is :doc:`fix_modify energy yes
<fix_modify>`.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by this
fix to add the contribution due to the interaction between atoms to
the system's virial as part of :doc:`thermodynamic output <thermo_style>`.
The default is *virial yes*
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
this fix to add the contribution due to the CMAP interactions to both
the global pressure and per-atom stress of the system via the
:doc:`compute pressure <compute_pressure>` and :doc:`compute
stress/atom <compute_stress_atom>` commands. The former can be
accessed by :doc:`thermodynamic output <thermo_style>`. The default
setting for this fix is :doc:`fix_modify virial yes <fix_modify>`.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the potential
@ -121,8 +130,8 @@ invoked by the :doc:`minimize <minimize>` command.
.. note::
If you want the potential energy associated with the CMAP terms
forces to be included in the total potential energy of the system (the
quantity being minimized), you MUST enable the
forces to be included in the total potential energy of the system
(the quantity being minimized), you MUST not disable the
:doc:`fix_modify <fix_modify>` *energy* option for this fix.
Restrictions

View File

@ -35,12 +35,12 @@ Examples
Description
"""""""""""
This fix interfaces LAMMPS to the collective variables "Colvars"
library, which allows to calculate potentials of mean force
(PMFs) for any set of colvars, using different sampling methods:
currently implemented are the Adaptive Biasing Force (ABF) method,
metadynamics, Steered Molecular Dynamics (SMD) and Umbrella Sampling
(US) via a flexible harmonic restraint bias.
This fix interfaces LAMMPS to the collective variables (Colvars)
library, which allows to calculate potentials of mean force (PMFs) for
any set of colvars, using different sampling methods: currently
implemented are the Adaptive Biasing Force (ABF) method, metadynamics,
Steered Molecular Dynamics (SMD) and Umbrella Sampling (US) via a
flexible harmonic restraint bias.
This documentation describes only the fix colvars command itself and
LAMMPS specific parts of the code. The full documentation of the
@ -98,9 +98,11 @@ This fix writes the current status of the colvars module into
mode status file that is written by the colvars module itself and the
kind of information in both files is identical.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change from the biasing force added by the fix
to the system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the energy change from the biasing force added by
Colvars to the global potential energy of the system as part of
:doc:`thermodynamic output <thermo_style>`. The default setting for
this fix is :doc:`fix_modify energy no <fix_modify>`.
The *fix_modify configfile <config file>* option allows to add settings
from an additional config file to the colvars module. This option can
@ -113,15 +115,16 @@ in a pair of double quotes ("), or can span multiple lines when bracketed
by a pair of triple double quotes (""", like python embedded documentation).
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the cumulative
energy change due to this fix. The scalar value calculated by this
fix is "extensive".
:doc:`output commands <Howto_output>`. The scalar is the Colvars
energy mentioned above. The scalar value calculated by this fix is
"extensive".
Restrictions
""""""""""""
This fix is part of the USER-COLVARS package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
There can only be one colvars fix active at a time. Since the interface
communicates only the minimum amount of information and colvars module

View File

@ -100,9 +100,9 @@ minimize the orientation of dipoles in an applied electric field.
The *energy* keyword specifies the name of an atom-style
:doc:`variable <variable>` which is used to compute the energy of each
atom as function of its position. Like variables used for *ex*\ , *ey*\ ,
*ez*\ , the energy variable is specified as v_name, where name is the
variable name.
atom as function of its position. Like variables used for *ex*\ ,
*ey*\ , *ez*\ , the energy variable is specified as v_name, where name
is the variable name.
Note that when the *energy* keyword is used during an energy
minimization, you must insure that the formula defined for the
@ -117,31 +117,38 @@ minimization will not converge properly.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the potential "energy" inferred by the added force due to
the electric field to the system's potential energy as part of
:doc:`thermodynamic output <thermo_style>`. This is a fictitious
quantity but is needed so that the :doc:`minimize <minimize>` command
can include the forces added by this fix in a consistent manner.
I.e. there is a decrease in potential energy when atoms move in the
direction of the added force due to the electric field.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the potential energy inferred by the added force due
to the electric field to the global potential energy of the system as
part of :doc:`thermodynamic output <thermo_style>`. The default
setting for this fix is :doc:`fix_modify energy no <fix_modify>`.
Note that this energy is a fictitious quantity but is needed so that
the :doc:`minimize <minimize>` command can include the forces added by
this fix in a consistent manner. I.e. there is a decrease in
potential energy when atoms move in the direction of the added force
due to the electric field.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by this
fix to add the contribution due to the added forces on atoms to the
system's virial as part of :doc:`thermodynamic output <thermo_style>`.
The default is *virial no*
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
this fix to add the contribution due to the added forces on atoms to
both the global pressure and per-atom stress of the system via the
:doc:`compute pressure <compute_pressure>` and :doc:`compute
stress/atom <compute_stress_atom>` commands. The former can be
accessed by :doc:`thermodynamic output <thermo_style>`. The default
setting for this fix is :doc:`fix_modify virial no <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by this
fix. This allows to set at which level of the :doc:`r-RESPA <run_style>`
integrator the fix adding its forces. Default is the outermost level.
fix. This allows to set at which level of the :doc:`r-RESPA
<run_style>` integrator the fix adding its forces. Default is the
outermost level.
This fix computes a global scalar and a global 3-vector of forces,
which can be accessed by various :doc:`output commands <Howto_output>`.
The scalar is the potential energy discussed above. The vector is the
total force added to the group of atoms. The scalar and vector values
calculated by this fix are "extensive".
which can be accessed by various :doc:`output commands
<Howto_output>`. The scalar is the potential energy discussed above.
The vector is the total force added to the group of atoms. The scalar
and vector values calculated by this fix are "extensive".
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command.

View File

@ -84,7 +84,8 @@ code `Quest <quest_>`_.
If mode is *pf/array* then the fix simply stores force values in an
array. The fix adds these forces to each atom in the group, once
every *Napply* steps, similar to the way the :doc:`fix addforce <fix_addforce>` command works.
every *Napply* steps, similar to the way the :doc:`fix addforce
<fix_addforce>` command works.
The name of the public force array provided by the FixExternal
class is
@ -150,19 +151,27 @@ of properties that the caller code may want to communicate to LAMMPS
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the potential "energy" set by the external driver to the
system's potential energy as part of :doc:`thermodynamic output <thermo_style>`. This is a fictitious quantity but is
needed so that the :doc:`minimize <minimize>` command can include the
forces added by this fix in a consistent manner. I.e. there is a
decrease in potential energy when atoms move in the direction of the
added force.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the potential energy set by the external driver to
both the global potential energy and peratom potential energies of the
system as part of :doc:`thermodynamic output <thermo_style>` or output
by the :doc:`compute pe/atom <compute_pe_atom>` command. The default
setting for this fix is :doc:`fix_modify energy yes <fix_modify>`.
Note that this energy may be a fictitious quantity but it is needed so
that the :doc:`minimize <minimize>` command can include the forces
added by this fix in a consistent manner. I.e. there is a decrease in
potential energy when atoms move in the direction of the added force.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by this
fix to add the contribution due to the interactions computed by the
external program to the system's virial as part of :doc:`thermodynamic output <thermo_style>`. The default is *virial yes*
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
this fix to add the contribution computed by the external program to
both the global pressure and per-atom stress of the system via the
:doc:`compute pressure <compute_pressure>` and :doc:`compute
stress/atom <compute_stress_atom>` commands. The former can be
accessed by :doc:`thermodynamic output <thermo_style>`. The default
setting for this fix is :doc:`fix_modify virial yes <fix_modify>`.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the potential
@ -178,7 +187,7 @@ invoked by the :doc:`minimize <minimize>` command.
If you want the fictitious potential energy associated with the
added forces to be included in the total potential energy of the
system (the quantity being minimized), you MUST enable the
system (the quantity being minimized), you MUST not disable the
:doc:`fix_modify <fix_modify>` *energy* option for this fix.
Restrictions

View File

@ -76,28 +76,31 @@ Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
The instantaneous values of the extended variables are written to
:doc:`binary restart files <restart>`. Because the state of the random
number generator is not saved in restart files, this means you cannot
do "exact" restarts with this fix, where the simulation continues on
the same as if no restart had taken place. However, in a statistical
sense, a restarted simulation should produce the same behavior.
Note however that you should use a different seed each time you
restart, otherwise the same sequence of random numbers will be used
each time, which might lead to stochastic synchronization and
:doc:`binary restart files <restart>`. Because the state of the
random number generator is not saved in restart files, this means you
cannot do "exact" restarts with this fix, where the simulation
continues on the same as if no restart had taken place. However, in a
statistical sense, a restarted simulation should produce the same
behavior. Note however that you should use a different seed each time
you restart, otherwise the same sequence of random numbers will be
used each time, which might lead to stochastic synchronization and
subtle artifacts in the sampling.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
This fix can ramp its target temperature over multiple runs, using the
*start* and *stop* keywords of the :doc:`run <run>` command. See the
:doc:`run <run>` command for details of how to do this.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Langevin thermostatting to the
system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the cumulative
energy change due to this fix. The scalar value calculated by this
fix is "extensive".
This fix is not invoked during :doc:`energy minimization <minimize>`.
Restrictions
""""""""""""

View File

@ -55,17 +55,22 @@ momentum.
GD applies an external fluctuating gravitational field that acts as a
driving force to keep the system away from equilibrium. To maintain
steady state, a profile-unbiased thermostat must be implemented to
dissipate the heat that is added by the driving force. :doc:`Compute temp/profile <compute_temp_profile>` can be used to implement a
dissipate the heat that is added by the driving force. :doc:`Compute
temp/profile <compute_temp_profile>` can be used to implement a
profile-unbiased thermostat.
A common use of this fix is to compute a pressure drop across a pipe,
pore, or membrane. The pressure profile can be computed in LAMMPS with
:doc:`compute stress/atom <compute_stress_atom>` and :doc:`fix ave/chunk <fix_ave_chunk>`, or with the hardy method in :doc:`fix atc <fix_atc>`. Note that the simple :doc:`compute stress/atom <compute_stress_atom>` method is only accurate away
from inhomogeneities in the fluid, such as fixed wall atoms. Further,
the computed pressure profile must be corrected for the acceleration
:doc:`compute stress/atom <compute_stress_atom>` and :doc:`fix
ave/chunk <fix_ave_chunk>`, or with the hardy method in :doc:`fix atc
<fix_atc>`. Note that the simple :doc:`compute stress/atom
<compute_stress_atom>` method is only accurate away from
inhomogeneities in the fluid, such as fixed wall atoms. Further, the
computed pressure profile must be corrected for the acceleration
applied by GD before computing a pressure drop or comparing it to
other methods, such as the pump method :ref:`(Zhu) <Zhu>`. The pressure
correction is discussed and described in :ref:`(Strong) <Strong>`.
other methods, such as the pump method :ref:`(Zhu) <Zhu>`. The
pressure correction is discussed and described in :ref:`(Strong)
<Strong>`.
For a complete example including the considerations discussed
above, see the examples/USER/flow_gauss directory.
@ -102,14 +107,15 @@ computed by the fix will return zero.
of wall atoms fixed, such as :doc:`fix spring/self <fix_spring_self>`.
If this fix is used in a simulation with the :doc:`rRESPA <run_style>`
integrator, the applied acceleration must be computed and applied at the same
rRESPA level as the interactions between the flowing fluid and the obstacle.
The rRESPA level at which the acceleration is applied can be changed using
the :doc:`fix_modify <fix_modify>` *respa* option discussed below. If the
flowing fluid and the obstacle interact through multiple interactions that are
computed at different rRESPA levels, then there must be a separate flow/gauss
fix for each level. For example, if the flowing fluid and obstacle interact
through pairwise and long-range Coulomb interactions, which are computed at
integrator, the applied acceleration must be computed and applied at
the same rRESPA level as the interactions between the flowing fluid
and the obstacle. The rRESPA level at which the acceleration is
applied can be changed using the :doc:`fix_modify <fix_modify>`
*respa* option discussed below. If the flowing fluid and the obstacle
interact through multiple interactions that are computed at different
rRESPA levels, then there must be a separate flow/gauss fix for each
level. For example, if the flowing fluid and obstacle interact through
pairwise and long-range Coulomb interactions, which are computed at
rRESPA levels 3 and 4, respectively, then there must be two separate
flow/gauss fixes, one that specifies *fix_modify respa 3* and one with
*fix_modify respa 4*.
@ -119,38 +125,49 @@ flow/gauss fixes, one that specifies *fix_modify respa 3* and one with
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix is part of the USER-MISC package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
No information about this fix is written to :doc:`binary restart files
<restart>`.
No information about this fix is written to :doc:`binary restart files <restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to subtract the work done from the
system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the potential energy added by the fix to the global
potential energy of the system as part of :doc:`thermodynamic output
<thermo_style>`. The default setting for this fix is :doc:`fix_modify
energy no <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by this
fix. This allows the user to set at which level of the :doc:`rRESPA <run_style>`
integrator the fix computes and adds the external acceleration. Default is the
outermost level.
fix. This allows the user to set at which level of the :doc:`rRESPA
<run_style>` integrator the fix computes and adds the external
acceleration. Default is the outermost level.
This fix computes a global scalar and a global 3-vector of forces,
which can be accessed by various :doc:`output commands <Howto_output>`.
The scalar is the negative of the work done on the system, see above
discussion. The vector is the total force that this fix applied to
the group of atoms on the current timestep. The scalar and vector
values calculated by this fix are "extensive".
which can be accessed by various :doc:`output commands
<Howto_output>`. The scalar is the negative of the work done on the
system, see the discussion above. It is only calculated if the
*energy* keyword is enabled or :doc:`fix_modify energy yes
<fix_modify>` is set.
The vector is the total force that this fix applied to the group of
atoms on the current timestep. The scalar and vector values
calculated by this fix are "extensive".
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command.
This fix is not invoked during :doc:`energy minimization <minimize>`.
Restrictions
""""""""""""
none
This fix is part of the USER-MISC package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
Related commands
""""""""""""""""
:doc:`fix addforce <fix_addforce>`, :doc:`compute temp/profile <compute_temp_profile>`, :doc:`velocity <velocity>`
:doc:`fix addforce <fix_addforce>`,
:doc:`compute temp/profile <compute_temp_profile>`,
:doc:`velocity <velocity>`
Default
"""""""

View File

@ -398,12 +398,13 @@ adds all inserted atoms of the specified type to the
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix writes the state of the fix to :doc:`binary restart files <restart>`. This includes information about the random
number generator seed, the next timestep for MC exchanges, the number
of MC step attempts and successes etc. See
the :doc:`read_restart <read_restart>` command for info on how to
re-specify a fix in an input script that reads a restart file, so that
the operation of the fix continues in an uninterrupted fashion.
This fix writes the state of the fix to :doc:`binary restart files
<restart>`. This includes information about the random number
generator seed, the next timestep for MC exchanges, the number of MC
step attempts and successes etc. See the :doc:`read_restart
<read_restart>` command for info on how to re-specify a fix in an
input script that reads a restart file, so that the operation of the
fix continues in an uninterrupted fashion.
.. note::
@ -411,8 +412,8 @@ the operation of the fix continues in an uninterrupted fashion.
after reading the restart with :doc:`reset_timestep <reset_timestep>`.
The fix will try to detect it and stop with an error.
None of the :doc:`fix_modify <fix_modify>` options are relevant to this
fix.
None of the :doc:`fix_modify <fix_modify>` options are relevant to
this fix.
This fix computes a global vector of length 8, which can be accessed
by various :doc:`output commands <Howto_output>`. The vector values are
@ -430,7 +431,8 @@ the following global cumulative quantities:
The vector values calculated by this fix are "extensive".
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`.
the :doc:`run <run>` command. This fix is not invoked during
:doc:`energy minimization <minimize>`.
Restrictions
""""""""""""

View File

@ -103,28 +103,31 @@ Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
The instantaneous values of the extended variables are written to
:doc:`binary restart files <restart>`. Because the state of the random
number generator is not saved in restart files, this means you cannot
do "exact" restarts with this fix, where the simulation continues on
the same as if no restart had taken place. However, in a statistical
sense, a restarted simulation should produce the same behavior.
Note however that you should use a different seed each time you
restart, otherwise the same sequence of random numbers will be used
each time, which might lead to stochastic synchronization and
:doc:`binary restart files <restart>`. Because the state of the
random number generator is not saved in restart files, this means you
cannot do "exact" restarts with this fix, where the simulation
continues on the same as if no restart had taken place. However, in a
statistical sense, a restarted simulation should produce the same
behavior. Note however that you should use a different seed each time
you restart, otherwise the same sequence of random numbers will be
used each time, which might lead to stochastic synchronization and
subtle artifacts in the sampling.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
This fix can ramp its target temperature over multiple runs, using the
*start* and *stop* keywords of the :doc:`run <run>` command. See the
:doc:`run <run>` command for details of how to do this.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Langevin thermostatting to the
system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the cumulative
energy change due to this fix. The scalar value calculated by this
fix is "extensive".
This fix is not invoked during :doc:`energy minimization <minimize>`.
Restrictions
""""""""""""

View File

@ -103,23 +103,27 @@ Restart, fix_modify, output, run start/stop, minimize info
No information about this fix is written to :doc:`binary restart files <restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the gravitational potential energy of the system to the
system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the gravitational potential energy of the system to
the global potential energy of the system as part of
:doc:`thermodynamic output <thermo_style>`. The default setting for
this fix is :doc:`fix_modify energy no <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by this
fix. This allows to set at which level of the :doc:`r-RESPA <run_style>`
integrator the fix is adding its forces. Default is the outermost level.
fix. This allows to set at which level of the :doc:`r-RESPA
<run_style>` integrator the fix is adding its forces. Default is the
outermost level.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. This scalar is the gravitational
potential energy of the particles in the defined field, namely mass \*
(g dot x) for each particles, where x and mass are the particles
position and mass, and g is the gravitational field. The scalar value
calculated by this fix is "extensive".
:doc:`output commands <Howto_output>`. This scalar is the
gravitational potential energy of the particles in the defined field,
namely mass \* (g dot x) for each particles, where x and mass are the
particles position and mass, and g is the gravitational field. The
scalar value calculated by this fix is "extensive".
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`.
the :doc:`run <run>` command. This fix is not invoked during
:doc:`energy minimization <minimize>`.
Restrictions
""""""""""""

View File

@ -200,16 +200,20 @@ algorithm.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy of the bias potential to the system's
potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the energy of the bias potential to the global
potential energy of the system as part of :doc:`thermodynamic output
<thermo_style>`. The default setting for this fix is :doc:`fix_modify
energy no <fix_modify>`.
This fix computes a global scalar and global vector of length 12, which
can be accessed by various :doc:`output commands <Howto_output>`. The
scalar is the magnitude of the bias potential (energy units) applied on
the current timestep. The vector stores the following quantities:
This fix computes a global scalar and global vector of length 12,
which can be accessed by various :doc:`output commands
<Howto_output>`. The scalar is the magnitude of the bias potential
(energy units) applied on the current timestep. The vector stores the
following quantities:
* 1 = boost factor on this step (unitless)
* 2 = max strain :math:`E_{ij}` of any bond on this step (absolute value, unitless)
@ -253,7 +257,8 @@ The scalar and vector values calculated by this fix are all
"intensive".
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`.
the :doc:`run <run>` command. This fix is not invoked during
:doc:`energy minimization <minimize>`.
Restrictions
""""""""""""

View File

@ -370,15 +370,17 @@ Restart, fix_modify, output, run start/stop, minimize info
No information about this fix is written to :doc:`binary restart files <restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy of the bias potential to the system's potential
energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the energy of the bias potential to the global
potential energy of the system as part of :doc:`thermodynamic output
<thermo_style>`. The default setting for this fix is :doc:`fix_modify
energy no <fix_modify>`.
This fix computes a global scalar and global vector of length 28,
which can be accessed by various :doc:`output commands <Howto_output>`.
The scalar is the magnitude of the bias potential (energy units)
applied on the current timestep, summed over all biased bonds. The
vector stores the following quantities:
which can be accessed by various :doc:`output commands
<Howto_output>`. The scalar is the magnitude of the bias potential
(energy units) applied on the current timestep, summed over all biased
bonds. The vector stores the following quantities:
* 1 = average boost for all bonds on this step (unitless)
* 2 = # of biased bonds on this step
@ -510,8 +512,8 @@ Value 27 computes the average boost for biased bonds only on this step.
Value 28 is the count of bonds with an absolute value of strain >= q
on this step.
The scalar and vector values calculated by this fix are all
"intensive".
The scalar value is an "extensive" quantity since it grows with the
system size; the vector values are all "intensive".
This fix also computes a local vector of length the number of bonds
currently in the system. The value for each bond is its :math:`C_{ij}`
@ -524,7 +526,8 @@ close to 1.0, which indicates a good choice of :math:`V^{max}`.
The local values calculated by this fix are unitless.
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`.
the :doc:`run <run>` command. This fix is not invoked during
:doc:`energy minimization <minimize>`.
Restrictions
""""""""""""

View File

@ -179,20 +179,25 @@ contains *xlat*\ , *ylat*\ , *zlat* keywords of the
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy of interaction between atoms and the indenter to
the system's potential energy as part of :doc:`thermodynamic output <thermo_style>`. The energy of each particle interacting
with the indenter is K/3 (r - R)\^3.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the energy of interaction between atoms and the
indenter to the global potential energy of the system as part of
:doc:`thermodynamic output <thermo_style>`. The default setting for
this fix is :doc:`fix_modify energy no <fix_modify>`. The energy of
each particle interacting with the indenter is K/3 (r - R)\^3.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by this
fix. This allows to set at which level of the :doc:`r-RESPA <run_style>`
integrator the fix is adding its forces. Default is the outermost level.
fix. This allows to set at which level of the :doc:`r-RESPA
<run_style>` integrator the fix is adding its forces. Default is the
outermost level.
This fix computes a global scalar energy and a global 3-vector of
forces (on the indenter), which can be accessed by various :doc:`output commands <Howto_output>`. The scalar and vector values calculated
by this fix are "extensive".
forces (on the indenter), which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar and vector values
calculated by this fix are "extensive".
The forces due to this fix are imposed during an energy minimization,
invoked by the :doc:`minimize <minimize>` command. Note that if you
@ -204,10 +209,10 @@ check if you have done this.
.. note::
If you want the atom/indenter interaction energy to be included
in the total potential energy of the system (the quantity being
minimized), you must enable the :doc:`fix_modify <fix_modify>` *energy*
option for this fix.
If you want the atom/indenter interaction energy to be included in
the total potential energy of the system (the quantity being
minimized), you must enable the :doc:`fix_modify <fix_modify>`
*energy* option for this fix.
Restrictions
""""""""""""

View File

@ -230,7 +230,7 @@ conservation.
.. note::
this accumulated energy does NOT include kinetic energy removed
This accumulated energy does NOT include kinetic energy removed
by the *zero* flag. LAMMPS will print a warning when both options are
active.
@ -244,7 +244,8 @@ to zero by subtracting off an equal part of it from each atom in the
group. As a result, the center-of-mass of a system with zero initial
momentum will not drift over time.
The keyword *gjf* can be used to run the :ref:`Gronbech-Jensen/Farago <Gronbech-Jensen>` time-discretization of the Langevin model. As
The keyword *gjf* can be used to run the :ref:`Gronbech-Jensen/Farago
<Gronbech-Jensen>` time-discretization of the Langevin model. As
described in the papers cited below, the purpose of this method is to
enable longer timesteps to be used (up to the numerical stability
limit of the integrator), while still producing the correct Boltzmann
@ -252,19 +253,20 @@ distribution of atom positions.
The current implementation provides the user with the option to output
the velocity in one of two forms: *vfull* or *vhalf*\ , which replaces
the outdated option *yes*\ . The *gjf* option *vfull* outputs the on-site
velocity given in :ref:`Gronbech-Jensen/Farago <Gronbech-Jensen>`; this velocity
is shown to be systematically lower than the target temperature by a small
amount, which grows quadratically with the timestep.
The *gjf* option *vhalf* outputs the 2GJ half-step velocity given in
:ref:`Gronbech Jensen/Gronbech-Jensen <2Gronbech-Jensen>`; for linear systems,
this velocity is shown to not have any statistical errors for any stable time step.
An overview of statistically correct Boltzmann and Maxwell-Boltzmann
sampling of true on-site and true half-step velocities is given in
:ref:`Gronbech-Jensen <1Gronbech-Jensen>`.
Regardless of the choice of output velocity, the sampling of the configurational
distribution of atom positions is the same, and linearly consistent with the
target temperature.
the outdated option *yes*\ . The *gjf* option *vfull* outputs the
on-site velocity given in :ref:`Gronbech-Jensen/Farago
<Gronbech-Jensen>`; this velocity is shown to be systematically lower
than the target temperature by a small amount, which grows
quadratically with the timestep. The *gjf* option *vhalf* outputs the
2GJ half-step velocity given in :ref:`Gronbech Jensen/Gronbech-Jensen
<2Gronbech-Jensen>`; for linear systems, this velocity is shown to not
have any statistical errors for any stable time step. An overview of
statistically correct Boltzmann and Maxwell-Boltzmann sampling of true
on-site and true half-step velocities is given in
:ref:`Gronbech-Jensen <1Gronbech-Jensen>`. Regardless of the choice
of output velocity, the sampling of the configurational distribution
of atom positions is the same, and linearly consistent with the target
temperature.
----------
@ -287,16 +289,18 @@ you have defined to this fix which will be used in its thermostatting
procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Langevin thermostatting to the
system's potential energy as part of :doc:`thermodynamic output <thermo_style>`. Note that use of this option requires
setting the *tally* keyword to *yes*\ .
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*\ , but only if the *tally* keyword to set to
*yes*\ . See the :doc:`thermo_style <thermo_style>` doc page for
details.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the cumulative
energy change due to this fix. The scalar value calculated by this
fix is "extensive". Note that calculation of this quantity requires
setting the *tally* keyword to *yes*\ .
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
Note that calculation of this quantity also requires setting the
*tally* keyword to *yes*\ .
This fix can ramp its target temperature over multiple runs, using the
*start* and *stop* keywords of the :doc:`run <run>` command. See the

View File

@ -81,16 +81,18 @@ you have defined to this fix which will be used in its thermostatting
procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Langevin thermostatting to the
system's potential energy as part of :doc:`thermodynamic output <thermo_style>`. Note that use of this option requires
setting the *tally* keyword to *yes*\ .
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*\ , but only if the *tally* keyword to set to
*yes*\ . See the :doc:`thermo_style <thermo_style>` doc page for
details.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the cumulative
energy change due to this fix. The scalar value calculated by this
fix is "extensive". Note that calculation of this quantity requires
setting the *tally* keyword to *yes*\ .
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
Note that calculation of this quantity also requires setting the
*tally* keyword to *yes*\ .
This fix can ramp its target temperature over multiple runs, using the
*start* and *stop* keywords of the :doc:`run <run>` command. See the

View File

@ -107,16 +107,27 @@ larger system sizes and longer time scales
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the potential energy computed by LATTE to the system's
potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the potential energy computed by LATTE to the global
potential energy of the system as part of :doc:`thermodynamic output
<thermo_style>`. The default setting for this fix is :doc:`fix_modify
energy yes <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by this
fix to add the LATTE DFTB contribution to the system's virial as part
of :doc:`thermodynamic output <thermo_style>`. The default is *virial
yes*
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
this fix to add the contribution compute by LATTE to the global
pressure of the system via the :doc:`compute pressure
<compute_pressure>` command. This can be accessed by
:doc:`thermodynamic output <thermo_style>`. The default setting for
this fix is :doc:`fix_modify virial yes <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
this fix to add the contribution computed by LATTE to the global
pressure of the system as part of :doc:`thermodynamic output
<thermo_style>`. The default setting for this fix is :doc:`fix_modify
virial yes <fix_modify>`.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the potential
@ -127,20 +138,22 @@ No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command.
The DFTB forces computed by LATTE via this fix are imposed during an
energy minimization, invoked by the :doc:`minimize <minimize>` command.
energy minimization, invoked by the :doc:`minimize <minimize>`
command.
.. note::
If you want the potential energy associated with the DFTB
forces to be included in the total potential energy of the system (the
quantity being minimized), you MUST enable the
quantity being minimized), you MUST not disable the
:doc:`fix_modify <fix_modify>` *energy* option for this fix.
Restrictions
""""""""""""
This fix is part of the LATTE package. It is only enabled if LAMMPS
was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
You must use metal units, as set by the :doc:`units <units>` command to
use this fix.

View File

@ -50,7 +50,8 @@ This fix is based on the :doc:`fix rigid <fix_rigid>` command, and was
created to be used in place of that fix, to integrate the equations of
motion of spherical rigid bodies when a lattice-Boltzmann fluid is
present with a user-specified value of the force-coupling constant.
The fix uses the integration algorithm described in :ref:`Mackay et al. <Mackay>` to update the positions, velocities, and orientations of
The fix uses the integration algorithm described in :ref:`Mackay et
al. <Mackay>` to update the positions, velocities, and orientations of
a set of spherical rigid bodies experiencing velocity dependent
hydrodynamic forces. The spherical bodies are assumed to rotate as
solid, uniform density spheres, with moments of inertia calculated
@ -88,9 +89,18 @@ Restart, fix_modify, output, run start/stop, minimize info
No information about the *rigid* and *rigid/nve* fixes are written to
:doc:`binary restart files <restart>`.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
this fix to add the contribution due to the added forces on atoms to
both the global pressure and per-atom stress of the system via the
:doc:`compute pressure <compute_pressure>` and :doc:`compute
stress/atom <compute_stress_atom>` commands. The former can be
accessed by :doc:`thermodynamic output <thermo_style>`. The default
setting for this fix is :doc:`fix_modify virial yes <fix_modify>`.
Similar to the :doc:`fix rigid <fix_rigid>` command: The rigid fix
computes a global scalar which can be accessed by various :doc:`output commands <Howto_output>`. The scalar value calculated by these
fixes is "intensive". The scalar is the current temperature of the
computes a global scalar which can be accessed by various :doc:`output
commands <Howto_output>`. The scalar value calculated by these fixes
is "intensive". The scalar is the current temperature of the
collection of rigid bodies. This is averaged over all rigid bodies
and their translational and rotational degrees of freedom. The
translational energy of a rigid body is 1/2 m v\^2, where m = total
@ -130,7 +140,8 @@ Restrictions
""""""""""""
This fix is part of the USER-LB package. It is only enabled if LAMMPS
was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
Can only be used if a lattice-Boltzmann fluid has been created via the
:doc:`fix lb/fluid <fix_lb_fluid>` command, and must come after this

View File

@ -59,43 +59,58 @@ define their own compute by default, as described in their
documentation. Thus this option allows the user to override the
default method for computing P.
The *energy* keyword can be used with fixes that support it.
*energy yes* adds a contribution to the potential energy of the
system. The fix's global and per-atom
energy is included in the calculation performed by the :doc:`compute pe <compute_pe>` or :doc:`compute pe/atom <compute_pe_atom>`
commands. See the :doc:`thermo_style <thermo_style>` command for info
on how potential energy is output. For fixes that tally a global
energy, it can be printed by using the keyword f_ID in the
thermo_style custom command, where ID is the fix-ID of the appropriate
fix.
The *energy* keyword can be used with fixes that support it, which is
explained at the bottom of their doc page. *Energy yes* will add a
contribution to the potential energy of the system. More
specifically, the fix's global or per-atom energy is included in the
calculation performed by the :doc:`compute pe <compute_pe>` or
:doc:`compute pe/atom <compute_pe_atom>` commands. The former is what
is used the :doc:`thermo_style <thermo_style>` command for output of
any quantity that includes the global potential energy of the system.
Note that the :doc:`compute pe <compute_pe>` and :doc:`compute pe/atom
<compute_pe_atom>` commands also have an option to include or exclude
the contribution from fixes. For fixes that tally a global energy, it
can also be printed with thermodynamic output by using the keyword
f_ID in the thermo_style custom command, where ID is the fix-ID of the
appropriate fix.
.. note::
You must also specify the *energy yes* setting for a fix if you
are using it when performing an :doc:`energy minimization <minimize>`
and if you want the energy and forces it produces to be part of the
optimization criteria.
The *virial* keyword can be used with fixes that support it.
*virial yes* adds a contribution to the virial of the
system. The fix's global and per-atom
virial is included in the calculation performed by the :doc:`compute pressure <compute_pressure>` or
:doc:`compute stress/atom <compute_stress_atom>`
commands. See the :doc:`thermo_style <thermo_style>` command for info
on how pressure is output.
If you are performing an :doc:`energy minimization <minimize>` with
one of these fixes and want the energy and forces it produces to be
part of the optimization criteria, you must specify the *energy
yes* setting.
.. note::
You must specify the *virial yes* setting for a fix if you
are doing :doc:`box relaxation <fix_box_relax>` and
if you want virial contribution of the fix to be part of the
relaxation criteria, although this seems unlikely.
For most fixes that support the *energy* keyword, the default
setting is *no*. For a few it is *yes*, when a user would expect
that to be the case. The doc page of each fix gives the default.
The *virial* keyword can be used with fixes that support it, which is
explained at the bottom of their doc page. *Virial yes* will add a
contribution to the virial of the system. More specifically, the
fix's global or per-atom virial is included in the calculation
performed by the :doc:`compute pressure <compute_pressure>` or
:doc:`compute stress/atom <compute_stress_atom>` commands. The former
is what is used the :doc:`thermo_style <thermo_style>` command for
output of any quantity that includes the global pressure of the
system. Note that the :doc:`compute pressure <compute_pressure>` and
:doc:`compute stress/atom <compute_stress_atom>` commands also have an
option to include or exclude the contribution from fixes.
.. note::
This option is only supported by fixes that explicitly say
so. For some of these (e.g. the :doc:`fix shake <fix_shake>` command)
the default setting is *virial yes*\ , for others it is *virial no*\ .
If you are performing an :doc:`energy minimization <minimize>` with
:doc:`box relaxation <fix_box_relax>` and one of these fixes and
want the virial contribution of the fix to be part of the
optimization criteria, you must specify the *virial yes* setting.
.. note::
For most fixes that support the *virial* keyword, the default
setting is *no*. For a few it is *yes*, when a user would expect
that to be the case. The doc page of each fix gives the default.
For fixes that set or modify forces, it may be possible to select at
which :doc:`r-RESPA <run_style>` level the fix operates via the *respa*
@ -112,13 +127,15 @@ The *dynamic/dof* keyword determines whether the number of atoms N in
the fix group and their associated degrees of freedom are re-computed
each time a temperature is computed. Only fix styles that calculate
their own internal temperature use this option. Currently this is
only the :doc:`fix rigid/nvt/small <fix_rigid>` and :doc:`fix rigid/npt/small <fix_rigid>` commands for the purpose of
only the :doc:`fix rigid/nvt/small <fix_rigid>` and :doc:`fix
rigid/npt/small <fix_rigid>` commands for the purpose of
thermostatting rigid body translation and rotation. By default, N and
their DOF are assumed to be constant. If you are adding atoms or
molecules to the system (see the :doc:`fix pour <fix_pour>`, :doc:`fix deposit <fix_deposit>`, and :doc:`fix gcmc <fix_gcmc>` commands) or
molecules to the system (see the :doc:`fix pour <fix_pour>`, :doc:`fix
deposit <fix_deposit>`, and :doc:`fix gcmc <fix_gcmc>` commands) or
expect atoms or molecules to be lost (e.g. due to exiting the
simulation box or via :doc:`fix evaporate <fix_evaporate>`), then
this option should be used to insure the temperature is correctly
simulation box or via :doc:`fix evaporate <fix_evaporate>`), then this
option should be used to insure the temperature is correctly
normalized.
.. note::

View File

@ -131,20 +131,29 @@ command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
The progress of the MSST can be monitored by printing the global
scalar and global vector quantities computed by the fix.
The scalar is the cumulative energy change due to the fix. This is
also the energy added to the potential energy by the
:doc:`fix_modify <fix_modify>` *energy* command. With this command, the
thermo keyword *etotal* prints the conserved quantity of the MSST
dynamic equations. This can be used to test if the MD timestep is
sufficiently small for accurate integration of the dynamic
equations. See also :doc:`thermo_style <thermo_style>` command.
As mentioned above, the scalar is the cumulative energy change due to
the fix. By monitoring the thermodynamic *econserve* output, this can
be used to test if the MD timestep is sufficiently small for accurate
integration of the dynamic equations.
The global vector contains four values in this order:
The global vector contains four values in the following order. The
vector values output by this fix are "intensive".
[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian_speed*, *lagrangian_position*]
[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian_speed*,
*lagrangian_position*]
1. *dhugoniot* is the departure from the Hugoniot (temperature units).
2. *drayleigh* is the departure from the Rayleigh line (pressure units).
@ -157,17 +166,11 @@ headers, the following LAMMPS commands are suggested:
.. code-block:: LAMMPS
fix msst all msst z
fix_modify msst energy yes
variable dhug equal f_msst[1]
variable dray equal f_msst[2]
variable lgr_vel equal f_msst[3]
variable lgr_pos equal f_msst[4]
thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos f_msst
These fixes compute a global scalar and a global vector of 4
quantities, which can be accessed by various :doc:`output commands
<Howto_output>`. The scalar values calculated by this fix are
"extensive"; the vector values are "intensive".
thermo_style custom step temp ke pe lz pzz econserve v_dhug v_dray v_lgr_vel v_lgr_pos f_msst
Restrictions
""""""""""""

View File

@ -594,17 +594,20 @@ compute temperature on a subset of atoms.
specified by the *press* keyword will be unaffected by the *temp*
setting.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by these
fixes to add the energy change induced by Nose/Hoover thermostatting
and barostatting to the system's potential energy as part of
:doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by these fixes, via
either thermostatting and/or barostatting, is included in the
:doc:`thermodynamic output <thermo_style>` keywords *ecouple* and
*econserve*. See the :doc:`thermo_style <thermo_style>` doc page for
details.
These fixes compute a global scalar and a global vector of quantities,
which can be accessed by various :doc:`output commands <Howto_output>`.
The scalar value calculated by these fixes is "extensive"; the vector
values are "intensive".
These fixes compute a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
The scalar is the cumulative energy change due to the fix.
These fixes compute also compute a global vector of quantities, which
can be accessed by various :doc:`output commands <Howto_output>`. The
vector values are "intensive".
The vector stores internal Nose/Hoover thermostat and barostat
variables. The number and meaning of the vector values depends on

View File

@ -87,7 +87,8 @@ It also means that changing attributes of *thermo_temp* or
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>`
This fix writes the state of the Nose/Hoover barostat to :doc:`binary
restart files <restart>`. See the :doc:`read_restart <read_restart>`
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
@ -101,9 +102,10 @@ consistent with the virial term computed using all atoms for the
pressure. LAMMPS will warn you if you choose to compute temperature
on a subset of atoms.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Nose/Hoover barostatting to
the system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes the same global scalar and global vector of
quantities as does the :doc:`fix nph <fix_nh>` command.

View File

@ -84,7 +84,8 @@ It also means that changing attributes of *thermo_temp* or
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>`
This fix writes the state of the Nose/Hoover barostat to :doc:`binary
restart files <restart>`. See the :doc:`read_restart <read_restart>`
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
@ -98,9 +99,10 @@ consistent with the virial term computed using all atoms for the
pressure. LAMMPS will warn you if you choose to compute temperature
on a subset of atoms.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Nose/Hoover barostatting to
the system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes the same global scalar and global vector of
quantities as does the :doc:`fix nph <fix_nh>` command.

View File

@ -100,7 +100,8 @@ It also means that changing attributes of *thermo_temp* or
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix writes the state of the Nose/Hoover barostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>`
This fix writes the state of the Nose/Hoover barostat to :doc:`binary
restart files <restart>`. See the :doc:`read_restart <read_restart>`
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
@ -114,9 +115,10 @@ consistent with the virial term computed using all atoms for the
pressure. LAMMPS will warn you if you choose to compute temperature
on a subset of atoms.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Nose/Hoover barostatting to
the system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes the same global scalar and global vector of
quantities as does the :doc:`fix nph <fix_nh>` command.

View File

@ -168,43 +168,47 @@ specified, then the instantaneous value in the system at the start of
the simulation is used.
The :doc:`fix_modify <fix_modify>` *temp* and *press* options are
supported by these fixes. You can use them to assign a
:doc:`compute <compute>` you have defined to this fix which will be used
in its thermostatting or barostatting procedure, as described above.
If you do this, note that the kinetic energy derived from the compute
supported by this fix. You can use them to assign a :doc:`compute
<compute>` you have defined to this fix which will be used in its
thermostatting or barostatting procedure, as described above. If you
do this, note that the kinetic energy derived from the compute
temperature should be consistent with the virial term computed using
all atoms for the pressure. LAMMPS will warn you if you choose to
compute temperature on a subset of atoms.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by these
fixes to add the energy change induced by Nose/Hoover thermostatting
and barostatting to the system's potential energy as part of
:doc:`thermodynamic output <thermo_style>`. Either way, this energy is \*not\*
included in the definition of internal energy E when calculating the value
of Delta in the above equation.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details. Note that this energy is \*not\* included in
the definition of internal energy E when calculating the value of
Delta in the above equation.
These fixes compute a global scalar and a global vector of quantities,
which can be accessed by various :doc:`output commands <Howto_output>`.
The scalar value calculated by these fixes is "extensive"; the vector
values are "intensive".
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
The scalar is the cumulative energy change due to the fix.
This fix also computes a global vector of quantities, which can be
accessed by various :doc:`output commands <Howto_output>`. The scalar
The vector values are "intensive".
The vector stores three quantities unique to this fix (:math:`\Delta`, Us, and up),
followed by all the internal Nose/Hoover thermostat and barostat
variables defined for :doc:`fix npt <fix_nh>`. Delta is the deviation
of the temperature from the target temperature, given by the above equation.
Us and up are the shock and particle velocity corresponding to a steady
shock calculated from the RH conditions. They have units of distance/time.
The vector stores three quantities unique to this fix (:math:`\Delta`,
Us, and up), followed by all the internal Nose/Hoover thermostat and
barostat variables defined for :doc:`fix npt <fix_nh>`. Delta is the
deviation of the temperature from the target temperature, given by the
above equation. Us and up are the shock and particle velocity
corresponding to a steady shock calculated from the RH
conditions. They have units of distance/time.
Restrictions
""""""""""""
This fix style is part of the SHOCK package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
All the usual restrictions for :doc:`fix npt <fix_nh>` apply,
plus the additional ones mentioned above.
All the usual restrictions for :doc:`fix npt <fix_nh>` apply, plus the
additional ones mentioned above.
Related commands
""""""""""""""""

View File

@ -124,10 +124,10 @@ consistent with the virial term computed using all atoms for the
pressure. LAMMPS will warn you if you choose to compute temperature
on a subset of atoms.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting and
barostatting to the system's potential energy as part of
:doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes the same global scalar and global vector of
quantities as does the :doc:`fix npt <fix_nh>` command.

View File

@ -45,7 +45,8 @@ can also have a bias velocity removed from them before thermostatting
takes place; see the description below.
Additional parameters affecting the thermostat and barostat are
specified by keywords and values documented with the :doc:`fix npt <fix_nh>` command. See, for example, discussion of the *temp*\ ,
specified by keywords and values documented with the :doc:`fix npt
<fix_nh>` command. See, for example, discussion of the *temp*\ ,
*iso*\ , *aniso*\ , and *dilate* keywords.
The particles in the fix group are the only ones whose velocities and
@ -121,10 +122,10 @@ consistent with the virial term computed using all atoms for the
pressure. LAMMPS will warn you if you choose to compute temperature
on a subset of atoms.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting and
barostatting to the system's potential energy as part of
:doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes the same global scalar and global vector of
quantities as does the :doc:`fix npt <fix_nh>` command.

View File

@ -487,27 +487,31 @@ compute temperature on a subset of atoms.
.. note::
If both the *temp* and *press* keywords are used in a single
thermo_modify command (or in two separate commands), then the order in
which the keywords are specified is important. Note that a :doc:`pressure compute <compute_pressure>` 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 fix npt), 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.
thermo_modify command (or in two separate commands), then the order
in which the keywords are specified is important. Note that a
:doc:`pressure compute <compute_pressure>` 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 fix npt), 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.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting
and barostatting to the system's potential energy as part of
:doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix, due to
thermostatting and/or barostatting, is included in the
:doc:`thermodynamic output <thermo_style>` keywords *ecouple* and
*econserve*. See the :doc:`thermo_style <thermo_style>` doc page for
details.
This fix computes a global scalar and a global vector of quantities,
which can be accessed by various :doc:`output commands <Howto_output>`.
The scalar value calculated by this fix is "extensive"; the vector
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
This fix also computes a global vector of quantities, which can be
accessed by various :doc:`output commands <Howto_output>`. Rhe vector
values are "intensive".
The scalar is the cumulative energy change due to the fix.
The vector stores internal Nose/Hoover thermostat and barostat
variables. The number and meaning of the vector values depends on
which fix is used and the settings for keywords *tchain* and *pchain*\ ,

View File

@ -93,13 +93,14 @@ IDs of the new computes are the fix-ID + underscore + "temp" or fix_ID
since pressure is computed for the entire system.
Note that these are NOT the computes used by thermodynamic output (see
the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp*
and *thermo_press*. This means you can change the attributes of this
fix's temperature or pressure via the
:doc:`compute_modify <compute_modify>` command or print this temperature
or pressure during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID.
It also means that changing attributes of *thermo_temp* or
*thermo_press* will have no effect on this fix.
the :doc:`thermo_style <thermo_style>` command) with ID =
*thermo_temp* and *thermo_press*. This means you can change the
attributes of this fix's temperature or pressure via the
:doc:`compute_modify <compute_modify>` command or print this
temperature or pressure during thermodynamic output via the
:doc:`thermo_style custom <thermo_style>` command using the
appropriate compute-ID. It also means that changing attributes of
*thermo_temp* or *thermo_press* will have no effect on this fix.
Like other fixes that perform thermostatting, this fix can be used
with :doc:`compute commands <compute>` that calculate a temperature
@ -129,18 +130,18 @@ a fix in an input script that reads a restart file, so that the
operation of the fix continues in an uninterrupted fashion.
The :doc:`fix_modify <fix_modify>` *temp* and *press* options are
supported by this fix. You can use them to assign a
:doc:`compute <compute>` you have defined to this fix which will be used
in its thermostatting or barostatting procedure. If you do this, note
that the kinetic energy derived from the compute temperature should be
supported by this fix. You can use them to assign a :doc:`compute
<compute>` you have defined to this fix which will be used in its
thermostatting or barostatting procedure. If you do this, note that
the kinetic energy derived from the compute temperature should be
consistent with the virial term computed using all atoms for the
pressure. LAMMPS will warn you if you choose to compute temperature
on a subset of atoms.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting and
barostatting to the system's potential energy as part of
:doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes the same global scalar and global vector of
quantities as does the :doc:`fix npt <fix_nh>` command.

View File

@ -92,19 +92,21 @@ thermal degrees of freedom, and the bias is added back in.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>`
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
This fix writes the state of the Nose/Hoover thermostat to
:doc:`binary restart files <restart>`. See the :doc:`read_restart
<read_restart>` command for info on how to re-specify a fix in an
input script that reads a restart file, so that the operation of the
fix continues in an uninterrupted fashion.
The :doc:`fix_modify <fix_modify>` *temp* option is supported by this
fix. You can use it to assign a :doc:`compute <compute>` you have
defined to this fix which will be used in its thermostatting
procedure.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting to
the system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes the same global scalar and global vector of
quantities as does the :doc:`fix nvt <fix_nh>` command.

View File

@ -89,19 +89,21 @@ thermal degrees of freedom, and the bias is added back in.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>`
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
This fix writes the state of the Nose/Hoover thermostat to
:doc:`binary restart files <restart>`. See the :doc:`read_restart
<read_restart>` command for info on how to re-specify a fix in an
input script that reads a restart file, so that the operation of the
fix continues in an uninterrupted fashion.
The :doc:`fix_modify <fix_modify>` *temp* option is supported by this
fix. You can use it to assign a :doc:`compute <compute>` you have
defined to this fix which will be used in its thermostatting
procedure.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting to
the system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes the same global scalar and global vector of
quantities as does the :doc:`fix nvt <fix_nh>` command.

View File

@ -122,19 +122,21 @@ thermal degrees of freedom, and the bias is added back in.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>`
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
This fix writes the state of the Nose/Hoover thermostat to
:doc:`binary restart files <restart>`. See the :doc:`read_restart
<read_restart>` command for info on how to re-specify a fix in an
input script that reads a restart file, so that the operation of the
fix continues in an uninterrupted fashion.
The :doc:`fix_modify <fix_modify>` *temp* option is supported by this
fix. You can use it to assign a :doc:`compute <compute>` you have
defined to this fix which will be used in its thermostatting
procedure.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting to
the system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes the same global scalar and global vector of
quantities as does the :doc:`fix nvt <fix_nh>` command.

View File

@ -41,19 +41,21 @@ velocity.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>`
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
This fix writes the state of the Nose/Hoover thermostat to
:doc:`binary restart files <restart>`. See the :doc:`read_restart
<read_restart>` command for info on how to re-specify a fix in an
input script that reads a restart file, so that the operation of the
fix continues in an uninterrupted fashion.
The :doc:`fix_modify <fix_modify>` *temp* option is supported by this
fix. You can use it to assign a :doc:`compute <compute>` you have
defined to this fix which will be used in its thermostatting
procedure.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting to
the system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes the same global scalar and global vector of
quantities as does the :doc:`fix nvt/eff <fix_nh_eff>` command.

View File

@ -106,19 +106,21 @@ thermal degrees of freedom, and the bias is added back in.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix writes the state of the Nose/Hoover thermostat to :doc:`binary restart files <restart>`. See the :doc:`read_restart <read_restart>`
command for info on how to re-specify a fix in an input script that
reads a restart file, so that the operation of the fix continues in an
uninterrupted fashion.
This fix writes the state of the Nose/Hoover thermostat to
:doc:`binary restart files <restart>`. See the :doc:`read_restart
<read_restart>` command for info on how to re-specify a fix in an
input script that reads a restart file, so that the operation of the
fix continues in an uninterrupted fashion.
The :doc:`fix_modify <fix_modify>` *temp* option is supported by this
fix. You can use it to assign a :doc:`compute <compute>` you have
defined to this fix which will be used in its thermostatting
procedure.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change induced by Nose/Hoover thermostatting to
the system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes the same global scalar and global vector of
quantities as does the :doc:`fix nvt <fix_nh>` command.

View File

@ -144,16 +144,20 @@ writing the orientation files is given in :ref:`(Wicaksono2) <Wicaksono2>`
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the potential energy of atom interactions with the grain
boundary driving force to the system's potential energy as part of
:doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the potential energy of atom interactions with the
grain boundary driving force to the global potential energy of the
system as part of :doc:`thermodynamic output <thermo_style>`. The
default setting for this fix is :doc:`fix_modify energy no
<fix_modify>`.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by these
fixes. This allows to set at which level of the :doc:`r-RESPA <run_style>`
integrator a fix is adding its forces. Default is the outermost level.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by
these fixes. This allows to set at which level of the :doc:`r-RESPA
<run_style>` integrator a fix is adding its forces. Default is the
outermost level.
This fix calculates a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the potential
@ -166,13 +170,16 @@ order parameter Xi and normalized order parameter (0 to 1) for each
atom. The per-atom values can be accessed on any timestep.
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`.
the :doc:`run <run>` command.
This fix is not invoked during :doc:`energy minimization <minimize>`.
Restrictions
""""""""""""
This fix is part of the MISC package. It is only enabled if LAMMPS
was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
This fix should only be used with fcc or bcc lattices.

View File

@ -26,22 +26,24 @@ Examples
Description
"""""""""""
The fix applies a synthetic driving force to a grain boundary which can
be used for the investigation of grain boundary motion. The affiliation
of atoms to either of the two grains forming the grain boundary is
determined from an orientation-dependent order parameter as described
in :ref:`(Ulomek) <Ulomek>`. The potential energy of atoms is either increased by an amount
of 0.5*\ *u0* or -0.5*\ *u0* according to the orientation of the surrounding
crystal. This creates a potential energy gradient which pushes atoms near
the grain boundary to orient according to the energetically favorable
grain orientation. This fix is designed for applications in bicrystal system
with one grain boundary and open ends, or two opposite grain boundaries in
a periodic system. In either case, the entire system can experience a
displacement during the simulation which needs to be accounted for in the
evaluation of the grain boundary velocity. While the basic method is
described in :ref:`(Ulomek) <Ulomek>`, the implementation follows the efficient
implementation from :ref:`(Schratt & Mohles) <Schratt>`. The synthetic potential energy added to an
atom j is given by the following formulas
The fix applies a synthetic driving force to a grain boundary which
can be used for the investigation of grain boundary motion. The
affiliation of atoms to either of the two grains forming the grain
boundary is determined from an orientation-dependent order parameter
as described in :ref:`(Ulomek) <Ulomek>`. The potential energy of
atoms is either increased by an amount of 0.5*\ *u0* or -0.5*\ *u0*
according to the orientation of the surrounding crystal. This creates
a potential energy gradient which pushes atoms near the grain boundary
to orient according to the energetically favorable grain
orientation. This fix is designed for applications in bicrystal system
with one grain boundary and open ends, or two opposite grain
boundaries in a periodic system. In either case, the entire system can
experience a displacement during the simulation which needs to be
accounted for in the evaluation of the grain boundary velocity. While
the basic method is described in :ref:`(Ulomek) <Ulomek>`, the
implementation follows the efficient implementation from
:ref:`(Schratt & Mohles) <Schratt>`. The synthetic potential energy
added to an atom j is given by the following formulas
.. math::
@ -60,60 +62,69 @@ atom j is given by the following formulas
which are fully explained in :ref:`(Ulomek) <Ulomek>`
and :ref:`(Schratt & Mohles) <Schratt>`.
The force on each atom is the negative gradient of the synthetic potential energy. It
depends on the surrounding of this atom. An atom far from the grain boundary does not
experience a synthetic force as its surrounding is that of an oriented single crystal
and thermal fluctuations are masked by the parameter *eta*\ . Near the grain boundary
however, the gradient is nonzero and synthetic force terms are computed.
The orientationsFile specifies the perfect oriented crystal basis vectors for the
two adjoining crystals. The first three lines (line=row vector) for the energetically penalized and the
last three lines for the energetically favored grain assuming *u0* is positive. For
negative *u0*, this is reversed. With the *cutoff* parameter, the size of the region around
each atom which is used in the order parameter computation is defined. The cutoff must be
smaller than the interaction range of the MD potential. It should at
least include the nearest neighbor shell. For high temperatures or low angle
grain boundaries, it might be beneficial to increase the cutoff in order to get a more
precise identification of the atoms surrounding. However, computation time will
increase as more atoms are considered in the order parameter and force computation.
It is also worth noting that the cutoff radius must not exceed the communication
distance for ghost atoms in LAMMPS. With orientationsFile, the
6 oriented crystal basis vectors is specified. Each line of the input file
contains the three components of a primitive lattice vector oriented according to
the grain orientation in the simulation box. The first (last) three lines correspond
to the primitive lattice vectors of the first (second) grain. An example for
a :math:`\Sigma\langle001\rangle` mis-orientation is given at the end.
If no synthetic energy difference between the grains is created, :math:`u0=0`, the
force computation is omitted. In this case, still, the order parameter of the
driving force is computed and can be used to track the grain boundary motion throughout the
simulation.
The force on each atom is the negative gradient of the synthetic
potential energy. It depends on the surrounding of this atom. An atom
far from the grain boundary does not experience a synthetic force as
its surrounding is that of an oriented single crystal and thermal
fluctuations are masked by the parameter *eta*\ . Near the grain
boundary however, the gradient is nonzero and synthetic force terms
are computed. The orientationsFile specifies the perfect oriented
crystal basis vectors for the two adjoining crystals. The first three
lines (line=row vector) for the energetically penalized and the last
three lines for the energetically favored grain assuming *u0* is
positive. For negative *u0*, this is reversed. With the *cutoff*
parameter, the size of the region around each atom which is used in
the order parameter computation is defined. The cutoff must be smaller
than the interaction range of the MD potential. It should at least
include the nearest neighbor shell. For high temperatures or low angle
grain boundaries, it might be beneficial to increase the cutoff in
order to get a more precise identification of the atoms
surrounding. However, computation time will increase as more atoms are
considered in the order parameter and force computation. It is also
worth noting that the cutoff radius must not exceed the communication
distance for ghost atoms in LAMMPS. With orientationsFile, the 6
oriented crystal basis vectors is specified. Each line of the input
file contains the three components of a primitive lattice vector
oriented according to the grain orientation in the simulation box. The
first (last) three lines correspond to the primitive lattice vectors
of the first (second) grain. An example for a
:math:`\Sigma\langle001\rangle` mis-orientation is given at the end.
If no synthetic energy difference between the grains is created,
:math:`u0=0`, the force computation is omitted. In this case, still,
the order parameter of the driving force is computed and can be used
to track the grain boundary motion throughout the simulation.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc: `binary restart files <restart>`.
No information about this fix is written to :doc: `binary restart
files <restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this fix to
add the potential energy of atom interactions with the grain boundary
driving force to the system's potential energy as part of thermodynamic output.
The total sum of added synthetic potential energy is computed and can be accessed
by various output options. The order parameter as well as the thermally masked
output parameter are stored in per-atom arrays and can also be accessed by various
:doc:`output commands <Howto_output>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the potential energy of atom interactions with the
grain boundary driving force to the global potential energy of the
system as part of :doc:`thermodynamic output <thermo_style>`. The
default setting for this fix is :doc:`fix_modify energy no
<fix_modify>`.
No parameter of this fix can be used with the start/stop keywords of the run command. This fix is
not invoked during energy minimization.
This fix calculates a per-atom array with 2 columns, which can be
accessed by indices 1-1 by any command that uses per-atom values from
a fix as input. See the :doc:`Howto output <Howto_output>` doc page
for an overview of LAMMPS output options.
The first column is the order parameter for each atom; the second is
the thermal masking value for each atom. Both are described above.
No parameter of this fix can be used with the start/stop keywords of
the run command. This fix is not invoked during energy minimization.
Restrictions
""""""""""""
This fix is part of the USER-MISC package. It is only enabled if LAMMPS was
built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
This fix is part of the USER-MISC package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
Related commands

View File

@ -66,7 +66,8 @@ plumed fix in the LAMMPS input.
The *plumedfile* keyword allows the user to specify the name of the
PLUMED input file. Instructions as to what should be included in a
plumed input file can be found in the `documentation for PLUMED <plumeddocs_>`_
plumed input file can be found in the `documentation for PLUMED
<plumeddocs_>`_
The *outfile* keyword allows the user to specify the name of a file in
which to output the PLUMED log. This log file normally just repeats the
@ -78,31 +79,45 @@ be specified by the user in the PLUMED input file.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
When performing a restart of a calculation that involves PLUMED you must
include a RESTART command in the PLUMED input file as detailed in the
`PLUMED documentation <plumeddocs_>`_. When the restart command is found in
the PLUMED input PLUMED will append to the files that were generated in
the run that was performed previously. No part of the PLUMED restart
data is included in the LAMMPS restart files. Furthermore, any history
dependent bias potentials that were accumulated in previous calculations
will be read in when the RESTART command is included in the PLUMED
input.
When performing a restart of a calculation that involves PLUMED you
must include a RESTART command in the PLUMED input file as detailed in
the `PLUMED documentation <plumeddocs_>`_. When the restart command
is found in the PLUMED input PLUMED will append to the files that were
generated in the run that was performed previously. No part of the
PLUMED restart data is included in the LAMMPS restart files.
Furthermore, any history dependent bias potentials that were
accumulated in previous calculations will be read in when the RESTART
command is included in the PLUMED input.
The :doc:`fix_modify <fix_modify>` *energy* option is not supported by
this fix.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the energy change from the biasing force added by
PLUMED to the global potential energy of the system as part of
:doc:`thermodynamic output <thermo_style>`. The default setting for
this fix is :doc:`fix_modify energy yes <fix_modify>`.
Nothing is computed by this fix that can be accessed by any of the
:doc:`output commands <Howto_output>` within LAMMPS. All the quantities
of interest can be output by commands that are native to PLUMED,
however.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
this fix to add the contribution from the biasing force to the global
pressure of the system via the :doc:`compute pressure
<compute_pressure>` command. This can be accessed by
:doc:`thermodynamic output <thermo_style>`. The default setting for
this fix is :doc:`fix_modify virial yes <fix_modify>`.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the PLUMED
energy mentioned above. The scalar value calculated by this fix is
"extensive".
Note that other quantities of interest can be output by commands that
are native to PLUMED.
Restrictions
""""""""""""
This fix is part of the USER-PLUMED package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
There can only be one plumed fix active at a time.
There can only be one fix plumed command active at a time.
Related commands
""""""""""""""""

View File

@ -39,14 +39,15 @@ useful for treating a large biomolecule as a collection of connected,
coarse-grained particles.
The coupling, associated motion constraints, and time integration is
performed by the software package `Parallelizable Open source Efficient Multibody Software (POEMS)` which computes the
constrained rigid-body motion of articulated (jointed) multibody
systems :ref:`(Anderson) <Anderson>`. POEMS was written and is distributed
by Prof Kurt Anderson, his graduate student Rudranarayan Mukherjee,
and other members of his group at Rensselaer Polytechnic Institute
(RPI). Rudranarayan developed the LAMMPS/POEMS interface. For
copyright information on POEMS and other details, please refer to the
documents in the poems directory distributed with LAMMPS.
performed by the software package `Parallelizable Open source
Efficient Multibody Software (POEMS)` which computes the constrained
rigid-body motion of articulated (jointed) multibody systems
:ref:`(Anderson) <Anderson>`. POEMS was written and is distributed by
Prof Kurt Anderson, his graduate student Rudranarayan Mukherjee, and
other members of his group at Rensselaer Polytechnic Institute (RPI).
Rudranarayan developed the LAMMPS/POEMS interface. For copyright
information on POEMS and other details, please refer to the documents
in the poems directory distributed with LAMMPS.
This fix updates the positions and velocities of the rigid atoms with
a constant-energy time integration, so you should not update the same
@ -107,7 +108,16 @@ off, and there is only a single fix poems defined.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
this fix to add the contribution due to the added forces and torques
on atoms to both the global pressure and per-atom stress of the system
via the :doc:`compute pressure <compute_pressure>` and :doc:`compute
stress/atom <compute_stress_atom>` commands. The former can be
accessed by :doc:`thermodynamic output <thermo_style>`. The default
setting for this fix is :doc:`fix_modify virial yes <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *bodyforces* option is supported by
this fix style to set whether per-body forces and torques are computed
@ -115,16 +125,18 @@ early or late in a timestep, i.e. at the post-force stage or at the
final-integrate stage, respectively.
No global or per-atom quantities are stored by this fix for access by
various :doc:`output commands <Howto_output>`. No parameter of this fix
can be used with the *start/stop* keywords of the :doc:`run <run>`
command. This fix is not invoked during :doc:`energy minimization <minimize>`.
various :doc:`output commands <Howto_output>`. No parameter of this
fix can be used with the *start/stop* keywords of the :doc:`run <run>`
command. This fix is not invoked during :doc:`energy minimization
<minimize>`.
Restrictions
""""""""""""
This fix is part of the :ref:`POEMS <PKG-POEMS>` package. It is only enabled if LAMMPS
was built with that package, which also requires the POEMS library be
built and linked with LAMMPS. See the :doc:`Build package <Build_package>` doc page for more info.
This fix is part of the :ref:`POEMS <PKG-POEMS>` package. It is only
enabled if LAMMPS was built with that package, which also requires the
POEMS library be built and linked with LAMMPS. See the :doc:`Build
package <Build_package>` doc page for more info.
Related commands
""""""""""""""""

View File

@ -42,11 +42,12 @@ Examples
Description
"""""""""""
This fix applies a precession torque to each magnetic spin in the group.
This fix applies a precession torque to each magnetic spin in the
group.
Style *zeeman* is used for the simulation of the interaction
between the magnetic spins in the defined group and an external
magnetic field:
Style *zeeman* is used for the simulation of the interaction between
the magnetic spins in the defined group and an external magnetic
field:
.. math::
@ -62,17 +63,17 @@ with:
The field value in Tesla is multiplied by the gyromagnetic
ratio, :math:`g \cdot \mu_B/\hbar`, converting it into a precession frequency in
rad.THz (in metal units and with :math:`\mu_B = 5.788\cdot 10^{-5}` eV/T).
rad.THz (in metal units and with :math:`\mu_B = 5.788\cdot 10^{-5}`
eV/T).
As a comparison, the figure below displays the simulation of a
single spin (of norm :math:`\mu_i = 1.0`) submitted to an external
magnetic field of :math:`\vert B_{ext}\vert = 10.0\; \mathrm{Tesla}` (and oriented along the z
axis).
The upper plot shows the average magnetization along the
external magnetic field axis and the lower plot the Zeeman
energy, both as a function of temperature.
The reference result is provided by the plot of the Langevin
function for the same parameters.
As a comparison, the figure below displays the simulation of a single
spin (of norm :math:`\mu_i = 1.0`) submitted to an external magnetic
field of :math:`\vert B_{ext}\vert = 10.0\; \mathrm{Tesla}` (and
oriented along the z axis). The upper plot shows the average
magnetization along the external magnetic field axis and the lower
plot the Zeeman energy, both as a function of temperature. The
reference result is provided by the plot of the Langevin function for
the same parameters.
.. image:: JPG/zeeman_langevin.jpg
:align: center
@ -88,10 +89,12 @@ for the magnetic spins in the defined group:
.. math::
H_{aniso} = -\sum_{{ i}=1}^{N} K_{an}(\mathbf{r}_{i})\, \left( \vec{s}_{i} \cdot \vec{n}_{i} \right)^2
H_{aniso} = -\sum_{{ i}=1}^{N} K_{an}(\mathbf{r}_{i})\, \left(
\vec{s}_{i} \cdot \vec{n}_{i} \right)^2
with :math:`n` defining the direction of the anisotropy, and :math:`K` (in eV) its intensity.
If :math:`K > 0`, an easy axis is defined, and if :math:`K < 0`, an easy plane is defined.
with :math:`n` defining the direction of the anisotropy, and :math:`K`
(in eV) its intensity. If :math:`K > 0`, an easy axis is defined, and
if :math:`K < 0`, an easy plane is defined.
Style *cubic* is used to simulate a cubic anisotropy, with three
possible easy axis for the magnetic spins in the defined group:
@ -110,17 +113,17 @@ possible easy axis for the magnetic spins in the defined group:
\left(\vec{s}_{i} \cdot \vec{n_2} \right)^2
\left(\vec{s}_{i} \cdot \vec{n_3} \right)^2
with :math:`K_1` and :math:`K_{2c}` (in eV) the intensity coefficients and
:math:`\vec{n}_1`, :math:`\vec{n}_2` and :math:`\vec{n}_3` defining the three anisotropic directions
defined by the command (from *n1x* to *n3z*).
For :math:`\vec{n}_1 = (1 0 0)`, :math:`\vec{n}_2 = (0 1 0)`, and :math:`\vec{n}_3 = (0 0 1)`, :math:`K_1 < 0` defines an
with :math:`K_1` and :math:`K_{2c}` (in eV) the intensity coefficients
and :math:`\vec{n}_1`, :math:`\vec{n}_2` and :math:`\vec{n}_3`
defining the three anisotropic directions defined by the command (from
*n1x* to *n3z*). For :math:`\vec{n}_1 = (1 0 0)`, :math:`\vec{n}_2 =
(0 1 0)`, and :math:`\vec{n}_3 = (0 0 1)`, :math:`K_1 < 0` defines an
iron type anisotropy (easy axis along the :math:`(0 0 1)`-type cube
edges), and :math:`K_1 > 0` defines a nickel type anisotropy (easy axis
along the :math:`(1 1 1)`-type cube diagonals).
:math:`K_2^c > 0` also defines easy axis along the :math:`(1 1 1)`-type cube
diagonals.
See chapter 2 of :ref:`(Skomski) <Skomski1>` for more details on cubic
anisotropies.
edges), and :math:`K_1 > 0` defines a nickel type anisotropy (easy
axis along the :math:`(1 1 1)`-type cube diagonals). :math:`K_2^c >
0` also defines easy axis along the :math:`(1 1 1)`-type cube
diagonals. See chapter 2 of :ref:`(Skomski) <Skomski1>` for more
details on cubic anisotropies.
In all cases, the choice of :math:`(x y z)` only imposes the vector
directions for the forces. Only the direction of the vector is
@ -134,32 +137,35 @@ Those styles can be combined within one single command line.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
By default, the energy associated to this fix is not added to the potential
energy of the system.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this fix
to add this magnetic potential energy to the potential energy of the system,
No information about this fix is written to :doc:`binary restart files
<restart>`.
.. code-block:: LAMMPS
fix 1 all precession/spin zeeman 1.0 0.0 0.0 1.0
fix_modify 1 energy yes
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the energy associated with the spin precession
torque to the global potential energy of the system as part of
:doc:`thermodynamic output <thermo_style>`. The default setting for
this fix is :doc:`fix_modify energy no <fix_modify>`.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`.
:doc:`output commands <Howto_output>`. The scalar is the potential
energy (in energy units) discussed in the previous paragraph. The
scalar value is an "extensive" quantity.
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
Restrictions
""""""""""""
The *precession/spin* style is part of the SPIN package. This style
is only enabled if LAMMPS was built with this package, and if the
atom_style "spin" was declared. See the :doc:`Build package <Build_package>` doc page for more info.
atom_style "spin" was declared. See the :doc:`Build package
<Build_package>` doc page for more info.
The *precession/spin* style can only be declared once. If more
than one precession type (for example combining an anisotropy and a Zeeman interactions)
has to be declared, they have to be chained in the same command
line (as shown in the examples above).
The *precession/spin* style can only be declared once. If more than
one precession type (for example combining an anisotropy and a Zeeman
interactions) has to be declared, they have to be chained in the same
command line (as shown in the examples above).
Related commands
""""""""""""""""

View File

@ -152,13 +152,30 @@ Because the state of the random number generator is not written to
"exactly" in an uninterrupted fashion. However, in a statistical
sense, a restarted simulation should produce similar behaviors of the
system as if it is not interrupted. To achieve such a restart, one
should write explicitly the same value for *q*\ , *mu*\ , *damp*\ , *f_max*,
*N_f*, *eta*\ , and *beta* and set *tscale* = 0 if the system is
compressed during the first run.
should write explicitly the same value for *q*\ , *mu*\ , *damp*\ ,
*f_max*, *N_f*, *eta*\ , and *beta* and set *tscale* = 0 if the system
is compressed during the first run.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
The progress of the QBMSST can be monitored by printing the global
scalar and global vector quantities computed by the fix. The global
vector contains five values in this order:
scalar and global vector quantities computed by the fix.
As mentioned above, the scalar is the cumulative energy change due to
the fix. By monitoring the thermodynamic *econserve* output, this can
be used to test if the MD timestep is sufficiently small for accurate
integration of the dynamic equations.
The global vector contains five values in the following order. The
vector values output by this fix are "intensive".
[\ *dhugoniot*\ , *drayleigh*\ , *lagrangian_speed*, *lagrangian_position*,
*quantum_temperature*]
@ -170,29 +187,21 @@ vector contains five values in this order:
5. *quantum_temperature* is the temperature of the quantum thermal bath :math:`T^{qm}`.
To print these quantities to the log file with descriptive column
headers, the following LAMMPS commands are suggested. Here the
:doc:`fix_modify <fix_modify>` energy command is also enabled to allow
the thermo keyword *etotal* to print the quantity :math:`E^{tot}`. See
also the :doc:`thermo_style <thermo_style>` command.
headers, the following LAMMPS commands are suggested.
.. parsed-literal::
fix fix_id all msst z
fix_modify fix_id energy yes
variable dhug equal f_fix_id[1]
variable dray equal f_fix_id[2]
variable lgr_vel equal f_fix_id[3]
variable lgr_pos equal f_fix_id[4]
variable T_qm equal f_fix_id[5]
thermo_style custom step temp ke pe lz pzz etotal v_dhug v_dray v_lgr_vel v_lgr_pos v_T_qm f_fix_id
thermo_style custom step temp ke pe lz pzz econserve v_dhug v_dray v_lgr_vel v_lgr_pos v_T_qm f_fix_id
The global scalar under the entry f_fix_id is the quantity of thermo
energy as an extra part of :math:`E^{tot}`. This global scalar and the
vector of 5 quantities can be accessed by various :doc:`output commands <Howto_output>`.
It is worth noting that the temp keyword
under the :doc:`thermo_style <thermo_style>` command print the
instantaneous classical temperature :math:`T^{cl}` as described
in the command :doc:`fix qtb <fix_qtb>`.
It is worth noting that the temp keyword for the :doc:`thermo_style
<thermo_style>` command prints the instantaneous classical temperature
:math:`T^{cl}` as described by the :doc:`fix qtb <fix_qtb>` command.
----------
@ -200,7 +209,8 @@ Restrictions
""""""""""""
This fix style is part of the USER-QTB package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
All cell dimensions must be periodic. This fix can not be used with a
triclinic cell. The QBMSST fix has been tested only for the group-ID

View File

@ -219,15 +219,19 @@ current dihedral angle :math:`\phi` is equal to :math:`\phi_0`.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the potential energy associated with this fix to the
system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the potential energy associated with this fix to the
global potential energy of the system as part of :doc:`thermodynamic
output <thermo_style>` The default setting for this fix is
:doc:`fix_modify energy no <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by this
fix. This allows to set at which level of the :doc:`r-RESPA <run_style>`
integrator the fix is adding its forces. Default is the outermost level.
fix. This allows to set at which level of the :doc:`r-RESPA
<run_style>` integrator the fix is adding its forces. Default is the
outermost level.
.. note::

View File

@ -45,11 +45,34 @@ temperatures :ref:`(Pedersen) <Pedersen>`.
An example of using the interface pinning method is located in the
*examples/USER/misc/rhok* directory.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the potential energy calculated by the fix to the
global potential energy of the system as part of :doc:`thermodynamic
output <thermo_style>`. The default setting for this fix is
:doc:`fix_modify energy no <fix_modify>`.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the potential
energy discussed in the preceding paragraph. The scalar stored by
this fix is "extensive".
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command.
This fix is not invoked during :doc:`energy minimization <minimize>`.
Restrictions
""""""""""""
This fix is part of the USER-MISC package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
Related commands
""""""""""""""""

View File

@ -752,25 +752,17 @@ rigid/nvt.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about the 4 NVE rigid styles is written to :doc:`binary restart files <restart>`. The exception is if the *infile* or
*mol* keyword is used, in which case an auxiliary file is written out
with rigid body information each time a restart file is written, as
No information about the 4 NVE rigid styles is written to :doc:`binary
restart files <restart>`. The exception is if the *infile* or *mol*
keyword is used, in which case an auxiliary file is written out with
rigid body information each time a restart file is written, as
explained above for the *infile* keyword. For the 2 NVT rigid styles,
the state of the Nose/Hoover thermostat is written to :doc:`binary restart files <restart>`. Ditto for the 4 NPT and NPH rigid styles, and
the state of the Nose/Hoover barostat. See the
:doc:`read_restart <read_restart>` command for info on how to re-specify
a fix in an input script that reads a restart file, so that the
operation of the fix continues in an uninterrupted fashion.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by the 6
NVT, NPT, NPH rigid styles to add the energy change induced by the
thermostatting to the system's potential energy as part of
:doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by this
fix to add the contribution due to keeping the objects rigid to the
system's virial as part of :doc:`thermodynamic output <thermo_style>`.
The default is *virial yes*
the state of the Nose/Hoover thermostat is written to :doc:`binary
restart files <restart>`. Ditto for the 4 NPT and NPH rigid styles,
and the state of the Nose/Hoover barostat. See the :doc:`read_restart
<read_restart>` command for info on how to re-specify a fix in an
input script that reads a restart file, so that the operation of the
fix continues in an uninterrupted fashion.
The :doc:`fix_modify <fix_modify>` *temp* and *press* options are
supported by the 4 NPT and NPH rigid styles to change the computes
@ -783,6 +775,12 @@ all rigid styles to set whether per-body forces and torques are
computed early or late in a timestep, i.e. at the post-force stage or
at the final-integrate stage or the timestep, respectively.
The cumulative energy change in the system imposed by the 6 NVT, NPT,
NPH rigid fixes, via either thermostatting and/or barostatting, is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
The 2 NVE rigid fixes compute a global scalar which can be accessed by
various :doc:`output commands <Howto_output>`. The scalar value
calculated by these fixes is "intensive". The scalar is the current
@ -798,13 +796,22 @@ are removed from this calculation, but only for the *rigid* and
The 6 NVT, NPT, NPH rigid fixes compute a global scalar which can be
accessed by various :doc:`output commands <Howto_output>`. The scalar
value calculated by these fixes is "extensive". The scalar is the
cumulative energy change due to the thermostatting and barostatting
the fix performs.
is the same cumulative energy change due to these fixes described
above. The scalar value calculated by this fix is "extensive".
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
these fixes to add the contribution due to the added forces on atoms
to both the global pressure and per-atom stress of the system via the
:doc:`compute pressure <compute_pressure>` and :doc:`compute
stress/atom <compute_stress_atom>` commands. The former can be
accessed by :doc:`thermodynamic output <thermo_style>`. The default
setting for this fix is :doc:`fix_modify virial yes <fix_modify>`.
All of the *rigid* styles (not the *rigid/small* styles) compute a
global array of values which can be accessed by various :doc:`output commands <Howto_output>`. Similar information about the bodies
defined by the *rigid/small* styles can be accessed via the :doc:`compute rigid/local <compute_rigid_local>` command.
global array of values which can be accessed by various :doc:`output
commands <Howto_output>`. Similar information about the bodies
defined by the *rigid/small* styles can be accessed via the
:doc:`compute rigid/local <compute_rigid_local>` command.
The number of rows in the array is equal to the number of rigid
bodies. The number of columns is 15. Thus for each rigid body, 15

View File

@ -191,22 +191,29 @@ LAMMPS closely follows (:ref:`Andersen (1983) <Andersen3>`).
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
The :doc:`fix_modify <fix_modify>` *virial* option is supported by this
fix to add the contribution due to keeping the constraints to the
system's virial as part of :doc:`thermodynamic output <thermo_style>`.
The default is *virial yes*
No information about these fixes is written to :doc:`binary restart
files <restart>`.
No information about these fixes is written to :doc:`binary restart files <restart>`. None of the :doc:`fix_modify <fix_modify>` options
are relevant to these fixes. No global or per-atom quantities are
stored by these fixes for access by various :doc:`output commands <Howto_output>`. No parameter of these fixes can be used
with the *start/stop* keywords of the :doc:`run <run>` command. These
fixes are not invoked during :doc:`energy minimization <minimize>`.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
these fixes to add the contribution due to the added forces on atoms
to both the global pressure and per-atom stress of the system via the
:doc:`compute pressure <compute_pressure>` and :doc:`compute
stress/atom <compute_stress_atom>` commands. The former can be
accessed by :doc:`thermodynamic output <thermo_style>`. The default
setting for this fix is :doc:`fix_modify virial yes <fix_modify>`.
No global or per-atom quantities are stored by these fixes for access
by various :doc:`output commands <Howto_output>`. No parameter of
these fixes can be used with the *start/stop* keywords of the
:doc:`run <run>` command. These fixes are not invoked during
:doc:`energy minimization <minimize>`.
Restrictions
""""""""""""
These fixes are part of the RIGID package. They are only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
For computational efficiency, there can only be one shake or rattle
fix defined in a simulation.

View File

@ -48,10 +48,12 @@ Description
"""""""""""
This fix implements several options of steered MD (SMD) as reviewed in
:ref:`(Izrailev) <Izrailev>`, which allows to induce conformational changes
in systems and to compute the potential of mean force (PMF) along the
assumed reaction coordinate :ref:`(Park) <Park>` based on Jarzynski's
equality :ref:`(Jarzynski) <Jarzynski>`. This fix borrows a lot from :doc:`fix spring <fix_spring>` and :doc:`fix setforce <fix_setforce>`.
:ref:`(Izrailev) <Izrailev>`, which allows to induce conformational
changes in systems and to compute the potential of mean force (PMF)
along the assumed reaction coordinate :ref:`(Park) <Park>` based on
Jarzynski's equality :ref:`(Jarzynski) <Jarzynski>`. This fix borrows
a lot from :doc:`fix spring <fix_spring>` and :doc:`fix setforce
<fix_setforce>`.
You can apply a moving spring force to a group of atoms (\ *tether*
style) or between two groups of atoms (\ *couple* style). The spring
@ -108,30 +110,36 @@ See the :doc:`read_restart <read_restart>` command for info on how to
re-specify a fix in an input script that reads a restart file, so that
the operation of the fix continues in an uninterrupted fashion.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by this
fix to add the contribution due to the added forces on atoms to the
system's virial as part of :doc:`thermodynamic output <thermo_style>`.
The default is *virial no*
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
this fix to add the contribution due to the added forces on atoms to
both the global pressure and per-atom stress of the system via the
:doc:`compute pressure <compute_pressure>` and :doc:`compute
stress/atom <compute_stress_atom>` commands. The former can be
accessed by :doc:`thermodynamic output <thermo_style>`. The default
setting for this fix is :doc:`fix_modify virial no <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by
this fix. This allows to set at which level of the :doc:`r-RESPA <run_style>`
integrator the fix is adding its forces. Default is the outermost level.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by this
fix. This allows to set at which level of the :doc:`r-RESPA
<run_style>` integrator the fix is adding its forces. Default is the
outermost level.
This fix computes a vector list of 7 quantities, which can be accessed
by various :doc:`output commands <Howto_output>`. The quantities in the
vector are in this order: the x-, y-, and z-component of the pulling
force, the total force in direction of the pull, the equilibrium
distance of the spring, the distance between the two reference points,
and finally the accumulated PMF (the sum of pulling forces times
displacement).
by various :doc:`output commands <Howto_output>`. The quantities in
the vector are in this order: the x-, y-, and z-component of the
pulling force, the total force in direction of the pull, the
equilibrium distance of the spring, the distance between the two
reference points, and finally the accumulated PMF (the sum of pulling
forces times displacement).
The force is the total force on the group of atoms by the spring. In
the case of the *couple* style, it is the force on the fix group
(group-ID) or the negative of the force on the second group (group-ID2).
The vector values calculated by this fix are "extensive".
(group-ID) or the negative of the force on the second group
(group-ID2). The vector values calculated by this fix are
"extensive".
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command. This fix is not invoked during :doc:`energy minimization <minimize>`.
the :doc:`run <run>` command. This fix is not invoked during
:doc:`energy minimization <minimize>`.
Restrictions
""""""""""""

View File

@ -100,11 +100,14 @@ last example holds the ion a distance 5 away from the pore axis
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy stored in the spring to the system's potential
energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the energy stored in the spring to the global
potential energy of the system as part of :doc:`thermodynamic output
<thermo_style>`. The default setting for this fix is :doc:`fix_modify
energy no <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by this
fix. This allows to set at which level of the :doc:`r-RESPA <run_style>`

View File

@ -62,9 +62,11 @@ will define the same number of chunks. The restart data is only applied
when the number of chunks matches. Otherwise the center of mass
coordinates are recomputed.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy stored in all the springs to the system's potential
energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the energy stored in all the springs to the global
potential energy of the system as part of :doc:`thermodynamic output
<thermo_style>`. The default setting for this fix is :doc:`fix_modify
energy no <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by this
fix. This allows to set at which level of the :doc:`r-RESPA <run_style>`

View File

@ -44,15 +44,18 @@ plane, respectively.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix writes the original coordinates of tethered atoms to :doc:`binary restart files <restart>`, so that the spring effect will be the
same in a restarted simulation. See the
:doc:`read_restart <read_restart>` command for info on how to re-specify
a fix in an input script that reads a restart file, so that the
operation of the fix continues in an uninterrupted fashion.
This fix writes the original coordinates of tethered atoms to
:doc:`binary restart files <restart>`, so that the spring effect will
be the same in a restarted simulation. See the :doc:`read_restart
<read_restart>` command for info on how to re-specify a fix in an
input script that reads a restart file, so that the operation of the
fix continues in an uninterrupted fashion.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy stored in the per-atom springs to the system's
potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the energy stored in the per-atom springs to the
global potential energy of the system as part of :doc:`thermodynamic
output <thermo_style>`. The default setting for this fix is
:doc:`fix_modify energy no <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by
this fix. This allows to set at which level of the :doc:`r-RESPA <run_style>`

View File

@ -132,14 +132,15 @@ you have defined to this fix which will be used in its thermostatting
procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change implied by a velocity rescaling to the
system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the cumulative
energy change due to this fix. The scalar value calculated by this
fix is "extensive".
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
This fix can ramp its target temperature over multiple runs, using the
*start* and *stop* keywords of the :doc:`run <run>` command. See the

View File

@ -142,32 +142,36 @@ ensemble.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
These fixes write the cumulative global energy change and the
random number generator states to :doc:`binary restart files <restart>`.
See the :doc:`read_restart <read_restart>` command for info on how to
re-specify a fix in an input script that reads a restart file,
so that the selected fix continues in an uninterrupted fashion. The
random number generator state can only be restored when the number
of processors remains unchanged from what is recorded in the restart file.
No information about these fixes are written to :doc:`binary restart files <restart>`.
These fixes write the cumulative global energy change and the random
number generator states to :doc:`binary restart files <restart>`. See
the :doc:`read_restart <read_restart>` command for info on how to
re-specify a fix in an input script that reads a restart file, so that
the selected fix continues in an uninterrupted fashion. The random
number generator state can only be restored when the number of
processors remains unchanged from what is recorded in the restart
file.
The :doc:`fix_modify <fix_modify>` *temp* option is supported by these
fixes. You can use it to assign a temperature :doc:`compute <compute>`
you have defined to these fixes which will be used in its thermostatting
procedure, as described above. For consistency, the group used by
these fixes and by the compute should be the same.
fixes. You can use it to assign a temperature :doc:`compute
<compute>` you have defined to these fixes which will be used in its
thermostatting procedure, as described above. For consistency, the
group used by these fixes and by the compute should be the same.
These fixes can ramp its target temperature over multiple runs, using
the *start* and *stop* keywords of the :doc:`run <run>` command. See the
:doc:`run <run>` command for details of how to do this.
These fixes are not invoked during :doc:`energy minimization <minimize>`.
The cumulative energy change in the system imposed by these fixes is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
These fixes compute a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the cumulative
energy change due to the fix. The scalar value calculated by this fix
is "extensive".
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
These fixes can ramp their target temperature over multiple runs,
using the *start* and *stop* keywords of the :doc:`run <run>` command.
See the :doc:`run <run>` command for details of how to do this.
These fixes are not invoked during :doc:`energy minimization <minimize>`.
Restrictions
""""""""""""

View File

@ -100,13 +100,13 @@ ID of the new compute is the fix-ID + underscore + "temp", and the
group for the new compute is the same as the fix group.
Note that this is NOT the compute used by thermodynamic output (see
the :doc:`thermo_style <thermo_style>` command) with ID = *thermo_temp*.
This means you can change the attributes of this fix's temperature
(e.g. its degrees-of-freedom) via the
:doc:`compute_modify <compute_modify>` command or print this temperature
during thermodynamic output via the :doc:`thermo_style custom <thermo_style>` command using the appropriate compute-ID.
It also means that changing attributes of *thermo_temp* will have no
effect on this fix.
the :doc:`thermo_style <thermo_style>` command) with ID =
*thermo_temp*. This means you can change the attributes of this fix's
temperature (e.g. its degrees-of-freedom) via the :doc:`compute_modify
<compute_modify>` command or print this temperature during
thermodynamic output via the :doc:`thermo_style custom <thermo_style>`
command using the appropriate compute-ID. It also means that changing
attributes of *thermo_temp* will have no effect on this fix.
Like other fixes that perform thermostatting, this fix can be used
with :doc:`compute commands <compute>` that calculate a temperature
@ -114,13 +114,14 @@ after removing a "bias" from the atom velocities. E.g. removing the
center-of-mass velocity from a group of atoms or only calculating
temperature on the x-component of velocity or only calculating
temperature for atoms in a geometric region. This is not done by
default, but only if the :doc:`fix_modify <fix_modify>` command is used
to assign a temperature compute to this fix that includes such a bias
term. See the doc pages for individual :doc:`compute commands <compute>` to determine which ones include a bias. In
this case, the thermostat works in the following manner: the current
temperature is calculated taking the bias into account, bias is
removed from each atom, thermostatting is performed on the remaining
thermal degrees of freedom, and the bias is added back in.
default, but only if the :doc:`fix_modify <fix_modify>` command is
used to assign a temperature compute to this fix that includes such a
bias term. See the doc pages for individual :doc:`compute commands
<compute>` to determine which ones include a bias. In this case, the
thermostat works in the following manner: the current temperature is
calculated taking the bias into account, bias is removed from each
atom, thermostatting is performed on the remaining thermal degrees of
freedom, and the bias is added back in.
----------
@ -139,15 +140,15 @@ you have defined to this fix which will be used in its thermostatting
procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change implied by a velocity rescaling to the
system's potential energy as part of :doc:`thermodynamic output
<thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the cumulative
energy change due to this fix. The scalar value calculated by this
fix is "extensive".
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
This fix can ramp its target temperature over multiple runs, using the
*start* and *stop* keywords of the :doc:`run <run>` command. See the

View File

@ -38,7 +38,8 @@ particles.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *temp* option is supported by this
fix. You can use it to assign a temperature :doc:`compute <compute>`
@ -46,14 +47,15 @@ you have defined to this fix which will be used in its thermostatting
procedure, as described above. For consistency, the group used by
this fix and by the compute should be the same.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy change implied by a velocity rescaling to the
system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by this fix is
included in the :doc:`thermodynamic output <thermo_style>` keywords
*ecouple* and *econserve*. See the :doc:`thermo_style <thermo_style>`
doc page for details.
This fix computes a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the cumulative
energy change due to this fix. The scalar value calculated by this
fix is "extensive".
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
This fix can ramp its target temperature over multiple runs, using the
*start* and *stop* keywords of the :doc:`run <run>` command. See the

View File

@ -218,10 +218,10 @@ a fix in an input script that reads a restart file, so that the
operation of the fix continues in an uninterrupted fashion.
The :doc:`fix_modify <fix_modify>` *temp* and *press* options are
supported by these fixes. You can use them to assign a
:doc:`compute <compute>` you have defined to this fix which will be used
in its thermostatting or barostatting procedure, as described above.
If you do this, note that the kinetic energy derived from the compute
supported by these fixes. You can use them to assign a :doc:`compute
<compute>` you have defined to this fix which will be used in its
thermostatting or barostatting procedure, as described above. If you
do this, note that the kinetic energy derived from the compute
temperature should be consistent with the virial term computed using
all atoms for the pressure. LAMMPS will warn you if you choose to
compute temperature on a subset of atoms.
@ -229,42 +229,49 @@ compute temperature on a subset of atoms.
.. note::
If both the *temp* and *press* keywords are used in a single
thermo_modify command (or in two separate commands), then the order in
which the keywords are specified is important. Note that a :doc:`pressure compute <compute_pressure>` 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 fix npt), 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.
thermo_modify command (or in two separate commands), then the order
in which the keywords are specified is important. Note that a
:doc:`pressure compute <compute_pressure>` 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 fix npt), 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.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by these
fixes to add the energy change induced by Nose/Hoover thermostatting
and barostatting to the system's potential energy as part of
:doc:`thermodynamic output <thermo_style>`.
The cumulative energy change in the system imposed by these fixes, due
to thermostatting and/or barostatting, are included in the
:doc:`thermodynamic output <thermo_style>` keywords *ecouple* and
*econserve*. See the :doc:`thermo_style <thermo_style>` doc page for
details.
These fixes compute a global scalar and a global vector of quantities,
which can be accessed by various :doc:`output commands <Howto_output>`.
The scalar value calculated by these fixes is "extensive"; the vector
values are "intensive".
The scalar is the cumulative energy change due to the fix.
The vector stores the three temperatures :math:`T_\mathrm{M}`, :math:`T_\mathrm{R}` and :math:`T_\mathrm{D}`.
These fixes compute a global scalar which can be accessed by various
:doc:`output commands <Howto_output>`. The scalar is the same
cumulative energy change due to this fix described in the previous
paragraph. The scalar value calculated by this fix is "extensive".
These fixes also compute a global vector of quantities, which can be
accessed by various :doc:`output commands <Howto_output>`. The vector
values are "intensive". The vector stores the three temperatures
:math:`T_\mathrm{M}`, :math:`T_\mathrm{R}` and :math:`T_\mathrm{D}`.
These fixes can ramp their external temperature and pressure over
multiple runs, using the *start* and *stop* keywords of the
:doc:`run <run>` command. See the :doc:`run <run>` command for details of
how to do this.
multiple runs, using the *start* and *stop* keywords of the :doc:`run
<run>` command. See the :doc:`run <run>` command for details of how
to do this.
These fixes are not invoked during :doc:`energy minimization <minimize>`.
These fixes are not invoked during :doc:`energy minimization
<minimize>`.
----------
Restrictions
""""""""""""
These fixes are only available when LAMMPS was built with the USER-DRUDE package.
These fixes cannot be used with dynamic groups as defined by the :doc:`group <group>` command.
These fixes cannot be used in 2D simulations.
These fixes are only available when LAMMPS was built with the
USER-DRUDE package. These fixes cannot be used with dynamic groups as
defined by the :doc:`group <group>` command. These fixes cannot be
used in 2D simulations.
*X*\ , *y*\ , *z* cannot be barostatted if the associated dimension is not
periodic. *Xy*\ , *xz*\ , and *yz* can only be barostatted if the

View File

@ -89,13 +89,14 @@ time:
\lambda(\tau) = \tau
where :math:`\tau` is the scaled time variable *t/t_s*. The option *2* performs
the lambda switching at a rate defined by the following switching
function
where :math:`\tau` is the scaled time variable *t/t_s*. The option *2*
performs the lambda switching at a rate defined by the following
switching function
.. math::
\lambda(\tau) = \tau^5 \left( 70 \tau^4 - 315 \tau^3 + 540 \tau^2 - 420 \tau + 126 \right)
\lambda(\tau) = \tau^5 \left( 70 \tau^4 - 315 \tau^3 + 540 \tau^2 -
420 \tau + 126 \right)
This function has zero slope as lambda approaches its extreme values
(0 and 1), according to :ref:`de Koning <deKoning96>` this results in
@ -106,16 +107,19 @@ increase in computational resources cost.
.. note::
As described in :ref:`Freitas <Freitas1>`, it is important to keep the
center-of-mass fixed during the thermodynamic integration. A nonzero
total velocity will result in divergences during the integration due
to the fact that the atoms are 'attached' to their equilibrium
positions by the Einstein crystal. Check the option *zero* of :doc:`fix langevin <fix_langevin>` and :doc:`velocity <velocity>`. The use of
the Nose-Hoover thermostat (:doc:`fix nvt <fix_nh>`) is *NOT*
recommended due to its well documented issues with the canonical
sampling of harmonic degrees of freedom (notice that the *chain*
option will *NOT* solve this problem). The Langevin thermostat (:doc:`fix langevin <fix_langevin>`) correctly thermostats the system and we
advise its usage with ti/spring command.
As described in :ref:`Freitas <Freitas1>`, it is important to keep
the center-of-mass fixed during the thermodynamic integration. A
nonzero total velocity will result in divergences during the
integration due to the fact that the atoms are 'attached' to their
equilibrium positions by the Einstein crystal. Check the option
*zero* of :doc:`fix langevin <fix_langevin>` and :doc:`velocity
<velocity>`. The use of the Nose-Hoover thermostat (:doc:`fix nvt
<fix_nh>`) is *NOT* recommended due to its well documented issues
with the canonical sampling of harmonic degrees of freedom (notice
that the *chain* option will *NOT* solve this problem). The
Langevin thermostat (:doc:`fix langevin <fix_langevin>`) correctly
thermostats the system and we advise its usage with ti/spring
command.
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
@ -127,18 +131,20 @@ be the same in a restarted simulation. See the :doc:`read restart
input script that reads a restart file, so that the operation of the
fix continues in an uninterrupted fashion.
The :doc:`fix modify <fix_modify>` *energy* option is supported by
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the energy stored in the per-atom springs to the
system's potential energy as part of :doc:`thermodynamic output
<thermo_style>`.
global potential energy of the system as part of :doc:`thermodynamic
output <thermo_style>`. The default setting for this fix is
:doc:`fix_modify energy no <fix_modify>`.
This fix computes a global scalar and a global vector quantities which
can be accessed by various :doc:`output commands <Howto_output>`. The
scalar is an energy which is the sum of the spring energy for each
atom, where the per-atom energy is 0.5 \* k \* r\^2. The vector stores
2 values. The first value is the coupling parameter lambda. The
second value is the derivative of lambda with respect to the integer
timestep *s*, i.e. d lambda / ds. In order to obtain d lambda / dt,
atom, where the per-atom energy is :math:`0.5 \cdot k \cdot r^2`.
The vector stores 2 values. The first value is the coupling parameter lambda.
The second value is the derivative of lambda with respect to the integer
timestep *s*, i.e. :math:`\frac{d \lambda}{d s}`. In order to obtain
:math:`\frac{d \lambda}{d t}`,
where t is simulation time, this 2nd value needs to be divided by the
timestep size (e.g. 0.5 fs). The scalar and vector values calculated
by this fix are "extensive".

View File

@ -331,23 +331,33 @@ perturbation on the particles:
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about this fix is written to :doc:`binary restart files <restart>`.
No information about this fix is written to :doc:`binary restart files
<restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy of interaction between atoms and each wall to
the system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the energy of interaction between atoms and all the
specified walls to the global potential energy of the system as part
of :doc:`thermodynamic output <thermo_style>`. The default setting
for this fix is :doc:`fix_modify energy no <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by this
fix to add the contribution due to the interaction between
atoms and each wall to the system's virial as part of :doc:`thermodynamic output <thermo_style>`. The default is *virial no*
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
this fix to add the contribution due to the interaction between atoms
and all the specified walls to both the global pressure and per-atom
stress of the system via the :doc:`compute pressure
<compute_pressure>` and :doc:`compute stress/atom
<compute_stress_atom>` commands. The former can be accessed by
:doc:`thermodynamic output <thermo_style>`. The default setting for
this fix is :doc:`fix_modify virial no <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by this
fix. This allows to set at which level of the :doc:`r-RESPA <run_style>`
integrator the fix is adding its forces. Default is the outermost level.
fix. This allows to set at which level of the :doc:`r-RESPA
<run_style>` integrator the fix is adding its forces. Default is the
outermost level.
This fix computes a global scalar energy and a global vector of
forces, which can be accessed by various :doc:`output commands <Howto_output>`. Note that the scalar energy is the sum
of interactions with all defined walls. If you want the energy on a
forces, which can be accessed by various :doc:`output commands
<Howto_output>`. Note that the scalar energy is the sum of
interactions with all defined walls. If you want the energy on a
per-wall basis, you need to use multiple fix wall commands. The
length of the vector is equal to the number of walls defined by the
fix. Each vector value is the normal force on a specific wall. Note

View File

@ -56,20 +56,27 @@ Description
"""""""""""
Fix *wall/ees* bounds the simulation domain on one or more of its
faces with a flat wall that interacts with the ellipsoidal atoms in the
group by generating a force on the atom in a direction perpendicular to
the wall and a torque parallel with the wall. The energy of
wall-particle interactions E is given by:
faces with a flat wall that interacts with the ellipsoidal atoms in
the group by generating a force on the atom in a direction
perpendicular to the wall and a torque parallel with the wall. The
energy of wall-particle interactions E is given by:
.. math::
E = \epsilon \left[ \frac{2 \sigma_{LJ}^{12} \left(7 r^5+14 r^3 \sigma_{n}^2+3 r \sigma_{n}^4\right) }{945 \left(r^2-\sigma_{n}^2\right)^7} -\frac{ \sigma_{LJ}^6 \left(2 r \sigma_{n}^3+\sigma_{n}^2 \left(r^2-\sigma_{n}^2\right)\log{ \left[\frac{r-\sigma_{n}}{r+\sigma_{n}}\right]}\right) }{12 \sigma_{n}^5 \left(r^2-\sigma_{n}^2\right)} \right]\qquad \sigma_n < r < r_c
E = \epsilon \left[ \frac{2 \sigma_{LJ}^{12} \left(7 r^5+14 r^3
\sigma_{n}^2+3 r \sigma_{n}^4\right) }{945
\left(r^2-\sigma_{n}^2\right)^7} -\frac{ \sigma_{LJ}^6 \left(2 r
\sigma_{n}^3+\sigma_{n}^2 \left(r^2-\sigma_{n}^2\right)\log{
\left[\frac{r-\sigma_{n}}{r+\sigma_{n}}\right]}\right) }{12
\sigma_{n}^5 \left(r^2-\sigma_{n}^2\right)} \right]\qquad \sigma_n
< r < r_c
Introduced by Babadi and Ejtehadi in :ref:`(Babadi) <BabadiEjtehadi>`. Here,
*r* is the distance from the particle to the wall at position *coord*\ ,
and Rc is the *cutoff* distance at which the particle and wall no
longer interact. Also, :math:`\sigma_n` is the distance between center of
ellipsoid and the nearest point of its surface to the wall as shown below.
Introduced by Babadi and Ejtehadi in :ref:`(Babadi)
<BabadiEjtehadi>`. Here, *r* is the distance from the particle to the
wall at position *coord*\ , and Rc is the *cutoff* distance at which
the particle and wall no longer interact. Also, :math:`\sigma_n` is
the distance between center of ellipsoid and the nearest point of its
surface to the wall as shown below.
.. image:: JPG/fix_wall_ees_image.jpg
:align: center
@ -85,13 +92,15 @@ pre-factor is
.. math::
8 \pi^2 \quad \rho_{wall} \quad \rho_{ellipsoid} \quad \epsilon \quad \sigma_a \quad \sigma_b \quad \sigma_c
8 \pi^2 \quad \rho_{wall} \quad \rho_{ellipsoid} \quad \epsilon
\quad \sigma_a \quad \sigma_b \quad \sigma_c
where :math:`\epsilon` is the LJ energy parameter for the constituent LJ
particles and :math:`\sigma_a`, :math:`\sigma_b`, and :math:`\sigma_c`
are the radii of the ellipsoidal particles. :math:`\rho_{wall}` and
:math:`\rho_{ellipsoid}` are the number density of the constituent
particles, in the wall and ellipsoid respectively, in units of 1/volume.
where :math:`\epsilon` is the LJ energy parameter for the constituent
LJ particles and :math:`\sigma_a`, :math:`\sigma_b`, and
:math:`\sigma_c` are the radii of the ellipsoidal
particles. :math:`\rho_{wall}` and :math:`\rho_{ellipsoid}` are the
number density of the constituent particles, in the wall and ellipsoid
respectively, in units of 1/volume.
.. note::
@ -106,16 +115,56 @@ Fix *wall/region/ees* treats the surface of the geometric region defined
by the *region-ID* as a bounding wall which interacts with nearby
ellipsoidal particles according to the EES potential introduced above.
Other details of this command are the same as for the :doc:`fix wall/region <fix_wall_region>` command. One may also find an example
Other details of this command are the same as for the :doc:`fix
wall/region <fix_wall_region>` command. One may also find an example
of using this fix in the examples/USER/misc/ees/ directory.
----------
Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
No information about these fixes are written to :doc:`binary restart
files <restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
these fixes to add the energy of interaction between atoms and all the
specified walls or region wall to the global potential energy of the
system as part of :doc:`thermodynamic output <thermo_style>`. The
default settings for these fixes are :doc:`fix_modify energy no
<fix_modify>`.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by
these fixes. This allows to set at which level of the :doc:`r-RESPA
<run_style>` integrator the fix is adding its forces. Default is the
outermost level.
These fixes computes a global scalar and a global vector of forces,
which can be accessed by various :doc:`output commands
<Howto_output>`. See the :doc:`fix wall <fix_wall>` command for a
description of the scalar and vector.
No parameter of these fixes can be used with the *start/stop* keywords of
the :doc:`run <run>` command.
The forces due to these fixes are imposed during an energy
minimization, invoked by the :doc:`minimize <minimize>` command.
.. note::
If you want the atom/wall interaction energy to be included in
the total potential energy of the system (the quantity being
minimized), you MUST enable the :doc:`fix_modify <fix_modify>` *energy*
option for this fix.
Restrictions
""""""""""""
This fix is part of the USER-MISC package. It is only enabled if
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info.
These fixes are part of the USER-MISC package. They are only enabled
if LAMMPS was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
This fix requires that atoms be ellipsoids as defined by the
These fixes requires that atoms be ellipsoids as defined by the
:doc:`atom_style ellipsoid <atom_style>` command.
Related commands

View File

@ -194,24 +194,32 @@ Restart, fix_modify, output, run start/stop, minimize info
No information about this fix is written to :doc:`binary restart files <restart>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by this
fix to add the energy of interaction between atoms and the wall to the
system's potential energy as part of :doc:`thermodynamic output <thermo_style>`.
The :doc:`fix_modify <fix_modify>` *energy* option is supported by
this fix to add the energy of interaction between atoms and the region
wall to the global potential energy of the system as part of
:doc:`thermodynamic output <thermo_style>`. The default setting for
this fix is :doc:`fix_modify energy no <fix_modify>`.
The :doc:`fix_modify <fix_modify>` *virial* option is supported by this
fix to add the contribution due to the interaction between
atoms and each wall to the system's virial as part of :doc:`thermodynamic output <thermo_style>`. The default is *virial no*
The :doc:`fix_modify <fix_modify>` *virial* option is supported by
this fix to add the contribution due to the interaction between atoms
and the region wall to both the global pressure and per-atom stress of
the system via the :doc:`compute pressure <compute_pressure>` and
:doc:`compute stress/atom <compute_stress_atom>` commands. The former
can be accessed by :doc:`thermodynamic output <thermo_style>`. The
default setting for this fix is :doc:`fix_modify virial no
<fix_modify>`.
The :doc:`fix_modify <fix_modify>` *respa* option is supported by this
fix. This allows to set at which level of the :doc:`r-RESPA <run_style>`
integrator the fix is adding its forces. Default is the outermost level.
This fix computes a global scalar energy and a global 3-length vector
of forces, which can be accessed by various :doc:`output commands <Howto_output>`. The scalar energy is the sum of energy
interactions for all particles interacting with the wall represented
by the region surface. The 3 vector quantities are the x,y,z
components of the total force acting on the wall due to the particles.
The scalar and vector values calculated by this fix are "extensive".
of forces, which can be accessed by various :doc:`output commands
<Howto_output>`. The scalar energy is the sum of energy interactions
for all particles interacting with the wall represented by the region
surface. The 3 vector quantities are the x,y,z components of the
total force acting on the wall due to the particles. The scalar and
vector values calculated by this fix are "extensive".
No parameter of this fix can be used with the *start/stop* keywords of
the :doc:`run <run>` command.
@ -221,10 +229,10 @@ invoked by the :doc:`minimize <minimize>` command.
.. note::
If you want the atom/wall interaction energy to be included in
the total potential energy of the system (the quantity being
minimized), you MUST enable the :doc:`fix_modify <fix_modify>` *energy*
option for this fix.
If you want the atom/wall interaction energy to be included in the
total potential energy of the system (the quantity being
minimized), you MUST enable the :doc:`fix_modify <fix_modify>`
*energy* option for this fix.
Restrictions
""""""""""""

View File

@ -155,11 +155,11 @@ Restart, fix_modify, output, run start/stop, minimize info
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
This fix writes the state of the fix to :doc:`binary restart files
<restart>`. This includes information about the random number generator
seed, the next timestep for Widom insertions etc. See the
:doc:`read_restart <read_restart>` command for info on how to re-specify
a fix in an input script that reads a restart file, so that the
operation of the fix continues in an uninterrupted fashion.
<restart>`. This includes information about the random number
generator seed, the next timestep for Widom insertions etc. See the
:doc:`read_restart <read_restart>` command for info on how to
re-specify a fix in an input script that reads a restart file, so that
the operation of the fix continues in an uninterrupted fashion.
.. note::

View File

@ -1286,7 +1286,7 @@ to cite the OpenKIM project :ref:`(Tadmor) <kim-mainpaper>`, KIM API
in addition to the relevant scientific references for the IM.
The citation format for an IM is displayed on its page on
`OpenKIM <https://openkim.org>`_ along with the corresponding BibTex file,
and is automatically added to the LAMMPS *log.cite* file.
and is automatically added to the LAMMPS citation reminder.
Citing the IM software (KIM infrastructure and specific PM or SM codes)
used in the simulation gives credit to the researchers who developed them

View File

@ -11,10 +11,10 @@ Syntax
thermo_modify keyword value ...
* one or more keyword/value pairs may be listed
* keyword = *lost* or *lost/bond* or *norm* or *flush* or *line* or *format* or *temp* or *press*
.. parsed-literal::
keyword = *lost* or *lost/bond* or *norm* or *flush* or *line* or *format* or *temp* or *press*\ :l
*lost* value = *error* or *warn* or *ignore*
*lost/bond* value = *error* or *warn* or *ignore*
*norm* value = *yes* or *no*

View File

@ -20,9 +20,10 @@ Syntax
*custom* args = list of keywords
possible keywords = step, elapsed, elaplong, dt, time,
cpu, tpcpu, spcpu, cpuremain, part, timeremain,
atoms, temp, press, pe, ke, etotal, enthalpy,
atoms, temp, press, pe, ke, etotal,
evdwl, ecoul, epair, ebond, eangle, edihed, eimp,
emol, elong, etail,
enthalpy, ecouple, econserve,
vol, density, lx, ly, lz, xlo, xhi, ylo, yhi, zlo, zhi,
xy, xz, yz, xlat, ylat, zlat,
bonds, angles, dihedrals, impropers,
@ -49,7 +50,6 @@ Syntax
pe = total potential energy
ke = kinetic energy
etotal = total energy (pe + ke)
enthalpy = enthalpy (etotal + press\*vol)
evdwl = van der Waals pairwise energy (includes etail)
ecoul = Coulombic pairwise energy
epair = pairwise energy (evdwl + ecoul + elong)
@ -60,6 +60,9 @@ Syntax
emol = molecular energy (ebond + eangle + edihed + eimp)
elong = long-range kspace energy
etail = van der Waals energy long-range tail correction
enthalpy = enthalpy (etotal + press\*vol)
ecouple = cumulative energy change due to thermo/baro statting fixes
econserve = pe + ke + ecouple = etotal + ecouple
vol = volume
density = mass density of system
lx,ly,lz = box lengths in x,y,z
@ -197,27 +200,33 @@ change the attributes of this potential energy via the
The kinetic energy of the system *ke* is inferred from the temperature
of the system with :math:`\frac{1}{2} k_B T` of energy for each degree
of freedom. Thus, using different :doc:`compute commands <compute>` for
calculating temperature, via the :doc:`thermo_modify temp
of freedom. Thus, using different :doc:`compute commands <compute>`
for calculating temperature, via the :doc:`thermo_modify temp
<thermo_modify>` command, may yield different kinetic energies, since
different computes that calculate temperature can subtract out different
non-thermal components of velocity and/or include different degrees of
freedom (translational, rotational, etc).
different computes that calculate temperature can subtract out
different non-thermal components of velocity and/or include different
degrees of freedom (translational, rotational, etc).
The potential energy of the system *pe* will include contributions
from fixes if the :doc:`fix_modify thermo <fix_modify>` option is set
for a fix that calculates such a contribution. For example, the :doc:`fix wall/lj93 <fix_wall>` fix calculates the energy of atoms
from fixes if the :doc:`fix_modify energy yes <fix_modify>` option is
set for a fix that calculates such a contribution. For example, the
:doc:`fix wall/lj93 <fix_wall>` fix calculates the energy of atoms
interacting with the wall. See the doc pages for "individual fixes"
to see which ones contribute.
to see which ones contribute and whether their default
:doc:`fix_modify energy <fix_modify>` setting is *yes* or *no*\ .
A long-range tail correction *etail* for the van der Waals pairwise
energy will be non-zero only if the :doc:`pair_modify tail <pair_modify>` option is turned on. The *etail* contribution
is included in *evdwl*\ , *epair*\ , *pe*\ , and *etotal*\ , and the
energy will be non-zero only if the :doc:`pair_modify tail
<pair_modify>` option is turned on. The *etail* contribution is
included in *evdwl*\ , *epair*\ , *pe*\ , and *etotal*\ , and the
corresponding tail correction to the pressure is included in *press*
and *pxx*\ , *pyy*\ , etc.
----------
Here is more information on other keywords whose meaning may not be
clear:
The *step*\ , *elapsed*\ , and *elaplong* keywords refer to timestep
count. *Step* is the current timestep, or iteration count when a
:doc:`minimization <minimize>` is being performed. *Elapsed* is the
@ -228,13 +237,14 @@ keywords for the :doc:`run <run>` for info on how to invoke a series of
runs that keep track of an initial starting time. If these keywords
are not used, then *elapsed* and *elaplong* are the same value.
The *dt* keyword is the current timestep size in time
:doc:`units <units>`. The *time* keyword is the current elapsed
simulation time, also in time :doc:`units <units>`, which is simply
(step\*dt) if the timestep size has not changed and the timestep has
not been reset. If the timestep has changed (e.g. via :doc:`fix dt/reset <fix_dt_reset>`) or the timestep has been reset (e.g. via
the "reset_timestep" command), then the simulation time is effectively
a cumulative value up to the current point.
The *dt* keyword is the current timestep size in time :doc:`units
<units>`. The *time* keyword is the current elapsed simulation time,
also in time :doc:`units <units>`, which is simply (step\*dt) if the
timestep size has not changed and the timestep has not been reset. If
the timestep has changed (e.g. via :doc:`fix dt/reset <fix_dt_reset>`)
or the timestep has been reset (e.g. via the "reset_timestep"
command), then the simulation time is effectively a cumulative value
up to the current point.
The *cpu* keyword is elapsed CPU seconds since the beginning of this
run. The *tpcpu* and *spcpu* keywords are measures of how fast your
@ -266,16 +276,29 @@ a filename for output specific to this partition. See discussion of
the :doc:`-partition command-line switch <Run_options>` for details on
running in multi-partition mode.
The *timeremain* keyword returns the remaining seconds when a
timeout has been configured via the :doc:`timer timeout <timer>` command.
If the timeout timer is inactive, the value of this keyword is 0.0 and
if the timer is expired, it is negative. This allows for example to exit
The *timeremain* keyword is the seconds remaining when a timeout has
been configured via the :doc:`timer timeout <timer>` command. If the
timeout timer is inactive, the value of this keyword is 0.0 and if the
timer is expired, it is negative. This allows for example to exit
loops cleanly, if the timeout is expired with:
.. code-block:: LAMMPS
if "$(timeremain) < 0.0" then "quit 0"
The *ecouple* keyword is cumulative energy change in the system due to
any thermostatting or barostatting fixes that are being used. A
positive value means that energy has been subtracted from the system
(added to the coupling reservoir). See the *econserve* keyword for an
explanation of why this sign choice makes sense.
The *econserve* keyword is the sum of the potential and kinetic energy
of the system as well as the energy that has been transferred by
thermostatting or barostatting to their coupling reservoirs. I.e. it
is *pe* + *ke* + *econserve*\ . Ideally, for a simulation in the NVE,
NPH, or NPT ensembles, the *econserve* quantity should remain constant
over time.
The *fmax* and *fnorm* keywords are useful for monitoring the progress
of an :doc:`energy minimization <minimize>`. The *fmax* keyword
calculates the maximum force in any dimension on any atom in the
@ -295,12 +318,13 @@ to reduce the delay factor to insure no force interactions are missed
by atoms moving beyond the neighbor skin distance before a rebuild
takes place.
The keywords *cella*\ , *cellb*\ , *cellc*\ , *cellalpha*\ , *cellbeta*\ ,
*cellgamma*\ , correspond to the usual crystallographic quantities that
define the periodic unit cell of a crystal. See the :doc:`Howto triclinic <Howto_triclinic>` doc page for a geometric description
of triclinic periodic cells, including a precise definition of these
quantities in terms of the internal LAMMPS cell dimensions *lx*\ , *ly*\ ,
*lz*\ , *yz*\ , *xz*\ , *xy*\ .
The keywords *cella*\ , *cellb*\ , *cellc*\ , *cellalpha*\ ,
*cellbeta*\ , *cellgamma*\ , correspond to the usual crystallographic
quantities that define the periodic unit cell of a crystal. See the
:doc:`Howto triclinic <Howto_triclinic>` doc page for a geometric
description of triclinic periodic cells, including a precise
definition of these quantities in terms of the internal LAMMPS cell
dimensions *lx*\ , *ly*\ , *lz*\ , *yz*\ , *xz*\ , *xy*\ .
----------
@ -330,8 +354,8 @@ creates a global vector with 6 values.
----------
The *c_ID* and *c_ID[I]* and *c_ID[I][J]* keywords allow global
values calculated by a compute to be output. As discussed on the
The *c_ID* and *c_ID[I]* and *c_ID[I][J]* keywords allow global values
calculated by a compute to be output. As discussed on the
:doc:`compute <compute>` doc page, computes can calculate global,
per-atom, or local values. Only global values can be referenced by
this command. However, per-atom compute values for an individual atom
@ -353,12 +377,13 @@ kinetic energy that are summed over all atoms in the compute group.
Intensive quantities are printed directly without normalization by
thermo_style custom. Extensive quantities may be normalized by the
total number of atoms in the simulation (NOT the number of atoms in
the compute group) when output, depending on the :doc:`thermo_modify norm <thermo_modify>` option being used.
the compute group) when output, depending on the :doc:`thermo_modify
norm <thermo_modify>` option being used.
The *f_ID* and *f_ID[I]* and *f_ID[I][J]* keywords allow global
values calculated by a fix to be output. As discussed on the
:doc:`fix <fix>` doc page, fixes can calculate global, per-atom, or
local values. Only global values can be referenced by this command.
The *f_ID* and *f_ID[I]* and *f_ID[I][J]* keywords allow global values
calculated by a fix to be output. As discussed on the :doc:`fix
<fix>` doc page, fixes can calculate global, per-atom, or local
values. Only global values can be referenced by this command.
However, per-atom fix values can be referenced for an individual atom
in a :doc:`variable <variable>` and the variable referenced by
thermo_style custom, as discussed below. See the discussion above for
@ -377,8 +402,8 @@ energy that are summed over all atoms in the fix group. Intensive
quantities are printed directly without normalization by thermo_style
custom. Extensive quantities may be normalized by the total number of
atoms in the simulation (NOT the number of atoms in the fix group)
when output, depending on the :doc:`thermo_modify norm <thermo_modify>`
option being used.
when output, depending on the :doc:`thermo_modify norm
<thermo_modify>` option being used.
The *v_name* keyword allow the current value of a variable to be
output. The name in the keyword should be replaced by the variable

View File

@ -508,6 +508,7 @@ cpp
cpu
createatoms
createAtoms
CreateIDs
crespi
Crespi
Critchley
@ -597,6 +598,7 @@ Dcut
de
dE
De
deallocated
decorrelation
debye
Debye
@ -787,6 +789,7 @@ ees
eFF
efield
effm
eflag
eflux
eg
Eggebrecht
@ -2537,6 +2540,8 @@ Px
pxx
Pxx
Pxy
pxy
pxz
py
Py
pydir
@ -2548,10 +2553,13 @@ pymol
pypar
pythonic
pytorch
pyy
Pyy
pyz
pz
Pz
Pzz
pzz
qbmsst
qcore
qdist
@ -2680,6 +2688,7 @@ rfile
rg
Rg
Rhaphson
Rhe
rheological
rheology
rhodo
@ -3334,6 +3343,7 @@ verlet
Verlet
versa
ves
vflag
vhi
vibrational
Vij

View File

@ -31,7 +31,7 @@ neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin zeeman 0.0 0.0 0.0 1.0
fix_modify 1 energy yes
fix_modify 1 energy yes
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice moving

View File

@ -1,60 +1,60 @@
# fcc nickel in a 3d periodic box
clear
units metal
atom_style spin
units metal
atom_style spin
dimension 3
boundary p p p
dimension 3
boundary p p p
# necessary for the serial algorithm (sametag)
atom_modify map array
atom_modify map array
lattice fcc 3.524
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
create_atoms 1 box
lattice fcc 3.524
region box block 0.0 5.0 0.0 5.0 0.0 5.0
create_box 1 box
create_atoms 1 box
# setting mass, mag. moments, and interactions for cobalt
mass 1 58.69
mass 1 58.69
set group all spin/random 31 0.63
#set group all spin 0.63 0.0 0.0 1.0
velocity all create 100 4928459 rot yes dist gaussian
set group all spin/random 31 0.63
#set group all spin 0.63 0.0 0.0 1.0
velocity all create 100 4928459 rot yes dist gaussian
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Ni99.eam.alloy Ni
pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475
pair_style hybrid/overlay eam/alloy spin/exchange 4.0
pair_coeff * * eam/alloy Ni99.eam.alloy Ni
pair_coeff * * spin/exchange exchange 4.0 0.50 0.2280246862 1.229983475
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
neighbor 0.1 bin
neigh_modify every 10 check yes delay 20
fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 &
zeeman 0.0 0.0 0.0 1.0
fix_modify 1 energy yes
fix 2 all langevin/spin 0.0 0.0 21
fix 1 all precession/spin cubic -0.0001 0.0 1.0 0.0 0.0 0.0 1.0 0.0 0.0 0.0 1.0 &
zeeman 0.0 0.0 0.0 1.0
fix_modify 1 energy yes
fix 2 all langevin/spin 0.0 0.0 21
fix 3 all nve/spin lattice moving
timestep 0.0001
fix 3 all nve/spin lattice moving
timestep 0.0001
# compute and output options
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
compute out_mag all spin
compute out_pe all pe
compute out_ke all ke
compute out_temp all temp
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
variable magz equal c_out_mag[3]
variable magnorm equal c_out_mag[4]
variable emag equal c_out_mag[5]
variable tmag equal c_out_mag[6]
thermo_style custom step time v_magnorm pe v_emag temp v_tmag etotal
thermo 50
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
compute outsp all property/atom spx spy spz sp fmx fmy fmz
dump 1 all custom 50 dump.lammpstrj type x y z c_outsp[1] c_outsp[2] c_outsp[3] c_outsp[4] c_outsp[5] c_outsp[6] c_outsp[7]
run 1000
run 1000

0
examples/USER/dpd/dpdrx-shardlow/kinetics.dpdrx Executable file → Normal file
View File

0
examples/USER/dpd/dpdrx-shardlow/params.exp6 Executable file → Normal file
View File

0
examples/USER/dpd/dpdrx-shardlow/table.eos Executable file → Normal file
View File

0
examples/USER/dpd/dpdrx-shardlow/thermo.dpdrx Executable file → Normal file
View File

View File

@ -1,17 +0,0 @@
# rx heats of formation for various molecules
# multiple entries can be added to this file, LAMMPS reads the ones it needs
# the entries are in LAMMPS "metal" units (eV)
# Be sure the units are consistent with your input file
# format of a single entry (one or more lines):
# species DeltaHformation
rdx 1.989907438211819
hcn 1.400635733970104
no2 0.343004076201018
no 0.935781955892458
h2o -2.506184777415379
n2 0.000000000000000
h2 0.000000000000000
co -1.145533746031845
co2 -4.078501848437456

0
examples/USER/lb/confined_colloid/results64.out Executable file → Normal file
View File

0
examples/USER/lb/dragforce/data.one_radius16d2 Executable file → Normal file
View File

0
examples/USER/lb/dragforce/defaultgamma_drag.out Executable file → Normal file
View File

0
examples/USER/lb/dragforce/setgamma13d0_drag.out Executable file → Normal file
View File

0
examples/USER/lb/fourspheres/data.four Executable file → Normal file
View File

View File

0
examples/USER/lb/microrheology/data.two Executable file → Normal file
View File

View File

View File

0
examples/USER/lb/planewall/data.one_radius16d2 Executable file → Normal file
View File

Some files were not shown because too many files have changed in this diff Show More