Neighbor List

This calculator is registered with the neighbor_list name.

NeighborList hyper-parameters

Show full JSON schema
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "NeighborList",
  "description": "This calculator computes the neighbor list for a given spherical cutoff, and\n returns the list of distance vectors between all pairs of atoms strictly\n inside the cutoff.\n\n Users can request either a \"full\" neighbor list (including an entry for both\n `i - j` pairs and `j - i` pairs) or save memory/computational by only\n working with \"half\" neighbor list (only including one entry for each `i/j`\n pair)\n\n Pairs between an atom and it's own periodic copy can appear when the cutoff\n is larger than the cell under periodic boundary conditions. Self pairs with\n a distance of 0 (i.e. self pairs inside the original unit cell) are only\n included when using `self_pairs = true`.\n\n This calculator produces a single property (`\"distance\"`) with three\n components (`\"pair_xyz\"`) containing the x, y, and z component of the\n distance vector of the pair.\n\n The samples contain the two atoms indexes, as well as the number of cell\n boundaries crossed to create this pair.",
  "type": "object",
  "properties": {
    "cutoff": {
      "description": "Spherical cutoff to use to determine if two atoms are neighbors",
      "type": "number",
      "format": "double"
    },
    "full_neighbor_list": {
      "description": "Should we compute a full neighbor list (each pair appears twice, once as\n `i-j` and once as `j-i`), or a half neighbor list (each pair only\n appears once)",
      "type": "boolean"
    },
    "self_pairs": {
      "description": "Should individual atoms be considered their own neighbor? Setting this\n to `true` will add \"self pairs\", i.e. pairs between an atom and itself,\n with the distance 0.",
      "type": "boolean"
    }
  },
  "required": [
    "cutoff",
    "full_neighbor_list",
    "self_pairs"
  ]
}

This calculator computes the neighbor list for a given spherical cutoff, and returns the list of distance vectors between all pairs of atoms strictly inside the cutoff.

Users can request either a “full” neighbor list (including an entry for both i - j pairs and j - i pairs) or save memory/computational by only working with “half” neighbor list (only including one entry for each i/j pair)

Pairs between an atom and it’s own periodic copy can appear when the cutoff is larger than the cell under periodic boundary conditions. Self pairs with a distance of 0 (i.e. self pairs inside the original unit cell) are only included when using self_pairs = true.

This calculator produces a single property ("distance") with three components ("pair_xyz") containing the x, y, and z component of the distance vector of the pair.

The samples contain the two atoms indexes, as well as the number of cell boundaries crossed to create this pair.

cutoff: number:

Spherical cutoff to use to determine if two atoms are neighbors

full_neighbor_list: boolean:

Should we compute a full neighbor list (each pair appears twice, once as i-j and once as j-i), or a half neighbor list (each pair only appears once)

self_pairs: boolean:

Should individual atoms be considered their own neighbor? Setting this to true will add “self pairs”, i.e. pairs between an atom and itself, with the distance 0.