[lammps-users] anglelist, neighlist, ilist

Dear Lammps,

I am currently trying to add a new module to LAMMPS. I would like to
compute the coulomb effect of three bonded atoms on a other triplets.
Therefore I am planing to use:
"neighbor->anglelist" to build my list of triplets
"list->firstneigh" to find the triplets interacting with a group of bonded atoms

Would this be correct?
What information is in "ilist"?
In parallel, how does LAMMPS treat atoms belonging to the other processes?

Regards

Thomas Lemmin

PhD student
LBM-IBI-SV-EPFL
Switzerland

Dear Lammps,

dear thomas,

I am currently trying to add a new module to LAMMPS. I would like to
compute the coulomb effect of three bonded atoms on a other triplets.
Therefore I am planing to use:
"neighbor->anglelist" to build my list of triplets
"list->firstneigh" to find the triplets interacting with a group of bonded atoms

Would this be correct?
What information is in "ilist"?

it is a list of lists of neighbors. what this is exactly depends on
the neighbor list request.
by default it is a "half neighborlist".

In parallel, how does LAMMPS treat atoms belonging to the other processes?

by adding "ghost" atoms to the list of atoms that have coordinates on an
MPI task. i would suggest you read the LAMMPS paper and look up in
general how "Verlet-lists" work. it is _much_ easier to get this from text
books and papers rather than trying to figure it out from the code.

cheers,
   axel.

If the triplets are the same as those built by neighbor->anglelist, then
they already exist, so I wouldn't recompute them. But that
list is not organized on a per-atom basis. So I don't see how you
are going to find these triplets that 2 different atoms are in.
I guess I'm not clear on what you're trying to do.

Steve

I would like to add a term to my Hamiltonian.
I am planning to evaluate the charge of three connected atoms. I was
planning to use anglelist to identify these triplets.
Then I want to compute the coulomb interaction between these triplet.
Therefore I wanted to use firstneigh, to find the triplets that
interact.

Well the anglelist will have all the triplets that correspond
to defined angles. You can use the pair list (firstneigh, numneigh)
however you wish. It's not clear to me that it's an efficient
way to calculate what you want.

Steve

Thanks for your helpful replies!

Is the atom ID in firstneigh the same as the anglelist one?
e.g.
triplet 1 2 3 (in anglelist)
interacting with atom 7 (in firstneigh)

Would atom 7 be the same as in triplet
6 7 8 (anglelist)

Thomas

Both firstneigh and anglelist will store local atom indices,
not global atom IDs. But the global atom ID for any atom
is in tag[i].

Steve