aenet.torch_featurize.AngularBasis

class aenet.torch_featurize.AngularBasis(*args: Any, **kwargs: Any)[source]

Angular basis functions using Chebyshev polynomials.

For a triplet of atoms (i, j, k), computes:

G_ang = T_n(cos θ_ijk) * fc(r_ij) * fc(r_ik)

where θ_ijk is the angle at atom i.

Parameters:
  • ang_order (int) – Maximum order for angular Chebyshev polynomials

  • ang_cutoff (float) – Angular cutoff radius in Angstroms

  • min_cutoff (float, optional) – Minimum cutoff (not used for angular, kept for consistency)

  • dtype (torch.dtype, optional) – Data type for computations (default: torch.float64)

Notes

For angular features, cos(θ) is already in [-1, 1], so we use r_min=-1.0 and r_max=1.0 (no rescaling needed).

__init__(ang_order: int, ang_cutoff: float, min_cutoff: float = 0.55, dtype: torch.dtype = torch.float64)[source]

Methods

__init__(ang_order, ang_cutoff[, ...])

forward(r_ij, r_ik, cos_theta)

Evaluate angular symmetry functions.

forward_with_derivatives(r_ij, r_ik, cos_theta)

Evaluate angular features and their partial derivatives.