forked from lijiext/lammps
git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@10129 f3b2605a-c512-4ea7-a41b-209d697bcdaa
This commit is contained in:
parent
3f5e6b3fab
commit
1e4b3bcf87
|
@ -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
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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).
|
||||
|
|
|
@ -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).
|
||||
|
||||
|
|
Loading…
Reference in New Issue