forked from lijiext/lammps
165 lines
4.9 KiB
Plaintext
165 lines
4.9 KiB
Plaintext
.. index:: fix qeq/comb
|
|
|
|
fix qeq/comb command
|
|
====================
|
|
|
|
fix qeq/comb/omp command
|
|
========================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
fix ID group-ID qeq/comb Nevery precision keyword value ...
|
|
|
|
* ID, group-ID are documented in :doc:`fix <fix>` command
|
|
* qeq/comb = style name of this fix command
|
|
* Nevery = perform charge equilibration every this many steps
|
|
* precision = convergence criterion for charge equilibration
|
|
* zero or more keyword/value pairs may be appended
|
|
* keyword = *file*
|
|
.. parsed-literal::
|
|
|
|
*file* value = filename
|
|
filename = name of file to write QEQ equilibration info to
|
|
|
|
|
|
|
|
Examples
|
|
""""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
fix 1 surface qeq/comb 10 0.0001
|
|
|
|
Description
|
|
"""""""""""
|
|
|
|
Perform charge equilibration (QeQ) in conjunction with the COMB
|
|
(Charge-Optimized Many-Body) potential as described in
|
|
:ref:`(COMB_1) <COMB_1>` and :ref:`(COMB_2) <COMB_2>`. It performs the charge
|
|
equilibration portion of the calculation using the so-called QEq
|
|
method, whereby the charge on each atom is adjusted to minimize the
|
|
energy of the system. This fix can only be used with the COMB
|
|
potential; see the :doc:`fix qeq/reax <fix_qeq_reax>` command for a QeQ
|
|
calculation that can be used with any potential.
|
|
|
|
Only charges on the atoms in the specified group are equilibrated.
|
|
The fix relies on the pair style (COMB in this case) to calculate the
|
|
per-atom electronegativity (effective force on the charges). An
|
|
electronegativity equalization calculation (or QEq) is performed in an
|
|
interative fashion, which in parallel requires communication at each
|
|
iteration for processors to exchange charge information about nearby
|
|
atoms with each other. See :ref:`Rappe_and_Goddard <Rappe_and_Goddard>` and
|
|
:ref:`Rick_and_Stuart <Rick_and_Stuart>` for details.
|
|
|
|
During a run, charge equilibration is peformed every *Nevery* time
|
|
steps. Charge equilibration is also always enforced on the first step
|
|
of each run. The *precision* argument controls the tolerance for the
|
|
difference in electronegativity for all atoms during charge
|
|
equilibration. *Precision* is a trade-off between the cost of
|
|
performing charge equilibration (more iterations) and accuracy.
|
|
|
|
If the *file* keyword is used, then information about each
|
|
equilibration calculation is written to the specifed file.
|
|
|
|
|
|
----------
|
|
|
|
|
|
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
|
functionally the same as the corresponding style without the suffix.
|
|
They have been optimized to run faster, depending on your available
|
|
hardware, as discussed in :doc:`Section_accelerate <Section_accelerate>`
|
|
of the manual. The accelerated styles take the same arguments and
|
|
should produce the same results, except for round-off and precision
|
|
issues.
|
|
|
|
These accelerated styles are part of the GPU, USER-INTEL, KOKKOS,
|
|
USER-OMP and OPT packages, respectively. They are only enabled if
|
|
LAMMPS was built with those packages. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
|
|
|
You can specify the accelerated styles explicitly in your input script
|
|
by including their suffix, or you can use the :ref:`-suffix command-line switch <start_7>` when you invoke LAMMPS, or you can
|
|
use the :doc:`suffix <suffix>` command in your input script.
|
|
|
|
See :doc:`Section_accelerate <Section_accelerate>` of the manual for
|
|
more instructions on how to use the accelerated styles effectively.
|
|
|
|
|
|
----------
|
|
|
|
|
|
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>` *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 performing charge equilibration. Default is
|
|
the outermost level.
|
|
|
|
This fix produces a per-atom vector which can be accessed by various
|
|
:ref:`output commands <howto_15>`. The vector stores the
|
|
gradient of the charge on each atom. The per-atom values 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 can be invoked during :doc:`energy minimization <minimize>`.
|
|
|
|
Restrictions
|
|
""""""""""""
|
|
|
|
|
|
This fix command currently only supports :doc:`pair style *comb*\ <pair_comb>`.
|
|
|
|
Related commands
|
|
""""""""""""""""
|
|
|
|
:doc:`pair_style comb <pair_comb>`
|
|
|
|
Default
|
|
"""""""
|
|
|
|
No file output is performed.
|
|
|
|
|
|
----------
|
|
|
|
|
|
.. _COMB_1:
|
|
|
|
|
|
|
|
**(COMB_1)** J. Yu, S. B. Sinnott, S. R. Phillpot, Phys Rev B, 75, 085311 (2007),
|
|
|
|
.. _COMB_2:
|
|
|
|
|
|
|
|
**(COMB_2)** T.-R. Shan, B. D. Devine, T. W. Kemper, S. B. Sinnott, S. R.
|
|
Phillpot, Phys Rev B, 81, 125328 (2010).
|
|
|
|
.. _Rappe_and_Goddard:
|
|
|
|
|
|
|
|
**(Rappe_and_Goddard)** A. K. Rappe, W. A. Goddard, J Phys Chem 95, 3358
|
|
(1991).
|
|
|
|
.. _Rick_and_Stuart:
|
|
|
|
|
|
|
|
**(Rick_and_Stuart)** S. W. Rick, S. J. Stuart, B. J. Berne, J Chem Phys
|
|
101, 16141 (1994).
|
|
|
|
|
|
.. _lws: http://lammps.sandia.gov
|
|
.. _ld: Manual.html
|
|
.. _lc: Section_commands.html#comm
|