Reaxff/species with elimination based on mass limit

Hi

I was wondering if there is a way to use this command:
fix 3 all reaxff/species 10 10 1000 species.out delete species.del masslimit 0 70

and at the same time make the dump file that is being created recounts the atoms taking into account the id of the atoms that were deleted.

For example, if I have 10 atoms and I remove 2 atoms I need that the dump file can do the sort id creating a new list from 1 to 8:
1
2
3
4
5
6
7
8
Instead of from 1 to 10 less the two atoms that were deleted:
1
2
4
5
6
7
9
10

Thank you!

You can try splitting your run into 1000-step parts and use reset_atoms ids command between runs. every keyword of run command can make it more compact, i.e.
run 10000 every 1000 "reset_atoms ids"

The thread topic doesn’t seem too related to your actual question … More importantly, there is a very good reason not to do what you’ve suggested: it will be very difficult to track any individual particle’s trajectory or disappearance if their ID is always getting renumbered.

Hi!
Thank you for your suggestion. I tried what you said and the simulation stopped

MPI task timing breakdown:
Section | min time | avg time | max time |%varavg| %total

Pair | 30.967 | 38.711 | 44.721 | 71.5 | 77.14
Neigh | 0.053608 | 0.065009 | 0.076971 | 3.2 | 0.13
Comm | 0.020091 | 4.0715 | 13.776 | 252.9 | 8.11
Output | 0.0075433 | 0.040254 | 0.073305 | 11.7 | 0.08
Modify | 5.3182 | 7.2925 | 10.575 | 89.2 | 14.53
Other | | 0.001706 | | | 0.00

Nlocal: 3023.8 ave 3203 max 2826 min
Histogram: 2 0 0 0 0 0 0 1 1 1
Nghost: 9325.4 ave 9795 max 8800 min
Histogram: 2 0 0 0 0 0 0 1 1 1
Neighs: 1.33075e+06 ave 1.46598e+06 max 1.15588e+06 min
Histogram: 2 0 0 0 0 0 0 0 1 2

Total # of neighbors = 6653759
Ave neighs/atom = 440.09253
Neighbor list builds = 1
Dangerous builds not checked
reset_atoms

and I got this error:

erminate called after throwing an instance of ‘std::logic_error’
terminate called after throwing an instance of ‘std::logic_error’
what(): basic_string::_M_construct null not valid
terminate called after throwing an instance of ‘std::logic_error’
what(): basic_string::_M_construct null not valid
terminate called after throwing an instance of ‘std::logic_error’
what(): basic_string::_M_construct null not valid
what(): basic_string::_M_construct null not valid
terminate called after throwing an instance of ‘std::logic_error’
what(): basic_string::_M_construct null not valid
srun: error: cn126: task 0: Aborted
srun: error: cn127: task 1: Aborted
srun: error: cn128: task 2: Aborted
srun: error: cn129: task 3: Aborted
srun: error: cn130: task 4: Aborted

Do you have any idea how to solve it?
Thanks

I cannot replicate this behaviour. Can you share a simple input script which triggers this error?