About general ID overwrite behaviour

I’ve noticed that LAMMPS is quite strict with overwriting some command parameters. For example, when you try to do something like:

dump 1 all atom 10 dump.lammpstrj

dump 1 all atom 1000 dump2.lammpstrj

you get an error like “Reuse of dump ID”. The command to use is dump_modify, or undump 1 between these two lines.

The same happens when you want to change from a fix nvt to a fix nve; you have to unfix in between.

However, when you want to change the parameters inside a fix nvt, you can do this without much problem, and not even a warning

fix 1 all nvt temp 10.0 10.0 0.1

fix 1 all nvt temp 2.0 2.0 0.1

Although this is documented properly, I think that either the second one shouldn’t be allowed, or the first one should (I’d go for this one, but it’s just a personal choice). Any ideas about this?

I think what LAMMPS is doing is the correct choice (surprise!).

The 2nd case should be allowed, b/c sometimes you want
to change the behavior of a fix you’ve already defined. I.e.
change the temperature params of a fix you’ve already defined.

If we don’t allow it, you’d have to unfix it, then re-define it,
which is a needless step.