ProjectionQuadratureRule#

class abtem.integrals.ProjectionQuadratureRule(parametrization='lobato', cutoff_tolerance=0.001, taper=0.85, integration_step=0.02, quad_order=8)[source]#

Bases: abtem.integrals.ProjectionIntegratorPlan

Projection integration plan for calculating finite projection integrals based on Gaussian quadrature rule.

Parameters
  • parametrization (str or Parametrization, optional) – The potential parametrization describing the radial dependence of the potential. Default is ‘lobato’.

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

  • taper (float, optional) – The fraction from the cutoff of the radial distance from the core where the atomic potential starts tapering to zero. Default is 0.85.

  • integration_step (float, optional) – The step size between integration limits used for calculating the integral table. Default is 0.02.

  • quad_order (int, optional) – Order of quadrature integration passed to scipy.integrate.fixed_quad. Default is 8.

__init__(parametrization='lobato', cutoff_tolerance=0.001, taper=0.85, integration_step=0.02, quad_order=8)[source]#

Methods

__init__([parametrization, ...])

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

Build projection integrator for given chemical symbol, grid and device.

build_integral_table(symbol, inner_limit)

Build table of projection integrals of the radial atomic potential.

copy()

Make a copy.

cutoff(symbol)

Radial cutoff of the potential for the given chemical symbol.

Attributes

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.

integration_step

The step size between integration limits used for calculating the integral table.

parametrization

The potential parametrization describing the radial dependence of the potential.

periodic

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

quad_order

Order of quadrature integration.

build(symbol, gpts, sampling, device='cpu')[source]#

Build projection integrator for given chemical symbol, grid and device.

Parameters
  • symbol (str) – Chemical symbol to build the projection integrator for.

  • 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.

Returns

projection_integrator – The projection integrator for the specified chemical symbol.

Return type

ProjectionIntegrator

build_integral_table(symbol, inner_limit)[source]#

Build table of projection integrals of the radial atomic potential.

Parameters
  • symbol (str) – Chemical symbol to build the integral table.

  • inner_limit (float, optional) – Smallest radius from the core at which to calculate the projection integral [Å].

Returns

ProjectionIntegralTable

Return type

projection_integral_table

copy()#

Make a copy.

cutoff(symbol)[source]#

Radial cutoff of the potential for the given chemical symbol.

Return type

float

property cutoff_tolerance: float#

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

Return type

float

property finite: bool#

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

Return type

bool

property integration_step: float#

The step size between integration limits used for calculating the integral table.

Return type

float

property parametrization#

The potential parametrization describing the radial dependence of the potential.

property periodic: bool#

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

Return type

bool

property quad_order#

Order of quadrature integration.