InterfaceDefectAnalysis

class InterfaceDefectAnalysis(defects, projected_dos=None)

Create the interface defects analysis object.

Parameters:
availableStableTransitions(defect_filter=None, finite_size_correction=True, include_vibrations=True, temperature=PhysicalQuantity(300.0, K))

Get the stable charge state transitions in the collection of defects.

Parameters:
  • defect_filter (Defect class or tuple of defect classes.) – Filter the results to only include certain types of defects.

  • finite_size_correction (bool) – Whether to include the finite size correction..

  • include_vibrations (bool) – Include vibrations, if available, in the report output.

  • temperature (PhysicalQuantity of type temperature) – Temperature to calculate the formation energy at.

Returns:

The total stable transitions that are in the defects

Return type:

List of 2-tuple

availableTotalTransitions()
Returns:

The total stable and unstable transitions that are in the defects

Return type:

List of 2-tuple

availableUnstableTransitions(defect_filter=None, finite_size_correction=True, include_vibrations=True, temperature=PhysicalQuantity(300.0, K))

Get the unstable charge state transitions in the collection of defects.

Parameters:
  • defect_filter (Defect class or tuple of defect classes.) – Filter the results to only include certain types of defects.

  • finite_size_correction (bool) – Whether to include the finite size correction.

  • include_vibrations (bool) – Include vibrations, if available, in the report output.

  • temperature (PhysicalQuantity of type temperature) – Temperature to calculate the formation energy at.

Returns:

The total unstable transitions that are in the defects

Return type:

List of 2-tuple

bandGap()
Returns:

The band gap in the pristine material

Return type:

PhysicalQuantity of type energy

charges()
Returns:

The calculated charge states for the defects.

Return type:

List of int

defectConfiguration(index, charge)

Return the defect configuration for the given index and charge state

Parameters:
  • index (int) – The index of the defect in the collection.

  • charge (int) – The charge state of the defect

Returns:

The configuration of the defect

Return type:

BulkConfiguration

defectPositions(defect_filter)

Get a list of the defect positions in the C coordinate.

Parameters:

defect_filter (Defect class or tuple of defect classes) – Filter the results to only include certain types of defects.

Returns:

The list of the defect positions of the given types

Return type:

PhysicalQuantity of type length

defectTypes()
Returns:

A list of the types of defects that are contained within the data set

Return type:

list of defect class types

fermiLevel()
Returns:

The position of the fermi level in reference to the valence band.

Return type:

PhysicalQuantity of type energy

formationEnergies(charge, defect_filter=None, element_in_pristine=None, finite_size_correction=True, electron_chemical_potential=PhysicalQuantity(0.0, eV), include_vibrations=True, temperature=PhysicalQuantity(300.0, K))

Calculate the formation energies for a range of defects at a specific charge state. If vibrations are included this energy corresponds to the Helmholtz free energy of formation. If vibrations are not included this energy is the internal electronic energy of formation.

Parameters:
  • charge (int) – The charge state of the defect.

  • defect_filter (Defect class or tuple of defect classes.) – Filter the results to only include certain types of defects.

  • element_in_pristine (PeriodicTableElement | All | None) – The element whose chemical potential value is taken from the pristine material. Can be None (elemental reference) All (thermodynamic reference) or an element in the pristine material (element poor reference).

  • finite_size_correction (bool) – Whether to include the finite size correction.

  • electron_chemical_potential (PhysicalQuantity of type energy) – The chemical potential at the defect.

  • include_vibrations (bool) – Include vibrations, if available, in the report output.

  • temperature (PhysicalQuantity of type temperature) – Temperature to calculate the formation energy at.

Returns:

Tuple of the C-axis position and the formation free energy of the defects

Return type:

Tuple of PhysicalQuantity of type length and PhysicalQuantity of type energy

numberOfDefects()
Returns:

The number of defects stored in the object.

Return type:

int

positions(defect_filter=None)

Return the positions of the defects along the C axis, averaged over charge states.

Parameters:

defect_filter (Defect class or tuple of defect classes.) – Filter the results to only include certain types of defects.

Returns:

The defect interface position

Return type:

PhysicalQuantity of type length

pristine()
Returns:

The pristine configuration common to the defects.

Return type:

BulkdConfiguration

projectedDos()
Returns:

The projected density of states for the pristine material, if given.

Return type:

ProjectedDensityOfState | None

repetitions()
Returns:

The repetition of the pristine in the defect structure

Return type:

3-tuple of int.

stableTransitions(transition, defect_filter=None, finite_size_correction=True, include_vibrations=True, temperature=PhysicalQuantity(300.0, K))

Calculate the energies of a charge state transitions across the defects.

Parameters:
  • transition (2-tuple of integer charge states) – The transition to get the energy of

  • defect_filter (Defect class or tuple of defect classes.) – Filter the results to only include certain types of defects.

  • finite_size_correction (bool) – Whether to include the finite size correction.

  • include_vibrations (bool) – Include vibrations, if available, in the report output.

  • temperature (PhysicalQuantity of type temperature) – Temperature to calculate the formation energy at.

Returns:

Tuple of the C-axis position and the trap level of the defects

Return type:

Tuple of PhysicalQuantity of type length and PhysicalQuantity of type energy

totalTransitions(transition, defect_filter=None, finite_size_correction=True, include_vibrations=True, temperature=PhysicalQuantity(300.0, K))

Calculate the energies of a charge state transitions across the defects, both stable and unstable.

Parameters:
  • transition (2-tuple of integer charge states) – The transition to get the energy of

  • defect_filter (Defect class or tuple of defect classes.) – Filter the results to only include certain types of defects.

  • finite_size_correction (bool) – Whether to include the finite size correction.

  • include_vibrations (bool) – Include vibrations, if available, in the report output.

  • temperature (PhysicalQuantity of type temperature) – Temperature to calculate the formation energy at.

Returns:

Tuple of the C-axis position and the trap level of the defects

Return type:

Tuple of PhysicalQuantity of type length and PhysicalQuantity of type energy

uniqueString()

Return a unique string representing the state of the object.

unstableTransitions(transition, defect_filter=None, finite_size_correction=True, include_vibrations=True, temperature=PhysicalQuantity(300.0, K))

Calculate the energies of an unstable charge state transitions across the defects.

Parameters:
  • transition (2-tuple of integer charge states) – The transition to get the energy of

  • defect_filter (Defect class or tuple of defect classes.) – Filter the results to only include certain types of defects.

  • finite_size_correction (bool) – Whether to include the finite size correction.

  • include_vibrations (bool) – Include vibrations, if available, in the report output.

  • temperature (PhysicalQuantity of type temperature) – Temperature to calculate the formation energy at.

Returns:

Tuple of the C-axis position and the trap level of the defects

Return type:

Tuple of PhysicalQuantity of type length and PhysicalQuantity of type energy

Notes

The InterfaceDefectAnalysis object enables simpler analysis of defects across an interface. Using this class the defect positions along the interface, formation energies and electron trap levels can be calculated. This object can also be opened in the Interface Defect Analyzer to show these properties.

Defects are given as ChargedPointDefectConfiguration objects in either a list or a Table. The interface in these calculations must be along the C direction of the unit cell. Defects must all be compatible, meaning they have the same pristine configuration, supercell repetitions, charge states, and whether vibrations or finite size corrections were calculated for the defect. Optionally a ProjectedDensityOfStates with site projections of the pristine material can also be given. This can be combined with the defect information to show the electron trap levels in reference to the local density of states.