fully integrate acks2/reaxff fix into documentation build

This commit is contained in:
Axel Kohlmeyer
2021-09-14 15:31:36 -04:00
parent 51cfbaa2ef
commit dfe0e313d5
6 changed files with 44 additions and 35 deletions

View File

@ -23,6 +23,7 @@ OPT.
:columns: 5 :columns: 5
* :doc:`accelerate/cos <fix_accelerate_cos>` * :doc:`accelerate/cos <fix_accelerate_cos>`
* :doc:`acks2/reaxff (k) <fix_acks2_reaxff>`
* :doc:`adapt <fix_adapt>` * :doc:`adapt <fix_adapt>`
* :doc:`adapt/fep <fix_adapt_fep>` * :doc:`adapt/fep <fix_adapt_fep>`
* :doc:`addforce <fix_addforce>` * :doc:`addforce <fix_addforce>`

View File

@ -166,6 +166,7 @@ page are followed by one or more of (g,i,k,o,t) to indicate which
accelerated styles exist. accelerated styles exist.
* :doc:`accelerate/cos <fix_accelerate_cos>` - apply cosine-shaped acceleration to atoms * :doc:`accelerate/cos <fix_accelerate_cos>` - apply cosine-shaped acceleration to atoms
* :doc:`acks2/reaxff <fix_acks2_reaxff>` - apply ACKS2 charge equilibration
* :doc:`adapt <fix_adapt>` - change a simulation parameter over time * :doc:`adapt <fix_adapt>` - change a simulation parameter over time
* :doc:`adapt/fep <fix_adapt_fep>` - enhanced version of fix adapt * :doc:`adapt/fep <fix_adapt_fep>` - enhanced version of fix adapt
* :doc:`addforce <fix_addforce>` - add a force to each atom * :doc:`addforce <fix_addforce>` - add a force to each atom

View File

@ -1,9 +1,8 @@
.. index:: fix acks2/reaxff .. index:: fix acks2/reaxff
.. index:: fix acks2/reaxff/kk .. index:: fix acks2/reaxff/kk
fix acks2/reaxff command fix acks2/reaxff command
==================== ========================
Accelerator Variants: *acks2/reaxff/kk* Accelerator Variants: *acks2/reaxff/kk*
@ -35,45 +34,46 @@ Description
Perform the atom-condensed Kohn-Sham DFT to second order (ACKS2) charge Perform the atom-condensed Kohn-Sham DFT to second order (ACKS2) charge
equilibration method as described in :ref:`(Verstraelen) <Verstraelen>`. equilibration method as described in :ref:`(Verstraelen) <Verstraelen>`.
ACKS2 impedes unphysical long-range charge transfer sometimes seen with ACKS2 impedes unphysical long-range charge transfer sometimes seen with
QEq (e.g. for dissociation of molecules), at increased computational cost. QEq (e.g. for dissociation of molecules), at increased computational
It is typically used in conjunction with the ReaxFF force field model as cost. It is typically used in conjunction with the ReaxFF force field
implemented in the :doc:`pair_style reaxff <pair_reaxff>` command, but model as implemented in the :doc:`pair_style reaxff <pair_reaxff>`
it can be used with any potential in LAMMPS, so long as it defines and command, but it can be used with any potential in LAMMPS, so long as it
uses charges on each atom. For more technical details about the defines and uses charges on each atom. For more technical details about
charge equilibration performed by fix acks2/reaxff, see the the charge equilibration performed by fix acks2/reaxff, see the
:ref:`(O'Hearn) <O'Hearn>` paper. :ref:`(O'Hearn) <O'Hearn>` paper.
The ACKS2 method minimizes the electrostatic energy of the system by The ACKS2 method minimizes the electrostatic energy of the system by
adjusting the partial charge on individual atoms based on interactions adjusting the partial charge on individual atoms based on interactions
with their neighbors. It requires some parameters with their neighbors. It requires some parameters for each atom type.
for each atom type.
If the *params* setting above is the word "reaxff", then these are If the *params* setting above is the word "reaxff", then these are
extracted from the :doc:`pair_style reaxff <pair_reaxff>` command and extracted from the :doc:`pair_style reaxff <pair_reaxff>` command and
the ReaxFF force field file it reads in. If a file name is specified the ReaxFF force field file it reads in. If a file name is specified
for *params*\ , then the parameters are taken from the specified file for *params*\ , then the parameters are taken from the specified file
and the file must contain one line for each atom type. The latter and the file must contain one line for each atom type. The latter form
form must be used when performing QeQ with a non-ReaxFF potential. must be used when performing QeQ with a non-ReaxFF potential. The lines
The lines should be formatted as follows: should be formatted as follows:
.. parsed-literal:: .. parsed-literal::
bond_softness bond_softness
itype chi eta gamma bcut itype chi eta gamma bcut
where the first line is the global parameter *bond_softness*. The remaining where the first line is the global parameter *bond_softness*. The
1 to Ntypes lines include *itype*, the atom type from 1 to Ntypes, *chi*, the remaining 1 to Ntypes lines include *itype*, the atom type from 1 to
electronegativity in eV, *eta*, the self-Coulomb Ntypes, *chi*, the electronegativity in eV, *eta*, the self-Coulomb
potential in eV, *gamma*, the valence orbital potential in eV, *gamma*, the valence orbital exponent, and *bcut*, the
exponent, and *bcut*, the bond cutoff distance. Note that these 4 quantities are also in the ReaxFF bond cutoff distance. Note that these 4 quantities are also in the
potential file, except that eta is defined here as twice the eta value ReaxFF potential file, except that eta is defined here as twice the eta
in the ReaxFF file. Note that unlike the rest of LAMMPS, the units value in the ReaxFF file. Note that unlike the rest of LAMMPS, the units
of this fix are hard-coded to be A, eV, and electronic charge. of this fix are hard-coded to be A, eV, and electronic charge.
**Restart, fix_modify, output, run start/stop, minimize info:** **Restart, fix_modify, output, run start/stop, minimize info:**
No information about this fix is written to :doc:`binary restart files <restart>`. No global scalar or vector or per-atom No information about this fix is written to :doc:`binary restart files
quantities are stored by this fix for access by various :doc:`output commands <Howto_output>`. No parameter of this fix can be used <restart>`. No global scalar or vector or per-atom quantities are
with the *start/stop* keywords of the :doc:`run <run>` command. stored by this fix for access by various :doc:`output commands
<Howto_output>`. No parameter of this fix can be used with the
*start/stop* keywords of the :doc:`run <run>` command.
This fix is invoked during :doc:`energy minimization <minimize>`. This fix is invoked during :doc:`energy minimization <minimize>`.
@ -86,12 +86,13 @@ This fix is invoked during :doc:`energy minimization <minimize>`.
Restrictions Restrictions
"""""""""""" """"""""""""
This fix is part of the REAXFF package. It is only enabled if This fix is part of the REAXFF package. It is only enabled if LAMMPS
LAMMPS was built with that package. See the :doc:`Build package <Build_package>` doc page for more info. was built with that package. See the :doc:`Build package
<Build_package>` doc page for more info.
This fix does not correctly handle interactions This fix does not correctly handle interactions involving multiple
involving multiple periodic images of the same atom. Hence, it should not periodic images of the same atom. Hence, it should not be used for
be used for periodic cell dimensions less than 10 angstroms. periodic cell dimensions less than 10 angstroms.
Related commands Related commands
"""""""""""""""" """"""""""""""""
@ -104,7 +105,7 @@ Related commands
.. _O'Hearn: .. _O'Hearn:
**(O'Hearn)** O'Hearn, Alperen, Aktulga, SIAM J. Sci. Comput., 42(1), C1C22 (2020). **(O'Hearn)** O'Hearn, Alperen, Aktulga, SIAM J. Sci. Comput., 42(1), C1-C22 (2020).
.. _Verstraelen: .. _Verstraelen:

View File

@ -20,7 +20,7 @@ Syntax
.. parsed-literal:: .. parsed-literal::
keyword = *checkqeq* or *lgvdw* or *safezone* or *mincap* or *minhbonds* keyword = *checkqeq* or *lgvdw* or *safezone* or *mincap* or *minhbonds*
*checkqeq* value = *yes* or *no* = whether or not to require qeq/reaxff or acks2/reax fix *checkqeq* value = *yes* or *no* = whether or not to require qeq/reaxff or acks2/reaxff fix
*enobonds* value = *yes* or *no* = whether or not to tally energy of atoms with no bonds *enobonds* value = *yes* or *no* = whether or not to tally energy of atoms with no bonds
*lgvdw* value = *yes* or *no* = whether or not to use a low gradient vdW correction *lgvdw* value = *yes* or *no* = whether or not to use a low gradient vdW correction
*safezone* = factor used for array allocation *safezone* = factor used for array allocation
@ -119,7 +119,7 @@ The ReaxFF parameter files provided were created using a charge
equilibration (QEq) model for handling the electrostatic interactions. equilibration (QEq) model for handling the electrostatic interactions.
Therefore, by default, LAMMPS requires that either the Therefore, by default, LAMMPS requires that either the
:doc:`fix qeq/reaxff <fix_qeq_reaxff>` or the :doc:`fix qeq/reaxff <fix_qeq_reaxff>` or the
:doc:`fix qeq/shielded <fix_qeq>` or :doc:`fix acks2/reaxff <fix_acks2>` :doc:`fix qeq/shielded <fix_qeq>` or :doc:`fix acks2/reaxff <fix_acks2_reaxff>`
command be used with command be used with
*pair_style reaxff* when simulating a ReaxFF model, to equilibrate *pair_style reaxff* when simulating a ReaxFF model, to equilibrate
the charges each timestep. the charges each timestep.
@ -129,7 +129,7 @@ for the QEq fixes, allowing a simulation to be run without charge
equilibration. In this case, the static charges you assign to each equilibration. In this case, the static charges you assign to each
atom will be used for computing the electrostatic interactions in atom will be used for computing the electrostatic interactions in
the system. See the :doc:`fix qeq/reaxff <fix_qeq_reaxff>` or the system. See the :doc:`fix qeq/reaxff <fix_qeq_reaxff>` or
:doc:`fix qeq/shielded <fix_qeq>` or :doc:`fix acks2/reaxff <fix_acks2>` :doc:`fix qeq/shielded <fix_qeq>` or :doc:`fix acks2/reaxff <fix_acks2_reaxff>`
command documentation for more details. command documentation for more details.
Using the optional keyword *lgvdw* with the value *yes* turns on the Using the optional keyword *lgvdw* with the value *yes* turns on the
@ -354,7 +354,7 @@ Related commands
"""""""""""""""" """"""""""""""""
:doc:`pair_coeff <pair_coeff>`, :doc:`fix qeq/reaxff <fix_qeq_reaxff>`, :doc:`pair_coeff <pair_coeff>`, :doc:`fix qeq/reaxff <fix_qeq_reaxff>`,
:doc:`fix acks2/reax <fix_acks2_reax>`, :doc:`fix reaxff/bonds <fix_reaxff_bonds>`, :doc:`fix acks2/reaxff <fix_acks2_reaxff>`, :doc:`fix reaxff/bonds <fix_reaxff_bonds>`,
:doc:`fix reaxff/species <fix_reaxff_species>` :doc:`fix reaxff/species <fix_reaxff_species>`
Default Default

View File

@ -254,7 +254,7 @@ for command_type, entries in index.items():
print("Total number of style index entries:", total_index) print("Total number of style index entries:", total_index)
skip_fix = ('python', 'NEIGH_HISTORY/omp','qeq/reax','reax/c/bonds','reax/c/species') skip_fix = ('python', 'NEIGH_HISTORY/omp','acks2/reax','qeq/reax','reax/c/bonds','reax/c/species')
skip_pair = ('meam/c','lj/sf','reax/c') skip_pair = ('meam/c','lj/sf','reax/c')
counter = 0 counter = 0
@ -282,7 +282,7 @@ if counter:
counter = 0 counter = 0
counter += check_style_index("compute", compute, index["compute"]) counter += check_style_index("compute", compute, index["compute"])
counter += check_style_index("fix", fix, index["fix"], skip=['python','qeq/reax','reax/c/bonds','reax/c/species']) counter += check_style_index("fix", fix, index["fix"], skip=['python','acks2/reax','qeq/reax','reax/c/bonds','reax/c/species'])
counter += check_style_index("angle_style", angle, index["angle_style"]) counter += check_style_index("angle_style", angle, index["angle_style"])
counter += check_style_index("bond_style", bond, index["bond_style"]) counter += check_style_index("bond_style", bond, index["bond_style"])
counter += check_style_index("dihedral_style", dihedral, index["dihedral_style"]) counter += check_style_index("dihedral_style", dihedral, index["dihedral_style"])

View File

@ -19,6 +19,7 @@ accuracies
ach ach
ackland ackland
Ackland Ackland
acks
acolor acolor
acos acos
Acta Acta
@ -77,6 +78,7 @@ allocators
allosws allosws
AlO AlO
Alonso Alonso
Alperen
alphak alphak
alphashrink alphashrink
amap amap
@ -1252,6 +1254,7 @@ hbond
hcp hcp
hdnnp hdnnp
HDNNP HDNNP
Hearn
heatconduction heatconduction
Hebbeker Hebbeker
Hebenstreit Hebenstreit
@ -3074,6 +3077,7 @@ Spearot
specular specular
spellcheck spellcheck
Spellmeyer Spellmeyer
Speybroeck
sph sph
SPH SPH
Spickermann Spickermann
@ -3486,6 +3490,7 @@ Verlag
verlet verlet
Verlet Verlet
versa versa
Verstraelen
ves ves
vflag vflag
vhi vhi
@ -3552,6 +3557,7 @@ vzcm
vzi vzi
Waals Waals
Wadley Wadley
Waroquier
wallstyle wallstyle
walltime walltime
Waltham Waltham