![]() |
(git:21ef868)
|
Linked-cell neighbour finder with a Verlet skin for the NNP descriptor. Owns the per-nnp cell-list cache (positions, image pool, head/next chain, bin geometry), rebuilds or rebins it as atoms move, and walks it to fill the per-element neighbour buffers. Each &NNP force_eval owns its cache, so the lifetime tracks nnp_env_release. More...
Functions/Subroutines | |
| subroutine, public | nnp_prepare_cell_list_cache (nnp) |
| Prepare the cell-list cache for the current force evaluation: wrap positions into the primary cell, then either rebuild the bin geometry (cell, atom-count, cutoff or large-drift change) or rebin the chain in place while the Verlet skin still holds. Call once per force evaluation, before any nnp_compute_neighbors_cell_list call. | |
| subroutine, public | nnp_compute_neighbors_cell_list (nnp, neighbor, i) |
| Fill the ACSF neighbour buffers for one central atom by walking the linked-cell stencil around its bin, pushing (j, dr, r) into the per-species-pair slabs for entries inside each pair cutoff. The own-bin self image (i == j, zero shift) is skipped. | |
Linked-cell neighbour finder with a Verlet skin for the NNP descriptor. Owns the per-nnp cell-list cache (positions, image pool, head/next chain, bin geometry), rebuilds or rebins it as atoms move, and walks it to fill the per-element neighbour buffers. Each &NNP force_eval owns its cache, so the lifetime tracks nnp_env_release.
| subroutine, public nnp_cell_list::nnp_prepare_cell_list_cache | ( | type(nnp_type), intent(inout), pointer | nnp | ) |
Prepare the cell-list cache for the current force evaluation: wrap positions into the primary cell, then either rebuild the bin geometry (cell, atom-count, cutoff or large-drift change) or rebin the chain in place while the Verlet skin still holds. Call once per force evaluation, before any nnp_compute_neighbors_cell_list call.
| nnp | NNP environment whose cell_list_cache is prepared from current positions. |
Definition at line 55 of file nnp_cell_list.F.
| subroutine, public nnp_cell_list::nnp_compute_neighbors_cell_list | ( | type(nnp_type), intent(inout), pointer | nnp, |
| type(nnp_neighbor_type), intent(inout) | neighbor, | ||
| integer, intent(in) | i | ||
| ) |
Fill the ACSF neighbour buffers for one central atom by walking the linked-cell stencil around its bin, pushing (j, dr, r) into the per-species-pair slabs for entries inside each pair cutoff. The own-bin self image (i == j, zero shift) is skipped.
| nnp | NNP environment with cell_list_cache and neighbor_interface_state ready |
| neighbor | per-atom neighbour view filled in place (counters zeroed before this call) |
| i | central-atom index in the global ordering |
Definition at line 339 of file nnp_cell_list.F.