dynamic group and compute commands

Dear LAMMPS Users
i define a dynamic group in my input file and use this group for computing msd and i do not get any error, i read in manual this line:
" All fixes and computes take a group ID as an argument, but they do not all allow for use of a dynamic group"
why we do not allow to use dynamic group in compute command?

Best Regard.

Dear LAMMPS Users
i define a dynamic group in my input file and use this group for computing
msd and i do not get any error, i read in manual this line:

an MSD computation for a dynamic group makes no sense at all.

how can you compute a displacement for atoms that suddenly vanish or appear??

" All fixes and computes take a group ID as an argument, but they do not all
allow for use of a dynamic group"

i don't see this sentence. please be more specific. where did you find
this and what version of LAMMPS are you using.

why we do not allow to use dynamic group in compute command?

many facilities in LAMMPS have to store intermediate data, thus they
are not automatically compatible with dynamic groups but have to be
modified accordingly. as of the current version (1 Aug 2014), the
assumption is made that computes may be compatible by default (and
offending computes will have to be flagged explicitly) and fixes are
incompatible by default.

if you use dynamic groups with a compute, you have to carefully check
whether the result is reasonable. best create some simple and easy to
debug tests and verify that it gives the expected results. preferably
results that can be manually validated.

axel.

i found this in: http://lammps.sandia.gov/doc/group.html
and i use LAMMPS (14 Feb 2014)

Best Regard.

i found this in: LAMMPS Molecular Dynamics Simulator
and i use LAMMPS (14 Feb 2014)

if you want to use a feature that is under development, you better use
the latest version.
please also note the sentence following the one that you quoted:

"If you get an error message that this is not allowed, but feel that
it should be for the fix or compute in question, then please post your
reasoning to the LAMMPS mail list and we can change it."

in any case, everything that i wrote in my previous message holds and
describes the state of the current version. a few fixes have been
cleared for dynamic groups, but for everything else a good reason that
warrants this change will have to be provided, it has to provide
meaningful results and it has to be technically possible.

axel.

thanks for your valuable explanation,
in fact I’m using fix deposit to insert atoms above the surface and I’d like to compute the Mean Squared Displacement of the deposited atoms and they are not in the box at t=0 . does lammps use correct initial position for calculating MSD of inserted particles?

thanks for your valuable explanation,

You think me, but you don’t pay attention.

in fact I’m using fix deposit to insert atoms above the surface and I’d like to compute the Mean Squared Displacement of the deposited atoms and they are not in the box at t=0 . does lammps use correct initial position for calculating MSD of inserted particles?

I already answered this. How can lammps do it, if the input data is ambiguous or not even present?

I only started paying attention recently, so forgive me if you tried
this already. If you are desperate to get your simulation working,
have you tried using a loop? Some examples and documentation are
here:

http://lammps.sandia.gov/doc/jump.html
http://lammps.sandia.gov/doc/next.html

  At the beginning of each iteration, you would probably use the group
command to (re)define membership in each group which might be
changing.

For any fixes which make explicit references to that group, you would
have to "unfix" them, and redefine them again:

http://lammps.sandia.gov/doc/unfix.html

  Finally, each iteration of the loop would contain a "run" statement
for a short duration (say 5000 timesteps). I have not tried this on
large computers, but for a small number of CPUs, these simple loops
don't seem to slow down the simulation noticeably, and it should work.

P.S. more loop stuff:

   I don't think you need to do this, but for the record, you can also
do more complicated things inside a loop. For example, you could save
the coordinates to an external file (using "write_data"), running an
external program to process and manipulate those coordinates (using
"shell"), and reloading them (using "read_data"). Remember to use the
"clear" command before reloading the coordinates in LAMMPS. This kind
of for loop which reads and writes files frequently can be pretty
slow, but it works great. (But it might be easier to write your own
fix)

I only started paying attention recently, so forgive me if you tried
this already. If you are desperate to get your simulation working,
have you tried using a loop? Some examples and documentation are
here:

andrew,

this is much more a principal problem than a technical problem. there
are essentially two major issues to consider.

1) the einstein relation that connects the mean squared displacement
to self-diffusion is based on the assumption of brownian motion, i.e.
a random walker. question is, is this condition given when you deposit
atoms? it is quite questionable

2) if you only want to consider atoms in a dynamic group, (e.g. those
that are within a spatial region). which individual trajectories do
you consider. some atoms will leave the group, some will join the
group, some may be part of the group, leave and come back, some stay
in the group all the time. which ones do you consider? for how long?
this makes the choice of atoms ambiguous and some kind of consistent
additional restriction will have to be applied, that is not necessary
for a bulk system.

axel.