kups.core.neighborlist.fixed
¶
Empty and fixed-edge :class:NeighborList implementations.
These cover graph-construction cases without cutoff search: always-empty
edge sets for point clouds and state-provided fixed edge topology for bonded
interactions, optionally filtered to a patch-affected subset. They satisfy the
standard :class:NeighborList[D] protocol so a unified graph constructor can
ask any neighbor list for edges, regardless of how those edges were obtained.
The public call contract treats lh as the self-graph/output table. rh
is keyword-only and reserved for true bipartite neighbor-list queries; fixed
topology is a self-graph implementation and does not use rh. for_indices
is keyword-only, mutually exclusive with rh, and names affected lh ids
after the caller has already written updated particle data into lh.
FixedEdgesNeighborList returns only fixed topology rows touched by those
ids. Its implementation is a normal selector -> mask -> compactor pipeline over
the fixed edge rows; shifts are computed from the current particle positions
during selection.
EmptyNeighborList
¶
Neighbor list that emits an :class:Edges[D] with zero rows.
The degree field is the runtime arity carried by the emitted edges;
it must match the type parameter D.
Attributes:
| Name | Type | Description |
|---|---|---|
degree |
int
|
Edge arity ( |
Source code in src/kups/core/neighborlist/fixed.py
FixedEdgesNeighborList
¶
Neighbor list for a fixed topology edge set.
Full self-graph calls return all fixed topology rows with shifts computed
from the current particle positions. Affected self-graph calls pass
keyword-only for_indices after updated particle data has been written
into lh; the neighbor list returns only fixed rows touched by those
affected lh ids. rh is reserved for true bipartite neighbor-list
implementations and is not a fixed-edge update mechanism.
Attributes:
| Name | Type | Description |
|---|---|---|
indices |
Index[ParticleId]
|
Fixed edge topology. Shifts are intentionally not stored; they are computed from the call's current particle positions. |
avg_edges |
Capacity[int] | None
|
Update-only average affected-edge capacity per affected
|