sitator.network package

Module contents

class sitator.network.DiffusionPathwayAnalysis(connectivity_threshold=1, true_periodic_pathways=True, minimum_n_sites=0)

Bases: object

Find connected diffusion pathways in a SiteNetwork.

Parameters:
  • connectivity_threshold (float|int) – The percentage of the total number of (non-self) jumps, or absolute number of jumps, that must occur over an edge for it to be considered connected.
  • minimum_n_sites (int) – The minimum number of sites that must be part of a pathway for it to be considered as such.
  • true_periodic_pathways (bool) – Whether only to return true periodic pathways that include sites and their periodic images (i.e. conductive in the bulk) rather than just connected components. If True, minimum_n_sites is NOT respected.
NO_PATHWAY = -1
run(sn, return_count=False, return_direction=False)

Expects a SiteNetwork that has had a JumpAnalysis run on it.

Adds information to sn in place.

Parameters:
  • sn (SiteNetwork) – Must have jump statistics from a JumpAnalysis.
  • return_count (bool) – Return the number of connected pathways.
  • return_direction (bool) – If True and self.true_periodic_pathways, return for each pathway the direction matrix indicating which directions it connects accross periodic boundaries.
Returns:

sn, [n_pathways], [list of set of tuple]

class sitator.network.MergeSitesByBarrier(calculator, barrier_threshold, n_driven_images=20, maximum_pairwise_distance=2, minimum_jumps_mergable=1, maximum_merge_distance=2, **kwargs)

Bases: sitator.network.merging.MergeSites

Merge sites based on the energy barrier between them.

Uses a cheap coordinate driving system; this may not be sophisticated enough for complex cases. For each pair of sites within the pairwise distance cutoff, a linear spatial interpolation is applied to produce n_driven_images. Two sites are considered mergable if their energies are within final_initial_energy_threshold and the barrier between them is below barrier_threshold. The barrier is defined as the maximum image energy minus the average of the initial and final energy.

The energies of the mobile atom are calculated in a static lattice given by coordinating_mask; if None, this is set to the system’s static_mask.

For resonable performance, calculator should be something simple like ase.calculators.lj.LennardJones.

Takes species of first mobile atom as mobile species.

Parameters:
  • calculator (ase.Calculator) – For computing total potential energies.
  • barrier_threshold (float, eV) – The barrier value above which two sites are not mergable.
  • (int, default (n_driven_images) – None): The number of evenly distributed driven images to use.
  • maximum_pairwise_distance (float, Angstrom) – The maximum distance between two sites for them to be considered for merging.
  • minimum_jumps_mergable (int) – The minimum number of observed jumps between two sites for their merging to be considered. Setting this higher can avoid unnecessary computations.
  • maximum_merge_distance (float, Angstrom) – The maxiumum pairwise distance among a group of sites chosed to be merged.
sitator.network.merging

alias of sitator.network.merging