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