671 lines
40 KiB
HTML
671 lines
40 KiB
HTML
|
|
|
|
<!DOCTYPE html>
|
|
<!--[if IE 8]><html class="no-js lt-ie9" lang="en" > <![endif]-->
|
|
<!--[if gt IE 8]><!--> <html class="no-js" lang="en" > <!--<![endif]-->
|
|
<head>
|
|
<meta charset="utf-8">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
|
|
<title>kspace_style command — LAMMPS documentation</title>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/css/theme.css" type="text/css" />
|
|
|
|
|
|
|
|
<link rel="stylesheet" href="_static/sphinxcontrib-images/LightBox2/lightbox2/css/lightbox.css" type="text/css" />
|
|
|
|
|
|
|
|
<link rel="top" title="LAMMPS documentation" href="index.html"/>
|
|
<link rel="up" title="Commands" href="commands.html"/>
|
|
<link rel="next" title="label command" href="label.html"/>
|
|
<link rel="prev" title="kspace_modify command" href="kspace_modify.html"/>
|
|
|
|
|
|
<script src="_static/js/modernizr.min.js"></script>
|
|
|
|
</head>
|
|
|
|
<body class="wy-body-for-nav" role="document">
|
|
|
|
<div class="wy-grid-for-nav">
|
|
|
|
|
|
<nav data-toggle="wy-nav-shift" class="wy-nav-side">
|
|
<div class="wy-side-nav-search">
|
|
|
|
|
|
|
|
<a href="Manual.html" class="icon icon-home"> LAMMPS
|
|
|
|
|
|
|
|
</a>
|
|
|
|
|
|
<div role="search">
|
|
<form id="rtd-search-form" class="wy-form" action="search.html" method="get">
|
|
<input type="text" name="q" placeholder="Search docs" />
|
|
<input type="hidden" name="check_keywords" value="yes" />
|
|
<input type="hidden" name="area" value="default" />
|
|
</form>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
|
|
<div class="wy-menu wy-menu-vertical" data-spy="affix" role="navigation" aria-label="main navigation">
|
|
|
|
|
|
|
|
<p class="caption"><span class="caption-text">User Documentation</span></p>
|
|
<ul>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_intro.html">1. Introduction</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_start.html">2. Getting Started</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_commands.html">3. Commands</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_packages.html">4. Packages</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_accelerate.html">5. Accelerating LAMMPS performance</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_howto.html">6. How-to discussions</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_example.html">7. Example problems</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_perf.html">8. Performance & scalability</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_tools.html">9. Additional tools</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_modify.html">10. Modifying & extending LAMMPS</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_python.html">11. Python interface to LAMMPS</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_errors.html">12. Errors</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="Section_history.html">13. Future and history</a></li>
|
|
</ul>
|
|
<p class="caption"><span class="caption-text">Index</span></p>
|
|
<ul class="current">
|
|
<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Tutorials</a></li>
|
|
<li class="toctree-l1 current"><a class="reference internal" href="commands.html">Commands</a><ul class="current">
|
|
<li class="toctree-l2"><a class="reference internal" href="angle_coeff.html">angle_coeff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="angle_style.html">angle_style command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="atom_modify.html">atom_modify command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="atom_style.html">atom_style command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="balance.html">balance command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="bond_coeff.html">bond_coeff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="bond_style.html">bond_style command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="bond_write.html">bond_write command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="boundary.html">boundary command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="box.html">box command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="change_box.html">change_box command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="clear.html">clear command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="comm_modify.html">comm_modify command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="comm_style.html">comm_style command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="compute.html">compute command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="compute_modify.html">compute_modify command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="create_atoms.html">create_atoms command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="create_bonds.html">create_bonds command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="create_box.html">create_box command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="delete_atoms.html">delete_atoms command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="delete_bonds.html">delete_bonds command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dielectric.html">dielectric command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dihedral_coeff.html">dihedral_coeff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dihedral_style.html">dihedral_style command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dimension.html">dimension command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="displace_atoms.html">displace_atoms command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dump.html">dump command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dump.html#dump-custom-vtk-command"><code class="docutils literal"><span class="pre">dump</span> <span class="pre">custom/vtk</span></code> command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dump.html#dump-h5md-command"><code class="docutils literal"><span class="pre">dump</span> <span class="pre">h5md</span></code> command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dump.html#dump-image-command"><code class="docutils literal"><span class="pre">dump</span> <span class="pre">image</span></code> command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dump.html#dump-movie-command"><code class="docutils literal"><span class="pre">dump</span> <span class="pre">movie</span></code> command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dump.html#dump-molfile-command"><code class="docutils literal"><span class="pre">dump</span> <span class="pre">molfile</span></code> command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dump_custom_vtk.html">dump custom/vtk command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dump_h5md.html">dump h5md command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dump_image.html">dump image command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dump_image.html#dump-movie-command">dump movie command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dump_modify.html">dump_modify command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="dump_molfile.html">dump molfile command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="echo.html">echo command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix.html">fix command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="fix_modify.html">fix_modify command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="group.html">group command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="group2ndx.html">group2ndx command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="group2ndx.html#ndx2group-command">ndx2group command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="if.html">if command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="improper_coeff.html">improper_coeff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="improper_style.html">improper_style command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="include.html">include command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="info.html">info command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="jump.html">jump command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="kspace_modify.html">kspace_modify command</a></li>
|
|
<li class="toctree-l2 current"><a class="current reference internal" href="#">kspace_style command</a><ul>
|
|
<li class="toctree-l3"><a class="reference internal" href="#syntax">Syntax</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#examples">Examples</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#description">Description</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#restrictions">Restrictions</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#related-commands">Related commands</a></li>
|
|
<li class="toctree-l3"><a class="reference internal" href="#default">Default</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l2"><a class="reference internal" href="label.html">label command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="lattice.html">lattice command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="log.html">log command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="mass.html">mass command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="min_modify.html">min_modify command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="min_style.html">min_style command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="minimize.html">minimize command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="molecule.html">molecule command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="neb.html">neb command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="neigh_modify.html">neigh_modify command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="neighbor.html">neighbor command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="newton.html">newton command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="next.html">next command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="package.html">package command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="pair_coeff.html">pair_coeff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="pair_modify.html">pair_modify command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="pair_style.html">pair_style command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="pair_write.html">pair_write command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="partition.html">partition command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="prd.html">prd command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="print.html">print command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="processors.html">processors command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="python.html">python command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="quit.html">quit command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="read_data.html">read_data command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="read_dump.html">read_dump command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="read_restart.html">read_restart command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="region.html">region command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="replicate.html">replicate command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="rerun.html">rerun command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="reset_timestep.html">reset_timestep command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="restart.html">restart command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="run.html">run command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="run_style.html">run_style command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="set.html">set command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="shell.html">shell command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="special_bonds.html">special_bonds command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="suffix.html">suffix command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="tad.html">tad command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="temper.html">temper command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="thermo.html">thermo command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="thermo_modify.html">thermo_modify command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="thermo_style.html">thermo_style command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="timer.html">timer command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="timestep.html">timestep command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="uncompute.html">uncompute command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="undump.html">undump command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="unfix.html">unfix command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="units.html">units command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="variable.html">variable command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="velocity.html">velocity command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="write_coeff.html">write_coeff command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="write_data.html">write_data command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="write_dump.html">write_dump command</a></li>
|
|
<li class="toctree-l2"><a class="reference internal" href="write_restart.html">write_restart command</a></li>
|
|
</ul>
|
|
</li>
|
|
<li class="toctree-l1"><a class="reference internal" href="fixes.html">Fixes</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="computes.html">Computes</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="pairs.html">Pair Styles</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="bonds.html">Bonds</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="angles.html">Angle Styles</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="dihedrals.html">Dihedral Styles</a></li>
|
|
<li class="toctree-l1"><a class="reference internal" href="impropers.html">Improper Styles</a></li>
|
|
</ul>
|
|
|
|
|
|
|
|
</div>
|
|
|
|
</nav>
|
|
|
|
<section data-toggle="wy-nav-shift" class="wy-nav-content-wrap">
|
|
|
|
|
|
<nav class="wy-nav-top" role="navigation" aria-label="top navigation">
|
|
<i data-toggle="wy-nav-top" class="fa fa-bars"></i>
|
|
<a href="Manual.html">LAMMPS</a>
|
|
</nav>
|
|
|
|
|
|
|
|
<div class="wy-nav-content">
|
|
<div class="rst-content">
|
|
<div role="navigation" aria-label="breadcrumbs navigation">
|
|
<ul class="wy-breadcrumbs">
|
|
<li><a href="Manual.html">Docs</a> »</li>
|
|
|
|
<li><a href="commands.html">Commands</a> »</li>
|
|
|
|
<li>kspace_style command</li>
|
|
<li class="wy-breadcrumbs-aside">
|
|
|
|
|
|
<a href="http://lammps.sandia.gov">Website</a>
|
|
<a href="Section_commands.html#comm">Commands</a>
|
|
|
|
</li>
|
|
</ul>
|
|
<hr/>
|
|
|
|
<div class="rst-footer-buttons" style="margin-bottom: 1em" role="navigation" aria-label="footer navigation">
|
|
|
|
<a href="label.html" class="btn btn-neutral float-right" title="label command" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
|
|
|
|
|
|
<a href="kspace_modify.html" class="btn btn-neutral" title="kspace_modify command" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
<div role="main" class="document" itemscope="itemscope" itemtype="http://schema.org/Article">
|
|
<div itemprop="articleBody">
|
|
|
|
<div class="section" id="kspace-style-command">
|
|
<span id="index-0"></span><h1>kspace_style command</h1>
|
|
<div class="section" id="syntax">
|
|
<h2>Syntax</h2>
|
|
<pre class="literal-block">
|
|
kspace_style style value
|
|
</pre>
|
|
<ul>
|
|
<li><p class="first">style = <em>none</em> or <em>ewald</em> or <em>ewald/disp</em> or <em>ewald/omp</em> or <em>pppm</em> or <em>pppm/cg</em> or <em>pppm/disp</em> or <em>pppm/tip4p</em> or <em>pppm/stagger</em> or <em>pppm/disp/tip4p</em> or <em>pppm/gpu</em> or <em>pppm/kk</em> or <em>pppm/omp</em> or <em>pppm/cg/omp</em> or <em>pppm/tip4p/omp</em> or <em>msm</em> or <em>msm/cg</em> or <em>msm/omp</em> or <em>msm/cg/omp</em></p>
|
|
<pre class="literal-block">
|
|
<em>none</em> value = none
|
|
<em>ewald</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>ewald/disp</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>ewald/omp</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>pppm</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>pppm/cg</em> value = accuracy (smallq)
|
|
accuracy = desired relative error in forces
|
|
smallq = cutoff for charges to be considered (optional) (charge units)
|
|
<em>pppm/disp</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>pppm/tip4p</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>pppm/disp/tip4p</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>pppm/gpu</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>pppm/kk</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>pppm/omp</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>pppm/cg/omp</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>pppm/tip4p/omp</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>pppm/stagger</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>msm</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>msm/cg</em> value = accuracy (smallq)
|
|
accuracy = desired relative error in forces
|
|
smallq = cutoff for charges to be considered (optional) (charge units)
|
|
<em>msm/omp</em> value = accuracy
|
|
accuracy = desired relative error in forces
|
|
<em>msm/cg/omp</em> value = accuracy (smallq)
|
|
accuracy = desired relative error in forces
|
|
smallq = cutoff for charges to be considered (optional) (charge units)
|
|
</pre>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div class="section" id="examples">
|
|
<h2>Examples</h2>
|
|
<pre class="literal-block">
|
|
kspace_style pppm 1.0e-4
|
|
kspace_style pppm/cg 1.0e-5 1.0e-6
|
|
kspace style msm 1.0e-4
|
|
kspace_style none
|
|
</pre>
|
|
</div>
|
|
<div class="section" id="description">
|
|
<h2>Description</h2>
|
|
<p>Define a long-range solver for LAMMPS to use each timestep to compute
|
|
long-range Coulombic interactions or long-range 1/r^6 interactions.
|
|
Most of the long-range solvers perform their computation in K-space,
|
|
hence the name of this command.</p>
|
|
<p>When such a solver is used in conjunction with an appropriate pair
|
|
style, the cutoff for Coulombic or 1/r^N interactions is effectively
|
|
infinite. If the Coulombic case, this means each charge in the system
|
|
interacts with charges in an infinite array of periodic images of the
|
|
simulation domain.</p>
|
|
<p>Note that using a long-range solver requires use of a matching <a class="reference internal" href="pair_style.html"><span class="doc">pair style</span></a> to perform consistent short-range pairwise
|
|
calculations. This means that the name of the pair style contains a
|
|
matching keyword to the name of the KSpace style, as in this table:</p>
|
|
<table border="1" class="docutils">
|
|
<colgroup>
|
|
<col width="49%" />
|
|
<col width="51%" />
|
|
</colgroup>
|
|
<tbody valign="top">
|
|
<tr class="row-odd"><td>Pair style</td>
|
|
<td>KSpace style</td>
|
|
</tr>
|
|
<tr class="row-even"><td>coul/long</td>
|
|
<td>ewald or pppm</td>
|
|
</tr>
|
|
<tr class="row-odd"><td>coul/msm</td>
|
|
<td>msm</td>
|
|
</tr>
|
|
<tr class="row-even"><td>lj/long or buck/long</td>
|
|
<td>disp (for dispersion)</td>
|
|
</tr>
|
|
<tr class="row-odd"><td>tip4p/long</td>
|
|
<td>tip4p</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
<hr class="docutils" />
|
|
<p>The <em>ewald</em> style performs a standard Ewald summation as described in
|
|
any solid-state physics text.</p>
|
|
<p>The <em>ewald/disp</em> style adds a long-range dispersion sum option for
|
|
1/r^6 potentials and is useful for simulation of interfaces
|
|
<a class="reference internal" href="pair_lj_long.html#veld"><span class="std std-ref">(Veld)</span></a>. It also performs standard Coulombic Ewald summations,
|
|
but in a more efficient manner than the <em>ewald</em> 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 <em>ewald/disp</em> style can also be used with point-dipoles
|
|
<a class="reference internal" href="pair_dipole.html#toukmaji"><span class="std std-ref">(Toukmaji)</span></a> and is currently the only kspace solver in
|
|
LAMMPS with this capability.</p>
|
|
<hr class="docutils" />
|
|
<p>The <em>pppm</em> style invokes a particle-particle particle-mesh solver
|
|
<a class="reference internal" href="#hockney"><span class="std std-ref">(Hockney)</span></a> which maps atom charge to a 3d mesh, uses 3d FFTs
|
|
to solve Poisson’s equation on the mesh, then interpolates electric
|
|
fields on the mesh points back to the atoms. It is closely related to
|
|
the particle-mesh Ewald technique (PME) <a class="reference internal" href="#darden"><span class="std std-ref">(Darden)</span></a> used in
|
|
AMBER and CHARMM. The cost of traditional Ewald summation scales as
|
|
N^(3/2) where N is the number of atoms in the system. The PPPM solver
|
|
scales as Nlog(N) due to the FFTs, so it is almost always a faster
|
|
choice <a class="reference internal" href="#pollock"><span class="std std-ref">(Pollock)</span></a>.</p>
|
|
<p>The <em>pppm/cg</em> style is identical to the <em>pppm</em> style except that it
|
|
has an optimization for systems where most particles are uncharged.
|
|
Similarly the <em>msm/cg</em> style implements the same optimization for <em>msm</em>.
|
|
The optional <em>smallq</em> argument defines the cutoff for the absolute
|
|
charge value which determines whether a particle is considered charged
|
|
or not. Its default value is 1.0e-5.</p>
|
|
<p>The <em>pppm/tip4p</em> style is identical to the <em>pppm</em> style except that it
|
|
adds a charge at the massless 4th site in each TIP4P water molecule.
|
|
It should be used with <a class="reference internal" href="pair_style.html"><span class="doc">pair styles</span></a> with a
|
|
<em>tip4p/long</em> in their style name.</p>
|
|
<p>The <em>pppm/stagger</em> 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 class="reference internal" href="#cerutti"><span class="std std-ref">(Cerutti)</span></a>, <a class="reference internal" href="#neelov"><span class="std std-ref">(Neelov)</span></a>,
|
|
and <a class="reference internal" href="#hockney"><span class="std std-ref">(Hockney)</span></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 class="reference internal" href="Section_accelerate.html"><span class="doc">Section 5</span></a>.</p>
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">Using <em>pppm/stagger</em> 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>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<p>The <em>pppm/disp</em> and <em>pppm/disp/tip4p</em> styles add a mesh-based long-range
|
|
dispersion sum option for 1/r^6 potentials <a class="reference internal" href="#isele-holder"><span class="std std-ref">(Isele-Holder)</span></a>,
|
|
similar to the <em>ewald/disp</em> 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.</p>
|
|
<p>For these styles, you will possibly want to adjust the default choice of
|
|
parameters by using the <a class="reference internal" href="kspace_modify.html"><span class="doc">kspace_modify</span></a> command.
|
|
This can be done by either choosing the Ewald and grid parameters, or
|
|
by specifying separate accuracies for the real and kspace
|
|
calculations. When not making any settings, the simulation will stop with
|
|
an error message. Further information on the influence of the parameters
|
|
and how to choose them is described in <a class="reference internal" href="#isele-holder"><span class="std std-ref">(Isele-Holder)</span></a>,
|
|
<a class="reference internal" href="#isele-holder2"><span class="std std-ref">(Isele-Holder2)</span></a> and the
|
|
<a class="reference internal" href="Section_howto.html#howto-24"><span class="std std-ref">How-To</span></a> discussion.</p>
|
|
<hr class="docutils" />
|
|
<div class="admonition note">
|
|
<p class="first admonition-title">Note</p>
|
|
<p class="last">All of the PPPM styles can be used with single-precision FFTs by
|
|
using the compiler switch -DFFT_SINGLE for the FFT_INC setting in your
|
|
lo-level Makefile. This setting also changes some of the PPPM
|
|
operations (e.g. mapping charge to mesh and interpolating electric
|
|
fields to particles) to be performed in single precision. This option
|
|
can speed-up long-range calulations, particularly in parallel or on
|
|
GPUs. The use of the -DFFT_SINGLE flag is discussed in <a class="reference internal" href="Section_start.html#start-2-4"><span class="std std-ref">this section</span></a> of the manual. MSM does not
|
|
currently support the -DFFT_SINGLE compiler switch.</p>
|
|
</div>
|
|
<hr class="docutils" />
|
|
<p>The <em>msm</em> style invokes a multi-level summation method MSM solver,
|
|
<a class="reference internal" href="#hardy"><span class="std std-ref">(Hardy)</span></a> or <a class="reference internal" href="#hardy2"><span class="std std-ref">(Hardy2)</span></a>, which maps atom charge to a 3d
|
|
mesh, and uses a multi-level hierarchy of coarser and coarser meshes
|
|
on which direct coulomb solves are done. This method does not use
|
|
FFTs and scales as N. It may therefore be faster than the other
|
|
K-space solvers for relatively large problems when running on large
|
|
core counts. MSM can also be used for non-periodic boundary conditions and
|
|
for mixed periodic and non-periodic boundaries.</p>
|
|
<p>MSM is most competitive versus Ewald and PPPM when only relatively
|
|
low accuracy forces, about 1e-4 relative error or less accurate,
|
|
are needed. Note that use of a larger coulomb cutoff (i.e. 15
|
|
angstroms instead of 10 angstroms) provides better MSM accuracy for
|
|
both the real space and grid computed forces.</p>
|
|
<p>Currently calculation of the full pressure tensor in MSM is expensive.
|
|
Using the <a class="reference internal" href="kspace_modify.html"><span class="doc">kspace_modify</span></a> <em>pressure/scalar yes</em>
|
|
command provides a less expensive way to compute the scalar pressure
|
|
(Pxx + Pyy + Pzz)/3.0. The scalar pressure can be used, for example,
|
|
to run an isotropic barostat. If the full pressure tensor is needed,
|
|
then calculating the pressure at every timestep or using a fixed
|
|
pressure simulation with MSM will cause the code to run slower.</p>
|
|
<hr class="docutils" />
|
|
<p>The specified <em>accuracy</em> determines the relative RMS error in per-atom
|
|
forces calculated by the long-range solver. It is set as a
|
|
dimensionless number, relative to the force that two unit point
|
|
charges (e.g. 2 monovalent ions) exert on each other at a distance of
|
|
1 Angstrom. This reference value was chosen as representative of the
|
|
magnitude of electrostatic forces in atomic systems. Thus an accuracy
|
|
value of 1.0e-4 means that the RMS error will be a factor of 10000
|
|
smaller than the reference force.</p>
|
|
<p>The accuracy setting is used in conjunction with the pairwise cutoff
|
|
to determine the number of K-space vectors for style <em>ewald</em> or the
|
|
grid size for style <em>pppm</em> or <em>msm</em>.</p>
|
|
<p>Note that style <em>pppm</em> only computes the grid size at the beginning of
|
|
a simulation, so if the length or triclinic tilt of the simulation
|
|
cell increases dramatically during the course of the simulation, the
|
|
accuracy of the simulation may degrade. Likewise, if the
|
|
<a class="reference internal" href="kspace_modify.html"><span class="doc">kspace_modify slab</span></a> option is used with
|
|
shrink-wrap boundaries in the z-dimension, and the box size changes
|
|
dramatically in z. For example, for a triclinic system with all three
|
|
tilt factors set to the maximum limit, the PPPM grid should be
|
|
increased roughly by a factor of 1.5 in the y direction and 2.0 in the
|
|
z direction as compared to the same system using a cubic orthogonal
|
|
simulation cell. One way to ensure the accuracy requirement is being
|
|
met is to run a short simulation at the maximum expected tilt or
|
|
length, note the required grid size, and then use the
|
|
<a class="reference internal" href="kspace_modify.html"><span class="doc">kspace_modify</span></a> <em>mesh</em> command to manually set the
|
|
PPPM grid size to this value.</p>
|
|
<p>RMS force errors in real space for <em>ewald</em> and <em>pppm</em> are estimated
|
|
using equation 18 of <a class="reference internal" href="#kolafa"><span class="std std-ref">(Kolafa)</span></a>, which is also referenced as
|
|
equation 9 of <a class="reference internal" href="#petersen"><span class="std std-ref">(Petersen)</span></a>. RMS force errors in K-space for
|
|
<em>ewald</em> are estimated using equation 11 of <a class="reference internal" href="#petersen"><span class="std std-ref">(Petersen)</span></a>,
|
|
which is similar to equation 32 of <a class="reference internal" href="#kolafa"><span class="std std-ref">(Kolafa)</span></a>. RMS force
|
|
errors in K-space for <em>pppm</em> are estimated using equation 38 of
|
|
<a class="reference internal" href="#deserno"><span class="std std-ref">(Deserno)</span></a>. RMS force errors for <em>msm</em> are estimated
|
|
using ideas from chapter 3 of <a class="reference internal" href="#hardy"><span class="std std-ref">(Hardy)</span></a>, with equation 3.197
|
|
of particular note. When using <em>msm</em> with non-periodic boundary
|
|
conditions, it is expected that the error estimation will be too
|
|
pessimistic. RMS force errors for dipoles when using <em>ewald/disp</em>
|
|
are estimated using equations 33 and 46 of <a class="reference internal" href="pair_polymorphic.html#wang"><span class="std std-ref">(Wang)</span></a>.</p>
|
|
<p>See the <a class="reference internal" href="kspace_modify.html"><span class="doc">kspace_modify</span></a> command for additional
|
|
options of the K-space solvers that can be set, including a <em>force</em>
|
|
option for setting an absoulte RMS error in forces, as opposed to a
|
|
relative RMS error.</p>
|
|
<hr class="docutils" />
|
|
<p>Styles with a <em>gpu</em>, <em>intel</em>, <em>kk</em>, <em>omp</em>, or <em>opt</em> suffix are
|
|
functionally the same as the corresponding style without the suffix.
|
|
They have been optimized to run faster, depending on your available
|
|
hardware, as discussed in <a class="reference internal" href="Section_accelerate.html"><span class="doc">Section 5</span></a>
|
|
of the manual. The accelerated styles take the same arguments and
|
|
should produce the same results, except for round-off and precision
|
|
issues.</p>
|
|
<p>More specifically, the <em>pppm/gpu</em> style performs charge assignment and
|
|
force interpolation calculations on the GPU. These processes are
|
|
performed either in single or double precision, depending on whether
|
|
the -DFFT_SINGLE setting was specified in your lo-level Makefile, as
|
|
discussed above. The FFTs themselves are still calculated on the CPU.
|
|
If <em>pppm/gpu</em> is used with a GPU-enabled pair style, part of the PPPM
|
|
calculation can be performed concurrently on the GPU while other
|
|
calculations for non-bonded and bonded force calculation are performed
|
|
on the CPU.</p>
|
|
<p>The <em>pppm/kk</em> style also performs charge assignment and force
|
|
interpolation calculations on the GPU while the FFTs themselves are
|
|
calculated on the CPU in non-threaded mode.</p>
|
|
<p>These accelerated styles are part of the GPU, USER-INTEL,
|
|
KOKKOS, USER-OMP, and OPT packages respectively. They are only
|
|
enabled if LAMMPS was built with those packages. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info.</p>
|
|
<p>See <a class="reference internal" href="Section_accelerate.html"><span class="doc">Section 5</span></a> of the manual for
|
|
more instructions on how to use the accelerated styles effectively.</p>
|
|
</div>
|
|
<div class="section" id="restrictions">
|
|
<h2>Restrictions</h2>
|
|
<p>Note that the long-range electrostatic solvers in LAMMPS assume conducting
|
|
metal (tinfoil) boundary conditions for both charge and dipole
|
|
interactions. Vacuum boundary conditions are not currently supported.</p>
|
|
<p>The <em>ewald/disp</em>, <em>ewald</em>, <em>pppm</em>, and <em>msm</em> styles support
|
|
non-orthogonal (triclinic symmetry) simulation boxes. However,
|
|
triclinic simulation cells may not yet be supported by suffix versions
|
|
of these styles.</p>
|
|
<p>All of the kspace styles are part of the KSPACE package. They are
|
|
only enabled if LAMMPS was built with that package. See the <a class="reference internal" href="Section_start.html#start-3"><span class="std std-ref">Making LAMMPS</span></a> section for more info. Note that
|
|
the KSPACE package is installed by default.</p>
|
|
<p>For MSM, a simulation must be 3d and one can use any combination of
|
|
periodic, non-periodic, or shrink-wrapped boundaries (specified using
|
|
the <a class="reference internal" href="boundary.html"><span class="doc">boundary</span></a> command).</p>
|
|
<p>For Ewald and PPPM, a simulation must be 3d and periodic in all
|
|
dimensions. The only exception is if the slab option is set with
|
|
<a class="reference internal" href="kspace_modify.html"><span class="doc">kspace_modify</span></a>, in which case the xy dimensions
|
|
must be periodic and the z dimension must be non-periodic.</p>
|
|
</div>
|
|
<div class="section" id="related-commands">
|
|
<h2>Related commands</h2>
|
|
<p><a class="reference internal" href="kspace_modify.html"><span class="doc">kspace_modify</span></a>, <a class="reference internal" href="pair_lj.html"><span class="doc">pair_style lj/cut/coul/long</span></a>, <a class="reference internal" href="pair_charmm.html"><span class="doc">pair_style lj/charmm/coul/long</span></a>, <a class="reference internal" href="pair_lj_long.html"><span class="doc">pair_style lj/long/coul/long</span></a>, <a class="reference internal" href="pair_buck.html"><span class="doc">pair_style buck/coul/long</span></a></p>
|
|
</div>
|
|
<div class="section" id="default">
|
|
<h2>Default</h2>
|
|
<pre class="literal-block">
|
|
kspace_style none
|
|
</pre>
|
|
<hr class="docutils" />
|
|
<p id="darden"><strong>(Darden)</strong> Darden, York, Pedersen, J Chem Phys, 98, 10089 (1993).</p>
|
|
<p id="deserno"><strong>(Deserno)</strong> Deserno and Holm, J Chem Phys, 109, 7694 (1998).</p>
|
|
<p id="hockney"><strong>(Hockney)</strong> Hockney and Eastwood, Computer Simulation Using Particles,
|
|
Adam Hilger, NY (1989).</p>
|
|
<p id="kolafa"><strong>(Kolafa)</strong> Kolafa and Perram, Molecular Simualtion, 9, 351 (1992).</p>
|
|
<p id="petersen"><strong>(Petersen)</strong> Petersen, J Chem Phys, 103, 3668 (1995).</p>
|
|
<p id="wang"><strong>(Wang)</strong> Wang and Holm, J Chem Phys, 115, 6277 (2001).</p>
|
|
<p id="pollock"><strong>(Pollock)</strong> Pollock and Glosli, Comp Phys Comm, 95, 93 (1996).</p>
|
|
<p id="cerutti"><strong>(Cerutti)</strong> Cerutti, Duke, Darden, Lybrand, Journal of Chemical Theory
|
|
and Computation 5, 2322 (2009)</p>
|
|
<p id="neelov"><strong>(Neelov)</strong> Neelov, Holm, J Chem Phys 132, 234103 (2010)</p>
|
|
<p id="veld"><strong>(Veld)</strong> In ‘t Veld, Ismail, Grest, J Chem Phys, 127, 144711 (2007).</p>
|
|
<p id="toukmaji"><strong>(Toukmaji)</strong> Toukmaji, Sagui, Board, and Darden, J Chem Phys, 113,
|
|
10913 (2000).</p>
|
|
<p id="isele-holder"><strong>(Isele-Holder)</strong> Isele-Holder, Mitchell, Ismail, J Chem Phys, 137,
|
|
174107 (2012).</p>
|
|
<p id="isele-holder2"><strong>(Isele-Holder2)</strong> Isele-Holder, Mitchell, Hammond, Kohlmeyer, Ismail,
|
|
J Chem Theory Comput 9, 5412 (2013).</p>
|
|
<p id="hardy"><strong>(Hardy)</strong> David Hardy thesis: Multilevel Summation for the Fast
|
|
Evaluation of Forces for the Simulation of Biomolecules, University of
|
|
Illinois at Urbana-Champaign, (2006).</p>
|
|
<p id="hardy2"><strong>(Hardy)</strong> Hardy, Stone, Schulten, Parallel Computing 35 (2009)
|
|
164-177.</p>
|
|
</div>
|
|
</div>
|
|
|
|
|
|
</div>
|
|
</div>
|
|
<footer>
|
|
|
|
<div class="rst-footer-buttons" role="navigation" aria-label="footer navigation">
|
|
|
|
<a href="label.html" class="btn btn-neutral float-right" title="label command" accesskey="n">Next <span class="fa fa-arrow-circle-right"></span></a>
|
|
|
|
|
|
<a href="kspace_modify.html" class="btn btn-neutral" title="kspace_modify command" accesskey="p"><span class="fa fa-arrow-circle-left"></span> Previous</a>
|
|
|
|
</div>
|
|
|
|
|
|
<hr/>
|
|
|
|
<div role="contentinfo">
|
|
<p>
|
|
© Copyright 2013 Sandia Corporation.
|
|
</p>
|
|
</div>
|
|
Built with <a href="http://sphinx-doc.org/">Sphinx</a> using a <a href="https://github.com/snide/sphinx_rtd_theme">theme</a> provided by <a href="https://readthedocs.org">Read the Docs</a>.
|
|
|
|
</footer>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
</section>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
var DOCUMENTATION_OPTIONS = {
|
|
URL_ROOT:'./',
|
|
VERSION:'',
|
|
COLLAPSE_INDEX:false,
|
|
FILE_SUFFIX:'.html',
|
|
HAS_SOURCE: true
|
|
};
|
|
</script>
|
|
<script type="text/javascript" src="_static/jquery.js"></script>
|
|
<script type="text/javascript" src="_static/underscore.js"></script>
|
|
<script type="text/javascript" src="_static/doctools.js"></script>
|
|
<script type="text/javascript" src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/jquery-1.11.0.min.js"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2/js/lightbox.min.js"></script>
|
|
<script type="text/javascript" src="_static/sphinxcontrib-images/LightBox2/lightbox2-customize/jquery-noconflict.js"></script>
|
|
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript" src="_static/js/theme.js"></script>
|
|
|
|
|
|
|
|
|
|
<script type="text/javascript">
|
|
jQuery(function () {
|
|
SphinxRtdTheme.StickyNav.enable();
|
|
});
|
|
</script>
|
|
|
|
|
|
</body>
|
|
</html> |