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

This commit is contained in:
sjplimp 2007-10-02 21:55:02 +00:00
parent eb2fea7b85
commit ca9b0f7d5b
16 changed files with 531 additions and 189 deletions

View File

@ -313,9 +313,8 @@ in the command's documentation.
<HR>
<P>Fix commands. See the <A HREF = "fix.html">fix</A> command for one-line
descriptions of each style or click on the style itself for a full
description:
<P>Fix styles. See the <A HREF = "fix.html">fix</A> command for one-line descriptions
of each style or click on the style itself for a full description:
</P>
<DIV ALIGN=center><TABLE BORDER=1 >
<TR ALIGN="center"><TD ><A HREF = "fix_addforce.html">addforce</A></TD><TD ><A HREF = "fix_aveforce.html">aveforce</A></TD><TD ><A HREF = "fix_ave_atom.html">ave/atom</A></TD><TD ><A HREF = "fix_ave_spatial.html">ave/spatial</A></TD><TD ><A HREF = "fix_ave_time.html">ave/time</A></TD><TD ><A HREF = "fix_com.html">com</A></TD><TD ><A HREF = "fix_deform.html">deform</A></TD><TD ><A HREF = "fix_deposit.html">deposit</A></TD></TR>
@ -329,17 +328,24 @@ description:
<HR>
<P>Compute commands. See the <A HREF = "compute.html">compute</A> command for one-line
<P>Compute styles. See the <A HREF = "compute.html">compute</A> command for one-line
descriptions of each style or click on the style itself for a full
description:
</P>
<DIV ALIGN=center><TABLE BORDER=1 >
<TR ALIGN="center"><TD ><A HREF = "compute_attribute_atom.html">attribute/atom</A></TD><TD ><A HREF = "compute_centro_atom.html">centro/atom</A></TD><TD ><A HREF = "compute_coord_atom.html">coord/atom</A></TD><TD ><A HREF = "compute_ebond_atom.html">ebond/atom</A></TD><TD ><A HREF = "compute_epair_atom.html">epair/atom</A></TD><TD ><A HREF = "compute_ke_atom.html">ke/atom</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "compute_pressure.html">pressure</A></TD><TD ><A HREF = "compute_rotate_dipole.html">rotate/dipole</A></TD><TD ><A HREF = "compute_rotate_gran.html">rotate/gran</A></TD><TD ><A HREF = "compute_stress_atom.html">stress/atom</A></TD><TD ><A HREF = "compute_sum_atom.html">sum/atom</A></TD><TD ><A HREF = "compute_temp.html">temp</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "compute_temp_deform.html">temp/deform</A></TD><TD ><A HREF = "compute_temp_asphere.html">temp/asphere</A></TD><TD ><A HREF = "compute_temp_dipole.html">temp/dipole</A></TD><TD ><A HREF = "compute_temp_partial.html">temp/partial</A></TD><TD ><A HREF = "compute_temp_ramp.html">temp/ramp</A></TD><TD ><A HREF = "compute_temp_region.html">temp/region</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "compute_temp_asphere.html">temp/asphere</A></TD><TD ><A HREF = "compute_temp_deform.html">temp/deform</A></TD><TD ><A HREF = "compute_temp_dipole.html">temp/dipole</A></TD><TD ><A HREF = "compute_temp_partial.html">temp/partial</A></TD><TD ><A HREF = "compute_temp_ramp.html">temp/ramp</A></TD><TD ><A HREF = "compute_temp_region.html">temp/region</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "compute_variable.html">variable</A></TD><TD ><A HREF = "compute_variable_atom.html">variable/atom</A>
</TD></TR></TABLE></DIV>
<P>These are compute styles contributed by users, which can be used if
<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
</P>
<DIV ALIGN=center><TABLE BORDER=1 >
<TR ALIGN="center"><TD ><A HREF = "compute_ackland.html">ackland</A>
</TD></TR></TABLE></DIV>
<HR>
<P>Pair_style potentials. See the <A HREF = "pair_style.html">pair_style</A> command
@ -347,17 +353,25 @@ for an overview of pair potentials. Click on the style itself for a
full description:
</P>
<DIV ALIGN=center><TABLE BORDER=1 >
<TR ALIGN="center"><TD ><A HREF = "pair_none.html">none</A></TD><TD ><A HREF = "pair_hybrid.html">hybrid</A></TD><TD ><A HREF = "pair_airebo.html">airebo</A></TD><TD ><A HREF = "pair_buck.html">buck</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_buck.html">buck/coul/cut</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/long</A></TD><TD ><A HREF = "pair_colloid.html">colloid</A></TD><TD ><A HREF = "pair_dipole/cut.html">dipole/cut</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_dpd.html">dpd</A></TD><TD ><A HREF = "pair_eam.html">eam</A></TD><TD ><A HREF = "pair_eam.html">eam/opt</A></TD><TD ><A HREF = "pair_eam.html">eam/alloy</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_eam.html">eam/alloy/opt</A></TD><TD ><A HREF = "pair_eam.html">eam/fs</A></TD><TD ><A HREF = "pair_eam.html">eam/fs/opt</A></TD><TD ><A HREF = "pair_gayberne.html">gayberne</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_gran.html">gran/hertzian</A></TD><TD ><A HREF = "pair_gran.html">gran/history</A></TD><TD ><A HREF = "pair_gran.html">gran/no_history</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/implicit</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/opt</A></TD><TD ><A HREF = "pair_class2.html">lj/class2</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_class2.html">lj/class2/coul/cut</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/long</A></TD><TD ><A HREF = "pair_lj.html">lj/cut</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/opt</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/coul/cut</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/debye</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/tip4p</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_lj_expand.html">lj/expand</A></TD><TD ><A HREF = "pair_lj_smooth.html">lj/smooth</A></TD><TD ><A HREF = "pair_meam.html">meam</A></TD><TD ><A HREF = "pair_morse.html">morse</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_morse.html">morse/opt</A></TD><TD ><A HREF = "pair_soft.html">soft</A></TD><TD ><A HREF = "pair_sw.html">sw</A></TD><TD ><A HREF = "pair_table.html">table</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_tersoff.html">tersoff</A></TD><TD ><A HREF = "pair_yukawa.html">yukawa</A>
<TR ALIGN="center"><TD ><A HREF = "pair_none.html">none</A></TD><TD ><A HREF = "pair_hybrid.html">hybrid</A></TD><TD ><A HREF = "pair_hybrid.html">hybrid/overlay</A></TD><TD ><A HREF = "pair_airebo.html">airebo</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_buck.html">buck</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/cut</A></TD><TD ><A HREF = "pair_buck.html">buck/coul/long</A></TD><TD ><A HREF = "pair_colloid.html">colloid</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_coul.html">coul/cut</A></TD><TD ><A HREF = "pair_long.html">coul/long</A></TD><TD ><A HREF = "pair_dipole/cut.html">dipole/cut</A></TD><TD ><A HREF = "pair_dpd.html">dpd</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_eam.html">eam</A></TD><TD ><A HREF = "pair_eam.html">eam/opt</A></TD><TD ><A HREF = "pair_eam.html">eam/alloy</A></TD><TD ><A HREF = "pair_eam.html">eam/alloy/opt</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_eam.html">eam/fs</A></TD><TD ><A HREF = "pair_eam.html">eam/fs/opt</A></TD><TD ><A HREF = "pair_gayberne.html">gayberne</A></TD><TD ><A HREF = "pair_gran.html">gran/hertzian</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_gran.html">gran/history</A></TD><TD ><A HREF = "pair_gran.html">gran/no_history</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/charmm/implicit</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long</A></TD><TD ><A HREF = "pair_charmm.html">lj/charmm/coul/long/opt</A></TD><TD ><A HREF = "pair_class2.html">lj/class2</A></TD><TD ><A HREF = "pair_class2.html">lj/class2/coul/cut</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_class2.html">lj/class2/coul/long</A></TD><TD ><A HREF = "pair_lj.html">lj/cut</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/opt</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/cut</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_lj.html">lj/cut/coul/debye</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long</A></TD><TD ><A HREF = "pair_lj.html">lj/cut/coul/long/tip4p</A></TD><TD ><A HREF = "pair_lj_expand.html">lj/expand</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_lj_smooth.html">lj/smooth</A></TD><TD ><A HREF = "pair_meam.html">meam</A></TD><TD ><A HREF = "pair_morse.html">morse</A></TD><TD ><A HREF = "pair_morse.html">morse/opt</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_soft.html">soft</A></TD><TD ><A HREF = "pair_sw.html">sw</A></TD><TD ><A HREF = "pair_table.html">table</A></TD><TD ><A HREF = "pair_tersoff.html">tersoff</A></TD></TR>
<TR ALIGN="center"><TD ><A HREF = "pair_yukawa.html">yukawa</A>
</TD></TR></TABLE></DIV>
<P>These are pair styles contributed by users, which can be used if
<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
</P>
<DIV ALIGN=center><TABLE BORDER=1 >
<TR ALIGN="center"><TD ><A HREF = "pair_buck_coul.html">buck/coul</A></TD><TD ><A HREF = "pair_lj_coul.html">lj/coul</A>
</TD></TR></TABLE></DIV>
<HR>
@ -417,4 +431,11 @@ description:
<TR ALIGN="center"><TD WIDTH="100"><A HREF = "kspace_style.html">ewald</A></TD><TD WIDTH="100"><A HREF = "kspace_style.html">pppm</A></TD><TD WIDTH="100"><A HREF = "kspace_style.html">pppm/tip4p</A>
</TD></TR></TABLE></DIV>
<P>These are Kspace solvers contributed by users, which can be used if
<A HREF = "Section_start.html#2_3">LAMMPS is built with the appropriate package</A>.
</P>
<DIV ALIGN=center><TABLE BORDER=1 >
<TR ALIGN="center"><TD WIDTH="100"><A HREF = "ewald_n.html">ewald/n</A>
</TD></TR></TABLE></DIV>
</HTML>

View File

@ -372,9 +372,8 @@ in the command's documentation.
:line
Fix commands. See the "fix"_fix.html command for one-line
descriptions of each style or click on the style itself for a full
description:
Fix styles. See the "fix"_fix.html command for one-line descriptions
of each style or click on the style itself for a full description:
"addforce"_fix_addforce.html,
"aveforce"_fix_aveforce.html,
@ -433,7 +432,7 @@ description:
:line
Compute commands. See the "compute"_compute.html command for one-line
Compute styles. See the "compute"_compute.html command for one-line
descriptions of each style or click on the style itself for a full
description:
@ -449,8 +448,8 @@ description:
"stress/atom"_compute_stress_atom.html,
"sum/atom"_compute_sum_atom.html,
"temp"_compute_temp.html,
"temp/deform"_compute_temp_deform.html,
"temp/asphere"_compute_temp_asphere.html,
"temp/deform"_compute_temp_deform.html,
"temp/dipole"_compute_temp_dipole.html,
"temp/partial"_compute_temp_partial.html,
"temp/ramp"_compute_temp_ramp.html,
@ -458,6 +457,11 @@ description:
"variable"_compute_variable.html,
"variable/atom"_compute_variable_atom.html :tb(c=6,ea=c)
These are compute styles contributed by users, which can be used if
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
"ackland"_compute_ackland.html :tb(c=6,ea=c)
:line
Pair_style potentials. See the "pair_style"_pair_style.html command
@ -466,11 +470,14 @@ full description:
"none"_pair_none.html,
"hybrid"_pair_hybrid.html,
"hybrid/overlay"_pair_hybrid.html,
"airebo"_pair_airebo.html,
"buck"_pair_buck.html,
"buck/coul/cut"_pair_buck.html,
"buck/coul/long"_pair_buck.html,
"colloid"_pair_colloid.html,
"coul/cut"_pair_coul.html,
"coul/long"_pair_long.html,
"dipole/cut"_pair_dipole/cut.html,
"dpd"_pair_dpd.html,
"eam"_pair_eam.html,
@ -507,6 +514,12 @@ full description:
"tersoff"_pair_tersoff.html,
"yukawa"_pair_yukawa.html :tb(c=4,ea=c)
These are pair styles contributed by users, which can be used if
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
"buck/coul"_pair_buck_coul.html,
"lj/coul"_pair_lj_coul.html :tb(c=4,ea=c)
:line
Bond_style potentials. See the "bond_style"_bond_style.html command
@ -575,3 +588,8 @@ description:
"ewald"_kspace_style.html,
"pppm"_kspace_style.html,
"pppm/tip4p"_kspace_style.html :tb(c=4,ea=c,w=100)
These are Kspace solvers contributed by users, which can be used if
"LAMMPS is built with the appropriate package"_Section_start.html#2_3.
"ewald/n"_ewald_n.html :tb(c=4,ea=c,w=100)

View File

@ -264,14 +264,18 @@ build it. In the src/MAKE/Windows directory are some notes from users
on how they built LAMMPS under Windows, so you can look at their
instructions for tips. Good luck - we can't help you on this one.
</P>
<HR>
<H4><A NAME = "2_3"></A>2.3 Making LAMMPS with optional packages
</H4>
<P>The source code for LAMMPS is structured as a large set of core files
that are always used plus additional packages, which are groups of
files that enable a specific set of features. For example, force
fields for molecular systems or granular systems are in packages. You
can see the list of packages by typing "make package". The current
list of packages is as follows:
that are always used plus additional optional packages, which are
groups of files that enable a specific set of features. For example,
force fields for molecular systems or granular systems are in
packages. You can see the list of both standard and user-contributed
packages by typing "make package".
</P>
<P>The current list of standard packages is as follows:
</P>
<DIV ALIGN=center><TABLE BORDER=1 >
<TR><TD >asphere </TD><TD > aspherical particles and force fields</TD></TR>
@ -289,27 +293,86 @@ list of packages is as follows:
<TR><TD >xtc </TD><TD > dump atom snapshots in XTC format
</TD></TR></TABLE></DIV>
<P>There are also user-contributed packages which may be as simple as a
single additional file (class) or many files grouped together which
add a specific functionality to the code. The difference between a
<I>standard</I> package versus a <I>user</I> package 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 don't necessarily meet these requirements. If you have
problems using a feature provided in a user package, you will likely
need to contact the contributor directly to get help.
</P>
<P>We encourage users to submit new features to <A HREF = "http://lammps.sandia.gov/authors.html">the
developers</A> that they add to
LAMMPS, especially if you think they will be useful to other users.
If they are broadly useful and meet the requirements listed above, we
may add them as core files to LAMMPS or as part of a standard package.
Else we will add them as a user package.
</P>
<P>With user packages, all we are really providing (aside from the fame
and fortune that accompanies having your name in the source code and
on the <A HREF = "http://lammps.sandia.gov/authors.html">Authors page</A> of the
<A HREF = "http://lammps.sandia.gov">LAMMPS WWW site</A>), is a means for you to distribute your work to
the LAMMPS user community and a mechanism for others to easily try out
your new feature. This may help you find bugs or make contact with
new collaborators.
</P>
<P><A HREF = "Section_modify.html">This section</A> of the documentation describes how
to add new features of various kinds to LAMMPS. Packages are simply
collections of these kinds of new class files which are typically
invoked as a new "style" within a LAMMPS input script. If designed
correctly, these additions do not require changes to the main core of
LAMMPS; they are simply add-on files. If you think your new feature
requires something else in LAMMPS to change, you'll need to
<A HREF = "http://lammps.sandia.gov/authors.html">communicate with the
developers</A>.
</P>
<P>Examples of user-contributed packages are in src sub-directories that
start with USER. We impose only a few minor restrictions on the
source files you submit. They need to have the LAMMPS copyright, GPL
notice, and your name at the top. They need to create a class that is
inside the LAMMPS namespace. You need to provide the Install.csh and
style*.h files that enable the package to be installed/un-installed.
See any of the other LAMMPS source or package files for examples.
Following this pattern will save you and us time when you submit the
files.
</P>
<P>Finally, you also need to include a README file with your package, so
that other users can get a quick idea of what it does and know how to
contact you. You also need to include a doc file in text format for
each of the new styles you are adding, which we will convert to HTML.
See the doc directory for numerous examples of these *.txt files; you
should use one of them as a template for the feature you are adding.
</P>
<HR>
<P>Any or all packages can be included or excluded when LAMMPS is built.
The one exception is that to use the "opt" package, you must also be
using the "molecule" and "manybody" packages. You may wish to exclude
certain packages if you will never run certain kinds of simulations.
This will keep you from having to build auxiliary libraries (see
below) and will produce a smaller executable which may run a bit
faster.
The one exception is that to use the standard "opt" package, you must
also be using the "molecule" and "manybody" packages. You may wish to
exclude certain packages if you will never run certain kinds of
simulations. This will keep you from having to build auxiliary
libraries (see below) and will produce a smaller executable which may
run a bit faster.
</P>
<P>By default, LAMMPS includes only the "kspace", "manybody", and
"molecule" packages. As described below, some packages require LAMMPS
be linked to separately built library files, which will require
editing of your src/MAKE/Makefile.machine.
"molecule" packages. As described below, some standard packages
require LAMMPS be linked to separately built library files, which will
require editing of your src/MAKE/Makefile.machine.
</P>
<P>Packages are included or excluded by typing "make yes-name" or "make
no-name", where "name" is the name of the package. You can also type
"make yes-all" or "make no-all" to include/exclude all optional
packages. These commands work by simply moving files back and forth
between the main src directory and sub-directories with the package
name, so that the files are seen or not seen when LAMMPS is built.
After you have included or excluded a package, you must re-make
LAMMPS.
"make yes-standard", "make no-standard", "make yes-user", "make
no-user", "make yes-all" or "make no-all" to include/exclude various
sets of packages. These commands work by simply moving files back and
forth between the main src directory and sub-directories with the
package name, so that the files are seen or not seen when LAMMPS is
built. After you have included or excluded a package, you must
re-build LAMMPS.
</P>
<P>Additional make options exist to help manage LAMMPS files that exist
in both the src directory and in package sub-directories. You do not
@ -356,6 +419,8 @@ directory with the appropriate Makefile, e.g. "make -f Makefile.g++".
If one of the provided Makefiles is not appropriate for your system
you can edit or add one as needed.
</P>
<HR>
<H4><A NAME = "2_4"></A>2.4 Building LAMMPS as a library
</H4>
<P>LAMMPS can be built as a library, which can then be called from

View File

@ -259,14 +259,18 @@ build it. In the src/MAKE/Windows directory are some notes from users
on how they built LAMMPS under Windows, so you can look at their
instructions for tips. Good luck - we can't help you on this one.
:line
2.3 Making LAMMPS with optional packages :h4,link(2_3)
The source code for LAMMPS is structured as a large set of core files
that are always used plus additional packages, which are groups of
files that enable a specific set of features. For example, force
fields for molecular systems or granular systems are in packages. You
can see the list of packages by typing "make package". The current
list of packages is as follows:
that are always used plus additional optional packages, which are
groups of files that enable a specific set of features. For example,
force fields for molecular systems or granular systems are in
packages. You can see the list of both standard and user-contributed
packages by typing "make package".
The current list of standard packages is as follows:
asphere : aspherical particles and force fields
class2 : class 2 force fields
@ -282,27 +286,86 @@ opt : optimized versions of a few pair potentials
poems : coupled rigid body motion
xtc : dump atom snapshots in XTC format :tb(s=:)
There are also user-contributed packages which may be as simple as a
single additional file (class) or many files grouped together which
add a specific functionality to the code. The difference between a
{standard} package versus a {user} package is as follows.
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.
User packages don't necessarily meet these requirements. If you have
problems using a feature provided in a user package, you will likely
need to contact the contributor directly to get help.
We encourage users to submit new features to "the
developers"_http://lammps.sandia.gov/authors.html that they add to
LAMMPS, especially if you think they will be useful to other users.
If they are broadly useful and meet the requirements listed above, we
may add them as core files to LAMMPS or as part of a standard package.
Else we will add them as a user package.
With user packages, all we are really providing (aside from the fame
and fortune that accompanies having your name in the source code and
on the "Authors page"_http://lammps.sandia.gov/authors.html of the
"LAMMPS WWW site"_lws), is a means for you to distribute your work to
the LAMMPS user community and a mechanism for others to easily try out
your new feature. This may help you find bugs or make contact with
new collaborators.
"This section"_Section_modify.html of the documentation describes how
to add new features of various kinds to LAMMPS. Packages are simply
collections of these kinds of new class files which are typically
invoked as a new "style" within a LAMMPS input script. If designed
correctly, these additions do not require changes to the main core of
LAMMPS; they are simply add-on files. If you think your new feature
requires something else in LAMMPS to change, you'll need to
"communicate with the
developers"_http://lammps.sandia.gov/authors.html.
Examples of user-contributed packages are in src sub-directories that
start with USER. We impose only a few minor restrictions on the
source files you submit. They need to have the LAMMPS copyright, GPL
notice, and your name at the top. They need to create a class that is
inside the LAMMPS namespace. You need to provide the Install.csh and
style*.h files that enable the package to be installed/un-installed.
See any of the other LAMMPS source or package files for examples.
Following this pattern will save you and us time when you submit the
files.
Finally, you also need to include a README file with your package, so
that other users can get a quick idea of what it does and know how to
contact you. You also need to include a doc file in text format for
each of the new styles you are adding, which we will convert to HTML.
See the doc directory for numerous examples of these *.txt files; you
should use one of them as a template for the feature you are adding.
:line
Any or all packages can be included or excluded when LAMMPS is built.
The one exception is that to use the "opt" package, you must also be
using the "molecule" and "manybody" packages. You may wish to exclude
certain packages if you will never run certain kinds of simulations.
This will keep you from having to build auxiliary libraries (see
below) and will produce a smaller executable which may run a bit
faster.
The one exception is that to use the standard "opt" package, you must
also be using the "molecule" and "manybody" packages. You may wish to
exclude certain packages if you will never run certain kinds of
simulations. This will keep you from having to build auxiliary
libraries (see below) and will produce a smaller executable which may
run a bit faster.
By default, LAMMPS includes only the "kspace", "manybody", and
"molecule" packages. As described below, some packages require LAMMPS
be linked to separately built library files, which will require
editing of your src/MAKE/Makefile.machine.
"molecule" packages. As described below, some standard packages
require LAMMPS be linked to separately built library files, which will
require editing of your src/MAKE/Makefile.machine.
Packages are included or excluded by typing "make yes-name" or "make
no-name", where "name" is the name of the package. You can also type
"make yes-all" or "make no-all" to include/exclude all optional
packages. These commands work by simply moving files back and forth
between the main src directory and sub-directories with the package
name, so that the files are seen or not seen when LAMMPS is built.
After you have included or excluded a package, you must re-make
LAMMPS.
"make yes-standard", "make no-standard", "make yes-user", "make
no-user", "make yes-all" or "make no-all" to include/exclude various
sets of packages. These commands work by simply moving files back and
forth between the main src directory and sub-directories with the
package name, so that the files are seen or not seen when LAMMPS is
built. After you have included or excluded a package, you must
re-build LAMMPS.
Additional make options exist to help manage LAMMPS files that exist
in both the src directory and in package sub-directories. You do not
@ -349,6 +412,8 @@ directory with the appropriate Makefile, e.g. "make -f Makefile.g++".
If one of the provided Makefiles is not appropriate for your system
you can edit or add one as needed.
:line
2.4 Building LAMMPS as a library :h4,link(2_4)
LAMMPS can be built as a library, which can then be called from

View File

@ -88,6 +88,7 @@ for individual fixes for info on which ones can be restarted.
<LI><A HREF = "fix_gran_diag.html">fix gran/diag</A> - compute granular diagnostics
<LI><A HREF = "fix_gravity.html">fix gravity</A> - add gravity to atoms in a granular simulation
<LI><A HREF = "fix_gyration.html">fix gyration</A> - compute radius of gyration
<LI><A HREF = "fix_gyration.html">fix heat</A> - add/subtract momentum-conserving heat
<LI><A HREF = "fix_indent.html">fix indent</A> - impose force due to an indenter
<LI><A HREF = "fix_langevin.html">fix langevin</A> - Langevin temperature control
<LI><A HREF = "fix_lineforce.html">fix lineforce</A> - constrain atoms to move in a line

View File

@ -85,6 +85,7 @@ Here is an alphabetic list of fix styles available in LAMMPS:
"fix gran/diag"_fix_gran_diag.html - compute granular diagnostics
"fix gravity"_fix_gravity.html - add gravity to atoms in a granular simulation
"fix gyration"_fix_gyration.html - compute radius of gyration
"fix heat"_fix_gyration.html - add/subtract momentum-conserving heat
"fix indent"_fix_indent.html - impose force due to an indenter
"fix langevin"_fix_langevin.html - Langevin temperature control
"fix lineforce"_fix_lineforce.html - constrain atoms to move in a line

View File

@ -34,12 +34,12 @@ kspace_style none
</PRE>
<P><B>Description:</B>
</P>
<P>Define a K-space solver for LAMMPS to use each timestep to compute
long-range Coulombic interactions. When such a solver is used in
conjunction with an appropriate pair style, the cutoff for Coulombic
interactions is effectively infinite; each charge in the system
interacts with charges in an infinite array of periodic images of the
simulation domain.
<P>Define a reciprocal (K-space) solver for LAMMPS to use each timestep
to compute long-range Coulombic interactions. When such a solver is
used in conjunction with an appropriate pair style, the cutoff for
Coulombic interactions is effectively infinite; each charge in the
system interacts with charges in an infinite array of periodic images
of the simulation domain.
</P>
<P>The <I>ewald</I> style performs a standard Ewald summation as described in
any solid-state physics text.

View File

@ -29,12 +29,12 @@ kspace_style none :pre
[Description:]
Define a K-space solver for LAMMPS to use each timestep to compute
long-range Coulombic interactions. When such a solver is used in
conjunction with an appropriate pair style, the cutoff for Coulombic
interactions is effectively infinite; each charge in the system
interacts with charges in an infinite array of periodic images of the
simulation domain.
Define a reciprocal (K-space) solver for LAMMPS to use each timestep
to compute long-range Coulombic interactions. When such a solver is
used in conjunction with an appropriate pair style, the cutoff for
Coulombic interactions is effectively infinite; each charge in the
system interacts with charges in an infinite array of periodic images
of the simulation domain.
The {ewald} style performs a standard Ewald summation as described in
any solid-state physics text.

View File

@ -84,15 +84,25 @@ the style to display the formula it computes, arguments specified in
the pair_style command, and coefficients specified by the associated
<A HREF = "pair_coeff.html">pair_coeff</A> command:
</P>
<UL><LI><A HREF = "pair_hybrid.html">pair_style hybrid</A> - multiple styles of pairwise interactions
</UL>
<UL><LI><A HREF = "pair_hybrid.html">pair_style hybrid/overlay</A> - multiple styles of superposed pairwise interactions
</UL>
<UL><LI><A HREF = "pair_airebo.html">pair_style airebo</A> - AI-REBO potential
<LI><A HREF = "pair_buck.html">pair_style buck</A> - Buckingham potential
<LI><A HREF = "pair_buck.html">pair_style buck/coul/cut</A> - Buckinhham with cutoff Coulomb
<LI><A HREF = "pair_buck.html">pair_style buck/coul/long</A> - Buckingham with long-range Coulomb
<LI><A HREF = "pair_colloid.html">pair_style colloid</A> - integrated colloidal potential
<LI><A HREF = "pair_coul.html">pair_style coul/cut</A> - cutoff Coulombic potential
<LI><A HREF = "pair_coul.html">pair_style coul/long</A> - long-range Coulombic potential
<LI><A HREF = "pair_dpd.html">pair_style dipole/cut</A> - point dipoles with cutoff
<LI><A HREF = "pair_dpd.html">pair_style dpd</A> - dissipative particle dynamics (DPD)
<LI><A HREF = "pair_eam.html">pair_style eam</A> - embedded atom method (EAM)
<LI><A HREF = "pair_eam.html">pair_style eam/opt</A> - optimized version of EAM
<LI><A HREF = "pair_eam.html">pair_style eam/alloy</A> - alloy EAM
<LI><A HREF = "pair_eam.html">pair_style eam/alloy</A> - optimized version of alloy EAM
<LI><A HREF = "pair_eam.html">pair_style eam/fs</A> - Finnis-Sinclair EAM
<LI><A HREF = "pair_eam.html">pair_style eam/fs</A> - optimized version of Finnis-Sinclair EAM
<LI><A HREF = "pair_gayberne.html">pair_style gayberne</A> - Gay-Berne ellipsoidal potential
<LI><A HREF = "pair_gran.html">pair_style gran/hertzian</A> - granular potential with Hertizain interactions
<LI><A HREF = "pair_gran.html">pair_style gran/history</A> - granular potential with history effects
@ -100,10 +110,12 @@ the pair_style command, and coefficients specified by the associated
<LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/charmm</A> - CHARMM potential with cutoff Coulomb
<LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/charmm/implicit</A> - CHARMM for implicit solvent
<LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/long</A> - CHARMM with long-range Coulomb
<LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/long/opt</A> - optimized version of CHARMM with long-range Coulomb
<LI><A HREF = "pair_class2.html">pair_style lj/class2</A> - COMPASS (class 2) force field with no Coulomb
<LI><A HREF = "pair_class2.html">pair_style lj/class2/coul/cut</A> - COMPASS with cutoff Coulomb
<LI><A HREF = "pair_class2.html">pair_style lj/class2/coul/long</A> - COMPASS with long-range Coulomb
<LI><A HREF = "pair_lj.html">pair_style lj/cut</A> - cutoff Lennard-Jones potential with no Coulomb
<LI><A HREF = "pair_lj.html">pair_style lj/cut/opt</A> - optimized version of cutoff LJ
<LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/cut</A> - LJ with cutoff Coulomb
<LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/debye</A> - LJ with Debye damping added to Coulomb
<LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/long</A> - LJ with long-range Coulomb
@ -112,6 +124,7 @@ the pair_style command, and coefficients specified by the associated
<LI><A HREF = "pair_lj_smooth.html">pair_style lj/smooth</A> - smoothed Lennard-Jones potential
<LI><A HREF = "pair_meam.html">pair_style meam</A> - modified embedded atom method (MEAM)
<LI><A HREF = "pair_morse.html">pair_style morse</A> - Morse potential
<LI><A HREF = "pair_morse.html">pair_style morse</A> - optimized version of Morse potential
<LI><A HREF = "pair_soft.html">pair_style soft</A> - Soft (cosine) potential
<LI><A HREF = "pair_sw.html">pair_style sw</A> - Stillinger-Weber 3-body potential
<LI><A HREF = "pair_table.html">pair_style table</A> - tabulated pair potential

View File

@ -81,15 +81,24 @@ the style to display the formula it computes, arguments specified in
the pair_style command, and coefficients specified by the associated
"pair_coeff"_pair_coeff.html command:
"pair_style hybrid"_pair_hybrid.html - multiple styles of pairwise interactions :ul
"pair_style hybrid/overlay"_pair_hybrid.html - multiple styles of superposed pairwise interactions :ul
"pair_style airebo"_pair_airebo.html - AI-REBO potential
"pair_style buck"_pair_buck.html - Buckingham potential
"pair_style buck/coul/cut"_pair_buck.html - Buckinhham with cutoff Coulomb
"pair_style buck/coul/long"_pair_buck.html - Buckingham with long-range Coulomb
"pair_style colloid"_pair_colloid.html - integrated colloidal potential
"pair_style coul/cut"_pair_coul.html - cutoff Coulombic potential
"pair_style coul/long"_pair_coul.html - long-range Coulombic potential
"pair_style dipole/cut"_pair_dpd.html - point dipoles with cutoff
"pair_style dpd"_pair_dpd.html - dissipative particle dynamics (DPD)
"pair_style eam"_pair_eam.html - embedded atom method (EAM)
"pair_style eam/opt"_pair_eam.html - optimized version of EAM
"pair_style eam/alloy"_pair_eam.html - alloy EAM
"pair_style eam/alloy"_pair_eam.html - optimized version of alloy EAM
"pair_style eam/fs"_pair_eam.html - Finnis-Sinclair EAM
"pair_style eam/fs"_pair_eam.html - optimized version of Finnis-Sinclair EAM
"pair_style gayberne"_pair_gayberne.html - Gay-Berne ellipsoidal potential
"pair_style gran/hertzian"_pair_gran.html - granular potential with Hertizain interactions
"pair_style gran/history"_pair_gran.html - granular potential with history effects
@ -97,10 +106,12 @@ the pair_style command, and coefficients specified by the associated
"pair_style lj/charmm/coul/charmm"_pair_charmm.html - CHARMM potential with cutoff Coulomb
"pair_style lj/charmm/coul/charmm/implicit"_pair_charmm.html - CHARMM for implicit solvent
"pair_style lj/charmm/coul/long"_pair_charmm.html - CHARMM with long-range Coulomb
"pair_style lj/charmm/coul/long/opt"_pair_charmm.html - optimized version of CHARMM with long-range Coulomb
"pair_style lj/class2"_pair_class2.html - COMPASS (class 2) force field with no Coulomb
"pair_style lj/class2/coul/cut"_pair_class2.html - COMPASS with cutoff Coulomb
"pair_style lj/class2/coul/long"_pair_class2.html - COMPASS with long-range Coulomb
"pair_style lj/cut"_pair_lj.html - cutoff Lennard-Jones potential with no Coulomb
"pair_style lj/cut/opt"_pair_lj.html - optimized version of cutoff LJ
"pair_style lj/cut/coul/cut"_pair_lj.html - LJ with cutoff Coulomb
"pair_style lj/cut/coul/debye"_pair_lj.html - LJ with Debye damping added to Coulomb
"pair_style lj/cut/coul/long"_pair_lj.html - LJ with long-range Coulomb
@ -109,6 +120,7 @@ the pair_style command, and coefficients specified by the associated
"pair_style lj/smooth"_pair_lj_smooth.html - smoothed Lennard-Jones potential
"pair_style meam"_pair_meam.html - modified embedded atom method (MEAM)
"pair_style morse"_pair_morse.html - Morse potential
"pair_style morse"_pair_morse.html - optimized version of Morse potential
"pair_style soft"_pair_soft.html - Soft (cosine) potential
"pair_style sw"_pair_sw.html - Stillinger-Weber 3-body potential
"pair_style table"_pair_table.html - tabulated pair potential

View File

@ -11,54 +11,115 @@
<H3>pair_style hybrid command
</H3>
<H3>pair_style hybrid/overlay command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>pair_style hybrid style1 style2 ...
<PRE>pair_style hybrid style1 args style2 args ...
pair_style hybrid/overlay style1 args style2 args ...
</PRE>
<UL><LI>style1,style2 = list of one or more pair styles
<UL><LI>style1,style2 = list of one or more pair styles and their arguments
</UL>
<P><B>Examples:</B>
</P>
<PRE>pair_style hybrid lj/charmm/coul/long 10.0 eam
<PRE>pair_style hybrid lj/cut/coul/cut 10.0 eam lj/cut 5.0
pair_coeff 1*2 1*2 eam niu3
pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
pair_coeff 1*2 3 lj/cut 0.5 1.2
</PRE>
<PRE>pair_style hybrid/overlay lj/cut 2.5 coul/long 2.0
pair_coeff * * lj/cut 1.0 1.0
pair_coeff * * coul/long
</PRE>
<P><B>Description:</B>
</P>
<P>The <I>hybrid</I> style enables the use of multiple pair styles in one
simulation. A pair style can be assigned to each pair of atom types
via the <A HREF = "pair_coeff.html">pair_coeff</A> command.
<P>The <I>hybrid</I> and <I>hybrid/overlay</I> styles enable the use of multiple
pair styles in one simulation. With the <I>hybrid</I> style, exactly one
pair style is assigned to each pair of atom types. With the
<I>hybrid/overlay</I> style, one or more pair styles can be assigned to
each pair of atom types. The assignment of pair styles to type pairs
is made via the <A HREF = "pair_coeff.html">pair_coeff</A> command.
</P>
<P>For example, a metal on a LJ surface could be computed where the metal
atoms interact with each other via a <I>eam</I> potential, the surface
atoms interact with each other via a <I>lj/cut</I> potential, and the
metal/surface interaction is also via a <I>lj/cut</I> potential.
<P>Here are two examples of hybrid simulations. The <I>hybrid</I> style could
be used for a simulation of a metal droplet on a LJ surface. The
metal atoms interact with each other via an <I>eam</I> potential, the
surface atoms interact with each other via a <I>lj/cut</I> potential, and
the metal/surface interaction is also computed via a <I>lj/cut</I>
potential. The <I>hybrid/overlay</I> style could be used as in the 2nd
example above, where multiple potentials are superposed in an additive
fashion to compute the interaction between atoms. In this example,
using <I>lj/cut</I> and <I>coul/long</I> together gives the same result as if
the <I>lj/cut/coul/long</I> potential were used by itself. In this case,
it would be more efficient to use the single combined potential, but
in general any combination of pair potentials can be used together in
to produce an interaction that is not encoded in any single pair_style
file, e.g. adding Coulombic forces between granular particles.
</P>
<P>All pair styles that will be used must be listed in the pair_style
hybrid command (in any order). The name of each sub-style is followed
by its arguments, as illustrated in the example above.
<P>All pair styles that will be used are listed as "sub-styles" following
the <I>hybrid</I> or <I>hybrid/overlay</I> keyword, in any order. Each
sub-style's name is followed by its usual arguments, as illustrated in
the example above. See the doc pages of individual pair styles for a
listing and explanation of the appropriate arguments.
</P>
<P>In the pair_coeff command, the first coefficient sets the pair style
and the remaining coefficients are those appropriate to that style.
For example, consider a simulation with 3 atom types: types 1 and 2
are Ni atoms, type 3 are LJ atoms with charges. The following
commands would set up a hybrid simulation:
<P>The pair_coeff commands are also specified exactly as they would be
for a simulation using only one pair style, with one additional
argument. Following the I,J type specification, the first argument
sets the pair sub-style. The remaining arguments are the coefficients
appropriate to that style. For example, consider a simulation with 3
atom types: types 1 and 2 are Ni atoms, type 3 are LJ atoms with
charges. The following commands would set up a hybrid simulation:
</P>
<PRE>pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0
pair_coeff * * eam/alloy nialhjea 1 1 0
pair_coeff * * eam/alloy nialhjea Ni Ni NULL
pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
pair_coeff 1*2 3 lj/cut 0.8 1.1
pair_coeff 1*2 3 lj/cut 0.8 1.3
</PRE>
<P>If the pair_coeff command for a sub-style requires the use of * * as
atom type arguments (e.g. the <I>eam/alloy</I> example above), then it will
also include trailing arguments which map atom types to elements in
the potential. These mapping arguments should be specified as 0 if
the sub-style is not being applied to certain atom types.
<P>Note that the pair_coeff command for <I>eam/alloy</I> includes a mapping
specification of elements to all atom types, even those not assigned
to the <I>eam/alloy</I> potential. The NULL keyword is used by such
potentials (eam/alloy, Tersoff, AIREBO, etc), to denote an atom type
that will be assigned to a different sub-style.
</P>
<P>Note that you may also need to use an <A HREF = "atom_style.html">atom_style</A>
hybrid command in your input script, if atoms in the simulation will
have attributes from several atom styles, due to using multiple pair
<P>For the <I>hybrid</I> style, each atom type pair I,J is assigned to exactly
one sub-style. Just as with a simulation using a single pair style,
if you specify the same atom type pair in a second pair_coeff command,
the previous assignment will be overwritten.
</P>
<P>For the <I>hybrid/overlay</I> style, each atom type pair I,J can be
assigned to one or more sub-styles. Thus if you specify the same atom
type pair in a second pair_coeff command, a second sub-style is added
to the list of potentials that will be calculated for two interactings
atoms of those types.
</P>
<P>The following coefficients must be defined for each pair of atoms
types via the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples
above, or in the data file or restart files read by the
<A HREF = "read_data.html">read_data</A> or <A HREF = "read_restart.html">read_restart</A>
commands, or by mixing as described below:
</P>
<P>For both the <I>hybrid</I> and <I>hybrid/overlay</I> styles, every atom type
pair I,J (where I <= J) must be assigned to at least one sub-style via
the <A HREF = "pair_coeff.html">pair_coeff</A> command as in the examples above, or
in the data file read by the <A HREF = "read_data.html">read_data</A>, or by mixing
as described below.
</P>
<P>If you want there to be no interactions between a particular pair of
atom types, you have 3 choices. You can assign the type pair to some
sub-style and use the <A HREF = "neigh_modify">neigh_modify exclude type</A>
command. You can assign it to some sub-style and set the coefficients
so that there is effectively no interaction (e.g. epsilon = 0.0 in a
LJ potential). Or, for <I>hybrid</I> and <I>hybrid/overlay</I> simluations, you
can use this form of the pair_coeff command:
</P>
<PRE>pair_coeff 2 3 none
</PRE>
<P>If an assignment to <I>none</I> is made in a simluation with the
<I>hybrid/overlay</I> pair style, it wipes out all previous assignments of
that atom type pair to sub-styles.
</P>
<P>Note that you may need to use an <A HREF = "atom_style.html">atom_style</A> hybrid
command in your input script, if atoms in the simulation will need
attributes from several atom styles, due to using multiple pair
potentials.
</P>
<HR>
@ -72,39 +133,39 @@ sub-styles of the hybrid potential.
</P>
<P>For atom type pairs I,J and I != J, if the sub-style assigned to I,I
and J,J is the same, and if the sub-style allows for mixing, then the
coefficients for I,J can be mixed. The default mix value is
<I>geometric</I>. See the "pair_modify" command for details. See the
See the doc page for the sub-style to see if allows for mixing.
coefficients for I,J can be mixed. This means you do not have to
specify a pair_coeff command for I,J since the I,J type pair will be
assigned automatically to the I,I sub-style and its coefficients
generated by the mixing rule used by that sub-style. For the
<I>hybrid/overlay</I> style, there is an additional requirement that both
the I,I and J,J pairs are assigned to a single sub-style. See the
"pair_modify" command for details of mixing rules. See the See the
doc page for the sub-style to see if allows for mixing.
</P>
<P>The hybrid pair style supports the <A HREF = "pair_modify.html">pair_modify</A>
<P>The hybrid pair styles supports the <A HREF = "pair_modify.html">pair_modify</A>
shift, table, and tail options for an I,J pair interaction, if the
associated sub-style supports it.
</P>
<P>The hybrid pair style can calculate per-atom energy and stress, as
<P>The hybrid pair styles can calculate per-atom energy and stress, as
used by the <A HREF = "compute_epair_atom.html">compute epair/atom</A>, <A HREF = "compute_stress_atom.html">compute
stress/atom</A>, and <A HREF = "dump.html">dump custom</A>
commands, if all its sub-styles can perform per-atom calculations.
</P>
<P>For the hybrid pair style, the list of sub-styles and their respective
settings are written to <A HREF = "restart.html">binary restart files</A>, so a
pair_style command does not need to specified in an input script that
reads a restart file. However, the coefficient information is not
stored in the restart file. Thus, pair_coeff commands do need to be
specified in the restart input script.
<P>For the hybrid pair styles, the list of sub-styles and their
respective settings are written to <A HREF = "restart.html">binary restart
files</A>, so a pair_style command does not need to
specified in an input script that reads a restart file. However, the
coefficient information is not stored in the restart file. Thus,
pair_coeff commands need to be specified in the restart input script.
</P>
<P><B>Restrictions:</B>
</P>
<P>A pair style of <I>none</I> can be specified as an argument to pair_style
hybrid and the corresponding pair_coeff commands, if you desire to
turn off pairwise interactions between certain pairs of atom types.
</P>
<P>When using a long-range Coulomic solver (via the
<A HREF = "kspace_style">kspace_style</A> command) with pair_style hybrid, one or
more sub-styles will be of the "long" variety.
E.g. <I>lj/cut/coul/long</I> or <I>buck/coul/long</I>. It is OK to have more
than one sub-style with a "long" component, but you must insure that
the short-range Coulombic cutoff used by each of these pair styles is
consistent. Else the long-range Coulombic solve will be inconsistent.
<A HREF = "kspace_style">kspace_style</A> command) with a hybrid pair_style, one or
more sub-styles will be of the "long" variety, e.g. <I>lj/cut/coul/long</I>
or <I>buck/coul/long</I>. You must insure that the short-range Coulombic
cutoff used by each of these long pair styles is the same or else
LAMMPS will generate an error.
</P>
<P><B>Related commands:</B>
</P>

View File

@ -7,55 +7,115 @@
:line
pair_style hybrid command :h3
pair_style hybrid/overlay command :h3
[Syntax:]
pair_style hybrid style1 style2 ... :pre
pair_style hybrid style1 args style2 args ...
pair_style hybrid/overlay style1 args style2 args ... :pre
style1,style2 = list of one or more pair styles :ul
style1,style2 = list of one or more pair styles and their arguments :ul
[Examples:]
pair_style hybrid lj/charmm/coul/long 10.0 eam
pair_style hybrid lj/cut/coul/cut 10.0 eam lj/cut 5.0
pair_coeff 1*2 1*2 eam niu3
pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
pair_coeff 1*2 3 lj/cut 0.5 1.2 :pre
pair_style hybrid/overlay lj/cut 2.5 coul/long 2.0
pair_coeff * * lj/cut 1.0 1.0
pair_coeff * * coul/long :pre
[Description:]
The {hybrid} style enables the use of multiple pair styles in one
simulation. A pair style can be assigned to each pair of atom types
via the "pair_coeff"_pair_coeff.html command.
The {hybrid} and {hybrid/overlay} styles enable the use of multiple
pair styles in one simulation. With the {hybrid} style, exactly one
pair style is assigned to each pair of atom types. With the
{hybrid/overlay} style, one or more pair styles can be assigned to
each pair of atom types. The assignment of pair styles to type pairs
is made via the "pair_coeff"_pair_coeff.html command.
For example, a metal on a LJ surface could be computed where the metal
atoms interact with each other via a {eam} potential, the surface
atoms interact with each other via a {lj/cut} potential, and the
metal/surface interaction is also via a {lj/cut} potential.
Here are two examples of hybrid simulations. The {hybrid} style could
be used for a simulation of a metal droplet on a LJ surface. The
metal atoms interact with each other via an {eam} potential, the
surface atoms interact with each other via a {lj/cut} potential, and
the metal/surface interaction is also computed via a {lj/cut}
potential. The {hybrid/overlay} style could be used as in the 2nd
example above, where multiple potentials are superposed in an additive
fashion to compute the interaction between atoms. In this example,
using {lj/cut} and {coul/long} together gives the same result as if
the {lj/cut/coul/long} potential were used by itself. In this case,
it would be more efficient to use the single combined potential, but
in general any combination of pair potentials can be used together in
to produce an interaction that is not encoded in any single pair_style
file, e.g. adding Coulombic forces between granular particles.
All pair styles that will be used must be listed in the pair_style
hybrid command (in any order). The name of each sub-style is followed
by its arguments, as illustrated in the example above.
All pair styles that will be used are listed as "sub-styles" following
the {hybrid} or {hybrid/overlay} keyword, in any order. Each
sub-style's name is followed by its usual arguments, as illustrated in
the example above. See the doc pages of individual pair styles for a
listing and explanation of the appropriate arguments.
In the pair_coeff command, the first coefficient sets the pair style
and the remaining coefficients are those appropriate to that style.
For example, consider a simulation with 3 atom types: types 1 and 2
are Ni atoms, type 3 are LJ atoms with charges. The following
commands would set up a hybrid simulation:
The pair_coeff commands are also specified exactly as they would be
for a simulation using only one pair style, with one additional
argument. Following the I,J type specification, the first argument
sets the pair sub-style. The remaining arguments are the coefficients
appropriate to that style. For example, consider a simulation with 3
atom types: types 1 and 2 are Ni atoms, type 3 are LJ atoms with
charges. The following commands would set up a hybrid simulation:
pair_style hybrid eam/alloy lj/cut/coul/cut 10.0 lj/cut 8.0
pair_coeff * * eam/alloy nialhjea 1 1 0
pair_coeff * * eam/alloy nialhjea Ni Ni NULL
pair_coeff 3 3 lj/cut/coul/cut 1.0 1.0
pair_coeff 1*2 3 lj/cut 0.8 1.1 :pre
pair_coeff 1*2 3 lj/cut 0.8 1.3 :pre
If the pair_coeff command for a sub-style requires the use of * * as
atom type arguments (e.g. the {eam/alloy} example above), then it will
also include trailing arguments which map atom types to elements in
the potential. These mapping arguments should be specified as 0 if
the sub-style is not being applied to certain atom types.
Note that the pair_coeff command for {eam/alloy} includes a mapping
specification of elements to all atom types, even those not assigned
to the {eam/alloy} potential. The NULL keyword is used by such
potentials (eam/alloy, Tersoff, AIREBO, etc), to denote an atom type
that will be assigned to a different sub-style.
Note that you may also need to use an "atom_style"_atom_style.html
hybrid command in your input script, if atoms in the simulation will
have attributes from several atom styles, due to using multiple pair
For the {hybrid} style, each atom type pair I,J is assigned to exactly
one sub-style. Just as with a simulation using a single pair style,
if you specify the same atom type pair in a second pair_coeff command,
the previous assignment will be overwritten.
For the {hybrid/overlay} style, each atom type pair I,J can be
assigned to one or more sub-styles. Thus if you specify the same atom
type pair in a second pair_coeff command, a second sub-style is added
to the list of potentials that will be calculated for two interactings
atoms of those types.
The following coefficients must be defined for each pair of atoms
types via the "pair_coeff"_pair_coeff.html command as in the examples
above, or in the data file or restart files read by the
"read_data"_read_data.html or "read_restart"_read_restart.html
commands, or by mixing as described below:
For both the {hybrid} and {hybrid/overlay} styles, every atom type
pair I,J (where I <= J) must be assigned to at least one sub-style via
the "pair_coeff"_pair_coeff.html command as in the examples above, or
in the data file read by the "read_data"_read_data.html, or by mixing
as described below.
If you want there to be no interactions between a particular pair of
atom types, you have 3 choices. You can assign the type pair to some
sub-style and use the "neigh_modify exclude type"_neigh_modify
command. You can assign it to some sub-style and set the coefficients
so that there is effectively no interaction (e.g. epsilon = 0.0 in a
LJ potential). Or, for {hybrid} and {hybrid/overlay} simluations, you
can use this form of the pair_coeff command:
pair_coeff 2 3 none :pre
If an assignment to {none} is made in a simluation with the
{hybrid/overlay} pair style, it wipes out all previous assignments of
that atom type pair to sub-styles.
Note that you may need to use an "atom_style"_atom_style.html hybrid
command in your input script, if atoms in the simulation will need
attributes from several atom styles, due to using multiple pair
potentials.
:line
@ -69,39 +129,39 @@ sub-styles of the hybrid potential.
For atom type pairs I,J and I != J, if the sub-style assigned to I,I
and J,J is the same, and if the sub-style allows for mixing, then the
coefficients for I,J can be mixed. The default mix value is
{geometric}. See the "pair_modify" command for details. See the
See the doc page for the sub-style to see if allows for mixing.
coefficients for I,J can be mixed. This means you do not have to
specify a pair_coeff command for I,J since the I,J type pair will be
assigned automatically to the I,I sub-style and its coefficients
generated by the mixing rule used by that sub-style. For the
{hybrid/overlay} style, there is an additional requirement that both
the I,I and J,J pairs are assigned to a single sub-style. See the
"pair_modify" command for details of mixing rules. See the See the
doc page for the sub-style to see if allows for mixing.
The hybrid pair style supports the "pair_modify"_pair_modify.html
The hybrid pair styles supports the "pair_modify"_pair_modify.html
shift, table, and tail options for an I,J pair interaction, if the
associated sub-style supports it.
The hybrid pair style can calculate per-atom energy and stress, as
The hybrid pair styles can calculate per-atom energy and stress, as
used by the "compute epair/atom"_compute_epair_atom.html, "compute
stress/atom"_compute_stress_atom.html, and "dump custom"_dump.html
commands, if all its sub-styles can perform per-atom calculations.
For the hybrid pair style, the list of sub-styles and their respective
settings are written to "binary restart files"_restart.html, so a
pair_style command does not need to specified in an input script that
reads a restart file. However, the coefficient information is not
stored in the restart file. Thus, pair_coeff commands do need to be
specified in the restart input script.
For the hybrid pair styles, the list of sub-styles and their
respective settings are written to "binary restart
files"_restart.html, so a pair_style command does not need to
specified in an input script that reads a restart file. However, the
coefficient information is not stored in the restart file. Thus,
pair_coeff commands need to be specified in the restart input script.
[Restrictions:]
A pair style of {none} can be specified as an argument to pair_style
hybrid and the corresponding pair_coeff commands, if you desire to
turn off pairwise interactions between certain pairs of atom types.
When using a long-range Coulomic solver (via the
"kspace_style"_kspace_style command) with pair_style hybrid, one or
more sub-styles will be of the "long" variety.
E.g. {lj/cut/coul/long} or {buck/coul/long}. It is OK to have more
than one sub-style with a "long" component, but you must insure that
the short-range Coulombic cutoff used by each of these pair styles is
consistent. Else the long-range Coulombic solve will be inconsistent.
"kspace_style"_kspace_style command) with a hybrid pair_style, one or
more sub-styles will be of the "long" variety, e.g. {lj/cut/coul/long}
or {buck/coul/long}. You must insure that the short-range Coulombic
cutoff used by each of these long pair styles is the same or else
LAMMPS will generate an error.
[Related commands:]

View File

@ -117,7 +117,7 @@ applied to the Coulombic term so it can be used in conjunction with
the <A HREF = "kspace_style.html">kspace_style</A> command and its <I>ewald</I> or <I>pppm</I>
option. The Coulombic cutoff specified for this style means that
pairwise interactions within this distance are computed directly;
interactions outside that distance are computed in K-space.
interactions outside that distance are computed in reciprocal space.
</P>
<P>Style <I>lj/cut/coul/long/tip4p</I> implements the TIP4P water model of
<A HREF = "#Jorgensen">(Jorgensen)</A>, which introduces a massless site located a

View File

@ -109,7 +109,7 @@ applied to the Coulombic term so it can be used in conjunction with
the "kspace_style"_kspace_style.html command and its {ewald} or {pppm}
option. The Coulombic cutoff specified for this style means that
pairwise interactions within this distance are computed directly;
interactions outside that distance are computed in K-space.
interactions outside that distance are computed in reciprocal space.
Style {lj/cut/coul/long/tip4p} implements the TIP4P water model of
"(Jorgensen)"_#Jorgensen, which introduces a massless site located a

View File

@ -17,14 +17,16 @@
</PRE>
<UL><LI>style = one of the following
<UL><LI><I>none</I>, <I>hybrid</I>, <I>airebo</I>, <I>buck</I>, <I>buck/coul/cut</I>, <I>buck/coul/long</I>,
<LI><I>dpd</I>, <I>eam</I>, <I>eam/alloy</I> or <I>eam/fs</I>, <I>gran/hertzian</I>,
<LI><I>gran/history</I>, <I>gran/no_history</I>, <I>lj/charmm/coul/charmm</I>,
<LI><I>lj/charmm/coul/charmm/implicit</I> or <I>lj/charmm/coul/long</I>,
<LI><I>lj/class2</I>, <I>lj/class2/coul/cut</I> or <I>lj/class2/coul/long</I>, <I>lj/cut</I>,
<LI><I>lj/cut/coul/cut</I> or <I>lj/cut/coul/debye</I>, <I>lj/cut/coul/long</I>,
<UL><LI><I>none</I>, <I>hybrid</I>, <I>hybrid/overlay</I>, <I>airebo</I>, <I>buck</I>, <I>buck/coul/cut</I>,
<LI><I>buck/coul/long</I>, <I>coul/cut</I>, <I>coul/long</I>, <I>dipole/cut</I>, <I>dpd</I>, <I>eam</I>,
<LI><I>eam/opt</I>, <I>eam/alloy</I>, <I>eam/alloy/opt</I>, <I>eam/fs</I>, <I>eam/fs/opt</I>,
<LI><I>gayberne</I>, <I>gran/hertzian</I>, <I>gran/history</I>, <I>gran/no_history</I>,
<LI><I>lj/charmm/coul/charmm</I>, <I>lj/charmm/coul/charmm/implicit</I>,
<LI><I>lj/charmm/coul/long</I>, <I>lj/charmm/coul/long/opt</I>, <I>lj/class2</I>,
<LI><I>lj/class2/coul/cut</I>, <I>lj/class2/coul/long</I>, <I>lj/cut</I>, <I>lj/cut/opt</I>,
<LI><I>lj/cut/coul/cut</I>, <I>lj/cut/coul/debye</I>, <I>lj/cut/coul/long</I>,
<LI><I>lj/cut/coul/long/tip4p</I>, <I>lj/expand</I>, <I>lj/smooth</I>, <I>meam</I>, <I>morse</I>,
<LI><I>soft</I>, <I>sw</I>, <I>table</I>, <I>tersoff</I>, <I>yukawa</I>
<LI><I>morse/opt</I>, <I>soft</I>, <I>sw</I>, <I>table</I>, <I>tersoff</I>, <I>yukawa</I>
</UL>
<LI>args = arguments used by a particular style
</UL>
@ -99,17 +101,25 @@ the pair_style command, and coefficients specified by the associated
<A HREF = "pair_coeff.html">pair_coeff</A> command:
</P>
<UL><LI><A HREF = "pair_none.html">pair_style none</A> - turn off pairwise interactions
<LI><A HREF = "pair_hybrid.html">pair_style hybrid</A> - define multiple styles of pairwise interactions
<LI><A HREF = "pair_hybrid.html">pair_style hybrid</A> - multiple styles of pairwise interactions
</UL>
<UL><LI><A HREF = "pair_hybrid.html">pair_style hybrid/overlay</A> - multiple styles of superposed pairwise interactions
</UL>
<UL><LI><A HREF = "pair_airebo.html">pair_style airebo</A> - AI-REBO potential
<LI><A HREF = "pair_buck.html">pair_style buck</A> - Buckingham potential
<LI><A HREF = "pair_buck.html">pair_style buck/coul/cut</A> - Buckinhham with cutoff Coulomb
<LI><A HREF = "pair_buck.html">pair_style buck/coul/long</A> - Buckingham with long-range Coulomb
<LI><A HREF = "pair_colloid.html">pair_style colloid</A> - integrated colloidal potential
<LI><A HREF = "pair_coul.html">pair_style coul/cut</A> - cutoff Coulombic potential
<LI><A HREF = "pair_coul.html">pair_style coul/long</A> - long-range Coulombic potential
<LI><A HREF = "pair_dpd.html">pair_style dipole/cut</A> - point dipoles with cutoff
<LI><A HREF = "pair_dpd.html">pair_style dpd</A> - dissipative particle dynamics (DPD)
<LI><A HREF = "pair_eam.html">pair_style eam</A> - embedded atom method (EAM)
<LI><A HREF = "pair_eam.html">pair_style eam/opt</A> - optimized version of EAM
<LI><A HREF = "pair_eam.html">pair_style eam/alloy</A> - alloy EAM
<LI><A HREF = "pair_eam.html">pair_style eam/alloy</A> - optimized version of alloy EAM
<LI><A HREF = "pair_eam.html">pair_style eam/fs</A> - Finnis-Sinclair EAM
<LI><A HREF = "pair_eam.html">pair_style eam/fs</A> - optimized version of Finnis-Sinclair EAM
<LI><A HREF = "pair_gayberne.html">pair_style gayberne</A> - Gay-Berne ellipsoidal potential
<LI><A HREF = "pair_gran.html">pair_style gran/hertzian</A> - granular potential with Hertizain interactions
<LI><A HREF = "pair_gran.html">pair_style gran/history</A> - granular potential with history effects
@ -117,10 +127,12 @@ the pair_style command, and coefficients specified by the associated
<LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/charmm</A> - CHARMM potential with cutoff Coulomb
<LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/charmm/implicit</A> - CHARMM for implicit solvent
<LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/long</A> - CHARMM with long-range Coulomb
<LI><A HREF = "pair_charmm.html">pair_style lj/charmm/coul/long/opt</A> - optimized version of CHARMM with long-range Coulomb
<LI><A HREF = "pair_class2.html">pair_style lj/class2</A> - COMPASS (class 2) force field with no Coulomb
<LI><A HREF = "pair_class2.html">pair_style lj/class2/coul/cut</A> - COMPASS with cutoff Coulomb
<LI><A HREF = "pair_class2.html">pair_style lj/class2/coul/long</A> - COMPASS with long-range Coulomb
<LI><A HREF = "pair_lj.html">pair_style lj/cut</A> - cutoff Lennard-Jones potential with no Coulomb
<LI><A HREF = "pair_lj.html">pair_style lj/cut/opt</A> - optimized version of cutoff LJ
<LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/cut</A> - LJ with cutoff Coulomb
<LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/debye</A> - LJ with Debye damping added to Coulomb
<LI><A HREF = "pair_lj.html">pair_style lj/cut/coul/long</A> - LJ with long-range Coulomb
@ -129,6 +141,7 @@ the pair_style command, and coefficients specified by the associated
<LI><A HREF = "pair_lj_smooth.html">pair_style lj/smooth</A> - smoothed Lennard-Jones potential
<LI><A HREF = "pair_meam.html">pair_style meam</A> - modified embedded atom method (MEAM)
<LI><A HREF = "pair_morse.html">pair_style morse</A> - Morse potential
<LI><A HREF = "pair_morse.html">pair_style morse</A> - optimized version of Morse potential
<LI><A HREF = "pair_soft.html">pair_style soft</A> - Soft (cosine) potential
<LI><A HREF = "pair_sw.html">pair_style sw</A> - Stillinger-Weber 3-body potential
<LI><A HREF = "pair_table.html">pair_style table</A> - tabulated pair potential

View File

@ -14,14 +14,16 @@ pair_style style args :pre
style = one of the following :ulb,l
{none}, {hybrid}, {airebo}, {buck}, {buck/coul/cut}, {buck/coul/long},
{dpd}, {eam}, {eam/alloy} or {eam/fs}, {gran/hertzian},
{gran/history}, {gran/no_history}, {lj/charmm/coul/charmm},
{lj/charmm/coul/charmm/implicit} or {lj/charmm/coul/long},
{lj/class2}, {lj/class2/coul/cut} or {lj/class2/coul/long}, {lj/cut},
{lj/cut/coul/cut} or {lj/cut/coul/debye}, {lj/cut/coul/long},
{none}, {hybrid}, {hybrid/overlay}, {airebo}, {buck}, {buck/coul/cut},
{buck/coul/long}, {coul/cut}, {coul/long}, {dipole/cut}, {dpd}, {eam},
{eam/opt}, {eam/alloy}, {eam/alloy/opt}, {eam/fs}, {eam/fs/opt},
{gayberne}, {gran/hertzian}, {gran/history}, {gran/no_history},
{lj/charmm/coul/charmm}, {lj/charmm/coul/charmm/implicit},
{lj/charmm/coul/long}, {lj/charmm/coul/long/opt}, {lj/class2},
{lj/class2/coul/cut}, {lj/class2/coul/long}, {lj/cut}, {lj/cut/opt},
{lj/cut/coul/cut}, {lj/cut/coul/debye}, {lj/cut/coul/long},
{lj/cut/coul/long/tip4p}, {lj/expand}, {lj/smooth}, {meam}, {morse},
{soft}, {sw}, {table}, {tersoff}, {yukawa} :ul
{morse/opt}, {soft}, {sw}, {table}, {tersoff}, {yukawa} :ul
args = arguments used by a particular style :l,ule
@ -96,17 +98,24 @@ the pair_style command, and coefficients specified by the associated
"pair_coeff"_pair_coeff.html command:
"pair_style none"_pair_none.html - turn off pairwise interactions
"pair_style hybrid"_pair_hybrid.html - define multiple styles of pairwise interactions :ul
"pair_style hybrid"_pair_hybrid.html - multiple styles of pairwise interactions :ul
"pair_style hybrid/overlay"_pair_hybrid.html - multiple styles of superposed pairwise interactions :ul
"pair_style airebo"_pair_airebo.html - AI-REBO potential
"pair_style buck"_pair_buck.html - Buckingham potential
"pair_style buck/coul/cut"_pair_buck.html - Buckinhham with cutoff Coulomb
"pair_style buck/coul/long"_pair_buck.html - Buckingham with long-range Coulomb
"pair_style colloid"_pair_colloid.html - integrated colloidal potential
"pair_style coul/cut"_pair_coul.html - cutoff Coulombic potential
"pair_style coul/long"_pair_coul.html - long-range Coulombic potential
"pair_style dipole/cut"_pair_dpd.html - point dipoles with cutoff
"pair_style dpd"_pair_dpd.html - dissipative particle dynamics (DPD)
"pair_style eam"_pair_eam.html - embedded atom method (EAM)
"pair_style eam/opt"_pair_eam.html - optimized version of EAM
"pair_style eam/alloy"_pair_eam.html - alloy EAM
"pair_style eam/alloy"_pair_eam.html - optimized version of alloy EAM
"pair_style eam/fs"_pair_eam.html - Finnis-Sinclair EAM
"pair_style eam/fs"_pair_eam.html - optimized version of Finnis-Sinclair EAM
"pair_style gayberne"_pair_gayberne.html - Gay-Berne ellipsoidal potential
"pair_style gran/hertzian"_pair_gran.html - granular potential with Hertizain interactions
"pair_style gran/history"_pair_gran.html - granular potential with history effects
@ -114,10 +123,12 @@ the pair_style command, and coefficients specified by the associated
"pair_style lj/charmm/coul/charmm"_pair_charmm.html - CHARMM potential with cutoff Coulomb
"pair_style lj/charmm/coul/charmm/implicit"_pair_charmm.html - CHARMM for implicit solvent
"pair_style lj/charmm/coul/long"_pair_charmm.html - CHARMM with long-range Coulomb
"pair_style lj/charmm/coul/long/opt"_pair_charmm.html - optimized version of CHARMM with long-range Coulomb
"pair_style lj/class2"_pair_class2.html - COMPASS (class 2) force field with no Coulomb
"pair_style lj/class2/coul/cut"_pair_class2.html - COMPASS with cutoff Coulomb
"pair_style lj/class2/coul/long"_pair_class2.html - COMPASS with long-range Coulomb
"pair_style lj/cut"_pair_lj.html - cutoff Lennard-Jones potential with no Coulomb
"pair_style lj/cut/opt"_pair_lj.html - optimized version of cutoff LJ
"pair_style lj/cut/coul/cut"_pair_lj.html - LJ with cutoff Coulomb
"pair_style lj/cut/coul/debye"_pair_lj.html - LJ with Debye damping added to Coulomb
"pair_style lj/cut/coul/long"_pair_lj.html - LJ with long-range Coulomb
@ -126,6 +137,7 @@ the pair_style command, and coefficients specified by the associated
"pair_style lj/smooth"_pair_lj_smooth.html - smoothed Lennard-Jones potential
"pair_style meam"_pair_meam.html - modified embedded atom method (MEAM)
"pair_style morse"_pair_morse.html - Morse potential
"pair_style morse"_pair_morse.html - optimized version of Morse potential
"pair_style soft"_pair_soft.html - Soft (cosine) potential
"pair_style sw"_pair_sw.html - Stillinger-Weber 3-body potential
"pair_style table"_pair_table.html - tabulated pair potential