lammps/doc/pair_lj.html

276 lines
11 KiB
HTML

<HTML>
<CENTER><A HREF = "http://lammps.sandia.gov">LAMMPS WWW Site</A> - <A HREF = "Manual.html">LAMMPS Documentation</A> - <A HREF = "Section_commands.html#comm">LAMMPS Commands</A>
</CENTER>
<HR>
<H3>pair_style lj/cut command
</H3>
<H3>pair_style lj/cut/gpu command
</H3>
<H3>pair_style lj/cut/opt command
</H3>
<H3>pair_style lj/cut/coul/cut command
</H3>
<H3>pair_style lj/cut/coul/debye command
</H3>
<H3>pair_style lj/cut/coul/long command
</H3>
<H3>pair_style lj/cut/coul/long/tip4p command
</H3>
<P><B>Syntax:</B>
</P>
<PRE>pair_style style args
</PRE>
<UL><LI>style = <I>lj/cut</I> or <I>lj/cut/gpu</I> or <I>lj/cut/opt</I> or <I>lj/cut/coul/cut</I> or <I>lj/cut/coul/debye</I> or <I>lj/cut/coul/long</I> or <I>lj/cut/coul/long/tip4p</I>
<LI>args = list of arguments for a particular style
</UL>
<PRE> <I>lj/cut</I> args = cutoff
cutoff = global cutoff for Lennard Jones interactions (distance units)
<I>lj/cut/gpu</I> args = gpumode gpuID cutoff
gpumode = <I>one/node</I> or <I>one/gpu</I> or <I>multi/gpu</I>
gpuID = ID or number of GPUs
cutoff = global cutoff for Lennard Jones interactions (distance units)
<I>lj/cut/opt</I> args = cutoff
cutoff = global cutoff for Lennard Jones interactions (distance units)
<I>lj/cut/coul/cut</I> args = cutoff (cutoff2)
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
cutoff2 = global cutoff for Coulombic (optional) (distance units)
<I>lj/cut/coul/debye</I> args = kappa cutoff (cutoff2)
kappa = Debye length (inverse distance units)
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
cutoff2 = global cutoff for Coulombic (optional) (distance units)
<I>lj/cut/coul/long</I> args = cutoff (cutoff2)
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
cutoff2 = global cutoff for Coulombic (optional) (distance units)
<I>lj/cut/coul/long/tip4p</I> args = otype htype btype atype qdist cutoff (cutoff2)
otype,htype = atom types for TIP4P O and H
btype,atype = bond and angle types for TIP4P waters
qdist = distance from O atom to massless charge (distance units)
cutoff = global cutoff for LJ (and Coulombic if only 1 arg) (distance units)
cutoff2 = global cutoff for Coulombic (optional) (distance units)
</PRE>
<P><B>Examples:</B>
</P>
<PRE>pair_style lj/cut 2.5
pair_style lj/cut/gpu one/node 0 2.5
pair_style lj/cut/opt 2.5
pair_coeff * * 1 1
pair_coeff 1 1 1 1.1 2.8
</PRE>
<PRE>pair_style lj/cut/coul/cut 10.0
pair_style lj/cut/coul/cut 10.0 8.0
pair_coeff * * 100.0 3.0
pair_coeff 1 1 100.0 3.5 9.0
pair_coeff 1 1 100.0 3.5 9.0 9.0
</PRE>
<PRE>pair_style lj/cut/coul/debye 1.5 3.0
pair_style lj/cut/coul/debye 1.5 2.5 5.0
pair_coeff * * 1.0 1.0
pair_coeff 1 1 1.0 1.5 2.5
pair_coeff 1 1 1.0 1.5 2.5 5.0
</PRE>
<PRE>pair_style lj/cut/coul/long 10.0
pair_style lj/cut/coul/long 10.0 8.0
pair_coeff * * 100.0 3.0
pair_coeff 1 1 100.0 3.5 9.0
</PRE>
<PRE>pair_style lj/cut/coul/long/tip4p 1 2 7 8 0.3 12.0
pair_style lj/cut/coul/long/tip4p 1 2 7 8 0.3 12.0 10.0
pair_coeff * * 100.0 3.0
pair_coeff 1 1 100.0 3.5 9.0
</PRE>
<P><B>Description:</B>
</P>
<P>The <I>lj/cut</I> styles compute the standard 12/6 Lennard-Jones potential,
given by
</P>
<CENTER><IMG SRC = "Eqs/pair_lj.jpg">
</CENTER>
<P>Rc is the cutoff.
</P>
<P>Style <I>lj/cut/gpu</I> is a GPU-enabled version of style <I>lj/cut</I> that
should give identical answers. Depending on system size and the GPU
processor you have on your system, it may be 4x faster (for the
pairwise portion of the run time). See more details below.
</P>
<P>Style <I>lj/cut/opt</I> is an optimized version of style <I>lj/cut</I> that
should give identical answers. Depending on system size and the
processor you are running on, it may be 5-25% faster (for the pairwise
portion of the run time).
</P>
<P>Style <I>lj/cut/coul/cut</I> adds a Coulombic pairwise interaction given by
</P>
<CENTER><IMG SRC = "Eqs/pair_coulomb.jpg">
</CENTER>
<P>where C is an energy-conversion constant, Qi and Qj are the charges on
the 2 atoms, and epsilon is the dielectric constant which can be set
by the <A HREF = "dielectric.html">dielectric</A> command. If one cutoff is
specified in the pair_style command, it is used for both the LJ and
Coulombic terms. If two cutoffs are specified, they are used as
cutoffs for the LJ and Coulombic terms respectively.
</P>
<P>Style <I>lj/cut/coul/debye</I> adds an additional exp() damping factor
to the Coulombic term, given by
</P>
<CENTER><IMG SRC = "Eqs/pair_debye.jpg">
</CENTER>
<P>where kappa is the Debye length. This potential is another way to
mimic the screening effect of a polar solvent.
</P>
<P>Style <I>lj/cut/coul/long</I> computes the same Coulombic interactions as
style <I>lj/cut/coul/cut</I> except that an additional damping factor is
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 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
short distance away from the oxygen atom along the bisector of the HOH
angle. The atomic types of the oxygen and hydrogen atoms, the bond
and angle types for OH and HOH interactions, and the distance to the
massless charge site are specified as pair_style arguments.
</P>
<P>IMPORTANT NOTE: For each TIP4P water molecule in your system, the atom
IDs for the O and 2 H atoms must be consecutive, with the O atom
first. This is to enable LAMMPS to "find" the 2 H atoms associated
with each O atom. For example, if the atom ID of an O atom in a TIP4P
water molecule is 500, then its 2 H atoms must have IDs 501 and 502.
</P>
<P>See the <A HREF = "Section_howto.html#4_8">howto section</A> for more information on
how to use the TIP4P pair style.
</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>
<UL><LI>epsilon (energy units)
<LI>sigma (distance units)
<LI>cutoff1 (distance units)
<LI>cutoff2 (distance units)
</UL>
<P>Note that sigma is defined in the LJ formula as the zero-crossing
distance for the potential, not as the energy minimum at 2^(1/6)
sigma.
</P>
<P>The latter 2 coefficients are optional. If not specified, the global
LJ and Coulombic cutoffs specified in the pair_style command are used.
If only one cutoff is specified, it is used as the cutoff for both LJ
and Coulombic interactions for this type pair. If both coefficients
are specified, they are used as the LJ and Coulombic cutoffs for this
type pair. You cannot specify 2 cutoffs for style <I>lj/cut</I>, since it
has no Coulombic terms.
</P>
<P>For <I>lj/cut/coul/long</I> and <I>lj/cut/coul/long/tip4p</I> only the LJ cutoff
can be specified since a Coulombic cutoff cannot be specified for an
individual I,J type pair. All type pairs use the same global
Coulombic cutoff specified in the pair_style command.
</P>
<HR>
<P>The <I>lj/cut/gpu</I> style is identical to the <I>lj/cut</I> style, except that
each processor off-loads its pairwise calculations to a GPU chip.
Depending on the hardware available on your system this can provide a
speed-up. See the <A HREF = "Section_start.html#2_8">Running on GPUs</A> section of
the manual for more details about hardware and software requirements
for using GPUs.
</P>
<P>The <I>gpumode</I> and <I>gpuID</I> settings in the pair_style command refer to
how the GPUs on your system are configured.
</P>
<P>Set <I>gpumode</I> to <I>one/node</I> if you have a single compute "node" on
your system, which may have multiple cores and/or GPUs. <I>GpuID</I>
should be set to the ID of the (first) GPU you wish to use with LAMMPS
(another GPU might be driving your display).
</P>
<P>Set <I>gpumode</I> to <I>one/gpu</I> if you have multiple compute "nodes" on
your system, with one GPU per node. <I>GpuID</I> should be set to the ID
of the GPU.
</P>
<P>Set <I>gpumode</I> to <I>multi/gpu</I> if you have multiple compute "nodes" on
your system, each with multiple GPUs. <I>GpuID</I> should be set to the
number of GPUs per node.
</P>
<P>More details about these settings and various possible hardware
configuration are in <A HREF = "Section_start.html#2_8">this section</A> of the
manual.
</P>
<P>Additional requirements in your input script to run with style
<I>lj/cut/gpu</I> are as follows:
</P>
<P>The <A HREF = "newton.html">newton pair</A> setting must be <I>off</I>.
</P>
<HR>
<P><B>Mixing, shift, table, tail correction, restart, rRESPA info</B>:
</P>
<P>For atom type pairs I,J and I != J, the epsilon and sigma coefficients
and cutoff distance for all of the lj/cut pair styles can be mixed.
The default mix value is <I>geometric</I>. See the "pair_modify" command
for details.
</P>
<P>All of the lj/cut pair styles support the
<A HREF = "pair_modify.html">pair_modify</A> shift option for the energy of the
Lennard-Jones portion of the pair interaction.
</P>
<P>The <I>lj/cut/coul/long</I> and <I>lj/cut/coul/long/tip4p</I> pair styles
support the <A HREF = "pair_modify.html">pair_modify</A> table option since they can
tabulate the short-range portion of the long-range Coulombic
interaction.
</P>
<P>All of the lj/cut pair styles support the
<A HREF = "pair_modify.html">pair_modify</A> tail option for adding a long-range
tail correction to the energy and pressure of the Lennard-Jones
portion of the pair interaction.
</P>
<P>All of the lj/cut pair styles write their information to <A HREF = "restart.html">binary
restart files</A>, so pair_style and pair_coeff commands do
not need to be specified in an input script that reads a restart file.
</P>
<P>The lj/cut and lj/cut/coul/long pair styles support the use of the
<I>inner</I>, <I>middle</I>, and <I>outer</I> keywords of the <A HREF = "run_style.html">run_style
respa</A> command, meaning the pairwise forces can be
partitioned by distance at different levels of the rRESPA hierarchy.
The other styles only support the <I>pair</I> keyword of run_style respa.
See the <A HREF = "run_style.html">run_style</A> command for details.
</P>
<HR>
<P><B>Restrictions:</B>
</P>
<P>The <I>lj/cut/coul/long</I> and <I>lj/cut/coul/long/tip4p</I> styles are part of
the "kspace" package. The <I>lj/cut/gpu</I> style is part of the "gpu"
package. The <I>lj/cut/opt</I> style is part of the "opt" package. They
are only enabled if LAMMPS was built with those packages. See the
<A HREF = "Section_start.html#2_3">Making LAMMPS</A> section for more info. Note
that the "kspace" package is installed by default.
</P>
<P>On some 64-bit machines, compiling with -O3 appears to break the
Coulombic tabling option used by the <I>lj/cut/coul/long</I> style. See
the "Additional build tips" section of the Making LAMMPS documentation
pages for workarounds on this issue.
</P>
<P><B>Related commands:</B>
</P>
<P><A HREF = "pair_coeff.html">pair_coeff</A>
</P>
<P><B>Default:</B> none
</P>
<HR>
<A NAME = "Jorgensen"></A>
<P><B>(Jorgensen)</B> Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem
Phys, 79, 926 (1983).
</P>
</HTML>