Updating to reflect changes in MSM "v2" for LAMMPS.

git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@8832 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
pscrozi
2012-10-01 17:53:05 +00:00
parent c02f4b07a2
commit 15e35e4ffa
4 changed files with 77 additions and 44 deletions

View File

@ -21,8 +21,10 @@
<PRE> <I>mesh</I> value = x y z
x,y,z = PPPM FFT grid size in each dimension
<I>splitorder</I> value = N
N = order of Taylor series used to split the potential between different MSM levels
<I>order</I> value = N
N = grid extent of Gaussian for PPPM mapping of each charge
N = grid extent of Gaussian for PPPM or MSM mapping of each charge
<I>force</I> value = accuracy (force units)
<I>gewald</I> value = rinv (1/distance units)
rinv = PPPM G-ewald parameter
@ -37,7 +39,7 @@
</UL>
<P><B>Examples:</B>
</P>
<PRE>kspace_modify mesh 24 24 30 order 6
<PRE>kspace_modify mesh 24 24 30 order 6 splitorder 3
kspace_modify slab 3.0
</PRE>
<P><B>Description:</B>
@ -58,21 +60,30 @@ user-specified accuracy and pairwise cutoff. Values for x,y,z of
extends when it is mapped to the grid in kspace style <I>pppm</I> or <I>msm</I>.
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.
For the LAMMPS implementation of MSM, 4 is the only allowable value.
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 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
interpolating charge/fields to/from the grid. And vice versa.
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.
</P>
<P>The <I>splitorder</I> 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. <A HREF = "#Hardy">(Hardy)</A> recommends that the <I>splitorder</I> be roughly
half of the order parameter. For example, the default MSM order is 4
and the default <I>splitorder</I> is 2. For higher accuracy in MSM, one can use
order 10 and <I>splitorder</I> 5 or 6, though this will increase the interpolation
cost as described above.
</P>
<P>The PPPM order parameter may be reset by LAMMPS when it sets up the
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.
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.
</P>
<P>The <I>force</I> keyword overrides the relative accuracy parameter set by
the <A HREF = "kspace_style.html">kspace_style</A> command with an absolute
@ -123,16 +134,18 @@ This keyword gives you that option.
</P>
<P>The <I>diff</I> keyword specifies the differentiation scheme used by the
PPPM method to compute forces on particles given electrostatic
potentials on the PPPM mesh. The <I>ik</I> approach is the default. It
performs differentiation in Kspace, but uses 3 FFTs to transfer the
potentials on the PPPM mesh. The <I>ik</I> 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 <I>ad</I> 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 <I>ik</I> approach.
as the <I>ik</I> approach. Analogous approaches have been implemented in MSM
and can be specified using the same keywords. The <I>ad</I> approach is the
default for MSM.
</P>
<P>IMPORTANT NOTE: Currently, only the <I>pppm</I> style supports the <I>ad</I>
option. Support from other <I>pppm</I> variants will be added later.
<P>IMPORTANT NOTE: Currently, not all <I>pppm</I> styles support the
<I>ad</I> option. Support for those <I>pppm</I> variants will be added later.
</P>
<P><B>Restrictions:</B> none
</P>
@ -142,8 +155,9 @@ option. Support from other <I>pppm</I> variants will be added later.
</P>
<P><B>Default:</B>
</P>
<P>The option defaults are mesh = 0 0 0, order = 5, force = -1.0, gewald
= 0.0, slab = 1.0, compute = yes, and diff = ik.
<P>The option defaults are mesh = 0 0 0, order = 5 (PPPM), order = 4 (MSM),
splitorder = 2 (MSM), force = -1.0, gewald = 0.0, slab = 1.0, compute = yes,
and diff = ik (PPPM), diff = ad (MSM).
</P>
<HR>
@ -151,4 +165,10 @@ option. Support from other <I>pppm</I> variants will be added later.
<P><B>(Yeh)</B> Yeh and Berkowitz, J Chem Phys, 111, 3155 (1999).
</P>
<A NAME = "Hardy"></A>
<P><B>(Hardy)</B> David, Multilevel Summation for the Fast Evaluation of
Forces for the Simulation of Biomolecules, University of Illinois
at Urbana-Champaign, (2006).
</P>
</HTML>

View File

@ -16,8 +16,10 @@ 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
{splitorder} value = N
N = order of Taylor series used to split the potential between different MSM levels
{order} value = N
N = grid extent of Gaussian for PPPM mapping of each charge
N = grid extent of Gaussian for PPPM or MSM mapping of each charge
{force} value = accuracy (force units)
{gewald} value = rinv (1/distance units)
rinv = PPPM G-ewald parameter
@ -31,7 +33,7 @@ keyword = {mesh} or {order} or {gewald} or {slab} or (nozforce} or {compute} or
[Examples:]
kspace_modify mesh 24 24 30 order 6
kspace_modify mesh 24 24 30 order 6 splitorder 3
kspace_modify slab 3.0 :pre
[Description:]
@ -52,21 +54,30 @@ The {order} keyword determines how many grid spacings an atom's charge
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.
For the LAMMPS implementation of MSM, 4 is the only allowable value.
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 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
interpolating charge/fields to/from the grid. And vice versa.
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.
The {splitorder} 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 {splitorder} 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 {splitorder} 5 or 6, though this will increase the interpolation
cost as described above.
The PPPM order parameter may be reset by LAMMPS when it sets up the
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.
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.
The {force} keyword overrides the relative accuracy parameter set by
the "kspace_style"_kspace_style.html command with an absolute
@ -117,16 +128,18 @@ 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
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.
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, only the {pppm} style supports the {ad}
option. Support from other {pppm} variants will be added later.
IMPORTANT NOTE: Currently, not all {pppm} styles support the
{ad} option. Support for those {pppm} variants will be added later.
[Restrictions:] none
@ -136,10 +149,16 @@ option. Support from other {pppm} variants will be added later.
[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.
The option defaults are mesh = 0 0 0, order = 5 (PPPM), order = 4 (MSM),
splitorder = 2 (MSM), force = -1.0, gewald = 0.0, slab = 1.0, compute = yes,
and diff = ik (PPPM), diff = ad (MSM).
:line
:link(Yeh)
[(Yeh)] Yeh and Berkowitz, J Chem Phys, 111, 3155 (1999).
:link(Hardy)
[(Hardy)] David, Multilevel Summation for the Fast Evaluation of
Forces for the Simulation of Biomolecules, University of Illinois
at Urbana-Champaign, (2006).

View File

@ -224,10 +224,7 @@ LAMMPS</A> section for more info.
style <I>pppm/tip4p</I> and vice versa.
</P>
<P>The <I>msm</I> style is fairly new, and still lacks some important features
and optimizations. In particular, the <I>msm</I> style does not include
long-range virial contributions to the pressure. It should not be used
for NPT simulations, and the reported total pressures should not be
trusted. Also the upper MSM levels (above the first level) are not
and optimizations. The upper MSM levels (above the first level) are not
parallelized, so this MSM implementation may not yet scale very well
on large core counts.
</P>

View File

@ -219,10 +219,7 @@ When using a long-range pairwise TIP4P potential, you must use kspace
style {pppm/tip4p} and vice versa.
The {msm} style is fairly new, and still lacks some important features
and optimizations. In particular, the {msm} style does not include
long-range virial contributions to the pressure. It should not be used
for NPT simulations, and the reported total pressures should not be
trusted. Also the upper MSM levels (above the first level) are not
and optimizations. The upper MSM levels (above the first level) are not
parallelized, so this MSM implementation may not yet scale very well
on large core counts.