Using reax/c/species with a dynamic group

Hi everyone,

I am trying to run a fix reax/c/species command but I want the atoms in the group to be reassigned periodically. Unfortunately, reax/c/species doesn’t allow the use of a dynamic group of atoms.

Is there any other command I could use or any other way I could approach this problem?

Many thanks.


It does allow to use a dynamic group, if you turn off averaging, i.e. use nrepeat set to 1.


This is the error I get and I am using the latest LAMMPS release (2 Aug 2023):

ERROR: Fix reax/c/species does not allow use with a dynamic group (src/modify.cpp:258)
Last command: run ${total_runs}

I tried the suggestion you made, but unfortunately the error is still the same. I also get the same error when using reaxff/species.

Is there any other way I could reassign the group periodically?


You must have followed the instructions incorrectly. Here are a few lines from a modified version of the in.reaxff.tatb file from the examples/reaxff folder using a dynamic group. This one will fail because it does averaging.

region half block 0 7 0 20 0 20
group dynamic dynamic all region half
fix             3 dynamic reaxff/species 1 5 5 species.tatb

If I turn off averaging, the input will run:

fix             3 dynamic reaxff/species 1 1 5 species.tatb

It is the same command executing the same code. The use of reax/c/species is deprecated and undocumented. The old form is still supported as an alias to keep old inputs from failing, but it will eventually be removed.

What’s the LAMMPS version you use?


Thank you very much for your help. It runs ok now!