reax/c with pair_style hybrid

Dear All,

I am seeking help for the following problem:

Trying to use both reax/c and lj using pair_style hybrid (or hybrid/overlay):

pair_style hybrid lj/cut/coul/cut 15.0 reax/c NULL

I only want to use reax for the 6th atom type. I have also defined bond, angle and dihedral styles between other atom types and between other atom types and atom type 6 (not between atoms of type 6). The following shows the assignment of pair_coeffs:

pair_coeff 1 1 lj/cut/coul/cut 0.070 3.55
pair_coeff 2 2 lj/cut/coul/cut 0.066 3.50
pair_coeff 3 3 lj/cut/coul/cut 0.250 3.55
pair_coeff 4 4 lj/cut/coul/cut 0.030 2.42
pair_coeff 5 5 lj/cut/coul/cut 0.030 2.50
pair_coeff * * reax/c ffield.reax NULL NULL NULL NULL NULL C

This shows the error “Non-existent ReaxFF type”.

When i change the order to

pair_coeff * * reax/c ffield.reax C C S H H C #Note that the arguments are different
pair_coeff 1 1 lj/cut/coul/cut 0.070 3.55
pair_coeff 2 2 lj/cut/coul/cut 0.066 3.50
pair_coeff 3 3 lj/cut/coul/cut 0.250 3.55
pair_coeff 4 4 lj/cut/coul/cut 0.030 2.42
pair_coeff 5 5 lj/cut/coul/cut 0.030 2.50

and use hybrid or hybrid/overlay, it runs, however gives undesired results as the parameters for atom types 1-5 are dummy.

For the following definition of pair_coeffs and use with “hybrid” (not “hybrid/overlay”):

pair_coeff * * reax/c ffield.reax C C S H H C
pair_coeff 1 1 lj/cut/coul/cut 0.070 3.55
pair_coeff 2 2 lj/cut/coul/cut 0.066 3.50
pair_coeff 3 3 lj/cut/coul/cut 0.250 3.55
pair_coeff 4 4 lj/cut/coul/cut 0.030 2.42
pair_coeff 5 5 lj/cut/coul/cut 0.030 2.50
#pair_coeff 6 6 lj/cut/coul/cut 0.070 3.55
pair_coeff 1 2 lj/cut/coul/cut 0.0679 3.525
pair_coeff 1 3 lj/cut/coul/cut 0.132 3.55
pair_coeff 1 4 lj/cut/coul/cut 0.0458 2.985
pair_coeff 1 5 lj/cut/coul/cut 0.0458 3.025
pair_coeff 1 6 lj/cut/coul/cut 0.070 3.55
pair_coeff 2 3 lj/cut/coul/cut 0.1284 3.525
pair_coeff 2 4 lj/cut/coul/cut 0.0445 2.96
pair_coeff 2 5 lj/cut/coul/cut 0.0445 3.0
pair_coeff 2 6 lj/cut/coul/cut 0.0679 3.525
pair_coeff 3 4 lj/cut/coul/cut 0.0866 2.985
pair_coeff 3 5 lj/cut/coul/cut 0.0866 3.025
pair_coeff 3 6 lj/cut/coul/cut 0.132 3.55
pair_coeff 4 5 lj/cut/coul/cut 0.030 2.46
pair_coeff 4 6 lj/cut/coul/cut 0.0458 2.985
pair_coeff 5 6 lj/cut/coul/cut 0.0458 3.025

it prints “Setting up run …” and then terminates (I also tried to run on single processor).

I appreciate any help!

Regards,
Lukose

Dear All,

I am seeking help for the following problem:

Trying to use both reax/c and lj using pair_style hybrid (or
hybrid/overlay):

pair_style hybrid lj/cut/coul/cut 15.0 reax/c NULL

please generate a small test input (using only 2 or 3 atom types and a
small number of atoms) that exhibits the same problem and post it
here, so people can look into it. thanks,
     axel.

Hi All,

I am including a simple problem.
This input has four atom types. My original intention is to use reax
only for the second atom type.

units real
atom_style full

#pair_style hybrid/overlay reax/c NULL lj/cut/coul/cut 20.0
pair_style hybrid reax/c NULL lj/cut/coul/cut 20.0
bond_style harmonic
angle_style harmonic
dihedral_style opls

read_data data.input

bond_coeff 1 513.075 1.386
bond_coeff 2 290.71 1.726
bond_coeff 3 447.90 1.436
bond_coeff 4 370.49 1.080

angle_coeff 1 86.33 111.46
angle_coeff 2 39.565 110.82
angle_coeff 3 35.250 124.04
angle_coeff 4 86.33 91.36

dihedral_coeff 1 0 9.51 0 0
dihedral_coeff 2 0 9.51 0 0
dihedral_coeff 3 0 9.51 0 0
dihedral_coeff 4 0 0 0 0

pair_coeff * * reax/c ffield.reax C C S H #NULL C NULL NULL
pair_coeff 1 1 lj/cut/coul/cut 0.070 3.55
#pair_coeff 2 2 lj/cut/coul/cut 0.070 3.55
pair_coeff 3 3 lj/cut/coul/cut 0.250 3.55
pair_coeff 4 4 lj/cut/coul/cut 0.030 2.42
pair_coeff 1 2 lj/cut/coul/cut 0.070 3.55
pair_coeff 1 3 lj/cut/coul/cut 0.1323 3.55
pair_coeff 1 4 lj/cut/coul/cut 0.0458 2.985
pair_coeff 2 3 lj/cut/coul/cut 0.1323 3.55
pair_coeff 2 4 lj/cut/coul/cut 0.0458 2.985
pair_coeff 3 4 lj/cut/coul/cut 0.0866 2.985
#pair_coeff * * reax/c ffield.reax C C S H #NULL C NULL NULL

group greax type 2
compute 1 all pair reax/c
fix 1 all nvt temp 300.0 300.0 200.0
fix 2 greax qeq/reax 1 0.0 10.0 1.0e-6 reax/c
dump 1 all xyz 1 out_reax.xyz
dump_modify 1 element C C S H

timestep 1.0
thermo 1000
run 1000

This prints "Setting up run ..." without continuation.

The data input is
single molecule

        14 atoms
        14 bonds
        14 angles
        16 dihedrals

           4 atom types
           4 bond types
           4 angle types
           4 dihedral types

-100 100 xlo xhi
-100 100 ylo yhi
-100 100 zlo zhi

Masses

  1 12.010
  2 12.010
  3 32.065
  4 1.008

Atoms

       1 1 1 -0.1819 0.356343 -1.288038 3e-06
       2 1 2 0.0748 -0.0 0.0 1e-06
       3 1 3 -0.1496 1.090491 0.709526 -0.0
       4 1 2 0.0748 2.180983 0.0 2e-06
       5 1 1 -0.1819 1.825342 -1.286756 5e-06
       6 1 2 0.0748 -2.343965 0.869384 1e-06
       7 1 3 -0.1496 -3.434455 0.159858 -2e-06
       8 1 2 0.0748 -4.524945 0.869384 -0.0
       9 1 1 -0.1819 -4.168605 2.157421 4e-06
      10 1 1 -0.1819 -2.699605 2.156141 5e-06
      11 1 4 0.1561 2.489037 -2.150137 6e-06
      12 1 4 0.1561 -0.187334 -2.231614 5e-06
      13 1 4 0.1561 -2.074203 3.047653 8e-06
      14 1 4 0.1561 -4.712283 3.100997 5e-06

Bonds

       1 1 1 2
       2 3 1 5
       3 4 1 12
       4 2 2 3
       5 2 3 4
       6 1 4 5
       7 4 5 11
       8 2 6 7
       9 1 6 10
      10 2 7 8
      11 1 8 9
      12 3 9 10
      13 4 9 14
      14 4 10 13

Angles

       1 1 1 2 3
       2 2 1 5 4
       3 3 1 5 11
       4 2 2 1 5
       5 4 2 3 4
       6 1 3 4 5
       7 3 5 1 12
       8 4 6 7 8
       9 2 6 10 9
      10 1 7 6 10
      11 1 7 8 9
      12 2 8 9 10
      13 3 9 10 13
      14 3 10 9 14

Dihedrals

       1 2 1 2 3 4
       2 1 1 5 4 3
       3 3 1 5 4 3
       4 4 2 1 5 11
       5 2 2 3 4 5
       6 1 3 2 1 5
       7 3 3 2 1 5
       8 4 4 5 1 12
       9 2 6 7 8 9
      10 4 6 10 9 14
      11 1 7 6 10 9
      12 3 7 6 10 9
      13 1 7 8 9 10
      14 3 7 8 9 10
      15 2 8 7 6 10
      16 4 8 9 10 13

When i use
pair_coeff * * reax/c ffield.reax NULL C NULL NULL
it prints "Non-existent ReaxFF type".

I appreciate any suggestion.

Best,
Lukose

ReaxFF is a pure atomic potential meaning you must not define bonds, angles, and dihedrals. Please remove bond_, angle_, and dihedral_ styles from your input script and try again.

Ray

Hi,

Thanks for the suggestion!

The same problems persists even without bonds, angles and dihedrals.

Lukose

That is not possible. What version of LAMMPS are you using?

I can run your script without any problems (of course with bonds, angles and dihedrals removed).

Ray

I use 1Feb14 version of LAMMPS. What version did it work for?

Thanks for helping!
Lukose

I use 1Feb14 version of LAMMPS. What version did it work for?

Since the 4May14 version, which was when reax/c was enabled to work with
hybrid or hybrid/overlay.

Please note that the doc page and advertised features/capabilities always
refer to the most current version, thanks.

Ray

Thanks a lot! That helped!
It also worked with bonds, angles and dihedrals assigned for non-reax
atoms (of course there is a warning!).