Questions about fix qeq/reax, system charge, and having ions in the system (LAMMPS REAX CHO example)

Hello all,

I am new to LAMMPS and hope answers to this email can help me out. I
am trying to look at oxygen ions with negative charges in a simulation
box. They are supposed to have -1 charge (in LAMMPS real units). For
this purpose, I use "reax/c" package and "fix qeq/reax" (basically the
LAMMPS REAX CHO example). Now the questions are:

I) It seems like "fix qeq/reax" tries to equilibrate the charge of the
system so that the overall simulation box stays neutral. If we want to
have oxygen ions in the simulation box, we should be able to indicate
the O negative charges in the data file (since the "atom_style" is
"charge"). Now the question is if the overall charge if the system is
not 0 (system is charged), how does LAMMPS and REAX/C behave? I tried
to put O atoms with negative charges in the data file (by using -1.0
value for q) but in the dump file (even at step 0 before simulations
starts) each atom charge is far below -1 and the overall system charge
is 0 (system is neutral). Does it mean REAX/C and fix qeq/reax not
recognize the initial charges defined in data file and only work with
the parameters defined in "param.qeq"? Is the value we assign to "q"
in data file is different from the value we read for "q" in dump file?

II) How can I have oxygen ions (like O with -1 charge) in the system,
if the system tends to be neutral? Should I define a new atom type for
oxygen ion with modified chi, gamma, and eta values in param.qeq file,
and put 0 values for "q" in the data file?

Many thanks,
Ardavan

The current implementation of fix qeq/reax requires a charge neutral
simulation box. If the system is not charge neutral, fix qeq/reax
will make it neutral.

Does it mean REAX/C and fix qeq/reax not
recognize the initial charges defined in data file and only work with
the parameters defined in "param.qeq"? Is the value we assign to "q"
in data file is different from the value we read for "q" in dump file?

Neither, it just neutralizes the whole box.

II) How can I have oxygen ions (like O with -1 charge) in the system,
if the system tends to be neutral? Should I define a new atom type for
oxygen ion with modified chi, gamma, and eta values in param.qeq file,
and put 0 values for "q" in the data file?

No, you should not. One thing you can try is to put counter charges
on the substrate so that the system is neutral but you still have
oxygen ions.