git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@14131 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
@ -79,7 +79,7 @@
|
||||
<li class="toctree-l2"><a class="reference internal" href="#what-s-in-the-lammps-distribution">2.1. What’s in the LAMMPS distribution</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#making-lammps">2.2. Making LAMMPS</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#making-lammps-with-optional-packages">2.3. Making LAMMPS with optional packages</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#building-lammps-via-the-make-py-script">2.4. Building LAMMPS via the Make.py script</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#building-lammps-via-the-make-py-tool">2.4. Building LAMMPS via the Make.py tool</a></li>
|
||||
<li class="toctree-l2"><a class="reference internal" href="#building-lammps-as-a-library">2.5. Building LAMMPS as a library</a><ul>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#static-library">2.5.1. <strong>Static library:</strong></a></li>
|
||||
<li class="toctree-l3"><a class="reference internal" href="#shared-library">2.5.2. <strong>Shared library:</strong></a></li>
|
||||
@ -699,9 +699,6 @@ excluded, you can build it yourself.</p>
|
||||
<p>One way to do this is install and use cygwin to build LAMMPS with a
|
||||
standard unix style make program, just as you would on a Linux box;
|
||||
see src/MAKE/MACHINES/Makefile.cygwin.</p>
|
||||
<p>The other way to do this is using Visual Studio and project files.
|
||||
See the src/WINDOWS directory and its README.txt file for instructions
|
||||
on both a basic build and a customized build with pacakges you select.</p>
|
||||
<hr class="docutils" />
|
||||
</div>
|
||||
<div class="section" id="making-lammps-with-optional-packages">
|
||||
@ -734,32 +731,35 @@ package. You can also type</p>
|
||||
<div class="highlight-python"><div class="highlight"><pre><span class="n">lmp_machine</span> <span class="o">-</span><span class="n">h</span>
|
||||
</pre></div>
|
||||
</div>
|
||||
<p>to run your executable with the optional <a class="reference internal" href="#start-7"><span>-h command-line switch</span></a> for “help”, which will list the styles and commands
|
||||
known to your executable.</p>
|
||||
<p>to run your executable with the optional <a class="reference internal" href="#start-7"><span>-h command-line switch</span></a> for “help”, which will simply list the styles and
|
||||
commands known to your executable, and immediately exit.</p>
|
||||
<p>There are two kinds of packages in LAMMPS, standard and user packages.
|
||||
More information about the contents of standard and user packages is
|
||||
given in <a class="reference internal" href="Section_packages.html"><em>Section_packages</em></a> of the manual. The
|
||||
difference between standard and user packages is as follows:</p>
|
||||
<p>Standard packages are supported by the LAMMPS developers and are
|
||||
written in a syntax and style consistent with the rest of LAMMPS.
|
||||
This means we will answer questions about them, debug and fix them if
|
||||
necessary, and keep them compatible with future changes to LAMMPS.</p>
|
||||
<p>User packages have been contributed by users, and always begin with
|
||||
the user prefix. If they are a single command (single file), they are
|
||||
typically in the user-misc package. Otherwise, they are a a set of
|
||||
files grouped together which add a specific functionality to the code.</p>
|
||||
<p>Standard packages, such as molecule or kspace, are supported by the
|
||||
LAMMPS developers and are written in a syntax and style consistent
|
||||
with the rest of LAMMPS. This means we will answer questions about
|
||||
them, debug and fix them if necessary, and keep them compatible with
|
||||
future changes to LAMMPS.</p>
|
||||
<p>User packages, such as user-atc or user-omp, have been contributed by
|
||||
users, and always begin with the user prefix. If they are a single
|
||||
command (single file), they are typically in the user-misc package.
|
||||
Otherwise, they are a a set of files grouped together which add a
|
||||
specific functionality to the code.</p>
|
||||
<p>User packages don’t necessarily meet the requirements of the standard
|
||||
packages. If you have problems using a feature provided in a user
|
||||
package, you will likely need to contact the contributor directly to
|
||||
get help. Information on how to submit additions you make to LAMMPS
|
||||
as a user-contributed package is given in <a class="reference internal" href="Section_modify.html#mod-15"><span>this section</span></a> of the documentation.</p>
|
||||
<p>Some packages (both standard and user) require additional libraries.
|
||||
See more details below.</p>
|
||||
package, you may need to contact the contributor directly to get help.
|
||||
Information on how to submit additions you make to LAMMPS as single
|
||||
files or either a standard or user-contributed package are given in
|
||||
<a class="reference internal" href="Section_modify.html#mod-15"><span>this section</span></a> of the documentation.</p>
|
||||
<p>Some packages (both standard and user) require additional auxiliary
|
||||
libraries when building LAMMPS. See more details below.</p>
|
||||
<hr class="docutils" />
|
||||
<p id="start-3-2"><strong>*Including/excluding packages:*</strong></p>
|
||||
<p>To use or not use a package you must include or exclude it before
|
||||
building LAMMPS. From the src directory, this is typically as simple
|
||||
as:</p>
|
||||
<p>To use (or not use) a package you must include it (or exclude it)
|
||||
before building LAMMPS. From the src directory, this is typically as
|
||||
simple as:</p>
|
||||
<div class="highlight-python"><div class="highlight"><pre>make yes-colloid
|
||||
make g++
|
||||
</pre></div>
|
||||
@ -772,10 +772,10 @@ make g++
|
||||
<div class="admonition warning">
|
||||
<p class="first admonition-title">Warning</p>
|
||||
<p class="last">You should NOT include/exclude packages and build
|
||||
LAMMPS in a single make command by using multiple targets, e.g. make
|
||||
LAMMPS in a single make command using multiple targets, e.g. make
|
||||
yes-colloid g++. This is because the make procedure creates a list of
|
||||
source files that will be out-of-date for the build if the package
|
||||
configuration changes during the same command.</p>
|
||||
configuration changes within the same command.</p>
|
||||
</div>
|
||||
<p>Some packages have individual files that depend on other packages
|
||||
being included. LAMMPS checks for this and does the right thing.
|
||||
@ -827,30 +827,30 @@ options.</p>
|
||||
<hr class="docutils" />
|
||||
<p id="start-3-3"><strong>*Packages that require extra libraries:*</strong></p>
|
||||
<p>A few of the standard and user packages require additional auxiliary
|
||||
libraries. Most of them are provided with LAMMPS, in which case they
|
||||
must be compiled first, before LAMMPS is built if you wish to include
|
||||
libraries. Many of them are provided with LAMMPS, in which case they
|
||||
must be compiled first, before LAMMPS is built, if you wish to include
|
||||
that package. If you get a LAMMPS build error about a missing
|
||||
library, this is likely the reason. See the
|
||||
<a class="reference internal" href="Section_packages.html"><em>Section_packages</em></a> doc page for a list of
|
||||
packages that have these kinds of auxiliary libraries.</p>
|
||||
<p>The lib directory in the distribution has sub-directories with package
|
||||
names that correspond to the needed auxiliary libs, e.g. lib/reax.
|
||||
names that correspond to the needed auxiliary libs, e.g. lib/gpu.
|
||||
Each sub-directory has a README file that gives more details. Code
|
||||
for most of the auxiliary libraries is included in that directory.
|
||||
Examples are the USER-ATC and MEAM packages.</p>
|
||||
<p>A few of the lib sub-directories do not include code, but do include
|
||||
instructions and sometimes scripts that automate the process of
|
||||
instructions (and sometimes scripts) that automate the process of
|
||||
downloading the auxiliary library and installing it so LAMMPS can link
|
||||
to it. Examples are the KIM and VORONOI and USER-MOLFILE and USER-SMD
|
||||
to it. Examples are the KIM, VORONOI, USER-MOLFILE, and USER-SMD
|
||||
packages.</p>
|
||||
<p>The lib/python directory (for the PYTHON package) contains only a
|
||||
choice of Makefile.lammps.* files. This is because no auxiliary code
|
||||
or libraries are needed, only the Python library and other system libs
|
||||
that already available on your system. However, the Makefile.lammps
|
||||
file is needed to tell the LAMMPS build which libs to use and where to
|
||||
find them.</p>
|
||||
that should already available on your system. However, the
|
||||
Makefile.lammps file is needed to tell LAMMPS which libs to use and
|
||||
where to find them.</p>
|
||||
<p>For libraries with provided code, the sub-directory README file
|
||||
(e.g. lib/reax/README) has instructions on how to build that library.
|
||||
(e.g. lib/atc/README) has instructions on how to build that library.
|
||||
Typically this is done by typing something like:</p>
|
||||
<div class="highlight-python"><div class="highlight"><pre>make -f Makefile.g++
|
||||
</pre></div>
|
||||
@ -873,10 +873,10 @@ fail.</p>
|
||||
<p>As explained in the lib/package/README files, the settings in
|
||||
Makefile.lammps are used to specify additional system libraries and
|
||||
their locations so that LAMMPS can build with the auxiliary library.
|
||||
For example, if the MEAM or REAX packages are used, the auxiliary
|
||||
libraries consist of F90 code, built with a Fortran complier. To link
|
||||
that library with LAMMPS (a C++ code) via whatever C++ compiler LAMMPS
|
||||
is built with, typically requires additional Fortran-to-C libraries be
|
||||
For example, if the MEAM package is used, the auxiliary library
|
||||
consists of F90 code, built with a Fortran complier. To link that
|
||||
library with LAMMPS (a C++ code) via whatever C++ compiler LAMMPS is
|
||||
built with, typically requires additional Fortran-to-C libraries be
|
||||
included in the link. Another example are the BLAS and LAPACK
|
||||
libraries needed to use the USER-ATC or USER-AWPMD packages.</p>
|
||||
<p>For libraries without provided code, the sub-directory README file has
|
||||
@ -969,8 +969,8 @@ settings for CCFLAGS.</p>
|
||||
</ul>
|
||||
<hr class="docutils" />
|
||||
</div>
|
||||
<div class="section" id="building-lammps-via-the-make-py-script">
|
||||
<span id="start-4"></span><h2>2.4. Building LAMMPS via the Make.py script<a class="headerlink" href="#building-lammps-via-the-make-py-script" title="Permalink to this headline">¶</a></h2>
|
||||
<div class="section" id="building-lammps-via-the-make-py-tool">
|
||||
<span id="start-4"></span><h2>2.4. Building LAMMPS via the Make.py tool<a class="headerlink" href="#building-lammps-via-the-make-py-tool" title="Permalink to this headline">¶</a></h2>
|
||||
<p>The src directory includes a Make.py script, written in Python, which
|
||||
can be used to automate various steps of the build process. It is
|
||||
particularly useful for working with the accelerator packages, as well
|
||||
|
||||
Reference in New Issue
Block a user