NeighborListLocalAccessGPU

class hoomd.md.data.NeighborListLocalAccessGPU

Access HOOMD-Blue neighbor list data buffers on the GPU.

The internal NeighborList implementation of HOOMD is comprised of essentially three array buffers. The buffers are:

  • nlist: Ragged array of neighbor data.

  • head_list: Indexes for particles to read from the neighbor list.

  • n_neigh: Number of neighbors for each particle.

The neighbor indices of particle \(i\) are stored in the slice nlist[head_list[i]:head_list[i]+n_neigh[i]]. The result of access outside of these bounds is undefined. The half_nlist property is used to query whether the neighbor list stores a single copy for each pair (True), or two copies for each pair (False). Under MPI, pairs that cross domains are stored twice, once in each domain rank.

head_list

Local head list.

Type:

(N_particles,) HOOMDArray or HOOMDGPUArray of unsigned long

n_neigh

Number of neighbors.

Type:

(N_particles,) HOOMDArray or HOOMDGPUArray of unsigned int

nlist

Raw neighbor list data.

Type:

(…) HOOMDArray or HOOMDGPUArray of unsigned int

half_nlist

Convenience property to check if the storage mode is ‘half’.

Type:

bool