structuretoolkit.analyse.snap.get_snap_descriptors_per_atom

structuretoolkit.analyse.snap.get_snap_descriptors_per_atom#

structuretoolkit.analyse.snap.get_snap_descriptors_per_atom(structure: Atoms, atom_types: list[str], twojmax: int = 6, element_radius: list[float] | None = None, rcutfac: float = 1.0, rfac0: float = 0.99363, rmin0: float = 0.0, bzeroflag: bool = False, quadraticflag: bool = False, weights: list | ndarray | None = None, cutoff: float = 10.0) ndarray[source]#

Calculate per atom SNAP descriptors using LAMMPS https://docs.lammps.org/compute_sna_atom.html

Parameters:
  • structure (ase.atoms.Atoms) – atomistic structure as ASE atoms object

  • atom_types (list[str]) – list of element types

  • twojmax (int) – band limit for bispectrum components (non-negative integer)

  • element_radius (list[int]) – list of radii for the individual elements

  • rcutfac (float) – scale factor applied to all cutoff radii (positive real)

  • rfac0 (float) – parameter in distance to angle conversion (0 < rcutfac < 1)

  • rmin0 (float) – parameter in distance to angle conversion (distance units)

  • bzeroflag (bool) – subtract B0

  • quadraticflag (bool) – generate quadratic terms

  • weights (list/np.ndarry/None) – list of neighbor weights, one for each type

  • cutoff (float) – cutoff radius for the construction of the neighbor list

Returns:

Numpy array with the calculated descriptor derivatives

Return type:

np.ndarray