QEq with long-range Coulomb

Dear LAMMPS users & developers,
We are interested in including long-range Coulomb to QEq shielded to enable the effect of an electric field generated by charged electrodes separated by several nanometers.
From our initial work, the separation between electrodes was limited by the QEq cutoff, short range in nature and traditionally set to be ~ 1 nm [The Journal of Chemical Physics 143, 054109 (2015); doi: 10.1063/1.4927562].
We therefore plan to modify QEq to include long-range effect on the charge calculation via Ewald such as the expressions proposed by Snurr [dx.doi.org/10.1021/jz3008485 | J. Phys. Chem. Lett. 2012, 3, 2506−2511]
I would like to know if this makes sense.
Thank you.
Nicolas

Hi Nicolas,

The Qeq formulation by Snurr et al (EQeq) is a different formulation but still consistent with the overall Qeq framework. You just have to code up the new formulation in a new style. IMHO, the trickiest part of the implementation is taking the derivative of Eq. 8.

To include dynamic charge transfer effects in an electrode system, you might have to follow the work of Liang, Sinnott et al: DOI: 10.1021/acs.jpca.7b06064.

Thanks,

Ray

Dear LAMMPS users & developers,
We are interested in including long-range Coulomb to QEq shielded to enable the effect of an electric field generated by charged electrodes separated by several nanometers.
From our initial work, the separation between electrodes was limited by the QEq cutoff, short range in nature and traditionally set to be ~ 1 nm [The Journal of Chemical Physics 143, 054109 (2015); doi: 10.1063/1.4927562].
We therefore plan to modify QEq to include long-range effect on the charge calculation via Ewald such as the expressions proposed by Snurr [dx.doi.org/10.1021/jz3008485 | J. Phys. Chem. Lett. 2012, 3, 2506−2511]
From my understanding, this modification, removing the Taper function and the addition of kspace Ewald in the input file should be consistent for the long-range treatment of electrostatics (assuming the QEq parameters were optimized with this new model).
I would like to know if this makes sense.

from how much (or rather how little) i know about the handling of
long-range electrostatics and QEQ in LAMMPS, i think there are two
major points to consider:

1) the way how you handle coulomb for force calculation and how QEQ is
implemented is essentially decoupled in LAMMPS. so *any* QEQ method is
compatible with *any* coulomb method. this means, that whatever is
needed to compute the equilibrated charges has to be completely
implemented inside the corresponding QEQ fix, which is run before
forces are computed. thus the way to implement this would be to derive
a new class from FixQEQ (to take advantage of shared functionality)
and implement the EQEQ scheme in there.

2) changing parameters like volume or charge or number of (charged)
atoms affects several parameters inside the kspace calculations, that
are by default assumed to be constant. at the minimum, this requires
to update the parameter q2, which is derived from Sum(q_i) and
Sum(q_i*q_i) via calling force->kspace->qsum_qsq() (as is done by the
existing QEQ fixes). however, this also requires that the g_ewald
parameter (or equivalent) is chosen to be beyond the (automatic,
minimal) convergence, but for all values of q2 that happen during a
simulation. in short, you either should set g_ewald manually, or have
to use a tighter convergence parameter and expect that the actual
accuracy will be less as the charges are changing. in the more
extreme case (or when more consistent accuracy is required), you may
need to occasionally re-initialize the kspace class instance. it is
probably a very good idea to do that a few times during equilibration
anyway (when the changes are expected to be the largest).

HTH,
     axel.