forked from lijiext/lammps
287 lines
9.8 KiB
Plaintext
287 lines
9.8 KiB
Plaintext
.. index:: pair_style hbond/dreiding/lj
|
|
|
|
pair_style hbond/dreiding/lj command
|
|
====================================
|
|
|
|
pair_style hbond/dreiding/lj/omp command
|
|
========================================
|
|
|
|
pair_style hbond/dreiding/morse command
|
|
=======================================
|
|
|
|
pair_style hbond/dreiding/morse/omp command
|
|
===========================================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
pair_style style N inner_distance_cutoff outer_distance_cutoff angle_cutof
|
|
|
|
* style = *hbond/dreiding/lj* or *hbond/dreiding/morse*
|
|
* n = cosine angle periodicity
|
|
* inner_distance_cutoff = global inner cutoff for Donor-Acceptor interactions (distance units)
|
|
* outer_distance_cutoff = global cutoff for Donor-Acceptor interactions (distance units)
|
|
* angle_cutoff = global angle cutoff for Acceptor-Hydrogen-Donor
|
|
* interactions (degrees)
|
|
|
|
Examples
|
|
""""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/lj 4 9.0 11.0 90
|
|
pair_coeff 1 2 hbond/dreiding/lj 3 i 9.5 2.75 4 9.0 11.0 90.0
|
|
|
|
.. parsed-literal::
|
|
|
|
pair_style hybrid/overlay lj/cut 10.0 hbond/dreiding/morse 2 9.0 11.0 90
|
|
pair_coeff 1 2 hbond/dreiding/morse 3 i 3.88 1.7241379 2.9 2 9 11 90
|
|
|
|
Description
|
|
"""""""""""
|
|
|
|
The *hbond/dreiding* styles compute the Acceptor-Hydrogen-Donor (AHD)
|
|
3-body hydrogen bond interaction for the
|
|
:ref:`DREIDING <howto_4>` force field, given by:
|
|
|
|
.. image:: Eqs/pair_hbond_dreiding.jpg
|
|
:align: center
|
|
|
|
where Rin is the inner spline distance cutoff, Rout is the outer
|
|
distance cutoff, theta_c is the angle cutoff, and n is the cosine
|
|
periodicity.
|
|
|
|
Here, *r* is the radial distance between the donor (D) and acceptor
|
|
(A) atoms and *theta* is the bond angle between the acceptor, the
|
|
hydrogen (H) and the donor atoms:
|
|
|
|
.. image:: Eqs/dreiding_hbond.jpg
|
|
:align: center
|
|
|
|
These 3-body interactions can be defined for pairs of acceptor and
|
|
donor atoms, based on atom types. For each donor/acceptor atom pair,
|
|
the 3rd atom in the interaction is a hydrogen permanently bonded to
|
|
the donor atom, e.g. in a bond list read in from a data file via the
|
|
:doc:`read_data <read_data>` command. The atom types of possible
|
|
hydrogen atoms for each donor/acceptor type pair are specified by the
|
|
:doc:`pair_coeff <pair_coeff>` command (see below).
|
|
|
|
Style *hbond/dreiding/lj* is the original DREIDING potential of
|
|
:ref:`(Mayo) <pair-Mayo>`. It uses a LJ 12/10 functional for the Donor-Acceptor
|
|
interactions. To match the results in the original paper, use n = 4.
|
|
|
|
Style *hbond/dreiding/morse* is an improved version using a Morse
|
|
potential for the Donor-Acceptor interactions. :ref:`(Liu) <Liu>` showed
|
|
that the Morse form gives improved results for Dendrimer simulations,
|
|
when n = 2.
|
|
|
|
See this :ref:`howto section <howto_4>` of the manual for
|
|
more information on the DREIDING forcefield.
|
|
|
|
.. note::
|
|
|
|
Because the Dreiding hydrogen bond potential is only one portion
|
|
of an overall force field which typically includes other pairwise
|
|
interactions, it is common to use it as a sub-style in a :doc:`pair_style hybrid/overlay <pair_hybrid>` command, where another pair style
|
|
provides the repulsive core interaction between pairs of atoms, e.g. a
|
|
1/r^12 Lennard-Jones repulsion.
|
|
|
|
.. note::
|
|
|
|
When using the hbond/dreiding pair styles with :doc:`pair_style hybrid/overlay <pair_hybrid>`, you should explicitly define pair
|
|
interactions between the donor atom and acceptor atoms, (as well as
|
|
between these atoms and ALL other atoms in your system). Whenever
|
|
:doc:`pair_style hybrid/overlay <pair_hybrid>` is used, ordinary mixing
|
|
rules are not applied to atoms like the donor and acceptor atoms
|
|
because they are typically referenced in multiple pair styles.
|
|
Neglecting to do this can cause difficult-to-detect physics problems.
|
|
|
|
.. note::
|
|
|
|
In the original Dreiding force field paper 1-4 non-bonded
|
|
interactions ARE allowed. If this is desired for your model, use the
|
|
special_bonds command (e.g. "special_bonds lj 0.0 0.0 1.0") to turn
|
|
these interactions on.
|
|
|
|
|
|
----------
|
|
|
|
|
|
The following coefficients must be defined for pairs of eligible
|
|
donor/acceptor types via the :doc:`pair_coeff <pair_coeff>` command as
|
|
in the examples above.
|
|
|
|
.. note::
|
|
|
|
Unlike other pair styles and their associated
|
|
:doc:`pair_coeff <pair_coeff>` commands, you do not need to specify
|
|
pair_coeff settings for all possible I,J type pairs. Only I,J type
|
|
pairs for atoms which act as joint donors/acceptors need to be
|
|
specified; all other type pairs are assumed to be inactive.
|
|
|
|
.. note::
|
|
|
|
A :doc:`pair_coeff <pair_coeff>` command can be speficied multiple
|
|
times for the same donor/acceptor type pair. This enables multiple
|
|
hydrogen types to be assigned to the same donor/acceptor type pair.
|
|
For other pair_styles, if the pair_coeff command is re-used for the
|
|
same I.J type pair, the settings for that type pair are overwritten.
|
|
For the hydrogen bond potentials this is not the case; the settings
|
|
are cummulative. This means the only way to turn off a previous
|
|
setting, is to re-use the pair_style command and start over.
|
|
|
|
For the *hbond/dreiding/lj* style the list of coefficients is as
|
|
follows:
|
|
|
|
* K = hydrogen atom type = 1 to Ntypes
|
|
* donor flag = *i* or *j*
|
|
* epsilon (energy units)
|
|
* sigma (distance units)
|
|
* n = exponent in formula above
|
|
* distance cutoff Rin (distance units)
|
|
* distance cutoff Rout (distance units)
|
|
* angle cutoff (degrees)
|
|
|
|
For the *hbond/dreiding/morse* style the list of coefficients is as
|
|
follows:
|
|
|
|
* K = hydrogen atom type = 1 to Ntypes
|
|
* donor flag = *i* or *j*
|
|
* D0 (energy units)
|
|
* alpha (1/distance units)
|
|
* r0 (distance units)
|
|
* n = exponent in formula above
|
|
* distance cutoff Rin (distance units)
|
|
* distance cutoff Rout (distance units)
|
|
* angle cutoff (degrees)
|
|
|
|
A single hydrogen atom type K can be specified, or a wild-card
|
|
asterisk can be used in place of or in conjunction with the K
|
|
arguments to select multiple types as hydrogens. This takes the form
|
|
"*" or "*n" or "n*" or "m*n". See the `pair_coeff <pair_coeff>`_ command
|
|
doc page for details.
|
|
|
|
If the donor flag is *i*\ , then the atom of type I in the pair_coeff
|
|
command is treated as the donor, and J is the acceptor. If the donor
|
|
flag is *j*\ , then the atom of type J in the pair_coeff command is
|
|
treated as the donor and I is the donor. This option is required
|
|
because the :doc:`pair_coeff <pair_coeff>` command requires that I <= J.
|
|
|
|
Epsilon and sigma are settings for the hydrogen bond potential based
|
|
on a Lennard-Jones functional form. Note that sigma is defined as the
|
|
zero-crossing distance for the potential, not as the energy minimum at
|
|
2^(1/6) sigma.
|
|
|
|
D0 and alpha and r0 are settings for the hydrogen bond potential based
|
|
on a Morse functional form.
|
|
|
|
The last 3 coefficients for both styles are optional. If not
|
|
specified, the global n, distance cutoff, and angle cutoff specified
|
|
in the pair_style command are used. If you wish to only override the
|
|
2nd or 3rd optional parameter, you must also specify the preceding
|
|
optional parameters.
|
|
|
|
|
|
----------
|
|
|
|
|
|
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.
|
|
|
|
|
|
----------
|
|
|
|
|
|
**Mixing, shift, table, tail correction, restart, rRESPA info**\ :
|
|
|
|
These pair styles do not support mixing. You must explicitly identify
|
|
each donor/acceptor type pair.
|
|
|
|
These styles do not support the :doc:`pair_modify <pair_modify>` shift
|
|
option for the energy of the interactions.
|
|
|
|
The :doc:`pair_modify <pair_modify>` table option is not relevant for
|
|
these pair styles.
|
|
|
|
These pair styles do not support the :doc:`pair_modify <pair_modify>`
|
|
tail option for adding long-range tail corrections to energy and
|
|
pressure.
|
|
|
|
These pair styles do not write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands need to be
|
|
re-specified in an input script that reads a restart file.
|
|
|
|
These pair styles can only be used via the *pair* keyword of the
|
|
:doc:`run_style respa <run_style>` command. They do not support the
|
|
*inner*\ , *middle*\ , *outer* keywords.
|
|
|
|
These pair styles tally a count of how many hydrogen bonding
|
|
interactions they calculate each timestep and the hbond energy. These
|
|
quantities can be accessed via the :doc:`compute pair <compute_pair>`
|
|
command as a vector of values of length 2.
|
|
|
|
To print these quantities to the log file (with a descriptive column
|
|
heading) the following commands could be included in an input script:
|
|
|
|
.. parsed-literal::
|
|
|
|
compute hb all pair hbond/dreiding/lj
|
|
variable n_hbond equal c_hb[1] #number hbonds
|
|
variable E_hbond equal c_hb[2] #hbond energy
|
|
thermo_style custom step temp epair v_E_hbond
|
|
|
|
|
|
----------
|
|
|
|
|
|
Restrictions
|
|
""""""""""""
|
|
none
|
|
|
|
Related commands
|
|
""""""""""""""""
|
|
|
|
:doc:`pair_coeff <pair_coeff>`
|
|
|
|
**Default:** none
|
|
|
|
|
|
----------
|
|
|
|
|
|
.. _pair-Mayo:
|
|
|
|
|
|
|
|
**(Mayo)** Mayo, Olfason, Goddard III, J Phys Chem, 94, 8897-8909
|
|
(1990).
|
|
|
|
.. _Liu:
|
|
|
|
|
|
|
|
**(Liu)** Liu, Bryantsev, Diallo, Goddard III, J. Am. Chem. Soc 131 (8)
|
|
2798 (2009)
|
|
|
|
|
|
.. _lws: http://lammps.sandia.gov
|
|
.. _ld: Manual.html
|
|
.. _lc: Section_commands.html#comm
|