forked from lijiext/lammps
173 lines
5.2 KiB
Plaintext
173 lines
5.2 KiB
Plaintext
.. index:: fix ti/rs
|
|
|
|
fix ti/rs command
|
|
=================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
fix ID group-ID ti/rs lambda_initial lambda_final t_switch t_equil keyword value ...
|
|
|
|
* ID, group-ID are documented in :doc:`fix <fix>` command
|
|
* ti/rs = style name of this fix command
|
|
* lambda_initial/lambda_final = initial/final values of the coupling parameter
|
|
* t_switch/t_equil = number of steps of the switching/equilibration procedure
|
|
* keyword = *function*
|
|
.. parsed-literal::
|
|
|
|
*function* value = function-ID
|
|
function-ID = ID of the switching function (1, 2 or 3)
|
|
|
|
|
|
|
|
**Example:**
|
|
|
|
.. parsed-literal::
|
|
|
|
fix ref all ti/rs 50.0 2000 1000
|
|
fix vf vacancy ti/rs 10.0 70000 50000 function 2
|
|
|
|
Description
|
|
"""""""""""
|
|
|
|
This fix allows you to compute the free energy temperature dependence
|
|
by performing a thermodynamic integration procedure known as
|
|
Reversible Scaling :ref:`(de Koning99, <deKoning99>` :ref:`de Koning00a) <deKoning00a>`. The thermodynamic integration is performed
|
|
using the nonequilibrium method of Adiabatic Switching
|
|
:ref:`(Watanabe, <Watanabe>` :ref:`de Koning96) <deKoning96>`.
|
|
|
|
The forces on the atoms are dynamically scaled during the simulation,
|
|
the rescaling is done in the following manner:
|
|
|
|
.. image:: Eqs/fix_ti_rs_force.jpg
|
|
:align: center
|
|
|
|
where F_int is the total force on the atoms due to the interatomic
|
|
potential and lambda is the coupling parameter of the thermodynamic
|
|
integration.
|
|
|
|
The fix acts as follows: during the first *t_equil* steps after the
|
|
fix is defined the value of lambda is *lambda_initial* , this is the
|
|
period to equilibrate the system in the lambda = *lambda_initial*
|
|
state. After this the value of lambda changes continuously from
|
|
*lambda_initial* to *lambda_final* according to the function defined
|
|
using the keyword *function* (described below), this is done in
|
|
*t_switch* steps. Then comes the second equilibration period of
|
|
*t_equil* to equilibrate the system in the lambda = *lambda_final*
|
|
state. After that the switching back to the lambda = *lambda_initial*
|
|
state is done using *t_switch* timesteps and following the same
|
|
switching function. After this period the value of lambda is kept
|
|
equal to *lambda_initial* indefinitely or until a :doc:`unfix <unfix>`
|
|
erase the fix.
|
|
|
|
The description of thermodynamic integration in both directions is
|
|
done in :ref:`de Koning00b <deKoning00b>`, the main reason is to try to
|
|
eliminate the dissipated heat due to the nonequilibrium process.
|
|
|
|
The *function* keyword allows the use of three different switching
|
|
rates. The option *1* results in a constant rescaling where the lambda
|
|
parameter changes at a constant rate during the switching time
|
|
according to the switching function
|
|
|
|
.. image:: Eqs/fix_ti_rs_function_1.jpg
|
|
:align: center
|
|
|
|
where tau is the scaled time variable t/t_switch. This switching
|
|
function has the characteristic that the temperature scaling is faster
|
|
at temperatures closer to the final temperature of the procedure. The
|
|
option number *2* performs the switching at a rate defined by the
|
|
following switching function
|
|
|
|
.. image:: Eqs/fix_ti_rs_function_2.jpg
|
|
:align: center
|
|
|
|
This switching function has the characteristic that the temperature
|
|
scaling occurs at a constant rate during all the procedure. The option
|
|
number *3* performs the switching at a rate defined by the following
|
|
switching function
|
|
|
|
.. image:: Eqs/fix_ti_rs_function_3.jpg
|
|
:align: center
|
|
|
|
This switching function has the characteristic that the temperature
|
|
scaling is faster at temperatures closer to the initial temperature of
|
|
the procedure.
|
|
|
|
An example script using this command is provided in the
|
|
examples/USER/misc/ti directory.
|
|
|
|
Restart, fix_modify, output, run start/stop, minimize info
|
|
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
|
|
|
|
No information about this fix is written to :doc:`binary restart files <restart>`.
|
|
|
|
This fix computes a global vector quantitie which can be accessed by
|
|
various :ref:`output commands <howto_15>`. The vector has
|
|
2 positions, the first one is the coupling parameter lambda and the
|
|
second one is the time derivative of lambda. 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.
|
|
|
|
The forces due to this fix are imposed during an energy minimization,
|
|
invoked by the :doc:`minimize <minimize>` command.
|
|
|
|
Related commands
|
|
""""""""""""""""
|
|
|
|
:doc:`fix ti/spring <fix_ti_spring>`
|
|
|
|
Restrictions
|
|
""""""""""""
|
|
|
|
|
|
This command is part of the USER-MISC package. It is only enabled if
|
|
LAMMPS was built with those packages. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
|
|
|
Default
|
|
"""""""
|
|
|
|
The keyword default is function = 1.
|
|
|
|
|
|
----------
|
|
|
|
|
|
.. _deKoning99:
|
|
|
|
|
|
|
|
**(de Koning 99)** M. de Koning, A. Antonelli and S. Yip, Phys Rev Lett, 83, 3973 (1999).
|
|
|
|
.. _Watanabe:
|
|
|
|
|
|
|
|
**(Watanabe)** M. Watanabe and W. P. Reinhardt, Phys Rev Lett, 65, 3301 (1990).
|
|
|
|
.. _deKoning96:
|
|
|
|
|
|
|
|
**(de Koning 96)** M. de Koning and A. Antonelli, Phys Rev E, 53, 465 (1996).
|
|
|
|
.. _deKoning00a:
|
|
|
|
|
|
|
|
**(de Koning 00a)** M. de Koning, A. Antonelli and S. Yip, J Chem Phys, 115, 11025 (2000).
|
|
|
|
.. _deKoning00b:
|
|
|
|
|
|
|
|
**(de Koning 00b)** M. de Koning et al., Computing in Science & Engineering, 2, 88 (2000).
|
|
|
|
|
|
.. _lws: http://lammps.sandia.gov
|
|
.. _ld: Manual.html
|
|
.. _lc: Section_commands.html#comm
|