GaussianProjectionIntegrals#

class abtem.integrals.GaussianProjectionIntegrals(gaussian_parametrization='peng', correction_parametrization='lobato', cutoff_tolerance=0.001)[source]#

Bases: FieldIntegrator

Parameters:
  • gaussian_parametrization (str or Parametrization, optional) – The Gaussian radial potential parametrization to integrate. Must be parametrization described by a superposition of Gaussians. Default is the Peng parametrization.

  • correction_parametrization (str or Parametrization, optional) – The correction radial potential parametrization to integrate. Used for correcting the dependence of the potential close to the nuclear core. Default is the Lobato parametrization.

  • cutoff_tolerance (float, optional) – The error tolerance used for deciding the radial cutoff distance of the potential [eV / e]. Default is 1e-3.

__init__(gaussian_parametrization='peng', correction_parametrization='lobato', cutoff_tolerance=0.001)[source]#

Methods

__init__([gaussian_parametrization, ...])

build(symbol, gpts, sampling[, device])

copy()

Make a copy.

cutoff(symbol)

Radial cutoff of the potential for the given chemical symbol.

integrate_on_grid(positions, a, b, gpts, ...)

Integrate radial potential between two limits at the given 2D positions on a grid.

Attributes

correction_parametrization

cutoff_tolerance

The error tolerance used for deciding the radial cutoff distance of the potential [eV / e].

finite

True indicates that the created projection integrators are implemented only for infinite potential projections.

gaussian_parametrization

The error tolerance used for deciding the radial cutoff distance of the potential [eV / e].

periodic

True indicates that the created projection integrators are implemented only for periodic potentials.

copy()#

Make a copy.

cutoff(symbol)[source]#

Radial cutoff of the potential for the given chemical symbol.

Return type:

float

property cutoff_tolerance#

The error tolerance used for deciding the radial cutoff distance of the potential [eV / e].

property finite: bool#

True indicates that the created projection integrators are implemented only for infinite potential projections.

property gaussian_parametrization#

The error tolerance used for deciding the radial cutoff distance of the potential [eV / e].

abstract integrate_on_grid(positions, a, b, gpts, sampling, device='cpu')#

Integrate radial potential between two limits at the given 2D positions on a grid. The integration limits are only used when the integration method is finite.

Parameters:
  • positions (np.ndarray) – 2D array of xy-positions of the centers of each radial function [Å].

  • a (np.ndarray) – Lower integration limit of the pr ojection integrals along z for each position [Å]. The limit is given relative to the center of the radial function.

  • b (np.ndarray) – Upper integration limit of the projection integrals along z for each position [Å]. The limit is given relative to the center of the radial function.

  • gpts (two int) – Number of grid points in x and y describing each slice of the potential.

  • sampling (two float) – Sampling of the potential in x and y [1 / Å].

  • device (str, optional) – The device used for calculating the potential, ‘cpu’ or ‘gpu’. The default is determined by the user configuration file.

Return type:

ndarray

property periodic: bool#

True indicates that the created projection integrators are implemented only for periodic potentials.