forked from lijiext/lammps
380 lines
19 KiB
HTML
380 lines
19 KiB
HTML
|
|
|
|
<!DOCTYPE html>
|
|
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
|
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<title>pair_style polymorphic command — LAMMPS documentation</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" />
|
|
|
|
|
|
|
|
<link rel="top" title="LAMMPS documentation" href="index.html"/>
|
|
|
|
|
|
<script src="_static/js/modernizr.min.js"></script>
|
|
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav" role="document">
|
|
|
|
<div class="wy-grid-for-nav">
|
|
|
|
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
<div class="wy-side-nav-search">
|
|
|
|
|
|
|
|
<a href="Manual.html" class="icon icon-home"> LAMMPS
|
|
|
|
|
|
|
|
</a>
|
|
|
|
|
|
<div role="search">
|
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
|
|
|
|
|
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li>
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
|
|
|
|
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="Manual.html">LAMMPS</a>
|
|
</nav>
|
|
|
|
|
|
|
|
<div class="wy-nav-content">
|
|
<div class="rst-content">
|
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
|
<ul class="wy-breadcrumbs">
|
|
<li><a href="Manual.html">Docs</a> »</li>
|
|
|
|
<li>pair_style polymorphic command</li>
|
|
<li class="wy-breadcrumbs-aside">
|
|
|
|
|
|
<a href="http://lammps.sandia.gov">Website</a>
|
|
<a href="Section_commands.html#comm">Commands</a>
|
|
|
|
</li>
|
|
</ul>
|
|
<hr/>
|
|
|
|
</div>
|
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
<div itemprop="articleBody">
|
|
|
|
<div class="section" id="pair-style-polymorphic-command">
|
|
<span id="index-0"></span><h1>pair_style polymorphic command</h1>
|
|
<div class="section" id="syntax">
|
|
<h2>Syntax</h2>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">pair_style</span> <span class="n">polymorphic</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>style = <em>polymorphic</em></p>
|
|
</div>
|
|
<div class="section" id="examples">
|
|
<h2>Examples</h2>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">pair_style</span> <span class="n">polymorphic</span>
|
|
<span class="n">pair_coeff</span> <span class="o">*</span> <span class="o">*</span> <span class="n">TlBr_msw</span><span class="o">.</span><span class="n">polymorphic</span> <span class="n">Tl</span> <span class="n">Br</span>
|
|
<span class="n">pair_coeff</span> <span class="o">*</span> <span class="o">*</span> <span class="n">AlCu_eam</span><span class="o">.</span><span class="n">polymorphic</span> <span class="n">Al</span> <span class="n">Cu</span>
|
|
<span class="n">pair_coeff</span> <span class="o">*</span> <span class="o">*</span> <span class="n">GaN_tersoff</span><span class="o">.</span><span class="n">polymorphic</span> <span class="n">Ga</span> <span class="n">N</span>
|
|
<span class="n">pair_coeff</span> <span class="o">*</span> <span class="o">*</span> <span class="n">GaN_sw</span><span class="o">.</span><span class="n">polymorphic</span> <span class="n">GaN</span>
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="description">
|
|
<h2>Description</h2>
|
|
<p>The <em>polymorphic</em> pair style computes a 3-body free-form potential
|
|
(<a class="reference internal" href="#zhou"><span class="std std-ref">Zhou</span></a>) for the energy E of a system of atoms as</p>
|
|
<img alt="_images/polymorphic1.jpg" class="align-center" src="_images/polymorphic1.jpg" />
|
|
<img alt="_images/polymorphic2.jpg" class="align-center" src="_images/polymorphic2.jpg" />
|
|
<img alt="_images/polymorphic3.jpg" class="align-center" src="_images/polymorphic3.jpg" />
|
|
<p>where I, J, K represent species of atoms i, j, and k, i_1, ..., i_N
|
|
represents a list of i’s neighbors, delta_ij is a Direc constant
|
|
(i.e., delta_ij = 1 when i = j, and delta_ij = 0 otherwise), eta_ij is
|
|
similar constant that can be set either to eta_ij = delta_ij or eta_ij
|
|
= 1 - delta_ij depending on the potential type, U_IJ(r_ij),
|
|
V_IJ(r_ij), W_IK(r_ik) are pair functions, G_JIK(cos(theta)) is an
|
|
angular function, P_IK(delta r_jik) is a function of atomic spacing
|
|
differential delta r_jik = r_ij - xi_IJ*r_ik with xi_IJ being a
|
|
pair-dependent parameter, and F_IJ(X_ij) is a function of the local
|
|
environment variable X_ij. This generic potential is fully defined
|
|
once the constants eta_ij and xi_IJ, and the six functions U_IJ(r_ij),
|
|
V_IJ(r_ij), W_IK(r_ik), G_JIK(cos(theta)), P_IK(delta r_jik), and
|
|
F_IJ(X_ij) are given. Note that these six functions are all one
|
|
dimensional, and hence can be provided in an analytic or tabular
|
|
form. This allows users to design different potentials solely based on
|
|
a manipulation of these functions. For instance, the potential reduces
|
|
to Stillinger-Weber potential (<a class="reference internal" href="#sw"><span class="std std-ref">SW</span></a>) if we set</p>
|
|
<img alt="_images/polymorphic4.jpg" class="align-center" src="_images/polymorphic4.jpg" />
|
|
<p>The potential reduces to Tersoff types of potential
|
|
(<a class="reference internal" href="#tersoff"><span class="std std-ref">Tersoff</span></a> or <a class="reference internal" href="pair_tersoff_zbl.html#albe"><span class="std std-ref">Albe</span></a>) if we set</p>
|
|
<img alt="_images/polymorphic5.jpg" class="align-center" src="_images/polymorphic5.jpg" />
|
|
<img alt="_images/polymorphic6.jpg" class="align-center" src="_images/polymorphic6.jpg" />
|
|
<p>The potential reduces to Rockett-Tersoff (<a class="reference internal" href="#wang"><span class="std std-ref">Wang</span></a>) type if we set</p>
|
|
<img alt="_images/polymorphic7.jpg" class="align-center" src="_images/polymorphic7.jpg" />
|
|
<img alt="_images/polymorphic6.jpg" class="align-center" src="_images/polymorphic6.jpg" />
|
|
<img alt="_images/polymorphic8.jpg" class="align-center" src="_images/polymorphic8.jpg" />
|
|
<p>The potential becomes embedded atom method (<a class="reference internal" href="#daw"><span class="std std-ref">Daw</span></a>) if we set</p>
|
|
<img alt="_images/polymorphic9.jpg" class="align-center" src="_images/polymorphic9.jpg" />
|
|
<p>In the embedded atom method case, phi_IJ(r_ij) is the pair energy,
|
|
F_I(X) is the embedding energy, X is the local electron density, and
|
|
f_K(r) is the atomic electron density function.</p>
|
|
<p>If the tabulated functions are created using the parameters of sw,
|
|
tersoff, and eam potentials, the polymorphic pair style will produce
|
|
the same global properties (energies and stresses) and the same forces
|
|
as the sw, tersoff, and eam pair styles. The polymorphic pair style
|
|
also produces the same atom properties (energies and stresses) as the
|
|
corresponding tersoff and eam pair styles. However, due to a different
|
|
partition of global properties to atom properties, the polymorphic
|
|
pair style will produce different atom properties (energies and
|
|
stresses) as the sw pair style. This does not mean that polymorphic
|
|
pair style is different from the sw pair style in this case. It just
|
|
means that the definitions of the atom energies and atom stresses are
|
|
different.</p>
|
|
<p>Only a single pair_coeff command is used with the polymorphic style
|
|
which specifies an potential file for all needed elements. These are
|
|
mapped to LAMMPS atom types by specifying N additional arguments after
|
|
the filename in the pair_coeff command, where N is the number of
|
|
LAMMPS atom types:</p>
|
|
<ul class="simple">
|
|
<li>filename</li>
|
|
<li>N element names = mapping of Tersoff elements to atom types</li>
|
|
</ul>
|
|
<p>See the pair_coeff doc page for alternate ways to specify the path for
|
|
the potential file. Several files for polymorphic potentials are
|
|
included in the potentials dir of the LAMMPS distro. They have a
|
|
“poly” suffix.</p>
|
|
<p>As an example, imagine the SiC_tersoff.polymorphic file has tabulated
|
|
functions for Si-C tersoff potential. If your LAMMPS simulation has 4
|
|
atoms types and you want the 1st 3 to be Si, and the 4th to be C, you
|
|
would use the following pair_coeff command:</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">pair_coeff</span> <span class="o">*</span> <span class="o">*</span> <span class="n">SiC_tersoff</span><span class="o">.</span><span class="n">polymorphic</span> <span class="n">Si</span> <span class="n">Si</span> <span class="n">Si</span> <span class="n">C</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>The 1st 2 arguments must be * * so as to span all LAMMPS atom
|
|
types. The first three Si arguments map LAMMPS atom types 1,2,3 to the
|
|
Si element in the polymorphic file. The final C argument maps LAMMPS
|
|
atom type 4 to the C element in the polymorphic file. If a mapping
|
|
value is specified as NULL, the mapping is not performed. This can be
|
|
used when an polymorphic potential is used as part of the hybrid pair
|
|
style. The NULL values are placeholders for atom types that will be
|
|
used with other potentials.</p>
|
|
<p>Potential files in the potentials directory of the LAMMPS distribution
|
|
have a ”.poly” suffix. At the beginning of the files, an unlimited
|
|
number of lines starting with ‘#’ are used to describe the potential
|
|
and are ignored by LAMMPS. The next line lists two numbers:</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">ntypes</span> <span class="n">eta</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Here ntypes represent total number of species defined in the potential
|
|
file, and eta = 0 or 1. The number ntypes must equal the total number
|
|
of different species defined in the pair_coeff command. When eta = 1,
|
|
eta_ij defined in the potential functions above is set to 1 -
|
|
delta_ij, otherwise eta_ij is set to delta_ij. The next ntypes lines
|
|
each lists two numbers and a character string representing atomic
|
|
number, atomic mass, and name of the species of the ntypes elements:</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">atomic_number</span> <span class="n">atomic</span><span class="o">-</span><span class="n">mass</span> <span class="n">element</span> <span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
|
<span class="n">atomic_number</span> <span class="n">atomic</span><span class="o">-</span><span class="n">mass</span> <span class="n">element</span> <span class="p">(</span><span class="mi">2</span><span class="p">)</span>
|
|
<span class="o">...</span>
|
|
<span class="n">atomic_number</span> <span class="n">atomic</span><span class="o">-</span><span class="n">mass</span> <span class="n">element</span> <span class="p">(</span><span class="n">ntypes</span><span class="p">)</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>The next ntypes*(ntypes+1)/2 lines contain two numbers:</p>
|
|
<div class="highlight-default"><div class="highlight"><pre><span></span><span class="n">cut</span> <span class="n">xi</span> <span class="p">(</span><span class="mi">1</span><span class="p">)</span>
|
|
<span class="n">cut</span> <span class="n">xi</span> <span class="p">(</span><span class="mi">2</span><span class="p">)</span>
|
|
<span class="o">...</span>
|
|
<span class="n">cut</span> <span class="n">xi</span> <span class="p">(</span><span class="n">ntypes</span><span class="o">*</span><span class="p">(</span><span class="n">ntypes</span><span class="o">+</span><span class="mi">1</span><span class="p">)</span><span class="o">/</span><span class="mi">2</span><span class="p">)</span>
|
|
</pre></div>
|
|
</div>
|
|
<p>Here cut means the cutoff distance of the pair functions, xi is the
|
|
same as defined in the potential functions above. The
|
|
ntypes*(ntypes+1)/2 lines are related to the pairs according to the
|
|
sequence of first ii (self) pairs, i = 1, 2, ..., ntypes, and then
|
|
then ij (cross) pairs, i = 1, 2, ..., ntypes-1, and j = i+1, i+2, ...,
|
|
ntypes (i.e., the sequence of the ij pairs follows 11, 22, ..., 12,
|
|
13, 14, ..., 23, 24, ...).</p>
|
|
<p>The final blocks of the potential file are the U, V, W, P, G, and F
|
|
functions are listed sequentially. First, U functions are given for
|
|
each of the ntypes*(ntypes+1)/2 pairs according to the sequence
|
|
described above. For each of the pairs, nr values are listed. Next,
|
|
similar arrays are given for V, W, and P functions. Then G functions
|
|
are given for all the ntypes*ntypes*ntypes ijk triplets in a natural
|
|
sequence i from 1 to ntypes, j from 1 to ntypes, and k from 1 to
|
|
ntypes (i.e., ijk = 111, 112, 113, ..., 121, 122, 123 ..., 211, 212,
|
|
...). Each of the ijk functions contains ng values. Finally, the F
|
|
functions are listed for all ntypes*(ntypes+1)/2 pairs, each
|
|
containing nx values. Either analytic or tabulated functions can be
|
|
specified. Currently, constant, exponential, sine and cosine analytic
|
|
functions are available which are specified with: constant c1 , where
|
|
f(x) = c1 exponential c1 c2 , where f(x) = c1 exp(c2*x) sine c1 c2 ,
|
|
where f(x) = c1 sin(c2*x) cos c1 c2 , where f(x) = c1 cos(c2*x)
|
|
Tabulated functions are specified by spline n x1 x2, where n=number of
|
|
point, (x1,x2)=range and then followed by n values evaluated uniformly
|
|
over these argument ranges. The valid argument ranges of the
|
|
functions are between 0 <= r <= cut for the U(r), V(r), W(r)
|
|
functions, -cutmax <= delta_r <= cutmax for the P(delta_r) functions,
|
|
-1 <= costheta <= 1 for the G(costheta) functions, and 0 <= X <= maxX
|
|
for the F(X) functions.</p>
|
|
<p><strong>Mixing, shift, table tail correction, restart</strong>:</p>
|
|
<p>This pair styles does not support the <a class="reference internal" href="pair_modify.html"><span class="doc">pair_modify</span></a>
|
|
shift, table, and tail options.</p>
|
|
<p>This pair style does not write their information to <a class="reference internal" href="restart.html"><span class="doc">binary restart files</span></a>, since it is stored in potential files. Thus, you
|
|
need to re-specify the pair_style and pair_coeff commands in an input
|
|
script that reads a restart file.</p>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<div class="section" id="restrictions">
|
|
<h2>Restrictions</h2>
|
|
<p>If using create_atoms command, atomic masses must be defined in the
|
|
input script. If using read_data, atomic masses must be defined in the
|
|
atomic structure data file.</p>
|
|
<p>This pair style is part of the MANYBODY package. It is only enabled if
|
|
LAMMPS was built with that package (which it is by default). See the
|
|
<a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
|
|
<p>This pair potential requires the <a class="reference internal" href="newton.html"><span class="doc">newtion</span></a> setting to be
|
|
“on” for pair interactions.</p>
|
|
<p>The potential files provided with LAMMPS (see the potentials
|
|
directory) are parameterized for metal <a class="reference internal" href="units.html"><span class="doc">units</span></a>. You can use
|
|
any LAMMPS units, but you would need to create your own potential
|
|
files.</p>
|
|
</div>
|
|
<div class="section" id="related-commands">
|
|
<h2>Related commands</h2>
|
|
<p><a class="reference internal" href="pair_coeff.html"><span class="doc">pair_coeff</span></a></p>
|
|
<hr class="docutils" />
|
|
<p id="zhou"><strong>(Zhou)</strong> X. W. Zhou, M. E. Foster, R. E. Jones, P. Yang, H. Fan, and
|
|
F. P. Doty, J. Mater. Sci. Res., 4, 15 (2015).</p>
|
|
<p id="sw"><strong>(SW)</strong> F. H. Stillinger-Weber, and T. A. Weber, Phys. Rev. B, 31, 5262 (1985).</p>
|
|
<p id="tersoff"><strong>(Tersoff)</strong> J. Tersoff, Phys. Rev. B, 39, 5566 (1989).</p>
|
|
<p id="albe"><strong>(Albe)</strong> K. Albe, K. Nordlund, J. Nord, and A. Kuronen, Phys. Rev. B,
|
|
66, 035205 (2002).</p>
|
|
<p id="wang"><strong>(Wang)</strong> J. Wang, and A. Rockett, Phys. Rev. B, 43, 12571 (1991).</p>
|
|
<p id="daw"><strong>(Daw)</strong> M. S. Daw, and M. I. Baskes, Phys. Rev. B, 29, 6443 (1984).</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<footer>
|
|
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>
|
|
© Copyright 2013 Sandia Corporation.
|
|
</p>
|
|
</div>
|
|
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
|
|
</footer>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT:'./',
|
|
VERSION:'',
|
|
COLLAPSE_INDEX:false,
|
|
FILE_SUFFIX:'.html',
|
|
HAS_SOURCE: true
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
|
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="_static/js/theme.js"></script>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
jQuery(function () {
|
|
SphinxRtdTheme.StickyNav.enable();
|
|
});
|
|
</script>
|
|
|
|
|
|
</body>
|
|
</html> |