103 lines
3.1 KiB
ReStructuredText
103 lines
3.1 KiB
ReStructuredText
.. index:: compute fep/ta
|
|
|
|
compute fep/ta command
|
|
======================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. code-block:: LAMMPS
|
|
|
|
compute ID group-ID fep/ta temp plane scale_factor keyword value ...
|
|
|
|
* ID, group-ID are documented in the :doc:`compute <compute>` command
|
|
* fep/ta = name of this compute command
|
|
* temp = external temperature (as specified for constant-temperature run)
|
|
* plane = *xy* or *xz* or *yz*
|
|
* scale_factor = multiplicative factor for change in plane area
|
|
* zero or more keyword/value pairs may be appended
|
|
* keyword = *tail*
|
|
|
|
.. parsed-literal::
|
|
|
|
*tail* value = *no* or *yes*
|
|
*no* = ignore tail correction to pair energies (usually small in fep)
|
|
*yes* = include tail correction to pair energies
|
|
|
|
Examples
|
|
""""""""
|
|
|
|
.. code-block:: LAMMPS
|
|
|
|
compute 1 all fep/ta 298 xy 1.0005
|
|
|
|
Description
|
|
"""""""""""
|
|
|
|
.. versionadded:: 4May2022
|
|
|
|
Define a computation that calculates the change in the free energy due
|
|
to a test-area (TA) perturbation :ref:`(Gloor) <Gloor>`. The test-area
|
|
approach can be used to determine the interfacial tension of the system
|
|
in a single simulation:
|
|
|
|
.. math::
|
|
|
|
\gamma = \lim_{\Delta \mathcal{A} \to 0} \left( \frac{\Delta A_{0 \to 1 }}{\Delta \mathcal{A}}\right)_{N,V,T}
|
|
= - \frac{k_B T}{\Delta \mathcal{A}} \ln \left\langle \exp\left(\frac{-(U_1 - U_0)}{k_B T}\right) \right\rangle_0
|
|
|
|
During the perturbation, both axes of *plane* are scaled by multiplying
|
|
:math:`\sqrt{\mathrm{scale\_factor}}`, while the other axis divided by
|
|
:math:`\mathrm{scale\_factor}` such that the overall volume of the system is
|
|
maintained.
|
|
|
|
The *tail* keyword controls the calculation of the tail correction to
|
|
"van der Waals" pair energies beyond the cutoff, if this has been
|
|
activated via the :doc:`pair_modify <pair_modify>` command. If the
|
|
perturbation is small, the tail contribution to the energy difference
|
|
between the reference and perturbed systems should be negligible.
|
|
|
|
----------
|
|
|
|
Output info
|
|
"""""""""""
|
|
|
|
This compute calculates a global vector of length 3 which contains the
|
|
energy difference :math:`(U_1-U_0)` as c_ID[1], the Boltzmann factor
|
|
:math:`\exp\bigl(-(U_1-U_0)/k_B T\bigr)`, as c_ID[2] and the change in the *plane*
|
|
area :math:`\Delta \mathcal{A}` as c_ID[3]. :math:`U_1` is the potential
|
|
energy of the perturbed state and :math:`U_0` is the potential energy of
|
|
the reference state. The energies include kspace terms if these are
|
|
used in the simulation.
|
|
|
|
These output results can be used by any command that uses a global
|
|
scalar or vector from a compute as input. See the :doc:`Howto output
|
|
<Howto_output>` page for an overview of LAMMPS output options. For
|
|
example, the computed values can be averaged using :doc:`fix ave/time
|
|
<fix_ave_time>`.
|
|
|
|
Restrictions
|
|
""""""""""""
|
|
|
|
Constraints, like fix shake, may lead to incorrect values for energy difference.
|
|
|
|
This compute is distributed as the FEP package. It is only enabled if
|
|
LAMMPS was built with that package. See the :doc:`Build package
|
|
<Build_package>` page for more info.
|
|
|
|
Related commands
|
|
""""""""""""""""
|
|
|
|
:doc:`compute fep <compute_fep>`
|
|
|
|
Default
|
|
"""""""
|
|
|
|
The option defaults are *tail* = *no*\ .
|
|
|
|
----------
|
|
|
|
.. _Gloor:
|
|
|
|
**(Gloor)** Gloor, J Chem Phys, 123, 134703 (2005)
|