Utilize fix qeq/reax with non-ReaxFF potential

Greetings,

I am trying to utilize fix qeq/reax command with non-ReaxFF potential. In my liquid-solid system, TIP4P-Ew is for water-water interaction, EAM is for solid-solid interaction. lj/cut/coul/long is for water-solid interaction. And I want to use fix qeq/reax to calculate the charges each timestep. But I kept got the error message as listed below I wonder what the problem could be.

"[HESS112d:18649] *** Process received signal ***
[HESS112d:18649] Signal: Segmentation fault (11)
[HESS112d:18649] Signal code: Address not mapped (1)
[HESS112d:18649] Failing at address: 0x200f19ea8
[HESS112d:18649] [ 0] /lib64/libpthread.so.0() [0x31f060eeb0]
[HESS112d:18649] [ 1] lmp_openmpi(_ZN9LAMMPS_NS10FixQEqReax9compute_HEv+0xf8) [0x77adb8]
[HESS112d:18649] [ 2] lmp_openmpi(_ZN9LAMMPS_NS10FixQEqReax11init_matvecEv+0x16) [0x77b586]
[HESS112d:18649] [ 3] lmp_openmpi(_ZN9LAMMPS_NS10FixQEqReax9pre_forceEi+0xc6) [0x77d3c6]
[HESS112d:18649] [ 4] lmp_openmpi(_ZN9LAMMPS_NS6Modify15setup_pre_forceEi+0xce) [0x51bd2e]
[HESS112d:18649] [ 5] lmp_openmpi(_ZN9LAMMPS_NS6Verlet5setupEv+0x174) [0x87b284]
[HESS112d:18649] [ 6] lmp_openmpi(_ZN9LAMMPS_NS3Run7commandEiPPc+0x250) [0x70c7e0]
[HESS112d:18649] [ 7] lmp_openmpi(_ZN9LAMMPS_NS5Input15execute_commandEv+0xa75) [0x509445]
[HESS112d:18649] [ 8] lmp_openmpi(_ZN9LAMMPS_NS5Input4fileEv+0x616) [0x50b316]
[HESS112d:18649] [ 9] lmp_openmpi(main+0x49) [0x56df89]
[HESS112d:18649] [10] /lib64/libc.so.6(__libc_start_main+0xfd) [0x31efa1ee5d]
[HESS112d:18649] [11] lmp_openmpi() [0x4848f9]
[HESS112d:18649] *** End of error message ***
[HESS112d:18647] *** Process received signal ***
[HESS112d:18647] Signal: Segmentation fault (11)
[HESS112d:18647] Signal code: Address not mapped (1)
[HESS112d:18647] Failing at address: 0x202b2c690
[HESS112d:18647] [ 0] /lib64/libpthread.so.0() [0x31f060eeb0]
[HESS112d:18647] [ 1] lmp_openmpi(_ZN9LAMMPS_NS10FixQEqReax9compute_HEv+0x31d) [0x77afdd]
[HESS112d:18647] [ 2] lmp_openmpi(_ZN9LAMMPS_NS10FixQEqReax11init_matvecEv+0x16) [0x77b586]
[HESS112d:18647] [ 3] lmp_openmpi(_ZN9LAMMPS_NS10FixQEqReax9pre_forceEi+0xc6) [0x77d3c6]
[HESS112d:18647] [ 4] lmp_openmpi(_ZN9LAMMPS_NS6Modify15setup_pre_forceEi+0xce) [0x51bd2e]
[HESS112d:18647] [ 5] lmp_openmpi(_ZN9LAMMPS_NS6Verlet5setupEv+0x174) [0x87b284]
[HESS112d:18647] [ 6] lmp_openmpi(_ZN9LAMMPS_NS3Run7commandEiPPc+0x250) [0x70c7e0]
[HESS112d:18647] [ 7] lmp_openmpi(_ZN9LAMMPS_NS5Input15execute_commandEv+0xa75) [0x509445]
[HESS112d:18647] [ 8] lmp_openmpi(_ZN9LAMMPS_NS5Input4fileEv+0x616) [0x50b316]
[HESS112d:18647] [ 9] lmp_openmpi(main+0x49) [0x56df89]
[HESS112d:18647] [10] /lib64/libc.so.6(__libc_start_main+0xfd) [0x31efa1ee5d]
[HESS112d:18647] [11] lmp_openmpi() [0x4848f9]
[HESS112d:18647] *** End of error message ***
"

My input script is pasted below

units metal
atom_style full
bond_style harmonic
angle_style harmonic

pair_style hybrid eam lj/cut/coul/long/tip4p 1 2 1 1 0.125 9.0 lj/cut/coul/long 9.0
read_data test1.data

pair_coeff 1 1 lj/cut/coul/long/tip4p 0.00705684 3.16435
pair_coeff 2 2 lj/cut/coul/long/tip4p 0.0 0.0
pair_coeff 1 2 lj/cut/coul/long/tip4p 0.0 0.0
pair_coeff 3 3 eam Au_u3.eam
pair_coeff 1 3 lj/cut/coul/long 0.08602 2.95
pair_coeff 2 3 lj/cut/coul/long 0 0
kspace_style pppm/tip4p 10e-6

group water type 1 2
group wall type 3
neigh_modify delay 5

velocity all create 0.0 1372109 dist gaussian rot yes units box

fix 1 water shake 0.0001 10 0 b 1 a 1
fix 2 computation nvt temp 400 400 0.1
fix 3 all qeq/reax 1 0.0 10.0 1.0e-6 param.qeq

thermo_style custom step pe ke etotal vol lx ly lz

thermo 1000

dump 1 all custom 100000 dump1.lammpstrj id mol type q x y z

timestep 0.001

restart 100000 system_restart
run 1000000

Thanks a lot for your time and effort!

Regards,

Kira

Kira,

A very important information is not available to us, which is the
LAMMPS version. I added fix qeq/reax to the examples/melt/in.melt, it
did not result in the seg fault error. Perhaps you should try a newer
version.

Also, I am unable to run your script because test1.data is also unavailable.

Ray

Greetings,

I am trying to utilize fix qeq/reax command with non-ReaxFF potential. In my
liquid-solid system, TIP4P-Ew is for water-water interaction, EAM is for
solid-solid interaction. lj/cut/coul/long is for water-solid interaction.
And I want to use fix qeq/reax to calculate the charges each timestep. But I
kept got the error message as listed below I wonder what the problem could
be.

the problem is that what you want to do is a bad idea on multiple
levels. most importantly, with a tip4p pair style, the location of the
M point carrying the negative charge of the water is computed on the
fly, however fix qeq/reax knows nothing about that, so even if it
would not segfault, its results would be bogus. second, fix qeq/reax
uses the neighbor-list, but with a bonded pair style like tip4p water,
you have bonded interactions excluded and/or flagged on the
neighborlist. that will also seriously taint and invalidate the result
of fix qeq/reax and most likely is also the cause of the segfault.
there several other concerns, but these two are absolute dealbreakers
(unless you spend a serious programming effort in adapting the qeq fix
for your specific needs, and then we'd still have to discuss whether
there is a chance for meaningful results).

axel.

Hi Ray,

Thanks a lot for your comments. I was using lammps-22Mar13. I will try to run the simulations with the newest version of LAMMPS. Thanks.

Hi Axel,

Thanks for your comments.

most importantly, with a tip4p pair style, the location of the
M point carrying the negative charge of the water is computed on the
fly, however fix qeq/reax knows nothing about that, so even if it
would not segfault, its results would be bogus.

Do you think that this kind of problem could be avoided if I use a SPC/E water potential where the charges assigned to the atoms and there is no M point?

second, fix qeq/reax
uses the neighbor-list, but with a bonded pair style like tip4p water,
you have bonded interactions excluded and/or flagged on the
neighborlist. that will also seriously taint and invalidate the result
of fix qeq/reax and most likely is also the cause of the segfault.

Do you mean that as long as I have bond, angle, dihedral or improper interactions involved in the potential, the fix qeq/reax may not work properly because these interactions are excluded on the neighborlist?

Thanks.

Hi Axel,

Thanks for your comments.

most importantly, with a tip4p pair style, the location of the

M point carrying the negative charge of the water is computed on the
fly, however fix qeq/reax knows nothing about that, so even if it
would not segfault, its results would be bogus.

Do you think that this kind of problem could be avoided if I use a SPC/E
water potential where the charges assigned to the atoms and there is no M
point?

yes, this one specific problem would be avoided.

second, fix qeq/reax

uses the neighbor-list, but with a bonded pair style like tip4p water,
you have bonded interactions excluded and/or flagged on the
neighborlist. that will also seriously taint and invalidate the result
of fix qeq/reax and most likely is also the cause of the segfault.

Do you mean that as long as I have bond, angle, dihedral or improper
interactions involved in the potential, the fix qeq/reax may not work
properly because these interactions are excluded on the neighborlist?

it *cannot* work without some programming. that is where the segfaults
originates from. there are *many* other (mostly conceptual) issues as
well. i only mentioned these two as they are the most obvious
problems.

axel.