[lammps-users] Problem with pair_style hybrid and ReaxFF

Hi,

I tried to start a quite complicated simulation with pair_style hybrid reax and lj/cut/coul/cut. In pair_coeff I defined for reax that one atom type should be NULL to define it later for lj/cut/coul/cut. But when the Simulation starts LAMMPS writes me: ERROR: Invalid REAX atom type. When I try it with reax/c I get an Segmentation Fault. In attachment a very simplified and impractical input script of my original input.

The second error is when I write in pair_style hybrid checkqeq no for reax/c, LAMMPS doesn't recognize it as an input and crashes. (e.g. pair_style hybrid reax/c ctrl.reax checkqeq no lj/cut/coul/cut 10.0 8.0).

data-file:
LAMMPS data file. Generated by writelmp_data.m

2 atoms
2 atom types

0.000000 10.000000 xlo xhi
0.000000 10.000000 ylo yhi
0.000000 10.000000 zlo zhi

Masses

1 1.008000
2 15.999000

Atoms

1 0 1 -0.80000 2.000000 2.000000 2.000000
2 0 2 0.800000 7.000000 7.000000 7.000000

LAMMPS Input:
# (1) Initialisierung

robert,

Hi,

I tried to start a quite complicated simulation with pair_style hybrid
reax and lj/cut/coul/cut. In pair_coeff I defined for reax that one atom
type should be NULL to define it later for lj/cut/coul/cut. But when the
Simulation starts LAMMPS writes me: ERROR: Invalid REAX atom type. When
I try it with reax/c I get an Segmentation Fault. In attachment a very
simplified and impractical input script of my original input.

i have reproduced the issues that you are reporting and
looked the corresponding LAMMPS sources.

what you describe is effectively a so-called "undocumented feature".

neither reax nor reax/c currently seem to have proper support
for the hybrid potential use that you are attempting.

in the case of reax there is a test in the code, in the case of reax/c
there is no test which will then lead to the segmentation fault.

The second error is when I write in pair_style hybrid checkqeq no for
reax/c, LAMMPS doesn't recognize it as an input and crashes. (e.g.
pair_style hybrid reax/c ctrl.reax checkqeq no lj/cut/coul/cut 10.0 8.0).

confirmed as well. not sure what is needed to make this work.

overall, it looks like you are currently between a rock and a hard place.
you may be able to get away with adding a dummy atom type to
the reax.ffield file for the atoms that you want to be ignored for
reax, but i don't even know that that 'can' work, or you may need
to change the reax or reax/c implementation to skip over atoms
that are flagged with type -1.

axel.

I'll look into this. The author of the user reax/c probably
didn't think about pair hybrid.

Steve