forked from lijiext/lammps
141 lines
6.2 KiB
Plaintext
141 lines
6.2 KiB
Plaintext
"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
|
|
keyword = {mesh} or {order} or {gewald} or {slab} or (nozforce} or {compute} or {diff} :l
|
|
{mesh} value = x y z
|
|
x,y,z = PPPM FFT grid size in each dimension
|
|
{order} value = N
|
|
N = grid extent of Gaussian for PPPM mapping of each charge
|
|
{force} value = accuracy (force units)
|
|
{gewald} value = rinv (1/distance units)
|
|
rinv = PPPM G-ewald parameter
|
|
{slab} value = volfactor or {nozforce}
|
|
volfactor = ratio of the total extended volume used in the
|
|
2d approximation compared with the volume of the simulation domain
|
|
{nozforce} turns off kspace forces in the z direction
|
|
{compute} value = {yes} or {no}
|
|
{diff} value = {ik} or {ad} :pre
|
|
:ule
|
|
|
|
[Examples:]
|
|
|
|
kspace_modify mesh 24 24 30 order 6
|
|
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.
|
|
|
|
The {mesh} keyword sets the 3d FFT grid size for kspace style pppm.
|
|
Each 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.
|
|
|
|
The {order} keyword determines how many grid spacings an atom's charge
|
|
extends when it is mapped to the FFT grid in kspace style pppm. The
|
|
default for this parameter is 5, which means each charge spans 5 grid
|
|
cells in each dimension. The minimum allowed setting is 2 and the
|
|
maximum allowed setting is 7. The larger the value of this parameter,
|
|
the smaller the FFT grid will need to be to achieve the requested
|
|
precision. 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, but a large order parameter
|
|
will increase the cost of intepolating charge/fields to/from the grid.
|
|
And vice versa.
|
|
|
|
The order parameter may be reset by LAMMPS when it sets up the PPPM
|
|
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
|
|
LAMMPS to run the problem.
|
|
|
|
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
|
|
K-space vectors for style {ewald} or the FFT grid size for style
|
|
{pppm}.
|
|
|
|
The {gewald} keyword sets the value of the Ewald or PPPM G-ewald
|
|
parameter 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
|
|
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,
|
|
LAMMPS will choose the G-ewald parameter automatically.
|
|
|
|
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
|
|
by providing a wall-style fix. The methodology behind the {slab}
|
|
option is explained in the paper by "(Yeh)"_#Yeh. An alternative
|
|
slab option can be invoked with the {nozforce} keyword in lieu of the
|
|
volfactor. This turns off all kspace forces in the z direction.
|
|
|
|
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
|
|
"pair_style"_pair_style.html requires a kspace_style to be defined.
|
|
This keyword gives you that option.
|
|
|
|
The {diff} keyword specifies the differentiation scheme used by the
|
|
PPPM method to compute forces on particles given electrostatic
|
|
potentials on the PPPM mesh. The {ik} approach is the default. 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.
|
|
|
|
IMPORTANT NOTE: Currently, only the {pppm} style supports the {ad}
|
|
option. Support from other {pppm} variants will be added later.
|
|
|
|
[Restrictions:] none
|
|
|
|
[Related commands:]
|
|
|
|
"kspace_style"_kspace_style.html, "boundary"_boundary.html
|
|
|
|
[Default:]
|
|
|
|
The option defaults are mesh = 0 0 0, order = 5, force = -1.0, gewald
|
|
= 0.0, slab = 1.0, compute = yes, and diff = ik.
|
|
|
|
:line
|
|
|
|
:link(Yeh)
|
|
[(Yeh)] Yeh and Berkowitz, J Chem Phys, 111, 3155 (1999).
|