pyxtal_ff.descriptors.SO3

pyxtal_ff.descriptors.SO3.Cosine(Rij, Rc, derivative=False)[source]
pyxtal_ff.descriptors.SO3.Exponent(Rij, Rc, derivative=False)[source]
pyxtal_ff.descriptors.SO3.GaussChebyshevQuadrature(nmax, lmax)[source]
pyxtal_ff.descriptors.SO3.Poly1(Rij, Rc, derivative=False)[source]
pyxtal_ff.descriptors.SO3.Poly2(Rij, Rc, derivative=False)[source]
pyxtal_ff.descriptors.SO3.Poly3(Rij, Rc, derivative=False)[source]
pyxtal_ff.descriptors.SO3.Poly4(Rij, Rc, derivative=False)[source]
class pyxtal_ff.descriptors.SO3.SO3(nmax=3, lmax=3, rcut=3.5, alpha=2.0, derivative=True, stress=False, cutoff_function='cosine', weight_on=False, primitive=False)[source]

Bases: object

A class to generate the SO3 power spectrum components based off of the Gaussian atomic neighbor density function defined in “On Representing Atomic Environments”.

Parameters:
  • nmax – int, degree of radial expansion
  • lmax – int, degree of spherical harmonic expansion
  • rcut – float, cutoff radius for neighbor calculation
  • alpha – float, gaussian width parameter
  • derivative – bool, whether to calculate the gradient of not
  • weight_on – bool, if True, the neighbors with different type will be counted as negative
  • primitive – bool, use the asePrimitiveNeighborList
alpha
build_neighbor_list(atom_ids=None)[source]

Builds a neighborlist for the calculation of bispectrum components for a given ASE atoms object given in the calculate method.

calculate(atoms, atom_ids=None)[source]

Calculates the SO(3) power spectrum components of the smoothened atomic neighbor density function for given nmax, lmax, rcut, and alpha.

Parameters:
  • atoms – an ASE atoms object corresponding to the desired atomic arrangement
  • backend – string, specifies the method to compute the neighborlist elements, either ASE or pymatgen
clear_memory()[source]

Clears all memory that isn’t an essential attribute for the calculator

cutoff_function
derivative
initialize_arrays()[source]
lmax
load_from_dict(dict0)[source]
nmax
rcut
save_dict()[source]

save the model as a dictionary in json

stress
pyxtal_ff.descriptors.SO3.Tanh(Rij, Rc, derivative=False)[source]
pyxtal_ff.descriptors.SO3.Unity(Rij, Rc, derivative=False)[source]
pyxtal_ff.descriptors.SO3.W(nmax)[source]
pyxtal_ff.descriptors.SO3.compute_cs(pos, nmax, lmax, rcut, alpha, cutoff)[source]
pyxtal_ff.descriptors.SO3.compute_dcs(pos, nmax, lmax, rcut, alpha, cutoff)[source]
pyxtal_ff.descriptors.SO3.g(r, n, nmax, rcut, w)[source]
pyxtal_ff.descriptors.SO3.phi(r, alpha, rcut)[source]

See g below