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

This commit is contained in:
sjplimp 2013-06-27 23:48:54 +00:00
parent 3f5e6b3fab
commit 1e4b3bcf87
4 changed files with 124 additions and 6 deletions

View File

@ -92,6 +92,7 @@ simply trying them out.
</P>
<UL><LI>rRESPA
<LI>2-FFT PPPM
<LI>Staggered PPPM
<LI>single vs double PPPM
<LI>partial charge PPPM
<LI>verlet/split
@ -100,6 +101,29 @@ simply trying them out.
<LI>processor command for layout
<LI>OMP when lots of cores
</UL>
<P>2-FFT PPPM, also called <I>analytic differentiation</I> or <I>ad</I> PPPM, uses 2 FFTs
instead of the 4 FFTs used by the default <I>ik differentiation</I> PPPM. However,
2-FFT PPPM also requires a slightly larger mesh size to achieve the same accuracy
as 4-FFT PPPM. For problems where the FFT cost is the performance bottleneck (typically
large problems running on many processors), 2-FFT PPPM may be faster than 4-FFT PPPM.
</P>
<P>Staggered PPPM performs calculations using two different meshes, one shifted slightly with
respect to the other. This can reduce force aliasing errors and increase the accuracy of the
method, but also doubles the amount of work required. For high relative accuracy, using staggered
PPPM allows one to half the mesh size in each dimension as compared to regular PPPM,
which can give around a 4x speedup in the kspace time. However, for low relative
accuracy, using staggered PPPM gives little benefit and can be up to 2x slower in the
kspace time. For example, the rhodopsin benchmark was run on a single processor,
and results for kspace time vs. relative accuracy for the different methods are shown
in the figure below. For this system, staggered PPPM (using ik differentiation)
becomes useful when using a relative accuracy of slightly greater than 1e-5 and above.
</P>
<CENTER><IMG SRC = "JPG/rhodo_staggered.jpg">
</CENTER>
<P>IMPORTANT NOTE: Using staggered PPPM may not give the same increase in accuracy of energy and pressure
as it does in forces, so some caution must be used if energy and/or pressure are quantities of interest, such
as when using a barostat.
</P>
<HR>
<H4><A NAME = "acc_3"></A>5.3 Packages with optimized styles

View File

@ -88,6 +88,7 @@ simply trying them out.
rRESPA
2-FFT PPPM
Staggered PPPM
single vs double PPPM
partial charge PPPM
verlet/split
@ -96,6 +97,29 @@ load-balancing: balance and fix balance
processor command for layout
OMP when lots of cores :ul
2-FFT PPPM, also called {analytic differentiation} or {ad} PPPM, uses 2 FFTs
instead of the 4 FFTs used by the default {ik differentiation} PPPM. However,
2-FFT PPPM also requires a slightly larger mesh size to achieve the same accuracy
as 4-FFT PPPM. For problems where the FFT cost is the performance bottleneck (typically
large problems running on many processors), 2-FFT PPPM may be faster than 4-FFT PPPM.
Staggered PPPM performs calculations using two different meshes, one shifted slightly with
respect to the other. This can reduce force aliasing errors and increase the accuracy of the
method, but also doubles the amount of work required. For high relative accuracy, using staggered
PPPM allows one to half the mesh size in each dimension as compared to regular PPPM,
which can give around a 4x speedup in the kspace time. However, for low relative
accuracy, using staggered PPPM gives little benefit and can be up to 2x slower in the
kspace time. For example, the rhodopsin benchmark was run on a single processor,
and results for kspace time vs. relative accuracy for the different methods are shown
in the figure below. For this system, staggered PPPM (using ik differentiation)
becomes useful when using a relative accuracy of slightly greater than 1e-5 and above.
:c,image(JPG/rhodo_staggered.jpg)
IMPORTANT NOTE: Using staggered PPPM may not give the same increase in accuracy of energy and pressure
as it does in forces, so some caution must be used if energy and/or pressure are quantities of interest, such
as when using a barostat.
:line
5.3 Packages with optimized styles :h4,link(acc_3)

View File

@ -15,7 +15,7 @@
</P>
<PRE>kspace_style style value
</PRE>
<UL><LI>style = <I>none</I> or <I>ewald</I> or <I>ewald/disp</I> or <I>ewald/omp</I> or <I>pppm</I> or <I>pppm/cg</I> or <I>pppm/disp</I> or <I>pppm/tip4p</I> or <I>pppm/disp/tip4p</I> or <I>pppm/gpu</I> or <I>pppm/omp</I> or <I>pppm/cg/omp</I> or <I>pppm/tip4p/omp</I> or <I>msm</I> or <I>msm/cg</I> or <I>msm/omp</I> or <I>msm/cg/omp</I>
<UL><LI>style = <I>none</I> or <I>ewald</I> or <I>ewald/disp</I> or <I>ewald/omp</I> or <I>pppm</I> or <I>pppm/cg</I> or <I>pppm/disp</I> or <I>pppm/tip4p</I> or <I>pppm/stagger</I> or <I>pppm/disp/tip4p</I> or <I>pppm/gpu</I> or <I>pppm/omp</I> or <I>pppm/cg/omp</I> or <I>pppm/tip4p/omp</I> or <I>msm</I> or <I>msm/cg</I> or <I>msm/omp</I> or <I>msm/cg/omp</I>
<PRE> <I>none</I> value = none
<I>ewald</I> value = accuracy
@ -43,6 +43,8 @@
accuracy = desired relative error in forces
<I>pppm/tip4p/omp</I> value = accuracy
accuracy = desired relative error in forces
<I>pppm/stagger</I> value = accuracy
accuracy = desired relative error in forces
<I>msm</I> value = accuracy
accuracy = desired relative error in forces
<I>msm/cg</I> value = accuracy (smallq)
@ -100,8 +102,9 @@ any solid-state physics text.
but in a more efficient manner than the <I>ewald</I> style. The 1/r^6
capability means that Lennard-Jones or Buckingham potentials can be
used without a cutoff, i.e. they become full long-range potentials.
The <I>ewald/disp</I> style can also be used with point-dipoles <A HREF = "#Toukmaji">(Toukmaji)</A>
and is currently the only kspace solver in LAMMPS with this capability.
The <I>ewald/disp</I> style can also be used with point-dipoles
<A HREF = "#Toukmaji">(Toukmaji)</A> and is currently the only kspace solver in
LAMMPS with this capability.
</P>
<HR>
@ -127,6 +130,30 @@ adds a charge at the massless 4th site in each TIP4P water molecule.
It should be used with <A HREF = "pair_style.html">pair styles</A> with a
<I>tip4p/long</I> in their style name.
</P>
<P>The <I>pppm/stagger</I> style performs calculations using two different
meshes, one shifted slightly with respect to the other. This can
reduce force aliasing errors and increase the accuracy of the method
for a given mesh size. Or a coarser mesh can be used for the same
target accuracy, which saves CPU time. However, there is a trade-off
since FFTs on two meshes are now performed which increases the
compuation required. See <A HREF = "#Cerutti">(Cerutti)</A>, <A HREF = "#Neelov">(Neelov)</A>,
and <A HREF = "#Hockney">(Hockney)</A> for details of the method.
</P>
<P>For high relative accuracy, using staggered PPPM allows the mesh size
to be reduced by a factor of 2 in each dimension as compared to
regular PPPM (for the same target accuracy). This can give up to a 4x
speedup in the KSpace time (8x less mesh points, 2x more expensive).
However, for low relative accuracy, the staggered PPPM mesh size may
be essentially the same as for regular PPPM, which means the method
will be up to 2x slower in the KSpace time (simply 2x more expensive).
For more details and timings, see
<A HREF = "Section_accelerate.html">Section_accelerate</A>.
</P>
<P>IMPORTANT NOTE: Using <I>pppm/stagger</I> may not give the same increase in
the accuracy of energy and pressure as it does in forces, so some
caution must be used if energy and/or pressure are quantities of
interest, such as when using a barostat.
</P>
<HR>
<P>The <I>pppm/disp</I> and <I>pppm/disp/tip4p</I> styles add a mesh-based long-range
@ -318,6 +345,15 @@ Adam Hilger, NY (1989).
<P><B>(Pollock)</B> Pollock and Glosli, Comp Phys Comm, 95, 93 (1996).
</P>
<A NAME = "Cerutti"></A>
<P><B>(Cerutti)</B> Cerutti, Duke, Darden, Lybrand, Journal of Chemical Theory
and Computation 5, 2322 (2009)
</P>
<A NAME = "Neelov"></A>
<P><B>(Neelov)</B> Neelov, Holm, J Chem Phys 132, 234103 (2010)
</P>
<A NAME = "Veld"></A>
<P><B>(Veld)</B> In 't Veld, Ismail, Grest, J Chem Phys, 127, 144711 (2007).

View File

@ -12,7 +12,7 @@ kspace_style command :h3
kspace_style style value :pre
style = {none} or {ewald} or {ewald/disp} or {ewald/omp} or {pppm} or {pppm/cg} or {pppm/disp} or {pppm/tip4p} or {pppm/disp/tip4p} or {pppm/gpu} or {pppm/omp} or {pppm/cg/omp} or {pppm/tip4p/omp} or {msm} or {msm/cg} or {msm/omp} or {msm/cg/omp} :ulb,l
style = {none} or {ewald} or {ewald/disp} or {ewald/omp} or {pppm} or {pppm/cg} or {pppm/disp} or {pppm/tip4p} or {pppm/stagger} or {pppm/disp/tip4p} or {pppm/gpu} or {pppm/omp} or {pppm/cg/omp} or {pppm/tip4p/omp} or {msm} or {msm/cg} or {msm/omp} or {msm/cg/omp} :ulb,l
{none} value = none
{ewald} value = accuracy
accuracy = desired relative error in forces
@ -39,6 +39,8 @@ style = {none} or {ewald} or {ewald/disp} or {ewald/omp} or {pppm} or {pppm/cg}
accuracy = desired relative error in forces
{pppm/tip4p/omp} value = accuracy
accuracy = desired relative error in forces
{pppm/stagger} value = accuracy
accuracy = desired relative error in forces
{msm} value = accuracy
accuracy = desired relative error in forces
{msm/cg} value = accuracy (smallq)
@ -93,8 +95,9 @@ The {ewald/disp} style adds a long-range dispersion sum option for
but in a more efficient manner than the {ewald} style. The 1/r^6
capability means that Lennard-Jones or Buckingham potentials can be
used without a cutoff, i.e. they become full long-range potentials.
The {ewald/disp} style can also be used with point-dipoles "(Toukmaji)"_#Toukmaji
and is currently the only kspace solver in LAMMPS with this capability.
The {ewald/disp} style can also be used with point-dipoles
"(Toukmaji)"_#Toukmaji and is currently the only kspace solver in
LAMMPS with this capability.
:line
@ -120,6 +123,30 @@ adds a charge at the massless 4th site in each TIP4P water molecule.
It should be used with "pair styles"_pair_style.html with a
{tip4p/long} in their style name.
The {pppm/stagger} style performs calculations using two different
meshes, one shifted slightly with respect to the other. This can
reduce force aliasing errors and increase the accuracy of the method
for a given mesh size. Or a coarser mesh can be used for the same
target accuracy, which saves CPU time. However, there is a trade-off
since FFTs on two meshes are now performed which increases the
compuation required. See "(Cerutti)"_#Cerutti, "(Neelov)"_#Neelov,
and "(Hockney)"_#Hockney for details of the method.
For high relative accuracy, using staggered PPPM allows the mesh size
to be reduced by a factor of 2 in each dimension as compared to
regular PPPM (for the same target accuracy). This can give up to a 4x
speedup in the KSpace time (8x less mesh points, 2x more expensive).
However, for low relative accuracy, the staggered PPPM mesh size may
be essentially the same as for regular PPPM, which means the method
will be up to 2x slower in the KSpace time (simply 2x more expensive).
For more details and timings, see
"Section_accelerate"_Section_accelerate.html.
IMPORTANT NOTE: Using {pppm/stagger} may not give the same increase in
the accuracy of energy and pressure as it does in forces, so some
caution must be used if energy and/or pressure are quantities of
interest, such as when using a barostat.
:line
The {pppm/disp} and {pppm/disp/tip4p} styles add a mesh-based long-range
@ -304,6 +331,13 @@ Adam Hilger, NY (1989).
:link(Pollock)
[(Pollock)] Pollock and Glosli, Comp Phys Comm, 95, 93 (1996).
:link(Cerutti)
[(Cerutti)] Cerutti, Duke, Darden, Lybrand, Journal of Chemical Theory
and Computation 5, 2322 (2009)
:link(Neelov)
[(Neelov)] Neelov, Holm, J Chem Phys 132, 234103 (2010)
:link(Veld)
[(Veld)] In 't Veld, Ismail, Grest, J Chem Phys, 127, 144711 (2007).