Unphysical charges when using QEQ/point with multiple run statements

Hello Lammps users,

I am using QEQ to simulate a system of electrolytes in solutions, and would like to perform annealing. The problem is that when I try to use multiple run statements in the same input file, I will get unphysical charges, often leading to coulomb catastrophy. When I instead write to a data or restart file and then read that to start a second simulation, I am not running into the same error. I have tried both the 17Nov16 and 11Aug17 versions and this occurs with both. This is a sample of what my input file looks like

units real
atom_style full
boundary p p p
pair_style lj/cut/coul/long 12
kspace_style ewald 0.0001
pair_modify tail yes
pair_modify mix arithmetic
special_bonds amber

bond_style harmonic
angle_style harmonic
dihedral_style charmm
improper_style cvff

read_data mol.data

group ions type 1 2 3
group Li type 1
group Cl type 2
group O type 3

compute chargeLi Li property/atom q
compute qLi Li reduce ave c_chargeLi

compute chargeCl Cl property/atom q
compute qCl Cl reduce ave c_chargeCl

compute chargeO O property/atom q
compute qO O reduce ave c_chargeO

neighbor 2.0 bin
neigh_modify delay 0 every 1 check yes page 1000000 one 20000
timestep 1.0

velocity all create {mytemp} 314159265 units box velocity all zero linear units box dump DUMP all custom 5000 {NAME}.lammpstrj id type x y z vx vy vz mol
thermo_style custom step cpu cpuremain c_qLi c_qCl c_qO vol temp press ke pe etotal enthalpy evdwl ecoul epair ebond eangle edihed eimp emol elong etail lx ly lz xy xz yz density
thermo 1000

minimize 1e-4 1e-6 10000 10000

fix QEQ ions qeq/point 1 12 1.0e-6 1000 param.qeq

fix NPT all npt temp 300 300 100.0 iso 1.0 1.0 100.0
run 1000000

unfix QEQ
fix QEQ ions qeq/point 1 12 1.0e-6 1000 param.qeq
fix NPT all npt temp 300 300 100.0 iso 1.0 1.0 100.0
run 1000000

Is there an error in my input file, or is this a bug in LAMMPS?

Thanks for your help,

Michael Humbert

Fix qeq/variant does not write resulting equilibrium charges to restart files. In your write data command are you explicitly writing equilibrium charges?

Hi Ray,

I do not explicitly tell it to, but both my restart and data files are saving the equilibrium charges

Michael Humbert


please have a look at fix store/state. this may offer an opportunity to capture a copy of the equilibrated charges at each time steps, and then use it in combination with the “set” command to re-initialize your charges at the before issuing the next run command from within the same input script.


Hi all,
I still had this issue despite using the set command. I was able to find a solution though. If I use run with pre=no for the second run statement, the charges seem to be stable.

Michael Humbert