FW: Neigh_modify exclude group problem

Hi Axel,
Firstly, thanks for your reply.

I do most of this already. For relaxation, I only time integrate the
regular system, then when firing in a group of atoms, I just add that
group to a fix nve.
But this doesn't stop the current firing group from interacting with the
other atoms from future groups so I tried to use neigh_modify exclude to
stop this (all irradiation atoms are in the same plane originally).
Like we said before...just because atoms aren't in a fix nve doesn't
mean they don't interact (that was where I hit the first problem!)

If we consider a current firing group. I only want this group to not
interact with the atoms from future firing groups but I do want
interaction with previously deposited atoms as well as the CNT atoms.

Daniel

Hi Axel,
Firstly, thanks for your reply.

I do most of this already. For relaxation, I only time integrate the
regular system, then when firing in a group of atoms, I just add that
group to a fix nve.
But this doesn't stop the current firing group from interacting with the
other atoms from future groups so I tried to use neigh_modify exclude to
stop this (all irradiation atoms are in the same plane originally).
Like we said before...just because atoms aren't in a fix nve doesn't
mean they don't interact (that was where I hit the first problem!)

ok. then you could first have your reservoir not time integrated. then
move the atoms that you want to fire with fix move (which ignores
forces completely) into firing range (i.e. outside of the interaction
cutoff), lock-load-&-fire and continue with fix nve.

If we consider a current firing group. I only want this group to not
interact with the atoms from future firing groups but I do want
interaction with previously deposited atoms as well as the CNT atoms.

...or use a hybrid pair style with one non-interacting component and
reset the atom type to activate it, as i already suggested.

axel.

Dear Axel,

Looks like I have 3 options:

1. Use a hybrid pair style with one non-interacting component
So here I could use my Airebo pair style and also a non-interacting one
like the lj/cut style with epsilon set to 0.0
Seems I have to use types rather than groups if I go down this road.
Would this mean I'd be restricted to two atom types? -at the moment, I
have up to 5 atom types and I use each type for a specific purpose later
on. Is this a problem or can I have one atom type for the
non-interacting pair style and include all the other atom types in the
Airebo pair style?? Then just before firing, I change the atom type of
the current firing round to one of the types that has Airebo defined for
it? Not sure how to reset atom types but can look it up. Currently I
have this in my input file:

pair_style airebo 0 0 0
pair_coeff * * CH.airebo C C C

What would the syntax look like (roughly) if I had Airebo for types 1-5
and lj/cut for type 6?

2. As you say I could initially have the layers separated and either
just fire from the separated layers or move each layer into position
before firing - I'm trying to avoid this approach though. Ideally it
would be nice to fire from the same plane

3. neigh_modify group exclude
This seemed easy to do and it even works for the first firing round...Id
love to know how to fix this- even just for the sake of knowing

Thanks Axel

Daniel

Dear Axel,

Looks like I have 3 options:

1. Use a hybrid pair style with one non-interacting component
So here I could use my Airebo pair style and also a non-interacting one
like the lj/cut style with epsilon set to 0.0
Seems I have to use types rather than groups if I go down this road.
Would this mean I'd be restricted to two atom types? -at the moment, I

no.

have up to 5 atom types and I use each type for a specific purpose later
on. Is this a problem or can I have one atom type for the
non-interacting pair style and include all the other atom types in the
Airebo pair style?? Then just before firing, I change the atom type of

yes.

the current firing round to one of the types that has Airebo defined for

yes.

it? Not sure how to reset atom types but can look it up. Currently I

there is a command "set"

have this in my input file:

pair_style airebo 0 0 0
pair_coeff * * CH.airebo C C C

What would the syntax look like (roughly) if I had Airebo for types 1-5
and lj/cut for type 6?

please read the documentation for pair style hybrid.

2. As you say I could initially have the layers separated and either
just fire from the separated layers or move each layer into position
before firing - I'm trying to avoid this approach though. Ideally it
would be nice to fire from the same plane

you didn't get me. you have 3 positions:

A-----B---C

A is your target. B is the firing position. C is your reservoir that
hosts *all* "projectiles". B and C are just far enough apart so that
atoms don't interact anymore. atoms at A are in group mobile, atoms at
C are not time integrated.

then you use fix move on group1 to move these atoms from position C to
B. this ignores any forces.
then you remove fix move set the velocity for impact on group1 and add
them to the mobile group. from now on those atoms get time time
integrated like all A atoms and any subsequent operations on the
mobile group includes them.

when you decide to be ready for the next short, you use fix move on
group2 to move it from C to B (load), unfix (lock), set velocity
(aim), and add to the mobile group (shoot).

rinse and repeat until done.

3. neigh_modify group exclude
This seemed easy to do and it even works for the first firing round...Id
love to know how to fix this- even just for the sake of knowing

then construct a minimal test system (just a few atoms) that
demonstrates how you think it should work and doesn't, so that
somebody can look into it.

axel.

Daniel,

I like Axel's layer method the best. Once it is working, you will
know it, and it could also make for some interesting visuals. Neighbor
lists are the most complicated thing in LAMMPS. Even if you got it
working, you might have to redo it in six months.

Aidan