Add files via upload

This commit is contained in:
gplummer317
2024-07-02 14:50:12 -07:00
committed by GitHub
parent 2b84cd0524
commit 7739c7ad90
2 changed files with 74 additions and 9 deletions

View File

@ -1,6 +1,7 @@
.. index:: fix qeq/point
.. index:: fix qeq/shielded
.. index:: fix qeq/slater
.. index:: fix qeq/ctip
.. index:: fix qeq/dynamic
.. index:: fix qeq/fire
@ -13,6 +14,9 @@ fix qeq/shielded command
fix qeq/slater command
======================
fix qeq/ctip command
======================
fix qeq/dynamic command
=======================
@ -27,18 +31,20 @@ Syntax
fix ID group-ID style Nevery cutoff tolerance maxiter qfile keyword ...
* ID, group-ID are documented in :doc:`fix <fix>` command
* style = *qeq/point* or *qeq/shielded* or *qeq/slater* or *qeq/dynamic* or *qeq/fire*
* style = *qeq/point* or *qeq/shielded* or *qeq/slater* or *qeq/ctip* or *qeq/dynamic* or *qeq/fire*
* 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 or *coul/streitz* or *reaxff*
* qfile = a filename with QEq parameters or *coul/streitz* or *coul/ctip* or *reaxff*
* zero or more keyword/value pairs may be appended
* keyword = *alpha* or *qdamp* or *qstep* or *warn*
* keyword = *alpha* or *cdamp* or *maxrepeat* or *qdamp* or *qstep* or *warn*
.. parsed-literal::
*alpha* value = Slater type orbital exponent (qeq/slater only)
*cdamp* value = damping parameter for Coulomb interactions (qeq/ctip only)
*maxrepeat* value = number of equilibration cycles allowed to ensure no atoms cross charge bounds (qeq/ctip 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)
*warn* value = do (=yes) or do not (=no) print a warning when the maximum number of iterations is reached
@ -51,6 +57,7 @@ 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 alpha 0.2
fix 1 all qeq/ctip 1 12 1.0e-8 100 coul/ctip cdamp 0.30 maxrepeat 10
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
@ -107,18 +114,18 @@ from a file specified by *qfile*\ . The file has the following format
.. parsed-literal::
1 chi eta gamma zeta qcore
2 chi eta gamma zeta qcore
1 chi eta gamma zeta qcore qmin qmax omega
2 chi eta gamma zeta qcore qmin qmax omega
...
Ntype chi eta gamma zeta qcore
Ntype chi eta gamma zeta qcore qmin qmax omega
There have to be parameters given for every atom type. Wildcard entries
are possible using the same type range syntax as for "coeff" commands
(i.e., n\*m, n\*, \*m, \*). Later entries will overwrite previous ones.
Empty lines or any text following the pound sign (#) are ignored.
Each line starts with the atom type followed by five parameters.
Each line starts with the atom type followed by eight parameters.
Only a subset of the parameters is used by each QEq style as described
below, thus the others can be set to 0.0 if desired, but all five
below, thus the others can be set to 0.0 if desired, but all eight
entries per line are required.
* *chi* = electronegativity in energy units
@ -126,6 +133,9 @@ entries per line are required.
* *gamma* = shielded Coulomb constant defined by :ref:`ReaxFF force field <vanDuin>` in distance units
* *zeta* = Slater type orbital exponent defined by the :ref:`Streitz-Mintmire <Streitz1>` potential in reverse distance units
* *qcore* = charge of the nucleus defined by the :ref:`Streitz-Mintmire potential <Streitz1>` potential in charge units
* *qmin* = lower bound on the allowed charge defined by the :ref:`CTIP <CTIP1>` potential in charge units
* *qmax* = upper bound on the allowed charge defined by the :ref:`CTIP <CTIP1>` potential in charge units
* *omega* = penalty parameter used to enforce charge bounds defined by the :ref:`CTIP <CTIP1>` potential in energy units
The fix qeq styles will print a warning if the charges are not
equilibrated within *tolerance* by *maxiter* steps, unless the
@ -171,6 +181,19 @@ on atoms via the matrix inversion method. A tolerance of 1.0e-6 is
usually a good number. Keyword *alpha* can be used to change the Slater
type orbital exponent.
The *qeq/ctip* style describes partial charges on atoms in the same way as
style *qeq/shielded* but also enables the definition of charge bounds. Only
the *chi*, *eta*, *gamma*, *qmin*, *qmax*, and *omega* parameters from the
*qfile* file are used. When using the string *coul/ctip* as filename, these
parameters are extracted directly from an active *coul/ctip* pair style.
This style solves partial charges on atoms via the matrix inversion method.
Keyword *cdamp* can be used to change the damping parameter used to calculate
Coulomb interactions. Keyword *maxrepeat* can be used to adjust the number of
equilibration cycles allowed to ensure no atoms have crossed the charge bounds.
A value of 10 is usually a good choice. A tolerance between 1.0e-6 and 1.0e-8
is usually a good choice but should be checked in conjunction with the timestep
for adequate energy conservation during dynamic runs.
The *qeq/dynamic* 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 *chi* and *eta*
@ -186,7 +209,7 @@ 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
Note that *qeq/point*, *qeq/shielded*, *qeq/slater*, and *qeq/ctip* describe
different charge models, whereas the matrix inversion method and the
extended Lagrangian method (\ *qeq/dynamic* and *qeq/fire*\ ) are
different solvers.
@ -266,6 +289,11 @@ Chemistry, 95, 3358-3363 (1991).
**(Streitz-Mintmire)** F. H. Streitz, J. W. Mintmire, Physical Review B, 50,
16, 11996 (1994)
.. _CTIP1:
**(CTIP)** G. Plummer, J. P. Tavenner, M. I. Mendelev, Z. Wu, J. W. Lawson,
in preparation
.. _vanDuin:
**(ReaxFF)** A. C. T. van Duin, S. Dasgupta, F. Lorant, W. A. Goddard III, J

View File

@ -20,6 +20,7 @@
.. index:: pair_style coul/msm
.. index:: pair_style coul/msm/omp
.. index:: pair_style coul/streitz
.. index:: pair_style coul/ctip
.. index:: pair_style coul/wolf
.. index:: pair_style coul/wolf/kk
.. index:: pair_style coul/wolf/omp
@ -64,6 +65,9 @@ Accelerator Variants: *coul/msm/omp*
pair_style coul/streitz command
===============================
pair_style coul/ctip command
===============================
pair_style coul/wolf command
============================
@ -92,6 +96,7 @@ Syntax
pair_style coul/long cutoff
pair_style coul/wolf alpha cutoff
pair_style coul/streitz cutoff keyword alpha
pair_style coul/ctip alpha cutoff
pair_style tip4p/cut otype htype btype atype qdist cutoff
pair_style tip4p/long otype htype btype atype qdist cutoff
@ -131,6 +136,9 @@ Examples
pair_style coul/streitz 12.0 wolf 0.30
pair_coeff * * AlO.streitz Al O
pair_style coul/ctip 0.30 12.0
pair_coeff * * NiO.ctip Ni O
pair_style tip4p/cut 1 2 7 8 0.15 12.0
pair_coeff * *
@ -262,6 +270,30 @@ Streitz-Mintmire parameterization for the material being modeled.
----------
Style *coul/ctip* computes the Coulomb interations as described in
:ref:`Plummer <Plummer1>`. It uses the the damped shifted model as in
style *coul/dsf* but is further extended to the second derivative of
the potential and incorporates empirical charge shielding meant to
approximate the more expensive Coulomb integrals used in style *coul/streitz*.
More details can be found in the referenced paper. Like the style *coul/streitz*,
style *coul/ctip* is a variable charge potential and must be hybridized
with a short-range potential via the :doc:`pair_style hybrid/overlay <pair_hybrid>`
command. Charge equilibration must be performed with the :doc:`fix qeq/ctip
<fix_qeq>` command. For example:
.. code-block:: LAMMPS
pair_style hybrid/overlay eam/fs coul/ctip 0.30 12.0
pair_coeff * * eam/fs NiO.eam.fs Ni O
pair_coeff * * coul/ctip NiO.ctip Ni O
fix 1 all qeq/ctip 1 12.0 1.0e-8 100 coul/ctip cdamp 0.30 maxrepeat 10
See the examples/ctip directory for an example input script using the CTIP
potential. An Ni-O CTIP and EAM/FS parametrization are included for use with
the example.
----------
Pair style *coul/cut/global* computes the same Coulombic interactions
as style *coul/cut* except that it allows only a single global cutoff
and thus makes it compatible for use in combination with long-range
@ -412,6 +444,11 @@ Phys, 110, 8254 (1999).
**(Streitz)** F. H. Streitz, J. W. Mintmire, Phys Rev B, 50, 11996-12003
(1994).
.. _Plummer1:
**(Plummer)** G. Plummer, J. P. Tavenner, M. I. Mendelev, Z. Wu, J. W. Lawson,
in preparation
.. _Jorgensen3:
**(Jorgensen)** Jorgensen, Chandrasekhar, Madura, Impey, Klein, J Chem