Segmentation fault COMB

Dear lammps users,

three weeks ago (10 Jan) I successfully simulated an interface structure of Cu and Quartz with the option COMB. It was a simple NVT-relaxation. The corresponding parameter file (in.test) is attached. For the COMB option I used the "ffield.comb"-file (copy of this). If I execute now the same simulation I get the following error message:

LAMMPS (12 Jan 2013)
Reading data file ...
   orthogonal box = (0 0 0) to (25.5287 44.2169 46.2056)
   1 by 1 by 1 MPI processor grid
   4344 atoms
Pair COMB:
   generating Coulomb integral lookup table ...
   will not apply over-coordination correction ...
Setting up run ...
Memory usage per processor = 21.7619 Mbytes
Step Temp E_pair E_mol TotEng Press Volume
        0 0 22166.674 0 22166.674 122295.89 52167.297
        1 -nan -nan 0 -nan -nan 52167.297
[tantal:28410] *** Process received signal ***
[tantal:28410] Signal: Segmentation fault (11)
[tantal:28410] Signal code: Address not mapped (1)
[tantal:28410] Failing at address: 0x461d26808
[tantal:28410] [ 0] /lib64/ [0x2b72df2a9140]
[tantal:28410] [ 1] lammps(_ZN9LAMMPS_NS8PairComb6directEiiiidddddddddRdS1_+0x60) [0x596350]
[tantal:28410] [ 2] lammps(_ZN9LAMMPS_NS8PairComb7computeEii+0x1339) [0x599f59]
[tantal:28410] [ 3] lammps(_ZN9LAMMPS_NS6Verlet3runEi+0x3f5) [0x7bfd45]
[tantal:28410] [ 4] lammps(_ZN9LAMMPS_NS3Run7commandEiPPc+0x289) [0x6daa79]
[tantal:28410] [ 5] lammps(_ZN9LAMMPS_NS5Input15execute_commandEv+0xb98) [0x4c83a8]
[tantal:28410] [ 6] lammps(_ZN9LAMMPS_NS5Input4fileEv+0x2b0) [0x4c95e0]
[tantal:28410] [ 7] lammps(main+0x46) [0x47e106]
[tantal:28410] [ 8] /lib64/ [0x2b72df4d7455]
[tantal:28410] [ 9] lammps() [0x47eeb1]
[tantal:28410] *** End of error message ***

Tantal is the name of my computer. It seems to me, that the problem is maybe at the charge computation. For the charge values I get also "nan" (see "charge_out_siterm"). Does anybody know what the problem is? It is really curios, because the simulation run initially over 3000 MD steps.

Thank you!


in.test (1.59 KB)

chargeout_siterm (24 KB)

You're saying you ran a simulation 3 weeks ago with
an executable and an input file and it worked
on 1 processor. Now it
doesn't with the same executable and input file?

That seems unlikely.


It is not the same executable. The Reax-option was also added afterwards. Nevertheless, both options COMB and Reax should work indenpendtly from each other. There was also an update of lammps on 12 Jan, which should not affect the COMB option. I have tried also the versions of lammps before 12 Jan and I received the same error message. It is really strange... Maybe the configuration is the problem? Why do I get for the energy and the pressure such big values at the 0. step? Do I have to change my settings or define something else in the input file concernig the charges?

I am confused as to which versions of LAMMPS worked and did not work
for pair_style comb.

Post the complete input files, including the data file, and I can take a look.


input file: in.test
Cu-Quartz: sio2cu_siterm_big.lmp
Force field COMB: ffield.comb

I received following output files:
Charge optimization: chargeout_siterm
Cu-Quartz dump file for the 0. step: Siterm_nvt_0.dump

Thank you Ray!

in.test (1.59 KB)

sio2cu_siterm_big.lmp (204 KB)

ffield.comb (19.1 KB)

chargeout_siterm (24 KB)

Siterm_nvt_0.dump (235 KB)

Hi Andreas,

If you start with charges a little smaller than the formal values,
e.g. (+3.8, -1.90), it runs fine.

These are the equilibrated charges at 0th step for Si, O, Cu:
2.8070604, -1.4177801, 0.0076949644


Dear Ray,

thank you very much! Now the simulation runs without any problem! Some changes in the charge optimization routine must have occured in the latest lammps versions. Because the same simulation with the formal charge values +4, -2 and 0 runs fine with the lammps version of 2011.

I suppose, the reason of the error message was that the solver do not find any minimum at the 0. step for the charge values +4, -2 and 0. That is also the reason why the energy becomes positive and huge at the 0. step.


Hi Andreas,

There might have been some tweak to fix qeq/comb to improve the
efficiency, but it is still bizzard.

Anyhow, formal charge values are usually the charge barriers for
qeq/comb, so that charge-dependent energy terms and charge forces may
experience discontinuities at these values. All oxides currently
available with pair_style comb are nearly half ionic and half covalent
in nature, so that starting with fractional charges approximately half
of the formal values is always a better idea.

Thanks for your interest in using comb! Cheers,