git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@14673 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp
2016-02-23 23:25:07 +00:00
parent a4e33d3096
commit 98b34b6311
9 changed files with 82 additions and 88 deletions

View File

@ -507,7 +507,7 @@ name links to a sub-section below with more details.</p>
<td>python</td>
<td>lib/python</td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="Section_tools.html#reax"><span>REAX</span></a></td>
<tr class="row-odd"><td><a class="reference internal" href="#reax"><span>REAX</span></a></td>
<td>ReaxFF potential</td>
<td>Aidan Thompson (Sandia)</td>
<td><a class="reference internal" href="pair_reax.html"><em>pair_style reax</em></a></td>

View File

@ -45,8 +45,7 @@ potentials: embedded atom method (EAM) potential files
src: source files
tools: pre- and post-processing tools :tb(s=:)
Note that the "download page"_http://lammps.sandia.gov/download.html
also has links to download
Note that the "download page"_download also has links to download
Windows exectubles and installers, as well as pre-built executables
for a few specific Linux distributions. It also has instructions for
how to download/install LAMMPS for Macs (via Homebrew), and to
@ -655,15 +654,20 @@ are always included, plus optional packages. Packages are groups of
files that enable a specific set of features. For example, force
fields for molecular systems or granular systems are in packages.
"Section packages"_Section_packages.html in the manual has details
about all the packages, including specific instructions for building
LAMMPS with each package, which are covered in a more general manner
below.
You can see the list of all packages by typing "make package" from
within the src directory of the LAMMPS distribution. This also lists
various make commands that can be used to manipulate packages.
If you use a command in a LAMMPS input script that is specific to a
particular package, you must have built LAMMPS with that package, else
you will get an error that the style is invalid or the command is
unknown. Every command's doc page specfies if it is part of a
package. You can also type
If you use a command in a LAMMPS input script that is part of a
package, you must have built LAMMPS with that package, else you will
get an error that the style is invalid or the command is unknown.
Every command's doc page specfies if it is part of a package. You can
also type
lmp_machine -h :pre
@ -695,9 +699,6 @@ Information on how to submit additions you make to LAMMPS as single
files or either a standard or user-contributed package are given in
"this section"_Section_modify.html#mod_15 of the documentation.
Some packages (both standard and user) require additional auxiliary
libraries when building LAMMPS. See more details below.
:line
[{Including/excluding packages:}] :link(start_3_2)
@ -733,18 +734,18 @@ libraries (see below), and will also produce a smaller executable
which may run a bit faster.
When you download a LAMMPS tarball, these packages are pre-installed
in the src directory: KSPACE, MANYBODY,MOLECULE. When you download
LAMMPS source files from the SVN or Git repositories, no packages are
pre-installed.
in the src directory: KSPACE, MANYBODY,MOLECULE, because they are so
commonly used. When you download LAMMPS source files from the SVN or
Git repositories, no packages are pre-installed.
Packages are included or excluded by typing "make yes-name" or "make
no-name", where "name" is the name of the package in lower-case, e.g.
name = kspace for the KSPACE package or name = user-atc for the
USER-ATC package. You can also type "make yes-standard", "make
no-standard", "make yes-std", "make no-std", "make yes-user", "make
no-user", "make yes-all" or "make no-all" to include/exclude various
sets of packages. Type "make package" to see the all of the
package-related make options.
no-user", "make yes-lib", "make no-lib", "make yes-all", or "make
no-all" to include/exclude various sets of packages. Type "make
package" to see all of the package-related make options.
NOTE: Inclusion/exclusion of a package works by simply moving files
back and forth between the main src directory and sub-directories with
@ -766,11 +767,11 @@ files. Typing "make package-overwrite" will overwrite files in the
package sub-directories with src files.
Typing "make package-status" or "make ps" will show which packages are
currently included. Of those that are included, it will list files
that are different in the src directory and package sub-directory.
Typing "make package-diff" lists all differences between these files.
Again, type "make package" to see all of the package-related make
options.
currently included. For those that are included, it will list any
files that are different in the src directory and package
sub-directory. Typing "make package-diff" lists all differences
between these files. Again, type "make package" to see all of the
package-related make options.
:line
@ -805,7 +806,9 @@ where to find them.
For libraries with provided code, the sub-directory README file
(e.g. lib/atc/README) has instructions on how to build that library.
Typically this is done by typing something like:
This information is also summarized in "Section
packages"_Section_packages.html. Typically this is done by typing
something like:
make -f Makefile.g++ :pre
@ -820,12 +823,13 @@ directory:
libpackage.a
Makefile.lammps :pre
The Makefile.lammps file will be a copy of the EXTRAMAKE file setting
specified in the library Makefile.* you used.
The Makefile.lammps file will typically be a copy of one of the
Makefile.lammps.* files in the library directory.
Note that you must insure that the settings in Makefile.lammps are
appropriate for your system. If they are not, the LAMMPS build will
fail.
appropriate for your system. If they are not, the LAMMPS build may
fail. To fix this, you can edit or create a new Makefile.lammps.*
file for your system, and copy it to Makefile.lammps.
As explained in the lib/package/README files, the settings in
Makefile.lammps are used to specify additional system libraries and
@ -860,79 +864,37 @@ the LAMMPS build will typically fail.
A few packages require specific settings in Makefile.machine, to
either build or use the package effectively. These are the
USER-INTEL, KOKKOS, USER-OMP, and OPT packages. The details of what
flags to add or what variables to define are given on the doc pages
that describe each of these accelerator packages in detail:
USER-INTEL, KOKKOS, USER-OMP, and OPT packages, used for accelerating
code performance on CPUs or other hardware, as discussed in "Section
acclerate"_Section_accelerate.html.
A summary of what Makefile.machine changes are needed for each of
these packages is given in "Section packages"_Section_packages.html.
The details are given on the doc pages that describe each of these
accelerator packages in detail:
"USER-INTEL package"_accelerate_intel.html
"KOKKOS package"_accelerate_kokkos.html
"USER-OMP package"_accelerate_omp.html
"OPT package"_accelerate_opt.html :ul
Here is a brief summary of what Makefile.machine changes are needed.
Note that the Make.py tool, described in the next "Section
2.4"_#start_4 can automatically add the needed info to an existing
machine Makefile, using simple command-line arguments.
In src/MAKE/OPTIONS see the following Makefiles for examples of the
changes described below:
You can also look at the following machine Makefiles in
src/MAKE/OPTIONS, which include the changes. Note that the USER-INTEL
and KOKKOS packages allow for settings that build LAMMPS for different
hardware. The USER-INTEL package builds for CPU and the Xeon Phi, the
KOKKOS package builds for OpenMP, GPUs (Cuda), and the Xeon Phi.
Makefile.intel_cpu
Makefile.intel_phi
Makefile.kokkos_omp
Makefile.kokkos_cuda
Makefile.kokkos_phi
Makefile.omp :ul
Makefile.omp
Makefile.opt :ul
For the USER-INTEL package, you have 2 choices when building. You can
build with CPU or Phi support. The latter uses Xeon Phi chips in
"offload" mode. Each of these modes requires additional settings in
your Makefile.machine for CCFLAGS and LINKFLAGS.
For CPU mode (if using an Intel compiler):
CCFLAGS: add -fopenmp, -DLAMMPS_MEMALIGN=64, -restrict, -xHost, -fno-alias, -ansi-alias, -override-limits
LINKFLAGS: add -fopenmp :ul
For Phi mode add the following in addition to the CPU mode flags:
CCFLAGS: add -DLMP_INTEL_OFFLOAD and
LINKFLAGS: add -offload :ul
And also add this to CCFLAGS:
-offload-option,mic,compiler,"-fp-model fast=2 -mGLOB_default_function_attrs=\"gather_scatter_loop_unroll=4\"" :pre
For the KOKKOS package, you have 3 choices when building. You can
build with OMP or Cuda or Phi support. Phi support uses Xeon Phi
chips in "native" mode. This can be done by setting the following
variables in your Makefile.machine:
for OMP support, set OMP = yes
for Cuda support, set OMP = yes and CUDA = yes
for Phi support, set OMP = yes and MIC = yes :ul
These can also be set as additional arguments to the make command, e.g.
make g++ OMP=yes MIC=yes :pre
Building the KOKKOS package with CUDA support requires a Makefile
machine that uses the NVIDIA "nvcc" compiler, as well as an
appropriate "arch" setting appropriate to the GPU hardware and NVIDIA
software you have on your machine. See
src/MAKE/OPTIONS/Makefile.kokkos_cuda for an example of such a machine
Makefile.
For the USER-OMP package, your Makefile.machine needs additional
settings for CCFLAGS and LINKFLAGS.
CCFLAGS: add -fopenmp and -restrict
LINKFLAGS: add -fopenmp :ul
For the OPT package, your Makefile.machine needs an additional
settings for CCFLAGS.
CCFLAGS: add -restrict :ul
Also note that the Make.py tool, described in the next "Section
2.4"_#start_4 can automatically add the needed info to an existing
machine Makefile, using simple command-line arguments.
:line

View File

@ -47,6 +47,12 @@ Likewise, the interaction force calculated by this compute will
include the force on the compute group atoms due to pairwise
interactions with atoms in the specified group2.
.. note::
The energies computed by the *pair* keyword do not include tail
corrections, even if they are enabled via the
:doc:`pair_modify <pair_modify>` command.
If the *kspace* keyword is set to *yes*, which is not the default, and
if a :doc:`kspace_style <kspace_style>` is defined, then the interaction
energy will include a Kspace component which is the long-range

View File

@ -48,6 +48,12 @@ of the total energy contributed by one sub-style. If *evalue* is
specfied as *evdwl* or *ecoul*, then just that portion of the energy
is stored as a global scalar.
.. note::
The energy returned by the *evdwl* keyword does not include tail
corrections, even if they are enabled via the
:doc:`pair_modify <pair_modify>` command.
Some pair styles tally additional quantities, e.g. a breakdown of
potential energy into a dozen or so components is tallied by the
:doc:`pair_style reax <pair_reax>` commmand. These values (1 or more)

View File

@ -164,6 +164,12 @@ the pair is in the first group and the other is in the second group.
Likewise, the interaction force calculated by this compute will
include the force on the compute group atoms due to pairwise
interactions with atoms in the specified group2.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">The energies computed by the <em>pair</em> keyword do not include tail
corrections, even if they are enabled via the
<a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> command.</p>
</div>
<p>If the <em>kspace</em> keyword is set to <em>yes</em>, which is not the default, and
if a <a class="reference internal" href="kspace_style.html"><em>kspace_style</em></a> is defined, then the interaction
energy will include a Kspace component which is the long-range

View File

@ -42,6 +42,10 @@ Likewise, the interaction force calculated by this compute will
include the force on the compute group atoms due to pairwise
interactions with atoms in the specified group2.
NOTE: The energies computed by the {pair} keyword do not include tail
corrections, even if they are enabled via the
"pair_modify"_pair_modify.html command.
If the {kspace} keyword is set to {yes}, which is not the default, and
if a "kspace_style"_kspace_style.html is defined, then the interaction
energy will include a Kspace component which is the long-range

View File

@ -166,6 +166,12 @@ as a global scalar by this compute. This is useful when using
of the total energy contributed by one sub-style. If <em>evalue</em> is
specfied as <em>evdwl</em> or <em>ecoul</em>, then just that portion of the energy
is stored as a global scalar.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">The energy returned by the <em>evdwl</em> keyword does not include tail
corrections, even if they are enabled via the
<a class="reference internal" href="pair_modify.html"><em>pair_modify</em></a> command.</p>
</div>
<p>Some pair styles tally additional quantities, e.g. a breakdown of
potential energy into a dozen or so components is tallied by the
<a class="reference internal" href="pair_reax.html"><em>pair_style reax</em></a> commmand. These values (1 or more)

View File

@ -47,6 +47,10 @@ of the total energy contributed by one sub-style. If {evalue} is
specfied as {evdwl} or {ecoul}, then just that portion of the energy
is stored as a global scalar.
NOTE: The energy returned by the {evdwl} keyword does not include tail
corrections, even if they are enabled via the
"pair_modify"_pair_modify.html command.
Some pair styles tally additional quantities, e.g. a breakdown of
potential energy into a dozen or so components is tallied by the
"pair_style reax"_pair_reax.html commmand. These values (1 or more)

File diff suppressed because one or more lines are too long