AtomsEnsemble#

class abtem.inelastic.phonons.AtomsEnsemble(trajectory, ensemble_mean=True, ensemble_axes_metadata=None, cell=None)[source]#

Bases: BaseFrozenPhonons

Frozen phonons based on a molecular dynamics simulation.

Parameters:
  • trajectory (list of ASE.Atoms, dask.core.Array, list of dask.Delayed) – Sequence of atoms representing a distribution of atomic configurations.

  • ensemble_mean (True, optional) – If True, the mean of the ensemble of results from a multislice simulation is calculated, otherwise, the result of every frozen phonon is returned.

  • ensemble_axes_metadata (list of AxesMetadata, optional) – Axis metadata for each ensemble axis. The axis metadata must be compatible with the shape of the array.

  • cell (Cell, optional)

__init__(trajectory, ensemble_mean=True, ensemble_axes_metadata=None, cell=None)[source]#

Methods

__init__(trajectory[, ensemble_mean, ...])

copy()

Make a copy.

ensemble_blocks([chunks])

Split the ensemble into an array of smaller ensembles.

generate_blocks([chunks])

Generate chunks of the ensemble.

randomize(atoms)

Randomize the atoms.

select_block(index, chunks)

Select a block from the ensemble.

standard_deviations()

Standard deviation of the positions of each atom in each direction.

Attributes

atomic_numbers

The unique atomic number of the atoms.

atoms

Base atomic configuration used for displacements.

axes_metadata

List of AxisMetadata.

base_axes_metadata

List of AxisMetadata of the base axes.

base_shape

Shape of the base axes.

cell

The cell of the atoms.

ensemble_axes_metadata

List of AxisMetadata of the ensemble axes.

ensemble_mean

The mean of the ensemble of results from a multislice simulation is calculated.

ensemble_shape

Shape of the ensemble axes.

num_configs

Number of atomic configurations.

shape

Shape of the ensemble.

trajectory

Array of atoms representing an ensemble of atomic configurations.

property atomic_numbers: ndarray#

The unique atomic number of the atoms.

property atoms: Atoms#

Base atomic configuration used for displacements.

property axes_metadata: AxesMetadataList#

List of AxisMetadata.

property base_axes_metadata: list[AxisMetadata]#

List of AxisMetadata of the base axes.

property base_shape: tuple[int, ...]#

Shape of the base axes.

property cell: Cell#

The cell of the atoms.

copy()#

Make a copy.

property ensemble_axes_metadata: list[AxisMetadata]#

List of AxisMetadata of the ensemble axes.

ensemble_blocks(chunks=None)#

Split the ensemble into an array of smaller ensembles.

Parameters:

chunks (iterable of tuples) – Block sizes along each dimension.

Return type:

Array

property ensemble_mean#

The mean of the ensemble of results from a multislice simulation is calculated.

property ensemble_shape: tuple[int, ...]#

Shape of the ensemble axes.

generate_blocks(chunks=1)#

Generate chunks of the ensemble.

Parameters:

chunks (iterable of tuples) – Block sizes along each dimension.

property num_configs: int#

Number of atomic configurations.

randomize(atoms)[source]#

Randomize the atoms.

Parameters:

atoms (Atoms)

Return type:

Atoms

select_block(index, chunks)#

Select a block from the ensemble.

Parameters:
  • index (tuple of ints) – Index of selected block.

  • chunks (iterable of tuples) – Block sizes along each dimension.

property shape#

Shape of the ensemble.

standard_deviations()[source]#

Standard deviation of the positions of each atom in each direction.

Return type:

ndarray

property trajectory: np.ndarray | da.core.Array#

Array of atoms representing an ensemble of atomic configurations.