[lammps-users] energy minimization with qeq/comb?


Is there a way to perform energy minimization with qeq/comb charge equilibration in each minimization step? Lammps do not invoke qeq during energy minimization. I was thinking about making use of the neb command, not sure how to do that though...thanks very much.


Xiaoyin Ji

Graduate Research Assistant
Materials Science and Engineering
North Carolina State University

Aidan may want to comment on this. It isn't possible
currently in LAMMPS. What is needed is to define
the energy of they system as a function of position and
charge (on each atom), then have the gradient of that
expression with respect to both position and charge,
so that the minimizer can use it. I don't think fix qeq
does that, at least in a way the minimizer can use it.

Aidan, what does pair reax do when you use it
in a minimization? Does it invoke qeq at all,
or just assume the charges are fixed for that operation?

One thing you could do, which might work OK in
practice, is simple to put a simple loop in your
input script around 2 steps:

  fix qeq (called via dynamcs with the atoms frozen for a step or two)


why not do a damped dynamics scheme?

heat the system up with, say fix langevin
and then do nve with fix viscous and a properly
chosen friction term.

the car-parrinello folks do that very successfully.
there are a few additional tricks that one can
apply to make convergence better and faster,
e.g. setting all masses to the same value and
"lubricating" slow particles when the overall
kinetic energy is still high (that would need to
be added to fix viscous). if done well, it can
converge for a larger system as well as any
preconditioned conjugate gradient or BFGS


I am forwarding this to Ray Shan, who implemented COMB in LAMMPS.

In pair reax and reax/c, the charges are converged close to the minimum
energy values every timestep. This is true also for minimization with pair
reax, and should be true for pair reax/c too. If not, we can make it so.

In the case of COMB, the qeq is performed dynamically, so I think it will
not work right under the usual LAMMPS minimization commands. The methods
that Axel describe will work, but they may not be "user-accessible."


<[email protected]>, Xiaoyin Ji <[email protected]>

Hi All,

The fix qeq/comb for pair comb does not work with the minimize
command; it is a shortcoming and is on our improvement list. The way
to bypass this is to use what Steve has suggested, a loop of fixes and

fix nve
fix qeq/comb
run 1

Ray Shan