(git:98357aa)
Loading...
Searching...
No Matches
nnp_acsf.F File Reference

Go to the source code of this file.

Modules

module  nnp_acsf
 Functionality for atom centered symmetry functions for neural network potentials.
 

Functions/Subroutines

subroutine, public nnp_acsf::nnp_calc_acsf (nnp, i, calc_forces, stress)
 Calculate atom centered symmetry functions for given atom i.
 
subroutine, public nnp_acsf::nnp_prepare_neighbor_cache (nnp)
 Prepare or update the linked-cell / Verlet cache for the current geometry. Lazily allocates nnpcell_list_cache and nnpneighbor_interface_state, then delegates to nnp_prepare_cell_list_cache and nnp_neighbor_interface_prepare. Call once per force eval before the per-atom loop; cheap on re-entry when nothing has changed.
 
subroutine, public nnp_acsf::nnp_sort_ele (ele, nuc_ele)
 Sort an (ele, nuc_ele) pair of arrays in ascending order of atomic number. Used to canonicalise element ordering inside the NNP environment so the same model file produces the same per-element index layout regardless of input ordering.
 
subroutine, public nnp_acsf::nnp_sort_acsf (nnp)
 Sort radial and angular symmetry functions in canonical order. Radial SFs are sorted by eta (ascending) then rcut; angular SFs by eta, lambda, zeta. This is the order downstream code in nnp_init_acsf_groups relies on for run-length-style group packing.
 
subroutine, public nnp_acsf::nnp_init_acsf_groups (nnp)
 Pack symmetry functions into groups that share input parameters. Builds nnprad(i)symfgrp(:) and nnpang(i)symfgrp(:) so that all radial / angular SFs with identical (eta, rcut [, lambda, zeta]) live in one group; downstream the descriptor pass evaluates each group's shared cutoff/exponent once and applies it across the per-element neighbour slab.
 
subroutine, public nnp_acsf::nnp_write_acsf (nnp, para_env, printtag)
 Print a summary of the active symmetry-function set on the source rank. Emits one line per element listing the per-element n_rad / n_ang counts and the per-group breakdown; used at NNP init time and after sort/group passes for traceability.