Open cortner opened 1 year ago
Js, Rs, Zs, z0 = get_neighbours(nlist, i, ...)
Js : indices of neighbours
Rs : vectors ri - rj
Zs : particle ids of neighbours
z0 : particle id of center i
Ss : shifts into neighbouring cell
could be retrieved from Rs and position(j) - position(i)
Is, Js, Zs, Z0s = get_neigs_batch(nlist, 1:16, ...)
Is, Js, Rs, ... = get_pairs(nlist, ...)
iterate
type protocols to wrap the foregoing information. But the explicit access can be important in some cases so I would not drop that from the interface.The above list only explains the kind of information that is required. How that information is more efficiently stored and retrieved will hopefully also be discussed but I currently have no strong view on that.
There is a use-case for a general interface to different neighbourlist implementations.
(Previous discussions have failed to lead anywhere...)