gblearn.soap

Functions for generating the SOAP representation of a grain boundary.

Functions

S(a, b) Computes the SOAP similarity kernel between two SOAP vectors, \(d(a,b) = \sqrt{K(a,a)+K(b,b)-2*K(a,b)}\).

Classes

SOAPCalculator([rcut, nmax, lmax, sigma, …]) Represents a set of unique SOAP parameters for which SOAP vectors can be calculated.

API Documentation

Functions for generating the SOAP representation of a grain boundary.

gblearn.soap.S(a, b)[source]

Computes the SOAP similarity kernel between two SOAP vectors, \(d(a,b) = \sqrt{K(a,a)+K(b,b)-2*K(a,b)}\).

class gblearn.soap.SOAPCalculator(rcut=5.0, nmax=12, lmax=12, sigma=0.5, trans_width=0.5)[source]

Represents a set of unique SOAP parameters for which SOAP vectors can be calculated.

Parameters:
  • rcut (float) – local environment finite cutoff parameter.
  • nmax (int) – bandwidth limits for the SOAP descriptor radial basis functions.
  • lmax (int) – bandwidth limits for the SOAP descriptor spherical harmonics.
  • sigma (float) – width parameter for the Gaussians on each atom.
  • trans_width (float) – distance over which the coefficients in the radial functions are smoothly transitioned to zero.
rcut

float – local environment finite cutoff parameter.

nmax

int – bandwidth limits for the SOAP descriptor radial basis functions.

lmax

int – bandwidth limits for the SOAP descriptor spherical harmonics.

sigma

float – width parameter for the Gaussians on each atom.

trans_width

float – distance over which the coefficients in the radial functions are smoothly transitioned to zero.

calc(atoms, central, basis=None)[source]

Calculates a SOAP vector for the specified species and atomic positions.

Parameters:
  • atoms (quippy.Atoms) – list of atoms to calculate the vector for.
  • central (int) – integer element number to set as the central atom type for the SOAP calculation.
  • basis (list) – of int defining which of the atoms in the conventional unit cell should be retained as a unique part of the basis.