Molecule topology for ghost atoms

LAMMPS generally has only minimal information stored for ghost atoms in order to conserve memory and reduce communication overhead.

The special arrays contain the “special” neighbors, i.e. atoms connected via bonds. First all 1-2 neighbors, then the 1-3 neighbors and finally the 1-4 neighbors. The nspecial array contains cumulative counts, i.e. the index into the second dimension of special where the 1-2, 1-3, and 1-4 neighbor list ends.

If you need to compute properties between local and ghost atoms, you usually need to do that on the MPI rank that owns the atom of a pair. If this information is needed with a ghost atom, then you need to store this into an array and then initiate a forward communication. please see: 4.6. Communication patterns — LAMMPS documentation

Yes, for as long at the atom with the tag is present, the map function will return the id in the local arrays. -1 is returned when the atom is not present (e.g. when the communication cutoff is too short for it).

There is a difference in how bond_atom stores information and the special list depending on the state of the newton bond setting. With an “on” setting each bond is only “owned” once, while with “off” it is “owned” by both atoms.

It is difficult to give more specific advice without knowing what specifically you are trying to achieve and how.