Page Menu
Home
c4science
Search
Configure Global Search
Log In
Files
F91457436
compute_rdf.html
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Subscribers
None
File Metadata
Details
File Info
Storage
Attached
Created
Mon, Nov 11, 07:42
Size
16 KB
Mime Type
text/html
Expires
Wed, Nov 13, 07:42 (1 d, 23 h)
Engine
blob
Format
Raw Data
Handle
22265519
Attached To
rLAMMPS lammps
compute_rdf.html
View Options
<!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>
compute rdf 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>
compute rdf 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=
"compute-rdf-command"
>
<span
id=
"index-0"
></span><h1>
compute rdf command
</h1>
<div
class=
"section"
id=
"syntax"
>
<h2>
Syntax
</h2>
<div
class=
"highlight-default"
><div
class=
"highlight"
><pre><span></span><span
class=
"n"
>
compute
</span>
<span
class=
"n"
>
ID
</span>
<span
class=
"n"
>
group
</span><span
class=
"o"
>
-
</span><span
class=
"n"
>
ID
</span>
<span
class=
"n"
>
rdf
</span>
<span
class=
"n"
>
Nbin
</span>
<span
class=
"n"
>
itype1
</span>
<span
class=
"n"
>
jtype1
</span>
<span
class=
"n"
>
itype2
</span>
<span
class=
"n"
>
jtype2
</span>
<span
class=
"o"
>
...
</span>
</pre></div>
</div>
<ul
class=
"simple"
>
<li>
ID, group-ID are documented in
<a
class=
"reference internal"
href=
"compute.html"
><span
class=
"doc"
>
compute
</span></a>
command
</li>
<li>
rdf = style name of this compute command
</li>
<li>
Nbin = number of RDF bins
</li>
<li>
itypeN = central atom type for Nth RDF histogram (see asterisk form below)
</li>
<li>
jtypeN = distribution atom type for Nth RDF histogram (see asterisk form below)
</li>
</ul>
</div>
<div
class=
"section"
id=
"examples"
>
<h2>
Examples
</h2>
<div
class=
"highlight-default"
><div
class=
"highlight"
><pre><span></span><span
class=
"n"
>
compute
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"nb"
>
all
</span>
<span
class=
"n"
>
rdf
</span>
<span
class=
"mi"
>
100
</span>
<span
class=
"n"
>
compute
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"nb"
>
all
</span>
<span
class=
"n"
>
rdf
</span>
<span
class=
"mi"
>
100
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"n"
>
compute
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"nb"
>
all
</span>
<span
class=
"n"
>
rdf
</span>
<span
class=
"mi"
>
100
</span>
<span
class=
"o"
>
*
</span>
<span
class=
"mi"
>
3
</span>
<span
class=
"n"
>
compute
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"n"
>
fluid
</span>
<span
class=
"n"
>
rdf
</span>
<span
class=
"mi"
>
500
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"mi"
>
2
</span>
<span
class=
"mi"
>
2
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"mi"
>
2
</span>
<span
class=
"mi"
>
2
</span>
<span
class=
"n"
>
compute
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"n"
>
fluid
</span>
<span
class=
"n"
>
rdf
</span>
<span
class=
"mi"
>
500
</span>
<span
class=
"mi"
>
1
</span><span
class=
"o"
>
*
</span><span
class=
"mi"
>
3
</span>
<span
class=
"mi"
>
2
</span>
<span
class=
"mi"
>
5
</span>
<span
class=
"o"
>
*
</span><span
class=
"mi"
>
10
</span>
</pre></div>
</div>
</div>
<div
class=
"section"
id=
"description"
>
<h2>
Description
</h2>
<p>
Define a computation that calculates the radial distribution function
(RDF), also called g(r), and the coordination number for a group of
particles. Both are calculated in histogram form by binning pairwise
distances into
<em>
Nbin
</em>
bins from 0.0 to the maximum force cutoff
defined by the
<a
class=
"reference internal"
href=
"pair_style.html"
><span
class=
"doc"
>
pair_style
</span></a>
command. The bins are of
uniform size in radial distance. Thus a single bin encompasses a thin
shell of distances in 3d and a thin ring of distances in 2d.
</p>
<div
class=
"admonition note"
>
<p
class=
"first admonition-title"
>
Note
</p>
<p
class=
"last"
>
If you have a bonded system, then the settings of
<a
class=
"reference internal"
href=
"special_bonds.html"
><span
class=
"doc"
>
special_bonds
</span></a>
command can remove pairwise
interactions between atoms in the same bond, angle, or dihedral. This
is the default setting for the
<a
class=
"reference internal"
href=
"special_bonds.html"
><span
class=
"doc"
>
special_bonds
</span></a>
command, and means those pairwise interactions do not appear in the
neighbor list. Because this fix uses the neighbor list, it also means
those pairs will not be included in the RDF. This does not apply when
using long-range coulomb (
<em>
coul/long
</em>
,
<em>
coul/msm
</em>
,
<em>
coul/wolf
</em>
or
similar. One way to get around this would be to set special_bond
scaling factors to very tiny numbers that are not exactly zero
(e.g. 1.0e-50). Another workaround is to write a dump file, and use
the
<a
class=
"reference internal"
href=
"rerun.html"
><span
class=
"doc"
>
rerun
</span></a>
command to compute the RDF for snapshots in the
dump file. The rerun script can use a
<a
class=
"reference internal"
href=
"special_bonds.html"
><span
class=
"doc"
>
special_bonds
</span></a>
command that includes all pairs in
the neighbor list.
</p>
</div>
<p>
The
<em>
itypeN
</em>
and
<em>
jtypeN
</em>
arguments are optional. These arguments
must come in pairs. If no pairs are listed, then a single histogram
is computed for g(r) between all atom types. If one or more pairs are
listed, then a separate histogram is generated for each
<em>
itype
</em>
,
<em>
jtype
</em>
pair.
</p>
<p>
The
<em>
itypeN
</em>
and
<em>
jtypeN
</em>
settings can be specified in one of two
ways. An explicit numeric value can be used, as in the 4th example
above. Or a wild-card asterisk can be used to specify a range of atom
types. This takes the form
“
*
”
or
“
<em>
n
”
or
“
n
</em>
”
or
“
m*n
”
. If N = the
number of atom types, then an asterisk with no numeric values means
all types from 1 to N. A leading asterisk means all types from 1 to n
(inclusive). A trailing asterisk means all types from n to N
(inclusive). A middle asterisk means all types from m to n
(inclusive).
</p>
<p>
If both
<em>
itypeN
</em>
and
<em>
jtypeN
</em>
are single values, as in the 4th example
above, this means that a g(r) is computed where atoms of type
<em>
itypeN
</em>
are the central atom, and atoms of type
<em>
jtypeN
</em>
are the distribution
atom. If either
<em>
itypeN
</em>
and
<em>
jtypeN
</em>
represent a range of values via
the wild-card asterisk, as in the 5th example above, this means that a
g(r) is computed where atoms of any of the range of types represented
by
<em>
itypeN
</em>
are the central atom, and atoms of any of the range of
types represented by
<em>
jtypeN
</em>
are the distribution atom.
</p>
<p>
Pairwise distances are generated by looping over a pairwise neighbor
list, just as they would be in a
<a
class=
"reference internal"
href=
"pair_style.html"
><span
class=
"doc"
>
pair_style
</span></a>
computation. The distance between two atoms I and J is included in a
specific histogram if the following criteria are met:
</p>
<ul
class=
"simple"
>
<li>
atoms I,J are both in the specified compute group
</li>
<li>
the distance between atoms I,J is less than the maximum force cutoff
</li>
<li>
the type of the I atom matches itypeN (one or a range of types)
</li>
<li>
the type of the J atom matches jtypeN (one or a range of types)
</li>
</ul>
<p>
It is OK if a particular pairwise distance is included in more than
one individual histogram, due to the way the
<em>
itypeN
</em>
and
<em>
jtypeN
</em>
arguments are specified.
</p>
<p>
The g(r) value for a bin is calculated from the histogram count by
scaling it by the idealized number of how many counts there would be
if atoms of type
<em>
jtypeN
</em>
were uniformly distributed. Thus it
involves the count of
<em>
itypeN
</em>
atoms, the count of
<em>
jtypeN
</em>
atoms, the
volume of the entire simulation box, and the volume of the bin
’
s thin
shell in 3d (or the area of the bin
’
s thin ring in 2d).
</p>
<p>
A coordination number coord(r) is also calculated, which is the number
of atoms of type
<em>
jtypeN
</em>
within the current bin or closer, averaged
over atoms of type
<em>
itypeN
</em>
. This is calculated as the area- or
volume-weighted sum of g(r) values over all bins up to and including
the current bin, multiplied by the global average volume density of
atoms of type jtypeN.
</p>
<p>
The simplest way to output the results of the compute rdf calculation
to a file is to use the
<a
class=
"reference internal"
href=
"fix_ave_time.html"
><span
class=
"doc"
>
fix ave/time
</span></a>
command, for
example:
</p>
<div
class=
"highlight-default"
><div
class=
"highlight"
><pre><span></span><span
class=
"n"
>
compute
</span>
<span
class=
"n"
>
myRDF
</span>
<span
class=
"nb"
>
all
</span>
<span
class=
"n"
>
rdf
</span>
<span
class=
"mi"
>
50
</span>
<span
class=
"n"
>
fix
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"nb"
>
all
</span>
<span
class=
"n"
>
ave
</span><span
class=
"o"
>
/
</span><span
class=
"n"
>
time
</span>
<span
class=
"mi"
>
100
</span>
<span
class=
"mi"
>
1
</span>
<span
class=
"mi"
>
100
</span>
<span
class=
"n"
>
c_myRDF
</span><span
class=
"p"
>
[
</span><span
class=
"o"
>
*
</span><span
class=
"p"
>
]
</span>
<span
class=
"n"
>
file
</span>
<span
class=
"n"
>
tmp
</span><span
class=
"o"
>
.
</span><span
class=
"n"
>
rdf
</span>
<span
class=
"n"
>
mode
</span>
<span
class=
"n"
>
vector
</span>
</pre></div>
</div>
<p><strong>
Output info:
</strong></p>
<p>
This compute calculates a global array with the number of rows =
<em>
Nbins
</em>
, and the number of columns = 1 + 2*Npairs, where Npairs is the
number of I,J pairings specified. The first column has the bin
coordinate (center of the bin), Each successive set of 2 columns has
the g(r) and coord(r) values for a specific set of
<em>
itypeN
</em>
versus
<em>
jtypeN
</em>
interactions, as described above. These values can be used
by any command that uses a global values from a compute as input. See
<a
class=
"reference internal"
href=
"Section_howto.html#howto-15"
><span
class=
"std std-ref"
>
Section_howto 15
</span></a>
for an overview of
LAMMPS output options.
</p>
<p>
The array values calculated by this compute are all
“
intensive
”
.
</p>
<p>
The first column of array values will be in distance
<a
class=
"reference internal"
href=
"units.html"
><span
class=
"doc"
>
units
</span></a>
. The g(r) columns of array values are normalized
numbers
>
= 0.0. The coordination number columns of array values are
also numbers
>
= 0.0.
</p>
</div>
<div
class=
"section"
id=
"restrictions"
>
<h2>
Restrictions
</h2>
<p>
The RDF is not computed for distances longer than the force cutoff,
since processors (in parallel) don
’
t know about atom coordinates for
atoms further away than that distance. If you want an RDF for larger
distances, you can use the
<a
class=
"reference internal"
href=
"rerun.html"
><span
class=
"doc"
>
rerun
</span></a>
command to post-process
a dump file and set the cutoff for the potential to be longer in the
rerun script. Note that in the rerun context, the force cutoff is
arbitrary, since you aren
’
t running dynamics and thus are not changing
your model. The definition of g(r) used by LAMMPS is only appropriate
for characterizing atoms that are uniformly distributed throughout the
simulation cell. In such cases, the coordination number is still
correct and meaningful. As an example, if a large simulation cell
contains only one atom of type
<em>
itypeN
</em>
and one of
<em>
jtypeN
</em>
, then g(r)
will register an arbitrarily large spike at whatever distance they
happen to be at, and zero everywhere else. Coord(r) will show a step
change from zero to one at the location of the spike in g(r).
</p>
</div>
<div
class=
"section"
id=
"related-commands"
>
<h2>
Related commands
</h2>
<p><a
class=
"reference internal"
href=
"fix_ave_time.html"
><span
class=
"doc"
>
fix ave/time
</span></a></p>
<p><strong>
Default:
</strong>
none
</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>
Event Timeline
Log In to Comment