2016-05-10 01:22:38 +08:00
|
|
|
.. index:: pair_style morse
|
|
|
|
|
|
|
|
pair_style morse command
|
|
|
|
========================
|
|
|
|
|
|
|
|
pair_style morse/gpu command
|
|
|
|
============================
|
|
|
|
|
|
|
|
pair_style morse/omp command
|
|
|
|
============================
|
|
|
|
|
|
|
|
pair_style morse/opt command
|
|
|
|
============================
|
|
|
|
|
|
|
|
pair_style morse/smooth/linear command
|
|
|
|
======================================
|
|
|
|
|
|
|
|
pair_style morse/smooth/linear/omp command
|
|
|
|
==========================================
|
|
|
|
|
2016-06-02 22:09:19 +08:00
|
|
|
pair_style morse/soft command
|
|
|
|
=============================
|
|
|
|
|
2016-05-10 01:22:38 +08:00
|
|
|
Syntax
|
|
|
|
""""""
|
|
|
|
|
|
|
|
.. parsed-literal::
|
|
|
|
|
2016-06-02 22:09:19 +08:00
|
|
|
pair_style style args
|
|
|
|
|
|
|
|
* style = *morse* or *morse/smooth/linear* or *morse/soft*
|
|
|
|
* args = list of arguments for a particular style
|
2016-05-10 01:22:38 +08:00
|
|
|
|
2016-06-02 22:09:19 +08:00
|
|
|
.. parsed-literal::
|
|
|
|
|
|
|
|
*morse* args = cutoff
|
|
|
|
cutoff = global cutoff for Morse interactions (distance units)
|
|
|
|
*morse/smooth/linear* args = cutoff
|
|
|
|
cutoff = global cutoff for Morse interactions (distance units)
|
|
|
|
*morse/soft* args = n lf cutoff
|
|
|
|
n = soft-core parameter
|
|
|
|
lf = transformation range is lf < lambda < 1
|
|
|
|
cutoff = global cutoff for Morse interactions (distance units)
|
2016-05-10 01:22:38 +08:00
|
|
|
|
|
|
|
Examples
|
|
|
|
""""""""
|
|
|
|
|
2016-06-02 22:09:19 +08:00
|
|
|
pair_style morse 2.5
|
|
|
|
pair_style morse/smooth/linear 2.5
|
|
|
|
pair_coeff * * 100.0 2.0 1.5
|
|
|
|
pair_coeff 1 1 100.0 2.0 1.5 3.0
|
|
|
|
|
2016-05-10 01:22:38 +08:00
|
|
|
.. parsed-literal::
|
|
|
|
|
2016-06-02 22:09:19 +08:00
|
|
|
pair_style morse/soft 4 0.9 10.0
|
|
|
|
pair_coeff * * 100.0 2.0 1.5 1.0
|
|
|
|
pair_coeff 1 1 100.0 2.0 1.5 1.0 3.0
|
2016-05-10 01:22:38 +08:00
|
|
|
|
|
|
|
Description
|
|
|
|
"""""""""""
|
|
|
|
|
|
|
|
Style *morse* computes pairwise interactions with the formula
|
|
|
|
|
|
|
|
.. image:: Eqs/pair_morse.jpg
|
|
|
|
:align: center
|
|
|
|
|
|
|
|
Rc is the cutoff.
|
|
|
|
|
|
|
|
The following coefficients must be defined for each pair of atoms
|
|
|
|
types via the :doc:`pair_coeff <pair_coeff>` command as in the examples
|
|
|
|
above, or in the data file or restart files read by the
|
|
|
|
:doc:`read_data <read_data>` or :doc:`read_restart <read_restart>`
|
|
|
|
commands:
|
|
|
|
|
|
|
|
* D0 (energy units)
|
|
|
|
* alpha (1/distance units)
|
|
|
|
* r0 (distance units)
|
|
|
|
* cutoff (distance units)
|
|
|
|
|
2016-06-02 22:09:19 +08:00
|
|
|
The last coefficient is optional. If not specified, the global morse
|
|
|
|
cutoff is used.
|
2016-05-10 01:22:38 +08:00
|
|
|
|
|
|
|
|
|
|
|
----------
|
|
|
|
|
|
|
|
|
2016-06-02 22:09:19 +08:00
|
|
|
The *morse/smooth/linear* variant is similar to the lj/smooth/linear
|
|
|
|
variant in that it adds to the potential a shift and a linear term
|
|
|
|
so that both, potential energy and force, go to zero at the cut-off:
|
2016-05-10 01:22:38 +08:00
|
|
|
|
|
|
|
.. image:: Eqs/pair_morse_smooth_linear.jpg
|
|
|
|
:align: center
|
|
|
|
|
|
|
|
The syntax of the pair_style and pair_coeff commands are the same for
|
|
|
|
the *morse* and *morse/smooth/linear* styles.
|
|
|
|
|
|
|
|
|
|
|
|
----------
|
|
|
|
|
|
|
|
|
2016-06-02 22:09:19 +08:00
|
|
|
The *morse/soft* variant is similar to the *lj/cut/soft* pair style
|
|
|
|
in that it modifies the potential at short range to have a soft core.
|
|
|
|
This helps to avoid singularities during free energy calculation in
|
|
|
|
which sites are created or anihilated. The formula differs from that
|
|
|
|
of *lj/cut/soft*\ , and is instead given by:
|
|
|
|
|
|
|
|
.. image:: Eqs/pair_morse_soft.jpg
|
|
|
|
:align: center
|
|
|
|
|
|
|
|
The *morse/soft* style requires the following pair coefficients:
|
|
|
|
|
|
|
|
* D0 (energy units)
|
|
|
|
* alpha (1/distance units)
|
|
|
|
* r0 (distance units)
|
|
|
|
* lamda (unitless, between 0.0 and 1.0)
|
|
|
|
* cutoff (distance units)
|
|
|
|
|
|
|
|
The last coefficient is optional. If not specified, the global morse
|
|
|
|
cutoff is used.
|
|
|
|
|
|
|
|
|
|
|
|
----------
|
|
|
|
|
|
|
|
|
2016-06-01 00:07:15 +08:00
|
|
|
Styles with a *gpu*\ , *intel*\ , *kk*\ , *omp*\ , or *opt* suffix are
|
2016-05-10 01:22:38 +08:00
|
|
|
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.
|
|
|
|
|
2016-06-01 00:07:15 +08:00
|
|
|
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.
|
2016-05-10 01:22:38 +08:00
|
|
|
|
|
|
|
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**\ :
|
|
|
|
|
|
|
|
None of these pair styles support mixing. Thus, coefficients for all
|
|
|
|
I,J pairs must be specified explicitly.
|
|
|
|
|
|
|
|
All of these pair styles support the :doc:`pair_modify <pair_modify>`
|
|
|
|
shift option for the energy of the pair interaction.
|
|
|
|
|
|
|
|
The :doc:`pair_modify <pair_modify>` table options is not relevant for
|
|
|
|
the Morse pair styles.
|
|
|
|
|
|
|
|
None of these pair styles support the :doc:`pair_modify <pair_modify>`
|
|
|
|
tail option for adding long-range tail corrections to energy and
|
|
|
|
pressure.
|
|
|
|
|
|
|
|
All of these pair styles write their information to :doc:`binary restart files <restart>`, so pair_style and pair_coeff commands do not need
|
|
|
|
to be 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.
|
|
|
|
|
|
|
|
|
|
|
|
----------
|
|
|
|
|
|
|
|
|
|
|
|
Restrictions
|
|
|
|
""""""""""""
|
|
|
|
|
|
|
|
|
|
|
|
The *morse/smooth/linear* pair style is only enabled if LAMMPS was
|
|
|
|
built with the USER-MISC package. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
|
|
|
|
2016-06-02 22:09:19 +08:00
|
|
|
The *morse/soft* pair style is only enabled if LAMMPS was built with
|
|
|
|
the USER-FEP package. See the :ref:`Making LAMMPS <start_3>` section for more info.
|
|
|
|
|
2016-05-10 01:22:38 +08:00
|
|
|
Related commands
|
|
|
|
""""""""""""""""
|
|
|
|
|
|
|
|
:doc:`pair_coeff <pair_coeff>`
|
|
|
|
|
|
|
|
**Default:** none
|
|
|
|
|
|
|
|
|
|
|
|
.. _lws: http://lammps.sandia.gov
|
|
|
|
.. _ld: Manual.html
|
|
|
|
.. _lc: Section_commands.html#comm
|