forked from lijiext/lammps
118 lines
3.1 KiB
Plaintext
118 lines
3.1 KiB
Plaintext
.. index:: compute cna/atom
|
|
|
|
compute cna/atom command
|
|
========================
|
|
|
|
Syntax
|
|
""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
compute ID group-ID cna/atom cutoff
|
|
|
|
* ID, group-ID are documented in :doc:`compute <compute>` command
|
|
* cna/atom = style name of this compute command
|
|
* cutoff = cutoff distance for nearest neighbors (distance units)
|
|
|
|
Examples
|
|
""""""""
|
|
|
|
.. parsed-literal::
|
|
|
|
compute 1 all cna/atom 3.08
|
|
|
|
Description
|
|
"""""""""""
|
|
|
|
Define a computation that calculates the CNA (Common Neighbor
|
|
Analysis) pattern for each atom in the group. In solid-state systems
|
|
the CNA pattern is a useful measure of the local crystal structure
|
|
around an atom. The CNA methodology is described in :ref:`(Faken) <Faken>`
|
|
and :ref:`(Tsuzuki) <Tsuzuki>`.
|
|
|
|
Currently, there are five kinds of CNA patterns LAMMPS recognizes:
|
|
|
|
* fcc = 1
|
|
* hcp = 2
|
|
* bcc = 3
|
|
* icosohedral = 4
|
|
* unknown = 5
|
|
|
|
The value of the CNA pattern will be 0 for atoms not in the specified
|
|
compute group. Note that normally a CNA calculation should only be
|
|
performed on mono-component systems.
|
|
|
|
The CNA calculation can be sensitive to the specified cutoff value.
|
|
You should insure the appropriate nearest neighbors of an atom are
|
|
found within the cutoff distance for the presumed crystal strucure.
|
|
E.g. 12 nearest neighbor for perfect FCC and HCP crystals, 14 nearest
|
|
neighbors for perfect BCC crystals. These formulas can be used to
|
|
obtain a good cutoff distance:
|
|
|
|
.. image:: Eqs/cna_cutoff1.jpg
|
|
:align: center
|
|
|
|
where a is the lattice constant for the crystal structure concerned
|
|
and in the HCP case, x = (c/a) / 1.633, where 1.633 is the ideal c/a
|
|
for HCP crystals.
|
|
|
|
Also note that since the CNA calculation in LAMMPS uses the neighbors
|
|
of an owned atom to find the nearest neighbors of a ghost atom, the
|
|
following relation should also be satisfied:
|
|
|
|
.. image:: Eqs/cna_cutoff2.jpg
|
|
:align: center
|
|
|
|
where Rc is the cutoff distance of the potential, Rs is the skin
|
|
distance as specified by the :doc:`neighbor <neighbor>` command, and
|
|
cutoff is the argument used with the compute cna/atom command. LAMMPS
|
|
will issue a warning if this is not the case.
|
|
|
|
The neighbor list needed to compute this quantity is constructed each
|
|
time the calculation is performed (e.g. each time a snapshot of atoms
|
|
is dumped). Thus it can be inefficient to compute/dump this quantity
|
|
too frequently or to have multiple compute/dump commands, each with a
|
|
*cna/atom* style.
|
|
|
|
**Output info:**
|
|
|
|
This compute calculates a per-atom vector, which can be accessed by
|
|
any command that uses per-atom values from a compute as input. See
|
|
:ref:`Section_howto 15 <howto_15>` for an overview of
|
|
LAMMPS output options.
|
|
|
|
The per-atom vector values will be a number from 0 to 5, as explained
|
|
above.
|
|
|
|
Restrictions
|
|
""""""""""""
|
|
none
|
|
|
|
Related commands
|
|
""""""""""""""""
|
|
|
|
:doc:`compute centro/atom <compute_centro_atom>`
|
|
|
|
**Default:** none
|
|
|
|
|
|
----------
|
|
|
|
|
|
.. _Faken:
|
|
|
|
|
|
|
|
**(Faken)** Faken, Jonsson, Comput Mater Sci, 2, 279 (1994).
|
|
|
|
.. _Tsuzuki:
|
|
|
|
|
|
|
|
**(Tsuzuki)** Tsuzuki, Branicio, Rino, Comput Phys Comm, 177, 518 (2007).
|
|
|
|
|
|
.. _lws: http://lammps.sandia.gov
|
|
.. _ld: Manual.html
|
|
.. _lc: Section_commands.html#comm
|