forked from lijiext/lammps
425 lines
21 KiB
HTML
425 lines
21 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 gran/hooke 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 gran/hooke 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-gran-hooke-command">
|
|
<span id="index-0"></span><h1>pair_style gran/hooke command<a class="headerlink" href="#pair-style-gran-hooke-command" title="Permalink to this headline">¶</a></h1>
|
|
</div>
|
|
<div class="section" id="pair-style-gran-cuda-command">
|
|
<h1>pair_style gran/cuda command<a class="headerlink" href="#pair-style-gran-cuda-command" title="Permalink to this headline">¶</a></h1>
|
|
</div>
|
|
<div class="section" id="pair-style-gran-omp-command">
|
|
<h1>pair_style gran/omp command<a class="headerlink" href="#pair-style-gran-omp-command" title="Permalink to this headline">¶</a></h1>
|
|
</div>
|
|
<div class="section" id="pair-style-gran-hooke-history-command">
|
|
<h1>pair_style gran/hooke/history command<a class="headerlink" href="#pair-style-gran-hooke-history-command" title="Permalink to this headline">¶</a></h1>
|
|
</div>
|
|
<div class="section" id="pair-style-gran-hooke-history-omp-command">
|
|
<h1>pair_style gran/hooke/history/omp command<a class="headerlink" href="#pair-style-gran-hooke-history-omp-command" title="Permalink to this headline">¶</a></h1>
|
|
</div>
|
|
<div class="section" id="pair-style-gran-hertz-history-command">
|
|
<h1>pair_style gran/hertz/history command<a class="headerlink" href="#pair-style-gran-hertz-history-command" title="Permalink to this headline">¶</a></h1>
|
|
</div>
|
|
<div class="section" id="pair-style-gran-hertz-history-omp-command">
|
|
<h1>pair_style gran/hertz/history/omp command<a class="headerlink" href="#pair-style-gran-hertz-history-omp-command" title="Permalink to this headline">¶</a></h1>
|
|
<div class="section" id="syntax">
|
|
<h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline">¶</a></h2>
|
|
<div class="highlight-python"><div class="highlight"><pre>pair_style style Kn Kt gamma_n gamma_t xmu dampflag
|
|
</pre></div>
|
|
</div>
|
|
<ul class="simple">
|
|
<li>style = <em>gran/hooke</em> or <em>gran/hooke/history</em> or <em>gran/hertz/history</em></li>
|
|
<li>Kn = elastic constant for normal particle repulsion (force/distance units or pressure units - see discussion below)</li>
|
|
<li>Kt = elastic constant for tangential contact (force/distance units or pressure units - see discussion below)</li>
|
|
<li>gamma_n = damping coefficient for collisions in normal direction (1/time units or 1/time-distance units - see discussion below)</li>
|
|
<li>gamma_t = damping coefficient for collisions in tangential direction (1/time units or 1/time-distance units - see discussion below)</li>
|
|
<li>xmu = static yield criterion (unitless value between 0.0 and 1.0e4)</li>
|
|
<li>dampflag = 0 or 1 if tangential damping force is excluded or included</li>
|
|
</ul>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">Versions of LAMMPS before 9Jan09 had different style names for
|
|
granular force fields. This is to emphasize the fact that the
|
|
Hertzian equation has changed to model polydispersity more accurately.
|
|
A side effect of the change is that the Kn, Kt, gamma_n, and gamma_t
|
|
coefficients in the pair_style command must be specified with
|
|
different values in order to reproduce calculations made with earlier
|
|
versions of LAMMPS, even for monodisperse systems. See the NOTE below
|
|
for details.</p>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="examples">
|
|
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline">¶</a></h2>
|
|
<div class="highlight-python"><div class="highlight"><pre>pair_style gran/hooke/history 200000.0 NULL 50.0 NULL 0.5 1
|
|
pair_style gran/hooke 200000.0 70000.0 50.0 30.0 0.5 0
|
|
</pre></div>
|
|
</div>
|
|
</div>
|
|
<div class="section" id="description">
|
|
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline">¶</a></h2>
|
|
<p>The <em>gran</em> styles use the following formulas for the frictional force
|
|
between two granular particles, as described in
|
|
<a class="reference internal" href="#brilliantov"><span>(Brilliantov)</span></a>, <a class="reference internal" href="#silbert"><span>(Silbert)</span></a>, and
|
|
<a class="reference internal" href="#zhang"><span>(Zhang)</span></a>, when the distance r between two particles of radii
|
|
Ri and Rj is less than their contact distance d = Ri + Rj. There is
|
|
no force between the particles when r > d.</p>
|
|
<p>The two Hookean styles use this formula:</p>
|
|
<img alt="_images/pair_gran_hooke.jpg" class="align-center" src="_images/pair_gran_hooke.jpg" />
|
|
<p>The Hertzian style uses this formula:</p>
|
|
<img alt="_images/pair_gran_hertz.jpg" class="align-center" src="_images/pair_gran_hertz.jpg" />
|
|
<p>In both equations the first parenthesized term is the normal force
|
|
between the two particles and the second parenthesized term is the
|
|
tangential force. The normal force has 2 terms, a contact force and a
|
|
damping force. The tangential force also has 2 terms: a shear force
|
|
and a damping force. The shear force is a “history” effect that
|
|
accounts for the tangential displacement between the particles for the
|
|
duration of the time they are in contact. This term is included in
|
|
pair styles <em>hooke/history</em> and <em>hertz/history</em>, but is not included
|
|
in pair style <em>hooke</em>. The tangential damping force term is included
|
|
in all three pair styles if <em>dampflag</em> is set to 1; it is not included
|
|
if <em>dampflag</em> is set to 0.</p>
|
|
<p>The other quantities in the equations are as follows:</p>
|
|
<ul class="simple">
|
|
<li>delta = d - r = overlap distance of 2 particles</li>
|
|
<li>Kn = elastic constant for normal contact</li>
|
|
<li>Kt = elastic constant for tangential contact</li>
|
|
<li>gamma_n = viscoelastic damping constant for normal contact</li>
|
|
<li>gamma_t = viscoelastic damping constant for tangential contact</li>
|
|
<li>m_eff = Mi Mj / (Mi + Mj) = effective mass of 2 particles of mass Mi and Mj</li>
|
|
<li>Delta St = tangential displacement vector between 2 spherical particles which is truncated to satisfy a frictional yield criterion</li>
|
|
<li>n_ij = unit vector along the line connecting the centers of the 2 particles</li>
|
|
<li>Vn = normal component of the relative velocity of the 2 particles</li>
|
|
<li>Vt = tangential component of the relative velocity of the 2 particles</li>
|
|
</ul>
|
|
<p>The Kn, Kt, gamma_n, and gamma_t coefficients are specified as
|
|
parameters to the pair_style command. If a NULL is used for Kt, then
|
|
a default value is used where Kt = 2/7 Kn. If a NULL is used for
|
|
gamma_t, then a default value is used where gamma_t = 1/2 gamma_n.</p>
|
|
<p>The interpretation and units for these 4 coefficients are different in
|
|
the Hookean versus Hertzian equations.</p>
|
|
<p>The Hookean model is one where the normal push-back force for two
|
|
overlapping particles is a linear function of the overlap distance.
|
|
Thus the specified Kn is in units of (force/distance). Note that this
|
|
push-back force is independent of absolute particle size (in the
|
|
monodisperse case) and of the relative sizes of the two particles (in
|
|
the polydisperse case). This model also applies to the other terms in
|
|
the force equation so that the specified gamma_n is in units of
|
|
(1/time), Kt is in units of (force/distance), and gamma_t is in units
|
|
of (1/time).</p>
|
|
<p>The Hertzian model is one where the normal push-back force for two
|
|
overlapping particles is proportional to the area of overlap of the
|
|
two particles, and is thus a non-linear function of overlap distance.
|
|
Thus Kn has units of force per area and is thus specified in units of
|
|
(pressure). The effects of absolute particle size (monodispersity)
|
|
and relative size (polydispersity) are captured in the radii-dependent
|
|
pre-factors. When these pre-factors are carried through to the other
|
|
terms in the force equation it means that the specified gamma_n is in
|
|
units of (1/(time*distance)), Kt is in units of (pressure), and
|
|
gamma_t is in units of (1/(time*distance)).</p>
|
|
<p>Note that in the Hookean case, Kn can be thought of as a linear spring
|
|
constant with units of force/distance. In the Hertzian case, Kn is
|
|
like a non-linear spring constant with units of force/area or
|
|
pressure, and as shown in the <a class="reference internal" href="#zhang"><span>(Zhang)</span></a> paper, Kn = 4G /
|
|
(3(1-nu)) where nu = the Poisson ratio, G = shear modulus = E /
|
|
(2(1+nu)), and E = Young’s modulus. Similarly, Kt = 4G / (2-nu).
|
|
(NOTE: in an earlier version of the manual, we incorrectly stated that
|
|
Kt = 8G / (2-nu).)</p>
|
|
<p>Thus in the Hertzian case Kn and Kt can be set to values that
|
|
corresponds to properties of the material being modeled. This is also
|
|
true in the Hookean case, except that a spring constant must be chosen
|
|
that is appropriate for the absolute size of particles in the model.
|
|
Since relative particle sizes are not accounted for, the Hookean
|
|
styles may not be a suitable model for polydisperse systems.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">In versions of LAMMPS before 9Jan09, the equation for Hertzian
|
|
interactions did not include the sqrt(RiRj/Ri+Rj) term and thus was
|
|
not as accurate for polydisperse systems. For monodisperse systems,
|
|
sqrt(RiRj/Ri+Rj) is a constant factor that effectively scales all 4
|
|
coefficients: Kn, Kt, gamma_n, gamma_t. Thus you can set the values
|
|
of these 4 coefficients appropriately in the current code to reproduce
|
|
the results of a previous Hertzian monodisperse calculation. For
|
|
example, for the common case of a monodisperse system with particles
|
|
of diameter 1, all 4 of these coefficients should now be set 2x larger
|
|
than they were previously.</p>
|
|
</div>
|
|
<p>Xmu is also specified in the pair_style command and is the upper limit
|
|
of the tangential force through the Coulomb criterion Ft = xmu*Fn,
|
|
where Ft and Fn are the total tangential and normal force components
|
|
in the formulas above. Thus in the Hookean case, the tangential force
|
|
between 2 particles grows according to a tangential spring and
|
|
dash-pot model until Ft/Fn = xmu and is then held at Ft = Fn*xmu until
|
|
the particles lose contact. In the Hertzian case, a similar analogy
|
|
holds, though the spring is no longer linear.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">Normally, xmu should be specified as a fractional value between
|
|
0.0 and 1.0, however LAMMPS allows large values (up to 1.0e4) to allow
|
|
for modeling of systems which can sustain very large tangential
|
|
forces.</p>
|
|
</div>
|
|
<p>For granular styles there are no additional coefficients to set for
|
|
each pair of atom types via the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> command.
|
|
All settings are global and are made via the pair_style command.
|
|
However you must still use the <a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a> for all
|
|
pairs of granular atom types. For example the command</p>
|
|
<div class="highlight-python"><div class="highlight"><pre>pair_coeff * *
|
|
</pre></div>
|
|
</div>
|
|
<p>should be used if all atoms in the simulation interact via a granular
|
|
potential (i.e. one of the pair styles above is used). If a granular
|
|
potential is used as a sub-style of <a class="reference internal" href="pair_hybrid.html"><em>pair_style hybrid</em></a>, then specific atom types can be used in the
|
|
pair_coeff command to determine which atoms interact via a granular
|
|
potential.</p>
|
|
<hr class="docutils" />
|
|
<p>Styles with a <em>cuda</em>, <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> 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 <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a>
|
|
of the manual. The accelerated styles take the same arguments and
|
|
should produce the same results, except for round-off and precision
|
|
issues.</p>
|
|
<p>These accelerated styles are part of the USER-CUDA, GPU, USER-INTEL,
|
|
KOKKOS, USER-OMP and OPT packages, respectively. They are only
|
|
enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p>
|
|
<p>You can specify the accelerated styles explicitly in your input script
|
|
by including their suffix, or you can use the <a class="reference internal" href="Section_start.html#start-7"><span>-suffix command-line switch</span></a> when you invoke LAMMPS, or you can
|
|
use the <a class="reference internal" href="suffix.html"><em>suffix</em></a> command in your input script.</p>
|
|
<p>See <a class="reference internal" href="Section_accelerate.html"><em>Section_accelerate</em></a> of the manual for
|
|
more instructions on how to use the accelerated styles effectively.</p>
|
|
<hr class="docutils" />
|
|
<p><strong>Mixing, shift, table, tail correction, restart, rRESPA info</strong>:</p>
|
|
<p>The <a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> mix, shift, table, and tail options
|
|
are not relevant for granular pair styles.</p>
|
|
<p>These pair styles write their information to <a class="reference internal" href="restart.html"><em>binary restart files</em></a>, so a pair_style command does not need to be
|
|
specified in an input script that reads a restart file.</p>
|
|
<p>These pair styles can only be used via the <em>pair</em> keyword of the
|
|
<a class="reference internal" href="run_style.html"><em>run_style respa</em></a> command. They do not support the
|
|
<em>inner</em>, <em>middle</em>, <em>outer</em> keywords.</p>
|
|
<p>The single() function of these pair styles returns 0.0 for the energy
|
|
of a pairwise interaction, since energy is not conserved in these
|
|
dissipative potentials. It also returns only the normal component of
|
|
the pairwise interaction force. However, the single() function also
|
|
calculates 4 extra pairwise quantities. The first 3 are the
|
|
components of the tangential force between particles I and J, acting
|
|
on particle I. <em>P4</em> is the magnitude of this tangential force. These
|
|
extra quantites can be accessed by the <a class="reference internal" href="compute_pair_local.html"><em>compute pair/local</em></a> command, as <em>p1</em>, <em>p2</em>, <em>p3</em>,
|
|
<em>p4</em>.</p>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<div class="section" id="restrictions">
|
|
<h2>Restrictions<a class="headerlink" href="#restrictions" title="Permalink to this headline">¶</a></h2>
|
|
<blockquote>
|
|
<div>none</div></blockquote>
|
|
<p>All the granular pair styles are part of the GRANULAR package. It is
|
|
only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span>Making LAMMPS</span></a> section for more info.</p>
|
|
<p>These pair styles require that atoms store torque and angular velocity
|
|
(omega) as defined by the <a class="reference internal" href="atom_style.html"><em>atom_style</em></a>. They also
|
|
require a per-particle radius is stored. The <em>sphere</em> atom style does
|
|
all of this.</p>
|
|
<p>This pair style requires you to use the <a class="reference internal" href="comm_modify.html"><em>comm_modify vel yes</em></a> command so that velocites are stored by ghost
|
|
atoms.</p>
|
|
<p>These pair styles will not restart exactly when using the
|
|
<a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command, though they should provide
|
|
statistically similar results. This is because the forces they
|
|
compute depend on atom velocities. See the
|
|
<a class="reference internal" href="read_restart.html"><em>read_restart</em></a> command for more details.</p>
|
|
</div>
|
|
<div class="section" id="related-commands">
|
|
<h2>Related commands<a class="headerlink" href="#related-commands" title="Permalink to this headline">¶</a></h2>
|
|
<p><a class="reference internal" href="pair_coeff.html"><em>pair_coeff</em></a></p>
|
|
<p><strong>Default:</strong> none</p>
|
|
<hr class="docutils" />
|
|
<p id="brilliantov"><strong>(Brilliantov)</strong> Brilliantov, Spahn, Hertzsch, Poschel, Phys Rev E, 53,
|
|
p 5382-5392 (1996).</p>
|
|
<p id="silbert"><strong>(Silbert)</strong> Silbert, Ertas, Grest, Halsey, Levine, Plimpton, Phys Rev
|
|
E, 64, p 051302 (2001).</p>
|
|
<p id="zhang"><strong>(Zhang)</strong> Zhang and Makse, Phys Rev E, 72, p 011301 (2005).</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> |