2006-09-22 00:22:34 +08:00
|
|
|
"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c
|
|
|
|
|
|
|
|
:link(lws,http://lammps.sandia.gov)
|
|
|
|
:link(ld,Manual.html)
|
|
|
|
:link(lc,Section_commands.html#comm)
|
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
kspace_modify command :h3
|
|
|
|
|
|
|
|
[Syntax:]
|
|
|
|
|
|
|
|
kspace_modify keyword value ... :pre
|
|
|
|
|
|
|
|
one or more keyword/value pairs may be listed :ulb,l
|
2012-07-17 00:18:09 +08:00
|
|
|
keyword = {mesh} or {order} or {gewald} or {slab} or (nozforce} or {compute} or {diff} :l
|
2006-09-22 00:22:34 +08:00
|
|
|
{mesh} value = x y z
|
2012-10-03 08:31:31 +08:00
|
|
|
x,y,z = grid size in each dimension for long-range Coulombics
|
|
|
|
{mesh/disp} value = x y z
|
|
|
|
x,y,z = grid size in each dimension for 1/r^6 dispersion
|
2006-09-22 00:22:34 +08:00
|
|
|
{order} value = N
|
2012-10-03 08:31:31 +08:00
|
|
|
N = gridextent of Gaussian for PPPM or MSM mapping of charge to grid
|
|
|
|
{order/disp} value = N
|
|
|
|
N = extent of Gaussian for PPPM mapping of dispersion term to grid
|
|
|
|
{order/split} value = N
|
|
|
|
N = order of Taylor series used to split the potential between different MSM levels
|
2012-02-29 06:00:18 +08:00
|
|
|
{force} value = accuracy (force units)
|
|
|
|
{gewald} value = rinv (1/distance units)
|
2012-10-03 08:31:31 +08:00
|
|
|
rinv = G-ewald parameter for Coulombics
|
|
|
|
{gewald/disp} value = rinv (1/distance units)
|
|
|
|
rinv = G-ewald parameter for dispersion
|
2012-07-04 01:29:51 +08:00
|
|
|
{slab} value = volfactor or {nozforce}
|
2006-09-22 00:22:34 +08:00
|
|
|
volfactor = ratio of the total extended volume used in the
|
2012-04-13 06:22:47 +08:00
|
|
|
2d approximation compared with the volume of the simulation domain
|
2012-07-17 00:18:09 +08:00
|
|
|
{nozforce} turns off kspace forces in the z direction
|
2012-05-03 23:29:09 +08:00
|
|
|
{compute} value = {yes} or {no}
|
|
|
|
{diff} value = {ik} or {ad} :pre
|
2006-09-22 00:22:34 +08:00
|
|
|
:ule
|
|
|
|
|
|
|
|
[Examples:]
|
|
|
|
|
2012-10-02 01:53:05 +08:00
|
|
|
kspace_modify mesh 24 24 30 order 6 splitorder 3
|
2006-09-22 00:22:34 +08:00
|
|
|
kspace_modify slab 3.0 :pre
|
|
|
|
|
|
|
|
[Description:]
|
|
|
|
|
|
|
|
Set parameters used by the kspace solvers defined by the
|
|
|
|
"kspace_style"_kspace_style.html command. Not all parameters are
|
|
|
|
relevant to all kspace styles.
|
|
|
|
|
2012-10-03 08:31:31 +08:00
|
|
|
The {mesh} keyword sets the grid size for kspace style {pppm} or
|
|
|
|
{msm}. In the case of PPPM, this is the FFT mesh, and each dimension
|
|
|
|
must be factorizable into powers of 2, 3, and 5. In the case of MSM,
|
|
|
|
this is the finest scale real-space mesh, and each dimension must be
|
|
|
|
factorizable into powers of 2. When this option is not set, the PPPM
|
|
|
|
or MSM solver chooses its own grid size, consistent with the
|
|
|
|
user-specified accuracy and pairwise cutoff. Values for x,y,z of
|
2012-09-14 03:50:50 +08:00
|
|
|
0,0,0 unset the option.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2012-10-03 08:31:31 +08:00
|
|
|
The {mesh/disp} keyword sets the grid size for kspace style
|
|
|
|
{pppm/disp}. This is the FFT mesh for long-range dispersion and ach
|
|
|
|
dimension must be factorizable into powers of 2, 3, and 5. When this
|
|
|
|
option is not set, the PPPM solver chooses its own grid size,
|
|
|
|
consistent with the user-specified accuracy and pairwise cutoff.
|
|
|
|
Values for x,y,z of 0,0,0 unset the option.
|
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
The {order} keyword determines how many grid spacings an atom's charge
|
2012-09-14 03:50:50 +08:00
|
|
|
extends when it is mapped to the grid in kspace style {pppm} or {msm}.
|
|
|
|
The default for this parameter is 5 for PPPM and 4 for MSM, which means
|
|
|
|
each charge spans 5 or 4 grid cells in each dimension, respectively.
|
2012-10-02 01:53:05 +08:00
|
|
|
For the LAMMPS implementation of MSM, the order can range from 4 to 10
|
|
|
|
and must be even. For PPPM, the minimum allowed setting is 2 and the
|
|
|
|
maximum allowed setting is 7. The larger the value of this parameter,
|
|
|
|
the smaller the grid will need to be to achieve the requested accuracy.
|
|
|
|
Conversely, the smaller the order value, the larger the grid will be.
|
|
|
|
Note that there is an inherent trade-off involved: a small grid will
|
|
|
|
lower the cost of FFTs or MSM direct sum, but a larger order parameter
|
|
|
|
will increase the cost of interpolating charge/fields to/from the grid.
|
|
|
|
|
2012-10-03 08:31:31 +08:00
|
|
|
The {order/disp} keyword determines how many grid spacings an atom's
|
|
|
|
dispersion term extends when it is mapped to the grid in kspace style
|
|
|
|
{pppm/disp}. It has the same meaning as the {order} setting for
|
|
|
|
Coulombics.
|
|
|
|
|
|
|
|
The {order/split} keyword determines the order of the Taylor series
|
|
|
|
used to split the potential between different MSM grid levels, and can
|
|
|
|
range from 2 and 6. "(Hardy)"_#Hardy recommends that the {order/split}
|
|
|
|
be roughly half of the order parameter. For example, the default MSM
|
|
|
|
order is 4 and the default {splitorder} is 2. For higher accuracy in
|
|
|
|
MSM, one can use order 10 and {order/split} 5 or 6, though this will
|
|
|
|
increase the interpolation cost as described above.
|
2012-09-14 03:50:50 +08:00
|
|
|
|
|
|
|
The PPPM order parameter may be reset by LAMMPS when it sets up the
|
2008-08-21 06:23:13 +08:00
|
|
|
FFT grid if the implied grid stencil extends beyond the grid cells
|
|
|
|
owned by neighboring processors. Typically this will only occur when
|
|
|
|
small problems are run on large numbers of processors. A warning will
|
|
|
|
be generated indicating the order parameter is being reduced to allow
|
2012-10-02 01:53:05 +08:00
|
|
|
LAMMPS to run the problem. Automatic reduction of order is not currently
|
|
|
|
implemented in MSM, so an error (instead of a warning) will be generated.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2012-02-29 06:00:18 +08:00
|
|
|
The {force} keyword overrides the relative accuracy parameter set by
|
|
|
|
the "kspace_style"_kspace_style.html command with an absolute
|
|
|
|
accuracy. The accuracy determines the RMS error in per-atom forces
|
|
|
|
calculated by the long-range solver and is thus specified in force
|
|
|
|
units. A negative value for the accuracy setting means to use the
|
|
|
|
relative accuracy parameter. The accuracy setting is used in
|
|
|
|
conjunction with the pairwise cutoff to determine the number of
|
2012-09-14 03:50:50 +08:00
|
|
|
K-space vectors for style {ewald}, the FFT grid size for style
|
|
|
|
{pppm}, or the real space grid size for style {msm}.
|
2012-02-29 06:00:18 +08:00
|
|
|
|
2011-02-16 00:12:41 +08:00
|
|
|
The {gewald} keyword sets the value of the Ewald or PPPM G-ewald
|
2012-10-03 08:31:31 +08:00
|
|
|
parameter for charge as {rinv} in reciprocal distance units. Without
|
|
|
|
this setting, LAMMPS chooses the parameter automatically as a function
|
|
|
|
of cutoff, precision, grid spacing, etc. This means it can vary from
|
|
|
|
one simulation to the next which may not be desirable for matching a
|
2012-02-29 06:00:18 +08:00
|
|
|
KSpace solver to a pre-tabulated pairwise potential. This setting can
|
|
|
|
also be useful if Ewald or PPPM fails to choose a good grid spacing
|
|
|
|
and G-ewald parameter automatically. If the value is set to 0.0,
|
2012-10-03 08:31:31 +08:00
|
|
|
LAMMPS will choose the G-ewald parameter automatically. MSM does not
|
|
|
|
use the {gewald} parameter.
|
|
|
|
|
|
|
|
The {gewald/disp} keyword sets the value of the Ewald or PPPM G-ewald
|
|
|
|
parameter for dispersion as {rinv} in reciprocal distance units. It
|
|
|
|
has the same meaning as the {gewald} setting for Coulombics.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
|
|
|
The {slab} keyword allows an Ewald or PPPM solver to be used for a
|
|
|
|
systems that are periodic in x,y but non-periodic in z - a
|
|
|
|
"boundary"_boundary.html setting of "boundary p p f". This is done by
|
|
|
|
treating the system as if it were periodic in z, but inserting empty
|
|
|
|
volume between atom slabs and removing dipole inter-slab interactions
|
|
|
|
so that slab-slab interactions are effectively turned off. The
|
|
|
|
volfactor value sets the ratio of the extended dimension in z divided
|
|
|
|
by the actual dimension in z. The recommended value is 3.0. A larger
|
|
|
|
value is inefficient; a smaller value introduces unwanted slab-slab
|
|
|
|
interactions. The use of fixed boundaries in z means that the user
|
|
|
|
must prevent particle migration beyond the initial z-bounds, typically
|
2010-06-15 22:02:04 +08:00
|
|
|
by providing a wall-style fix. The methodology behind the {slab}
|
2012-10-03 08:31:31 +08:00
|
|
|
option is explained in the paper by "(Yeh)"_#Yeh. An alternative slab
|
|
|
|
option can be invoked with the {nozforce} keyword in lieu of the
|
2012-09-14 03:50:50 +08:00
|
|
|
volfactor. This turns off all kspace forces in the z direction. The
|
|
|
|
{slab} and {nozforce} options are not allowed for MSM.
|
2006-09-22 00:22:34 +08:00
|
|
|
|
2012-04-13 06:22:47 +08:00
|
|
|
The {compute} keyword allows Kspace computations to be turned off,
|
|
|
|
even though a "kspace_style"_kspace_style.html is defined. This is
|
|
|
|
not useful for running a real simulation, but can be useful for
|
|
|
|
debugging purposes or for computing only partial forces that do not
|
|
|
|
include the Kspace contribution. You can also do this by simply not
|
|
|
|
defining a "kspace_style"_kspace_style.html, but a Kspace-compatible
|
2012-10-03 08:31:31 +08:00
|
|
|
"pair_style"_pair_style.html requires a kspace style to be defined.
|
2012-04-13 06:22:47 +08:00
|
|
|
This keyword gives you that option.
|
|
|
|
|
2012-05-03 23:29:09 +08:00
|
|
|
The {diff} keyword specifies the differentiation scheme used by the
|
2012-07-17 00:18:09 +08:00
|
|
|
PPPM method to compute forces on particles given electrostatic
|
2012-10-03 08:31:31 +08:00
|
|
|
potentials on the PPPM mesh. The {ik} approach is the default for
|
|
|
|
PPPM. It performs differentiation in Kspace, but uses 3 FFTs to
|
|
|
|
transfer the computed fields back to real space (total of 4 FFTs per
|
|
|
|
timestep). The analytic differentiation, or {ad} approach uses only 1
|
|
|
|
FFT to transfer the computed fields back to real space (total of 2
|
|
|
|
FFTs per timestep), but requires a somewhat larger PPPM mesh to
|
|
|
|
achieve the same accuracy as the {ik} approach. Analogous approaches
|
|
|
|
have been implemented in MSM and can be specified using the same
|
|
|
|
keywords. The {ad} approach is the default for MSM.
|
|
|
|
|
|
|
|
IMPORTANT NOTE: Currently, not all {pppm} styles support the {ad}
|
|
|
|
option. Support for those {pppm} variants will be added later.
|
2012-08-07 05:19:58 +08:00
|
|
|
|
2006-09-22 00:22:34 +08:00
|
|
|
[Restrictions:] none
|
|
|
|
|
|
|
|
[Related commands:]
|
|
|
|
|
|
|
|
"kspace_style"_kspace_style.html, "boundary"_boundary.html
|
|
|
|
|
|
|
|
[Default:]
|
|
|
|
|
2012-10-03 08:31:31 +08:00
|
|
|
The option defaults are mesh = mesh/disp = 0 0 0, order = order/disp =
|
|
|
|
5 (PPPM), order = 4 (MSM), order/split = 2 (MSM), force = -1.0, gewald
|
|
|
|
= gewald/disp = 0.0, slab = 1.0, compute = yes, and diff = ik (PPPM),
|
|
|
|
diff = ad (MSM).
|
2010-06-15 22:02:04 +08:00
|
|
|
|
|
|
|
:line
|
|
|
|
|
|
|
|
:link(Yeh)
|
|
|
|
[(Yeh)] Yeh and Berkowitz, J Chem Phys, 111, 3155 (1999).
|
2012-10-02 01:53:05 +08:00
|
|
|
|
|
|
|
:link(Hardy)
|
|
|
|
[(Hardy)] David, Multilevel Summation for the Fast Evaluation of
|
|
|
|
Forces for the Simulation of Biomolecules, University of Illinois
|
|
|
|
at Urbana-Champaign, (2006).
|