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

This commit is contained in:
sjplimp 2015-12-23 17:07:47 +00:00
parent 29b4d60141
commit 57dc7d32d4
6 changed files with 119 additions and 64 deletions

View File

@ -607,12 +607,12 @@ This is indicated by additional letters in parenthesis: c = USER-CUDA,
g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.</p>
<table border="1" class="docutils">
<colgroup>
<col width="16%" />
<col width="11%" />
<col width="12%" />
<col width="15%" />
<col width="11%" />
<col width="11%" />
<col width="13%" />
<col width="10%" />
<col width="12%" />
<col width="11%" />
<col width="15%" />
<col width="12%" />
</colgroup>
@ -692,59 +692,59 @@ g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.</p>
<tr class="row-odd"><td><a class="reference internal" href="fix_property_atom.html"><em>property/atom</em></a></td>
<td><a class="reference internal" href="fix_qeq_comb.html"><em>qeq/comb (o)</em></a></td>
<td><a class="reference internal" href="fix_qeq.html"><em>qeq/dynamic</em></a></td>
<td><a class="reference internal" href="fix_qeq.html"><em>qeq/fire</em></a></td>
<td><a class="reference internal" href="fix_qeq.html"><em>qeq/point</em></a></td>
<td><a class="reference internal" href="fix_qeq.html"><em>qeq/shielded</em></a></td>
<td><a class="reference internal" href="fix_qeq.html"><em>qeq/slater</em></a></td>
<td><a class="reference internal" href="fix_reax_bonds.html"><em>reax/bonds</em></a></td>
<td><a class="reference internal" href="fix_recenter.html"><em>recenter</em></a></td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="fix_restrain.html"><em>restrain</em></a></td>
<tr class="row-even"><td><a class="reference internal" href="fix_recenter.html"><em>recenter</em></a></td>
<td><a class="reference internal" href="fix_restrain.html"><em>restrain</em></a></td>
<td><a class="reference internal" href="fix_rigid.html"><em>rigid (o)</em></a></td>
<td><a class="reference internal" href="fix_rigid.html"><em>rigid/nph (o)</em></a></td>
<td><a class="reference internal" href="fix_rigid.html"><em>rigid/npt (o)</em></a></td>
<td><a class="reference internal" href="fix_rigid.html"><em>rigid/nve (o)</em></a></td>
<td><a class="reference internal" href="fix_rigid.html"><em>rigid/nvt (o)</em></a></td>
<td><a class="reference internal" href="fix_rigid.html"><em>rigid/small (o)</em></a></td>
<td><a class="reference internal" href="fix_rigid.html"><em>rigid/small/nph</em></a></td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="fix_rigid.html"><em>rigid/small/npt</em></a></td>
<tr class="row-odd"><td><a class="reference internal" href="fix_rigid.html"><em>rigid/small/nph</em></a></td>
<td><a class="reference internal" href="fix_rigid.html"><em>rigid/small/npt</em></a></td>
<td><a class="reference internal" href="fix_rigid.html"><em>rigid/small/nve</em></a></td>
<td><a class="reference internal" href="fix_rigid.html"><em>rigid/small/nvt</em></a></td>
<td><a class="reference internal" href="fix_setforce.html"><em>setforce (ck)</em></a></td>
<td><a class="reference internal" href="fix_shake.html"><em>shake (c)</em></a></td>
<td><a class="reference internal" href="fix_spring.html"><em>spring</em></a></td>
<td><a class="reference internal" href="fix_spring_rg.html"><em>spring/rg</em></a></td>
<td><a class="reference internal" href="fix_spring_self.html"><em>spring/self</em></a></td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="fix_srd.html"><em>srd</em></a></td>
<tr class="row-even"><td><a class="reference internal" href="fix_spring_self.html"><em>spring/self</em></a></td>
<td><a class="reference internal" href="fix_srd.html"><em>srd</em></a></td>
<td><a class="reference internal" href="fix_store_force.html"><em>store/force</em></a></td>
<td><a class="reference internal" href="fix_store_state.html"><em>store/state</em></a></td>
<td><a class="reference internal" href="fix_temp_berendsen.html"><em>temp/berendsen (c)</em></a></td>
<td><a class="reference internal" href="fix_temp_csvr.html"><em>temp/csld</em></a></td>
<td><a class="reference internal" href="fix_temp_csvr.html"><em>temp/csvr</em></a></td>
<td><a class="reference internal" href="fix_temp_rescale.html"><em>temp/rescale (c)</em></a></td>
<td><a class="reference internal" href="fix_tfmc.html"><em>tfmc</em></a></td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="fix_thermal_conductivity.html"><em>thermal/conductivity</em></a></td>
<tr class="row-odd"><td><a class="reference internal" href="fix_tfmc.html"><em>tfmc</em></a></td>
<td><a class="reference internal" href="fix_thermal_conductivity.html"><em>thermal/conductivity</em></a></td>
<td><a class="reference internal" href="fix_tmd.html"><em>tmd</em></a></td>
<td><a class="reference internal" href="fix_ttm.html"><em>ttm</em></a></td>
<td><a class="reference internal" href="fix_tune_kspace.html"><em>tune/kspace</em></a></td>
<td><a class="reference internal" href="fix_vector.html"><em>vector</em></a></td>
<td><a class="reference internal" href="fix_viscosity.html"><em>viscosity</em></a></td>
<td><a class="reference internal" href="fix_viscous.html"><em>viscous (c)</em></a></td>
<td><a class="reference internal" href="fix_wall.html"><em>wall/colloid</em></a></td>
</tr>
<tr class="row-even"><td><a class="reference internal" href="fix_wall_gran.html"><em>wall/gran</em></a></td>
<tr class="row-even"><td><a class="reference internal" href="fix_wall.html"><em>wall/colloid</em></a></td>
<td><a class="reference internal" href="fix_wall_gran.html"><em>wall/gran</em></a></td>
<td><a class="reference internal" href="fix_wall.html"><em>wall/harmonic</em></a></td>
<td><a class="reference internal" href="fix_wall.html"><em>wall/lj1043</em></a></td>
<td><a class="reference internal" href="fix_wall.html"><em>wall/lj126</em></a></td>
<td><a class="reference internal" href="fix_wall.html"><em>wall/lj93</em></a></td>
<td><a class="reference internal" href="fix_wall_piston.html"><em>wall/piston</em></a></td>
<td><a class="reference internal" href="fix_wall_reflect.html"><em>wall/reflect (k)</em></a></td>
<td><a class="reference internal" href="fix_wall_region.html"><em>wall/region</em></a></td>
</tr>
<tr class="row-odd"><td><a class="reference internal" href="fix_wall_srd.html"><em>wall/srd</em></a></td>
<td>&nbsp;</td>
<tr class="row-odd"><td><a class="reference internal" href="fix_wall_region.html"><em>wall/region</em></a></td>
<td><a class="reference internal" href="fix_wall_srd.html"><em>wall/srd</em></a></td>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>

View File

@ -548,6 +548,7 @@ g = GPU, i = USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT.
"property/atom"_fix_property_atom.html,
"qeq/comb (o)"_fix_qeq_comb.html,
"qeq/dynamic"_fix_qeq.html,
"qeq/fire"_fix_qeq.html,
"qeq/point"_fix_qeq.html,
"qeq/shielded"_fix_qeq.html,
"qeq/slater"_fix_qeq.html,

View File

@ -235,12 +235,12 @@ correctly, the time-averaged temperature and stress tensor of the
particles will match the target values specified by Tstart/Tstop and
Pstart/Pstop.</p>
<p>The equations of motion used are those of Shinoda et al in
<a class="reference internal" href="pair_sdk.html#shinoda"><span>(Shinoda)</span></a>, which combine the hydrostatic equations of
Martyna, Tobias and Klein in <a class="reference internal" href="fix_rigid.html#martyna"><span>(Martyna)</span></a> with the strain
<a class="reference internal" href="#shinoda"><span>(Shinoda)</span></a>, which combine the hydrostatic equations of
Martyna, Tobias and Klein in <a class="reference internal" href="#martyna"><span>(Martyna)</span></a> with the strain
energy proposed by Parrinello and Rahman in
<a class="reference internal" href="fix_nh_eff.html#parrinello"><span>(Parrinello)</span></a>. The time integration schemes closely
<a class="reference internal" href="#parrinello"><span>(Parrinello)</span></a>. The time integration schemes closely
follow the time-reversible measure-preserving Verlet and rRESPA
integrators derived by Tuckerman et al in <a class="reference internal" href="run_style.html#tuckerman"><span>(Tuckerman)</span></a>.</p>
integrators derived by Tuckerman et al in <a class="reference internal" href="#tuckerman"><span>(Tuckerman)</span></a>.</p>
<hr class="docutils" />
<p>The thermostat parameters for fix styles <em>nvt</em> and <em>npt</em> is specified
using the <em>temp</em> keyword. Other thermostat-related keywords are
@ -397,7 +397,7 @@ freedom. A value of 0 corresponds to no thermostatting of the
barostat variables.</p>
<p>The <em>mtk</em> keyword controls whether or not the correction terms due to
Martyna, Tuckerman, and Klein are included in the equations of motion
<a class="reference internal" href="fix_rigid.html#martyna"><span>(Martyna)</span></a>. Specifying <em>no</em> reproduces the original
<a class="reference internal" href="#martyna"><span>(Martyna)</span></a>. Specifying <em>no</em> reproduces the original
Hoover barostat, whose volume probability distribution function
differs from the true NPT and NPH ensembles by a factor of 1/V. Hence
using <em>yes</em> is more correct, but in many cases the difference is
@ -406,7 +406,7 @@ negligible.</p>
scheme at little extra cost. The initial and final updates of the
thermostat variables are broken up into <em>tloop</em> substeps, each of
length <em>dt</em>/<em>tloop</em>. This corresponds to using a first-order
Suzuki-Yoshida scheme <a class="reference internal" href="run_style.html#tuckerman"><span>(Tuckerman)</span></a>. The keyword <em>ploop</em>
Suzuki-Yoshida scheme <a class="reference internal" href="#tuckerman"><span>(Tuckerman)</span></a>. The keyword <em>ploop</em>
does the same thing for the barostat thermostat.</p>
<p>The keyword <em>nreset</em> controls how often the reference dimensions used
to define the strain energy are reset. If this keyword is not used,
@ -548,6 +548,18 @@ the outermost rRESPA timestep, the barostat dynamics are not the
limiting factor for numerical stability. Both factorizations are
time-reversible and can be shown to preserve the phase space measure
of the underlying non-Hamiltonian equations of motion.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">This implementation has been shown to conserve linear momentum
up to machine precision under NVT dynamics. Under NPT dynamics,
for a system with zero initial total linear momentum, the total
momentum fluctuates close to zero. It may occasionally undergo brief
excursions to non-negligible values, before returning close to zero.
Over long simulations, this has the effect of causing the center-of-mass
to undergo a slow random walk. This can be mitigated by resetting
the momentum at infrequent intervals using the
<a class="reference internal" href="fix_momentum.html"><em>fix momentum</em></a> command.</p>
</div>
<hr class="docutils" />
<p>The fix npt and fix nph commands can be used with rigid bodies or
mixtures of rigid bodies and non-rigid particles (e.g. solvent). But

View File

@ -135,42 +135,53 @@
</div>
<div class="section" id="fix-qeq-dynamic-command">
<h1>fix qeq/dynamic command<a class="headerlink" href="#fix-qeq-dynamic-command" title="Permalink to this headline"></a></h1>
</div>
<div class="section" id="fix-qeq-fire-command">
<h1>fix qeq/fire command<a class="headerlink" href="#fix-qeq-fire-command" title="Permalink to this headline"></a></h1>
<div class="section" id="syntax">
<h2>Syntax<a class="headerlink" href="#syntax" title="Permalink to this headline"></a></h2>
<div class="highlight-python"><div class="highlight"><pre>fix ID group-ID style Nevery cutoff tolerance maxiter qfile
<div class="highlight-python"><div class="highlight"><pre>fix ID group-ID style Nevery cutoff tolerance maxiter qfile keyword ...
</pre></div>
</div>
<ul class="simple">
<li>ID, group-ID are documented in <a class="reference internal" href="fix.html"><em>fix</em></a> command</li>
<li>style = <em>qeq/point</em> or <em>qeq/shielded</em> or <em>qeq/slater</em> or <em>qeq/dynamic</em></li>
<li>style = <em>qeq/point</em> or <em>qeq/shielded</em> or <em>qeq/slater</em> or <em>qeq/dynamic</em> or <em>qeq/fire</em></li>
<li>Nevery = perform charge equilibration every this many steps</li>
<li>cutoff = global cutoff for charge-charge interactions (distance unit)</li>
<li>tolerance = precision to which charges will be equilibrated</li>
<li>maxiter = maximum iterations to perform charge equilibration</li>
<li>qfile = a filename with QEq parameters</li>
<li>zero or more keyword/value pairs may be appended</li>
<li>keyword = <em>alpha</em> or <em>qdamp</em> or <em>qstep</em></li>
</ul>
<pre class="literal-block">
<em>alpha</em> value = Slater type orbital exponent (qeq/slater only)
<em>qdamp</em> value = damping factor for damped dynamics charge solver (qeq/dynamic and qeq/fire only)
<em>qstep</em> value = time step size for damped dynamics charge solver (qeq/dynamic and qeq/fire only)
</pre>
</div>
<div class="section" id="examples">
<h2>Examples<a class="headerlink" href="#examples" title="Permalink to this headline"></a></h2>
<div class="highlight-python"><div class="highlight"><pre>fix 1 all qeq/point 1 10 1.0e-6 200 param.qeq1
fix 1 qeq qeq/shielded 1 8 1.0e-6 100 param.qeq2
fix 1 all qeq/slater 5 10 1.0e-6 100 params
fix 1 all qeq/slater 5 10 1.0e-6 100 params alpha 0.2
fix 1 qeq qeq/dynamic 1 12 1.0e-3 100 my_qeq
fix 1 all qeq/fire 1 10 1.0e-3 100 my_qeq qdamp 0.2 qstep 0.1
</pre></div>
</div>
</div>
<div class="section" id="description">
<h2>Description<a class="headerlink" href="#description" title="Permalink to this headline"></a></h2>
<p>Perform the charge equilibration (QEq) method as described in <a class="reference internal" href="fix_qeq_reax.html#rappe"><span>(Rappe and Goddard)</span></a> and formulated in <a class="reference internal" href="neb.html#nakano"><span>(Nakano)</span></a> (also known
as the matrix inversion method) and in <a class="reference internal" href="pair_smtbq.html#rick"><span>(Rick and Stuart)</span></a> (also
<p>Perform the charge equilibration (QEq) method as described in <a class="reference internal" href="#rappe"><span>(Rappe and Goddard)</span></a> and formulated in <a class="reference internal" href="#nakano"><span>(Nakano)</span></a> (also known
as the matrix inversion method) and in <a class="reference internal" href="#rick"><span>(Rick and Stuart)</span></a> (also
known as the extended Lagrangian method) based on the
electronegativity equilization principle.</p>
<p>These fixes can be used with any <a class="reference internal" href="pair_style.html"><em>pair style</em></a> in
LAMMPS, so long as per-atom charges are defined. The most typical
use-case is in conjunction with a <a class="reference internal" href="pair_style.html"><em>pair style</em></a> that
performs charge equilibration periodically (e.g. every timestep), such
as the ReaxFF or Streitz-Mintmire potential (the latter is not yet
implemented in LAMMPS). But these fixes can also be used with
as the ReaxFF or Streitz-Mintmire potential.
But these fixes can also be used with
potentials that normally assume per-atom charges are fixed, e.g. a
<a class="reference internal" href="pair_buck.html"><em>Buckingham</em></a> or <a class="reference internal" href="pair_lj.html"><em>LJ/Coulombic</em></a> potential.</p>
<p>Because the charge equilibration calculation is effectively
@ -214,8 +225,8 @@ below, thus the others can be set to 0.0 if desired.</p>
<li><em>chi</em> = electronegativity in energy units</li>
<li><em>eta</em> = self-Coulomb potential in energy units</li>
<li><em>gamma</em> = shielded Coulomb constant defined by <a class="reference internal" href="#vanduin"><span>ReaxFF force field</span></a> in distance units</li>
<li><em>zeta</em> = Slater type orbital exponent defined by the <a class="reference internal" href="pair_coul.html#streitz"><span>Streitz-Mintmire</span></a> potential in reverse distance units</li>
<li><em>qcore</em> = charge of the nucleus defined by the <a class="reference internal" href="pair_coul.html#streitz"><span>Streitz-Mintmire potential</span></a> potential in charge units</li>
<li><em>zeta</em> = Slater type orbital exponent defined by the <a class="reference internal" href="#streitz"><span>Streitz-Mintmire</span></a> potential in reverse distance units</li>
<li><em>qcore</em> = charge of the nucleus defined by the <a class="reference internal" href="#streitz"><span>Streitz-Mintmire potential</span></a> potential in charge units</li>
</ul>
<p>The <em>qeq/point</em> style describes partial charges on atoms as point
charges. Interaction between a pair of charged particles is 1/r,
@ -239,27 +250,35 @@ charge densities centered around atoms via the Slater 1*s* orbital, so
that the interaction between a pair of charged particles is the
product of two Slater 1*s* orbitals. The expression for the Slater
1*s* orbital is given under equation (6) of the
<a class="reference internal" href="pair_coul.html#streitz"><span>Streitz-Mintmire</span></a> paper. Only the <em>chi</em>, <em>eta</em>, <em>zeta</em>, and
<a class="reference internal" href="#streitz"><span>Streitz-Mintmire</span></a> paper. Only the <em>chi</em>, <em>eta</em>, <em>zeta</em>, and
<em>qcore</em> parameters from the <em>qfile</em> file are used. This style solves
partial charges on atoms via the matrix inversion method. A tolerance
of 1.0e-6 is usually a good number.</p>
of 1.0e-6 is usually a good number. Keyword <em>alpha</em> can be used to
change the Slater type orbital exponent.</p>
<p>The <em>qeq/dynamic</em> style describes partial charges on atoms as point
charges that interact through 1/r, but the extended Lagrangian method
is used to solve partial charges on atoms. Only the <em>chi</em> and <em>eta</em>
parameters from the <em>qfile</em> file are used. Note that Coulomb
catastrophe can occur if repulsion between the pair of charged
particles is too weak. A tolerance of 1.0e-3 is usually a good
number.</p>
number. Keyword <em>qdamp</em> can be used to change the damping factor, while
keyword <em>qstep</em> can be used to change the time step size.</p>
<p>The <a class="reference internal" href="#shan"><span>*qeq/fire*</span></a> style describes the same charge model and charge
solver as the <em>qeq/dynamic</em> style, but employs a FIRE minimization
algorithm to solve for equilibrium charges.
Keyword <em>qdamp</em> can be used to change the damping factor, while
keyword <em>qstep</em> can be used to change the time step size.</p>
<p>Note that <em>qeq/point</em>, <em>qeq/shielded</em>, and <em>qeq/slater</em> describe
different charge models, whereas the matrix inversion method and the
extended Lagrangian method (<em>qeq/dynamic</em>) are different solvers.</p>
<p>Note that the <em>qeq/point</em> and the <em>qeq/dynamic</em> styles both describe
extended Lagrangian method (<em>qeq/dynamic</em> and <em>qeq/fire</em>) are
different solvers.</p>
<p>Note that <em>qeq/point</em>, <em>qeq/dynamic</em> and <em>qeq/fire</em> styles all describe
charges as point charges that interact through 1/r relationship, but
solve partial charges on atoms using different solvers. Styles
<em>qeq/point</em> and the <em>qeq/dynamic</em> should yield comparable results if
solve partial charges on atoms using different solvers. These three
styles should yield comparable results if
the QEq parameters and <em>Nevery</em>, <em>cutoff</em>, and <em>tolerance</em> are the
same. Style <em>qeq/point</em> is typically faster, but <em>qeq/dynamic</em> scales
better on larger sizes.</p>
same. Style <em>qeq/point</em> is typically faster, <em>qeq/dynamic</em> scales
better on larger sizes, and <em>qeq/fire</em> is faster than <em>qeq/dynamic</em>.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">To avoid the evaluation of the derivative of charge with respect
@ -269,7 +288,7 @@ zero net charge.</p>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">Developing QEq parameters (chi, eta, gamma, zeta, and qcore) is
an &#8220;art&#8221;. Charges on atoms are not guaranteed to equilibrate with
non-trivial. Charges on atoms are not guaranteed to equilibrate with
arbitrary choices of these parameters. We do not develop these QEq
paramters. See the examples/qeq directory for some examples.</p>
</div>
@ -301,6 +320,7 @@ Chemistry, 95, 3358-3363 (1991).</p>
16, 11996 (1994)</p>
<p id="vanduin"><strong>(ReaxFF)</strong> A. C. T. van Duin, S. Dasgupta, F. Lorant, W. A. Goddard III, J
Physical Chemistry, 105, 9396-9049 (2001)</p>
<p id="shan"><strong>(QEq/Fire)</strong> T.-R. Shan, A. P. Thompson, S. J. Plimpton, in preparation</p>
</div>
</div>

View File

@ -10,25 +10,35 @@ fix qeq/point command :h3
fix qeq/shielded command :h3
fix qeq/slater command :h3
fix qeq/dynamic command :h3
fix qeq/fire command :h3
[Syntax:]
fix ID group-ID style Nevery cutoff tolerance maxiter qfile :pre
fix ID group-ID style Nevery cutoff tolerance maxiter qfile keyword ... :pre
ID, group-ID are documented in "fix"_fix.html command
style = {qeq/point} or {qeq/shielded} or {qeq/slater} or {qeq/dynamic}
Nevery = perform charge equilibration every this many steps
cutoff = global cutoff for charge-charge interactions (distance unit)
tolerance = precision to which charges will be equilibrated
maxiter = maximum iterations to perform charge equilibration
qfile = a filename with QEq parameters :ul
ID, group-ID are documented in "fix"_fix.html command :ulb,l
style = {qeq/point} or {qeq/shielded} or {qeq/slater} or {qeq/dynamic} or {qeq/fire} :l
Nevery = perform charge equilibration every this many steps :l
cutoff = global cutoff for charge-charge interactions (distance unit) :l
tolerance = precision to which charges will be equilibrated :l
maxiter = maximum iterations to perform charge equilibration :l
qfile = a filename with QEq parameters :l
zero or more keyword/value pairs may be appended :l
keyword = {alpha} or {qdamp} or {qstep} :l
{alpha} value = Slater type orbital exponent (qeq/slater only)
{qdamp} value = damping factor for damped dynamics charge solver (qeq/dynamic and qeq/fire only)
{qstep} value = time step size for damped dynamics charge solver (qeq/dynamic and qeq/fire only) :pre
:ule
[Examples:]
fix 1 all qeq/point 1 10 1.0e-6 200 param.qeq1
fix 1 qeq qeq/shielded 1 8 1.0e-6 100 param.qeq2
fix 1 all qeq/slater 5 10 1.0e-6 100 params
fix 1 qeq qeq/dynamic 1 12 1.0e-3 100 my_qeq :pre
fix 1 all qeq/slater 5 10 1.0e-6 100 params alpha 0.2
fix 1 qeq qeq/dynamic 1 12 1.0e-3 100 my_qeq
fix 1 all qeq/fire 1 10 1.0e-3 100 my_qeq qdamp 0.2 qstep 0.1 :pre
[Description:]
@ -42,8 +52,8 @@ These fixes can be used with any "pair style"_pair_style.html in
LAMMPS, so long as per-atom charges are defined. The most typical
use-case is in conjunction with a "pair style"_pair_style.html that
performs charge equilibration periodically (e.g. every timestep), such
as the ReaxFF or Streitz-Mintmire potential (the latter is not yet
implemented in LAMMPS). But these fixes can also be used with
as the ReaxFF or Streitz-Mintmire potential.
But these fixes can also be used with
potentials that normally assume per-atom charges are fixed, e.g. a
"Buckingham"_pair_buck.html or "LJ/Coulombic"_pair_lj.html potential.
@ -119,7 +129,8 @@ product of two Slater 1{s} orbitals. The expression for the Slater
"Streitz-Mintmire"_#Streitz paper. Only the {chi}, {eta}, {zeta}, and
{qcore} parameters from the {qfile} file are used. This style solves
partial charges on atoms via the matrix inversion method. A tolerance
of 1.0e-6 is usually a good number.
of 1.0e-6 is usually a good number. Keyword {alpha} can be used to
change the Slater type orbital exponent.
The {qeq/dynamic} style describes partial charges on atoms as point
charges that interact through 1/r, but the extended Lagrangian method
@ -127,26 +138,34 @@ is used to solve partial charges on atoms. Only the {chi} and {eta}
parameters from the {qfile} file are used. Note that Coulomb
catastrophe can occur if repulsion between the pair of charged
particles is too weak. A tolerance of 1.0e-3 is usually a good
number.
number. Keyword {qdamp} can be used to change the damping factor, while
keyword {qstep} can be used to change the time step size.
The "{qeq/fire}"_#Shan style describes the same charge model and charge
solver as the {qeq/dynamic} style, but employs a FIRE minimization
algorithm to solve for equilibrium charges.
Keyword {qdamp} can be used to change the damping factor, while
keyword {qstep} can be used to change the time step size.
Note that {qeq/point}, {qeq/shielded}, and {qeq/slater} describe
different charge models, whereas the matrix inversion method and the
extended Lagrangian method ({qeq/dynamic}) are different solvers.
extended Lagrangian method ({qeq/dynamic} and {qeq/fire}) are
different solvers.
Note that the {qeq/point} and the {qeq/dynamic} styles both describe
Note that {qeq/point}, {qeq/dynamic} and {qeq/fire} styles all describe
charges as point charges that interact through 1/r relationship, but
solve partial charges on atoms using different solvers. Styles
{qeq/point} and the {qeq/dynamic} should yield comparable results if
solve partial charges on atoms using different solvers. These three
styles should yield comparable results if
the QEq parameters and {Nevery}, {cutoff}, and {tolerance} are the
same. Style {qeq/point} is typically faster, but {qeq/dynamic} scales
better on larger sizes.
same. Style {qeq/point} is typically faster, {qeq/dynamic} scales
better on larger sizes, and {qeq/fire} is faster than {qeq/dynamic}.
NOTE: To avoid the evaluation of the derivative of charge with respect
to position, which is typically ill-defined, the system should have a
zero net charge.
NOTE: Developing QEq parameters (chi, eta, gamma, zeta, and qcore) is
an "art". Charges on atoms are not guaranteed to equilibrate with
non-trivial. Charges on atoms are not guaranteed to equilibrate with
arbitrary choices of these parameters. We do not develop these QEq
paramters. See the examples/qeq directory for some examples.
@ -193,3 +212,6 @@ Chemistry, 95, 3358-3363 (1991).
:link(vanDuin)
[(ReaxFF)] A. C. T. van Duin, S. Dasgupta, F. Lorant, W. A. Goddard III, J
Physical Chemistry, 105, 9396-9049 (2001)
:link(Shan)
[(QEq/Fire)] T.-R. Shan, A. P. Thompson, S. J. Plimpton, in preparation

File diff suppressed because one or more lines are too long