[lammps-users] segmentation bond for SW + bonds

Hello Lammps-Users,

I constructed a system in which all particles interact through the SW pair interaction but some of them are also bound with harmonic bonds. An old version of lammps (~march last year) allowed that, while newer ones (e.g. the latest Jul7-09 release, but also that from january this year) give segmentation fault, and gdb indicates that the error is in pair_sw.cpp, a routine that in my files seems to be the same in the version that worked in march 2008 and the one that did not work in january 2009.

Could you help me with this?
Thank you,
vale

in.minimal (1.88 KB)

data_30_bond (951 KB)

mW.sw (1.6 KB)

Hello Lammps-Users,

hello vale,

I constructed a system in which all particles interact through the SW
pair interaction but some of them are also bound with harmonic bonds.
An old version of lammps (~march last year) allowed that, while newer

ones (e.g. the latest Jul7-09 release, but also that from january
this year) give segmentation fault, and gdb indicates that the error
is in pair_sw.cpp, a routine that in my files seems to be the same in
the version that worked in march 2008 and the one that did not work in
january 2009.

it is not the pair_sw directly, but the facst sw does not allow
exclusions, and that you can now have different exclusion factors
for both lj and coulomb pair interactions.

atoms that need to be treated with the special bonds scaling
factors are flagged by adding 'nall' to them. since pair_sw does
not handle that it will lead to overly large atom indices and
thus you get segmentation faults.

you obviously already changed the special bonds input to adjust for
the change, but you have to change 'lj' to 'lj/coul' to get rid
of the special bond flags for all atoms and the resulting segfault.

cheers,
   axel.

Vale - if what Axel says is true, then I'm a bit confused.
Unlike pairwise LJ or Coulomb, the SW potential has no
logic for weighting or turning-off bond, angle, etc terms.
This is not so much a deficiency of LAMMPS - rather, I've
never seen SW defined or used in that way. I don't know
if it's a valid thing to do, and it seems somewhat ad hoc
to turn off/down certain pre-defined bonds since the point
of SW is it allows bonds to form/break dynamically.

Maybe Aidan wants to comment as he knows SW better
than I.

Steve